summaryrefslogtreecommitdiff
path: root/sci-physics/geant-python
diff options
context:
space:
mode:
Diffstat (limited to 'sci-physics/geant-python')
-rw-r--r--sci-physics/geant-python/Manifest10
-rw-r--r--sci-physics/geant-python/files/geant-python-4.10.0-config.patch27
-rw-r--r--sci-physics/geant-python/files/geant-python-4.10.0-polycone.patch15
-rw-r--r--sci-physics/geant-python/files/geant-python-4.9.5-visverbose.patch13
-rw-r--r--sci-physics/geant-python/geant-python-4.10.00.ebuild122
-rw-r--r--sci-physics/geant-python/geant-python-4.9.6_p02.ebuild120
-rw-r--r--sci-physics/geant-python/metadata.xml11
7 files changed, 318 insertions, 0 deletions
diff --git a/sci-physics/geant-python/Manifest b/sci-physics/geant-python/Manifest
new file mode 100644
index 000000000000..b248438fd5c3
--- /dev/null
+++ b/sci-physics/geant-python/Manifest
@@ -0,0 +1,10 @@
+AUX geant-python-4.10.0-config.patch 879 SHA256 472fdaabbc9bfc55e53e103c8c607f46ec254cb6cdb5d94f96fa0ec9a357eaa1 SHA512 409951aeaf6cb33d8ab0d70c94ab04901f449554c8e1e14706a40144e132d4f33543e85740d7f99ca32bfd28fac1e12ddd6deeee6d0b101c42283fdf74da5ea7 WHIRLPOOL 8e804ca3e0ad6d70fb9c1bf5201086108d6fceb1ac6035ebe498d05e77c9cab6156f775ff3d10eaae8a72fc83b33212aef87cdd512961ddb0fe22a8da79fcd0f
+AUX geant-python-4.10.0-polycone.patch 609 SHA256 8a32107400595505079f119fe90d16e5399b41a00761e24d927c4d88d7e0710f SHA512 d65395f12928ca500452545c19bcdefd0b3740fb27c2ff2ccd01748d70347e1d3e8935d94e9b1ae142037c0930551e58bc6dd93dd944c3d712255555a639d5c5 WHIRLPOOL 0ca9675689078c901de99094d15ae6467d7ebcd3f6f49a3068d9ab00e6c2b42e0cccf51019c93d097a9d7fcb74572288b03da3f59cd81404a0d92ec1dd85b1ef
+AUX geant-python-4.9.5-visverbose.patch 557 SHA256 0955cd39ce1f8e842e2804370359a4e367b14f4791a40fd653918c32884bed8a SHA512 6780065ef2ba4efa79bdd835e500f25309baf6b3d8bf2418b83f2cbb984a8b6a48d27e10a1327cd42e6e236663557fedb5bb2f9f34ee0d1631fc316868959fb0 WHIRLPOOL f3a982c6d8781bf04094f85cd6d0187d984dfb45eff1676d7e459b4d7614847890e40ec63b56a52e0c8bcc5e273d4d333795e14fac3056c22b0c960a9d3ba556
+DIST geant4.10.00.tar.gz 30780131 SHA256 ffec1714b03748b6d691eb0b91906f4c74422c1ad1f8afa918e03be421af8a17 SHA512 c9288b26df8b858622e728158b687cd7bc257c49f26a21b93d1b9fa4619c22dfea2a7604689118ac493b407888690db42d1ec9c8048aa1f45bf8beeb6a657e87 WHIRLPOOL 20eb2002e867a0fe3dab683820ebeeb5de2140c5cd7c4c57c07b5da2a62900d4ee2bf1f6372e034781ed536001e40a5a79d5654729e45a16995415febfefb26d
+DIST geant4.9.6.p02.tar.gz 25480383 SHA256 cf5df83b7e2c99e6729449b32d3ecb0727b4692317426b66fc7fd41951c7351f SHA512 dab5f31568074869adecbbfb8855be0c0a2e92e5ba3119dbeb9cd414878721df3052198a05e5e3c19d0e2942a22602c6618dc0628b05134d3403a50c2bc2032c WHIRLPOOL 8c66d8aa1605a42e6b6f054c32eb49df0bb2afcdf54360ff630908ce7cfc8a7a37b62cdb2a1612af05f1f70a5575c6516aad1f6737a67692449b01e1137b2865
+EBUILD geant-python-4.10.00.ebuild 3588 SHA256 3f513bb26d0bb13756e2604e84a00fbbfd0491f7dffd79d424b31ad02154b3b7 SHA512 12958db78cddbcf273d01f5dc77638fdcfbc6cdd0e17db47a715c465700ef53699e8049dc24c8319184de216accd29b626ced19fbb69d20a83faf3e2ebebd422 WHIRLPOOL c18df269057bad095aa2e98e4b4f843e485ede320e3fd4d8ff5771d571d452a7771d49b2bcf146b5899295db896eed250aa1f8b563dccebb984c7eee207d483b
+EBUILD geant-python-4.9.6_p02.ebuild 3490 SHA256 4f05255892c90850b15e86f6b41b9d367474dfba957505f85e5f639457218661 SHA512 6d119b9fc63e3d4e3556404f8e1d27af4f8b1f81f4ba13f95be171e3b03d7cb2ed51a138881e750212b96c6a32fe13cd250057607a72ad8452dca9198d442574 WHIRLPOOL a88f97e18d44cdada1678b01be861e1bab1221d9f9788fdf79a8f13059d7c4187f0d4e05fdbf4d404aee4813a83c20a885c568227586c24f7c9a23374a6677fa
+MISC ChangeLog 2821 SHA256 9cd529521956344a8abdc626342454662d5793de2fa7b99213629dbeec7a0ae0 SHA512 c954c0ed9aa3d8615f4fe4e5e1ba14ef24e96172a16d901b2aca409faaf12502af3688d07b179958cc04cbd703a43bb99a5da910cd7e1debb1812963bfb116a0 WHIRLPOOL 0e567c0e4ce21998c631c1453411d6333e8b4455fc8c49a09278c50642aa0966e343ce18856a6e5ad323d0e9d0912361a5b5d65fbcac09f500040bf297274acc
+MISC ChangeLog-2015 2344 SHA256 df12b674db14f4e8d144799ca4ac77c75e372e2125b322c28336b52433d2a63b SHA512 3964bdbf9af86e84c7239401b2ae71319560e8cf405fe0f7dc32f9f2b3da553de445cc07e699c8aee74707efb19646d47d0fdbe85f73730c41d7625f5998cab8 WHIRLPOOL 54b8feab52aa9f938eae05f4c3966aad61e5a78cd010dad0ce4153b2fce49fe259ba4dd99300baf2e78176a721bcd3d20409cfc2ee84d0795650f1e03bf51f05
+MISC metadata.xml 333 SHA256 0a8d137678edd11292fc65f6c113609c842fd895fb6d28449be9cfc71d955381 SHA512 3c56efce8e638e6f6ad80b982b464ee14fff38b07e02631eee8836a0e955e073cc5ca8cf0fad639eceec414c34de7d1b669511991c45ca89b15e9f10d6d61c66 WHIRLPOOL 487cbc93ca3b40f753226b35edbf465c5d5288dc2ab44c383dbdae0f5453228796f2052e7e272072b36d2111370d32882fa343f74b030b92b60c1f2f06bcabfd
diff --git a/sci-physics/geant-python/files/geant-python-4.10.0-config.patch b/sci-physics/geant-python/files/geant-python-4.10.0-config.patch
new file mode 100644
index 000000000000..50f4dabb43c3
--- /dev/null
+++ b/sci-physics/geant-python/files/geant-python-4.10.0-config.patch
@@ -0,0 +1,27 @@
+do not hard code PATH; QGSP.hh is renamed to G4QGSParticipants.hh in geant-4.10
+
+http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1545
+http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1546
+Index: g4py/configure
+===================================================================
+--- g4py.orig/configure
++++ g4py/configure
+@@ -4,9 +4,6 @@
+ # ======================================================================
+ export LANG=C
+
+-PATH=/bin:/usr/bin
+-export PATH
+-
+ # ======================================================================
+ # testing the echo features
+ # ======================================================================
+@@ -377,7 +374,7 @@ fi
+
+ # ---
+ echo $ac_n "Checking for physics list support ...$ac_c"
+-if [ -f "$g4_incdir"/QGSP.hh ]; then
++if [ -f "$g4_incdir"/G4QGSParticipants.hh ]; then
+ enable_physicslist=1
+ fi
+ if [ $enable_physicslist = 0 ]; then
diff --git a/sci-physics/geant-python/files/geant-python-4.10.0-polycone.patch b/sci-physics/geant-python/files/geant-python-4.10.0-polycone.patch
new file mode 100644
index 000000000000..492e4700ac4f
--- /dev/null
+++ b/sci-physics/geant-python/files/geant-python-4.10.0-polycone.patch
@@ -0,0 +1,15 @@
+polycone API has been changed.
+
+http://bugzilla-geant4.kek.jp/show_bug.cgi?id=1544
+Index: g4py/source/geometry/pyG4Polycone.cc
+===================================================================
+--- g4py.orig/source/geometry/pyG4Polycone.cc
++++ g4py/source/geometry/pyG4Polycone.cc
+@@ -96,7 +96,6 @@ void export_G4Polycone()
+ .def("GetStartPhi", &G4Polycone::GetStartPhi)
+ .def("GetEndPhi", &G4Polycone::GetEndPhi)
+ .def("IsOpen", &G4Polycone::IsOpen)
+- .def("IsGeneric", &G4Polycone::IsGeneric)
+ .def("GetNumRZCorner", &G4Polycone::GetNumRZCorner)
+
+ // operators
diff --git a/sci-physics/geant-python/files/geant-python-4.9.5-visverbose.patch b/sci-physics/geant-python/files/geant-python-4.9.5-visverbose.patch
new file mode 100644
index 000000000000..0508f28b6fa6
--- /dev/null
+++ b/sci-physics/geant-python/files/geant-python-4.9.5-visverbose.patch
@@ -0,0 +1,13 @@
+diff --git a/source/visualization/pyG4VisManager.cc b/source/visualization/pyG4VisManager.cc
+index 33bb0d4..00f86a5 100644
+--- a/source/visualization/pyG4VisManager.cc
++++ b/source/visualization/pyG4VisManager.cc
+@@ -41,7 +41,7 @@ using namespace boost::python;
+ // ====================================================================
+ class PyG4VisManager : public G4VisManager {
+ public:
+- PyG4VisManager() { SetVerboseLevel(quiet); }
++ PyG4VisManager() { SetVerboseLevel(all); }
+ ~PyG4VisManager() { }
+
+ virtual void RegisterGraphicsSystems() { }
diff --git a/sci-physics/geant-python/geant-python-4.10.00.ebuild b/sci-physics/geant-python/geant-python-4.10.00.ebuild
new file mode 100644
index 000000000000..160244ef9e49
--- /dev/null
+++ b/sci-physics/geant-python/geant-python-4.10.00.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1 versionator multilib eutils
+
+MYP="geant$(replace_version_separator 3 .)"
+
+DESCRIPTION="Python bindings for Geant4"
+HOMEPAGE="http://geant4.cern.ch/"
+SRC_URI="http://geant4.cern.ch/support/source/${MYP}.tar.gz"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+LICENSE="geant4"
+SLOT="0"
+IUSE="examples"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-libs/xerces-c
+ =sci-physics/geant-${PV}*"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYP}/environments/g4py"
+
+pkg_setup() {
+ if use amd64; then
+ ARG=linux64
+ elif use x86; then
+ ARG=linux
+ else
+ die "platform unknown"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.9.5-visverbose.patch
+ epatch "${FILESDIR}"/${PN}-4.10.0-config.patch
+ epatch "${FILESDIR}"/${PN}-4.10.0-polycone.patch
+ sed -i -e "s/lib64/$(get_libdir)/g" configure || die
+ sed -i -e 's/-lG4clhep/-lCLHEP/g' config/g4py.gmk || die
+ # respect user toolchain and flags
+ sed -i \
+ -e '/^CXX.*:=/d' \
+ -e '/CXXFLAGS/s/-f\(template-depth-255\|inline-functions\|permissive\)//g' \
+ -e "/CXXFLAGS/s/-O2/${CXXFLAGS}/g" \
+ -e '/^rpathflag/s|:\($(rpath.)\)| -Wl,-rpath,\1 |g' \
+ -e "s/\$(rpathflag)/\$(LDFLAGS) \$(rpathflag)/g" \
+ config/sys/linux* || die
+ python_copy_sources
+
+ run_sed() {
+ sed -i -e "s/\(python_exe=\)python/\1${EPYTHON}/" configure || die
+ [[ ${EPYTHON} == python3* ]] && sed -i -e "s/with_python3=0/with_python3=1/" configure
+ # let Geant4 module installed into python sitedir instead of default
+ sed -i \
+ -e "/G4PY_LIBDIR :=/cG4PY_LIBDIR := $\(DESTDIR\)$(python_get_sitedir)/Geant4" \
+ config/install.gmk || die "sed failed on config/install.gmk"
+
+ local mfile
+ for mfile in source/python{3,}/GNUmakefile
+ do
+ sed -i \
+ -e "/install_dir :=/cinstall_dir := $\(DESTDIR\)$(python_get_sitedir)/Geant4" \
+ "${mfile}" || die "sed failed on ${mfile}"
+ done
+
+ # let g4py module installed into python sitedir instead of default
+ sed -i \
+ -e "/install_dir :=/cinstall_dir := $\(DESTDIR\)$(python_get_sitedir)/g4py" \
+ config/site-install.gmk || die "sed failed on config/site-install.gmk"
+ for mfile in {processes/emcalculator,utils/MCScore}/{python3/,}GNUmakefile python/GNUmakefile
+ do
+ sed -i \
+ -e "/install_dir :=/cinstall_dir := $\(DESTDIR\)$(python_get_sitedir)/g4py" \
+ "site-modules/${mfile}" || die "sed failed on site-modules/${mfile}"
+ done
+
+ }
+ python_foreach_impl run_in_build_dir run_sed
+}
+
+src_configure() {
+ run_configure() {
+ # not the autotools configure
+ ./configure ${ARG} \
+ --prefix="${EPREFIX}/usr" \
+ --with-g4install-dir="${EPREFIX}/usr" \
+ --with-python-incdir="$(python_get_includedir)" \
+ --with-python-libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-boost-incdir="${EPREFIX}/usr/include" \
+ --with-boost-libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-boost-python-lib="boost_python-${EPYTHON#python}" \
+ --with-xercesc-incdir="${EPREFIX}/usr/include" \
+ --with-xercesc-libdir="${EPREFIX}/usr/$(get_libdir)" \
+ || die "configure failed"
+ }
+ python_foreach_impl run_in_build_dir run_configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir emake CPPVERBOSE=1
+}
+
+src_test() {
+ run_test() {
+ emake -C tests
+ }
+ python_foreach_impl run_in_build_dir run_test
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ dodoc README.md History
+ insinto /usr/share/doc/${PF}
+ use examples && doins -r examples
+}
diff --git a/sci-physics/geant-python/geant-python-4.9.6_p02.ebuild b/sci-physics/geant-python/geant-python-4.9.6_p02.ebuild
new file mode 100644
index 000000000000..f590877fadab
--- /dev/null
+++ b/sci-physics/geant-python/geant-python-4.9.6_p02.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-r1 versionator multilib eutils
+
+MYP="geant$(replace_version_separator 3 .)"
+
+DESCRIPTION="Python bindings for Geant4"
+HOMEPAGE="http://geant4.cern.ch/"
+SRC_URI="http://geant4.cern.ch/support/source/${MYP}.tar.gz"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+LICENSE="geant4"
+SLOT="0"
+IUSE="examples"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-libs/xerces-c
+ =sci-physics/geant-${PV}*"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MYP}/environments/g4py"
+
+pkg_setup() {
+ if use amd64; then
+ ARG=linux64
+ elif use x86; then
+ ARG=linux
+ else
+ die "platform unknown"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-4.9.5-visverbose.patch
+ sed -i -e "s/lib64/$(get_libdir)/g" configure || die
+ sed -i -e 's/-lG4clhep/-lCLHEP/g' config/g4py.gmk || die
+ # respect user toolchain and flags
+ sed -i \
+ -e '/^CXX.*:=/d' \
+ -e '/CXXFLAGS/s/-f\(template-depth-255\|inline-functions\|permissive\)//g' \
+ -e "/CXXFLAGS/s/-O2/${CXXFLAGS}/g" \
+ -e '/^rpathflag/s|:\($(rpath.)\)| -Wl,-rpath,\1 |g' \
+ -e "s/\$(rpathflag)/\$(LDFLAGS) \$(rpathflag)/g" \
+ config/sys/linux* || die
+ python_copy_sources
+
+ run_sed() {
+ sed -i -e "s/\(python_exe=\)python/\1${EPYTHON}/" configure || die
+ [[ ${EPYTHON} == python3* ]] && sed -i -e "s/with_python3=0/with_python3=1/" configure
+ # let Geant4 module installed into python sitedir instead of default
+ sed -i \
+ -e "/G4PY_LIBDIR :=/cG4PY_LIBDIR := $\(DESTDIR\)$(python_get_sitedir)/Geant4" \
+ config/install.gmk || die "sed failed on config/install.gmk"
+
+ local mfile
+ for mfile in source/python{3,}/GNUmakefile
+ do
+ sed -i \
+ -e "/install_dir :=/cinstall_dir := $\(DESTDIR\)$(python_get_sitedir)/Geant4" \
+ "${mfile}" || die "sed failed on ${mfile}"
+ done
+
+ # let g4py module installed into python sitedir instead of default
+ sed -i \
+ -e "/install_dir :=/cinstall_dir := $\(DESTDIR\)$(python_get_sitedir)/g4py" \
+ config/site-install.gmk || die "sed failed on config/site-install.gmk"
+ for mfile in {processes/emcalculator,utils/MCScore}/{python3/,}GNUmakefile python/GNUmakefile
+ do
+ sed -i \
+ -e "/install_dir :=/cinstall_dir := $\(DESTDIR\)$(python_get_sitedir)/g4py" \
+ "site-modules/${mfile}" || die "sed failed on site-modules/${mfile}"
+ done
+
+ }
+ python_foreach_impl run_in_build_dir run_sed
+}
+
+src_configure() {
+ run_configure() {
+ # not the autotools configure
+ ./configure ${ARG} \
+ --prefix="${EPREFIX}/usr" \
+ --with-g4install-dir="${EPREFIX}/usr" \
+ --with-python-incdir="$(python_get_includedir)" \
+ --with-python-libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-boost-incdir="${EPREFIX}/usr/include" \
+ --with-boost-libdir="${EPREFIX}/usr/$(get_libdir)" \
+ --with-boost-python-lib="boost_python-${EPYTHON#python}" \
+ --with-xercesc-incdir="${EPREFIX}/usr/include" \
+ --with-xercesc-libdir="${EPREFIX}/usr/$(get_libdir)" \
+ || die "configure failed"
+ }
+ python_foreach_impl run_in_build_dir run_configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir emake CPPVERBOSE=1
+}
+
+src_test() {
+ run_test() {
+ emake -C tests
+ }
+ python_foreach_impl run_in_build_dir run_test
+}
+
+src_install() {
+ python_foreach_impl run_in_build_dir emake DESTDIR="${D}" install
+ dodoc README.md History
+ insinto /usr/share/doc/${PF}
+ use examples && doins -r examples
+}
diff --git a/sci-physics/geant-python/metadata.xml b/sci-physics/geant-python/metadata.xml
new file mode 100644
index 000000000000..b6b36d34b7c5
--- /dev/null
+++ b/sci-physics/geant-python/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>sci-physics@gentoo.org</email>
+ <name>Gentoo Physics Project</name>
+</maintainer>
+<longdescription lang="en">
+ Python binding to Geant 4.
+</longdescription>
+</pkgmetadata>