public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-libs/liburing/, sys-libs/liburing/files/
@ 2021-10-20  1:51 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2021-10-20  1:51 UTC (permalink / raw
  To: gentoo-commits

commit:     2ef2c4badbd29b3ae21c7f0615fb95af0068a74c
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct  9 05:09:41 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Oct 20 01:45:35 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ef2c4ba

sys-libs/liburing: fix build on arm

Closes: https://bugs.gentoo.org/816798
Signed-off-by: Sam James <sam <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/22523

 .../liburing/files/liburing-2.1-arm-syscall.patch  | 54 ++++++++++++++++++++++
 sys-libs/liburing/liburing-2.1.ebuild              |  5 ++
 2 files changed, 59 insertions(+)

diff --git a/sys-libs/liburing/files/liburing-2.1-arm-syscall.patch b/sys-libs/liburing/files/liburing-2.1-arm-syscall.patch
new file mode 100644
index 00000000000..a652b052148
--- /dev/null
+++ b/sys-libs/liburing/files/liburing-2.1-arm-syscall.patch
@@ -0,0 +1,54 @@
+https://github.com/axboe/liburing/commit/cb350a8989adbd65db574325d9a86d5437d800da
+https://bugs.gentoo.org/816798
+
+From cb350a8989adbd65db574325d9a86d5437d800da Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Mon, 13 Sep 2021 23:56:08 +0200
+Subject: [PATCH] test: Use syscall wrappers instead of using syscall(2)
+ directly
+
+Some of these syscalls have different entry points depending on the
+architecture. Use the wrappers to avoid having to reimplement them
+portably.
+
+Fixes build failures on Debian armel and armhf builds.
+
+Signed-off-by: Guillem Jover <guillem@hadrons.org>
+--- a/test/sqpoll-cancel-hang.c
++++ b/test/sqpoll-cancel-hang.c
+@@ -4,7 +4,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/mman.h>
+-#include <sys/syscall.h>
+ #include <sys/wait.h>
+ #include <time.h>
+ #include <unistd.h>
+@@ -29,8 +28,6 @@ static uint64_t current_time_ms(void)
+ 
+ #define IORING_OFF_SQES 0x10000000ULL
+ 
+-#define sys_io_uring_setup 425
+-
+ static void kill_and_wait(int pid, int* status)
+ {
+     kill(-pid, SIGKILL);
+@@ -53,7 +50,7 @@ a5)
+     void* vma2 = (void*)a3;
+     void** ring_ptr_out = (void**)a4;
+     void** sqes_ptr_out = (void**)a5;
+-    uint32_t fd_io_uring = syscall(sys_io_uring_setup, entries, setup_params);
++    uint32_t fd_io_uring = __sys_io_uring_setup(entries, setup_params);
+     uint32_t sq_ring_sz = setup_params->sq_off.array +
+ setup_params->sq_entries * sizeof(uint32_t);
+     uint32_t cq_ring_sz = setup_params->cq_off.cqes +
+@@ -135,7 +132,7 @@ void trigger_bug(void)
+ }
+ int main(void)
+ {
+-    syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
++    mmap((void *)0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
+     int pid = fork();
+     if (pid < 0)
+         exit(1);
+

diff --git a/sys-libs/liburing/liburing-2.1.ebuild b/sys-libs/liburing/liburing-2.1.ebuild
index 6d65622e2a7..dd13ba0d9ab 100644
--- a/sys-libs/liburing/liburing-2.1.ebuild
+++ b/sys-libs/liburing/liburing-2.1.ebuild
@@ -21,6 +21,11 @@ IUSE="static-libs"
 # fsync test hangs forever
 RESTRICT="test"
 
+PATCHES=(
+	# Upstream, bug #816798
+	"${FILESDIR}"/${P}-arm-syscall.patch
+)
+
 src_prepare() {
 	default
 	multilib_copy_sources


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/liburing/, sys-libs/liburing/files/
@ 2021-12-01 20:05 Lars Wendler
  0 siblings, 0 replies; 5+ messages in thread
From: Lars Wendler @ 2021-12-01 20:05 UTC (permalink / raw
  To: gentoo-commits

commit:     f61cf5a67bb91c9aaee1354331ed68578295c212
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Wed Dec  1 20:03:40 2021 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Wed Dec  1 20:05:44 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f61cf5a6

sys-libs/liburing: Removed old

Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 sys-libs/liburing/Manifest                         |  2 -
 .../files/liburing-0.7-ucontext_h-detection.patch  | 72 ----------------------
 .../liburing/files/liburing-2.0-spec_version.patch | 29 ---------
 sys-libs/liburing/liburing-0.7-r1.ebuild           | 59 ------------------
 sys-libs/liburing/liburing-2.0-r1.ebuild           | 59 ------------------
 5 files changed, 221 deletions(-)

diff --git a/sys-libs/liburing/Manifest b/sys-libs/liburing/Manifest
index 274dba180608..397baaaf055a 100644
--- a/sys-libs/liburing/Manifest
+++ b/sys-libs/liburing/Manifest
@@ -1,3 +1 @@
-DIST liburing-0.7.tar.bz2 86386 BLAKE2B a4fa00cc8e384f9909f3c628d479774beaffd5ab09c9f321ef22bfbabd273e4c8d4dbb30a3280633e89e1a79e893348e68f0aa2f3b1b4deda56759f77d9b1875 SHA512 9a23bc08e0fa59273264295859dddbe3276b2911df6d937b3c6f7647a250a3175222b5f051f3094efc98e48cacd242511327c5c5b895ebde10c8c87929ba4328
-DIST liburing-2.0.tar.bz2 109066 BLAKE2B e2be57f66d2a40650c74502bef55e646986443450b2cdf4d2b5247a3fa099178ae19e61a20e4452dc723351053b613a96743f1268004939da9fddd8f38df3fa5 SHA512 a0da3472eb876c9cfbe56abe14b4d926e4d1c362ee9c4f38eec4c4ab01edab6d76651ffe2afe5cac8589caadc02517950974332eb7990f8bcc9f4f4800b66e33
 DIST liburing-2.1.tar.bz2 120806 BLAKE2B 3a09d1504150ed1c111f064187d868fd86ec7c3dbf661f73999f7fbb9c945b528f7ab2e0cfff5d270a1a977f04deedc7c790b6df8708ef2884fbf28c1a9ffd1b SHA512 a658454869b01752b5e499c4f0b50c342a8ff63b3dd1a473a96f9fad03f22a6e4d2354b0e658a4e7e50ea27440a84ee274856b3687803583bc80cb4bc45aec71

diff --git a/sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch b/sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch
deleted file mode 100644
index 24b847d919df..000000000000
--- a/sys-libs/liburing/files/liburing-0.7-ucontext_h-detection.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 1cf969dfcba797a02d74540965677b92d3884cfa Mon Sep 17 00:00:00 2001
-From: Simon Zeni <simon@bl4ckb0ne.ca>
-Date: Tue, 27 Oct 2020 22:31:21 -0400
-Subject: [PATCH] examples: disable ucontext-cp if ucontext.h is not available
-
-The header file `ucontext.h` is not available on musl based distros. The
-example `ucontext-cp` is not built if `configure` fails to locate the
-header.
-
-Signed-off-by: Simon Zeni <simon@bl4ckb0ne.ca>
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- configure         | 21 +++++++++++++++++++++
- examples/Makefile |  6 +++++-
- 2 files changed, 26 insertions(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index c911f59..3b96cde 100755
---- a/configure
-+++ b/configure
-@@ -287,6 +287,24 @@ if compile_prog_cxx "" "" "C++"; then
- fi
- print_config "C++" "$has_cxx"
- 
-+##########################################
-+# check for ucontext support
-+has_ucontext="no"
-+cat > $TMPC << EOF
-+#include <ucontext.h>
-+int main(int argc, char **argv)
-+{
-+  ucontext_t ctx;
-+  getcontext(&ctx);
-+  return 0;
-+}
-+EOF
-+if compile_prog "" "" "has_ucontext"; then
-+  has_ucontext="yes"
-+fi
-+print_config "has_ucontext" "$has_ucontext"
-+
-+
- #############################################################################
- 
- if test "$__kernel_rwf_t" = "yes"; then
-@@ -304,6 +322,9 @@ fi
- if test "$has_cxx" = "yes"; then
-   output_sym "CONFIG_HAVE_CXX"
- fi
-+if test "$has_ucontext" = "yes"; then
-+  output_sym "CONFIG_HAVE_UCONTEXT"
-+fi
- 
- echo "CC=$cc" >> $config_host_mak
- print_config "CC" "$cc"
-diff --git a/examples/Makefile b/examples/Makefile
-index 0eec627..60c1b71 100644
---- a/examples/Makefile
-+++ b/examples/Makefile
-@@ -10,7 +10,11 @@ ifneq ($(MAKECMDGOALS),clean)
- include ../config-host.mak
- endif
- 
--all_targets += io_uring-test io_uring-cp link-cp ucontext-cp
-+all_targets += io_uring-test io_uring-cp link-cp
-+
-+ifdef CONFIG_HAVE_UCONTEXT
-+all_targets += ucontext-cp
-+endif
- 
- all: $(all_targets)
- 

diff --git a/sys-libs/liburing/files/liburing-2.0-spec_version.patch b/sys-libs/liburing/files/liburing-2.0-spec_version.patch
deleted file mode 100644
index fab05916c366..000000000000
--- a/sys-libs/liburing/files/liburing-2.0-spec_version.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1815337f7dbb530ae3e3bc1175d8da214cf76eb5 Mon Sep 17 00:00:00 2001
-From: Stefan Hajnoczi <stefanha@redhat.com>
-Date: Tue, 9 Mar 2021 14:19:12 +0000
-Subject: [PATCH] spec: bump version to 2.0
-
-The shared library is now liburing.so.2 but the pkgconfig and rpm files
-still say 0.7. Existing binaries link against liburing.so.1 and will not
-automatically pick up the new liburing.so.2 shared library.
-
-Update the version number in liburing.spec so
-
-Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-Link: https://lore.kernel.org/r/20210309141913.262131-2-stefanha@redhat.com
-Signed-off-by: Jens Axboe <axboe@kernel.dk>
----
- liburing.spec | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/liburing.spec b/liburing.spec
-index fa4d9704..8607074c 100644
---- a/liburing.spec
-+++ b/liburing.spec
-@@ -1,5 +1,5 @@
- Name: liburing
--Version: 0.7
-+Version: 2.0
- Release: 1%{?dist}
- Summary: Linux-native io_uring I/O access library
- License: (GPLv2 with exceptions and LGPLv2+) or MIT

diff --git a/sys-libs/liburing/liburing-0.7-r1.ebuild b/sys-libs/liburing/liburing-0.7-r1.ebuild
deleted file mode 100644
index 715212503eba..000000000000
--- a/sys-libs/liburing/liburing-0.7-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ppc ppc64 sparc x86"
-fi
-LICENSE="MIT"
-SLOT="0/1.0.7" # liburing.so version
-
-IUSE="static-libs"
-# fsync test hangs forever
-RESTRICT="test"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-0.7-ucontext_h-detection.patch
-)
-
-src_prepare() {
-	default
-	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)"
-	)
-	# No autotools configure! "econf" will fail.
-	TMPDIR="${T}" ./configure "${myconf[@]}"
-}
-
-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.0-r1.ebuild b/sys-libs/liburing/liburing-2.0-r1.ebuild
deleted file mode 100644
index 652b4092a8b2..000000000000
--- a/sys-libs/liburing/liburing-2.0-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-LICENSE="MIT"
-SLOT="0/2.0.0" # liburing.so version
-
-IUSE="static-libs"
-# fsync test hangs forever
-RESTRICT="test"
-
-PATCHES=(
-	"${FILESDIR}/${P}-spec_version.patch" #809095
-)
-
-src_prepare() {
-	default
-	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)"
-	)
-	# No autotools configure! "econf" will fail.
-	TMPDIR="${T}" ./configure "${myconf[@]}"
-}
-
-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
-}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/liburing/, sys-libs/liburing/files/
@ 2022-03-14 15:56 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2022-03-14 15:56 UTC (permalink / raw
  To: gentoo-commits

commit:     698d55e8b06ab74f0fd034aacc933d9a52284839
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 14 15:24:07 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Mar 14 15:56:28 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=698d55e8

sys-libs/liburing: backport upstream musl patch

Needs a revbump as it affects installed header.

Closes: https://bugs.gentoo.org/829293
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../liburing-2.1-gnu_source-musl-cpuset.patch      | 42 +++++++++++++
 sys-libs/liburing/liburing-2.1-r2.ebuild           | 69 ++++++++++++++++++++++
 2 files changed, 111 insertions(+)

diff --git a/sys-libs/liburing/files/liburing-2.1-gnu_source-musl-cpuset.patch b/sys-libs/liburing/files/liburing-2.1-gnu_source-musl-cpuset.patch
new file mode 100644
index 000000000000..b6486f8b140a
--- /dev/null
+++ b/sys-libs/liburing/files/liburing-2.1-gnu_source-musl-cpuset.patch
@@ -0,0 +1,42 @@
+https://github.com/axboe/liburing/commit/c34070e08199491fe9653617364f4aea9b9b22be
+
+From: Sam James <sam@gentoo.org>
+Date: Mon, 14 Mar 2022 14:18:55 +0000
+Subject: [PATCH] liburing.h: define GNU_SOURCE for cpu_set_t
+
+On musl, cpu_set_t is only exposed if GNU_SOURCE is defined. While in
+the liburing build system, this is set (43b7ec8d17888df0debccda27dd58f4d1b90245e),
+it can't be guaranteed that folks including the header externally will set
+that macro.
+
+Noticed while investigating a build failure for glusterfs on a musl
+system:
+```
+configure:17701: checking for liburing.h
+configure:17701: x86_64-gentoo-linux-musl-gcc -c -pipe -march=native -fno-diagnostics-color -O2  conftest.c >&5
+In file included from conftest.c:105:
+/usr/include/liburing.h:162:39: error: unknown type name 'cpu_set_t'
+  162 |                                 const cpu_set_t *mask);
+      |                                       ^~~~~~~~~
+configure:17701: $? = 1
+```
+
+Just like _XOPEN_SOURCE, set if needed.
+
+Bug: https://bugs.gentoo.org/829293
+Bug: https://github.com/axboe/liburing/issues/422
+See: 43b7ec8d17888df0debccda27dd58f4d1b90245e
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/src/include/liburing.h
++++ b/src/include/liburing.h
+@@ -6,6 +6,10 @@
+ #define _XOPEN_SOURCE 500 /* Required for glibc to expose sigset_t */
+ #endif
+ 
++#ifndef _GNU_SOURCE
++#define _GNU_SOURCE /* Required for musl to expose cpu_set_t */
++#endif
++
+ #include <sys/socket.h>
+ #include <sys/stat.h>
+ #include <sys/uio.h>

diff --git a/sys-libs/liburing/liburing-2.1-r2.ebuild b/sys-libs/liburing/liburing-2.1-r2.ebuild
new file mode 100644
index 000000000000..40852f3d1247
--- /dev/null
+++ b/sys-libs/liburing/liburing-2.1-r2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2022 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 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+LICENSE="MIT"
+SLOT="0/2" # liburing.so major version
+
+IUSE="static-libs"
+# fsync test hangs forever
+RESTRICT="test"
+
+PATCHES=(
+	# Upstream, bug #816798
+	"${FILESDIR}"/${P}-arm-syscall.patch
+	# Upstream, bug #829293
+	"${FILESDIR}"/${P}-gnu_source-musl-cpuset.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
+
+	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)"
+	)
+	# No autotools configure! "econf" will fail.
+	TMPDIR="${T}" ./configure "${myconf[@]}"
+}
+
+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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/liburing/, sys-libs/liburing/files/
@ 2023-01-22  8:48 Florian Schmaus
  0 siblings, 0 replies; 5+ messages in thread
From: Florian Schmaus @ 2023-01-22  8:48 UTC (permalink / raw
  To: gentoo-commits

commit:     29d4d06ff10f171a8766c326abcc0d5dad8b1eb8
Author:     Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 22 08:48:20 2023 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Sun Jan 22 08:48:28 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29d4d06f

sys-libs/liburing: backport patch to export symbols

Closes: https://bugs.gentoo.org/891633
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 ...p-Export-io_uring_-enable_rings-register_.patch | 35 +++++++++++
 sys-libs/liburing/liburing-2.3-r1.ebuild           | 72 ++++++++++++++++++++++
 2 files changed, 107 insertions(+)

diff --git a/sys-libs/liburing/files/liburing-2.3-liburing.map-Export-io_uring_-enable_rings-register_.patch b/sys-libs/liburing/files/liburing-2.3-liburing.map-Export-io_uring_-enable_rings-register_.patch
new file mode 100644
index 000000000000..8ea4c4df2b8a
--- /dev/null
+++ b/sys-libs/liburing/files/liburing-2.3-liburing.map-Export-io_uring_-enable_rings-register_.patch
@@ -0,0 +1,35 @@
+From 19424b0baa5999918701e1972b901b0937331581 Mon Sep 17 00:00:00 2001
+From: Ammar Faizi <ammarfaizi2@gnuweeb.org>
+Date: Sat, 14 Jan 2023 10:54:05 +0700
+Subject: [PATCH] liburing.map: Export
+ `io_uring_{enable_rings,register_restrictions}`
+
+When adding these two functions, Stefano didn't add
+io_uring_enable_rings() and io_uring_register_restrictions() to
+liburing.map. It causes a linking problem. Add them to liburing.map.
+
+This issue hits liburing 2.0 to 2.3.
+
+[flow: backport to liburing 2.3]
+
+Closes: https://github.com/axboe/liburing/pull/774
+Fixes: https://github.com/axboe/liburing/issues/773
+Fixes: https://github.com/facebook/folly/issues/1908
+Fixes: d2654b1ac886 ("Add helper to enable rings")
+Fixes: 25cf9b968a27 ("Add helper to register restrictions")
+Cc: Dylan Yudaken <dylany@meta.com>
+Cc: Stefano Garzarella <sgarzare@redhat.com>
+Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
+Link: https://lore.kernel.org/r/20230114035405.429608-1-ammar.faizi@intel.com
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+--- a/src/liburing.map
++++ b/src/liburing.map
+@@ -68,2 +68,5 @@ LIBURING_2.3 {
+        io_uring_submit_and_get_events;
++
++		io_uring_enable_rings;
++		io_uring_register_restrictions;
+ } LIBURING_2.3;
+-- 
+2.39.1
+

diff --git a/sys-libs/liburing/liburing-2.3-r1.ebuild b/sys-libs/liburing/liburing-2.3-r1.ebuild
new file mode 100644
index 000000000000..5a407a2b025e
--- /dev/null
+++ b/sys-libs/liburing/liburing-2.3-r1.ebuild
@@ -0,0 +1,72 @@
+# 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 ~sparc ~x86"
+fi
+LICENSE="MIT"
+SLOT="0/2" # liburing.so major version
+
+IUSE="static-libs"
+# fsync test hangs forever
+RESTRICT="test"
+
+# At least installed headers need <linux/*>, 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
+
+	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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: sys-libs/liburing/, sys-libs/liburing/files/
@ 2023-02-14  9:58 Florian Schmaus
  0 siblings, 0 replies; 5+ messages in thread
From: Florian Schmaus @ 2023-02-14  9:58 UTC (permalink / raw
  To: gentoo-commits

commit:     c105442f99954cd2d818739435cd87afbf6d6cf3
Author:     Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 14 09:54:25 2023 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Tue Feb 14 09:54:48 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c105442f

sys-libs/liburing: remove remaining usage of error.h in test code

Bug: https://bugs.gentoo.org/888956
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 ...iburing-2.3-remove-error-from-error_h-for-portability.patch | 10 ++++++++++
 .../{liburing-2.3-r3.ebuild => liburing-2.3-r4.ebuild}         |  0
 2 files changed, 10 insertions(+)

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
index 6af48d08aab0..0f2933a10bb4 100644
--- 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
@@ -74,6 +74,16 @@ Signed-off-by: Steffen Winter <steffen.winter@proton.me>
  #include <sys/eventfd.h>
  #include <signal.h>
  #include <poll.h>
+--- a/test/send-zerocopy.c
++++ b/test/send-zerocopy.c
+@@ -4,7 +4,6 @@
+ #include <stdint.h>
+ #include <assert.h>
+ #include <errno.h>
+-#include <error.h>
+ #include <limits.h>
+ #include <fcntl.h>
+ #include <unistd.h>
 --- a/test/single-issuer.c
 +++ b/test/single-issuer.c
 @@ -5,7 +5,6 @@

diff --git a/sys-libs/liburing/liburing-2.3-r3.ebuild b/sys-libs/liburing/liburing-2.3-r4.ebuild
similarity index 100%
rename from sys-libs/liburing/liburing-2.3-r3.ebuild
rename to sys-libs/liburing/liburing-2.3-r4.ebuild


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-02-14  9:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-01 20:05 [gentoo-commits] repo/gentoo:master commit in: sys-libs/liburing/, sys-libs/liburing/files/ Lars Wendler
  -- strict thread matches above, loose matches on Subject: below --
2023-02-14  9:58 Florian Schmaus
2023-01-22  8:48 Florian Schmaus
2022-03-14 15:56 Sam James
2021-10-20  1:51 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox