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

github.setup                flintlib flint 3.6.0 v
revision                    0
categories                  math devel
license                     LGPL-2.1+
maintainers                 nomaintainer
description                 Fast Library for Number Theory
long_description            FLINT is a C library for doing number theory

homepage                    https://www.flintlib.org

checksums                   rmd160  3976b5801da7347e750266fbe4d88e12304d0f62 \
                            sha256  134d39731a6dd926254625d646d85bf5990c68a3f2326cd54d2a6983e3e11dd8 \
                            size    6565572

github.tarball_from         releases
use_xz                      yes

# Autotools are explicitly preferred by upstream
# for anything but Windows. As of now (2024.04),
# CMake implementation has a number of bugs,
# and there is no interest to address them;
# instead, autotools build is advised, and it works.
# https://github.com/flintlib/flint/issues/1905
# https://github.com/flintlib/flint/pull/1906
# https://github.com/flintlib/flint/issues/1907

compiler.cxx_standard           2011
compiler.thread_local_storage   yes

depends_lib-append          port:gmp \
                            port:mpfr \
                            port:ntl

configure.args-append       --with-ntl
# NTL requires C++11
configure.cxxflags-append   -std=c++11

# Fix "configure: error: No usable m4 in $PATH or /usr/5bin" on Sonoma.
platform darwin 24 {
    configure.env-append    M4=/usr/bin/m4
}

test.run                    yes
test.target                 check
