receipt - libboost-1.69.0 VS. boost-1.68.0
LFS=" http://www.linuxfromscratch.org/blfs/view/svn/general/boost.html "
slitaz-cooking
Receipt for: libboost-dev
http://cook.slitaz.org/index.cgi?receipt=libboost-dev
# SliTaz package receipt.
# Boost is a set of two types of libraries. Most of them are just
# headers with inline functions, these are included in this package
# named libboost-dev. Some few set of libraries require build and
# installation steps. These will be relocated and have their own two
# packages : libboost-name and libboost-name-dev.
PACKAGE="libboost-dev"
VERSION="1.69.0"
CATEGORY="development"
SHORT_DESC="Free peer-reviewed portable C++ source libraries."
MAINTAINER="chadi.elahmad@gmail.com"
LICENSE="MIT"
WEB_SITE="https://www.boost.org/"
# We have to do it this way because of the underscores
# to get a package with the slitaz version numbering
SOURCE="boost"
WGET_SOURCE="boost_1_69_0"
TARBALL="$WGET_SOURCE.tar.bz2"
#EXTRA_SOURCE_FILES="boost_changeset_75540.u"
WGET_URL="$SF_MIRROR/$SOURCE/$TARBALL"
DEPENDS="gcc-lib-base libboost-chrono-dev libboost-date-time-dev \
libboost-math-dev"
BUILD_DEPENDS="bzip2-dev expat expat-dev python python-dev zlib-dev"
RELOCATE_LIBS="{ date_time filesystem graph iostreams \
math program_options python regex serialization \
signal system test thread tr1 wave }"
# Rules to configure and make the package.
# Uses boost:build building tool for the compilation:
# Doesn't use DESTDIR.
# Doesn't recognize the $CONFIGURE_ARGS, gives an error back
# Have to add some params to get static libs compiled too
compile_rules()
{
# Determine if TOOLPREFIX has been defined in tazwok.conf as it should
if [ -z "$TOOLPREFIX" ] ; then
# Provide a default TOOLPREFIX value
TOOLPREFIX=$ARCH-pc-linux-gnu-
fi
# [ -s $SOURCES_REPOSITORY/boost_changeset_75540.u ] ||
# wget -O $SOURCES_REPOSITORY/boost_changeset_75540.u --no-check-certificate \
# 'https://svn.boost.org/trac/boost/changeset/75540?format=diff&new=75540'
# patch -p2 < $SOURCES_REPOSITORY/boost_changeset_75540.u || return 1
./bootstrap.sh \
--prefix=$DESTDIR/usr \
--exec-prefix=$DESTDIR/usr \
--libdir=$DESTDIR/usr/lib \
--includedir=$DESTDIR/usr/include \
--without-icu &&
EXPAT_INCLUDE=/usr/include \
EXPAT_LIBPATH=/usr/lib \
./bjam \
--prefix=$DESTDIR/usr \
--exec-prefix=$DESTDIR/usr \
--libdir=$DESTDIR/usr/lib \
--includedir=$DESTDIR/usr/include \
--build-type=minimal \
install
# create the missing links to the shared libs
cd $DESTDIR/usr/lib
#for i in
ls *-mt.so
; do# boost_tmp=
echo $i | sed s/-gcc.*-mt//g
# boost_tmp_mt=
echo $i | sed s/-gcc.*-mt/-mt/g
# ln -s $i $boost_tmp
# ln -s $i $boost_tmp_mt
#done
#for i in
ls *-mt.a
; do# boost_tmp=
echo $i | sed s/-gcc.*-mt//g
# boost_tmp_mt=
echo $i | sed s/-gcc.*-mt/-mt/g
# ln -s $i $boost_tmp
# ln -s $i $boost_tmp_mt
#done
}
VS.
slitaz-next
# SliTaz package receipt v2.
http://cook.slitaz.org/next/boost/receipt
PACKAGE="boost"
VERSION="1.68.0"
CATEGORY="meta"
SHORT_DESC="Boost C++ libraries"
MAINTAINER="devel@slitaz.org"
LICENSE="MIT"
WEB_SITE="https://www.boost.org/"
LFS="http://www.linuxfromscratch.org/blfs/view/svn/general/boost.html"
TARBALL="$PACKAGE-$VERSION.tar.bz2"
WGET_URL="https://dl.bintray.com/boostorg/release/$VERSION/source/${PACKAGE}_${VERSION//./_}.tar.bz2"
# https://www.boost.org/users/download/
TARBALL_SHA256="7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7"
BUILD_DEPENDS="icu-dev zlib-dev bzip2-dev python-dev"
[..]
# About splitting: there's complex relationships between header files.
# Previously, for example, the /usr/include/boost/chrono/* files were packed
# into libboost-chrono-dev package. And so on for many /usr/include/boost/*/
#
# But, for example:
# 1. /usr/include/boost/chrono/config.hpp (former boost-chrono-dev package)
# includes <boost/config.hpp> (boost-dev package)
# 2. /usr/include/boost/compute/detail/duration.hpp (former boost-dev package)
# includes <boost/chrono/duration.hpp> (boost-chrono package)
#
# And many other circular dependencies between boost-dev and boost-*-dev
# packages.
#
# Solution: make single solid big boost-dev package with all development
# files.
#
# How to change dependencies of packages that depends on boost?
# Substitute boost-?-dev by the pair: boost-? and boost-dev.
compile_rules() {
./bootstrap.sh --prefix=$install/usr &&
./b2 stage threading=multi link=shared &&
./b2 install threading=multi link=shared || return 1
cook_pick_docs doc/html/*
find $install -name '*.hpp' -exec chmod 644 '{}' \;
}