commit:     071f100706cc56f4b2510d41d08211b817fc41ce
Author:     Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 31 18:37:16 2024 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu Oct 31 18:39:12 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=071f1007

sys-libs/liburing: add 2.8

Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 sys-libs/liburing/Manifest            |  1 +
 sys-libs/liburing/liburing-2.8.ebuild | 84 +++++++++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+)

diff --git a/sys-libs/liburing/Manifest b/sys-libs/liburing/Manifest
index bfdb966cb6c6..842354f0ad10 100644
--- a/sys-libs/liburing/Manifest
+++ b/sys-libs/liburing/Manifest
@@ -3,3 +3,4 @@ DIST liburing-2.3.tar.bz2 197929 BLAKE2B 
94ae2a79522fbac13c071ad752f5cbfae3e3b3d
 DIST liburing-2.5.tar.bz2 217397 BLAKE2B 
cb5d0a61bc8ce5a92a1b581c5411938146a84c365598454ac8bac7ba0d7429e20a5a608cb725619cbf8b77570b2d638fc347fd9ee9cb1456361957a2a4d6e6d6
 SHA512 
cba62acde52c07185ade0ac0fee6bf3845f5677d061b52d179c6341a62f8581d4f8920fc09d27a3723bc3832bc84dd5475d173427ee5d8a063d079b07af96416
 DIST liburing-2.6.tar.bz2 244371 BLAKE2B 
f0e05a5a82592ed45c7c7f12b437d17655989102961c3d349d18d993f21cf0f1a6eb2aa7ad863a579428a1546c307924bf368e10af96045fd40a02fd5bd5843e
 SHA512 
bf07cc0e67498ba64d888d1a113f7c8bea3feaed6f05ce69c99a1dec9506e553a1695ab4e1ecfa86f0ba1af699769557291d5c6b125b9bf59a1452f69eac0613
 DIST liburing-2.7.tar.bz2 252289 BLAKE2B 
dc04745d2eda04d7009a532fc77566804c34b77dcef512f17ef424e22bc1e1a31ba87c2a841bb5574b11c494641a3128005d6dfccf2b87d6c3888fe5cd887996
 SHA512 
ec6cf69cae2e7e448e9e338bcd616bf27522f6f0e4768bf80d246d6df8610df3accaddae1c135c31bca7814bc3b8214854c40b3f7137163c0950605c716793f1
+DIST liburing-2.8.tar.bz2 284202 BLAKE2B 
de1deaa8927b5f80a38195ef857fdb0d3dc5f7f57358fe319af42ec3d980bf4c20284d7726645e9c32bcb3e5d7d981540a52a35abb26394cbef03f88ab7c4248
 SHA512 
5822108aa771a34a4c3f008a0155e4f1fa9393499f24a1bce00aed7fab6e3b9e022b44f96479af0036295129db75d5062618fb4c48cef836e3155c604491e94d

diff --git a/sys-libs/liburing/liburing-2.8.ebuild 
b/sys-libs/liburing/liburing-2.8.ebuild
new file mode 100644
index 000000000000..a469ca0ee19f
--- /dev/null
+++ b/sys-libs/liburing/liburing-2.8.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 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 ~loong ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86"
+       QA_PKGCONFIG_VERSION=${PV}
+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 <linux/*>, bug #802516
+DEPEND=">=sys-kernel/linux-headers-5.1"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+       default
+
+       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)"
+               --use-libc
+       )
+       # 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
+}

Reply via email to