Files
gentoo/sci-physics/geant-python/geant-python-4.10.00.ebuild
Robin H. Johnson 56bd759df1 proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.

This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.

Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
2015-08-08 17:38:18 -07:00

123 lines
3.5 KiB
Bash

# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_3} )
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"
RDEPEND="
${PYTHON_DEPS}
dev-libs/boost[${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
}