summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/xfsprogs/Manifest1
-rw-r--r--sys-fs/xfsprogs/xfsprogs-6.11.0-r1.ebuild112
2 files changed, 113 insertions, 0 deletions
diff --git a/sys-fs/xfsprogs/Manifest b/sys-fs/xfsprogs/Manifest
new file mode 100644
index 00000000..dfbc7249
--- /dev/null
+++ b/sys-fs/xfsprogs/Manifest
@@ -0,0 +1 @@
+DIST xfsprogs-6.11.0.tar.xz 1457084 BLAKE2B 846b25ad36477d71f8f2091ad16699356416f09befbb4250335081d2a8fd78011e9100fbabfb727acdb65520a38c912d9bb9e33b17c222c97de88fd00ab004a9 SHA512 209b479e510e5d5c558430b523bebd90f34b2effeac46f783aad4ec45a9f39998ca1efc67155c54c22e778859968f4b275b0ca6f225603f17ae4cc5c7596a4ca
diff --git a/sys-fs/xfsprogs/xfsprogs-6.11.0-r1.ebuild b/sys-fs/xfsprogs/xfsprogs-6.11.0-r1.ebuild
new file mode 100644
index 00000000..118c09e2
--- /dev/null
+++ b/sys-fs/xfsprogs/xfsprogs-6.11.0-r1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic systemd udev
+
+DESCRIPTION="XFS filesystem utilities"
+HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/"
+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 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="icu libedit nls selinux static-libs"
+
+RDEPEND="
+ dev-libs/inih
+ dev-libs/userspace-rcu:=
+ >=sys-apps/util-linux-2.17.2
+ icu? ( dev-libs/icu:= )
+ libedit? ( dev-libs/libedit )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( sys-devel/gettext )"
+RDEPEND+=" selinux? ( sec-policy/selinux-xfs )"
+
+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
+
+ # If set in user env, this breaks configure
+ unset PLATFORM
+
+ 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=" "
+
+ # Avoid automagic on libdevmapper (bug #709694)
+ export ac_cv_search_dm_task_create=no
+
+ # bug 903611
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
+ # Build fails with -O3 (bug #712698)
+ replace-flags -O3 -O2
+
+ # 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-static
+ # Doesn't do anything beyond adding -flto (bug #930947).
+ --disable-lto
+ # The default value causes double 'lib'
+ --localstatedir="${EPREFIX}/var"
+ --with-crond-dir="${EPREFIX}/etc/cron.d"
+ --with-systemd-unit-dir="$(systemd_get_systemunitdir)"
+ --with-udev-rule-dir="$(get_udevdir)/rules.d"
+ $(use_enable icu libicu)
+ $(use_enable nls gettext)
+ $(use_enable libedit editline)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ # -j1 for:
+ # gmake[2]: *** No rule to make target '../libhandle/libhandle.la', needed by 'xfs_spaceman'. Stop.
+ emake V=1 -j1
+}
+
+src_install() {
+ # XXX: There's a missing dep in the install-dev target, so split it
+ emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install
+ emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev
+
+ # Not actually used but --localstatedir causes this empty dir
+ # to be installed.
+ rmdir "${ED}"/var/lib/xfsprogs "${ED}"/var/lib || die
+
+ if ! use static-libs; then
+ rm "${ED}/usr/$(get_libdir)/libhandle.a" || die
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postrm() {
+ udev_reload
+}
+
+pkg_postinst() {
+ udev_reload
+}