# Maintainer: Konstantin Gizdov < arch at kge dot pw > # Contributor: Joshua Ellis < josh at jpellis dot me > # Contributor: Stefano Campanella < stefanocampanella1729 at gmail dot com > pkgbase=pythia pkgname=('pythia' 'python-pythia' 'python2-pythia') pkgver=8.2.35 _pkgid="${pkgbase}${pkgver//./}" pkgrel=7 pkgdesc="High-energy physics events generator." arch=('i686' 'x86_64') url="http://home.thep.lu.se/Pythia/" license=('GPL') depends=('python') makedepends=('python' 'python2' 'fastjet' 'hepmc' 'lhapdf>=6.2' 'root') source=("http://home.thep.lu.se/~torbjorn/pythia8/${_pkgid}.tgz" 'pythia.sh' 'change_to_python2.patch' 'fix_lhapdf_build.patch' 'respect_lib_suffix.patch') sha256sums=('e82f0d6165a8250a92e6aa62fb53201044d8d853add2fdad6d3719b28f7e8e9d' 'cb9773da0774a3ec9e0c1d345321770121504b223ab634ba74ed82901d3eee12' 'bae1a65399cd2ee599db1758d60da2a1c93335ec4dbd30e323250c156f491086' 'f7c70b069b350005ac7e9028617713dece9b82c1e8b0dc5fb1f2870abec1d94c' '4eb15725cfb5e287fdd9520cb4211b88ebc38a690b7522690ba0664d50bc8669') get_pyver () { python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))' } get_py2ver () { python2 -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))' } prepare() { _inc=/usr/include/ _lib=/usr/lib/ _share=/usr/share/pythia cd "${srcdir}/${_pkgid}" patch -p1 -i "${srcdir}/respect_lib_suffix.patch" patch -p1 -i "${srcdir}/fix_lhapdf_build.patch" cd "${srcdir}" cp -r "${_pkgid}" "${_pkgid}-py2" # with Python3 cd "${srcdir}/${_pkgid}" # # no such package yet # --with-evtgen \ # --with-evtgen-include=${_inc} \ # --with-evtgen-lib=${_lib} \ # # no such package yet # --with-hepmc3 \ # --with-hepmc3-include=${_inc} \ # --with-hepmc3-lib=${_lib} \ # # no such package yet # --with-powheg \ # --with-powheg-include=${_inc} \ # --with-powheg-lib=${_lib} \ # # no such package yet # --with-promc \ # --with-promc-include=${_inc} \ # --with-promc-lib=${_lib} \ ./configure --prefix="/usr" \ --prefix-include=${_inc} \ --prefix-lib=${_lib} \ --prefix-share=${_share} \ --cxx-common="${CXXFLAGS} -fPIC" \ --cxx-shared="-shared ${LDFLAGS} -ldl" \ --enable-shared \ --with-fastjet3 \ --with-fastjet3-include=${_inc} \ --with-fastjet3-lib=${_lib} \ --with-gzip \ --with-gzip-include=${_inc} \ --with-gzip-lib=${_lib} \ --with-hepmc2 \ --with-hepmc2-include=${_inc} \ --with-hepmc2-lib=${_lib} \ --with-lhapdf5 \ --with-lhapdf5-include=${_inc} \ --with-lhapdf5-lib=${_lib} \ --with-lhapdf6 \ --with-lhapdf6-include=${_inc} \ --with-lhapdf6-lib=${_lib} \ --with-python \ --with-python-include="/usr/include/python$(get_pyver)m/" \ --with-python-lib="/usr/lib/python$(get_pyver)/" \ --with-root \ --with-root-include=/usr/include/root/ \ --with-root-lib=/usr/lib/root/ # with Python2 cd "${srcdir}/${_pkgid}-py2" patch -p1 -i "${srcdir}/change_to_python2.patch" # # no such package yet # --with-evtgen \ # --with-evtgen-include=${_inc} \ # --with-evtgen-lib=${_lib} \ # # no such package yet # --with-hepmc3 \ # --with-hepmc3-include=${_inc} \ # --with-hepmc3-lib=${_lib} \ # # no such package yet # --with-powheg \ # --with-powheg-include=${_inc} \ # --with-powheg-lib=${_lib} \ # # no such package yet # --with-promc \ # --with-promc-include=${_inc} \ # --with-promc-lib=${_lib} \ ./configure --prefix="/usr" \ --prefix-include=${_inc} \ --prefix-lib=${_lib} \ --prefix-share=${_share} \ --cxx-common="${CXXFLAGS} -fPIC" \ --cxx-shared="-shared ${LDFLAGS} -ldl" \ --enable-shared \ --with-fastjet3 \ --with-fastjet3-include=${_inc} \ --with-fastjet3-lib=${_lib} \ --with-gzip \ --with-gzip-include=${_inc} \ --with-gzip-lib=${_lib} \ --with-hepmc2 \ --with-hepmc2-include=${_inc} \ --with-hepmc2-lib=${_lib} \ --with-lhapdf5 \ --with-lhapdf5-include=${_inc} \ --with-lhapdf5-lib=${_lib} \ --with-lhapdf6 \ --with-lhapdf6-include=${_inc} \ --with-lhapdf6-lib=${_lib} \ --with-python \ --with-python-include="/usr/include/python$(get_py2ver)/" \ --with-python-lib="/usr/lib/python$(get_py2ver)/" \ --with-root \ --with-root-include=/usr/include/root/ \ --with-root-lib=/usr/lib/root/ } build() { cd "${srcdir}/${_pkgid}" make cd "${srcdir}/${_pkgid}-py2" make } package_pythia() { pkgdesc="High-energy physics events generator." depends=('python') optdepends=('fastjet: fast jet finding in pp and e+e- collisions' 'hepmc: storing collisions from Monte Carlo' 'lhapdf: evaluate PDFs from discretised data files' 'root: integrate with CERN ROOT data analysis framework') cd "${srcdir}/${_pkgid}" install -Dm755 bin/pythia8-config "${pkgdir}/usr/bin/pythia-config" install -Dm644 lib/libpythia8.a "${pkgdir}/usr/lib/libpythia.a.8" install -Dm755 lib/libpythia8.so "${pkgdir}/usr/lib/libpythia.so.8" install -Dm755 lib/libpythia8lhapdf5.so "${pkgdir}/usr/lib/libpythialhapdf.so.5" install -Dm755 lib/libpythia8lhapdf6.so "${pkgdir}/usr/lib/libpythialhapdf.so.6" cp -r include "${pkgdir}/usr/" install -d "${pkgdir}/usr/share/${pkgbase}" cp -r share/Pythia8/* "${pkgdir}/usr/share/${pkgbase}/" cp -r examples "${pkgdir}/usr/share/${pkgbase}/" install -D "${srcdir}/pythia.sh" "${pkgdir}/etc/profile.d/pythia.sh" cd "${pkgdir}/usr/bin" ln -s pythia-config pythia8-config cd "${pkgdir}/usr/lib" ln -s libpythia.a.8 libpythia.a ln -s libpythia.a.8 libpythia8.a ln -s libpythia.so.8 libpythia.so ln -s libpythia.so.8 libpythia8.so ln -s libpythialhapdf.so.5 libpythialhapdf5.so ln -s libpythialhapdf.so.5 libpythia8lhapdf5.so ln -s libpythialhapdf.so.6 libpythialhapdf.so ln -s libpythialhapdf.so.6 libpythialhapdf6.so ln -s libpythialhapdf.so.6 libpythia8lhapdf6.so } package_python-pythia() { pkgdesc="Python bindings for Pythia." depends=('pythia') cd "${srcdir}/${_pkgid}" install -Dm755 lib/_pythia8.so "${pkgdir}/usr/lib/python$(get_pyver)/site-packages/_pythia8.so" install -Dm755 lib/pythia8.py "${pkgdir}/usr/lib/python$(get_pyver)/site-packages/pythia.py" install -Dm644 lib/__pycache__/pythia8.cpython-37.pyc "${pkgdir}/usr/lib/python$(get_pyver)/site-packages/__pycache__/pythia.cpython-37.pyc" cd "${pkgdir}/usr/lib/python$(get_pyver)/site-packages/" ln -s pythia.py pythia8.py cd __pycache__ ln -s pythia.cpython-37.pyc pythia8.cpython-37.pyc } package_python2-pythia() { pkgdesc="Python2 bindings for Pythia." depends=('pythia') cd "${srcdir}/${_pkgid}-py2" install -Dm755 lib/_pythia8.so "${pkgdir}/usr/lib/python$(get_py2ver)/site-packages/_pythia8.so" install -Dm755 lib/pythia8.py "${pkgdir}/usr/lib/python$(get_py2ver)/site-packages/pythia.py" install -Dm644 lib/pythia8.pyc "${pkgdir}/usr/lib/python$(get_py2ver)/site-packages/pythia.pyc" cd "${pkgdir}/usr/lib/python$(get_py2ver)/site-packages/" ln -s pythia.py pythia8.py ln -s pythia.pyc pythia8.pyc }