aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo <thinkabit.ukim@gmail.com>2021-04-16 22:01:30 -0300
committerLeo <thinkabit.ukim@gmail.com>2021-04-17 18:11:41 +0000
commited4d61908b1317358b92c91e4808efe213508a38 (patch)
tree1010dfb68b99fe4b747980888e27272968146d8d
parentf5bc41b47512d721bff29533426bd390903886f3 (diff)
main/boost1.76: new aport
https://www.boost.org/ Free peer-reviewed portable C++ source libraries
-rw-r--r--main/boost1.76/0001-revert-cease-dependence-on-range.patch49
-rw-r--r--main/boost1.76/APKBUILD225
-rw-r--r--main/boost1.76/boost-1.57.0-python-abi_letters.patch62
-rw-r--r--main/boost1.76/boost-1.57.0-python-libpython_dep.patch13
-rw-r--r--main/boost1.76/build-undefine-statx-syscall.patch17
5 files changed, 366 insertions, 0 deletions
diff --git a/main/boost1.76/0001-revert-cease-dependence-on-range.patch b/main/boost1.76/0001-revert-cease-dependence-on-range.patch
new file mode 100644
index 00000000000..a6002074ab9
--- /dev/null
+++ b/main/boost1.76/0001-revert-cease-dependence-on-range.patch
@@ -0,0 +1,49 @@
+From 436e1dbe6fcd31523d261d18ad011392f1d6fbbc Mon Sep 17 00:00:00 2001
+From: Oliver Kowalke <oliver.kowalke@gmail.com>
+Date: Sun, 1 Dec 2019 20:40:28 +0100
+Subject: [PATCH] Revert "Cease dependence on Range"
+
+This reverts commit 0c556bb59241e682bbcd3f572815149c5a9b17db.
+
+see #44 (One test fails to compile after boostorg/coroutine submodule updated)
+---
+ boost/coroutine/asymmetric_coroutine.hpp | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/boost/coroutine/asymmetric_coroutine.hpp b/boost/coroutine/asymmetric_coroutine.hpp
+index ea96981..640896f 100644
+--- a/boost/coroutine/asymmetric_coroutine.hpp
++++ b/boost/coroutine/asymmetric_coroutine.hpp
+@@ -14,6 +14,7 @@
+ #include <boost/assert.hpp>
+ #include <boost/config.hpp>
+ #include <boost/move/move.hpp>
++#include <boost/range.hpp>
+ #include <boost/throw_exception.hpp>
+ #include <boost/utility/explicit_operator_bool.hpp>
+
+@@ -2354,19 +2355,12 @@ end( push_coroutine< R > & c)
+
+ }
+
+-// forward declaration of Boost.Range traits to break dependency on it
+-template<typename C, typename Enabler>
+-struct range_mutable_iterator;
+-
+-template<typename C, typename Enabler>
+-struct range_const_iterator;
+-
+ template< typename Arg >
+-struct range_mutable_iterator< coroutines::push_coroutine< Arg >, void >
++struct range_mutable_iterator< coroutines::push_coroutine< Arg > >
+ { typedef typename coroutines::push_coroutine< Arg >::iterator type; };
+
+ template< typename R >
+-struct range_mutable_iterator< coroutines::pull_coroutine< R >, void >
++struct range_mutable_iterator< coroutines::pull_coroutine< R > >
+ { typedef typename coroutines::pull_coroutine< R >::iterator type; };
+
+ }
+--
+2.24.1
+
diff --git a/main/boost1.76/APKBUILD b/main/boost1.76/APKBUILD
new file mode 100644
index 00000000000..d45f09b9b30
--- /dev/null
+++ b/main/boost1.76/APKBUILD
@@ -0,0 +1,225 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=boost1.76
+pkgver=1.76.0
+_pkgver="${pkgver//./_}"
+pkgrel=0
+pkgdesc="Free peer-reviewed portable C++ source libraries"
+url="https://www.boost.org/"
+arch="all"
+license="custom"
+depends="$pkgname-libs"
+depends_dev="$pkgname linux-headers bzip2-dev icu-dev xz-dev zlib-dev"
+makedepends="$depends_dev python3-dev>=3.8 flex bison"
+subpackages="
+ $pkgname-static
+ $pkgname-dev
+ $pkgname-doc
+ boost-dev:_dev
+ "
+source="https://dl.bintray.com/boostorg/release/$pkgver/source/boost_$_pkgver.tar.bz2
+ boost-1.57.0-python-abi_letters.patch
+ boost-1.57.0-python-libpython_dep.patch
+ 0001-revert-cease-dependence-on-range.patch
+ build-undefine-statx-syscall.patch
+ "
+builddir="$srcdir/boost_$_pkgver"
+
+_enginedir="tools/build/src/engine"
+_bjam="$builddir"/$_enginedir/b2
+
+_libs="
+ atomic
+ chrono
+ container
+ context
+ contract
+ coroutine
+ date_time
+ fiber
+ filesystem
+ graph
+ iostreams
+ locale
+ log_setup
+ log
+ math
+ prg_exec_monitor
+ program_options
+ python3
+ random
+ regex
+ serialization
+ stacktrace_basic
+ stacktrace_noop
+ system
+ thread
+ timer
+ type_erasure
+ unit_test_framework
+ wave
+ wserialization
+ json
+ nowide
+ "
+for _lib in $_libs; do
+ subpackages="$subpackages $pkgname-${_lib}:_boostlib"
+done; unset -v _lib
+subpackages="$subpackages $pkgname-libs"
+
+# Claim the unversioned name, this must be removed once we switch our
+# boost to a new version
+provides="boost=$pkgver-r$pkgrel"
+replaces="boost"
+
+_set_options() {
+ [ -n "$PY3_VERSION" ] || PY3_VERSION="$(_pyversion python3)"
+
+ local _options_python="${PY2_VERSION:+$PY2_VERSION,}$PY3_VERSION"
+ [ -z "$_options_python" ] || _options_python="python=$_options_python"
+
+ _options="
+ --user-config=\"$builddir/user-config.jam\"
+ --prefix=\"$pkgdir/usr\"
+ release
+ $_options_python
+ toolset=gcc
+ debug-symbols=off
+ threading=multi
+ runtime-link=shared
+ link=shared,static
+ cflags=-fno-strict-aliasing
+ --layout=system
+ -q
+ -j${JOBS:-2}
+ $_options_carch
+ "
+}
+
+prepare() {
+ default_prepare
+
+ _set_options
+ local abiflags="$(python3-config --abiflags)"
+
+ # create user-config.jam
+ cat > user-config.jam <<-__EOF__
+
+ using gcc : : $CC : <cxxflags>"$CXXFLAGS" <linkflags>"$LDFLAGS" ;
+ using python : ${PY3_VERSION:+$PY3_VERSION }: /usr/bin/python3 : ${PY3_VERSION:+/usr/include/python${PY3_VERSION}$abiflags }: : : : ${abiflags:+$abiflags };
+
+ __EOF__
+}
+
+build() {
+ export BOOST_ROOT="$builddir"
+
+ msg "Building bjam"
+ cd "$builddir"/$_enginedir
+ CC= ./build.sh gcc
+
+ msg "Building bcp"
+ cd "$builddir"/tools/bcp
+ "$_bjam" -j${JOBS:-2}
+
+ msg "Building boost"
+ cd "$builddir"
+ _set_options
+ "$_bjam" $_options
+}
+
+check() {
+ cd "$builddir"/tools/build/test
+
+ PATH="${_bjam%/*}:$PATH" python3 test_all.py --default-bjam
+}
+
+package() {
+ export BOOST_ROOT="$builddir"
+ _set_options
+
+ install -Dm755 "$_bjam" \
+ "$pkgdir"/usr/bin/b2
+ ln -s b2 "$pkgdir"/usr/bin/bjam # old name for b2 binary
+
+ install -Dm755 dist/bin/bcp "$pkgdir"/usr/bin/bcp
+
+ install -Dm644 LICENSE_1_0.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE_1_0.txt
+
+ "$pkgdir"/usr/bin/bjam $_options \
+ --includedir="$pkgdir"/usr/include \
+ --libdir="$pkgdir"/usr/lib \
+ install
+}
+
+static() {
+ pkgdesc="Boost static libraries"
+ depends="$depends_static"
+
+ # Claim the unversioned name, this must be removed once we switch our
+ # boost to a new version
+ provides="boost-static=$pkgver-r$pkgrel"
+ replaces="boost-static"
+
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/lib*.a "$subpkgdir"/usr/lib/
+}
+
+_boostlib() {
+ local name="${subpkgname#$pkgname-}"
+ pkgdesc="Boost $name shared library"
+ depends="$depends__boostlib"
+
+ # Claim the unversioned name, this must be removed once we switch our
+ # boost to a new version
+ provides="boost-$name=$pkgver-r$pkgrel"
+ replaces="boost-$name"
+
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libboost_$name*.so.[0-9]* "$subpkgdir"/usr/lib/
+}
+
+libs() {
+ default_libs
+
+ # Claim the unversioned name, this must be removed once we switch our
+ # boost to a new version
+ provides="boost-libs=$pkgver-r$pkgrel"
+ replaces="boost-libs"
+
+ pkgdesc="Boost shared libraries"
+ depends="$depends_libs"
+ local _pkg; for _pkg in $origsubpackages; do
+ case "$_pkg" in
+ *:_boostlib) depends="$depends ${_pkg%%:*}" ;;
+ esac
+ done
+
+ mkdir -p "$subpkgdir"
+ rmdir "$pkgdir"/usr/lib >/dev/null 2>&1 || :
+}
+
+_dev() {
+ # This makes boost-dev be a metapackage that depends on boostX.Y-dev
+ mkdir -p "$subpkgdir"
+ depends="$pkgname-dev=$pkgver-r$pkgrel"
+}
+
+doc() {
+ # Claim the unversioned name, this must be removed once we switch our
+ # boost to a new version
+ provides="boost-doc=$pkgver-r$pkgrel"
+ replaces="boost-doc"
+
+ default_doc
+}
+
+_pyversion() {
+ "$1" -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))'
+}
+
+sha512sums="5d68bed98c57e03b4cb2420d9b856e5f0669561a6142a4b0c9c8a58dc5b6b28e16ccbb16ac559c3a3198c45769a246bf996b96cb7b6a019dd15f05c2270e9429 boost_1_76_0.tar.bz2
+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
+debb898a9d2295a4480a32bec69a77c6e8d5dc094b0be39df1f1afc3a0f610fe916c59be1304bc904ad74440f93a224e4b138c60a5f0253143c9eb5db973cd2b build-undefine-statx-syscall.patch"
diff --git a/main/boost1.76/boost-1.57.0-python-abi_letters.patch b/main/boost1.76/boost-1.57.0-python-abi_letters.patch
new file mode 100644
index 00000000000..7df3ee7047d
--- /dev/null
+++ b/main/boost1.76/boost-1.57.0-python-abi_letters.patch
@@ -0,0 +1,62 @@
+--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200
++++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200
+@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti
+ # using python : 2.3 : /usr/local/bin/python ;
+ #
+ rule init ( version ? : cmd-or-prefix ? : includes * : libraries ?
+- : condition * : extension-suffix ? )
++ : condition * : extension-suffix ? : abi-letters ? )
+ {
+ project.push-current $(.project) ;
+
+@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ?
+ }
+ }
+
+- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ;
++ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ;
+
+ project.pop-current ;
+ }
+@@ -653,7 +653,7 @@ local rule system-library-dependencies (
+
+ # Declare a target to represent Python's library.
+ #
+-local rule declare-libpython-target ( version ? : requirements * )
++local rule declare-libpython-target ( version ? : requirements * : abi-letters ? )
+ {
+ # Compute the representation of Python version in the name of Python's
+ # library file.
+@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve
+ }
+
+ # Declare it.
+- lib python.lib : : <name>python$(lib-version) $(requirements) ;
++ lib python.lib : : <name>python$(lib-version)$(abi-letters) $(requirements) ;
+ }
+
+
+ # Implementation of init.
+ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
+- condition * : extension-suffix ? )
++ condition * : extension-suffix ? : abi-letters ? )
+ {
+ local prefix ;
+ local exec-prefix ;
+@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o
+ extension-suffix ?= _d ;
+ }
+ extension-suffix ?= "" ;
++ abi-letters ?= "" ;
+
+ # Normalize and dissect any version number.
+ local major-minor ;
+@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o
+ }
+ else
+ {
+- declare-libpython-target $(version) : $(target-requirements) ;
++ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ;
+
+ # This is an evil hack. On, Windows, when Python is embedded, nothing
+ # seems to set up sys.path to include Python's standard library
diff --git a/main/boost1.76/boost-1.57.0-python-libpython_dep.patch b/main/boost1.76/boost-1.57.0-python-libpython_dep.patch
new file mode 100644
index 00000000000..57bfc26774e
--- /dev/null
+++ b/main/boost1.76/boost-1.57.0-python-libpython_dep.patch
@@ -0,0 +1,13 @@
+Index: boost_1_57_0/tools/build/src/tools/python.jam
+===================================================================
+--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406)
++++ boost_1_57_0/tools/build/src/tools/python.jam (working copy)
+@@ -994,7 +994,7 @@
+ else
+ {
+ alias python_for_extensions
+- :
++ : python
+ : $(target-requirements)
+ :
+ : $(usage-requirements)
diff --git a/main/boost1.76/build-undefine-statx-syscall.patch b/main/boost1.76/build-undefine-statx-syscall.patch
new file mode 100644
index 00000000000..4b984f0b34f
--- /dev/null
+++ b/main/boost1.76/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)