aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Savchenko <bircoph@gmail.com>2015-04-12 16:54:53 +0300
committerAndrew Savchenko <bircoph@gmail.com>2015-04-12 16:54:53 +0300
commita10464578b87f8847a60df6c1aced2690de9fa0b (patch)
tree63ccb634c2a63e05bf5c8a2fe3ca6cad0a45a00c /sci-physics
parentsci-physics/root: fix clang runtime mismatch (diff)
downloadsci-a10464578b87f8847a60df6c1aced2690de9fa0b.tar.gz
sci-a10464578b87f8847a60df6c1aced2690de9fa0b.tar.bz2
sci-a10464578b87f8847a60df6c1aced2690de9fa0b.zip
fix issue #238
Regenerate PCH headers for Gentoo include files layout and remove extra $PORTAGE_TMPDIR from /etc.
Diffstat (limited to 'sci-physics')
-rw-r--r--sci-physics/root/ChangeLog7
-rw-r--r--sci-physics/root/files/root-6.02.05-dictpch.patch31
-rw-r--r--sci-physics/root/root-6.02.05-r2.ebuild (renamed from sci-physics/root/root-6.02.05-r1.ebuild)18
3 files changed, 56 insertions, 0 deletions
diff --git a/sci-physics/root/ChangeLog b/sci-physics/root/ChangeLog
index b1b0b0a08..4fc73e890 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 <bircoph@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 <bircoph@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 000000000..80a416e1a
--- /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 <axel@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
index 2d7388b7d..9069f3aa1 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() {