sys-block/nbdkit: add 1.42.0

Fixes libssh support, it wasn't wired up in src_configure before
Add python bindings (needed to add app-emulation/virt-v2v)

Closes: https://bugs.gentoo.org/910645
Closes: https://bugs.gentoo.org/948861
Signed-off-by: Christopher Byrne <salah.coronya@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/40825
Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
This commit is contained in:
Christopher Byrne
2025-02-28 19:26:41 -06:00
committed by Arsen Arsenović
parent 9143c34e32
commit 91d59ede50
2 changed files with 131 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST nbdkit-1.32.4.tar.gz 2342420 BLAKE2B 3ea6692a534548707bc488560b0f0bd0ddeb0daa4b2432da5de18a9a735408370c61b8c0a30d7d4ed6c915eb118948d2462ff4565036bec8a77c2c2fb712f4da SHA512 0eb1f0f492ce3558fba8d472b26f7ca3db7beeba411c98e7e06b55c5456399be56f6b4cd4adb54567f744f8e07986af9f676a983da052d174ce2e3c28109dbc5
DIST nbdkit-1.36.1.tar.gz 2400838 BLAKE2B afbfbda18122b17cbcdcc5b3a04ab37b7dffb139d084b196ef45e33717f376af61189beb63b2541444eaae0ed860b752c20cfe9cf27bf06bfb04bba1b5ce60c8 SHA512 ca0e6e6729fb6f43a9717a3815dfb8ff54a2f182ef079e72b0e5e1b018c55f2205be52a10abc0b0a2243d0737f27b1ccf67c0d9586135454a460d39dad79f042
DIST nbdkit-1.42.0.tar.gz 2591226 BLAKE2B ee92187d3697c45289f0f1872bd39bce04c64c88b7c8e0551588db704062c699d2996ee729b50a526527107e899e83c09871990ef080416c56f18d9e65ab3a19 SHA512 c8360fc2d9e6806ab241dcd61da82f52a881dd394d2e6c8c5372d4920f0751fe20dfe9bf45ff35c34cd1e12fd35d2b7dcf17374387805ff6cdec599c543c6bdc

View File

@@ -0,0 +1,130 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit autotools bash-completion-r1 optfeature python-single-r1
DESCRIPTION="NBD server with stable plugin ABI and permissive license"
HOMEPAGE="https://gitlab.com/nbdkit/nbdkit"
SRC_URI="https://download.libguestfs.org/nbdkit/$(ver_cut 1-2)-stable/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~ppc64 ~sparc ~x86"
IUSE="
curl ext2 nbd gnutls libguestfs libssh libvirt lzma selinux python
torrent valgrind zlib zlib-ng zstd
"
RDEPEND="
virtual/libiconv
selinux? ( sys-libs/libselinux )
gnutls? ( net-libs/gnutls:= )
curl? ( net-misc/curl )
libssh? ( net-libs/libssh:= )
libvirt? ( app-emulation/libvirt:= )
zlib? ( sys-libs/zlib )
zlib-ng? ( sys-libs/zlib-ng )
nbd? ( sys-libs/libnbd )
lzma? ( app-arch/xz-utils )
zstd? ( app-arch/zstd:= )
libguestfs? ( app-emulation/libguestfs:= )
ext2? ( sys-fs/e2fsprogs )
torrent? ( net-libs/libtorrent-rasterbar:= )
python? ( ${PYTHON_DEPS} )
"
DEPEND="
${RDEPEND}
valgrind? ( dev-debug/valgrind )
"
BDEPEND="
dev-lang/perl
virtual/pkgconfig
"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
src_prepare() {
default
# TODO(arsen): This test fails for some reason.
cat <<-HACK > tests/test-file-extents.sh || die
#!/bin/sh
echo Gentoo: This test is skipped
exit 77
HACK
eautoreconf
}
src_configure() {
local myeconfargs=(
--with-extra=Gentoo
--with-iconv
--with-manpages
$(use_with selinux)
$(use_with gnutls)
$(use_with curl)
$(use_with libvirt)
$(use_with zlib)
$(use_with zlib-ng)
$(use_with nbd libnbd)
$(use_with lzma liblzma)
$(use_with zstd libzstd)
$(use_with libguestfs)
$(use_with ext2)
$(use_with libssh ssh)
$(use_enable torrent)
$(use_enable valgrind)
--disable-linuxdisk # Not in Gentoo.
--disable-libfuzzer # Should not be used normally according to upstream
--without-libblkio # Not in Gentoo.
--without-bash-completions # Handled manually.
# TODO(arsen): Bindings left out
--disable-perl
# salahx: Add python support
$(use_enable python)
--disable-ocaml
--disable-rust
--disable-tcl
--disable-lua
--disable-golang
# This just enabled a few code paths with no extra library
# dependencies, but it does have an extra xorriso runtime
# dependency. Seeing as it's optional, and it conflates BDEPEND
# and RDEPEND; I think it's okay to just specify that it uses
# XORRISO installed as xorriso. Maybe the user should be able
# to override this in the future if they prefer one of the other
# ISOPROGs?
--with-iso
ac_cv_prog_XORRISO=xorriso
# Involves proprietary code and a dlopen mess, see
# plugins/vddk/README.VDDK.
--disable-vddk
)
econf "${myeconfargs[@]}"
}
src_install() {
default
find "${ED}" -name '*.la' -delete || die
dobashcomp bash-completion/nbdkit
}
pkg_postinst() {
optfeature "virtual ISO plugin via xorriso" dev-libs/libisoburn
if use python; then
optfeature "Amazon S3 support" dev-python/boto3
fi
}