# 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=pythia8
pkgname=('pythia8' 'python-pythia8')
pkgver=8.2.43
_pkgid="${pkgbase:0:-1}${pkgver//./}"
pkgrel=1
pkgdesc="High-energy physics events generator"
arch=('x86_64')
url="http://home.thep.lu.se/Pythia/"
license=('GPL')
depends=('python')
makedepends=('python' 'fastjet' 'hepmc' 'lhapdf>=6.2' 'root')
source=("http://home.thep.lu.se/~torbjorn/pythia8/${_pkgid}.tgz"
        'pythia8.sh'
        'fix_lhapdf_build.patch'
        'respect_lib_suffix.patch')
sha256sums=('f8ec27437d9c75302e192ab68929131a6fd642966fe66178dbe87da6da2b1c79'
            '4e373b685960e410024b4e33e22c2dea360dfedd7962837087332f428c974ae5'
            'f7c70b069b350005ac7e9028617713dece9b82c1e8b0dc5fb1f2870abec1d94c'
            '4eb15725cfb5e287fdd9520cb4211b88ebc38a690b7522690ba0664d50bc8669')
get_pyver () {
    python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))'
}

prepare() {
    cd "${srcdir}/${_pkgid}"
    patch -p1 -i "${srcdir}/respect_lib_suffix.patch"
    patch -p1 -i "${srcdir}/fix_lhapdf_build.patch"
}

build() {
    _inc=/usr/include
    _lib=/usr/lib
    _share=/usr/share/${pkgbase}

    # 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
    make
}

package_pythia8() {
    provides=('pythia')
    conflicts=('pythia')
    replaces=('pythia')
    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: integrated examples with CERN ROOT data analysis framework')
    cd "${srcdir}/${_pkgid}"
    install -Dm755 bin/pythia8-config "${pkgdir}/usr/bin/pythia8-config"
    install -Dm644 lib/libpythia8.a "${pkgdir}/usr/lib/libpythia8.a"
    install -Dm755 lib/libpythia8.so "${pkgdir}/usr/lib/libpythia8.so"
    install -Dm755 lib/libpythia8lhapdf5.so "${pkgdir}/usr/lib/libpythia8lhapdf5.so"
    install -Dm755 lib/libpythia8lhapdf6.so "${pkgdir}/usr/lib/libpythia8lhapdf6.so"

    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}/pythia8.sh" "${pkgdir}/etc/profile.d/pythia8.sh"

    cd "${pkgdir}/usr/lib"
}

package_python-pythia8() {
    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/pythia8.py"
    install -Dm644 lib/__pycache__/pythia8.cpython-37.pyc "${pkgdir}/usr/lib/python$(get_pyver)/site-packages/__pycache__/pythia8.cpython-37.pyc"
}
