jlec        15/06/15 16:50:40

  Modified:             ChangeLog
  Added:                tbb-4.3.20141023-r1.ebuild
  Log:
  Add multilib support, bug #545190; thanks Peter Asplund and Ian Stakenvicius 
preparing the ebuild
  
  (Portage version: 2.2.20/cvs/Linux x86_64, signed Manifest commit with key 
E9402A79B03529A2!)

Revision  Changes    Path
1.52                 dev-cpp/tbb/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-cpp/tbb/ChangeLog?rev=1.52&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-cpp/tbb/ChangeLog?rev=1.52&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-cpp/tbb/ChangeLog?r1=1.51&r2=1.52

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/dev-cpp/tbb/ChangeLog,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- ChangeLog   5 May 2015 08:28:02 -0000       1.51
+++ ChangeLog   15 Jun 2015 16:50:40 -0000      1.52
@@ -1,6 +1,13 @@
 # ChangeLog for dev-cpp/tbb
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/ChangeLog,v 1.51 2015/05/05 
08:28:02 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/ChangeLog,v 1.52 2015/06/15 
16:50:40 jlec Exp $
+
+*tbb-4.3.20141023-r1 (15 Jun 2015)
+
+  15 Jun 2015; Justin Lecher <j...@gentoo.org> +files/tbb-4.3-build.patch,
+  +tbb-4.3.20141023-r1.ebuild:
+  Add multilib support, bug #545190; thanks Peter Asplund and Ian Stakenvicius
+  preparing the ebuild
 
   05 May 2015; Jeroen Roovers <j...@gentoo.org> tbb-4.3.20141023.ebuild:
   Mark ~ppc64 (bug #499164).



1.1                  dev-cpp/tbb/tbb-4.3.20141023-r1.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-cpp/tbb/tbb-4.3.20141023-r1.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-cpp/tbb/tbb-4.3.20141023-r1.ebuild?rev=1.1&content-type=text/plain

Index: tbb-4.3.20141023-r1.ebuild
===================================================================
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-cpp/tbb/tbb-4.3.20141023-r1.ebuild,v 1.1 
2015/06/15 16:50:40 jlec Exp $

EAPI=5
inherit eutils flag-o-matic versionator toolchain-funcs multilib-minimal

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"
        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}"
        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