sys-fs/xfsprogs: bump to v5.3.0
authorThomas Deutschmann <whissi@gentoo.org>
Mon, 18 Nov 2019 19:11:20 +0000 (20:11 +0100)
committerThomas Deutschmann <whissi@gentoo.org>
Mon, 18 Nov 2019 19:11:59 +0000 (20:11 +0100)
Closes: https://bugs.gentoo.org/694886
Closes: https://bugs.gentoo.org/692596
Package-Manager: Portage-2.3.79, Repoman-2.3.18
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
sys-fs/xfsprogs/Manifest
sys-fs/xfsprogs/files/xfsprogs-5.3.0-libdir.patch [new file with mode: 0644]
sys-fs/xfsprogs/xfsprogs-5.3.0.ebuild [new file with mode: 0644]

index fbd18b36784ae32aaa45873288fab3e77b18548c..b2f941827bf75aaab81987c986460171892a11b2 100644 (file)
@@ -1,2 +1,3 @@
 DIST xfsprogs-4.19.0.tar.xz 1212852 BLAKE2B 2d04390765c5e0dd7d51366f0310c9e680651d49bdd1ecd220b4eec50540a66c97bf6e54f976414351bc77381ffd463803836b27ca25b53960a278a34bc09775 SHA512 a96d0ce406534e70b0a531dfab296de420ec710cd0682dffaf5211602adf82dd59f84b9eb7793c54eabb782a9e0229acf7b247ab644d531ee9e5b51fe9dc0f58
 DIST xfsprogs-5.2.1.tar.xz 1227012 BLAKE2B af6c25d88d0a50fc82ecb2d9d00545ffdf906d6e85361360130b5a2b0d362e566c097f15be04a61023bd5c7815b77d0bab6258d8f188c5afe68098c51ae26ee0 SHA512 a2ecd8e2ae8a4e7357b4133beaeffeae4d6c9d0ece9855d9780a84c2d4072e3d4e0b8ffa3baa995862ec38dcbc5dd74205f7f4456676826082c4811867508a43
+DIST xfsprogs-5.3.0.tar.xz 1247636 BLAKE2B 0f8b2eafa1b1c91ff8bbcf8f79f61a8bea47123b859ec7a181dea37891ca0345a79a0cc714f003fbe560b00c0c2fc76e6bf6a3a1465f51c44b2df3a3dcbe6415 SHA512 308202eba3765e416c43877ad68d528f6c7d03ca024b89709aa3ca818f6c6692e3b90a809cbb81ff886624300c0e548925e70b34c30c47bac8dcfe4bb9c18857
diff --git a/sys-fs/xfsprogs/files/xfsprogs-5.3.0-libdir.patch b/sys-fs/xfsprogs/files/xfsprogs-5.3.0-libdir.patch
new file mode 100644 (file)
index 0000000..f943817
--- /dev/null
@@ -0,0 +1,28 @@
+In Gentoo we install libs to /usr/lib* and let gen_usr_ldscript
+handle /lib*.
+
+--- a/include/buildmacros
++++ b/include/buildmacros
+@@ -57,9 +57,10 @@ endif
+ ifeq ($(ENABLE_SHARED),yes)
+ INSTALL_LTLIB = \
+       cd $(TOPDIR)/$(LIBNAME)/.libs; \
+-      ../$(INSTALL) -m 755 -d $(PKG_ROOT_LIB_DIR); \
+-      ../$(INSTALL) -m 755 -T so_dot_version $(LIBNAME).lai $(PKG_ROOT_LIB_DIR); \
+-      ../$(INSTALL) -T so_dot_current $(LIBNAME).lai $(PKG_ROOT_LIB_DIR)
++      ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
++      ../$(INSTALL) -m 755 -T so_dot_version $(LIBNAME).lai $(PKG_LIB_DIR); \
++      ../$(INSTALL) -T so_dot_current $(LIBNAME).lai $(PKG_LIB_DIR); \
++      ../$(INSTALL) -T so_base $(LIBNAME).lai $(PKG_LIB_DIR)
+ endif
+ # Libtool thinks the static and shared libs should be in the same dir, so
+@@ -68,7 +69,7 @@ endif
+ # Other things want the shared libs to appear in /usr/lib, else they'll
+ # link with the static libs there.  So, another symlink to get the .so into
+ # /usr/lib.
+-ifeq ($(ENABLE_SHARED),yes)
++ifeq ($(ENABLE_SHARED_HANDLED_BY_gen_usr_ldscript),yes)
+ INSTALL_LTLIB_DEV = \
+       cd $(TOPDIR)/$(LIBNAME)/.libs; \
+       ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
diff --git a/sys-fs/xfsprogs/xfsprogs-5.3.0.ebuild b/sys-fs/xfsprogs/xfsprogs-5.3.0.ebuild
new file mode 100644 (file)
index 0000000..6058992
--- /dev/null
@@ -0,0 +1,107 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs systemd usr-ldscript
+
+DESCRIPTION="xfs filesystem utilities"
+HOMEPAGE="https://xfs.wiki.kernel.org/"
+SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="icu libedit nls readline"
+
+LIB_DEPEND=">=sys-apps/util-linux-2.17.2[static-libs(+)]
+       icu? ( dev-libs/icu:=[static-libs(+)] )
+       readline? ( sys-libs/readline:0=[static-libs(+)] )
+       !readline? ( libedit? ( dev-libs/libedit[static-libs(+)] ) )"
+RDEPEND="${LIB_DEPEND//\[static-libs(+)]}
+       !<sys-fs/xfsdump-3"
+DEPEND="${RDEPEND}"
+BDEPEND="
+       nls? ( sys-devel/gettext )
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-4.15.0-docdir.patch
+       "${FILESDIR}"/${PN}-5.3.0-libdir.patch
+)
+
+pkg_setup() {
+       if use readline && use libedit ; then
+               ewarn "You have USE='readline libedit' but these are exclusive."
+               ewarn "Defaulting to readline; please disable this USE flag if you want libedit."
+       fi
+}
+
+src_prepare() {
+       default
+
+       # Fix doc dir
+       sed -i \
+               -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \
+               include/builddefs.in || die
+
+       # Don't install compressed docs
+       sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die
+}
+
+src_configure() {
+       # include/builddefs.in will add FCFLAGS to CFLAGS which will
+       # unnecessarily clutter CFLAGS (and fortran isn't used)
+       unset FCFLAGS
+
+       export DEBUG=-DNDEBUG
+
+       # Package is honoring CFLAGS; No need to use OPTIMIZER anymore.
+       # However, we have to provide an empty value to avoid default
+       # flags.
+       export OPTIMIZER=" "
+
+       unset PLATFORM # if set in user env, this breaks configure
+
+       # Upstream does NOT support --disable-static anymore,
+       # https://www.spinics.net/lists/linux-xfs/msg30185.html
+       # https://www.spinics.net/lists/linux-xfs/msg30272.html
+       local myconf=(
+               --enable-blkid
+               --with-crond-dir="${EPREFIX}/etc/cron.d"
+               --with-systemd-unit-dir="$(systemd_get_systemunitdir)"
+               $(use_enable icu libicu)
+               $(use_enable nls gettext)
+               $(use_enable readline)
+               $(usex readline --disable-editline $(use_enable libedit editline))
+       )
+
+       if is-flagq -fno-lto ; then
+               einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
+               myconf+=( --disable-lto )
+       else
+               if is-flagq -flto ; then
+                       einfo "LTO forced via {C,CXX,F,FC}FLAGS"
+                       myconf+=( --enable-lto )
+               elif use amd64 || use x86  ; then
+                       # match upstream default
+                       myconf+=( --enable-lto )
+               else
+                       # LTO can cause problems on some architectures, bug 655638
+                       myconf+=( --disable-lto )
+               fi
+       fi
+
+       econf "${myconf[@]}"
+}
+
+src_compile() {
+       emake V=1
+}
+
+src_install() {
+       emake DIST_ROOT="${ED}" install
+       emake DIST_ROOT="${ED}" install-dev
+
+       gen_usr_ldscript -a handle
+}