diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2013-05-01 23:26:22 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2013-05-01 23:26:22 +0000 |
commit | 40d616930fa28a3bb181827817e65b957f9fc8b8 (patch) | |
tree | c7718d66b48f8a7f0ce9aa8bed30fe50b57a1022 /dev-cpp | |
parent | version bump (diff) | |
download | gentoo-2-40d616930fa28a3bb181827817e65b957f9fc8b8.tar.gz gentoo-2-40d616930fa28a3bb181827817e65b957f9fc8b8.tar.bz2 gentoo-2-40d616930fa28a3bb181827817e65b957f9fc8b8.zip |
Try to fix bug 462130, where arch is mis-detected based on kernel
(Portage version: 2.2.0_alpha173/cvs/Linux x86_64, signed Manifest commit with key 84AD142F)
Diffstat (limited to 'dev-cpp')
-rw-r--r-- | dev-cpp/tbb/ChangeLog | 8 | ||||
-rw-r--r-- | dev-cpp/tbb/tbb-4.1.20130116-r1.ebuild | 123 |
2 files changed, 130 insertions, 1 deletions
diff --git a/dev-cpp/tbb/ChangeLog b/dev-cpp/tbb/ChangeLog index 5a3ffbbbf9ed..ff845ac57d5a 100644 --- a/dev-cpp/tbb/ChangeLog +++ b/dev-cpp/tbb/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-cpp/tbb # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/ChangeLog,v 1.37 2013/02/23 10:45:21 jlec Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/ChangeLog,v 1.38 2013/05/01 23:26:22 dilfridge Exp $ + +*tbb-4.1.20130116-r1 (01 May 2013) + + 01 May 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +tbb-4.1.20130116-r1.ebuild: + Try to fix bug 462130, where arch is mis-detected based on kernel 23 Feb 2013; Justin Lecher <jlec@gentoo.org> -tbb-4.0.297.ebuild, metadata.xml: diff --git a/dev-cpp/tbb/tbb-4.1.20130116-r1.ebuild b/dev-cpp/tbb/tbb-4.1.20130116-r1.ebuild new file mode 100644 index 000000000000..4493bdd13802 --- /dev/null +++ b/dev-cpp/tbb/tbb-4.1.20130116-r1.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/tbb-4.1.20130116-r1.ebuild,v 1.1 2013/05/01 23:26:22 dilfridge Exp $ + +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="" +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 + 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 +} |