From f3b59a4d34d28f51cc97e3cd2eb23686d61c2002 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 14 Feb 2023 13:57:43 +0000 Subject: gentoo auto-resync : 14:02:2023 - 13:57:43 --- sys-libs/liburing/Manifest | 3 +- ...remove-error-from-error_h-for-portability.patch | 150 +++++++++++++++++++++ sys-libs/liburing/liburing-2.3-r2.ebuild | 79 ----------- sys-libs/liburing/liburing-2.3-r4.ebuild | 95 +++++++++++++ 4 files changed, 247 insertions(+), 80 deletions(-) create mode 100644 sys-libs/liburing/files/liburing-2.3-remove-error-from-error_h-for-portability.patch delete mode 100644 sys-libs/liburing/liburing-2.3-r2.ebuild create mode 100644 sys-libs/liburing/liburing-2.3-r4.ebuild (limited to 'sys-libs/liburing') diff --git a/sys-libs/liburing/Manifest b/sys-libs/liburing/Manifest index 58035de7258d..ac417b864f21 100644 --- a/sys-libs/liburing/Manifest +++ b/sys-libs/liburing/Manifest @@ -1,12 +1,13 @@ AUX liburing-2.1-arm-syscall.patch 1752 BLAKE2B f2f27e9ff6f86b75808d99a0e89e2c8609f481ba3ff1f908b1f2ec670a5ab5518ea990ff4bc24506f5ce6f6d8e1083ac7e3b0aaee9d72a8fb5bc3d4577617309 SHA512 04e1c92d6b399f046c500ff3a7d78990682e60df3994431977f7a01bea0fba0fb1dea6e66340bfd79869fbc2114f4e9a9eb391ed26d81a3041accf78141fd158 AUX liburing-2.1-gnu_source-musl-cpuset.patch 1483 BLAKE2B 4df57662e28240455795415c4de4b3047afdfcd0818d829f79c0489539d6646fa84de8ef94d15488e8d66169598bbfdd4dbbd21c90638eb5e372ecfdbb2dfe8c SHA512 a779f9077c2529c8e294ff6c22823c149d79eb84f20889583422987eec42c3e549d61041e07456a9b085284fdc5f44e8816efa837e4e8865deb6874f29f463f0 AUX liburing-2.3-liburing.map-Export-io_uring_-enable_rings-register_.patch 1233 BLAKE2B 86113d0201afc1860d240f585a392dd45ea8a1b45adbae96c2a87d18f8540bae96a6a5efc6e8a971aa1535034a859a99c75ea6e43c0744967707aebcc93e08c0 SHA512 7110eae38e18e710522211a9ab8b5a0879107dc236553b139d460a0068e44def9e28357c615665920dd86e0b70d552daeb09b677ca460adc3eb352fffe61be73 +AUX liburing-2.3-remove-error-from-error_h-for-portability.patch 4160 BLAKE2B 0262d1eb46b9df94cd98df5fab24b88dd15e5e4c2d6095b3d85e308ead3f171d7960cf5046823d44ec62529e7b9c0e83260f87a41ec3a66316f29782c31ff28d SHA512 35194720209c36dfb42413441b598543f5b9691c36614a4bb7fdbf6e151fa31bced5ecf389fd50290d69746b299ae9978d102a47f0c303ca33a07a91e7bddf1b DIST liburing-2.1.tar.bz2 120806 BLAKE2B 3a09d1504150ed1c111f064187d868fd86ec7c3dbf661f73999f7fbb9c945b528f7ab2e0cfff5d270a1a977f04deedc7c790b6df8708ef2884fbf28c1a9ffd1b SHA512 a658454869b01752b5e499c4f0b50c342a8ff63b3dd1a473a96f9fad03f22a6e4d2354b0e658a4e7e50ea27440a84ee274856b3687803583bc80cb4bc45aec71 DIST liburing-2.2.tar.bz2 172733 BLAKE2B 19ae8a356e4fdc296bfb3ff121b777bd7c970388b31686aac5c531508e807360d58220bc27f9c62c55bd76ca687013acfceb3fa8a2162b615561f637cc50ffe1 SHA512 55b935a90c108be54393a5ab341b56e40ad8d506360fe15b3dcde5ee263356f11080f8614efdc4253f6318ea35d808ec47a9dbfc6b9f6cc2e04f7f1a75c3f621 DIST liburing-2.3.tar.bz2 197929 BLAKE2B 94ae2a79522fbac13c071ad752f5cbfae3e3b3dd6b35da24e5c756ba47a7b304e5bcb18391ca23fc2edafeb2dbcdcf143fd2cda71656396ac34248159a964fb7 SHA512 341aa13d3b560617f3710291945ec2fe35d828e0b67ee3a97555fd4eb3d2042a7f9e722080d8ebb45aa74a2ca4ef58db1e8a10c351e951a604da007ba69d2738 EBUILD liburing-2.1-r2.ebuild 1724 BLAKE2B 900c92124e14b809a698f48b81536e4b6c37e6629169fcb0b668cefb51cdcba84d7555a3eff957b0bd1b9c37bb2f4005d9c2bae569b6a1b852043c77614f3d02 SHA512 385c3f5f1d2d5bc38463d758d317ce58ee57261b80e039772a3a050d4aa870dcd80f4a7d5247e6036aea777494edf40af6669438ea4ef9b1cad87144437789aa EBUILD liburing-2.2.ebuild 1574 BLAKE2B 78ebce489d9b427f0832118b0e752cc8cb033a7b98bbb056b85222d69e355d01ca3c3ae3e1a9d9afbad14f0aaa4cdead017a580fc32734adb8097e0bd43f4854 SHA512 84002d4a80e24bc4516170a720f10a15d7fa94e5a7a1831c38be7e109bcc0f90423cfd9097569be4b3af45be366ea1c537fb9626012fda502377fea0438d6b83 -EBUILD liburing-2.3-r2.ebuild 1883 BLAKE2B beb16307d0e22084f2880f0fc25fca3c2d8916e29178a416cb7fc43398d98a7dc26f32b549af24e73f14474f00cd99343c55bf00c87854e38f417bf18b0234af SHA512 7077536b36a44a347b8215934461c7d8ed81724a2cebe54b592556212b407e11abf0f9e2bd6e859ac82b2f85b2cbba2eca8404d58d9812aefea4073080e8f790 +EBUILD liburing-2.3-r4.ebuild 2308 BLAKE2B 6a60d2aaa46eaea04d8b55a349942f602c5f9253ea89389fe3f2511c4ca5ce2bc82c14bf5e866ac3d3e9bf9f7000877cdfdb6cbe1e4f218c53dbb803e18bb768 SHA512 32396f85d8020751848a91a437e4ab2217db97b033129f0d33baf8bf2917b32dea5a07843ad88092a2216532027ffa955b6ea6a2a26e2b4902102a1e6f87c205 EBUILD liburing-2.3.ebuild 1581 BLAKE2B d67499bcdff891ee3d5883f01dd1250c5357551719cab3aa1b52ec69083acdbe2ef28c29acdab92223ace87440309c7357cc663542270a04889fc558457dc034 SHA512 1820e0094a1830a73d404c052fd22e6fdc9dbc264dcb3b351f8d672caebbb8ab42a9cb318fd33e098ba4d2f2781bd35d903527883bd1af7b581e779e5882dde0 EBUILD liburing-9999.ebuild 1581 BLAKE2B d67499bcdff891ee3d5883f01dd1250c5357551719cab3aa1b52ec69083acdbe2ef28c29acdab92223ace87440309c7357cc663542270a04889fc558457dc034 SHA512 1820e0094a1830a73d404c052fd22e6fdc9dbc264dcb3b351f8d672caebbb8ab42a9cb318fd33e098ba4d2f2781bd35d903527883bd1af7b581e779e5882dde0 MISC metadata.xml 326 BLAKE2B 7c133a6dbb4ab4b537c0741ec9f3cd525c0803040950ee93e4c1cbc848c7618074471cc1a18ca07d6963c06252c83b66df0811ebae4c0cf9d7782f66ca5aa14a SHA512 1aacf941a9fa57429468fdfc8f546f559c5d483988ba5c6b0f4ed0fe5913f85d218b2a9eec83bae1d11a71eed36a37e76ccedc192697fbe9763fd0b09b2dcfd7 diff --git a/sys-libs/liburing/files/liburing-2.3-remove-error-from-error_h-for-portability.patch b/sys-libs/liburing/files/liburing-2.3-remove-error-from-error_h-for-portability.patch new file mode 100644 index 000000000000..0f2933a10bb4 --- /dev/null +++ b/sys-libs/liburing/files/liburing-2.3-remove-error-from-error_h-for-portability.patch @@ -0,0 +1,150 @@ +From 11dc64a71558948aef16730cb363e7e5da773a5b Mon Sep 17 00:00:00 2001 +From: Steffen +Date: Mon, 13 Feb 2023 17:32:16 +0100 +Subject: [PATCH 1/3] Add custom error function for tests. + +On musl systems, liburing cannot build examples and tests due to +it's usage of error.h. t_error calls fprintf(stderr, ...) and +exits. + +Closes: #786 + +Signed-off-by: Steffen Winter +--- a/test/helpers.c ++++ b/test/helpers.c +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + #include + + #include +@@ -300,3 +301,20 @@ unsigned __io_uring_flush_sq(struct io_uring *ring) + */ + return tail - *sq->khead; + } ++ ++/* ++ * Implementation of error(3), prints an error message and exits. ++ */ ++void t_error(int status, int errnum, const char *format, ...) ++{ ++ va_list args; ++ va_start(args, format); ++ ++ vfprintf(stderr, format, args); ++ if (errnum) ++ fprintf(stderr, ": %s", strerror(errnum)); ++ ++ fprintf(stderr, "\n"); ++ va_end(args); ++ exit(status); ++} +--- a/test/helpers.h ++++ b/test/helpers.h +@@ -89,6 +89,8 @@ unsigned __io_uring_flush_sq(struct io_uring *ring); + + #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + ++void t_error(int status, int errnum, const char *format, ...); ++ + #ifdef __cplusplus + } + #endif + +From 3b0b4976d7da2e4616fe860fb7a8e52d88d4523b Mon Sep 17 00:00:00 2001 +From: Steffen +Date: Mon, 13 Feb 2023 17:56:03 +0100 +Subject: [PATCH 2/3] test: Use t_error instead of glibc's error. + +On musl systems, liburing cannot build examples and tests due to +it's usage of error.h. Replacing calls to error() with t_error(). + +Closes: #786 + +Signed-off-by: Steffen Winter +--- a/test/defer-taskrun.c ++++ b/test/defer-taskrun.c +@@ -4,7 +4,6 @@ + #include + #include + #include +-#include + #include + #include + #include +--- a/test/send-zerocopy.c ++++ b/test/send-zerocopy.c +@@ -4,7 +4,6 @@ + #include + #include + #include +-#include + #include + #include + #include +--- a/test/single-issuer.c ++++ b/test/single-issuer.c +@@ -5,7 +5,6 @@ + #include + #include + #include +-#include + #include + #include + +@@ -56,13 +55,13 @@ static int try_submit(struct io_uring *ring) + return ret; + + if (ret != 1) +- error(1, ret, "submit %i", ret); ++ t_error(1, ret, "submit %i", ret); + ret = io_uring_wait_cqe(ring, &cqe); + if (ret) +- error(1, ret, "wait fail %i", ret); ++ t_error(1, ret, "wait fail %i", ret); + + if (cqe->res || cqe->user_data != 42) +- error(1, ret, "invalid cqe"); ++ t_error(1, ret, "invalid cqe"); + + io_uring_cqe_seen(ring, cqe); + return 0; +@@ -105,7 +104,7 @@ int main(int argc, char *argv[]) + ret = io_uring_queue_init(8, &ring, IORING_SETUP_SINGLE_ISSUER | + IORING_SETUP_R_DISABLED); + if (ret) +- error(1, ret, "ring init (2) %i", ret); ++ t_error(1, ret, "ring init (2) %i", ret); + + if (!fork_t()) { + io_uring_enable_rings(&ring); +@@ -121,7 +120,7 @@ int main(int argc, char *argv[]) + ret = io_uring_queue_init(8, &ring, IORING_SETUP_SINGLE_ISSUER | + IORING_SETUP_R_DISABLED); + if (ret) +- error(1, ret, "ring init (3) %i", ret); ++ t_error(1, ret, "ring init (3) %i", ret); + + io_uring_enable_rings(&ring); + if (!fork_t()) { +@@ -136,7 +135,7 @@ int main(int argc, char *argv[]) + /* test that anyone can submit to a SQPOLL|SINGLE_ISSUER ring */ + ret = io_uring_queue_init(8, &ring, IORING_SETUP_SINGLE_ISSUER|IORING_SETUP_SQPOLL); + if (ret) +- error(1, ret, "ring init (4) %i", ret); ++ t_error(1, ret, "ring init (4) %i", ret); + + ret = try_submit(&ring); + if (ret) { +@@ -156,7 +155,7 @@ int main(int argc, char *argv[]) + /* test that IORING_ENTER_REGISTERED_RING doesn't break anything */ + ret = io_uring_queue_init(8, &ring, IORING_SETUP_SINGLE_ISSUER); + if (ret) +- error(1, ret, "ring init (5) %i", ret); ++ t_error(1, ret, "ring init (5) %i", ret); + + if (!fork_t()) { + ret = try_submit(&ring); + diff --git a/sys-libs/liburing/liburing-2.3-r2.ebuild b/sys-libs/liburing/liburing-2.3-r2.ebuild deleted file mode 100644 index 2140c9daaf91..000000000000 --- a/sys-libs/liburing/liburing-2.3-r2.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit multilib-minimal toolchain-funcs - -DESCRIPTION="Efficient I/O with io_uring" -HOMEPAGE="https://github.com/axboe/liburing" -if [[ "${PV}" == *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/axboe/liburing.git" -else - SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -fi -LICENSE="MIT" -SLOT="0/2" # liburing.so major version - -IUSE="examples static-libs test" -# fsync test hangs forever -RESTRICT="test !test? ( test )" - -# At least installed headers need , bug #802516 -DEPEND=">=sys-kernel/linux-headers-5.1" -RDEPEND="${DEPEND}" - -PATCHES=( - # https://bugs.gentoo.org/891633 - "${FILESDIR}/${PN}-2.3-liburing.map-Export-io_uring_-enable_rings-register_.patch" -) - -src_prepare() { - default - - if [[ "${PV}" != *9999 ]] ; then - # Make sure pkgconfig files contain the correct version - # bug #809095 and #833895 - sed -i "/^Version:/s@[[:digit:]\.]\+@${PV}@" ${PN}.spec || die - fi - - if ! use examples; then - sed -e '/examples/d' Makefile -i || die - fi - if ! use test; then - sed -e '/test/d' Makefile -i || die - fi - - multilib_copy_sources -} - -multilib_src_configure() { - local myconf=( - --prefix="${EPREFIX}/usr" - --libdir="${EPREFIX}/usr/$(get_libdir)" - --libdevdir="${EPREFIX}/usr/$(get_libdir)" - --mandir="${EPREFIX}/usr/share/man" - --cc="$(tc-getCC)" - --cxx="$(tc-getCXX)" - ) - # No autotools configure! "econf" will fail. - TMPDIR="${T}" ./configure "${myconf[@]}" || die -} - -multilib_src_compile() { - emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -} - -multilib_src_install_all() { - einstalldocs - - if ! use static-libs ; then - find "${ED}" -type f -name "*.a" -delete || die - fi -} - -multilib_src_test() { - emake V=1 runtests -} diff --git a/sys-libs/liburing/liburing-2.3-r4.ebuild b/sys-libs/liburing/liburing-2.3-r4.ebuild new file mode 100644 index 000000000000..f599513579c9 --- /dev/null +++ b/sys-libs/liburing/liburing-2.3-r4.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit multilib-minimal toolchain-funcs + +DESCRIPTION="Efficient I/O with io_uring" +HOMEPAGE="https://github.com/axboe/liburing" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/axboe/liburing.git" +else + SRC_URI="https://git.kernel.dk/cgit/${PN}/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +fi +LICENSE="MIT" +SLOT="0/2" # liburing.so major version + +IUSE="examples static-libs test" +# fsync test hangs forever +RESTRICT="!test? ( test )" + +# At least installed headers need , bug #802516 +DEPEND=">=sys-kernel/linux-headers-5.1" +RDEPEND="${DEPEND}" + +PATCHES=( + # https://bugs.gentoo.org/891633 + "${FILESDIR}/${PN}-2.3-liburing.map-Export-io_uring_-enable_rings-register_.patch" + # https://github.com/axboe/liburing/pull/787 + "${FILESDIR}/${PN}-2.3-remove-error-from-error_h-for-portability.patch" +) + +src_prepare() { + default + + if [[ "${PV}" != *9999 ]] ; then + # Make sure pkgconfig files contain the correct version + # bug #809095 and #833895 + sed -i "/^Version:/s@[[:digit:]\.]\+@${PV}@" ${PN}.spec || die + fi + + if ! use examples; then + sed -e '/examples/d' Makefile -i || die + fi + if ! use test; then + sed -e '/test/d' Makefile -i || die + fi + + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + --prefix="${EPREFIX}/usr" + --libdir="${EPREFIX}/usr/$(get_libdir)" + --libdevdir="${EPREFIX}/usr/$(get_libdir)" + --mandir="${EPREFIX}/usr/share/man" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + ) + # No autotools configure! "econf" will fail. + TMPDIR="${T}" ./configure "${myconf[@]}" || die +} + +multilib_src_compile() { + emake V=1 AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" +} + +multilib_src_install_all() { + einstalldocs + + if ! use static-libs ; then + find "${ED}" -type f -name "*.a" -delete || die + fi +} + +multilib_src_test() { + local disabled_tests=( + accept.c + fpos.c + io_uring_register.c + link-timeout.c + read-before-exit.c + recv-msgall-stream.c + ) + local disabled_test + for disabled_test in "${disabled_tests[@]}"; do + sed -i "/\s*${disabled_test}/d" test/Makefile \ + || die "Failed to remove ${disabled_test}" + done + + emake -C test V=1 runtests +} -- cgit v1.2.3