summaryrefslogtreecommitdiffstats
path: root/main/boost/APKBUILD
blob: ea93269a98f54bd815647e529c1e713797f907bf (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
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=boost
pkgver=1.43.0

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

pkgrel=3
pkgdesc="Free peer-reviewed portable C++ source libraries"
url="http://www.boost.org/"
license="custom"
depends=
makedepends="python-dev>=2.6 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-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
	boost-1.41.0-parameter-needs-python.patch
	boost-uclibc-thread.patch
	random-Jamfile"

_builddir="$srcdir"/${pkgname}_${_ver}
prepare() {
	cd "$_builddir"
	for i in "$srcdir"/*.patch; do
		[ -r "$i" ] || continue
		msg "Applying $i"
		patch -p1 -i "$i" || return 1
	done

	# add support for /dev/urandom
	mkdir -p libs/random/build
	cp "$srcdir"/random-Jamfile libs/random/build/Jamfile.2
	sed -i -e 's/#ifdef __linux__/#if 1/' \
		libs/random/src/random_device.cpp \
		|| return 1
	
	# create user-config.jam
	cat > user-config.jam <<__EOF__

using gcc : : $CC : <cxxflags>"${CXXFLAGS}" <linkflags>"${LDFLAGS}" ;

__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=2.6
	-sTOOLS=gcc
	--layout=tagged
	-q
	-j${JOBS:-2}
"

build() { 
	msg "Building bjam"
	export BOOST_ROOT="$_builddir"
	cd "$_builddir"/tools/jam/src
	CC= ./build.sh cc || return 1
	_bindir="bin.linuxx86"
	[ "${CARCH}" = "x86_64" ] && _bindir="bin.linuxx86_64"
	install -m755 -d "$pkgdir"/usr/bin
	install -m755 ${_bindir}/bjam "$pkgdir"/usr/bin/bjam || return 1
	_bjam="$pkgdir"/usr/bin/bjam

	msg "Building bcp"
	cd "${_builddir}"/tools/bcp
	"${_bjam}" -j${JOBS:-2} || return 1
	install -m755 "$srcdir"/${pkgname}_${_ver}/dist/bin/bcp \
		"$pkgdir"/usr/bin/bcp || return 1

	msg "Building boost"
	cd "$_builddir"
	"${_bjam}" $_options 
}

package() {
	cd "$_builddir"
	export BOOST_ROOT="$_builddir"
	_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"
	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; }
py() { _mvlib 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="734565ca4819bf04bd8e903e116c3fb1  boost_1_43_0.tar.gz
83dbee9d7291a0f322fd2b8936aeace7  boost-1.41.0-parameter-needs-python.patch
7ea3caa231764eca4522ae303939214d  boost-uclibc-thread.patch
1d43f6ee1fc426f1ddcb4aafc6b77b9b  random-Jamfile"