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

name                qucs
categories          science electronics
license             GPL-2+
maintainers         {mark @markemer} openmaintainer

description         an integrated circuit simulator
long_description    Qucs is an integrated circuit simulator. \
                    You can set up a circuit with a graphical user interface.

homepage            http://qucs.sourceforge.net/

github.setup        Qucs qucs 0.0.20-rc2
# Change github.tarball_from to 'releases' or 'archive' next update
github.tarball_from tarball
checksums           rmd160  3374cf6f2a90d084c23f670a4193a11d42c1c842 \
                    sha256  66cfa0b9f8baa8468feb81b3a15f165e1946511893fa9cfee7009167daa04d19 \
                    size    20643591
revision            3

patchfiles-append \
    patch-configure.diff \
    makefile.am.diff \
    patch-qucs_qucsdigi.diff \
    patch-qucs_qucsveri.diff \
    patch-qucs_Info.plist.diff

depends_build-append \
    port:pkgconfig \
    port:bison \
    port:flex \
    port:libtool

depends_lib-append \
    port:iverilog \
    port:asco \
    port:ADMS

# doc by default is online and to build
# it requires many large dependencies
configure.args \
    --disable-sdk \
    --disable-asco \
    --disable-doc

# iverilog is not universal
universal_variant   no

# all is not available
build.target

post-patch {
    reinplace "s|@PREFIX@|${prefix}|g" \
        ${worksrcpath}/qucs/qucs/qucsdigi \
        ${worksrcpath}/qucs/qucs/qucsveri
}

variant shipped_asco description { Use shipped asco } {
    configure.args-delete \
        --disable-asco

    depends_lib-delete \
        port:asco
}

variant freehdl description { Use freehdl } {
    depends_lib-append \
        port:freehdl
}

variant octave description { Add Octave support } {
    depends_lib-append \
        port:octave
}

default_variants +freehdl

post-patch {
    # not available until next release
    xinstall -m 0644 ${filespath}/qucspowercombining.icns \
        ${worksrcpath}/qucs/qucs/bitmaps
}

post-destroot {
    # we have .app in bin/
    # not good but it requires a lot of work to fix all paths.
    # change with next version and cmake
    foreach program {qucs qucsactivefilter qucsattenuator qucsfilter qucslib qucspowercombining qucsrescodes qucstrans} {
        xinstall -d ${destroot}${applications_dir}/${program}.app/Contents/MacOS
        xinstall -d ${destroot}${applications_dir}/${program}.app/Contents/Resources
        xinstall -m 0644 ${destroot}${prefix}/bin/${program}.app/Contents/Info.plist ${destroot}${applications_dir}/${program}.app/Contents
        xinstall -m 0644 ${destroot}${prefix}/bin/${program}.app/Contents/Resources/application.icns ${destroot}${applications_dir}/${program}.app/Contents/Resources
        xinstall -m 0755 ${destroot}${prefix}/bin/${program} ${destroot}${applications_dir}/${program}.app/Contents/MacOS
    }
}
