Gentoo Archives: gentoo-commits

From: Matthias Maier <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-cpp/tbb/
Date: Fri, 31 Mar 2017 02:16:59
Message-Id: 1490926546.d83b58a15ac52dd23cce857445c8972e446c5938.tamiko@gentoo
1 commit: d83b58a15ac52dd23cce857445c8972e446c5938
2 Author: Matthias Maier <tamiko <AT> gentoo <DOT> org>
3 AuthorDate: Fri Mar 31 02:15:10 2017 +0000
4 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org>
5 CommitDate: Fri Mar 31 02:15:46 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d83b58a1
7
8 dev-cpp/tbb: version bump to 2017.20170226
9
10 Package-Manager: Portage-2.3.3, Repoman-2.3.2
11
12 dev-cpp/tbb/Manifest | 1 +
13 dev-cpp/tbb/tbb-2017.20170226.ebuild | 144 +++++++++++++++++++++++++++++++++++
14 2 files changed, 145 insertions(+)
15
16 diff --git a/dev-cpp/tbb/Manifest b/dev-cpp/tbb/Manifest
17 index a7b1897ff55..9ce11ceae62 100644
18 --- a/dev-cpp/tbb/Manifest
19 +++ b/dev-cpp/tbb/Manifest
20 @@ -1,3 +1,4 @@
21 +DIST tbb-2017.20170226.tar.gz 2856407 SHA256 780baf0ad520f23b54dd20dc97bf5aae4bc562019e0a70f53bfc4c1afec6e545 SHA512 d07eeca53138432a4ac20145169907f5271e234bedfb53e0eabbed2b6fafaecdc0a2ad7bdbead205993f822e7c415233cce9afd7575d366c17a117d5cc971a65 WHIRLPOOL 18095aa7fec6a6766f9d8456c34a346bc51c2525263f03ae00f6a37899cafea0b83d67fd199372983561543f197f797b50f99966ea24591114958ff115e80b6f
22 DIST tbb2017_20161128oss_src.tgz 2965854 SHA256 c009166233c8ea0e34530a1c5f870b79314316d19e6876b37a7e7c854080a540 SHA512 3c48ce196d2d3557e86cea7ede9dea456bbaeb29dbed34210f99c6f380406403a6056ccfa3d5befe6b29c4f8a9ee58ca6da545249cf4ec4ec85b463e04e4518c WHIRLPOOL d1ce8d07ac002c617afa7c0aa1d5cad41928a6eefd064a744b4efdd0192dd310ad8cb32b949858a7c2c44211477deffc05dbd65e8101184d4cae26744143b922
23 DIST tbb43_20150611oss_src.tgz 2757631 SHA256 221f85fe64e11c9638e43b3c57d5750c26683905fc90827c0bcfefdb286e79c9 SHA512 83d5d827706b774ef5cd6df8082e5d7f48683388684423bb40565dfc25892fc2e57c382f719b78087d83e51edb3f7f7215f33d8b5039b55c32788d80efa6e0b8 WHIRLPOOL 8e98162b2307c759fb26923d76ab784dea81e166c8bf5323869d234da59641c333e5ae30b4a224bccbf20d4f5f6b75c658589f519a165ea3ad7658322f148c72
24 DIST tbb44_20160803oss_src.tgz 2874050 SHA256 23fb69a16b5daccef8e1ffe194d1dd5c6b1d225c0de87e54bc30c958aa244fb0 SHA512 01b1dcdaffa96c3d503e44d7b236b1115f419c122dab0f40de4c9dc90db315a1f3755cc91adf9df91d5d31d8927df115230db94cf175edac09ae438b46374a92 WHIRLPOOL 2b93bfabc0eadb1a10ad34f1a475322a04554bd8b5e4ac90505ec285f7727a537249a045f7a464fb3c266f9ece6c83fa259a099cc052da16cdd6c05cd9a1fb42
25
26 diff --git a/dev-cpp/tbb/tbb-2017.20170226.ebuild b/dev-cpp/tbb/tbb-2017.20170226.ebuild
27 new file mode 100644
28 index 00000000000..c647ba1f579
29 --- /dev/null
30 +++ b/dev-cpp/tbb/tbb-2017.20170226.ebuild
31 @@ -0,0 +1,144 @@
32 +# Copyright 1999-2017 Gentoo Foundation
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=6
36 +
37 +inherit eutils flag-o-matic multilib-minimal toolchain-funcs versionator
38 +
39 +PV1="$(get_version_component_range 1)"
40 +PV2=5
41 +MY_PV="${PV1}_U${PV2}"
42 +
43 +DESCRIPTION="High level abstract threading library"
44 +HOMEPAGE="http://www.threadingbuildingblocks.org/"
45 +SRC_URI="https://github.com/01org/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
46 +LICENSE="Apache-2.0"
47 +SLOT="0"
48 +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
49 +IUSE="debug doc examples"
50 +
51 +DEPEND=""
52 +RDEPEND="${DEPEND}"
53 +S="${WORKDIR}/${PN}-${MY_PV}"
54 +
55 +PATCHES=(
56 + "${FILESDIR}"/${PN}-2017.20161128-underlinking.patch
57 + "${FILESDIR}"/${PN}-2017.20161128-build.patch
58 +)
59 +
60 +src_prepare() {
61 + default
62 +
63 + find include -name \*.html -delete || die
64 +
65 + # Give it a soname on FreeBSD
66 + echo 'LIB_LINK_FLAGS += -Wl,-soname=$(BUILDING_LIBRARY)' >> build/FreeBSD.gcc.inc
67 + # Set proper versionning on FreeBSD
68 + sed -i -e '/.DLL =/s/$/.1/' build/FreeBSD.inc || die
69 +
70 + use debug || sed -i -e '/_debug/d' Makefile
71 +}
72 +
73 +multilib_src_configure() {
74 + # pc files are for debian and fedora compatibility
75 + # some deps use them
76 + cat <<-EOF > ${PN}.pc.template
77 + prefix=${EPREFIX}/usr
78 + libdir=\${prefix}/$(get_libdir)
79 + includedir=\${prefix}/include
80 + Name: ${PN}
81 + Description: ${DESCRIPTION}
82 + Version: ${PV}
83 + URL: ${HOMEPAGE}
84 + Cflags: -I\${includedir}
85 + EOF
86 + cp ${PN}.pc.template ${PN}.pc || die
87 + cat <<-EOF >> ${PN}.pc
88 + Libs: -L\${libdir} -ltbb
89 + Libs.private: -lm -lrt
90 + EOF
91 + cp ${PN}.pc.template ${PN}malloc.pc || die
92 + cat <<-EOF >> ${PN}malloc.pc
93 + Libs: -L\${libdir} -ltbbmalloc
94 + Libs.private: -lm -lrt
95 + EOF
96 + cp ${PN}.pc.template ${PN}malloc_proxy.pc || die
97 + cat <<-EOF >> ${PN}malloc_proxy.pc
98 + Libs: -L\${libdir} -ltbbmalloc_proxy
99 + Libs.private: -lrt
100 + Requires: tbbmalloc
101 + EOF
102 +}
103 +
104 +local_src_compile() {
105 + cd "${S}"
106 +
107 + local comp arch
108 +
109 + case ${MULTILIB_ABI_FLAG} in
110 + abi_x86_64) arch=x86_64 ;;
111 + abi_x86_32) arch=ia32 ;;
112 + abi_ppc_64) arch=ppc64 ;;
113 + abi_ppc_32) arch=ppc32 ;;
114 + esac
115 +
116 + case "$(tc-getCXX)" in
117 + *g++*) comp="gcc" ;;
118 + *ic*c) comp="icc" ;;
119 + *clang*) comp="clang" ;;
120 + *) die "compiler $(tc-getCXX) not supported by build system" ;;
121 + esac
122 +
123 + CXX="$(tc-getCXX)" \
124 + CC="$(tc-getCC)" \
125 + AS="$(tc-getAS)" \
126 + arch=${arch} \
127 + CPLUS_FLAGS="${CXXFLAGS}" \
128 + emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" $@
129 +}
130 +
131 +multilib_src_compile() {
132 + local_src_compile tbb tbbmalloc
133 +}
134 +
135 +multilib_src_test() {
136 + CXXFLAGS="${CXXFLAGS} -fabi-version=4" \
137 + local_src_compile -j1 test
138 +}
139 +
140 +multilib_src_install() {
141 + local bt
142 + local buildtypes
143 + if use debug ; then
144 + buildtypes="release debug"
145 + else
146 + buildtypes="release"
147 + fi
148 + for bt in ${buildtypes}; do
149 + cd "${BUILD_DIR}_${bt}" || die
150 + local l
151 + for l in $(find . -name lib\*.so.\*); do
152 + dolib.so ${l}
153 + local bl=$(basename ${l})
154 + dosym ${bl} /usr/$(get_libdir)/${bl%.*}
155 + done
156 + done
157 +
158 + cd "${BUILD_DIR}" || die
159 + insinto /usr/$(get_libdir)/pkgconfig
160 + doins *.pc
161 +}
162 +
163 +multilib_src_install_all() {
164 + doheader -r include/*
165 +
166 + dodoc README CHANGES doc/Release_Notes.txt
167 + use doc && dohtml -r doc/html/*
168 +
169 + if use examples ; then
170 + insinto /usr/share/doc/${PF}/examples/build
171 + doins build/*.inc
172 + insinto /usr/share/doc/${PF}/examples
173 + doins -r examples
174 + fi
175 +}