summaryrefslogtreecommitdiff
path: root/sys-libs/libnvme
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-30 11:39:43 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-30 11:39:43 +0100
commitc417025a2ab386cddabb71ad598a9b75b47af313 (patch)
tree65963e1f2e99ed22f278cdb819bb1d0892062731 /sys-libs/libnvme
parent49fadb6686800eac5ce039896df6437ac7240c8c (diff)
gentoo auto-resync : 30:09:2023 - 11:39:43
Diffstat (limited to 'sys-libs/libnvme')
-rw-r--r--sys-libs/libnvme/Manifest3
-rw-r--r--sys-libs/libnvme/files/libnvme-1.6-musl.patch90
-rw-r--r--sys-libs/libnvme/libnvme-1.6.ebuild8
3 files changed, 99 insertions, 2 deletions
diff --git a/sys-libs/libnvme/Manifest b/sys-libs/libnvme/Manifest
index a5719a4af598..9c22135c5cba 100644
--- a/sys-libs/libnvme/Manifest
+++ b/sys-libs/libnvme/Manifest
@@ -1,5 +1,6 @@
AUX libnvme-1.3-configure-clang-16.patch 1332 BLAKE2B 701a941236c5fd644722086d58d7b5ce15d81f8cdc17ea4d2cb79efd743acf54990da83c81c8a8ef74822b3d1e51e70eb02a4a25a07a74404a307d564f56dc37 SHA512 a100ab3232b0a1bee74dbe0d4893d3819c4e3f4b741da740240431cabf72c4ccb411fca6a19f44ecf5e64bdbfd2f470b4c436c57b1a573dfea14e575a3dbd44f
AUX libnvme-1.5-free-segfault.patch 1190 BLAKE2B ba2eb2116fcf5735b4bf91f6a9c8c16fe874daf37e4845caa13ac75023587acf53c7eb7874c4592f2de81b5ddc19902b10198c77e099dc4688e362c5b8798384 SHA512 fec31628bd78404ed8b10d66857bf4f6442d1b052342827ede58677ce33e9b9aff6e8c74d14bd5d1a91928ae5ef7b2af5fb3378e531ca580a1045f18b21a3bcf
+AUX libnvme-1.6-musl.patch 2893 BLAKE2B eb7c1879efc26e5555ee270c60b823142b6983defa8a13434c03caf21d30d347a4040d14dd4771fc91820711382d021711b32b034a4cc75af6d57f402e2b3bcb SHA512 55d6f1677e167a8aadee43b36ba951f16d88f29557599e928580107b5146a828a89ab33816d6727c4d72b141f0b82f18730a9abd54419a86996e9e2b8c00c224
DIST libnvme-1.2.tar.gz 484397 BLAKE2B ae6b1c3aa8f45594219470059cfc8982674433772f89faab1659811d860036f8af89bbcb383db37e96b763188935d2c1ecaa5176b8140bba50f8ea226e989a06 SHA512 f50517838cd1df3cdd123afdb67870633e9e484bf84dba70b784d7e86ecb355b96ba9d6a1cffb96b35444da7870dfe21c54b69701b5fe5b515319280db4a84e4
DIST libnvme-1.3.tar.gz 499870 BLAKE2B 5a019c12829890a0fe0b5e6aec5fbd009fc3bd6dfe7e81f61731292f4ea8b03044e7625491479350c399cc8cd5bc023e02cc9e93f1eba38f4c747667e84cfb24 SHA512 c874b29b73e55be842f71e74a226a76fcd50dfa72e2be100f0437bc83e740cd146b6d2f2cdaa940c11c3d8c48ff2c065ac0e8a83d4d0dde743edf4179f328670
DIST libnvme-1.4.tar.gz 506101 BLAKE2B c1496c6258bf20ed4109710b06671fa7f0e27c7649520ad8ccf4021df00fffc45f80fea248d62d2b85eecc8b15b6afaf4a113d96d6737ae6772346c9d0bc1002 SHA512 cc4a0a78083471e912736d76e4faaa5c285e1149029560f212ff06254863e8f21b48fcb1638599bd68efcf888312a248fb748d23776af03574b39fbd9b2a418d
@@ -9,5 +10,5 @@ EBUILD libnvme-1.2-r1.ebuild 1192 BLAKE2B dd05f5d1fba9e50117b24d66fea37d05d1a9d1
EBUILD libnvme-1.3-r1.ebuild 1351 BLAKE2B 571a22422960fd0a7f5c2a0e16e367cb5b9ad9fcd543698b7aa4f320d24c5bb7cb4918bd858d9ebd144e24ec15e4c4db0a546aa773bb4ed023539314b01da3ed SHA512 223e511a5699cdef31b1a22d7bdd1bf757442b652f3dcead4a08e481524f963eb243f70cafa732165783bb32a7ad2d33baf1f379e9c18252f338943c472096dc
EBUILD libnvme-1.4.ebuild 1393 BLAKE2B 4d67d8f1c72859697e1983a609f3b55aaa62c4cd7bb8428318ae46a137fbddcb5afb46646d0b297807faea32e66fa545cff2d0d229f3b4de61b8480f1891a436 SHA512 01d338434a5bddaa21ca9d69ec362152252359660a0eb8ca16ae27b0f96389ae15c2cc78ba3eb1780deb9092e5d5fb514bafe74ab7122efe2a441fa1ad4a8877
EBUILD libnvme-1.5-r2.ebuild 1478 BLAKE2B e6a6bb6bf55a5f7d5d540b71ca43ce51a5b2b89a1e0ef79f16365551aa28b434637d4049cc1c3c18e8fff68d179b26c0859d6e50fc13e1e064fbff81a39e78d8 SHA512 cf83edd0bf4c928dc8bb42d1b38c153c9a528a6c92bf87d2dfd8e427cacca1796ae6515fdf2ca6313602d92cc37f667f761435f01c3d888ea60da7ff28659e59
-EBUILD libnvme-1.6.ebuild 1433 BLAKE2B d75a00d0b5d6b35349c5c4e1730c5105683679b7966f94053e349a6906bd8053dcaa68875f8d596c109b9a4d5ab4929fcfb5465cb39d57b7f263b15d9222dd41 SHA512 9483eb5f8a79b047b4ef9ac70fd0ff9c66e2c873c6675208d805f2734360e41947582571a77c93508ca22bf82fa3967fd754ad8316124394d42011f85b439195
+EBUILD libnvme-1.6.ebuild 1540 BLAKE2B 56475eda6010ae11776ea896e8bab5d7ef40b3bb6182882832184465e939bb11fa48887e2a2fb21eb50036d6044ab5db6a87fde0079503d4678113599312bf13 SHA512 e3fe57e0922ca0db94ae63ff8b7f3f86f8cec2b4cd4cc3d7cb480e626ca0cbefaabd8255e7e21ebdb814f4712d377c246bf0dca96264a1f839accbad006ff377
MISC metadata.xml 585 BLAKE2B 6163419190adb903fdbdef99ad53f8b14ffbc08ac3c8b56f820049468010af2a58ac204ded1b53c767759e9ac864bf85dbc3b723cd7113cb919194dd9ceaaac3 SHA512 2f5268b41676d2a61d5415de3ec62149cda53613970a1af6aface937cc635d26866c88205a6d9fcf7efd7df0c7f45308ecf5b29b6cea937966b765a222edb8f7
diff --git a/sys-libs/libnvme/files/libnvme-1.6-musl.patch b/sys-libs/libnvme/files/libnvme-1.6-musl.patch
new file mode 100644
index 000000000000..bc1037820311
--- /dev/null
+++ b/sys-libs/libnvme/files/libnvme-1.6-musl.patch
@@ -0,0 +1,90 @@
+https://github.com/linux-nvme/libnvme/pull/724
+
+From f78a97acf9cdec1031d81f0e8a3956fc8f28c33c Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 30 Sep 2023 06:38:53 +0100
+Subject: [PATCH 1/2] test: handle POSIX ioctl prototype
+
+glibc has the following prototype for ioctl: int ioctl(int fd, unsigned long request, ...)
+POSIX (inc. musl) has the following for ioctl: int ioctl(int fd, int request, ...)
+
+Check which prototype is used in <sys/ioctl.h> to avoid a conflict and conditionally
+define the right one for the system.
+
+Bug: https://bugs.gentoo.org/914921
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/meson.build
++++ b/meson.build
+@@ -230,6 +230,16 @@ conf.set(
+ ),
+ description: 'Is network address and service translation available'
+ )
++conf.set(
++ 'HAVE_GLIBC_IOCTL',
++ cc.compiles(
++ '''#include <sys/ioctl.h>
++ int ioctl(int fd, unsigned long request, ...);
++ ''',
++ name: 'ioctl has glibc-style prototype'
++ ),
++ description: 'Is ioctl the glibc interface (rather than POSIX)'
++)
+
+ if cc.has_function_attribute('fallthrough')
+ conf.set('fallthrough', '__attribute__((__fallthrough__))')
+--- a/test/ioctl/mock.c
++++ b/test/ioctl/mock.c
+@@ -114,7 +114,11 @@ void end_mock_cmds(void)
+ } \
+ })
+
++#ifdef HAVE_GLIBC_IOCTL
+ int ioctl(int fd, unsigned long request, ...)
++#else
++int ioctl(int fd, int request, ...)
++#endif
+ {
+ struct mock_cmds *mock_cmds;
+ bool result64;
+@@ -141,7 +145,7 @@ int ioctl(int fd, unsigned long request, ...)
+ result64 = true;
+ break;
+ default:
+- fail("unexpected %s %lu", __func__, request);
++ fail("unexpected %s %lu", __func__, (unsigned long) request);
+ }
+ check(mock_cmds->remaining_cmds,
+ "unexpected %s command", mock_cmds->name);
+
+From 149c006d23da60e168485ede722730dc2b725e6b Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 30 Sep 2023 06:43:39 +0100
+Subject: [PATCH 2/2] meson: make building tests conditional
+
+Just like we do for docs.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/meson.build
++++ b/meson.build
+@@ -273,7 +273,9 @@ subdir('internal')
+ subdir('ccan')
+ subdir('src')
+ subdir('libnvme')
+-subdir('test')
++if get_option('tests')
++ subdir('test')
++endif
+ subdir('examples')
+ subdir('doc')
+
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -6,6 +6,7 @@ option('rstdir', type : 'string', value : '', description : 'directory for ReST
+
+ option('docs', type : 'combo', choices : ['false', 'html', 'man', 'rst', 'all'], description : 'install documentation')
+ option('docs-build', type : 'boolean', value : false, description : 'build documentation')
++option('tests', type : 'boolean', value : true, description : 'build tests')
+
+ option('python', type : 'feature', value: 'auto', description : 'Generate libnvme python bindings')
+ option('openssl', type : 'feature', value: 'auto', description : 'OpenSSL support')
+
diff --git a/sys-libs/libnvme/libnvme-1.6.ebuild b/sys-libs/libnvme/libnvme-1.6.ebuild
index 2ecf469e67da..e20cb3c1eac4 100644
--- a/sys-libs/libnvme/libnvme-1.6.ebuild
+++ b/sys-libs/libnvme/libnvme-1.6.ebuild
@@ -13,7 +13,8 @@ SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -
LICENSE="LGPL-2.1+"
SLOT="0/1"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-IUSE="dbus +json keyutils python ssl +uuid"
+IUSE="dbus +json keyutils python ssl test +uuid"
+RESTRICT="!test? ( test )"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
@@ -34,9 +35,14 @@ BDEPEND="
dev-lang/swig
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6-musl.patch
+)
+
src_configure() {
local emesonargs=(
-Dpython=false
+ $(meson_use test tests)
$(meson_feature json json-c)
$(meson_feature dbus libdbus)
$(meson_feature keyutils)