summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2010-09-29 20:23:41 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2010-09-29 20:23:41 +0000
commit0ec4465be96e1281b951c6954537207a0b20c566 (patch)
tree1c04274f110d86292af75b88c64900289af45c68 /sci-physics/geant
parentMarking argparse-1.1 ~ppc for bug 330569 (diff)
downloadhistorical-0ec4465be96e1281b951c6954537207a0b20c566.tar.gz
historical-0ec4465be96e1281b951c6954537207a0b20c566.tar.bz2
historical-0ec4465be96e1281b951c6954537207a0b20c566.zip
Version bump. Patch release, thanks Ben Bannier
Package-Manager: portage-2.2_rc88/cvs/Linux x86_64
Diffstat (limited to 'sci-physics/geant')
-rw-r--r--sci-physics/geant/ChangeLog8
-rw-r--r--sci-physics/geant/Manifest10
-rw-r--r--sci-physics/geant/geant-4.9.3_p02.ebuild263
3 files changed, 276 insertions, 5 deletions
diff --git a/sci-physics/geant/ChangeLog b/sci-physics/geant/ChangeLog
index 4ad79d3a592f..9dcaf338d154 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.40 2010/08/12 16:26:56 bicatali Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/geant/ChangeLog,v 1.41 2010/09/29 20:23:41 bicatali Exp $
+
+*geant-4.9.3_p02 (29 Sep 2010)
+
+ 29 Sep 2010; Sébastien Fabbro <bicatali@gentoo.org>
+ +geant-4.9.3_p02.ebuild:
+ Version bump
12 Aug 2010; Sébastien Fabbro <bicatali@gentoo.org>
geant-4.9.2_p02.ebuild, -geant-4.9.3.ebuild, geant-4.9.3_p01.ebuild:
diff --git a/sci-physics/geant/Manifest b/sci-physics/geant/Manifest
index 053d14827027..236ab3f6f476 100644
--- a/sci-physics/geant/Manifest
+++ b/sci-physics/geant/Manifest
@@ -14,15 +14,17 @@ DIST geant321_3.21.14.dfsg-8.diff.gz 41909 RMD160 4edbe5d3dd93a78198fa2d2d83770c
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.p02.tar.gz 20009687 RMD160 3fc3ce68965666670a2cf6e7dbe93c00b305fc30 SHA1 1728ea641ecb7ff50d2f44366add3a7569967839 SHA256 9fed501a6b0fed9050655633998acb942f7be430711e08f234dd748c23037a90
EBUILD geant-3.21.14-r2.ebuild 1863 RMD160 a24572d55551dabe6aa3bb67244c73583e38e314 SHA1 9d3da57a8babf1ab23f03c477809bf6bf4fa1fce SHA256 b43857a4a7e68cc26260eaea8285f16f216dc47d70d61886cc71258cb91512fa
EBUILD geant-4.9.2_p02.ebuild 8100 RMD160 5f56d7c043d687f4f946c4b94e062c97c3ccb6ce SHA1 02682c039d12e985482d4c733af9296539f532bc SHA256 9b7f67c1ee8f302674b6733673f584a3c847f94e8af88a92d8569bd7098493cf
EBUILD geant-4.9.3_p01.ebuild 8255 RMD160 2a93814c9313eb66afb7d48f26404a9c31d61ea2 SHA1 8e4de552a02faa2bbfae12cf40558f0d03cd9b66 SHA256 dc6ba4479ba6ebff7e06e440ca76b808c3613827a818b8f3751ae518b3b38b4f
-MISC ChangeLog 7259 RMD160 b1b8a35490dbf508ab0f45e83a5738efb6365e47 SHA1 56bd4a0cc6287bfa65be075eb94179a034ea8883 SHA256 3545057b31d9627134ffa94b6888978af39f5c8ba1a46dbf33c0def7201b0d5e
+EBUILD geant-4.9.3_p02.ebuild 8255 RMD160 4ac4fb5b3b37dbf6e422ba792eb6516a22a69974 SHA1 1d943620d31fb9957193c7a8efd41ee8b7feedd2 SHA256 cf16a4c822e36b590af064086d1bbf8608353c0604811b2ea37f71357813ca0c
+MISC ChangeLog 7389 RMD160 7aa06048336db36f8db6b269b3b081d1d91ba007 SHA1 0d4f4edf7b035bf8b674e0767819b8284bc4b37e SHA256 abaa5981e092632693bf89bec43fe8471405bcce19b867c7aab7416fee61c88f
MISC metadata.xml 1482 RMD160 ebd00b361cafb047cbdc56f837415621995ff330 SHA1 8962d8d1225fb4c5f1aaa5ee8b5cb089898544fe SHA256 14d3bba97c1ffb487c5f60340b1660f016f56efda9ccd185f06d12da44ef55f6
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
-iEYEARECAAYFAkxkLEwACgkQ1ycZbhPLE2C2nACfc3rAjwob7A1FmGMemtSAH0iL
-AUcAoIPJ1YTodWZwAri+VQ9l5jTvaSio
-=DJji
+iEYEARECAAYFAkyjoF4ACgkQ1ycZbhPLE2DpuwCgg8WSD86GlJQZlKeAwF1ci/zO
+JkAAn1tF0qLN8ZKe28/5TjDHU1CCA+c1
+=x5mw
-----END PGP SIGNATURE-----
diff --git a/sci-physics/geant/geant-4.9.3_p02.ebuild b/sci-physics/geant/geant-4.9.3_p02.ebuild
new file mode 100644
index 000000000000..830f4f6480fb
--- /dev/null
+++ b/sci-physics/geant/geant-4.9.3_p02.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_p02.ebuild,v 1.1 2010/09/29 20:23:41 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.1
+ 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."
+}