# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit autotools flag-o-matic usr-ldscript DESCRIPTION="XFS filesystem utilities" HOMEPAGE="https://xfs.wiki.kernel.org/" MY_PV="${PV/_/-}" SRC_URI="https://git.kernel.org/pub/scm/fs/xfs/${PN}-dev.git/snapshot/${PN}-dev-${MY_PV}.tar.gz" LICENSE="LGPL-2.1" SLOT="0" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" IUSE="icu libedit nls selinux" 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 )" PATCHES=( "${FILESDIR}"/${PN}-5.3.0-libdir.patch "${FILESDIR}"/${PN}-5.18.0-docdir.patch "${FILESDIR}"/${PN}-5.18.0-include.patch ) S=${WORKDIR}/${PN}-dev-${MY_PV} 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 # 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-blkid --with-crond-dir="${EPREFIX}/etc/cron.d" --without-systemd-unit-dir $(use_enable icu libicu) $(use_enable nls gettext) $(use_enable libedit editline) ) if is-flagq -flto ; then myconf+=( --enable-lto ) else myconf+=( --disable-lto ) fi emake configure econf "${myconf[@]}" } src_compile() { emake V=1 } src_install() { emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev gen_usr_ldscript -a handle }