commit:     0451d48fdba160cc23c46611d1cf4decf10946e3
Author:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 31 02:06:23 2017 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Fri Mar 31 02:15:46 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0451d48f

dev-cpp/tbb: version bump to 4.4.20160803, bug #596130

Package-Manager: Portage-2.3.3, Repoman-2.3.2

 dev-cpp/tbb/Manifest                               |   1 +
 dev-cpp/tbb/files/tbb-4.4.20160803-build.patch     | 193 +++++++++++++++++++++
 .../tbb/files/tbb-4.4.20160803-underlinking.patch  |  15 ++
 dev-cpp/tbb/tbb-4.4.20160803.ebuild                | 145 ++++++++++++++++
 4 files changed, 354 insertions(+)

diff --git a/dev-cpp/tbb/Manifest b/dev-cpp/tbb/Manifest
index 71f464d6d4d..a7b1897ff55 100644
--- a/dev-cpp/tbb/Manifest
+++ b/dev-cpp/tbb/Manifest
@@ -1,2 +1,3 @@
 DIST tbb2017_20161128oss_src.tgz 2965854 SHA256 
c009166233c8ea0e34530a1c5f870b79314316d19e6876b37a7e7c854080a540 SHA512 
3c48ce196d2d3557e86cea7ede9dea456bbaeb29dbed34210f99c6f380406403a6056ccfa3d5befe6b29c4f8a9ee58ca6da545249cf4ec4ec85b463e04e4518c
 WHIRLPOOL 
d1ce8d07ac002c617afa7c0aa1d5cad41928a6eefd064a744b4efdd0192dd310ad8cb32b949858a7c2c44211477deffc05dbd65e8101184d4cae26744143b922
 DIST tbb43_20150611oss_src.tgz 2757631 SHA256 
221f85fe64e11c9638e43b3c57d5750c26683905fc90827c0bcfefdb286e79c9 SHA512 
83d5d827706b774ef5cd6df8082e5d7f48683388684423bb40565dfc25892fc2e57c382f719b78087d83e51edb3f7f7215f33d8b5039b55c32788d80efa6e0b8
 WHIRLPOOL 
8e98162b2307c759fb26923d76ab784dea81e166c8bf5323869d234da59641c333e5ae30b4a224bccbf20d4f5f6b75c658589f519a165ea3ad7658322f148c72
+DIST tbb44_20160803oss_src.tgz 2874050 SHA256 
23fb69a16b5daccef8e1ffe194d1dd5c6b1d225c0de87e54bc30c958aa244fb0 SHA512 
01b1dcdaffa96c3d503e44d7b236b1115f419c122dab0f40de4c9dc90db315a1f3755cc91adf9df91d5d31d8927df115230db94cf175edac09ae438b46374a92
 WHIRLPOOL 
2b93bfabc0eadb1a10ad34f1a475322a04554bd8b5e4ac90505ec285f7727a537249a045f7a464fb3c266f9ece6c83fa259a099cc052da16cdd6c05cd9a1fb42

diff --git a/dev-cpp/tbb/files/tbb-4.4.20160803-build.patch 
b/dev-cpp/tbb/files/tbb-4.4.20160803-build.patch
new file mode 100644
index 00000000000..9c66c132fff
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.4.20160803-build.patch
@@ -0,0 +1,193 @@
+diff --git a/build/FreeBSD.gcc.inc b/build/FreeBSD.gcc.inc
+index dc22ca3..65dfb6e 100644
+--- a/build/FreeBSD.gcc.inc
++++ b/build/FreeBSD.gcc.inc
+@@ -28,8 +28,8 @@ 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)
+@@ -42,7 +42,7 @@ ifneq (,$(shell gcc -dumpversion | egrep  "^([6-9])"))
+ endif
+ 
+ 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
+@@ -59,22 +59,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 fc8d7de..21ad5d4 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
+@@ -55,24 +55,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))
+@@ -84,12 +70,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 f9b483d..1e69789 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.2 and higher support OpenMP
+ ifneq (,$(shell gcc -dumpversion | egrep  "^(4\.[2-9]|[5-9])"))
+@@ -57,7 +57,7 @@ ifneq (,$(shell gcc -dumpversion | egrep  "^([6-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
+@@ -73,24 +73,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))
+@@ -98,12 +86,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
+@@ -112,13 +94,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/files/tbb-4.4.20160803-underlinking.patch 
b/dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch
new file mode 100644
index 00000000000..5935017a325
--- /dev/null
+++ b/dev-cpp/tbb/files/tbb-4.4.20160803-underlinking.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/show_bug.cgi?id=418447
+
+--- a/build/Makefile.test
++++ b/build/Makefile.test
+@@ -44,8 +44,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)
+ 
+ TEST_SUFFIXES=secondary compiler_builtins pic
+ include $(tbb_root)/build/common_rules.inc

diff --git a/dev-cpp/tbb/tbb-4.4.20160803.ebuild 
b/dev-cpp/tbb/tbb-4.4.20160803.ebuild
new file mode 100644
index 00000000000..e4e6af1dd1d
--- /dev/null
+++ b/dev-cpp/tbb/tbb-4.4.20160803.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux 
~x86-linux"
+IUSE="debug doc examples"
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+S="${WORKDIR}/${MYP}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-underlinking.patch
+       "${FILESDIR}"/${P}-build.patch
+)
+
+src_prepare() {
+       default
+
+       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 ;;
+               abi_ppc_64) arch=ppc64 ;;
+               abi_ppc_32) arch=ppc32 ;;
+       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() {
+       local bt
+       local buildtypes
+       if use debug ; then
+               buildtypes="release debug"
+       else
+               buildtypes="release"
+       fi
+       for bt in ${buildtypes}; do
+               cd "${BUILD_DIR}_${bt}" || 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
+       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
+}

Reply via email to