diff options
Diffstat (limited to 'dev-cpp/tbb')
-rw-r--r-- | dev-cpp/tbb/Manifest | 1 | ||||
-rw-r--r-- | dev-cpp/tbb/files/tbb-2020.1-makefile-debug.patch | 62 | ||||
-rw-r--r-- | dev-cpp/tbb/tbb-2020.1.ebuild | 151 |
3 files changed, 214 insertions, 0 deletions
diff --git a/dev-cpp/tbb/Manifest b/dev-cpp/tbb/Manifest index 3123910d2a14..2b3890976811 100644 --- a/dev-cpp/tbb/Manifest +++ b/dev-cpp/tbb/Manifest @@ -1,3 +1,4 @@ DIST tbb-2018.20180312.tar.gz 2911740 BLAKE2B 5c6dab4a892f3b61ed0b02ea36dc41bebd5b33a22bcc3d5f2960f21e134f2eb9bccf1466193a573489e12638c0bb0bccc2da83f699968ffd62417f2d0f093289 SHA512 7ac74e714122e25f7704630d3d52992dbea54d1e761b5e487251a771f401aa864f78b8ddf11d78f38758088df387abb6987f6a2db562c86cbb28ba8f33a25680 DIST tbb-2019.8.tar.gz 2580540 BLAKE2B 1cddb0c8ade6f6363811b7f9b323a2bb7739a18114acd56e1b4a13f33904ddff8cb6aec9b4b0add995cd307ff7815f0b55ce33fa64b7dd92c0062fbaa13d0833 SHA512 924a8dde011452a2c46c5152942a9835e76fe5610e08b69eb0e985de3fb46bdb49f0f628d10fa7704428f6e61ec63f7002da5399d47da6ee6004fa236d346dc8 +DIST tbb-2020.1.tar.gz 2639115 BLAKE2B 058438351738eeab01c230ec10ff0a1dde77e5cc4fd77f292c31ee0320f41d079c8f90fc06f4640ffa375d5f0c0b5fbed13ac5a64a9cb9f1737cb66bc80442ea SHA512 79810c27c84bd3b3432bef471fa1c782f1f162a0d1038e88c03a77499cc7aeaa10d57317729fd23472e2d0f358395955f7570e8c679685a552a833eb45cf5f1d DIST tbb2017_20161128oss_src.tgz 2965854 BLAKE2B 8c5aed6d8477297922767803617346feebb712d1f4b2df6d71a86f039b5563afc666454985e68a528a812aaad40b5fd0562bb91d357c45156fec46e5389ec542 SHA512 3c48ce196d2d3557e86cea7ede9dea456bbaeb29dbed34210f99c6f380406403a6056ccfa3d5befe6b29c4f8a9ee58ca6da545249cf4ec4ec85b463e04e4518c diff --git a/dev-cpp/tbb/files/tbb-2020.1-makefile-debug.patch b/dev-cpp/tbb/files/tbb-2020.1-makefile-debug.patch new file mode 100644 index 000000000000..b4313b375f59 --- /dev/null +++ b/dev-cpp/tbb/files/tbb-2020.1-makefile-debug.patch @@ -0,0 +1,62 @@ +--- a/Makefile 2020-01-21 12:26:46.000000000 +0100 ++++ b/Makefile 2020-03-18 16:21:37.589262099 +0100 +@@ -26,29 +26,29 @@ + all: tbb tbbmalloc tbbproxy test examples + + tbb: mkdir +- $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbb cfg=release ++ $(MAKE) -C "$(work_dir)_$(cfg)" -r -f $(tbb_root)/build/Makefile.tbb cfg=$(cfg) + + tbbmalloc: mkdir +- $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=release malloc ++ $(MAKE) -C "$(work_dir)_$(cfg)" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=$(cfg) malloc + + tbbproxy: mkdir +- $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbproxy cfg=release tbbproxy ++ $(MAKE) -C "$(work_dir)_$(cfg)" -r -f $(tbb_root)/build/Makefile.tbbproxy cfg=$(cfg) tbbproxy + + tbbbind: mkdir +- $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbbind cfg=release tbbbind ++ $(MAKE) -C "$(work_dir)_$(cfg)" -r -f $(tbb_root)/build/Makefile.tbbbind cfg=$(cfg) tbbbind + + test: tbb tbbmalloc $(if $(use_proxy),tbbproxy) +- -$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=release malloc_test +- -$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.test cfg=release ++ -$(MAKE) -C "$(work_dir)_$(cfg)" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=$(cfg) malloc_test ++ -$(MAKE) -C "$(work_dir)_$(cfg)" -r -f $(tbb_root)/build/Makefile.test cfg=$(cfg) + + rml: mkdir +- $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.rml cfg=release ++ $(MAKE) -C "$(work_dir)_$(cfg)" -r -f $(tbb_root)/build/Makefile.rml cfg=$(cfg) + + examples: tbb tbbmalloc +- $(MAKE) -C examples -r -f Makefile tbb_root=.. release test ++ $(MAKE) -C examples -r -f Makefile tbb_root=.. $(cfg) test + + python: tbb +- $(MAKE) -C "$(work_dir)_release" -rf $(tbb_root)/python/Makefile install ++ $(MAKE) -C "$(work_dir)_$(cfg)" -rf $(tbb_root)/python/Makefile install + + doxygen: + doxygen Doxyfile +@@ -56,16 +56,16 @@ + .PHONY: clean clean_examples mkdir info + + clean: clean_examples +- $(shell $(RM) $(work_dir)_release$(SLASH)*.* >$(NUL) 2>$(NUL)) +- $(shell $(RD) $(work_dir)_release >$(NUL) 2>$(NUL)) ++ $(shell $(RM) $(work_dir)_$(cfg)$(SLASH)*.* >$(NUL) 2>$(NUL)) ++ $(shell $(RD) $(work_dir)_$(cfg) >$(NUL) 2>$(NUL)) + @echo clean done + + clean_examples: + $(shell $(MAKE) -s -i -r -C examples -f Makefile tbb_root=.. clean >$(NUL) 2>$(NUL)) + + mkdir: +- $(shell $(MD) "$(work_dir)_release" >$(NUL) 2>$(NUL)) +- @echo Created the $(work_dir)_release directory ++ $(shell $(MD) "$(work_dir)_$(cfg)" >$(NUL) 2>$(NUL)) ++ @echo Created the $(work_dir)_$(cfg) directory + + info: + @echo OS: $(tbb_os) diff --git a/dev-cpp/tbb/tbb-2020.1.ebuild b/dev-cpp/tbb/tbb-2020.1.ebuild new file mode 100644 index 000000000000..4ed58041f012 --- /dev/null +++ b/dev-cpp/tbb/tbb-2020.1.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit eutils flag-o-matic multilib-minimal multilib toolchain-funcs + +PV1="$(ver_cut 1)" +PV2="$(ver_cut 2)" +MY_PV="${PV1}_U${PV2}" + +DESCRIPTION="High level abstract threading library" +HOMEPAGE="https://www.threadingbuildingblocks.org" +SRC_URI="https://github.com/intel/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="debug examples" + +DEPEND="" +RDEPEND="${DEPEND}" +S="${WORKDIR}/oneTBB-${MY_PV}" + +DOCS=( CHANGES README README.md doc/Release_Notes.txt ) + +PATCHES=( "${FILESDIR}"/${P}-makefile-debug.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 + local bt buildtypes + + 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 + *clang*) comp="clang" ;; + *g++*) comp="gcc" ;; + *ic*c) comp="icc" ;; + *) die "compiler $(tc-getCXX) not supported by build system" ;; + esac + + if use debug ; then + buildtypes="release debug" + else + buildtypes="release" + fi + + for bt in ${buildtypes}; do + CXX="$(tc-getCXX)" \ + CC="$(tc-getCC)" \ + AS="$(tc-getAS)" \ + arch=${arch} \ + CPLUS_FLAGS="${CXXFLAGS}" \ + emake compiler=${comp} work_dir="${BUILD_DIR}" tbb_root="${S}" cfg=${bt} $@ + done +} + +multilib_src_compile() { + local_src_compile tbb tbbmalloc +} + +multilib_src_test() { + local_src_compile 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\*$(get_libname \*)); do + dolib.so ${l} + local bl=$(basename ${l}) + dosym ${bl} /usr/$(get_libdir)/${bl%%.*}$(get_libname) + done + done + + cd "${BUILD_DIR}" || die + insinto /usr/$(get_libdir)/pkgconfig + doins *.pc +} + +multilib_src_install_all() { + doheader -r include/* + + einstalldocs + + if use examples ; then + insinto /usr/share/doc/${PF}/examples/build + doins build/*.inc + insinto /usr/share/doc/${PF}/examples + doins -r examples + docompress -x "/usr/share/doc/${PF}/examples" + fi +} |