From c417025a2ab386cddabb71ad598a9b75b47af313 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 30 Sep 2023 11:39:43 +0100 Subject: gentoo auto-resync : 30:09:2023 - 11:39:43 --- sys-libs/libnvme/Manifest | 3 +- sys-libs/libnvme/files/libnvme-1.6-musl.patch | 90 +++++++++++++++++++++++++++ sys-libs/libnvme/libnvme-1.6.ebuild | 8 ++- 3 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 sys-libs/libnvme/files/libnvme-1.6-musl.patch (limited to 'sys-libs/libnvme') 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 +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 to avoid a conflict and conditionally +define the right one for the system. + +Bug: https://bugs.gentoo.org/914921 +Signed-off-by: Sam James +--- 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 ++ 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 +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 +--- 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) -- cgit v1.2.3