void-packages/srcpkgs/boost/template
Jürgen Buchmüller 760c99fca9 boost: fix gcc7 build
The additional define does not hurt gcc-6.3.0 and is required for 7.x.
Updating to -std=c++14 is inspired by Arch Linux. No revbump yet.
2017-10-31 01:13:30 +01:00

104 lines
3.1 KiB
Bash

# Template file for 'boost'
pkgname=boost
version=1.65.1
revision=1
wrksrc="${pkgname}_${version//\./_}"
hostmakedepends="bzip2-devel icu-devel python-devel"
makedepends="zlib-devel bzip2-devel icu-devel python-devel"
short_desc="Free peer-reviewed portable C++ source libraries"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.boost.org/"
license="Boost Software License 1.0"
distfiles="${SOURCEFORGE_SITE}/$pkgname/${pkgname}_${version//\./_}.tar.bz2"
checksum=9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81
CXXFLAGS="-std=c++14 -D_GLIBCXX_USE_C99_STDLIB=1"
case "$XBPS_TARGET_MACHINE" in
i686*) _arch=x86; _toolset="gcc-i386"; _abi=sysv ;;
x86_64*) _arch=x86; _toolset="gcc-x86_64"; _abi=sysv ;;
arm*) _arch=arm; _toolset="gcc-arm"; _abi=aapcs ;;
aarch64*) _arch=arm; _toolset="gcc-aarch64"; _abi=aapcs ;;
mips*) _arch=mips32r2; _toolset="gcc-mips"; _abi=o32 ;;
esac
do_build() {
echo "using gcc : ${_toolset#gcc-} : ${CXX} ${CXXFLAGS} ;" >user-config.jam
if [ "$CROSS_BUILD" ]; then
echo "using python : 2.7 : : ${XBPS_CROSS_BASE}/usr/include/python2.7 : ${XBPS_CROSS_BASE}/usr/lib/python2.7 ;" \
>>user-config.jam
fi
./bootstrap.sh \
--prefix=${DESTDIR}/usr --with-python=${XBPS_CROSS_BASE}/usr/bin/python2 \
--with-python-root=${XBPS_CROSS_BASE}/usr
(
# Rebuild bjam for target
cd tools/build/src/engine
LIBS="$LDFLAGS" ${wrksrc}/bjam -f build.jam --toolset=cc --toolset-root= -d+2 clean
LIBS="$LDFLAGS" ${wrksrc}/bjam -f build.jam --toolset=cc --toolset-root= -d+2
)
./bjam ${makejobs} \
--toolset=${_toolset} abi=${_abi} architecture=${_arch} \
--user-config=${wrksrc}/user-config.jam --debug-building
}
do_install() {
# Install bjam
for _b in tools/build/src/engine/bin.*/*; do
vbin ${_b}
done
# Install headers/libs
./bjam --prefix=${DESTDIR}/usr abi=${_abi} architecture=${_arch} \
--user-config=${wrksrc}/user-config.jam install
# Install Boost.Build stuff.
vmkdir usr/share/boost-build
cd ${wrksrc}/tools/build && cp -a . ${DESTDIR}/usr/share/boost-build
find ${DESTDIR}/usr/share/boost-build \
-type f -name \*.orig -exec rm -f {} \;
rm -rf ${DESTDIR}/usr/share/boost-build/src/engine/bootstrap
rm -rf ${DESTDIR}/usr/share/boost-build/src/engine/bin.*
( echo '# System wide configuration file for Boost.Build.' ; \
echo ; \
echo 'using gcc ;' ; ) >${wrksrc}/site-config.jam
cd $wrksrc
vconf site-config.jam
# license
vlicense LICENSE_1_0.txt
}
boost-jam_package() {
short_desc+=" - Boost.Jam utility"
depends="boost-build-${version}_${revision}"
pkg_install() {
vmove usr/bin/bjam
vmove usr/bin/b2
}
}
boost-python_package() {
depends="boost-${version}_${revision} python"
short_desc+=" - Python bindings"
pkg_install() {
vmove usr/lib/libboost_python*
}
}
boost-build_package() {
noarch=yes
conf_files="/etc/site-config.jam"
short_desc+=" - Boost.Build framework"
pkg_install() {
vmove usr/share/boost-build
vmove etc
}
}
boost-devel_package() {
noverifyrdeps=yes
depends="boost-${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove usr/lib/*.a
vmove usr/lib/*.so
}
}