# -*- 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           cmake 1.1
PortGroup           compilers 1.0
PortGroup           github 1.0

github.setup        libprima prima 0.7.2 v
revision            0
categories          fortran science
license             BSD
maintainers         {@barracuda156 gmail.com:vital.had} \
                    @zaikunzhang \
                    openmaintainer
description         PRIMA is a package for solving general non-linear optimization problems without using derivatives
long_description    {*}${description}
homepage            http://libprima.net
checksums           rmd160  e370b5765dc7a7b943ccb9d6f25e194424260764 \
                    sha256  b2cc3547e5601de494267d501f7a8ad2b42482d189c647e312c41917d81ed8e7 \
                    size    8451293
github.tarball_from archive

compiler.blacklist-append \
                    {*gcc-[34].*} {clang < 500}
compilers.setup     require_fortran

# Unbreak tests:
configure.pre_args-replace \
                    -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \
                    -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF

# Examples are needed for tests: https://github.com/libprima/prima/issues/120
configure.args-append \
                    -DBUILD_SHARED_LIBS=ON \
                    -DPRIMA_ENABLE_C=ON \
                    -DPRIMA_ENABLE_EXAMPLES=ON \
                    -DPRIMA_ENABLE_TESTING=ON

# Stress tests may freeze: https://github.com/libprima/prima/issues/121
# TODO: find sensible values and perhaps patch c/tests/stress.c
test.run            yes
