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

PortSystem              1.0
PortGroup               qmake6 1.0

name                    qwt-qt6
categories              graphics science
# actually a little more permissive than the standard LGPL, but the
# distinction doesn't matter to us.
license                 LGPL-2.1
maintainers             nomaintainer
homepage                https://qwt.sourceforge.io

master_sites            sourceforge:qwt
use_bzip2               yes

version                 6.3.0
distname                qwt-${version}
checksums               rmd160  2fb32213d7ac3f3f517093a73e67bfc31cff7a08 \
                        sha256  dcb085896c28aaec5518cbc08c0ee2b4e60ada7ac929d82639f6189851a6129a \
                        size    4737935

description             Qt Widgets for Technical Applications

long_description        The Qwt library contains GUI Components and utility classes \
                        which are primarily useful for programs with a technical background. \
                        Beside a framework for 2D plots it provides \
                        scales, sliders, dials, compasses, thermometers, wheels and knobs \
                        to control or display values, arrays, or ranges of type double.

patchfiles-append       patch-disable-silent-rules.diff

#install in the correct locations
patchfiles-append       patch-qwtconfig.pri.diff

# have correct install_name in libraries
# install pkgconfig files
# enable MathML support in Qwt
# ${worksrcpath}/textengines/mathml/mathml.pro does not define QMAKE_PKGCONFIG_DESTDIR
configure.args-append   CONFIG+=absolute_library_soname \
                        QWT_CONFIG+=QwtPkgConfig \
                        QWT_CONFIG+=QwtMathML \
                        QMAKE_PKGCONFIG_DESTDIR=pkgconfig

if {${subport} eq ${name}} {
    revision 0

    qt6.depends_lib qtsvg qttools

    # put link to pkgconfig files in place where pkgconfig will find it
    post-destroot {
        if { "${qt6.dir}/lib" ne "${prefix}/lib" } {
            xinstall -d -m 0755 ${destroot}${prefix}/lib/pkgconfig
            foreach pcfile [glob -nocomplain -tails -directory ${destroot}${qt6.dir}/lib/pkgconfig *.pc] {
                ln -s ${qt6.dir}/lib/pkgconfig/${pcfile} ${destroot}${prefix}/lib/pkgconfig
            }
        }
    }
}

subport ${name}-examples {
    revision 0

    depends_lib-append port:${name}

    patch.dir  ${worksrcpath}
    worksrcdir ${worksrcdir}/examples
    set qt_examples_dir ${qt6.dir}/examples

    # muniversal PG requires Makefile
    post-extract {
        set plist [open "${worksrcpath}/makefile_macports_install" w 0644]
        puts ${plist} "install:"
        puts ${plist} "\t/usr/bin/install -d -m 0755 \$(INSTALL_ROOT)${qt_examples_dir}/${name}"
        foreach example [glob -tails -directory ${worksrcpath} *] {
            if {[file isdirectory ${worksrcpath}/${example}]} {
                puts ${plist} "\t/usr/bin/install -d -m 0755 \$(INSTALL_ROOT)${qt_examples_dir}/${name}/${example}"
                if {${example} ne "stylesheets"} {
                    puts ${plist} "\t/bin/cp -R bin/${example}.app \$(INSTALL_ROOT)${qt_examples_dir}/${name}/${example}"
                    puts ${plist} "\t/usr/bin/make --directory=${example} distclean"
                    puts ${plist} "\t/bin/rm -rf ${example}/moc ${example}/obj"
                }
                puts ${plist} "\t/usr/bin/install -m 0644 ${example}/* \$(INSTALL_ROOT)${qt_examples_dir}/${name}/${example}"
            }
        }
        close ${plist}
    }
    destroot.cmd /usr/bin/make
    destroot.args \
        -f makefile_macports_install
}

livecheck.url   http://sourceforge.net/api/file/index/project-id/13693/mtime/desc/rss
livecheck.regex \\/qwt\\/(\\d+\\.\\d+\\.\\d+)\\/
