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

legacysupport.newest_darwin_requires_legacy 16
legacysupport.use_mp_libcxx yes

github.setup        qpdf qpdf 12.3.1 v
revision            0

categories          textproc pdf
license             Apache-2
maintainers         {mps @Schamschula} openmaintainer

description         content-preserving PDF transformation system
long_description    QPDF is a command-line program that does structural, \
                    content-preserving transformations on PDF files.

homepage            http://qpdf.sourceforge.net/
github.tarball_from releases

checksums           rmd160  39f6ddf88c23898a419e0b9a1e51b7db60e2c25a \
                    sha256  6de2a390b807a881bba2ab1abb080e985c2338a64137807ed28a946a258ffc89 \
                    size    19639984

depends_build-append \
                    port:perl5

depends_lib-append  path:include/turbojpeg.h:libjpeg-turbo \
                    port:libxml2 \
                    port:libxslt \
                    port:zlib

compiler.cxx_standard   2020

cmake.build_type    Release
configure.args      -DUSE_IMPLICIT_CRYPTO=NO \
                    -DREQUIRE_CRYPTO_NATIVE=YES \
                    -DREQUIRE_CRYPTO_GNUTLS=NO \
                    -DREQUIRE_CRYPTO_OPENSSL=NO \
                    -DZOPFLI=NO

platform darwin 8 {
    configure.cppflags-append -D__DARWIN_UNIX03
}

variant gnutls conflicts openssl description {Build against gnutls} {
    depends_lib-append      path:lib/pkgconfig/gnutls.pc:gnutls
    configure.args-delete   -DREQUIRE_CRYPTO_GNUTLS=NO
    configure.args-append   -DREQUIRE_CRYPTO_GNUTLS=YES
}

variant openssl conflicts gnutls description {Build against openssl} {
    depends_lib-append      port:openssl
    configure.args-delete   -DREQUIRE_CRYPTO_OPENSSL=NO
    configure.args-append   -DREQUIRE_CRYPTO_OPENSSL=YES
}

variant zopfli description {Build with zopfli compression support} {
    depends_lib-append      port:zopfli
    configure.args-delete   -DZOPFLI=NO
    configure.args-append   -DZOPFLI=YES
}

default_variants            +zopfli

if {![variant_isset openssl]} {
    default_variants-append +gnutls
}

post-destroot {
    reinplace -W ${worksrcpath}/completions "s|/usr|${prefix}|" bash/qpdf zsh/_qpdf
    xinstall -d ${destroot}${prefix}/share/bash-completion/completions
    xinstall -m 644 ${worksrcpath}/completions/bash/qpdf ${destroot}${prefix}/share/bash-completion/completions
    xinstall -d ${destroot}${prefix}/share/zsh/site-functions
    xinstall -m 644 ${worksrcpath}/completions/zsh/_qpdf ${destroot}${prefix}/share/zsh/site-functions
}

test.run                    yes
depends_test-append         port:ghostscript \
                            port:tiff
set large_file_test_tmp     ${workpath}/large_file_test_tmp
pre-test {
    file mkdir ${large_file_test_tmp}
}
test.env-append             QPDF_LARGE_FILE_TEST_PATH=${large_file_test_tmp} \
                            QPDF_TEST_COMPARE_IMAGES=1
test.cmd                    ctest
test.args                   --verbose
test.target
