aboutsummaryrefslogtreecommitdiffstats
path: root/main/boost/APKBUILD
blob: 80196a4e76ceb88dd3b95dd3ff58f41503aaf993 (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.59.0

_x=${pkgver%%.*}	# strip .y.z
_y=${pkgver%.*}		# strip .z
_y=${_y#*.}		# strip x.
_z=${pkgver##*.}	# strip x.y.
_ver=${_x}_${_y}_${_z}

pkgrel=0
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
  0001-fix-condition-for-make_setter-overload.patch
	"

_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 : ${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}
"

_boostarch=${CARCH/armhf/arm}
_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="51528a0e3b33d9e10aaa311d9eb451e3  boost_1_59_0.tar.gz
2bf0efa72bfcf98681c5e3d8b2cfd2a8  0001-fix-condition-for-make_setter-overload.patch"
sha256sums="47f11c8844e579d02691a607fbd32540104a9ac7a2534a8ddaef50daf502baac  boost_1_59_0.tar.gz
32adf03897e3a2bddfa1ae82034295b125dbe3f191360e6bfbccdc421b9980fa  0001-fix-condition-for-make_setter-overload.patch"
sha512sums="05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae  boost_1_59_0.tar.gz
7076b8151762be886f1ae8587d4fec88c48b5d47b1a2b092a09b440577b65038ac6fdfb499ffed8c2a838785ccb9955135ff1a8f0c51070c04fb26e4d9a6cfdf  0001-fix-condition-for-make_setter-overload.patch"