# -*- 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                 {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
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

use_autoreconf              yes

compiler.cxx_standard           2011
compiler.thread_local_storage   yes

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

# We do not want pre-built ports with -march.
configure.args-append       --disable-arch

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

test.run                    yes
test.target                 check
