# $Id: Portfile 114328 2013-12-05 10:21:52Z ryandesign@macports.org $

PortSystem      1.0

name            tk
version         8.6.1
revision        1
categories      x11
license         Tcl/Tk
maintainers     mww openmaintainer
description     Tcl Tool Kit
homepage        http://www.tcl.tk/
long_description \
  This is Tk version ${version}, a GUI toolkit for Tcl. The best way to get \
  started with Tcl is to read ``Tcl and the Tk Toolkit'' by John K.         \
  Ousterhout, Addison-Wesley, ISBN 0-201-63337-X.

platforms       darwin

master_sites    sourceforge:tcl
dist_subdir     tcltk
distname        ${name}${version}-src

# suck in Tcl as well so we can use it internally.
distfiles-append    tcl${version}-src${extract.suffix}

checksums           tk${version}-src.tar.gz \
                    rmd160  9176fd2c5e7d36c84141333939e85614d3ba2e11 \
                    sha256  b691a2e84907392918665fe03a0deb913663a026bed2162185b4a9a14898162c \
                    tcl${version}-src.tar.gz \
                    rmd160  fbb181d26bb28fe9413bc2e07f333571b8e7e190 \
                    sha256  16ee769248e64ba1cae6b4834fcc4e4edd7470d881410e8d58f7dd1434343514

depends_build   port:pkgconfig

# force usage of MacPorts Tcl
depends_lib \
    port:tcl \
    port:Xft2 \
    port:xorg-libXScrnSaver \
    port:fontconfig

worksrcdir      ${name}${version}/unix

patch.dir           ${workpath}/${name}${version}
patchfiles          patch-macosx-tkMacOSXDraw.c.diff \
                    patch-unix-Makefile.in.diff

post-patch {
    reinplace s|@TCL_SRC_DIR@|${workpath}/tcl${version}/|g ${worksrcpath}/Makefile.in
}

configure.args      --mandir=${prefix}/share/man --with-tcl=${prefix}/lib
configure.cppflags  -I${workpath}/tcl${version}/generic
configure.ldflags   -L${worksrcpath} -L${prefix}/lib -lfontconfig

destroot.destdir    INSTALL_ROOT=${destroot}
post-destroot {
    ln -s wish8.6 ${destroot}${prefix}/bin/wish
    ln -s libtk8.6.dylib ${destroot}${prefix}/lib/libtk.dylib
}

if {${configure.build_arch} eq "x86_64" || ${configure.build_arch} eq "ppc64"} {
    configure.args-append   --enable-64bit
}

if {${os.platform} eq "darwin" && ${os.subplatform} eq "macosx" && ${os.major} >= 10} {
    variant quartz conflicts x11 {
        depends_lib-delete port:Xft2 port:xorg-libXScrnSaver port:fontconfig
        # tk.h still includes and uses types from X11/Xlib.h
        depends_lib-append port:xorg-libX11
        configure.ldflags-delete    -lfontconfig
        configure.args-append   --enable-aqua
        post-destroot {
            delete ${destroot}${prefix}/include/X11
        }
    }

    variant x11 conflicts quartz {}

    if {![variant_isset x11]} {
        default_variants +quartz
    }
}

platform darwin {
    configure.args-append   tcl_cv_type_64bit="long long"
}

livecheck.type  regex
livecheck.regex {Tcl/Tk (\d+(?:\.\d+)*)</a>}
