index : packages | |
Archlinux32 package modifications | gitolite user |
summaryrefslogtreecommitdiff |
author | Andreas Baumann <mail@andreasbaumann.cc> | 2025-02-22 12:50:20 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2025-02-22 12:50:20 +0100 |
commit | 54f8b3f52d254b9bc01600115aade26e2628ef09 (patch) | |
tree | 3c6c77f697cdbf57ecaeeb92889f6b060d0ea3cb /extra/boost181-libs | |
parent | d1c52d812cba5095a9dbdc38ce7a782de6a84f2f (diff) |
-rw-r--r-- | extra/boost181-libs/.SRCINFO | 30 | ||||
-rw-r--r-- | extra/boost181-libs/PKGBUILD | 100 | ||||
-rw-r--r-- | extra/boost181-libs/boost181-libs-fix-smart-pointer-output.patch | 36 | ||||
-rw-r--r-- | extra/boost181-libs/boost181-libs-ublas-c++20-iterator.patch | 59 |
diff --git a/extra/boost181-libs/.SRCINFO b/extra/boost181-libs/.SRCINFO new file mode 100644 index 00000000..d96c11e3 --- /dev/null +++ b/extra/boost181-libs/.SRCINFO @@ -0,0 +1,30 @@ +pkgbase = boost181-libs + pkgdesc = Free peer-reviewed portable C++ source libraries + pkgver = 1.81.0 + pkgrel = 1 + url = https://www.boost.org/ + arch = i486 + arch = i686 + arch = pentium4 + arch = x86_64 + license = custom + makedepends = icu + makedepends = python + makedepends = python-numpy + makedepends = bzip2 + makedepends = zlib + makedepends = openmpi + makedepends = zstd + options = !lto + source = https://archives.boost.io/release/1.81.0/source/boost_1_81_0.tar.bz2 + source = boost181-libs-fix-smart-pointer-output.patch::https://github.com/boostorg/smart_ptr/commit/e7433ba54596da97cb7859455cd37ca140305a9c.patch + sha256sums = 71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa + sha256sums = 22aab67d550b7f57e361d1c2ea8492a6e4efc5e1b650c8267de52cc5a0c0e46d + +pkgname = boost181-libs + pkgdesc = Free peer-reviewed portable C++ source libraries (runtime libraries) + depends = bzip2 + depends = zlib + depends = icu + depends = zstd + optdepends = openmpi: for mpi support diff --git a/extra/boost181-libs/PKGBUILD b/extra/boost181-libs/PKGBUILD new file mode 100644 index 00000000..7edc8eb7 --- /dev/null +++ b/extra/boost181-libs/PKGBUILD @@ -0,0 +1,100 @@ +options=(!lto) +options=(!lto) +# Maintainer: Evangelos Foutras <evangelos@foutrelis.com> +# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org> +# Contributor: Bart?omiej Piotrowski <bpiotrowski@archlinux.org> +# Contributor: Marius Knaust <marius.knaust@gmail.com> +# Contributor: Ionut Biru <ibiru@archlinux.org> +# Contributor: Stéphane Gaudreault <stephane@archlinux.org> +# Contributor: kevin <kevin@archlinux.org> +# Contributor: Giovanni Scafora <giovanni@archlinux.org> +# Contributor: Kritoke <kritoke@gamebox.net> +# Contributor: Luca Roccia <little_rock@users.sourceforge.net> + +pkgname=('boost181-libs') +pkgver=1.81.0 +pkgrel=1 +_srcname=boost_${pkgver//./_} +pkgdesc="Free peer-reviewed portable C++ source libraries" +arch=(i486 i686 pentium4 'x86_64') +url="https://www.boost.org/" +license=('custom') +makedepends=('icu' 'python' 'python-numpy' 'bzip2' 'zlib' 'openmpi' 'zstd') +source=(https://archives.boost.io/release/$pkgver/source/$_srcname.tar.bz2 + $pkgname-fix-smart-pointer-output.patch::https://github.com/boostorg/smart_ptr/commit/e7433ba54596da97cb7859455cd37ca140305a9c.patch) +sha256sums=('71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa' + '22aab67d550b7f57e361d1c2ea8492a6e4efc5e1b650c8267de52cc5a0c0e46d') + +prepare() { + cd $_srcname + + patch -Np2 -i ../$pkgname-fix-smart-pointer-output.patch +} + +build() { + local JOBS="$(sed 's/.*\(-j *[0-9]\+\).*/\1/' <<<$MAKEFLAGS)" + local python_version=$( + python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') + + pushd $_srcname/tools/build + ./bootstrap.sh --cxxflags="$CXXFLAGS $LDFLAGS" + ./b2 install --prefix="$srcdir"/fakeinstall + ln -s b2 "$srcdir"/fakeinstall/bin/bjam + popd + + cd $_srcname + ./bootstrap.sh --with-toolset=gcc --with-icu --with-python=python3 + + # support for OpenMPI + echo "using mpi ;" >>project-config.jam + + # boostbook is needed by quickbook + install -dm755 "$srcdir"/fakeinstall/share/boostbook + cp -a tools/boostbook/{xsl,dtd} "$srcdir"/fakeinstall/share/boostbook/ + + # install to $srcdir/fakeinstall in preparation for split packaging + ./b2 install \ + variant=release \ + debug-symbols=off \ + threading=multi \ + runtime-link=shared \ + link=shared,static \ + toolset=gcc \ + --without-python \ + cflags="$CPPFLAGS $CFLAGS -fPIC -O3 -ffat-lto-objects" \ + cxxflags="$CPPFLAGS $CXXFLAGS -fPIC -O3 -ffat-lto-objects" \ + linkflags="$LDFLAGS" \ + --layout=system \ + $JOBS \ + \ + --prefix="$srcdir"/fakeinstall || true +} + +package_boost181-libs() { + pkgdesc+=' (runtime libraries)' + depends=('bzip2' 'zlib' 'icu' 'zstd') + optdepends=('openmpi: for mpi support') + + install -dm755 "$pkgdir"/usr/lib + cp -a fakeinstall/lib/*.so* "$pkgdir"/usr/lib/ + # no develpment so links, just the so libs + rm -f "$pkgdir"/usr/lib/*.so + + install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" $_srcname/LICENSE_1_0.txt +} + +# vim:set ts=2 sw=2 et: +# no LTO on i486 +if [ "$CARCH" = 'i486' ]; then + sed -i ' + 1i options=(!lto) + ' PKGBUILD +fi +if [ "$CARCH" == 'i486' ]; then + eval "$( + declare -f build | \ + sed ' + s/-ffat-lto-objects//g + ' + )" +fi diff --git a/extra/boost181-libs/boost181-libs-fix-smart-pointer-output.patch b/extra/boost181-libs/boost181-libs-fix-smart-pointer-output.patch new file mode 100644 index 00000000..ff936f5f --- /dev/null +++ b/extra/boost181-libs/boost181-libs-fix-smart-pointer-output.patch @@ -0,0 +1,36 @@ +From e7433ba54596da97cb7859455cd37ca140305a9c Mon Sep 17 00:00:00 2001 +From: Peter Dimov <pdimov@gmail.com> +Date: Mon, 13 Jan 2025 16:13:04 +0200 +Subject: [PATCH] Fix operator<< for shared_ptr and intrusive_ptr. Fixes #115. + +--- + include/boost/smart_ptr/intrusive_ptr.hpp | 2 +- + include/boost/smart_ptr/shared_ptr.hpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/boost/smart_ptr/intrusive_ptr.hpp b/include/boost/smart_ptr/intrusive_ptr.hpp +index ddb20c0b0e..11b476513a 100644 +--- a/include/boost/smart_ptr/intrusive_ptr.hpp ++++ b/include/boost/smart_ptr/intrusive_ptr.hpp +@@ -285,7 +285,7 @@ template<class T, class U> intrusive_ptr<T> dynamic_pointer_cast( intrusive_ptr< + + // operator<< + +-template<class Y> std::ostream & operator<< (std::ostream & os, intrusive_ptr<Y> const & p) ++template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, intrusive_ptr<Y> const & p) + { + os << p.get(); + return os; +diff --git a/include/boost/smart_ptr/shared_ptr.hpp b/include/boost/smart_ptr/shared_ptr.hpp +index 2431a33590..2deed9b632 100644 +--- a/include/boost/smart_ptr/shared_ptr.hpp ++++ b/include/boost/smart_ptr/shared_ptr.hpp +@@ -775,7 +775,7 @@ template<class T> inline typename shared_ptr<T>::element_type * get_pointer(shar + + // operator<< + +-template<class Y> std::ostream & operator<< (std::ostream & os, shared_ptr<Y> const & p) ++template<class E, class T, class Y> std::basic_ostream<E, T> & operator<< (std::basic_ostream<E, T> & os, shared_ptr<Y> const & p) + { + os << p.get(); + return os; diff --git a/extra/boost181-libs/boost181-libs-ublas-c++20-iterator.patch b/extra/boost181-libs/boost181-libs-ublas-c++20-iterator.patch new file mode 100644 index 00000000..21321cc3 --- /dev/null +++ b/extra/boost181-libs/boost181-libs-ublas-c++20-iterator.patch @@ -0,0 +1,59 @@ +From a31e5cffa85f58b64a39fa7c4a1bd3bd9228b069 Mon Sep 17 00:00:00 2001 +From: Conrad Poelman <cpgithub@stellarscience.com> +Date: Tue, 4 Aug 2020 17:20:40 -0400 +Subject: [PATCH] Remove deprecated inheritance from std::iterator (#97) + +std::iterator was deprecated in C++17 and removed in C++20. I replaced the inheritance with the 5 equivalent typedefs, even though they're not all used by ublas, for compatibility in case clients depend on them. +--- + .../boost/numeric/ublas/detail/iterator.hpp | 24 ++++++++++++++----- + 1 file changed, 18 insertions(+), 6 deletions(-) + +diff --git a/include/boost/numeric/ublas/detail/iterator.hpp b/include/boost/numeric/ublas/detail/iterator.hpp +index 1723a301c..7aebf2f9f 100644 +--- a/include/boost/numeric/ublas/detail/iterator.hpp ++++ b/include/boost/numeric/ublas/detail/iterator.hpp +@@ -107,8 +107,12 @@ namespace boost { namespace numeric { namespace ublas { + * via the post increment operator. + */ + template<class IC, class I, class T> +- struct forward_iterator_base: +- public std::iterator<IC, T> { ++ struct forward_iterator_base { ++ typedef IC iterator_category; ++ typedef T value_type; ++ typedef std::ptrdiff_t difference_type; ++ typedef T* pointer; ++ typedef T& reference; + typedef I derived_iterator_type; + typedef T derived_value_type; + +@@ -145,8 +149,12 @@ namespace boost { namespace numeric { namespace ublas { + * via the post increment and post decrement operator. + */ + template<class IC, class I, class T> +- struct bidirectional_iterator_base: +- public std::iterator<IC, T> { ++ struct bidirectional_iterator_base { ++ typedef IC iterator_category; ++ typedef T value_type; ++ typedef std::ptrdiff_t difference_type; ++ typedef T* pointer; ++ typedef T& reference; + typedef I derived_iterator_type; + typedef T derived_value_type; + +@@ -200,8 +208,12 @@ namespace boost { namespace numeric { namespace ublas { + */ + template<class IC, class I, class T, class D = std::ptrdiff_t> + // ISSUE the default for D seems rather dangerous as it can easily be (silently) incorrect +- struct random_access_iterator_base: +- public std::iterator<IC, T> { ++ struct random_access_iterator_base { ++ typedef IC iterator_category; ++ typedef T value_type; ++ typedef D difference_type; ++ typedef T* pointer; ++ typedef T& reference; + typedef I derived_iterator_type; + typedef T derived_value_type; + typedef D derived_difference_type; |