From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/apr/
Date: Sat, 23 Sep 2023 16:00:21 +0000 (UTC) [thread overview]
Message-ID: <1695484793.ad634152ee4e5b0d5fa1002c2fa1dc0cd7755351.sam@gentoo> (raw)
commit: ad634152ee4e5b0d5fa1002c2fa1dc0cd7755351
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 23 15:58:54 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Sep 23 15:59:53 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad634152
dev-libs/apr: more robustly check for dodgy atomics
Let's use append-atomic-libs, which is for this purpose, instead of hardcoding
a brittle list of arches which isn't so accurate.
Mariusz reported that armv6j at least suffered from this problem. Rather than
shoving in 'use arm', let's just use the proper test.
Bug: https://bugs.gentoo.org/740464
Tested-by: Mariusz Koniarz <mkoniarz <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-libs/apr/apr-1.7.4-r1.ebuild | 150 +++++++++++++++++++++++++++++++++++++++
1 file changed, 150 insertions(+)
diff --git a/dev-libs/apr/apr-1.7.4-r1.ebuild b/dev-libs/apr/apr-1.7.4-r1.ebuild
new file mode 100644
index 000000000000..a3ca34616e31
--- /dev/null
+++ b/dev-libs/apr/apr-1.7.4-r1.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="Apache Portable Runtime Library"
+HOMEPAGE="https://apr.apache.org/"
+SRC_URI="mirror://apache/apr/${P}.tar.bz2"
+
+LICENSE="Apache-2.0"
+SLOT="1/${PV%.*}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc old-kernel selinux static-libs +urandom valgrind"
+
+# See bug #815265 for libcrypt dependency
+DEPEND="
+ virtual/libcrypt:=
+ elibc_glibc? ( >=sys-apps/util-linux-2.16 )
+"
+RDEPEND="
+ ${DEPEND}
+ selinux? ( sec-policy/selinux-base-policy )
+"
+DEPEND+=" valgrind? ( dev-util/valgrind )"
+BDEPEND="
+ >=sys-devel/libtool-2.4.2
+ doc? ( app-doc/doxygen )
+"
+
+DOCS=( CHANGES NOTICE README )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.6.3-skip-known-failing-tests.patch
+ "${FILESDIR}"/${PN}-1.7.2-libtool.patch
+ "${FILESDIR}"/${PN}-1.7.2-sysroot.patch # bug #385775
+ "${FILESDIR}"/${PN}-1.7.2-fix-pkgconfig-libs.patch
+ "${FILESDIR}"/${PN}-1.7.2-respect-flags.patch
+ "${FILESDIR}"/${PN}-1.7.2-autoconf-2.72.patch
+ "${FILESDIR}"/config.layout.patch
+)
+
+src_prepare() {
+ default
+
+ mv configure.in configure.ac || die
+ AT_M4DIR="build" eautoreconf
+}
+
+src_configure() {
+ tc-export AS CC CPP
+
+ local myconf=(
+ --enable-layout=gentoo
+ --enable-nonportable-atomics
+ --enable-posix-shm
+ --enable-threads
+ $(use_enable static-libs static)
+ $(use_with valgrind)
+ --with-installbuilddir="${EPREFIX}"/usr/share/${PN}/build
+ )
+
+ tc-is-static-only && myconf+=( --disable-dso )
+
+ if use old-kernel; then
+ local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
+ export apr_cv_accept4="no"
+ export apr_cv_dup3="no"
+ export apr_cv_epoll_create1="no"
+ export apr_cv_sock_cloexec="no"
+ fi
+
+ if tc-is-cross-compiler; then
+ # The apache project relies heavily on AC_TRY_RUN and doesn't
+ # have any sane cross-compiling fallback logic.
+ export \
+ ac_cv_file__dev_zero="yes" \
+ ac_cv_func_sem_open="yes" \
+ ac_cv_mmap__dev_zero="yes" \
+ ac_cv_negative_eai="yes" \
+ ac_cv_o_nonblock_inherited="no" \
+ ac_cv_struct_rlimit="yes" \
+ ap_cv_atomic_builtins="yes" \
+ apr_cv_accept4="yes" \
+ apr_cv_dup3="yes" \
+ apr_cv_epoll="yes" \
+ apr_cv_epoll_create1="yes" \
+ apr_cv_gai_addrconfig="yes" \
+ apr_cv_mutex_recursive="yes" \
+ apr_cv_mutex_robust_shared="yes" \
+ apr_cv_process_shared_works="yes" \
+ apr_cv_pthreads_lib="-pthread" \
+ apr_cv_sock_cloexec="yes" \
+ apr_cv_tcp_nodelay_with_cork="yes"
+ fi
+
+ if use urandom; then
+ myconf+=( --with-devrandom=/dev/urandom )
+ else
+ myconf+=( --with-devrandom=/dev/random )
+ fi
+
+ # Avoid libapr containing undefined references (underlinked)
+ # undefined reference to `__sync_val_compare_and_swap_8'
+ # (May be possible to fix via libatomic linkage in future?)
+ # bug #740464
+ append-atomic-flags
+ if [[ ${LIBS} == *atomic* ]] ; then
+ myconf+=( --disable-nonportable-atomics )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ if tc-is-cross-compiler; then
+ # This header is the same across targets, so use the build compiler.
+ emake tools/gen_test_char
+
+ tc-export_build_env BUILD_CC
+ ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \
+ tools/gen_test_char.c -o tools/gen_test_char || die
+ fi
+
+ emake all $(usev doc dox)
+}
+
+src_test() {
+ # Building tests in parallel is broken
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+
+ if use doc; then
+ docinto html
+ dodoc -r docs/dox/html/*
+ fi
+
+ # This file is only used on AIX systems, which Gentoo is not,
+ # and causes collisions between the SLOTs, so remove it.
+ # Even in Prefix, we don't need this on AIX.
+ rm "${ED}/usr/$(get_libdir)/apr.exp" || die
+}
next reply other threads:[~2023-09-23 16:00 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-23 16:00 Sam James [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-10-13 21:41 [gentoo-commits] repo/gentoo:master commit in: dev-libs/apr/ Sam James
2024-10-12 17:12 Arthur Zamarin
2024-10-12 7:28 Michał Górny
2024-10-12 7:28 Michał Górny
2024-10-11 2:50 Sam James
2024-10-11 2:38 Sam James
2024-10-11 2:38 Sam James
2024-10-11 2:38 Sam James
2024-08-27 5:40 Hans de Graaff
2024-03-29 2:28 Sam James
2024-03-26 23:08 Sam James
2024-03-26 23:08 Sam James
2024-03-26 23:08 Sam James
2024-03-26 23:06 Sam James
2024-03-26 23:03 Sam James
2023-09-23 16:01 Sam James
2023-06-03 19:45 Arthur Zamarin
2023-06-03 17:25 Sam James
2023-06-03 17:25 Sam James
2023-06-03 6:29 Sam James
2023-06-03 6:29 Sam James
2023-06-03 6:29 Sam James
2023-05-16 3:39 Sam James
2023-04-17 0:59 Sam James
2023-03-31 20:59 Sam James
2023-03-18 16:29 Hans de Graaff
2023-03-18 16:29 Hans de Graaff
2023-03-13 19:16 Arthur Zamarin
2023-02-16 5:22 Sam James
2023-02-14 23:05 Sam James
2023-02-14 21:43 Sam James
2023-02-14 21:43 Sam James
2023-02-14 21:43 Sam James
2023-02-14 7:05 Sam James
2023-02-13 22:45 Sam James
2023-01-26 5:20 Sam James
2022-12-17 19:33 Arthur Zamarin
2022-12-17 19:33 Arthur Zamarin
2022-12-14 11:45 Sam James
2022-12-11 0:26 Sam James
2022-11-26 17:12 Arthur Zamarin
2022-11-25 14:34 Arthur Zamarin
2022-11-18 7:07 Jakov Smolić
2022-11-16 7:05 Arthur Zamarin
2022-10-20 19:00 Jakov Smolić
2022-10-14 6:56 Agostino Sarubbo
2022-10-14 6:56 Agostino Sarubbo
2022-10-14 4:14 Arthur Zamarin
2022-10-13 23:01 Sam James
2022-10-13 23:01 Sam James
2022-10-13 22:37 Sam James
2022-07-28 13:31 Sam James
2022-07-03 9:51 Hans de Graaff
2022-05-19 7:17 WANG Xuerui
2022-01-02 17:49 David Seifert
2022-01-02 9:13 David Seifert
2021-12-29 1:51 Sam James
2021-09-28 19:14 Sam James
2021-07-28 11:28 Marek Szuba
2021-05-11 8:44 Lars Wendler
2021-04-29 1:52 Sam James
2020-12-19 14:27 Sam James
2020-09-06 7:49 Sergei Trofimovich
2020-09-05 3:08 Sam James
2020-08-18 16:53 Agostino Sarubbo
2020-08-18 16:52 Agostino Sarubbo
2020-08-18 11:22 Agostino Sarubbo
2020-08-18 11:18 Agostino Sarubbo
2020-08-18 11:16 Agostino Sarubbo
2020-08-17 4:33 Sam James
2019-04-29 7:58 Lars Wendler
2019-04-20 23:58 Lars Wendler
2019-04-08 6:50 Sergei Trofimovich
2019-04-05 11:09 Lars Wendler
2019-02-28 16:53 Mikle Kolyada
2018-11-26 12:15 Benda XU
2018-09-24 18:17 Markus Meier
2018-09-16 19:52 Matt Turner
2018-09-16 19:52 Matt Turner
2018-09-15 19:08 Lars Wendler
2018-09-15 19:08 Lars Wendler
2018-09-14 12:17 Tobias Klausmann
2018-09-08 12:53 Mart Raudsepp
2018-09-07 22:43 Sergei Trofimovich
2018-09-03 6:19 Sergei Trofimovich
2018-09-01 22:21 Mikle Kolyada
2018-09-01 17:55 Thomas Deutschmann
2018-09-01 17:55 Thomas Deutschmann
2018-09-01 17:55 Thomas Deutschmann
2018-04-02 11:42 Pacho Ramos
2017-10-23 8:55 Lars Wendler
2017-08-22 12:23 Lars Wendler
2017-03-01 0:35 Michael Weber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1695484793.ad634152ee4e5b0d5fa1002c2fa1dc0cd7755351.sam@gentoo \
--to=sam@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox