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

name                    lcms2
github.setup            mm2 Little-CMS 2.19.1 lcms
revision                0
worksrcdir              lcms2-${version}
categories              graphics
maintainers             nomaintainer
license                 MIT

description             Little Color Management System, a color matching \
                        method library (version 2)
long_description        LCMS is the Little Color Management System, a portable \
                        Color Matching Method (CMM) library which implements \
                        fast transforms between ICC profiles. \
                        Color management refers to techniques that ensure \
                        consistent color as images are transferred from \
                        scanners or cameras to monitors and printers.

homepage                https://littlecms.com/

distname                ${name}-${version}
github.tarball_from     releases
master_sites            sourceforge:project/lcms/lcms/${version}/ \
                        ${homepage}

checksums           rmd160  e89db66cf9e9396f58948edeaf4d7e64e6d89075 \
                    sha256  bfc54f7bab59fbc921012014a8032e4cba4abd46db47d46b76416a8c0b2815c8 \
                    size    5728743

# Disable use of obsolete 'register' storage class; causes dependent build errors with newer compilers:
# lcms2.h: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
patchfiles-append       patch-disable-register.diff

depends_lib             path:include/turbojpeg.h:libjpeg-turbo \
                        port:tiff \
                        port:zlib

# the i386 warning causes the universal build to fail
# https://trac.macports.org/ticket/60656
if {[vercmp ${xcodeversion} 10.0] >= 0 && ${universal_possible} && [variant_isset universal]} {
    configure.ldflags-append -w
}

test.run                yes
test.target             check

# only allow numbers, to avoid pre-release versions
github.livecheck.regex  {([0-9.]+)}
