dev-libs/libaio: Sync with Gentoo

It's from Gentoo commit 28dbca461e35f42c1159d62a7613b0a56e98110a.
This commit is contained in:
Krzesimir Nowak 2022-10-21 10:22:13 +02:00
parent 39469ca19e
commit 079ab0679f
7 changed files with 69 additions and 57 deletions

View File

@ -1 +1 @@
DIST libaio-0.3.112.tar.gz 46977 BLAKE2B 088f3b195a65bdc97ae2318e47af17c65259ed3208dca7bfef93c81a800602085e5b2078dbd436c740be316d0ebd923a1b3b7c0808257e2e7c7fb0f7ae1e0dba SHA512 5f984529c9f747a6c82f1e4457fc0832bb1fc299ae6e700f2ac5a8ea7b9bfc6ea1e75809728cc115a020cff6685ed1f4e38c6aeacc1ea98dfccce04dd19dafaa
DIST libaio-0.3.113.tar.gz 49980 BLAKE2B 2379c88670310b36942563d10f29dfcba0f49391952ffe7fe18b0c917f33ef610405fe13297d1dbb34b7ad1d3066d4a32587a7fb20babba2f264cfc2ab289e57 SHA512 65c30a102433bf8386581b03fc706d84bd341be249fbdee11a032b237a7b239e8c27413504fef15e2797b1acd67f752526637005889590ecb380e2e120ab0b71

View File

@ -1,30 +0,0 @@
From ebe62b178f3e5fcde8a311e64aaffe62099204a5 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Sun, 21 Apr 2019 12:44:26 +0200
Subject: [PATCH] make -Werror into an optional flag
This lets distros disable the flag as random errors might come up with
different compiler flags and older/newer toolchain versions.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
harness/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/harness/Makefile b/harness/Makefile
index f477737..a155c4b 100644
--- a/harness/Makefile
+++ b/harness/Makefile
@@ -6,7 +6,8 @@ PROGS:=$(PARTPROGS) $(EXTRAPROGS)
HARNESS_SRCS:=main.c
# io_queue.c
-CFLAGS+=-Wall -Werror -I../src -g -O2 -DPAGE_SIZE=$(shell getconf PAGESIZE)
+CFLAGS_WERROR?=-Werror
+CFLAGS+=-Wall $(CFLAGS_WERROR) -I../src -g -O2 -DPAGE_SIZE=$(shell getconf PAGESIZE)
#-lpthread -lrt
all: $(PROGS)
--
2.21.0

View File

@ -0,0 +1,31 @@
https://pagure.io/libaio/pull-request/22.patch
https://pagure.io/libaio/pull-request/22
https://pagure.io/libaio/issue/21
From b8eadc9f89e8f7ab0338eacda9f98a6caea76883 Mon Sep 17 00:00:00 2001
From: Andreas Baumann <mail@andreasbaumann.cc>
Date: Jun 02 2022 11:33:11 +0000
Subject: harness: use off64_t instead of off_t in test 23.t (EINVAL on 32-bit)
--- a/harness/cases/23.t
+++ b/harness/cases/23.t
@@ -72,7 +72,7 @@ static void fail_errno(const char *format, ...)
static void *thrproc2(void *arg)
{
for (;;) {
- off_t offset = 0;
+ off64_t offset = 0;
pthread_barrier_wait(&barrier);
if (exiting)
@@ -92,7 +92,7 @@ static void *thrproc3(void *arg)
{
for (;;) {
char c;
- off_t offset = 0;
+ off64_t offset = 0;
pthread_barrier_wait(&barrier);
if (exiting)

View File

@ -2,12 +2,11 @@ We need to place LDFLAGS earlier to ensure e.g. as-needed works correctly.
--- a/src/Makefile
+++ b/src/Makefile
@@ -56,7 +56,7 @@ libaio.a: $(libaio_objs)
$(RANLIB) libaio.a
$(libname): $(libaio_sobjs) libaio.map
$(CC) $(CFLAGS) -c struct_offsets.c
- $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS)
+ $(CC) $(SO_CFLAGS) $(LINK_FLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs)
install: $(all_targets)
install -D -m 644 libaio.h $(includedir)/libaio.h

View File

@ -1,18 +1,18 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
EAPI=7
inherit multilib-minimal toolchain-funcs flag-o-matic usr-ldscript
DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
HOMEPAGE="https://pagure.io/libaio"
if [[ "${PV}" == 9999 ]] ; then
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://pagure.io/libaio.git"
else
SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.gz"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
fi
LICENSE="LGPL-2"
SLOT="0"
@ -21,8 +21,8 @@ RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-0.3.112-cppflags.patch
"${FILESDIR}"/${PN}-0.3.111-optional-werror.patch
"${FILESDIR}"/${PN}-0.3.112-respect-LDFLAGS.patch
"${FILESDIR}"/${PN}-0.3.113-respect-LDFLAGS.patch
"${FILESDIR}"/${PN}-0.3.113-32-bit-tests.patch
)
src_prepare() {
@ -31,18 +31,22 @@ src_prepare() {
local sed_args=(
-e "/^prefix=/s:/usr:${EPREFIX}/usr:"
-e '/^libdir=/s:lib$:$(ABI_LIBDIR):'
-e 's:-Werror ::'
)
if ! use static-libs; then
sed_args+=( -e '/\tinstall .*\/libaio.a/d' )
# Tests require the static library to be built.
use test || sed_args+=( -e '/^all_targets +=/s/ libaio.a//' )
fi
sed -i "${sed_args[@]}" src/Makefile Makefile || die
sed -i "${sed_args[@]}" src/Makefile harness/Makefile Makefile || die
multilib_copy_sources
}
multilib_src_configure() {
# Upstream aren't interested in fixing: bug #855698
filter-lto
if use arm ; then
# When building for thumb, we can't allow frame pointers.
# http://crbug.com/464517
@ -53,10 +57,10 @@ multilib_src_configure() {
}
_emake() {
CC=$(tc-getCC) \
AR=$(tc-getAR) \
RANLIB=$(tc-getRANLIB) \
ABI_LIBDIR=$(get_libdir) \
CC="$(tc-getCC)" \
AR="$(tc-getAR)" \
RANLIB="$(tc-getRANLIB)" \
ABI_LIBDIR="$(get_libdir)" \
CFLAGS_WERROR= \
emake "$@"
}
@ -67,6 +71,7 @@ multilib_src_compile() {
multilib_src_test() {
mkdir -p testdir || die
# 'make check' breaks with sandbox, 'make partcheck' works
_emake partcheck prefix="${S}/src" libdir="${S}/src"
}
@ -79,7 +84,7 @@ multilib_src_install_all() {
doman man/*
dodoc ChangeLog TODO
# move crap to / for multipath-tools #325355
# move to / for multipath-tools, bug #325355
gen_usr_ldscript -a aio
# This lib is a bare minimal shim on top of kernel syscalls.

View File

@ -1,18 +1,18 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
EAPI=7
inherit multilib-minimal toolchain-funcs flag-o-matic usr-ldscript
DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
HOMEPAGE="https://pagure.io/libaio"
if [[ "${PV}" == 9999 ]] ; then
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://pagure.io/libaio.git"
else
SRC_URI="https://releases.pagure.org/${PN}/${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="LGPL-2"
SLOT="0"
@ -21,8 +21,7 @@ RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}"/${PN}-0.3.112-cppflags.patch
"${FILESDIR}"/${PN}-0.3.111-optional-werror.patch
"${FILESDIR}"/${PN}-0.3.112-respect-LDFLAGS.patch
"${FILESDIR}"/${PN}-0.3.113-respect-LDFLAGS.patch
)
src_prepare() {
@ -31,18 +30,22 @@ src_prepare() {
local sed_args=(
-e "/^prefix=/s:/usr:${EPREFIX}/usr:"
-e '/^libdir=/s:lib$:$(ABI_LIBDIR):'
-e 's:-Werror ::'
)
if ! use static-libs; then
sed_args+=( -e '/\tinstall .*\/libaio.a/d' )
# Tests require the static library to be built.
use test || sed_args+=( -e '/^all_targets +=/s/ libaio.a//' )
fi
sed -i "${sed_args[@]}" src/Makefile Makefile || die
sed -i "${sed_args[@]}" src/Makefile harness/Makefile Makefile || die
multilib_copy_sources
}
multilib_src_configure() {
# Upstream aren't interested in fixing: bug #855698
filter-lto
if use arm ; then
# When building for thumb, we can't allow frame pointers.
# http://crbug.com/464517
@ -53,10 +56,10 @@ multilib_src_configure() {
}
_emake() {
CC=$(tc-getCC) \
AR=$(tc-getAR) \
RANLIB=$(tc-getRANLIB) \
ABI_LIBDIR=$(get_libdir) \
CC="$(tc-getCC)" \
AR="$(tc-getAR)" \
RANLIB="$(tc-getRANLIB)" \
ABI_LIBDIR="$(get_libdir)" \
CFLAGS_WERROR= \
emake "$@"
}
@ -67,6 +70,7 @@ multilib_src_compile() {
multilib_src_test() {
mkdir -p testdir || die
# 'make check' breaks with sandbox, 'make partcheck' works
_emake partcheck prefix="${S}/src" libdir="${S}/src"
}
@ -79,7 +83,7 @@ multilib_src_install_all() {
doman man/*
dodoc ChangeLog TODO
# move crap to / for multipath-tools #325355
# move to / for multipath-tools, bug #325355
gen_usr_ldscript -a aio
# This lib is a bare minimal shim on top of kernel syscalls.

View File

@ -5,6 +5,9 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:libaio_project:libaio</remote-id>
</upstream>
<longdescription>
Library to provide user-level kernel Asynchronous I/O (AIO)
support for Linux (needs kernel patches as of 2.6.12)