diff options
author | Sam James <sam@gentoo.org> | 2022-11-25 09:07:08 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-12-03 11:06:13 +0000 |
commit | 9d5f0ea313b03143a5d4eab26eb071e08455e6e5 (patch) | |
tree | cd0e9ee59942663203cb6bd6521278036e0fca60 /sys-block | |
parent | sys-libs/libnbd: new package, add 1.14.1 (diff) | |
download | gentoo-9d5f0ea313b03143a5d4eab26eb071e08455e6e5.tar.gz gentoo-9d5f0ea313b03143a5d4eab26eb071e08455e6e5.tar.bz2 gentoo-9d5f0ea313b03143a5d4eab26eb071e08455e6e5.zip |
sys-block/nbdkit: new package, add 1.32.4
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Arsen Arsenović <arsen@aarsen.me>
Co-authored-by: Arsen Arsenović <arsen@aarsen.me>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-block')
-rw-r--r-- | sys-block/nbdkit/Manifest | 1 | ||||
-rw-r--r-- | sys-block/nbdkit/files/nbdkit-1.32.4-automagics.patch | 153 | ||||
-rw-r--r-- | sys-block/nbdkit/metadata.xml | 24 | ||||
-rw-r--r-- | sys-block/nbdkit/nbdkit-1.32.4.ebuild | 114 |
4 files changed, 292 insertions, 0 deletions
diff --git a/sys-block/nbdkit/Manifest b/sys-block/nbdkit/Manifest new file mode 100644 index 000000000000..a15cca17ca1c --- /dev/null +++ b/sys-block/nbdkit/Manifest @@ -0,0 +1 @@ +DIST nbdkit-1.32.4.tar.gz 2342420 BLAKE2B 3ea6692a534548707bc488560b0f0bd0ddeb0daa4b2432da5de18a9a735408370c61b8c0a30d7d4ed6c915eb118948d2462ff4565036bec8a77c2c2fb712f4da SHA512 0eb1f0f492ce3558fba8d472b26f7ca3db7beeba411c98e7e06b55c5456399be56f6b4cd4adb54567f744f8e07986af9f676a983da052d174ce2e3c28109dbc5 diff --git a/sys-block/nbdkit/files/nbdkit-1.32.4-automagics.patch b/sys-block/nbdkit/files/nbdkit-1.32.4-automagics.patch new file mode 100644 index 000000000000..98b734fb7eb2 --- /dev/null +++ b/sys-block/nbdkit/files/nbdkit-1.32.4-automagics.patch @@ -0,0 +1,153 @@ +From acf0b5e279d7a5154c32cac5e0ca820685bd01de Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Arsen=20Arsenovi=C4=87?= <arsen@aarsen.me> +Date: Sun, 27 Nov 2022 16:08:38 +0100 +Subject: [PATCH] configure: Add --with s for automagic dependencies + +--- +Upstreamed after release, see +https://gitlab.com/nbdkit/nbdkit/-/merge_requests/18/pipelines + +configure.ac | 109 +++++++++++++++++++++++++++++++++++---------------- + 1 file changed, 76 insertions(+), 33 deletions(-) + +diff --git a/configure.ac b/configure.ac +index c379edfb..5a64ed88 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -604,22 +604,40 @@ AC_MSG_RESULT([$is_glibc_234]) + AM_CONDITIONAL([HAVE_GLIBC_234], [test "x$is_glibc_234" = "xyes"]) + + dnl Check for SELinux socket labelling (optional). +-PKG_CHECK_MODULES([LIBSELINUX], [libselinux], [ +- AC_SUBST([LIBSELINUX_CFLAGS]) +- AC_SUBST([LIBSELINUX_LIBS]) +- AC_DEFINE([HAVE_LIBSELINUX],[1],[libselinux found at compile time.]) +-], [ +- AC_MSG_WARN([libselinux not found, SELinux socket labelling support will be disabled.]) ++AC_ARG_WITH([selinux], ++ AS_HELP_STRING([--without-selinux], [disable SELinux support, used for socket labelling @<:@default=check@:>@])) ++AS_IF([test "x$with_selinux" != xno], [ ++ PKG_CHECK_MODULES([LIBSELINUX], [libselinux], [ ++ AC_SUBST([LIBSELINUX_CFLAGS]) ++ AC_SUBST([LIBSELINUX_LIBS]) ++ AC_DEFINE([HAVE_LIBSELINUX],[1],[libselinux found at compile time.]) ++ ], [AC_MSG_WARN([libselinux not found, sockets will not be labeled.])]) ++]) ++ ++AS_IF([test "x$with_selinux" = xyes && test "x$LIBSELINUX_LIBS" = x], [ ++ AC_MSG_ERROR([selinux requested but not found]) + ]) + + dnl Check for GnuTLS (optional, for TLS support). +-PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.3.0], [ +- AC_SUBST([GNUTLS_CFLAGS]) +- AC_SUBST([GNUTLS_LIBS]) +- AC_DEFINE([HAVE_GNUTLS],[1],[gnutls found at compile time.]) +-], [ +- AC_MSG_WARN([gnutls not found or < 3.3.0, TLS support will be disabled.]) ++AC_ARG_WITH([gnutls], ++ [AS_HELP_STRING([--without-gnutls], [disable TLS support via GnuTLS @<:@default=check@:>@])], ++ [], ++ [: m4_divert_text([DEFAULTS], [with_manpages=check])]) ++ ++AS_IF([test "x$with_gnutls" != xno], [ ++ PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.3.0], [ ++ AC_SUBST([GNUTLS_CFLAGS]) ++ AC_SUBST([GNUTLS_LIBS]) ++ AC_DEFINE([HAVE_GNUTLS],[1],[gnutls found at compile time.]) ++ ], [ ++ AC_MSG_WARN([gnutls not found or < 3.3.0, TLS support will be disabled.]) ++ ]) + ]) ++ ++AS_IF([test "x$with_gnutls" = xyes && test x"$GNUTLS_LIBS" = x], [ ++ AC_MSG_ERROR([gnutls requested but not found]) ++]) ++ + AM_CONDITIONAL([HAVE_GNUTLS], [test "x$GNUTLS_LIBS" != "x"]) + + AS_IF([test "x$GNUTLS_LIBS" != "x"],[ +@@ -733,34 +751,59 @@ AM_CONDITIONAL([USE_LINKER_SCRIPT], + [test "x$use_linker_script" = "xyes"]) + + dnl Bash completion. +-PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], [ +- bash_completion=yes +- AC_MSG_CHECKING([for bash-completions directory]) +- m4_ifdef([PKG_CHECK_VAR],[ +- PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir]) ++AC_ARG_WITH([bash-completions], ++ [AS_HELP_STRING([--without-bash-completions], [disable installing bash completions @<:@default=check@:>@])], ++ [], ++ [: m4_divert_text([DEFAULTS], [with_readline=check])]) ++ ++AS_IF([test "x$with_bash_completions" != xno], [ ++ PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], [ ++ bash_completion=yes ++ AC_MSG_CHECKING([for bash-completions directory]) ++ m4_ifdef([PKG_CHECK_VAR],[ ++ PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir]) ++ ]) ++ AS_IF([test -z "$bashcompdir"], [ ++ bashcompdir="${sysconfdir}/bash_completion.d" ++ ]) ++ AC_MSG_RESULT([$bashcompdir]) ++ AC_SUBST([bashcompdir]) ++ ],[ ++ bash_completion=no ++ AC_MSG_WARN([bash-completion not installed]) + ]) +- AS_IF([test -z "$bashcompdir"], [ +- bashcompdir="${sysconfdir}/bash_completion.d" +- ]) +- AC_MSG_RESULT([$bashcompdir]) +- AC_SUBST([bashcompdir]) +-],[ +- bash_completion=no +- AC_MSG_WARN([bash-completion not installed]) + ]) ++ ++AS_IF([test "x$bash_completion" = xno && test "x$with_bash_completions" = xyes], [ ++ AC_MSG_ERROR([bash-completions requested but required packages not found]) ++]) ++ + AM_CONDITIONAL([HAVE_BASH_COMPLETION],[test "x$bash_completion" = "xyes"]) + + dnl Check we have enough to run podwrapper. +-AC_CHECK_PROG([PERL],[perl],[perl],[no]) +-AS_IF([test "x$PERL" != "xno"],[ +- AC_MSG_CHECKING([if we have perl Pod::Man and Pod::Simple]) +- AS_IF([$PERL -MPod::Man -MPod::Simple -e 1 >&AS_MESSAGE_LOG_FD 2>&1],[ +- enable_pod=yes +- ],[ +- enable_pod=no ++ ++AC_ARG_WITH([manpages], ++ [AS_HELP_STRING([--without-manpages], [Do not build man pages @<:@default=check@:>@])], ++ [], ++ [: m4_divert_text([DEFAULTS], [with_manpages=check])]) ++ ++enable_pod=no ++AC_CHECK_PROGS([PERL], [perl], []) ++ ++AS_IF([test "x$enable_manpages" != xno], [ ++ AS_IF([test "x$PERL" != "x"],[ ++ AC_MSG_CHECKING([if we have perl Pod::Man and Pod::Simple]) ++ AS_IF([$PERL -MPod::Man -MPod::Simple -e 1 >&AS_MESSAGE_LOG_FD 2>&1],[ ++ enable_pod=yes ++ ]) ++ AC_MSG_RESULT([$enable_pod]) + ]) +- AC_MSG_RESULT([$enable_pod]) + ]) ++ ++AS_IF([test "x$enable_pod" = xno && test "x$enable_manpages" = xyes], [ ++ AC_MSG_ERROR([man-pages requested but required packages not found]) ++]) ++ + AM_CONDITIONAL([HAVE_POD], + [test "x$PERL" != "xno" && test "x$enable_pod" = "xyes"]) + +-- +2.38.1 + diff --git a/sys-block/nbdkit/metadata.xml b/sys-block/nbdkit/metadata.xml new file mode 100644 index 000000000000..ec79ea16ce62 --- /dev/null +++ b/sys-block/nbdkit/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>arsen@aarsen.me</email> + <name>Arsen Arsenović</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="gitlab">nbdkit/nbdkit</remote-id> + <remote-id type="github">libguestfs/nbdkit</remote-id> + </upstream> + <use> + <flag name="ext2">Enable the ext2 filter via <pkg>sys-fs/e2fsprogs</pkg>.</flag> + <flag name="libguestfs">Enable the <pkg>app-emulation/libguestfs</pkg> plugin.</flag> + <flag name="libssh">Enable the SSH plugin via <pkg>net-libs/libssh</pkg>.</flag> + <flag name="libvirt">Enable the <pkg>app-emulation/libvirt</pkg> plugin.</flag> + <flag name="nbd">Enable the nbd plugin via <pkg>sys-libs/libnbd</pkg>.</flag> + <flag name="torrent">Enable the torrent plugin via <pkg>net-libs/libtorrent-rasterbar</pkg>.</flag> + </use> +</pkgmetadata> diff --git a/sys-block/nbdkit/nbdkit-1.32.4.ebuild b/sys-block/nbdkit/nbdkit-1.32.4.ebuild new file mode 100644 index 000000000000..6f5ddf48b7fa --- /dev/null +++ b/sys-block/nbdkit/nbdkit-1.32.4.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WANT_LIBTOOL=none +inherit autotools optfeature + +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" +IUSE="curl ext2 nbd gnutls libguestfs libssh libvirt lzma selinux torrent zlib 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 ) + 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:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-lang/perl +" + +PATCHES=( + "${FILESDIR}/${P}-automagics.patch" +) + +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 nbd libnbd) + $(use_with lzma liblzma) + $(use_with zstd libzstd) + $(use_with libguestfs) + $(use_with ext2) + $(use_enable torrent) + + --disable-linuxdisk # Not in Gentoo. + --disable-valgrind # Seems to not do anything? + --disable-libfuzzer # Should not be used normally according to upstream + + # TODO(arsen): Bindings left out + --disable-perl + --disable-python + --disable-ocaml + --disable-rust + --disable-ruby + --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 +} + +pkg_postinst() { + optfeature "virtual ISO plugin via xorriso" dev-libs/libisoburn +} |