summaryrefslogtreecommitdiff
path: root/sys-block/nbd
diff options
context:
space:
mode:
Diffstat (limited to 'sys-block/nbd')
-rw-r--r--sys-block/nbd/Manifest2
-rw-r--r--sys-block/nbd/files/nbd-3.25-fix-build-on-musl-gcc14.patch34
-rw-r--r--sys-block/nbd/nbd-3.25-r1.ebuild86
3 files changed, 122 insertions, 0 deletions
diff --git a/sys-block/nbd/Manifest b/sys-block/nbd/Manifest
index 93733d711340..25eefab37e90 100644
--- a/sys-block/nbd/Manifest
+++ b/sys-block/nbd/Manifest
@@ -1,4 +1,6 @@
+AUX nbd-3.25-fix-build-on-musl-gcc14.patch 1511 BLAKE2B f87b1c1a3885305e70c7bfdaa620ec7382da015777fc93476617cb6c28ccc9d27bb0d9cca5d35214ec7df8b355382ba74e9f7f83059921d77c8c8b2247743118 SHA512 f974042e310e90927a94b2a9e6a6d85066c47179c5731f63c72ef47e44e59ef3d5615d82556ef879e523122d15cde0eda192819254db0768214452fc5968ac6b
DIST nbd-3.25.tar.xz 566360 BLAKE2B dce56fb91f6358955b0173b589df19ce2682e3cd6810b0bd74eeb973c24e52307ed55e197c13dcb9c2a62ac92e0dddb046fd1f4348862c7f7dc17bc479ba8cad SHA512 e8b83475a698b5c3718331b55a2c28fd10ca031e347aac7c439f1653d78a405fefa5cb2618e60f73b2f170a8c93d68e79a2cd5875e5c6a970cb1ef9d8e08ebda
+EBUILD nbd-3.25-r1.ebuild 1725 BLAKE2B f52517e2c5c2c2331c7d2f78ed19265c43891c4c176116a71bdd2df60ebdf0d3ab57b7d97038f87bbb6e1af154d9c105f3909729534046b228301e32d72beea6 SHA512 fb1306395c3a50a042ee251a0ebe040e32e1b8380c1aea7a6c00817f7dc391192a5e4dc86f8f95a5871c6ab8cf81b69e6adcdc5f76c4405ec6f0ba889722e4f7
EBUILD nbd-3.25.ebuild 1651 BLAKE2B fd65808ca76d49d873ee721392550e652acd3c6952e94fa552e2ff577202095f2753b59d34c85bd82d031cecf1ddbf94a842144271f2ce3e27827779e3a03ff9 SHA512 a9c421936302dae5c225e7ca09f5db6af3ef22d5f113c3d2ec31b882f1dbdb445534a0860e02c48cc39597ae1e4b1bee232d80f72868901882eaa0fe1e90c9df
EBUILD nbd-9999.ebuild 1649 BLAKE2B 771fc8d4df921ade7212e3efa6732cab71fe67a90a77f4d1644052ac666a1de446b6a70acbafb41f8879f04dca79b86f14fbc2bf3d602758a35ed317dfc44324 SHA512 da88e0e172d1cc0fdc7aa3a7b698d4c0ac18b2a01d6ad17bba0d43176874c23a1bfc57e5c3eadfb3f14b4a192208fe64020ec754fbc3e2f1a3ac2cc880a2e6a6
MISC metadata.xml 490 BLAKE2B b6fff304d62aee96038650fd12b2f4f9d82f7a8be72214766699437563da6f4d305effe58c0beba58ad1c537d8d3ec9ee4d3a698480977be6020317f3279335b SHA512 3e495bb823aae9aa2ce314b31cfe49dc40721e01f45b0d2179f18701b18fef89732d831cd1c0ebbdf1dcef1044a0b507262c586f81897e594ef1394a41211665
diff --git a/sys-block/nbd/files/nbd-3.25-fix-build-on-musl-gcc14.patch b/sys-block/nbd/files/nbd-3.25-fix-build-on-musl-gcc14.patch
new file mode 100644
index 000000000000..91828c159d76
--- /dev/null
+++ b/sys-block/nbd/files/nbd-3.25-fix-build-on-musl-gcc14.patch
@@ -0,0 +1,34 @@
+https://github.com/NetworkBlockDevice/nbd/commit/4664b8dd3bc124c27b160720113339c1da97c2c4.patch
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 20 May 2024 17:50:51 -0700
+Subject: [PATCH] nbd-client: Fix build on musl + gcc14
+
+GCC-14 has promoted incompatible-pointer-types warning into error which is
+now flagged especially with when building on musl
+
+Fixes following error
+
+| ../nbd-3.26.1/nbd-client.c: In function 'openunix':
+| ../nbd-3.26.1/nbd-client.c:345:27: error: passing argument 2 of 'connect' from incompatible pointer type [-Wincompatible-pointer-types]
+| 345 | if (connect(sock, &un_addr, sizeof(un_addr)) == -1) {
+| | ^~~~~~~~
+| | |
+| | struct sockaddr_un *
+| In file included from ../nbd-3.26.1/nbd-client.c:25:
+| /mnt/b/yoe/master/build/tmp/work/core2-64-yoe-linux-musl/nbd/3.26.1/recipe-sysroot/usr/include/sys/socket.h:386:19: note: expected 'const struct sockaddr *' but argument is of type 'struct sockaddr_un *'
+| 386 | int connect (int, const struct sockaddr *, socklen_t);
+| | ^~~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/nbd-client.c
++++ b/nbd-client.c
+@@ -342,7 +342,7 @@ int openunix(const char *path) {
+ return -1;
+ };
+
+- if (connect(sock, &un_addr, sizeof(un_addr)) == -1) {
++ if (connect(sock, (struct sockaddr*)&un_addr, sizeof(un_addr)) == -1) {
+ err_nonfatal("CONNECT failed");
+ close(sock);
+ return -1;
+
diff --git a/sys-block/nbd/nbd-3.25-r1.ebuild b/sys-block/nbd/nbd-3.25-r1.ebuild
new file mode 100644
index 000000000000..731fdfff88c4
--- /dev/null
+++ b/sys-block/nbd/nbd-3.25-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd
+
+DESCRIPTION="Userland client/server for kernel network block device"
+HOMEPAGE="https://nbd.sourceforge.io/"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/NetworkBlockDevice/nbd.git"
+else
+ SRC_URI="https://github.com/NetworkBlockDevice/nbd/releases/download/${P}/${P}.tar.xz"
+ SRC_URI+=" https://downloads.sourceforge.net/nbd/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~sparc ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug gnutls netlink zlib"
+
+RDEPEND="
+ >=dev-libs/glib-2.32.0
+ gnutls? ( >=net-libs/gnutls-2.12.0 )
+ netlink? ( >=dev-libs/libnl-3.1 )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.25-fix-build-on-musl-gcc14.patch"
+)
+
+if [[ ${PV} == 9999 ]] ; then
+ BDEPEND+="
+ app-text/docbook-sgml-dtd:4.5
+ app-text/docbook-sgml-utils
+ dev-build/autoconf-archive
+ "
+fi
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]] ; then
+ emake -C man -f mans.mk \
+ nbd-server.1.sh.in \
+ nbd-server.5.sh.in \
+ nbd-client.8.sh.in \
+ nbd-trdump.1.sh.in \
+ nbd-trplay.1.sh.in \
+ nbdtab.5.sh.in
+
+ emake -C systemd -f Makefile.am nbd@.service.sh.in
+
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ # Needs Bison
+ unset YACC
+
+ local myeconfargs=(
+ --enable-lfs
+ # https://github.com/NetworkBlockDevice/nbd/issues/149
+ --disable-gznbd
+ $(use_enable !debug syslog)
+ $(use_enable debug)
+ $(use_with gnutls)
+ $(use_with netlink libnl)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ systemd_dounit systemd/nbd@.service
+}