summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-cpp/tbb
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-cpp/tbb')
-rw-r--r--dev-cpp/tbb/Manifest3
-rw-r--r--dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch20
-rw-r--r--dev-cpp/tbb/files/tbb-4.1.20121003-ppc.patch16
-rw-r--r--dev-cpp/tbb/files/tbb-4.3-build.patch185
-rw-r--r--dev-cpp/tbb/files/tbb-4.3.20150611-build.patch196
-rw-r--r--dev-cpp/tbb/metadata.xml12
-rw-r--r--dev-cpp/tbb/tbb-4.1.20121003-r1.ebuild124
-rw-r--r--dev-cpp/tbb/tbb-4.3.20141023-r1.ebuild132
-rw-r--r--dev-cpp/tbb/tbb-4.3.20141023.ebuild127
-rw-r--r--dev-cpp/tbb/tbb-4.3.20150611.ebuild132
10 files changed, 947 insertions, 0 deletions
diff --git a/dev-cpp/tbb/Manifest b/dev-cpp/tbb/Manifest
new file mode 100644
index 00000000000..6bb73c5218c
--- /dev/null
+++ b/dev-cpp/tbb/Manifest
@@ -0,0 +1,3 @@
+DIST tbb41_20121003oss_src.tgz 2250789 SHA256 5383727b9582a54cf4c4adbf22186b70e8eba276fcd3be81d746a937c5b47afc SHA512 fada6e32a09be2a151746caf3a15729c9ec6043b17e2f0aeb1bd903542310cdc6fe9ad85017ff5b2cfb16ae955c81c8b39ad8cf97f871bfcbd19d4948ef1d821 WHIRLPOOL 6c2a094e1dc6efed7189903bf8a6bbb8688ab1b15134c9f3c09fd5ed6a72315140505f5df410c89b65cd160a896222d71e01b3bfcbcd933281fb18a69eaf33f1
+DIST tbb43_20141023oss_src.tgz 2777177 SHA256 247a8d22d6850caa37d376aaeaf8bfcb06525ec5561fb6f6ed09cdad2c1f6414 SHA512 0718e7bf5f0b9525da9eb45beedc1c3832ccd813d72b10a7ed7c6a281d342325d04c65f797c29e2551d4f2bd470e57c81f38db0d6bd983f7871a90f2b5fe5020 WHIRLPOOL 7a6bc75e9404cbfc9f1e1bc53ff195e63c605aae1cc2883147d69bdd394694d21f916fa6d1c2708ff397a01c620fdb38966d0da5085df6d23dcba235de18c6a8
+DIST tbb43_20150611oss_src.tgz 2757631 SHA256 221f85fe64e11c9638e43b3c57d5750c26683905fc90827c0bcfefdb286e79c9 SHA512 83d5d827706b774ef5cd6df8082e5d7f48683388684423bb40565dfc25892fc2e57c382f719b78087d83e51edb3f7f7215f33d8b5039b55c32788d80efa6e0b8 WHIRLPOOL 8e98162b2307c759fb26923d76ab784dea81e166c8bf5323869d234da59641c333e5ae30b4a224bccbf20d4f5f6b75c658589f519a165ea3ad7658322f148c72
diff --git a/dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch b/dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch
new file mode 100644
index 00000000000..099bb39d214
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.0.297-underlinking.patch
@@ -0,0 +1,20 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu May 31 21:37:47 UTC 2012
+Subject: build system
+
+fix underlinking in test phase
+wrt https://bugs.gentoo.org/show_bug.cgi?id=418447
+
+--- build/Makefile.test
++++ build/Makefile.test
+@@ -48,8 +48,8 @@
+ USE_PROXY_FLAG = $(DEFINE_KEY)HARNESS_USE_PROXY
+ CPLUS_FLAGS += $(USE_PROXY_FLAG)
+ LINK_TBB.LIB = $(PROXY.LIB)
+- LIBS += $(LIBDL)
+-endif
++endif
++LIBS += $(LIBDL)
+
+ include $(tbb_root)/build/common_rules.inc
+
diff --git a/dev-cpp/tbb/files/tbb-4.1.20121003-ppc.patch b/dev-cpp/tbb/files/tbb-4.1.20121003-ppc.patch
new file mode 100644
index 00000000000..c50e051c3d3
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.1.20121003-ppc.patch
@@ -0,0 +1,16 @@
+diff -up tbb40_20120408oss/include/tbb/tbb_machine.h\~ tbb40_20120408oss/include/tbb/tbb_machine.h
+--- tbb40_20120408oss/include/tbb/tbb_machine.h~ 2012-04-20 09:21:57.000000000 +0200
++++ tbb40_20120408oss/include/tbb/tbb_machine.h 2012-08-28 13:20:42.150456167 +0200
+@@ -373,8 +373,8 @@ void spin_wait_until_eq( const volatile
+ // - The operation assumes that the architecture consistently uses either little-endian or big-endian:
+ // it does not support mixed-endian or page-specific bi-endian architectures.
+ // This function is the only use of __TBB_BIG_ENDIAN.
+-#if (__TBB_BIG_ENDIAN!=-1)
+- #if ( __TBB_USE_GENERIC_PART_WORD_CAS)
++#if ( __TBB_USE_GENERIC_PART_WORD_CAS)
++ #if (__TBB_BIG_ENDIAN==-1)
+ #error generic implementation of part-word CAS was explicitly disabled for this configuration
+ #endif
+ template<typename T>
+
+Diff finished. Tue Aug 28 13:20:58 2012
diff --git a/dev-cpp/tbb/files/tbb-4.3-build.patch b/dev-cpp/tbb/files/tbb-4.3-build.patch
new file mode 100644
index 00000000000..a9119ef4921
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.3-build.patch
@@ -0,0 +1,185 @@
+--- a/build/linux.gcc.inc 2014-10-31 09:08:38.000000000 -0400
++++ b/build/linux.gcc.inc 2015-06-08 19:22:49.855807841 -0400
+@@ -32,12 +32,12 @@
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+-C_FLAGS = $(CPLUS_FLAGS)
++C_FLAGS := $(CPLUS_FLAGS)
+ # gcc 4.4 and higher support -std=c++0x
+ ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[4-9]|[5-9])"))
+ CPP11_FLAGS = -std=c++0x -D_TBB_CPP0X
+@@ -54,7 +54,7 @@
+ endif
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -74,24 +74,12 @@
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m64
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (bg,$(arch))
+@@ -99,12 +87,6 @@
+ CONLY = mpicc
+ endif
+
+-# for some gcc versions on Solaris, -m64 may imply V9, but perhaps not everywhere (TODO: verify)
+-ifeq (sparc,$(arch))
+- CPLUS_FLAGS += -mcpu=v9 -m64
+- LIB_LINK_FLAGS += -mcpu=v9 -m64
+-endif
+-
+ # automatically generate "IT" instructions when compiling for Thumb ISA
+ ifeq (armv7,$(arch))
+ CPLUS_FLAGS += -Wa,-mimplicit-it=thumb
+@@ -113,13 +95,7 @@
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+-ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
++ASM := $(AS)
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
+--- a/build/FreeBSD.gcc.inc 2014-10-31 09:08:37.000000000 -0400
++++ b/build/FreeBSD.gcc.inc 2015-06-08 19:24:51.385810060 -0400
+@@ -27,14 +27,14 @@
+ WARNING_KEY = -Wall
+ DYLIB_KEY = -shared
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS = $(CXX)
++CONLY = $(CC)
+ LIB_LINK_FLAGS = -shared
+ LIBS = -lpthread
+ C_FLAGS = $(CPLUS_FLAGS)
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
+@@ -51,22 +51,12 @@
+ CPLUS_FLAGS += $(PIC_KEY)
+ endif
+
+-ifeq (intel64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ia32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASSEMBLY_SOURCE=$(arch)-gas
+ ifeq (ia64,$(arch))
+- ASM=as
++ ASM=$(AS)
+ TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
+ MALLOC_ASM.OBJ = atomic_support.o lock_byte.o pause.o
+ endif
+--- a/build/linux.clang.inc 2014-10-31 09:08:37.000000000 -0400
++++ b/build/linux.clang.inc 2015-06-08 20:24:29.785875376 -0400
+@@ -31,15 +31,15 @@
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = clang++
+-CONLY = clang
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=.
+ C_FLAGS = $(CPLUS_FLAGS)
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -61,24 +61,10 @@
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+ endif
+
+ ifeq (bg,$(arch))
+@@ -90,12 +76,6 @@
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
diff --git a/dev-cpp/tbb/files/tbb-4.3.20150611-build.patch b/dev-cpp/tbb/files/tbb-4.3.20150611-build.patch
new file mode 100644
index 00000000000..42a8bae4640
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.3.20150611-build.patch
@@ -0,0 +1,196 @@
+ build/FreeBSD.gcc.inc | 18 ++++--------------
+ build/linux.clang.inc | 26 +++-----------------------
+ build/linux.gcc.inc | 38 +++++++-------------------------------
+ 3 files changed, 14 insertions(+), 68 deletions(-)
+
+diff --git a/build/FreeBSD.gcc.inc b/build/FreeBSD.gcc.inc
+index 20f0027..8bbdeba 100644
+--- a/build/FreeBSD.gcc.inc
++++ b/build/FreeBSD.gcc.inc
+@@ -28,14 +28,14 @@ WARNING_KEY = -Wall
+ DYLIB_KEY = -shared
+ WARNING_SUPPRESS = -Wno-parentheses
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS = $(CXX)
++CONLY = $(CC)
+ LIB_LINK_FLAGS = -shared
+ LIBS = -lpthread
+ C_FLAGS = $(CPLUS_FLAGS)
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
+@@ -52,22 +52,12 @@ ifeq (ia64,$(arch))
+ CPLUS_FLAGS += $(PIC_KEY)
+ endif
+
+-ifeq (intel64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ia32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASSEMBLY_SOURCE=$(arch)-gas
+ ifeq (ia64,$(arch))
+- ASM=as
++ ASM=$(AS)
+ TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
+ MALLOC_ASM.OBJ = atomic_support.o lock_byte.o pause.o
+ endif
+diff --git a/build/linux.clang.inc b/build/linux.clang.inc
+index de9aee5..3a366f1 100644
+--- a/build/linux.clang.inc
++++ b/build/linux.clang.inc
+@@ -31,15 +31,15 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = clang++
+-CONLY = clang
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+ C_FLAGS = $(CPLUS_FLAGS)
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -61,24 +61,10 @@ MALLOC_ASM.OBJ=
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
+ endif
+
+ ifeq (bg,$(arch))
+@@ -90,12 +76,6 @@ endif
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+ ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
+diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc
+index 4b7122b..e8ba711 100644
+--- a/build/linux.gcc.inc
++++ b/build/linux.gcc.inc
+@@ -32,12 +32,12 @@ DYLIB_KEY = -shared
+ EXPORT_KEY = -Wl,--version-script,
+ LIBDL = -ldl
+
+-CPLUS = g++
+-CONLY = gcc
++CPLUS := $(CXX)
++CONLY := $(CC)
+ LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
+ LIBS += -lpthread -lrt
+ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+-C_FLAGS = $(CPLUS_FLAGS)
++C_FLAGS := $(CPLUS_FLAGS)
+ # gcc 4.4 and higher support -std=c++0x
+ ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[4-9]|[5-9])"))
+ CPP11_FLAGS = -std=c++0x -D_TBB_CPP0X
+@@ -54,7 +54,7 @@ ifneq (,$(shell gcc -dumpversion | egrep "^4\.[8-9]"))
+ endif
+
+ ifeq ($(cfg), release)
+- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
++ CPLUS_FLAGS = $(ITT_NOTIFY) -g -DUSE_PTHREAD
+ endif
+ ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
+@@ -74,24 +74,12 @@ endif
+
+ ifeq (intel64,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m64 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m64
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (ia32,$(arch))
+ ITT_NOTIFY = -DDO_ITT_NOTIFY
+- CPLUS_FLAGS += -m32 -march=pentium4 $(RTM_KEY)
+- LIB_LINK_FLAGS += -m32
+-endif
+-
+-ifeq (ppc64,$(arch))
+- CPLUS_FLAGS += -m64
+- LIB_LINK_FLAGS += -m64
+-endif
+-
+-ifeq (ppc32,$(arch))
+- CPLUS_FLAGS += -m32
+- LIB_LINK_FLAGS += -m32
++ CPLUS_FLAGS += $(RTM_KEY)
+ endif
+
+ ifeq (bg,$(arch))
+@@ -99,12 +87,6 @@ ifeq (bg,$(arch))
+ CONLY = $(firstword $(notdir $(shell which powerpc{64,32,}-bg{z..a}-linux-gcc 2>/dev/null)))
+ endif
+
+-# for some gcc versions on Solaris, -m64 may imply V9, but perhaps not everywhere (TODO: verify)
+-ifeq (sparc,$(arch))
+- CPLUS_FLAGS += -mcpu=v9 -m64
+- LIB_LINK_FLAGS += -mcpu=v9 -m64
+-endif
+-
+ # automatically generate "IT" instructions when compiling for Thumb ISA
+ ifeq (armv7,$(arch))
+ CPLUS_FLAGS += -Wa,-mimplicit-it=thumb
+@@ -113,13 +95,7 @@ endif
+ #------------------------------------------------------------------------------
+ # Setting assembler data.
+ #------------------------------------------------------------------------------
+-ASM = as
+-ifeq (intel64,$(arch))
+- ASM_FLAGS += --64
+-endif
+-ifeq (ia32,$(arch))
+- ASM_FLAGS += --32
+-endif
++ASM := $(AS)
+ ifeq ($(cfg),debug)
+ ASM_FLAGS += -g
+ endif
diff --git a/dev-cpp/tbb/metadata.xml b/dev-cpp/tbb/metadata.xml
new file mode 100644
index 00000000000..d9d21c8a6eb
--- /dev/null
+++ b/dev-cpp/tbb/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <longdescription lang="en">
+ The Intel Threading Building Blocks is a library that helps you
+ leverage multi-core processor performance without having to be a
+ threading expert. It represents a higher-level, task-based
+ parallelism that abstracts platform details and threading mechanism
+ for performance and scalability.
+</longdescription>
+</pkgmetadata>
diff --git a/dev-cpp/tbb/tbb-4.1.20121003-r1.ebuild b/dev-cpp/tbb/tbb-4.1.20121003-r1.ebuild
new file mode 100644
index 00000000000..ee584e66b5d
--- /dev/null
+++ b/dev-cpp/tbb/tbb-4.1.20121003-r1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils flag-o-matic multilib versionator toolchain-funcs
+
+PV1="$(get_version_component_range 1)"
+PV2="$(get_version_component_range 2)"
+PV3="$(get_version_component_range 3)"
+MYP="${PN}${PV1}${PV2}_${PV3}oss"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="http://www.threadingbuildingblocks.org/"
+SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz"
+LICENSE="GPL-2-with-exceptions"
+
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MYP}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-4.0.297-underlinking.patch \
+ "${FILESDIR}"/${PN}-4.1.20121003-ppc.patch
+ # use fully qualified gcc compilers. do not force march/mcpu
+ # not tested with icc
+ # order in sed expressions is important
+ sed -i \
+ -e "s/g++/$(tc-getCXX)/g" \
+ -e "s/gcc/$(tc-getCC)/g" \
+ -e 's/-m\(arch\|cpu\)=*[[:space:]]//g' \
+ -e 's/-\(m\|-\)\(64\|32\)//g' \
+ -e 's/-O2/$(CXXFLAGS)/g' \
+ -e "/^ASM/s/as/$(tc-getAS)/g" \
+ build/*.gcc.inc || die
+
+ # force 64bit where applicable, 32bit where applicable...
+ # built-in detection is based on running kernel, which messes up
+ # e.g. in a x86 chroot on amd64 kernel. Bug 462130
+ # see build/linux.inc for values
+ use amd64 && export arch=x86_64
+ use amd64-linux && export arch=x86_64
+ use x86 && export arch=ia32
+ use x86-linux && export arch=ia32
+ # no idea what to do with ppc but so far it seems to work
+
+ find include -name \*.html -delete || die
+
+ # pc files are for debian and fedora compatibility
+ # some deps use them
+ cat <<-EOF > ${PN}.pc.template
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Cflags: -I\${includedir}
+ EOF
+ cp ${PN}.pc.template ${PN}.pc
+ cat <<-EOF >> ${PN}.pc
+ Libs: -L\${libdir} -ltbb
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc.pc
+ cat <<-EOF >> ${PN}malloc.pc
+ Libs: -L\${libdir} -ltbbmalloc
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc_proxy.pc
+ cat <<-EOF >> ${PN}malloc_proxy.pc
+ Libs: -L\${libdir} -ltbbmalloc_proxy
+ Libs.private: -lrt
+ Requires: tbbmalloc
+ EOF
+ use debug || sed -i -e '/_debug/d' Makefile
+}
+
+src_compile() {
+ if [[ $(tc-getCXX) == *g++* ]]; then
+ comp="gcc"
+ elif [[ $(tc-getCXX) == *ic*c ]]; then
+ comp="icc"
+ else
+ die "compiler $(tc-getCXX) not supported by build system"
+ fi
+ emake compiler=${comp} tbb tbbmalloc
+}
+
+src_test() {
+ append-cxxflags -fabi-version=4
+ # avoid oversubscribing with -j1
+ emake -j1 compiler=${comp} test
+}
+
+src_install(){
+ local l
+ for l in $(find build -name lib\*.so.\*); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%.*}
+ done
+ insinto /usr
+ doins -r include
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins *.pc
+
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}
diff --git a/dev-cpp/tbb/tbb-4.3.20141023-r1.ebuild b/dev-cpp/tbb/tbb-4.3.20141023-r1.ebuild
new file mode 100644
index 00000000000..7d569b51709
--- /dev/null
+++ b/dev-cpp/tbb/tbb-4.3.20141023-r1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib-minimal toolchain-funcs versionator
+
+PV1="$(get_version_component_range 1)"
+PV2="$(get_version_component_range 2)"
+PV3="$(get_version_component_range 3)"
+MYP="${PN}${PV1}${PV2}_${PV3}oss"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="http://www.threadingbuildingblocks.org/"
+SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz"
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MYP}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-4.0.297-underlinking.patch \
+ "${FILESDIR}"/${PN}-4.3-build.patch
+
+ find include -name \*.html -delete || die
+
+ # Give it a soname on FreeBSD
+ echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc
+ # Set proper versionning on FreeBSD
+ sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die
+
+ use debug || sed -i -e '/_debug/d' Makefile
+}
+
+multilib_src_configure() {
+ # pc files are for debian and fedora compatibility
+ # some deps use them
+ cat <<-EOF > ${PN}.pc.template
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Cflags: -I\${includedir}
+ EOF
+ cp ${PN}.pc.template ${PN}.pc || die
+ cat <<-EOF >> ${PN}.pc
+ Libs: -L\${libdir} -ltbb
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc.pc || die
+ cat <<-EOF >> ${PN}malloc.pc
+ Libs: -L\${libdir} -ltbbmalloc
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc_proxy.pc || die
+ cat <<-EOF >> ${PN}malloc_proxy.pc
+ Libs: -L\${libdir} -ltbbmalloc_proxy
+ Libs.private: -lrt
+ Requires: tbbmalloc
+ EOF
+}
+
+local_src_compile() {
+ cd "${S}"
+
+ local comp arch
+
+ case ${MULTILIB_ABI_FLAG} in
+ abi_x86_64) arch=x86_64 ;;
+ abi_x86_32) arch=ia32 ;;
+ esac
+
+ case "$(tc-getCXX)" in
+ *g++*) comp="gcc" ;;
+ *ic*c) comp="icc" ;;
+ *clang*) comp="clang" ;;
+ *) die "compiler $(tc-getCXX) not supported by build system" ;;
+ esac
+
+ CXX="$(tc-getCXX)" \
+ CC="$(tc-getCC)" \
+ AS="$(tc-getAS)" \
+ arch=${arch} \
+ CPLUS_FLAGS="${CXXFLAGS}" \
+ emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@
+}
+
+multilib_src_compile() {
+ local_src_compile tbb tbbmalloc
+}
+
+multilib_src_test() {
+ CXXFLAGS="${CXXFLAGS} -fabi-version=4" \
+ local_src_compile -j1 test
+}
+
+multilib_src_install() {
+ cd "${BUILD_DIR}_release" || die
+ local l
+ for l in $(find . -name lib\*.so.\*); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%.*}
+ done
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins *.pc
+}
+
+multilib_src_install_all() {
+ doheader -r include/*
+
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}
diff --git a/dev-cpp/tbb/tbb-4.3.20141023.ebuild b/dev-cpp/tbb/tbb-4.3.20141023.ebuild
new file mode 100644
index 00000000000..ed80e14ddd1
--- /dev/null
+++ b/dev-cpp/tbb/tbb-4.3.20141023.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic multilib versionator toolchain-funcs
+
+PV1="$(get_version_component_range 1)"
+PV2="$(get_version_component_range 2)"
+PV3="$(get_version_component_range 3)"
+MYP="${PN}${PV1}${PV2}_${PV3}oss"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="http://www.threadingbuildingblocks.org/"
+SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz"
+LICENSE="GPL-2-with-exceptions"
+
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MYP}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-4.0.297-underlinking.patch
+ # use fully qualified gcc compilers. do not force march/mcpu
+ # not tested with icc
+ # order in sed expressions is important
+ sed -i \
+ -e "s/g++/$(tc-getCXX)/g" \
+ -e "s/gcc/$(tc-getCC)/g" \
+ -e 's/-m\(arch\|cpu\)=*[[:space:]]//g' \
+ -e 's/-\(m\|-\)\(64\|32\)//g' \
+ -e 's/-O2/$(CXXFLAGS)/g' \
+ -e "/^ASM/s/as/$(tc-getAS)/g" \
+ build/*.gcc.inc || die
+
+ # Give it a soname on FreeBSD
+ echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc
+ # Set proper versionning on FreeBSD
+ sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die
+
+ # force 64bit where applicable, 32bit where applicable...
+ # built-in detection is based on running kernel, which messes up
+ # e.g. in a x86 chroot on amd64 kernel. Bug 462130
+ # see build/linux.inc for values
+ use amd64 && export arch=x86_64
+ use amd64-linux && export arch=x86_64
+ use x86 && export arch=ia32
+ use x86-linux && export arch=ia32
+ # no idea what to do with ppc but so far it seems to work
+
+ find include -name \*.html -delete || die
+
+ # pc files are for debian and fedora compatibility
+ # some deps use them
+ cat <<-EOF > ${PN}.pc.template
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Cflags: -I\${includedir}
+ EOF
+ cp ${PN}.pc.template ${PN}.pc
+ cat <<-EOF >> ${PN}.pc
+ Libs: -L\${libdir} -ltbb
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc.pc
+ cat <<-EOF >> ${PN}malloc.pc
+ Libs: -L\${libdir} -ltbbmalloc
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc_proxy.pc
+ cat <<-EOF >> ${PN}malloc_proxy.pc
+ Libs: -L\${libdir} -ltbbmalloc_proxy
+ Libs.private: -lrt
+ Requires: tbbmalloc
+ EOF
+ use debug || sed -i -e '/_debug/d' Makefile
+}
+
+src_compile() {
+ if [[ $(tc-getCXX) == *g++* ]]; then
+ comp="gcc"
+ elif [[ $(tc-getCXX) == *ic*c ]]; then
+ comp="icc"
+ else
+ die "compiler $(tc-getCXX) not supported by build system"
+ fi
+ emake compiler=${comp} tbb tbbmalloc
+}
+
+src_test() {
+ append-cxxflags -fabi-version=4
+ # avoid oversubscribing with -j1
+ emake -j1 compiler=${comp} test
+}
+
+src_install(){
+ local l
+ for l in $(find build -name lib\*.so.\*); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%.*}
+ done
+ doheader -r include/*
+
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins *.pc
+
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}
diff --git a/dev-cpp/tbb/tbb-4.3.20150611.ebuild b/dev-cpp/tbb/tbb-4.3.20150611.ebuild
new file mode 100644
index 00000000000..8bcd2478da9
--- /dev/null
+++ b/dev-cpp/tbb/tbb-4.3.20150611.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic multilib-minimal toolchain-funcs versionator
+
+PV1="$(get_version_component_range 1)"
+PV2="$(get_version_component_range 2)"
+PV3="$(get_version_component_range 3)"
+MYP="${PN}${PV1}${PV2}_${PV3}oss"
+
+DESCRIPTION="High level abstract threading library"
+HOMEPAGE="http://www.threadingbuildingblocks.org/"
+SRC_URI="http://threadingbuildingblocks.org/sites/default/files/software_releases/source/${MYP}_src.tgz"
+LICENSE="GPL-2-with-exceptions"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MYP}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-4.0.297-underlinking.patch \
+ "${FILESDIR}"/${P}-build.patch
+
+ find include -name \*.html -delete || die
+
+ # Give it a soname on FreeBSD
+ echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc
+ # Set proper versionning on FreeBSD
+ sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die
+
+ use debug || sed -i -e '/_debug/d' Makefile
+}
+
+multilib_src_configure() {
+ # pc files are for debian and fedora compatibility
+ # some deps use them
+ cat <<-EOF > ${PN}.pc.template
+ prefix=${EPREFIX}/usr
+ libdir=\${prefix}/$(get_libdir)
+ includedir=\${prefix}/include
+ Name: ${PN}
+ Description: ${DESCRIPTION}
+ Version: ${PV}
+ URL: ${HOMEPAGE}
+ Cflags: -I\${includedir}
+ EOF
+ cp ${PN}.pc.template ${PN}.pc || die
+ cat <<-EOF >> ${PN}.pc
+ Libs: -L\${libdir} -ltbb
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc.pc || die
+ cat <<-EOF >> ${PN}malloc.pc
+ Libs: -L\${libdir} -ltbbmalloc
+ Libs.private: -lm -lrt
+ EOF
+ cp ${PN}.pc.template ${PN}malloc_proxy.pc || die
+ cat <<-EOF >> ${PN}malloc_proxy.pc
+ Libs: -L\${libdir} -ltbbmalloc_proxy
+ Libs.private: -lrt
+ Requires: tbbmalloc
+ EOF
+}
+
+local_src_compile() {
+ cd "${S}"
+
+ local comp arch
+
+ case ${MULTILIB_ABI_FLAG} in
+ abi_x86_64) arch=x86_64 ;;
+ abi_x86_32) arch=ia32 ;;
+ esac
+
+ case "$(tc-getCXX)" in
+ *g++*) comp="gcc" ;;
+ *ic*c) comp="icc" ;;
+ *clang*) comp="clang" ;;
+ *) die "compiler $(tc-getCXX) not supported by build system" ;;
+ esac
+
+ CXX="$(tc-getCXX)" \
+ CC="$(tc-getCC)" \
+ AS="$(tc-getAS)" \
+ arch=${arch} \
+ CPLUS_FLAGS="${CXXFLAGS}" \
+ emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@
+}
+
+multilib_src_compile() {
+ local_src_compile tbb tbbmalloc
+}
+
+multilib_src_test() {
+ CXXFLAGS="${CXXFLAGS} -fabi-version=4" \
+ local_src_compile -j1 test
+}
+
+multilib_src_install() {
+ cd "${BUILD_DIR}_release" || die
+ local l
+ for l in $(find . -name lib\*.so.\*); do
+ dolib.so ${l}
+ local bl=$(basename ${l})
+ dosym ${bl} /usr/$(get_libdir)/${bl%.*}
+ done
+
+ cd "${BUILD_DIR}" || die
+ insinto /usr/$(get_libdir)/pkgconfig
+ doins *.pc
+}
+
+multilib_src_install_all() {
+ doheader -r include/*
+
+ dodoc README CHANGES doc/Release_Notes.txt
+ use doc && dohtml -r doc/html/*
+
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples/build
+ doins build/*.inc
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples
+ fi
+}