# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           compilers 1.0

name                whizard
version             2.8.2
categories          science
platforms           darwin
maintainers         {desy.de:juergen.reuter @romendakil} desy.de:whizard
license             GPL-2+

description         Generator of high-energy physics events

long_description    WHIZARD is a program system designed for the efficient \
                    calculation of multi-particle scattering cross sections \
                    and simulated event samples. Tree-level matrix elements \
                    are generated automatically for arbitrary partonic \
                    processes by using the Optimized Matrix Element Generator O'Mega. \
                    Matrix elements obtained by alternative methods (e.g., \
                    including loop corrections) may be interfaced as well. \
                    The program is able to calculate numerically stable signal \
                    and background cross sections and generate unweighted \
                    event samples with reasonable efficiency for processes \
                    with up to eight final-state particles\; more particles are \
                    possible. For more particles, there is the option to generate \
                    processes as decay cascades including complete spin correlations.

homepage            https://whizard.hepforge.org
master_sites        ${homepage}/downloader?f=

checksums           rmd160  9eab0ed45a5e23b278430f07f3d1b835bc1e05b3 \
                    sha256  32c9be342d01b3fc6f947fddce74bf2d81ece37fb39bca1f37778fb0c07e2568 \
                    size    35344103

depends_build       port:ocaml

configure.args      --enable-fc-openmp

use_parallel_build  yes

# if clang is used with gfortran, fails to link -lgomp
compilers.choose    cc cxx fc f77
compilers.setup     require_fortran -clang -g95 -gfortran

# make check doesn't work in general on El Capitan as long as SIP is activated as DYLD variables are not exported.
if {${os.major} <= 14 && ${os.platform} eq "darwin"} {
     test.run            yes
     test.target         check
}

# needs further work, many tests fail
#variant installcheck description {Run testsuite after installation. Use instead of 'port test' for El Capitan.} {
#    patchfiles-append    patch-omega-tests-Makefile.in.diff
#    destroot.target      install installcheck
#}

livecheck.type      regex
livecheck.url       [lindex ${master_sites} 0]
livecheck.regex     ${name}-(\[0-9.\]+)${extract.suffix}
