blob: 73395c737ee68b924581124e0f3b8de952331cef (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=boost
pkgver=1.60.0
_x=${pkgver%%.*} # strip .y.z
_y=${pkgver%.*} # strip .z
_y=${_y#*.} # strip x.
_z=${pkgver##*.} # strip x.y.
_ver=${_x}_${_y}_${_z}
pkgrel=2
pkgdesc="Free peer-reviewed portable C++ source libraries"
url="http://www.boost.org/"
arch="all"
license="custom"
depends=
depends_dev="linux-headers"
makedepends="$depends_dev python-dev>=2.6 python3-dev flex bison bzip2-dev zlib-dev"
subpackages="$pkgname-dev $pkgname-doc
$pkgname-date_time
$pkgname-filesystem
$pkgname-graph
$pkgname-iostreams
$pkgname-math
$pkgname-prg_exec_monitor
$pkgname-program_options
$pkgname-python3:py3
$pkgname-python:py
$pkgname-random
$pkgname-regex
$pkgname-serialization
$pkgname-signals
$pkgname-system
$pkgname-thread
$pkgname-unit_test_framework
$pkgname-wave
$pkgname-wserialization
"
source="http://downloads.sourceforge.net/$pkgname/${pkgname}_$_ver.tar.gz
"
_builddir="$srcdir"/${pkgname}_${_ver}
prepare() {
cd "$_builddir"
for i in $source; do
case $i in
*.patch) msg $i; patch -p1 -i "$srcdir/$i" || return 1;;
esac
done
PY2_VERSION=$(python -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))')
PY3_VERSION=$(python3 -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))')
# create user-config.jam
cat > user-config.jam <<__EOF__
using gcc : : $CC : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;
using python : ${PY2_VERSION} : /usr/bin/python : /usr/include/python${PY2_VERSION} : /usr/lib ;
using python : ${PY3_VERSION} : /usr/bin/python3 : /usr/include/python${PY3_VERSION}m : /usr/lib ;
__EOF__
}
_options="--user-config=\"$_builddir/user-config.jam\"
--prefix=\"$pkgdir/usr\"
release
debug-symbols=off
threading=single,multi
runtime-link=shared
link=shared,static
cflags=-fno-strict-aliasing
-sPYTHON_ROOT=/usr
-sPYTHON_VERSION=${PY2_VERSION}
-sTOOLS=gcc
--layout=tagged
-q
-j${JOBS:-2}
"
case "$CARCH" in
armhf|aarch64) _boostarch=arm;;
*) _boostarch=$CARCH;;
esac
_enginedir=tools/build/src/engine
build() {
msg "Building bjam"
export BOOST_ROOT="$_builddir"
cd "$_builddir"/$_enginedir
CC= ./build.sh cc || return 1
_bindir="$PWD/bin.linux$_boostarch"
_bjam="$_bindir"/bjam
msg "Building bcp"
cd "${_builddir}"/tools/bcp
"${_bjam}" -j${JOBS:-2} || return 1
msg "Building boost"
cd "$_builddir"
"${_bjam}" $_options
}
package() {
cd "$_builddir"
export BOOST_ROOT="$_builddir"
local _bindir="$_builddir"/$_enginedir/bin.linux${_boostarch}
install -m755 -d "$pkgdir"/usr/bin
install -m755 ${_bindir}/bjam "$pkgdir"/usr/bin/bjam || return 1
install -m755 "$srcdir"/${pkgname}_${_ver}/dist/bin/bcp \
"$pkgdir"/usr/bin/bcp || return 1
_bjam="$pkgdir"/usr/bin/bjam
"${_bjam}" $_options \
--includedir="$pkgdir"/usr/include \
--libdir="$pkgdir"/usr/lib \
install || return 1
cd "$srcdir"/${pkgname}_${_ver}/libs/python/pyste/install
python setup.py install --root="$pkgdir" || return 1
install -m755 -d "$pkgdir"/usr/share/licenses/$pkgname
install -m644 "$srcdir"/${pkgname}_${_ver}/LICENSE_1_0.txt \
"$pkgdir"/usr/share/licenses/$pkgname/ || return 1
}
_mvlib() {
pkgdesc="Boost $1 library"
[ -n "$2" ] && depends="$depends $2"
mkdir -p "$subpkgdir"/usr/lib
mv "$pkgdir"/usr/lib/libboost_$1* "$subpkgdir"/usr/lib/
}
date_time() { _mvlib date_time; }
filesystem() { _mvlib filesystem; }
graph() { _mvlib graph; }
iostreams() { _mvlib iostreams; }
math() { _mvlib math; }
prg_exec_monitor() { _mvlib prg_exec_monitor; }
program_options() { _mvlib program_options; }
py3() { _mvlib python3 python3; }
py() { _mvlib python python; }
random() { _mvlib random; }
regex() { _mvlib regex; }
serialization() { _mvlib serialization; }
signals() { _mvlib signals; }
system() { _mvlib system; }
thread() { _mvlib thread; }
unit_test_framework() { _mvlib unit_test_framework; }
wave() { _mvlib wave; }
wserialization() { _mvlib wserialization; }
md5sums="28f58b9a33469388302110562bdf6188 boost_1_60_0.tar.gz"
sha256sums="21ef30e7940bc09a0b77a6e59a8eee95f01a766aa03cdfa02f8e167491716ee4 boost_1_60_0.tar.gz"
sha512sums="f36264bea3b30193f4d4756e6244797350258e0492a4a3601300ee732682eba85a9aed88ced30da3ff187c3774f9ea4d6f9686b001d3af9726a1cd967cd795c5 boost_1_60_0.tar.gz"
|