wok-next view boost/receipt @ rev 21727

created recipe for vbindiff
author Hans-G?nter Theisgen
date Sat Nov 21 14:32:44 2020 +0100 (2020-11-21)
parents d5aab818505e
children
line source
1 # SliTaz package receipt v2.
3 PACKAGE="boost"
4 VERSION="1.68.0"
5 CATEGORY="meta"
6 SHORT_DESC="Boost C++ libraries"
7 MAINTAINER="devel@slitaz.org"
8 LICENSE="MIT"
9 WEB_SITE="https://www.boost.org/"
10 LFS="http://www.linuxfromscratch.org/blfs/view/svn/general/boost.html"
12 TARBALL="$PACKAGE-$VERSION.tar.bz2"
13 WGET_URL="https://dl.bintray.com/boostorg/release/$VERSION/source/${PACKAGE}_${VERSION//./_}.tar.bz2"
14 # https://www.boost.org/users/download/
15 TARBALL_SHA256="7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7"
17 BUILD_DEPENDS="icu-dev zlib-dev bzip2-dev python-dev"
18 SPLIT="\
19 $PACKAGE-atomic $PACKAGE-chrono $PACKAGE-container \
20 $PACKAGE-context $PACKAGE-contract $PACKAGE-coroutine \
21 $PACKAGE-date-time $PACKAGE-fiber $PACKAGE-filesystem \
22 $PACKAGE-graph $PACKAGE-iostreams $PACKAGE-locale \
23 $PACKAGE-log $PACKAGE-math $PACKAGE-math-tr1 \
24 $PACKAGE-prg-exec-monitor $PACKAGE-program-options $PACKAGE-python \
25 $PACKAGE-random $PACKAGE-regex $PACKAGE-serialization \
26 $PACKAGE-signals $PACKAGE-stacktrace $PACKAGE-system \
27 $PACKAGE-thread $PACKAGE-timer $PACKAGE-type-erasure \
28 $PACKAGE-unit-test-framework $PACKAGE-wave $PACKAGE-wserialization \
29 $PACKAGE-dev"
31 # About splitting: there's complex relationships between header files.
32 # Previously, for example, the /usr/include/boost/chrono/* files were packed
33 # into libboost-chrono-dev package. And so on for many /usr/include/boost/*/
34 #
35 # But, for example:
36 # 1. /usr/include/boost/chrono/config.hpp (former boost-chrono-dev package)
37 # includes <boost/config.hpp> (boost-dev package)
38 # 2. /usr/include/boost/compute/detail/duration.hpp (former boost-dev package)
39 # includes <boost/chrono/duration.hpp> (boost-chrono package)
40 #
41 # And many other circular dependencies between boost-dev and boost-*-dev
42 # packages.
43 #
44 # Solution: make single solid big boost-dev package with all development
45 # files.
46 #
47 # How to change dependencies of packages that depends on boost?
48 # Substitute boost-?-dev by the pair: boost-? and boost-dev.
51 compile_rules() {
52 ./bootstrap.sh --prefix=$install/usr &&
53 ./b2 stage threading=multi link=shared &&
54 ./b2 install threading=multi link=shared || return 1
56 cook_pick_docs doc/html/*
58 find $install -name '*.hpp' -exec chmod 644 '{}' \;
59 }
61 genpkg_rules() {
62 b="boost"
63 DEPENDS=" "
64 case $PACKAGE in
65 boost) DEPENDS="$b-date-time $b-iostreams $b-regex $b-serialization $b-system $b-thread";;
66 *-chrono) DEPENDS="$b-system";;
67 *-contract) DEPENDS="$b-system";;
68 *-coroutine) DEPENDS="$b-chrono $b-context $b-system $b-thread";;
69 *-fiber) DEPENDS="$b-context $b-filesystem $b-system";;
70 *-filesystem) DEPENDS="$b-system";;
71 *-graph) DEPENDS="$b-regex icu libicu";;
72 *-iostreams) DEPENDS="libbzip2 zlib";;
73 *-locale) DEPENDS="$b-chrono $b-system $b-thread icu libicu";;
74 *-log) DEPENDS="$b-atomic $b-chrono $b-date-time $b-filesystem $b-regex $b-system $b-thread icu libicu";;
75 *-prg-exec-monitor) DEPENDS="$b-system $b-timer";;
76 *-random) DEPENDS="$b-system";;
77 *-regex) DEPENDS="icu libicu";;
78 *-thread) DEPENDS="$b-system";;
79 *-timer) DEPENDS="$b-chrono $b-system";;
80 *-type-erasure) DEPENDS="$b-chrono $b-system $b-thread";;
81 *-unit-test-framework) DEPENDS="$b-system $b-timer";;
82 *-wave) DEPENDS="$b-chrono $b-date-time $b-filesystem $b-system $b-thread";;
83 *-wserialization) DEPENDS="$b-serialization";;
84 esac
86 case $PACKAGE in
87 boost)
88 CAT="meta|meta-package to install base modules"
89 ;;
90 boost-dev)
91 copy @dev @rm
92 ;;
93 *)
94 p=${PACKAGE#*-}
95 copy libboost_${p//-/_}*.so*
96 CAT="libdevel|${PACKAGE#*-}"
97 ;;
98 esac
100 case $PACKAGE in
101 *-math) rm -f $fs/usr/lib/*math_tr1*.so*;;
102 esac
103 }