# -*- 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           active_variants 1.1
PortGroup           conflicts_build 1.0

# Please keep the magic and magic-devel ports as similar as possible.

name                magic
conflicts           magic-devel
version             8.1.224
revision            0
checksums           rmd160  8d7c33a654239da2ba518a98bd33e2a915f11ac3 \
                    sha256  618b872c69f291fd24dfa47d73807a03f80e9bb4ac781dee681090506c679bd8 \
                    size    3937007

set branch          [join [lrange [split ${version} .] 0 1] .]
categories          science
# mostly very permissively licensed, but includes a copy of GNU readline
license             GPL-2+
maintainers         {ryandesign @ryandesign} openmaintainer
description         A VLSI Layout System

long_description    Magic is a venerable VLSI layout tool, written in the \
                    1980's at Berkeley. Magic is widely cited as being the \
                    easiest tool to use for circuit layout, even for people \
                    who ultimately rely on commercial tools for their product \
                    design flow.

platforms           darwin

homepage            http://opencircuitdesign.com/magic/
master_sites        ${homepage}archive/

extract.suffix      .tgz

depends_lib         port:blt \
                    port:libglu \
                    port:mesa \
                    port:tcl \
                    port:tk

require_active_variants tk x11

universal_variant   no

conflicts_build     gnome-keyring

use_autoreconf      yes
autoreconf.dir      ${worksrcpath}/scripts

use_parallel_build  no

build.env           X11_LDFLAGS=-L${prefix}/lib

post-build {
    # The build and install don't notice when essential files don't get built,
    # so we must exit for it when it fails. #32934
    foreach f {magic/tclmagic.dylib} {
        if {![file exists ${worksrcpath}/${f}]} {
            return -code error "${f} did not get built"
        }
    }
}

livecheck.type      regex
livecheck.url       [lindex ${master_sites} 0]
livecheck.regex     magic-(${branch}\\.\[0-9.\]+)${extract.suffix}