diff options
Diffstat (limited to 'sys-fs/btrfs-progs/btrfs-progs-9999.ebuild')
-rw-r--r-- | sys-fs/btrfs-progs/btrfs-progs-9999.ebuild | 66 |
1 files changed, 49 insertions, 17 deletions
diff --git a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild index 479ade82c97a..3fada8bdae41 100644 --- a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild +++ b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild @@ -3,32 +3,36 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..12} ) inherit bash-completion-r1 python-single-r1 udev -libbtrfs_soname=0 +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git" + EGIT_BRANCH="devel" + WANT_LIBTOOL="none" + inherit autotools git-r3 +else + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc + inherit verify-sig -if [[ ${PV} != 9999 ]]; then MY_PV="v${PV/_/-}" - SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz" + MY_P="${PN}-${MY_PV}" + SRC_URI=" + https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz + verify-sig? ( https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign ) + " + S="${WORKDIR}"/${PN}-${MY_PV} if [[ ${PV} != *_rc* ]] ; then KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi - - S="${WORKDIR}"/${PN}-${MY_PV} -else - EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git" - EGIT_BRANCH="devel" - WANT_LIBTOOL="none" - inherit autotools git-r3 fi DESCRIPTION="Btrfs filesystem utilities" HOMEPAGE="https://btrfs.readthedocs.io/en/latest/" LICENSE="GPL-2" -SLOT="0/${libbtrfs_soname}" +SLOT="0/0" # libbtrfs soname IUSE="+convert python +man reiserfs static static-libs udev +zstd" # Could support it with just !systemd => eudev, see mdadm, but let's # see if someone asks for it first. @@ -75,17 +79,41 @@ DEPEND=" " BDEPEND=" virtual/pkgconfig - man? ( dev-python/sphinx ) + man? ( + dev-python/sphinx + dev-python/sphinx-rtd-theme + ) " if [[ ${PV} == 9999 ]]; then BDEPEND+=" sys-devel/gnuconfig" +else + BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )" fi pkg_setup() { use python && python-single-r1_pkg_setup } +src_unpack() { + if in_iuse verify-sig && use verify-sig ; then + mkdir "${T}"/verify-sig || die + pushd "${T}"/verify-sig &>/dev/null || die + + # Upstream sign the decompressed .tar + # Let's do it separately in ${T} then cleanup to avoid external + # effects on normal unpack. + cp "${DISTDIR}"/${MY_P}.tar.xz . || die + xz -d ${MY_P}.tar.xz || die + verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign + + popd &>/dev/null || die + rm -r "${T}"/verify-sig || die + fi + + default +} + src_prepare() { default @@ -116,12 +144,16 @@ src_configure() { $(use_enable udev libudev) $(use_enable zstd) - # Could support libgcrypt, libsodium, libkcapi + # Could support libgcrypt, libsodium, libkcapi, openssl, botan --with-crypto=builtin - --with-convert=ext2$(usex reiserfs ',reiserfs' '') + --with-convert=ext2$(usev reiserfs ',reiserfs') ) - econf "${myeconfargs[@]}" + export EXTRA_PYTHON_CFLAGS="${CFLAGS}" + export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}" + + # bash as a tepmorary workaround for https://github.com/kdave/btrfs-progs/pull/721 + CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}" } src_compile() { @@ -129,7 +161,7 @@ src_compile() { } src_test() { - emake -j1 -C tests V=1 test + emake V=1 -j1 -C tests test if use python ; then cd libbtrfsutil/python || die |