mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-18 15:12:02 +01:00
202 lines
4.9 KiB
Plaintext
202 lines
4.9 KiB
Plaintext
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
pkgname=boost
|
|
pkgver=1.69.0
|
|
_pkgver="${pkgver//./_}"
|
|
pkgrel=4
|
|
pkgdesc="Free peer-reviewed portable C++ source libraries"
|
|
url="http://www.boost.org/"
|
|
arch="all"
|
|
license="custom"
|
|
depends="$pkgname-libs"
|
|
depends_dev="$pkgname linux-headers"
|
|
makedepends="$depends_dev python2-dev>=2.6 python3-dev flex bison bzip2-dev icu-dev xz-dev zlib-dev"
|
|
subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
|
|
source="https://dl.bintray.com/boostorg/release/$pkgver/source/${pkgname}_$_pkgver.tar.bz2
|
|
boost-1.57.0-python-abi_letters.patch
|
|
boost-1.57.0-python-libpython_dep.patch
|
|
revert-wifsignaled-static-assert.patch
|
|
"
|
|
options="!checkroot"
|
|
builddir="$srcdir/${pkgname}_${_pkgver}"
|
|
|
|
case "$CARCH" in
|
|
arm*|aarch64) _boostarch=arm ;;
|
|
mips*) _boostarch=mips ;;
|
|
ppc64*) _boostarch=ppc ;;
|
|
s390x)
|
|
_boostarch=s390
|
|
_l_suffix=390
|
|
;;
|
|
*) _boostarch=$CARCH ;;
|
|
esac
|
|
case "$CARCH" in
|
|
armhf) ;; # zstd is not available for armhf
|
|
*) makedepends="$makedepends zstd-dev";;
|
|
esac
|
|
_enginedir="tools/build/src/engine"
|
|
_bjam="${builddir}/${_enginedir}/bin.linux${_l_suffix:-$_boostarch}/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
|
|
python2
|
|
random
|
|
regex
|
|
serialization
|
|
stacktrace_basic
|
|
stacktrace_noop
|
|
system
|
|
thread
|
|
timer
|
|
type_erasure
|
|
unit_test_framework
|
|
wave
|
|
wserialization
|
|
"
|
|
for _lib in $_libs; do
|
|
subpackages="$subpackages ${pkgname}-${_lib}:_boostlib"
|
|
done; unset -v _lib
|
|
subpackages="$subpackages $pkgname-libs"
|
|
|
|
_set_options() {
|
|
[ -n "$PY2_VERSION" ] || PY2_VERSION="$(_pyversion python2)"
|
|
[ -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
|
|
|
|
cd "$builddir"
|
|
_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 : ${PY2_VERSION:+$PY2_VERSION }: /usr/bin/python2 : ${PY2_VERSION:+/usr/include/python${PY2_VERSION} }: : : : ;
|
|
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 cc
|
|
|
|
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}" python2 test_all.py --default-bjam
|
|
}
|
|
|
|
package() {
|
|
export BOOST_ROOT="$builddir"
|
|
cd "$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"
|
|
|
|
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"
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
mv "$pkgdir"/usr/lib/libboost_$name*.so.[0-9]* "$subpkgdir"/usr/lib/
|
|
}
|
|
|
|
libs() {
|
|
default_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 || :
|
|
}
|
|
|
|
_pyversion() {
|
|
"$1" -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))'
|
|
}
|
|
|
|
sha512sums="d0e9bb858c44880d56c0291afef6a1b011a62f659a2d8f58dcb6147ea0899f9157bd8db3097896618fee0116847ebeac78b6d0f0fec8a92c3469500828bbe552 boost_1_69_0.tar.bz2
|
|
d96d4d37394a31764ed817d0bc4a99cffa68a75ff1ecfd4417b9e1e5ae2c31a96ed24f948c6f2758ffdac01328d2402c4cf0d33a37107e4f5f721e636daebd66 boost-1.57.0-python-abi_letters.patch
|
|
132c4b62815d605c2d3c9038427fa4f422612a33711d47b2862f2311516af8a371d6b75bf078a7bffe20be863f8d21fb9fe74dc1a1bac3a10d061e9768ec3e02 boost-1.57.0-python-libpython_dep.patch
|
|
1cae6ab9b3b97e0328aa5b85ee2220bb1e88b99256b31bc4a2d06275cf70704c8f4f1bd6abd77386d0490bb14a0393ae981be8e95f2cc054a1dc07de8847e8d5 revert-wifsignaled-static-assert.patch"
|