summaryrefslogtreecommitdiff
path: root/sys-block/nbdkit
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-03 14:59:59 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-03 14:59:59 +0000
commit529abfa74a08ae5099db9780bcdf8250aa52ecb6 (patch)
tree2e2d1a9fd6e89b4872499afea3dc57490271e69c /sys-block/nbdkit
parente6ba529df30e3fc9dfdf55ec5797f2f764df6e54 (diff)
gentoo auto-resync : 03:12:2022 - 14:59:58
Diffstat (limited to 'sys-block/nbdkit')
-rw-r--r--sys-block/nbdkit/Manifest4
-rw-r--r--sys-block/nbdkit/files/nbdkit-1.32.4-automagics.patch153
-rw-r--r--sys-block/nbdkit/metadata.xml24
-rw-r--r--sys-block/nbdkit/nbdkit-1.32.4.ebuild114
4 files changed, 295 insertions, 0 deletions
diff --git a/sys-block/nbdkit/Manifest b/sys-block/nbdkit/Manifest
new file mode 100644
index 000000000000..445825c614f8
--- /dev/null
+++ b/sys-block/nbdkit/Manifest
@@ -0,0 +1,4 @@
+AUX nbdkit-1.32.4-automagics.patch 5620 BLAKE2B dca814d7d72607dd55284a58261820cf1b065ae1047846158a1e71d78c5182c060e653b89cf786ca9d7fe72514d5f034a2d4350b97a1b007f03eca7834c97e71 SHA512 52741eb9f04e5c40db0cc80e81000dd272d755de311d8ebe42ae16fa373e87ae887afc2153d0e51ff6676200ecaca31ecdab34704957e1090de0a645e8f39ce9
+DIST nbdkit-1.32.4.tar.gz 2342420 BLAKE2B 3ea6692a534548707bc488560b0f0bd0ddeb0daa4b2432da5de18a9a735408370c61b8c0a30d7d4ed6c915eb118948d2462ff4565036bec8a77c2c2fb712f4da SHA512 0eb1f0f492ce3558fba8d472b26f7ca3db7beeba411c98e7e06b55c5456399be56f6b4cd4adb54567f744f8e07986af9f676a983da052d174ce2e3c28109dbc5
+EBUILD nbdkit-1.32.4.ebuild 2620 BLAKE2B 0c3b240a12fe6f0b2218b48776726ff3e981212681c0c4e0e7179dc253c65482da93f51489297d585c206f978d177810a6b8c1343ce7607bdac9a25f24f8be5e SHA512 28e718cd428861890df5784bb00eaefaf38cd6f3e280c0ef28f4f4a052dfe4a991308594659162cd2c7ff5fd32cec0a8e93e1be250c1223f75c6926de54ff657
+MISC metadata.xml 1063 BLAKE2B 8472003768a9a7470d5c3eb33e69e0b1dd967355177df727f907014c9cc3ff400cc3ac3d292638ca2c8ae08316b6d6ab69ca86797f3cfc51572cd2f623b494bf SHA512 5789c2f41052bf96af87b4194f1f7e8af7bca7074ce93936e7c17db8b4edb90f825ac342e75f092064fa6baf1d818301b76d444900db407261e3235be7481c47
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
+}