From d11f6e16f2689d1ad89505308c87667e38706c29 Mon Sep 17 00:00:00 2001 From: Sebastien Fabbro Date: Tue, 27 Apr 2010 06:46:30 +0000 Subject: [PATCH] Version bump. Switched static flag to static-libs Package-Manager: portage-2.2_rc67/cvs/Linux x86_64 --- sci-physics/geant/ChangeLog | 8 +- sci-physics/geant/Manifest | 11 +- sci-physics/geant/geant-4.9.3_p01.ebuild | 263 +++++++++++++++++++++++ 3 files changed, 277 insertions(+), 5 deletions(-) create mode 100644 sci-physics/geant/geant-4.9.3_p01.ebuild diff --git a/sci-physics/geant/ChangeLog b/sci-physics/geant/ChangeLog index 173d358d3fce..c0db17b22fd4 100644 --- a/sci-physics/geant/ChangeLog +++ b/sci-physics/geant/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sci-physics/geant # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-physics/geant/ChangeLog,v 1.38 2010/01/09 18:27:42 bicatali Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-physics/geant/ChangeLog,v 1.39 2010/04/27 06:46:30 bicatali Exp $ + +*geant-4.9.3_p01 (27 Apr 2010) + + 27 Apr 2010; Sébastien Fabbro + +geant-4.9.3_p01.ebuild: + Version bump. Switched static flag to static-libs *geant-4.9.3 (08 Jan 2010) diff --git a/sci-physics/geant/Manifest b/sci-physics/geant/Manifest index 72ed73330b02..cb0130c2317b 100644 --- a/sci-physics/geant/Manifest +++ b/sci-physics/geant/Manifest @@ -5,6 +5,7 @@ AUX geant-4.9.2-zlib.patch 239 RMD160 790953077b7fc59d1ce7c3ed98cdb3dcc3134705 S AUX geant-4.9.3-zlib.patch 314 RMD160 123761e6bfc0c7d386bfc4d8aab797cbfe7ac038 SHA1 50faae7e53d209c095053c2d702f8622b743e079 SHA256 14cd100d79befa083ea79f706a8feba7780252332525d67fa85f1cce13a67d72 DIST G4ABLA.3.0.tar.gz 54909 RMD160 5a032ee8e90d00f39b67114fe257ec47001f347b SHA1 5f38676f1650a508e49d35f9405ac96984388135 SHA256 ff0b77be6b36204eeeba71099f6b7530edd80b79eb015994535bc4334bc821eb DIST G4EMLOW.6.2.tar.gz 8389172 RMD160 fa51dbb4f0e316b0e682a05c9db4c1dc29db7218 SHA1 627ca63927064f1846aa8d7e2e5c4783fe0b9610 SHA256 1affbc66d8809db0c8e450ca83a0da744e7f5b8e912ec52e93b1f24b47cbd781 +DIST G4EMLOW.6.9.tar.gz 11203887 RMD160 8306a6af7ec41ec16790df2130b4f9b437bb7d9e SHA1 d4d026f96990d4ed15a6b550b1990ba335248965 SHA256 4b84114b62a6085f5955094437f5ca8383f758ecb3e23fbfa433012b8e10b962 DIST G4NDL.3.13.tar.gz 57034762 RMD160 243b206170d996c7b562a86e388ff4d5f8d11764 SHA1 4acc412a2f29a7a8f84ac50aeb7331c8ed2889ae SHA256 e994b873032b3d1c0bcc2679275c43354d3e1cd5091da76c8fcd4826536f17a3 DIST G4RadioactiveDecay.3.2.tar.gz 761070 RMD160 1f797977c0c66722f4b032ac546c26eaa8a9f14a SHA1 45e706e46a33e08b1706f069d15e8c2145f3410e SHA256 31dc70aa59cb86ef0dbaf96c639e0541b7569d4fc98f92064ecdc8bc4b9c839b DIST PhotonEvaporation.2.0.tar.gz 7506068 RMD160 24d46b08b2ffeca5b3be186baffb650b99accc97 SHA1 df3b4994c7248da7a226c186be747c4b823d34fa SHA256 5aac0ce683ca23274a7736c8e8911d8cf32d2bf33aab33a9a23126664762d61d @@ -12,16 +13,18 @@ DIST RealSurface.1.0.tar.gz 1257863 RMD160 030513fe340e0cccbfe0b9ae9acb3ba6b5291 DIST geant321_3.21.14.dfsg-8.diff.gz 41909 RMD160 4edbe5d3dd93a78198fa2d2d83770c8b85eee4de SHA1 39f48c4263f543b74eee6095c11f5ade9798f253 SHA256 785277dab1e1d3e17d60c85f3826bc67bbd6de7e6a6d40ff7af901371c4d2ce1 DIST geant321_3.21.14.dfsg.orig.tar.gz 10922928 RMD160 253b35bd9cda82c2213ec042274f7e6ff6b9e333 SHA1 ae6f39ccc18eacd576a3493992db5da3b3d3b128 SHA256 186fe98a08ad1de39f68698a09a46e7c2f14c37b22f8f990257b0bd66215c5b4 DIST geant4.9.2.p02.tar.gz 18822956 RMD160 1b8923c4821ca627b56919b3c1eeb3b6a09dd0e5 SHA1 007ee6d4eb4f6479f3fe46e6ecff882e3ace1e7c SHA256 4d19bb76bf956004481bc433bf4735780ccc6354d3dc53321d532fd283243078 +DIST geant4.9.3.p01.tar.gz 19996523 RMD160 3ec9edd377481e197a90891e6566b4aacde9b3f4 SHA1 f4849d42dc0d7405b52216400c8e4d5d48dd048a SHA256 0d8e3032bcd9ac12b8e8db74fbdb4b481b70c48922048c2d3d5b8a7b37e504ea DIST geant4.9.3.tar.gz 19935530 RMD160 33f54c2dbf33a7eda1470db1a6bb44de279ac577 SHA1 9c657e90675d64993416b46dfce70710804379d4 SHA256 835a6adfd2fe64181b9c86ea55f30fa62fd2d052033142895f70a7d2c061dd7f EBUILD geant-3.21.14-r2.ebuild 1863 RMD160 a24572d55551dabe6aa3bb67244c73583e38e314 SHA1 9d3da57a8babf1ab23f03c477809bf6bf4fa1fce SHA256 b43857a4a7e68cc26260eaea8285f16f216dc47d70d61886cc71258cb91512fa EBUILD geant-4.9.2_p02.ebuild 8104 RMD160 33e0faa83b5db91c8a75bf8d752a9a1c5dc14830 SHA1 9bb902fc0b76ed5a63b585ad86fb6b2033648687 SHA256 1c64b1337dbc9e94778ade020fd2a81a4192f1c44c5539bc8ac06cd6f14e5a88 EBUILD geant-4.9.3.ebuild 8252 RMD160 6381e16c93a8e268f2c06dee60effed960ee2286 SHA1 66ca01ec9ceea4be8a1893b74eb05fcb458c9d5f SHA256 67838998437b6910381b885d453e57115f25a9249e3f92cf4d006def1513624e -MISC ChangeLog 6911 RMD160 d18cae9999dfc220a437f4a0e81fd49a1772822a SHA1 1b3d34a8c1cd04eeb581f04326f246f218ac3678 SHA256 73c7c181e2f584346a34242bb8868dc400e2f74e89271763309b66adf7e64319 +EBUILD geant-4.9.3_p01.ebuild 8260 RMD160 0f993b08e1ba60607e25df40ee7d687520440f48 SHA1 d0654f41849b9a7e38c60f6a367958c7bd697d47 SHA256 6b8ccfa96870487772eead4c9975c0d5d6dd3ab0ef6f4227dbfa2867888d167b +MISC ChangeLog 7078 RMD160 660fa5d48c4346fd885fe8e434f08409f6148cef SHA1 a43022113ab1bf9fd2e542eab09d87268627852f SHA256 7b642abd9aabe42348b3b19799fb5be74fed3f7995131bcd180644aea312c4ba MISC metadata.xml 1482 RMD160 ebd00b361cafb047cbdc56f837415621995ff330 SHA1 8962d8d1225fb4c5f1aaa5ee8b5cb089898544fe SHA256 14d3bba97c1ffb487c5f60340b1660f016f56efda9ccd185f06d12da44ef55f6 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) -iEYEARECAAYFAktI00cACgkQ1ycZbhPLE2DKJACeMWIc9oeY5Ozdx7MnqNoWC9dM -1V4An1O/TZwzweLF9y2KqfSWP7S9o+Jo -=SE/Y +iEYEARECAAYFAkvWkvsACgkQ1ycZbhPLE2BbkQCfcqpOMZywJSDZLwtnhQ8IBBH6 +kGkAoJndA3w3s2RvFeP09eOF+mbBYW2/ +=GgD9 -----END PGP SIGNATURE----- diff --git a/sci-physics/geant/geant-4.9.3_p01.ebuild b/sci-physics/geant/geant-4.9.3_p01.ebuild new file mode 100644 index 000000000000..71b21a1a63d8 --- /dev/null +++ b/sci-physics/geant/geant-4.9.3_p01.ebuild @@ -0,0 +1,263 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-physics/geant/geant-4.9.3_p01.ebuild,v 1.1 2010/04/27 06:46:30 bicatali Exp $ + +EAPI=2 + +inherit eutils versionator toolchain-funcs + +PV1=$(get_version_component_range 1 ${PV}) +PV2=$(get_version_component_range 2 ${PV}) +PV3=$(get_version_component_range 3 ${PV}) +MY_P=${PN}$(replace_version_separator 3 .) + +DESCRIPTION="Toolkit for simulation of passage of particles through matter" +HOMEPAGE="http://geant4.cern.ch/" + +SRC_COM="http://geant4.cern.ch/support/source" +SRC_URI="${SRC_COM}/${MY_P}.tar.gz" +GEANT4_DATA="G4NDL.3.13 + G4EMLOW.6.9 + G4RadioactiveDecay.3.2 + PhotonEvaporation.2.0 + G4ABLA.3.0 + RealSurface.1.0" +for d in ${GEANT4_DATA}; do + SRC_URI="${SRC_URI} data? ( ${SRC_COM}/${d}.tar.gz )" +done + +LICENSE="geant4" +SLOT="4" +KEYWORDS="~amd64 ~hppa ~sparc ~x86" +IUSE="athena +data dawn debug examples gdml geant3 global minimal +motif + +opengl openinventor qt4 +raytracerx static-libs +vrml zlib" + +RDEPEND=">=sci-physics/clhep-2.0.4.2 + motif? ( x11-libs/openmotif ) + athena? ( x11-libs/libXaw ) + qt4? ( x11-libs/qt-gui:4 ) + openinventor? ( >=media-libs/openinventor-2.1.5.10-r3 ) + raytracerx? ( x11-libs/libX11 x11-libs/libXmu ) + opengl? ( virtual/opengl + athena? ( x11-libs/Xaw3d ) + qt4? ( x11-libs/qt-opengl:4 ) ) + gdml? ( dev-libs/xerces-c ) + geant3? ( sci-physics/geant:3 ) + dawn? ( media-gfx/dawn ) + zlib? ( sys-libs/zlib )" + +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + eval unset ${!G4*} +} + +src_prepare() { + # fix bad zlib dependency + epatch "${FILESDIR}"/${PN}-4.9.3-zlib.patch + + # propagate user's flags and compiler settings + sed -i -e 's/-o/$(LDFLAGS) -o/g' source/GNUmakefile || die + sed -i \ + -e '/CXX.*:=.*g++/d' \ + -e '/FC.*:=.*gfortran/d' \ + -e 's/\(CXXFLAGS.*:=\).*/\1 -ansi/' \ + -e '/CXXFLAGS.*+=.*pipe/d' \ + -e "/CXXFLAGS.*=.*-O2/s:=.*:= ${CXXFLAGS}:" \ + -e "/FCFLAGS.*=.*-O2/s:=.*:= ${FCFLAGS}:" \ + -e "/CCFLAGS.*=.*-O2/s:=.*:= ${CFLAGS}:" \ + -e "s:-Wl,-soname:${LDFLAGS} -Wl,-soname:g" \ + -e "s/libq\*/lib\[q,Q\]t*/g" \ + config/sys/Linux*gmk || die "flag substitution failed" + sed -i \ + -e 's:g++:$(CXX):g' \ + config/*.gmk || die "sed for forced g++ failed" + + # fix forced lib directory + sed -i \ + -e 's:$(G4LIB)/$(G4SYSTEM):$(G4LIB):g' \ + config/binmake.gmk || die "sed binmake.gmk failed" + sed -i \ + -e '/$(G4LIB)\/$(G4SYSTEM)/d' \ + config/architecture.gmk || die "sed architecture.gmk failed" + sed -i \ + -e 's:$(G4LIB)/$(G4SYSTEM):$(G4TMP):g' \ + config/common.gmk || die "sed common.gmk failed" + sed -i \ + -e 's:$(G4LIB)/$(G4SYSTEM):$(G4TMP):g' \ + config/moc.gmk || die "sed moc.gmk failed" + sed -i \ + -e 's:$(G4LIB)/$(G4SYSTEM):$(G4TMP):g' \ + -e 's:$(G4BIN)/$(G4SYSTEM):$(G4TMP):g' \ + -e 's:$(G4TMP)/$(G4SYSTEM):$(G4TMP):g' \ + source/GNUmakefile || die "sed GNUmakefile failed" + sed -i \ + -e 's:$(G4LIB)/$(G4SYSTEM):$(G4TMP):g' \ + config/globlib.gmk || die "sed globlib.gmk failed" + + # work around a non defined fortran compiler + use geant3 && export FC=$(tc-getFC) + # don't worry about the g++ name of the file, we remove all specific + export G4SYSTEM=Linux-g++ +} + +src_configure() { + export GEANT4_DIR="/usr/share/${PN}${PV1}" + # where to put compiled libraries; + # we set env var G4LIB in src_install() + # to avoid confusing make + export GEANT4_LIBDIR=/usr/$(get_libdir)/${PN}${PV1} + export G4INSTALL="${S}" + export G4WORKDIR="${S}" + export G4INCLUDE="${D}/usr/include/${PN}" + export CLHEP_BASE_DIR=/usr + + # parse USE; just set flags of drivers to build, G4*_USE_* vars are set + # later automatically for G4*_BUILD_*_DRIVER + use minimal && export G4UI_NONE=y \ + && export G4VIS_NONE=y + + use motif && export G4UI_BUILD_XM_SESSION=y + use athena && export G4UI_BUILD_XAW_SESSION=y + if use qt4; then + export G4UI_BUILD_QT_SESSION=y + export QTLIBS="-L/usr/$(get_libdir)/qt4 -lQtCore -lQtGui" + export QTFLAGS="-I/usr/include/qt4 -I/usr/include/qt4/Qt" + use opengl && \ + export GLQTLIBS="${QTLIBS} -lQtOpenGL" + #export QTFLAGS="${QTFLAGS} -I/usr/include/qt4/QtOpenGL" + fi + use dawn && export G4VIS_BUILD_DAWN_DRIVER=y + use raytracerx && export G4VIS_BUILD_RAYTRACERX_DRIVER=y + use openinventor && export G4VIS_BUILD_OI_DRIVER=y + use opengl && export G4VIS_BUILD_OPENGLX_DRIVER=y + use opengl && use motif && export G4VIS_BUILD_OPENGLXM_DRIVER=y + use gdml && export G4LIB_BUILD_GDML=y + use geant3 && export G4LIB_BUILD_G3TOG4=y + use zlib && export G4LIB_USE_ZLIB=y + use vrml && export G4VIS_BUILD_VRML_DRIVER=y \ + && export G4VIS_BUILD_VRMLFILE_DRIVER=y + use data && export G4DATA="${GEANT4_DIR}/data" + use debug && export G4DEBUG=y || export G4OPTIMIZE=y + + # switch to see compiling flags + export CPPVERBOSE=y + + # if shared libs are built, the script will also build static libs + # with pic flags + # avoid that by building it twice and removing temporary objects + export G4LIB_BUILD_SHARED=y +} + +src_compile() { + cd "${S}/source/" + einfo "Building shared library" + emake || die "Building shared geant failed" + + if use global; then + export G4LIB_USE_GRANULAR=y + einfo "Building granular libraries" + emake global || die "Building global libraries failed" + emake || die "Rebuilding shared geant failed" + fi + + if use static-libs; then + einfo "Building static libraries" + rm -rf tmp + export G4LIB_BUILD_STATIC=y ; unset G4LIB_BUILD_SHARED + emake || die "Building static geant failed" + fi +} + +g4_create_env_script() { + # we need to change some variables to the final values since we hide these + # from make during the compile + export G4INSTALL=${GEANT4_DIR} + export G4LIB=${GEANT4_LIBDIR} + export G4INCLUDE=${G4INCLUDE/${D}/} + export G4WORKDIR=\${HOME}/${PN}${PV1} + + local g4env=99${PN}${PV1} + cat <<-EOF > ${g4env} + LDPATH=${G4LIB} + CLHEP_BASE_DIR=${CLHEP_BASE_DIR} + EOF + + # detailed data file locations + if use data; then + G4LEVELGAMMADATA="${G4DATA}/$(basename ${WORKDIR}/PhotonEvaporation*)" + G4RADIOACTIVEDATA="${G4DATA}/$(basename ${WORKDIR}/RadioactiveDecay*)" + G4LEDATA="${G4DATA}/$(basename ${WORKDIR}/G4EMLOW*)" + G4ABLADATA="${G4DATA}/$(basename ${WORKDIR}/G4ABLA*)" + G4NEUTRONHPCROSSSECTIONS="${G4DATA}/$(basename ${WORKDIR}/G4NDL*)" + G4REALSURFACEDATA="${G4DATA}/$(basename ${WORKDIR}/G4REALSURFACEDATA*)" + export G4LEVELGAMMADATA G4RADIOACTIVEDATA G4LEDATA \ + G4ABLADATA G4NEUTRONHPCROSSSECTIONS G4REALSURFACEDATA + fi + + # read env variables defined upto now + printenv | grep ^G4 | uniq >> ${g4env} + # define env vars for capabilities we can build into user projects + printenv | uniq | \ + sed -n -e '/^G4/s:BUILD\(.*\)_DRIVER:USE\1:gp' >> ${g4env} + doenvd ${g4env} || die "Installing environment scripts failed " +} + +src_install() { + # install headers via make since we want them in a single directory + cd "${S}/source/" + einfo "Installing Geant4 headers" + emake includes || die 'Installing headers failed' + cd "${S}" + + # but install libraries and Geant library tool manually + einfo "Installing Geant4 libraries" + insinto ${GEANT4_LIBDIR} + insopts -m0755 + doins tmp/*.so || die + doins tmp/libname.map || die + insopts -m0644 + if use static-libs; then + doins tmp/*.a || die + fi + exeinto ${GEANT4_LIBDIR} + doexe tmp/liblist || die + + g4_create_env_script + + # configs + insinto ${GEANT4_DIR} + doins -r config || die + + # install data + if use data; then + einfo "Installing Geant4 data" + insinto ${G4DATA} + pushd "${WORKDIR}" > /dev/null + for d in ${GEANT4_DATA}; do + local p=${d/.} + doins -r *${p/G4} || die "installing data ${d} failed" + done + popd > /dev/null + fi + + # doc and examples + insinto /usr/share/doc/${PF} + local mypv="${PV1}.${PV2}.${PV3}" + doins ReleaseNotes/ReleaseNotes${mypv}.html + [[ -e ReleaseNotes/Patch${mypv}-1.txt ]] && \ + dodoc ReleaseNotes/Patch${mypv}-*.txt + + use examples && doins -r examples + # TODO: * momo with momo or java flag, and check java stuff +} + +pkg_postinst() { + elog "Geant4 projects are by default build in \$HOME/geant4." + elog "If you want to change, set \$G4WORKDIR to another directory." + + elog "To use Aida you have to explicitly set G4ANALYSIS_USE=y for" + elog "your environment." +} -- 2.26.2