Added ARM-compatible boost

This commit is contained in:
Mike Staszel 2010-03-17 07:29:44 -05:00
parent eeb62bc631
commit 252e052607
6 changed files with 278 additions and 0 deletions

74
extra/boost/PKGBUILD Normal file
View file

@ -0,0 +1,74 @@
# $Id: PKGBUILD 61524 2009-12-17 23:03:33Z ibiru $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# TU: Kritoke <kritoke@gamebox.net>
# Contributor: Luca Roccia <little_rock@users.sourceforge.net>
pkgname=boost
pkgver=1.41.0
_boostver=1_41_0
pkgrel=2
pkgdesc="Free peer-reviewed portable C++ source libraries"
arch=('arm')
url="http://www.boost.org/"
depends=('bzip2' 'zlib')
makedepends=('python>=2.6')
optdepends=('python: for python bindings')
source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}_${_boostver}.tar.gz
fix-gzip-crc.patch
serialization_fix.patch)
license=('custom')
options=(!ccache)
build() {
cd "${srcdir}/${pkgname}_${_boostver}"
patch -Np1 -i $srcdir/fix-gzip-crc.patch || return 1
patch -Np1 -i $srcdir/serialization_fix.patch || return 1
# build bjam
cd ${srcdir}/${pkgname}_${_boostver}/tools/jam/src
./build.sh cc || return 1
_bindir="bin.linuxarm"
[ "${CARCH}" = "arm" ] && _bindir="bin.linuxarm"
install -m755 -d ${pkgdir}/usr/bin
install -m755 ${_bindir}/bjam ${pkgdir}/usr/bin/bjam || return 1
# build bcp
cd ${srcdir}/${pkgname}_${_boostver}/tools/bcp
../jam/src/${_bindir}/bjam || return 1
install -m755 ${srcdir}/${pkgname}_${_boostver}/dist/bin/bcp \
${pkgdir}/usr/bin/bcp || return 1
# build libs
cd ${srcdir}/${pkgname}_${_boostver}
# default "minimal" install: "release link=shared,static
# runtime-link=shared threading=multi"
# --layout=tagged will add the "-mt" suffix for multithreaded libraries
# and installs includes in /usr/include/boost.
# --layout=system no longer adds the -mt suffix for multi-threaded libs.
./tools/jam/src/${_bindir}/bjam \
--disable-long-double \
release debug-symbols=off threading=single,multi \
runtime-link=shared link=shared,static \
cflags=-fno-strict-aliasing \
--prefix=${pkgdir}/usr \
-sPYTHON_ROOT=/usr \
-sPYTHON_VERSION=2.6 \
-sTOOLS=gcc \
--layout=tagged \
install || return 1
# build pyste
cd ${srcdir}/${pkgname}_${_boostver}/libs/python/pyste/install
python setup.py install --root=${pkgdir} || return 1
# license
install -m755 -d ${pkgdir}/usr/share/licenses/${pkgname}
install -m644 ${srcdir}/${pkgname}_${_boostver}/LICENSE_1_0.txt \
${pkgdir}/usr/share/licenses/${pkgname}/ || return 1
}
md5sums=('ddb04c9b9164a36a91dcf36819666dd9'
'682f124a765b2935c7352f38c08848cc'
'01337211d40a4a4c9b83c481baade701')

23
extra/boost/boostlist Normal file
View file

@ -0,0 +1,23 @@
pdns
monotone
asio
stellarium
enblend-enfuse
liborigin2
mkvtoolnix
kdesdk
kdepim
koffice
pdns-recursor
akonadi
licq
kdenetwork
exempi
libtorrent-rasterbar
libpst
wesnoth
libpst
twinkle
python-vpython
source-highlight

View file

@ -0,0 +1,24 @@
diff -Nur boost_1_41_0.orig/boost/iostreams/filter/zlib.hpp boost_1_41_0/boost/iostreams/filter/zlib.hpp
--- boost_1_41_0.orig/boost/iostreams/filter/zlib.hpp 2009-10-14 18:20:36.000000000 +0300
+++ boost_1_41_0/boost/iostreams/filter/zlib.hpp 2009-12-13 16:47:53.078056507 +0200
@@ -20,6 +20,7 @@
#include <memory> // allocator, bad_alloc.
#include <new>
#include <boost/config.hpp> // MSVC, STATIC_CONSTANT, DEDUCED_TYPENAME, DINKUM.
+#include <boost/cstdint.hpp> // uint*_t
#include <boost/detail/workaround.hpp>
#include <boost/iostreams/constants.hpp> // buffer size.
#include <boost/iostreams/detail/config/auto_link.hpp>
@@ -43,9 +44,9 @@
namespace zlib {
// Typedefs
-typedef unsigned int uint;
-typedef unsigned char byte;
-typedef unsigned long ulong;
+typedef uint32_t uint;
+typedef uint8_t byte;
+typedef uint32_t ulong;
// Prefix 'x' prevents symbols from being redefined when Z_PREFIX is defined
typedef void* (*xalloc_func)(void*, zlib::uint, zlib::uint);

View file

@ -0,0 +1,135 @@
Patch to add --layout=tagged option which has the same behaviour as the
previous --layout=system. This comes from boost svn changeset r53015
https://svn.boost.org/trac/boost/changeset/53015/trunk
--- Jamroot.orig 2009-06-15 23:01:28.000000000 -0400
+++ Jamroot 2009-06-15 23:08:08.000000000 -0400
@@ -64,21 +64,26 @@
# versions of Boost or multiple compilers can
# be used on the same system.
#
-# versioned (default) - Names of boost
-# binaries include the Boost version
-# number and the name and version of the
-# compiler. Boost headers are installed
-# in a subdirectory of <HDRDIR> whose
-# name contains the Boost version
-# number.
-#
-# system - Binaries names do not include
-# the Boost version number or the name
-# and version number of the compiler.
-# Boost headers are installed directly
-# into <HDRDIR>. This option is
-# intended for system integrators who
-# are building distribution packages.
+# versioned (default) - Names of boost binaries
+# include the Boost version number, name and
+# version of the compiler and encoded build
+# properties. Boost headers are installed in a
+# subdirectory of <HDRDIR> whose name contains
+# the Boost version number.
+#
+# tagged -- Names of boost binaries include the
+# encoded build properties such as variant and
+# threading, but do not including compiler name
+# and version, or Boost version. This option is
+# useful if you build several variants of Boost,
+# using the same compiler.
+#
+# system - Binaries names do not include the
+# Boost version number or the name and version
+# number of the compiler. Boost headers are
+# installed directly into <HDRDIR>. This option
+# is intended for system integrators who are
+# building distribution packages.
#
# --buildid=ID Adds the specified ID to the name of built
# libraries. The default is to not add anything.
@@ -318,53 +323,50 @@
{
if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB
{
+ local result ;
if $(layout) = versioned
{
- local result = [ common.format-name
+ result = [ common.format-name
<base> <toolset> <threading> <runtime> -$(BOOST_VERSION_TAG)
-$(BUILD_ID)
: $(name) : $(type) : $(property-set) ] ;
-
- # Optionally add version suffix. On NT, library with version suffix
- # will not be recognized by linkers. On CYGWIN, we get strage
- # duplicate symbol errors when library is generated with version
- # suffix. On OSX, version suffix is not needed -- the linker expects
- # the libFoo.1.2.3.dylib format. AIX linkers do not accept version
- # suffixes either. Pgi compilers can not accept library with version
- # suffix.
- if $(type) = SHARED_LIB &&
- ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) &&
- ! ( [ $(property-set).get <toolset> ] in pgi ) )
- {
- result = $(result).$(BOOST_VERSION) ;
- }
-
- return $(result) ;
+ }
+ else if $(layout) = tagged
+ {
+ result = [ common.format-name
+ <base> <threading> <runtime>
+ -$(BUILD_ID)
+ : $(name) : $(type) : $(property-set) ] ;
}
- else
+ else if $(layout) = system
{
- local result = [ common.format-name
+ result = [ common.format-name
<base>
-$(BUILD_ID)
: $(name) : $(type) : $(property-set) ] ;
-
- # Optionally add version suffix. On NT, library with version suffix
- # will not be recognized by linkers. On CYGWIN, we get strage
- # duplicate symbol errors when library is generated with version
- # suffix. On OSX, version suffix is not needed -- the linker expects
- # the libFoo.1.2.3.dylib format. AIX linkers do not accept version
- # suffixes either. Pgi compilers can not accept library with version
- # suffix.
- if $(type) = SHARED_LIB &&
- ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) &&
- ! ( [ $(property-set).get <toolset> ] in pgi ) )
- {
- result = $(result).$(BOOST_VERSION) ;
- }
-
- return $(result) ;
}
- }
+ else
+ {
+ ECHO "error: invalid layout '$(layout)'" ;
+ EXIT ;
+ }
+
+ # Optionally add version suffix. On NT, library with version suffix
+ # will not be recognized by linkers. On CYGWIN, we get strage
+ # duplicate symbol errors when library is generated with version
+ # suffix. On OSX, version suffix is not needed -- the linker expects
+ # the libFoo.1.2.3.dylib format. AIX linkers do not accept version
+ # suffixes either. Pgi compilers can not accept library with version
+ # suffix.
+ if $(type) = SHARED_LIB &&
+ ( ! ( [ $(property-set).get <target-os> ] in windows cygwin darwin aix ) &&
+ ! ( [ $(property-set).get <toolset> ] in pgi ) )
+ {
+ result = $(result).$(BOOST_VERSION) ;
+ }
+
+ return $(result) ;
+ }
}

View file

@ -0,0 +1,12 @@
diff -Nur boost_1_41_0.old/boost/archive/shared_ptr_helper.hpp boost_1_41_0/boost/archive/shared_ptr_helper.hpp
--- boost_1_41_0.old/boost/archive/shared_ptr_helper.hpp 2009-09-20 05:18:42.000000000 +0300
+++ boost_1_41_0/boost/archive/shared_ptr_helper.hpp 2009-12-17 22:20:48.666281335 +0200
@@ -108,7 +108,7 @@
struct non_polymorphic {
static const boost::serialization::extended_type_info *
get_object_identifier(T & t){
- return boost::serialization::singleton<
+ return & boost::serialization::singleton<
BOOST_DEDUCED_TYPENAME
boost::serialization::type_info_implementation<T>::type
>::get_const_instance();

View file

@ -0,0 +1,10 @@
--- a/boost/python/detail/translate_exception.hpp 2009-07-25 15:04:50.000000000 -0700
+++ b/boost/python/detail/translate_exception.hpp 2009-07-25 15:04:50.000000000 -0700
@@ -9,6 +9,7 @@
# include <boost/call_traits.hpp>
# include <boost/type_traits/add_const.hpp>
+# include <boost/type_traits/add_reference.hpp>
# include <boost/function/function0.hpp>