# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4

PortSystem          1.0
PortGroup           boost 1.0
PortGroup           lua 1.0
PortGroup           makefile 1.0
PortGroup           gitlab 1.0

gitlab.setup        saalen highlight 4.20 v
revision            0

categories          textproc devel
license             GPL-3
maintainers         {i0ntempest @i0ntempest} openmaintainer
description         converts source code to formatted text with syntax highlighting
long_description    ${description}

homepage            http://andre-simon.de/doku/highlight/en/highlight.php

checksums           rmd160  6c07084415d857ee8f206c16e93f5ef7e0599f97 \
                    sha256  35c57263456c6563bc436ac822c01411289fcf5b0fdc23fa3d80015546ec5c9c \
                    size    1539380

boost.version       1.87

boost.depends_type  build

depends_build       port:cctools \
                    port:pkgconfig

post-patch {
    reinplace "s|/etc/highlight/|${prefix}/etc/highlight/|g" ${worksrcpath}/man/highlight.1
    reinplace "s|/usr/share/|${prefix}/share/|g" ${worksrcpath}/man/highlight.1
}

build.target        cli lib

compiler.cxx_standard \
                    2017
configure.cxxflags-append \
                    -std=c++17

# Yes, this project's makefile uses CFLAGS to compile its C++ code.
build.args          CFLAGS="\$CPPFLAGS \$CXXFLAGS" \
                    LDFLAGS="\$LDFLAGS \$CXXFLAGS" \
                    LUA_PKG_NAME=lua${lua.version}

makefile.override   PREFIX

post-destroot {
    file rename ${destroot}${prefix}/etc/highlight/filetypes.conf \
        ${destroot}${prefix}/etc/highlight/filetypes.conf.sample
}

post-activate {
    set conffile ${prefix}/etc/highlight/filetypes.conf
    # copy over the sample conf file if necessary
    if { ![file exists ${conffile}] } {
        file copy ${conffile}.sample ${conffile}
    }
}
