wok-next view libboost/receipt @ rev 20406

Continue: json-c, json-glib, keyutils, libarchive, libassuan, libatasmart, libatomic_ops, libblockdev, libbytesize, libcroco, libdaemon, libesmtp, libffi, libgcrypt, libgpg-error, libgsf, libgudev, libgusb
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Dec 08 02:55:48 2017 +0200 (2017-12-08)
parents 2f3aba6cc31e
children 802e7ed99164
line source
1 # SliTaz package receipt v2.
3 PACKAGE="libboost"
4 VERSION="1.64.0"
5 CATEGORY="meta"
6 SHORT_DESC="Boost C++ libraries"
7 MAINTAINER="chadi.elahmad@gmail.com"
8 LICENSE="MIT"
9 WEB_SITE="http://www.boost.org/"
11 TARBALL="boost-$VERSION.tar.bz2"
12 WGET_URL="https://dl.bintray.com/boostorg/release/$VERSION/source/boost_${VERSION//./_}.tar.bz2"
14 BUILD_DEPENDS="icu-dev zlib-dev bzip2-dev python-dev"
15 l="libboost"
16 SPLIT="$l-atomic $l-chrono $l-container $l-context $l-coroutine $l-date-time \
17 $l-fiber $l-filesystem $l-graph $l-iostreams $l-locale $l-log $l-math \
18 $l-math-tr1 $l-prg-exec-monitor $l-program-options $l-python $l-random \
19 $l-regex $l-serialization $l-signals $l-system $l-thread $l-timer \
20 $l-type-erasure $l-unit-test-framework $l-wave $l-wserialization $l-doc $l-dev"
22 # About splitting: there's complex relationships between header files.
23 # Previously, for example, the /usr/include/boost/chrono/* files were packed
24 # into libboost-chrono-dev package. And so on for many /usr/include/boost/*/
25 #
26 # But, for example:
27 # 1. /usr/include/boost/chrono/config.hpp (former libboost-chrono-dev package)
28 # includes <boost/config.hpp> (libboost-dev package)
29 # 2. /usr/include/boost/compute/detail/duration.hpp (former libboost-dev package)
30 # includes <boost/chrono/duration.hpp> (libboost-chrono package)
31 #
32 # And many other circular dependencies between libboost-dev and libboost-*-dev
33 # packages.
34 #
35 # Solution: make single solid big libboost-dev package with all development
36 # files.
37 #
38 # How to change dependencies of packages that depends on libboost: substitute
39 # libboost-x-dev by the pair libboost-x and libboost-dev.
42 compile_rules() {
43 ./bootstrap.sh --prefix=$install/usr &&
44 ./b2 stage threading=multi link=shared &&
45 ./b2 install threading=multi link=shared || return 1
47 cook_pick_docs doc/html/*
49 find $install -name '*.hpp' -exec chmod 644 '{}' \;
50 }
52 genpkg_rules() {
53 DEPENDS=" "
54 case $PACKAGE in
55 *-chrono) DEPENDS="$l-system";;
56 *-coroutine) DEPENDS="$l-chrono $l-context $l-system $l-thread";;
57 *-fiber) DEPENDS="$l-context";;
58 *-filesystem) DEPENDS="$l-system";;
59 *-graph) DEPENDS="$l-regex icu";;
60 *-iostreams) DEPENDS="bzlib zlib";;
61 *-locale) DEPENDS="$l-chrono $l-system $l-thread icu";;
62 *-log) DEPENDS="$l-atomic $l-chrono $l-date-time $l-filesystem $l-regex $l-system $l-thread icu";;
63 *-prg-exec-monitor) DEPENDS="$l-system $l-timer";;
64 *-random) DEPENDS="$l-system";;
65 *-regex) DEPENDS="icu";;
66 *-thread) DEPENDS="$l-system";;
67 *-timer) DEPENDS="$l-chrono $l-system";;
68 *-type-erasure) DEPENDS="$l-chrono $l-system $l-thread";;
69 *-unit-test-framework) DEPENDS="$l-system $l-timer";;
70 *-wave) DEPENDS="$l-chrono $l-date-time $l-filesystem $l-system $l-thread";;
71 *-wserialization) DEPENDS="$l-serialization";;
72 esac
74 case $PACKAGE in
75 libboost)
76 DEPENDS="$l-date-time $l-iostreams $l-regex $l-serialization \
77 $l-system $l-thread"
78 CAT="meta|meta-package to install base modules"
79 ;;
80 *-doc)
81 copy doc/
82 CAT="doc|documentation"
83 ;;
84 libboost-dev)
85 copy @dev @rm
86 ;;
87 *)
88 p=${PACKAGE#*-}
89 copy libboost_${p//-/_}*.so*
90 CAT="libdevel|${PACKAGE#*-}"
91 ;;
92 esac
94 case $PACKAGE in
95 *-math) rm -f $fs/usr/lib/*math_tr1*.so*;;
96 esac
97 }