commit: a10464578b87f8847a60df6c1aced2690de9fa0b Author: Andrew Savchenko <bircoph <AT> gmail <DOT> com> AuthorDate: Sun Apr 12 13:54:53 2015 +0000 Commit: Andrew Savchenko <bircoph <AT> gmail <DOT> com> CommitDate: Sun Apr 12 13:54:53 2015 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=a1046457
fix issue #238 Regenerate PCH headers for Gentoo include files layout and remove extra $PORTAGE_TMPDIR from /etc. sci-physics/root/ChangeLog | 7 +++++ sci-physics/root/files/root-6.02.05-dictpch.patch | 31 ++++++++++++++++++++++ ...ot-6.02.05-r1.ebuild => root-6.02.05-r2.ebuild} | 18 +++++++++++++ 3 files changed, 56 insertions(+) diff --git a/sci-physics/root/ChangeLog b/sci-physics/root/ChangeLog index b1b0b0a..4fc73e8 100644 --- a/sci-physics/root/ChangeLog +++ b/sci-physics/root/ChangeLog @@ -2,6 +2,13 @@ # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 # $Header: /var/cvsroot/gentoo-x86/sci-physics/root/ChangeLog,v 1.96 2012/03/29 18:21:49 bicatali Exp $ +*root-6.02.05-r2 (12 Apr 2015) + + 12 Apr 2015; Andrew Savchenko <birc...@gentoo.org> -root-6.02.05-r1.ebuild, + +root-6.02.05-r2.ebuild, +files/root-6.02.05-dictpch.patch: + Regenerate PCH headers for Gentoo include files layout and remove + extra $PORTAGE_TMPDIR from /etc (github issue #238). + *root-6.02.05-r1 (11 Apr 2015) 11 Apr 2015; Andrew Savchenko <birc...@gentoo.org> -root-6.02.05.ebuild, diff --git a/sci-physics/root/files/root-6.02.05-dictpch.patch b/sci-physics/root/files/root-6.02.05-dictpch.patch new file mode 100644 index 0000000..80a416e --- /dev/null +++ b/sci-physics/root/files/root-6.02.05-dictpch.patch @@ -0,0 +1,31 @@ +--- etc/dictpch/makepch-gentoo.sh.orig 2015-04-08 14:27:07.781026830 +0300 ++++ etc/dictpch/makepch-gentoo.sh 2015-04-12 13:40:48.226060739 +0300 +@@ -13,8 +13,8 @@ + # Copyright (c) 2014 Rene Brun and Fons Rademakers + # Author: Axel Naumann <a...@cern.ch>, 2014-10-16 + +-rootdir=. +-cfgdir=etc/dictpch ++rootdir=ROOTDIR_TEMPLATE ++cfgdir=etc/root/dictpch + allheaders=$cfgdir/allHeaders.h + alllinkdefs=$cfgdir/allLinkDefs.h + cppflags=$cfgdir/allCppflags.txt +@@ -36,7 +36,7 @@ + rootbuild=-rootbuild + fi + +-cxxflags="-D__CLING__ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DROOT_PCH -I$rootdir/include -I$rootdir/etc -I$rootdir/$cfgdir -I$rootdir/etc/cling `cat $rootdir/$cppflags`" ++cxxflags="-D__CLING__ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DROOT_PCH -I$rootdir/usr/include/root -I$rootdir/etc/root -I$rootdir/$cfgdir -I$rootdir/etc/root/cling `cat $rootdir/$cppflags`" + + if ! [ "x$1" = "x" ]; then + cxxflags="$cxxflags $1" +@@ -44,7 +44,7 @@ + + # generate pch + touch allDict.cxx.h +-$rootdir/bin/rootcling $rootbuild -1 -f allDict.cxx -noDictSelection -c $cxxflags $allheaders $@ $alllinkdefs ++$rootdir/usr/bin/rootcling -1 -f allDict.cxx -noDictSelection -c $cxxflags $allheaders $@ $alllinkdefs + res=$? + if [ $res -eq 0 ] ; then + mv allDict_rdict.pch $pch diff --git a/sci-physics/root/root-6.02.05-r1.ebuild b/sci-physics/root/root-6.02.05-r2.ebuild similarity index 93% rename from sci-physics/root/root-6.02.05-r1.ebuild rename to sci-physics/root/root-6.02.05-r2.ebuild index 2d7388b..9069f3a 100644 --- a/sci-physics/root/root-6.02.05-r1.ebuild +++ b/sci-physics/root/root-6.02.05-r2.ebuild @@ -207,6 +207,13 @@ pkg_setup() { } src_prepare() { + # Second version of makepch is required in order to generate + # PCH file appropriate for Gentoo include headers layout. + # This can be done only at install stage, when files are placed + # as appropriate. Premature modification of makepch.sh will + # broke build process, however. + cp "etc/dictpch/makepch.sh" "etc/dictpch/makepch-gentoo.sh" || die + epatch \ "${FILESDIR}"/${PN}-5.28.00b-glibc212.patch \ "${FILESDIR}"/${PN}-5.32.00-afs.patch \ @@ -219,6 +226,7 @@ src_prepare() { "${FILESDIR}"/${PN}-6.00.01-llvm.patch \ "${FILESDIR}"/${PN}-6.00.01-nobyte-compile.patch \ "${FILESDIR}"/${PN}-6.00.01-prop-flags.patch \ + "${FILESDIR}"/${PN}-6.02.05-dictpch.patch \ "${FILESDIR}"/${PN}-6.02.05-xrootd4.patch # make sure we use system libs and headers @@ -410,6 +418,16 @@ cleanup_install() { mv etc/root/proof/utils/pq2/pq2* usr/bin/ || die rm ${DOC_DIR#/}/{INSTALL,LICENSE} || die use examples || rm -r ${DOC_DIR#/}/examples || die + + # clean hardcoded sandbox paths + rm etc/root/dictpch/allCppflags.txt.tmp || die + sed -i "s|${S}/||" etc/root/cling/llvm/Config/llvm-config.h || die + # regenerate pch for Gentoo headers layout + rm "etc/root/allDict.cxx.pch" || die + sed -i 's|etc/dictpch|etc/root/dictpch|' etc/root/dictpch/allLinkDefs.h || die + sed -i 's|etc/cling|etc/root/cling|' etc/root/dictpch/allHeaders.h || die + sed -i "s|ROOTDIR_TEMPLATE|${ED}|" etc/root/dictpch/makepch-gentoo.sh || die + etc/root/dictpch/makepch-gentoo.sh etc/root/allDict.cxx.pch || die "PCH generation failed" } src_install() {