# -*- 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
# $Id: Portfile 108270 2013-07-17 16:03:13Z jwa@macports.org $

PortSystem 1.0

name            wxWidgets30
conflicts       wxgtk wxWidgets
version         2.9.5
epoch           20130717

license         wxwidgets-3.1
categories      graphics devel
platforms       darwin
maintainers     jwa
description     mature cross-platform C++ GUI framework
long_description    wxWidgets is a mature open-source cross-platform C++ \
    GUI framework for Mac OS, Unix, Linux, Windows. It can \
    make use of a variety of native widget sets as well as \
    its own widget set: Mac OS, GTK+, Motif, WIN32. \
    wxWidgets will even run on embedded systems using \
    Linux and X11.

homepage        http://www.wxwidgets.org/
distname        wxWidgets
master_sites    sourceforge:project/wxwindows/${version} \
                http://biolpc22.york.ac.uk/pub/${version}/

use_bzip2       yes

distfiles       ${distname}-${version}${extract.suffix}
dist_subdir     ${distname}/${version}

checksums           rmd160  f5c91099b2cf3e39eadbcf99df0dd9a97017d47f \
                    sha256  b74ba96ca537cc5d049d21ec9ab5eb2670406a4aa9f1ea4845ea84a9955a6e02
                    
depends_lib     port:jpeg \
                port:tiff \
                port:libpng \
                port:zlib \
                port:libiconv \
                port:expat

if {${os.major} < 10} {
   pre-fetch {
       ui_error "${name} requires Mac OS X 10.6 or later."
       return -code error "incompatible Mac OS X version"
   }
}

set worksrcdir  ${distname}-${version}/build

extract.only    ${distname}-${version}${extract.suffix}

patch.dir   ${worksrcpath}/..
patchfiles  patch-configure-change_install_names.diff

configure.cmd   ../configure
configure.ldflags   -L${build.dir}/lib -L${prefix}/lib

configure.args  --mandir=${prefix}/share/man \
                --with-libiconv-prefix=${prefix} \
                --with-libjpeg \
                --with-libtiff \
                --with-libpng \
                --with-zlib \
                --with-opengl \
                --with-cocoa \
                --without-sdl \
                --disable-sdltest \
                --enable-unicode \
                --enable-display \
    --enable-xrc

build.target

use_parallel_build  yes

variant universal {
    configure.args-append   --enable-universal_binary \
        --with-macosx-sdk=${configure.sdkroot}/ \
        --with-macosx-version-min=${macosx_deployment_target}
}

configure.ccache    no

post-destroot {
    set confscript ${prefix}/lib/wx/config/osx_cocoa-unicode-2.9
    ln -sf ${confscript} ${destroot}${prefix}/bin/wx-config
}

post-patch {
    reinplace "s|@@MP_ARCH_FLAGS@@|[get_canonical_archflags]|g" ${worksrcpath}/../configure
}

default_variants    +sdl

variant monolithic description {build only one library} {
    configure.args-append   --enable-monolithic
}

variant debug description {add debug info to libraries} {
    configure.args-append   --enable-debug
}

variant sdl description {Use SDL for audio on Unix} { 
    depends_lib-append          path:lib/pkgconfig/sdl.pc:libsdl 
    depends_lib-append          port:libsdl_mixer 
    configure.args-delete       --without-sdl 
    configure.args-append       --with-sdl 
} 
     
variant stdlib description {add support for various standard library features} { 
    configure.args-append       --enable-stl \
    --enable-std_containers \
    --enable-std_iostreams \
    --enable-std_string \
    --enable-std_string_conv_in_wxstring
} 

variant aui description {add support for AUI docking library} {
    configure.args-append    --enable-aui
}

livecheck.type      regex
livecheck.url       ${homepage}/downloads/
livecheck.regex     Release.*(\[23\]\\.\[0-9\]\\.\[0-9\]+)
