# -*- 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           active_variants 1.1

name                gretl
version             2024d
revision            0
categories          math economics
license             GPL-3
maintainers         nomaintainer

description         Econometric analysis toolkit
long_description    gretl is an open-source statistical package, mainly for \
                    econometrics. The name is an acronym for Gnu Regression, \
                    Econometrics and Time-series Library. It has both a graphical \
                    user interface and a command-line interface.

homepage            https://gretl.sourceforge.net/

master_sites        sourceforge
use_xz              yes

checksums           rmd160  d1087b2c68c2f2c022c6ce9b67df44f26ec39dc1 \
                    sha256  9903568c273db09b6931bc2077408d8c08b2bda4e783a0ea5b2cbc59b5b5dbac \
                    size    14778224

depends_build-append \
                    port:gettext \
                    port:gmake \
                    path:bin/pkg-config:pkgconfig

depends_lib-append  port:curl \
                    port:fftw-3 \
                    port:gettext-runtime \
                    path:lib/pkgconfig/glib-2.0.pc:glib2 \
                    port:gmp \
                    port:json-glib \
                    port:libgsf \
                    port:libxml2 \
                    port:mpfr \
                    port:readline

# 2024c added code which assumes OpenMP without checking if it is enabled.
patchfiles-append   patch-fix-gretl_matrix.c.diff

configure.args-append \
                    --disable-avx \
                    --disable-gui \
                    --disable-openmp \
                    --disable-xdg \
                    --disable-xdg-utils \
                    --enable-gmp \
                    --enable-json \
                    --enable-www \
                    --without-libR \
                    --without-mpi \
                    --without-odbc \
                    --with-gmake \
                    --with-gsf \
                    --with-gmp-prefix=${prefix} \
                    --with-mpfr-prefix=${prefix} \
                    --with-readline-prefix=${prefix}

compiler.c_standard 1999

configure.cflags-append -std=c99

build.cmd           gmake
build.target        ""

variant gui description {Build the Graphical User Interface} {
    configure.args-replace --disable-gui --enable-gui
    depends_lib-append \
                    path:lib/pkgconfig/gdk-pixbuf-2.0.pc:gdk-pixbuf2 \
                    path:lib/pkgconfig/gtk+-3.0.pc:gtk3 \
                    port:gnuplot \
                    port:gtksourceview4

    depends_run-append \
                    port:adwaita-icon-theme

    require_active_variants gnuplot pangocairo
}

variant quartz requires gui {
    PortGroup       app 1.0
    app.icon        xdg/64/gretl.png

    depends_lib-append \
                    port:gtk-osx-application-gtk3
}

if {[variant_isset quartz]} {
    require_active_variants gtk3 quartz
} elseif {[variant_isset gui]} {
    require_active_variants gtk3 x11
}

default_variants    +gui

livecheck.regex     ${name}-(\\d+\[a-z\])${extract.suffix}
