mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-06 00:48:18 -07:00
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>
This commit is contained in:
1
sys-block/nbdkit/Manifest
Normal file
1
sys-block/nbdkit/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST nbdkit-1.32.4.tar.gz 2342420 BLAKE2B 3ea6692a534548707bc488560b0f0bd0ddeb0daa4b2432da5de18a9a735408370c61b8c0a30d7d4ed6c915eb118948d2462ff4565036bec8a77c2c2fb712f4da SHA512 0eb1f0f492ce3558fba8d472b26f7ca3db7beeba411c98e7e06b55c5456399be56f6b4cd4adb54567f744f8e07986af9f676a983da052d174ce2e3c28109dbc5
|
||||
153
sys-block/nbdkit/files/nbdkit-1.32.4-automagics.patch
Normal file
153
sys-block/nbdkit/files/nbdkit-1.32.4-automagics.patch
Normal file
@@ -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
|
||||
|
||||
24
sys-block/nbdkit/metadata.xml
Normal file
24
sys-block/nbdkit/metadata.xml
Normal file
@@ -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>
|
||||
114
sys-block/nbdkit/nbdkit-1.32.4.ebuild
Normal file
114
sys-block/nbdkit/nbdkit-1.32.4.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user