diff options
-rw-r--r-- | testing/libtbb/APKBUILD | 82 | ||||
-rw-r--r-- | testing/libtbb/glibc-struct-mallinfo.patch | 43 |
2 files changed, 125 insertions, 0 deletions
diff --git a/testing/libtbb/APKBUILD b/testing/libtbb/APKBUILD new file mode 100644 index 0000000000..b12a969ca2 --- /dev/null +++ b/testing/libtbb/APKBUILD @@ -0,0 +1,82 @@ +# Contributor: David Huffman <storedbox@outlook.com> +# Maintainer: David Huffman <storedbox@outlook.com> + +pkgname=libtbb +pkgver=4.4.2 +_pkgverstr=tbb44_20151115oss +pkgrel=0 +pkgdesc="IntelĀ® TBB, a widely used C++ template library for task parallelism" +url="https://threadingbuildingblocks.org" +arch="x86 x86_64" +license="GPL2" +subpackages="$pkgname-debug $pkgname-dev $pkgname-doc" +source="https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/${_pkgverstr}_src.tgz" + +_builddir="$srcdir/$_pkgverstr" +prepare() { + local i + cd "$_builddir" + for i in "$startdir"/*; do + case $i in + *.patch) msg $i; patch --verbose -p1 -i $i || return 1;; + esac + done +} + +build() { + cd "$_builddir" + make || return 1 +} + +_install_libs() { + local buildtype libsuffix lib builddir + buildtype="_$1" + libsuffix="$2" + lib="${3:-$subpkgdir}/usr/lib" + builddir=$(find "$_builddir/build" -maxdepth 1 -name "*$buildtype" -type d) || return 1 + [ "$buildtype" != "_debug" ] && buildtype='' + mkdir -p "$lib" || return 1 + mv "$builddir/libtbb${buildtype}.so$libsuffix" \ + "$builddir/libtbbmalloc${buildtype}.so$libsuffix" \ + "$builddir/libtbbmalloc_proxy${buildtype}.so$libsuffix" \ + "$lib/" || return 1 +} + +package() { + _install_libs release .2 "$pkgdir" || return 1 +} + +debug() { + pkgdesc="$pkgdesc (debug symbols)" + + _install_libs debug .2 || return 1 +} + +dev() { + pkgdesc="$pkgdesc (development files)" + + local prefix + prefix="$subpkgdir/usr" + cd "$_builddir" + mkdir -p "$prefix" || return 1 + rm include/index.html && mv include "$prefix/" || return 1 + _install_libs release && _install_libs debug || return 1 +} + +doc() { + arch="noarch" + pkgdesc="$pkgdesc (documentation)" + + local share doc licenses + share="$subpkgdir/usr/share" + doc="$share/doc" + licensesdir="$share/licenses/$pkgname" + cd "$_builddir" + mkdir -p "$doc" "$licensesdir" || return 1 + mv doc/ "$doc/$pkgname-$pkgver" || return 1 + mv COPYING "$licensesdir/" || return 1 +} + +md5sums="7fae6a6bbca68bbdc18e844d6721d5e4 tbb44_20151115oss_src.tgz" +sha256sums="3dd5c4fc85c18f49307d3cde4ce937bda230679f7fe2906112e5c8dee4cc77bb tbb44_20151115oss_src.tgz" +sha512sums="a5e831fdc56767bf6e823afaa85a041d0a78ef04f506ba2c088a133893810d17433a4c2a7b7845526e5f34b68f78dcdb6106814ddb54da49ea7b03225067997a tbb44_20151115oss_src.tgz" diff --git a/testing/libtbb/glibc-struct-mallinfo.patch b/testing/libtbb/glibc-struct-mallinfo.patch new file mode 100644 index 0000000000..64056ecb14 --- /dev/null +++ b/testing/libtbb/glibc-struct-mallinfo.patch @@ -0,0 +1,43 @@ +From b577153a10c98f4e13405dc93ea2ab1a7b990e07 Mon Sep 17 00:00:00 2001 +From: David Huffman <storedbox+alpine@outlook.com> +Date: Wed, 6 Jan 2016 07:09:30 -0500 +Subject: [PATCH] hard-code glibc's definition of struct mallinfo + +--- + src/tbbmalloc/proxy.h | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/src/tbbmalloc/proxy.h b/src/tbbmalloc/proxy.h +index 781cadc..e1ea1ae 100644 +--- a/src/tbbmalloc/proxy.h ++++ b/src/tbbmalloc/proxy.h +@@ -32,6 +32,26 @@ + + #include <stddef.h> + ++// The following definition was taken from /usr/include/malloc.h as provided by ++// the glibc-devel-2.19-17.4.x86_64 package on openSUSE Leap 42.1; it is ++// made available under the GNU Lesser General Public License v2.1 or later. ++// See <https://www.gnu.org/licenses>. ++// ++// Copyright (C) 1996-2014 Free Software Foundation, Inc. ++struct mallinfo ++{ ++ int arena; /* non-mmapped space allocated from system */ ++ int ordblks; /* number of free chunks */ ++ int smblks; /* number of fastbin blocks */ ++ int hblks; /* number of mmapped regions */ ++ int hblkhd; /* space in mmapped regions */ ++ int usmblks; /* maximum total allocated space */ ++ int fsmblks; /* space available in freed fastbin blocks */ ++ int uordblks; /* total allocated space */ ++ int fordblks; /* total free space */ ++ int keepcost; /* top-most, releasable (via malloc_trim) space */ ++}; ++ + extern "C" { + void * scalable_malloc(size_t size); + void * scalable_calloc(size_t nobj, size_t size); +-- +2.6.2 + |