aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Daudt <kdaudt@alpinelinux.org>2021-01-24 20:10:25 +0000
committerKevin Daudt <kdaudt@alpinelinux.org>2021-01-24 20:45:17 +0000
commit92ee72c393c8306e19ad3cc1d78692731d03c075 (patch)
treedeac5224a0c6106ac8bfc87984b9b9b3b1cfbf30
parent869244def93a2a105add63af16868b4d43a1a447 (diff)
downloadaports-92ee72c393c8306e19ad3cc1d78692731d03c075.tar.gz
aports-92ee72c393c8306e19ad3cc1d78692731d03c075.tar.bz2
aports-92ee72c393c8306e19ad3cc1d78692731d03c075.tar.xz
main/boost1.75: don't use custom statx implementation
When there is no statx function, but the statx syscall is detected, boost-filesystem implements a statx function that directly calls the syscall. This is broken, because statx might not be implemented on the running system, and there is no logic to fall back to fstatat. Remove the build-time detection of the statx syscall, so that the code falls back to `stat`. Fixes #12349
-rw-r--r--main/boost1.75/APKBUILD6
-rw-r--r--main/boost1.75/build-undefine-statx-syscall.patch17
2 files changed, 21 insertions, 2 deletions
diff --git a/main/boost1.75/APKBUILD b/main/boost1.75/APKBUILD
index f2d6c36393..cbf2709b3f 100644
--- a/main/boost1.75/APKBUILD
+++ b/main/boost1.75/APKBUILD
@@ -2,7 +2,7 @@
pkgname=boost1.75
pkgver=1.75.0
_pkgver="${pkgver//./_}"
-pkgrel=4
+pkgrel=5
pkgdesc="Free peer-reviewed portable C++ source libraries"
url="https://www.boost.org/"
arch="all"
@@ -21,6 +21,7 @@ source="https://dl.bintray.com/boostorg/release/$pkgver/source/boost_$_pkgver.ta
boost-1.57.0-python-libpython_dep.patch
0001-revert-cease-dependence-on-range.patch
boost-context-mips-softfloat.patch
+ build-undefine-statx-syscall.patch
"
builddir="$srcdir/boost_$_pkgver"
@@ -222,4 +223,5 @@ sha512sums="d86f060245e98dca5c7f3f831c98ea9ccbfa8310f20830dd913d9d4c939fbe7cb94a
d96d4d37394a31764ed817d0bc4a99cffa68a75ff1ecfd4417b9e1e5ae2c31a96ed24f948c6f2758ffdac01328d2402c4cf0d33a37107e4f5f721e636daebd66 boost-1.57.0-python-abi_letters.patch
132c4b62815d605c2d3c9038427fa4f422612a33711d47b2862f2311516af8a371d6b75bf078a7bffe20be863f8d21fb9fe74dc1a1bac3a10d061e9768ec3e02 boost-1.57.0-python-libpython_dep.patch
9b53d2fe2dddd592e43db03c26fadd6c07d4c45a980ae4c775b7a914346a3914f6e0c3ef42dad5e2ea4568afb86c9967e09444ff609cfba1e1d39f4980b22ad6 0001-revert-cease-dependence-on-range.patch
-1ace57c256017a99f84cdd32fedca0ade12b1666edf3c8e2465e6f01a95ee978b9eea010917787997d81ad7832f06dd25ff392d6a83cb12398e546d5b9eceadd boost-context-mips-softfloat.patch"
+1ace57c256017a99f84cdd32fedca0ade12b1666edf3c8e2465e6f01a95ee978b9eea010917787997d81ad7832f06dd25ff392d6a83cb12398e546d5b9eceadd boost-context-mips-softfloat.patch
+debb898a9d2295a4480a32bec69a77c6e8d5dc094b0be39df1f1afc3a0f610fe916c59be1304bc904ad74440f93a224e4b138c60a5f0253143c9eb5db973cd2b build-undefine-statx-syscall.patch"
diff --git a/main/boost1.75/build-undefine-statx-syscall.patch b/main/boost1.75/build-undefine-statx-syscall.patch
new file mode 100644
index 0000000000..4b984f0b34
--- /dev/null
+++ b/main/boost1.75/build-undefine-statx-syscall.patch
@@ -0,0 +1,17 @@
+Description: The way the statx function is defined is broken, and does not fall
+back in case the syscall is not present, which is the case for mips64, which
+runs Linux 4.9.
+Upstream: rejected
+URL: https://github.com/boostorg/filesystem/issues/173
+diff --git a/libs/filesystem/build/Jamfile.v2 b/libs/filesystem/build/Jamfile.v2
+index 132641a32..76547eb92 100644
+--- a/libs/filesystem/build/Jamfile.v2
++++ b/libs/filesystem/build/Jamfile.v2
+@@ -54,7 +54,6 @@ project boost/filesystem
+ [ check-target-builds ../config//has_stat_st_birthtimensec "has stat::st_birthtimensec" : <define>BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMENSEC ]
+ [ check-target-builds ../config//has_stat_st_birthtimespec "has stat::st_birthtimespec" : <define>BOOST_FILESYSTEM_HAS_STAT_ST_BIRTHTIMESPEC ]
+ [ check-target-builds ../config//has_statx "has statx" : <define>BOOST_FILESYSTEM_HAS_STATX ]
+- [ check-target-builds ../config//has_statx_syscall "has statx syscall" : <define>BOOST_FILESYSTEM_HAS_STATX_SYSCALL ]
+ <conditional>@select-windows-crypto-api
+ : source-location ../src
+ : usage-requirements # pass these requirement to dependents (i.e. users)