summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYour Name <you@example.com>2021-06-15 05:13:31 +0300
committerYour Name <you@example.com>2021-06-15 05:13:31 +0300
commitbce9a33a52951d2483b049ea6a88ebf779f76d67 (patch)
tree01d2c089cc18dda723c7a6bd7322adbf2bad3356
parentc3c7bf0326ec2b2e744cccf976c0d7754a979887 (diff)
glibc
-rw-r--r--packages/sys-libs/glibc/glibc-2.33-r6.exheres-047
-rw-r--r--packages/sys-libs/glibc/glibc.exlib16
2 files changed, 57 insertions, 6 deletions
diff --git a/packages/sys-libs/glibc/glibc-2.33-r6.exheres-0 b/packages/sys-libs/glibc/glibc-2.33-r6.exheres-0
new file mode 100644
index 0000000..f44c5e8
--- /dev/null
+++ b/packages/sys-libs/glibc/glibc-2.33-r6.exheres-0
@@ -0,0 +1,47 @@
+# Copyright 2007-2008 Bryan Østergaard <kloeri@exherbo.org>
+# Distributed under the terms of the GNU General Public License v2
+
+require glibc [ source_uri="mirror://gnu/${PN}/${PNV}.tar.xz" \
+ minimum_kernel_version="3.2" ]
+
+PLATFORMS="~amd64 ~arm ~armv7 ~armv8 ~x86"
+
+src_prepare() {
+ edo cd "${ECONF_SOURCE}"
+
+ # fail with sydbox
+ edo sed \
+ -e '68s:tst-dir ::' \
+ -e 's:tst-getaddrinfo4 ::' \
+ -e 's: tst-getaddrinfo5::' \
+ -i "${WORKBASE}"/${PNV}/posix/Makefile
+ edo sed \
+ -e 's:tst-fchmodat ::' \
+ -e 's:tst-openat ::' \
+ -e 's:tst-renameat ::' \
+ -i "${WORKBASE}"/${PNV}/io/Makefile
+
+ # makes sydbox segfault
+ # *** Error in `sydbox': free(): invalid pointer: 0x00007f6e46c71d18 ***
+ edo sed \
+ -e 's:tst-eintr1 ::' \
+ -i "${WORKBASE}"/${PNV}/nptl/Makefile
+
+ # hangs
+ edo sed \
+ -e 's:tst-cancelx10 ::' \
+ -i "${WORKBASE}"/${PNV}/nptl/Makefile
+
+ glibc_src_prepare
+}
+
+src_test_expensive() {
+ esandbox allow_net "unix:/tmp/tst-cancel4-socket-*-*"
+
+ local GCONV_PATH="${WORK}/iconvdata LC_ALL=C ${WORK}/elf/ld.so.1 --library-path ${WORK}/:${WORK}/math:${WORK}/elf:${WORK}/dlfcn:${WORK}/nss:${WORK}/nis:${WORK}/rt:${WORK}/resolv:${WORK}/crypt:${WORK}/nptl:${WORK}/dfp"
+
+ TIMEOUTFACTOR=20 emake -j1 check
+
+ esandbox disallow_net "unix:/tmp/tst-cancel4-socket-*-*"
+}
+
diff --git a/packages/sys-libs/glibc/glibc.exlib b/packages/sys-libs/glibc/glibc.exlib
index 2101737..68699fa 100644
--- a/packages/sys-libs/glibc/glibc.exlib
+++ b/packages/sys-libs/glibc/glibc.exlib
@@ -64,6 +64,16 @@ DEPENDENCIES="
sys-libs/timezone-data[>=2015f-r1] [[ note = [ files used to collide, rebuild to change mtime ] ]]
"
+if ever at_least 2.33 ; then
+ DEPENDENCIES+="
+ run:
+ !sys-apps/sydbox[<1.0.9] [[
+ description = [ force updated sydbox to prevent breakage due to new syscalls ]
+ resolution = upgrade-blocked-before
+ ]]
+ "
+fi
+
ECONF_SOURCE="${WORK}"
WORK="${WORKBASE}/build"
@@ -193,12 +203,6 @@ glibc_src_configure() {
myconf+=( --enable-crypt )
fi
- if ever at_least 2.33 ; then
- myconf+=(
- --disable-memory-tagging
- )
- fi
-
if [[ $(exhost --target) == x86_64-pc-linux-gnu ]] ; then
myconf+=( --enable-mathvec )
else