# -*- 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 109243 2013-08-11 11:49:49Z mojca@macports.org $ PortSystem 1.0 PortGroup active_variants 1.1 PortGroup archcheck 1.0 PortGroup select 1.0 name wxWidgets-2.8 # temporary conflict to prevent wrong linking conflicts wxgtk wxWidgets wxWidgets-python wxWidgets30 wxWidgets-devel version 2.8.12 set branch [join [lrange [split ${version} .] 0 1] .] categories graphics devel platforms darwin license LGPL-2+ maintainers jwa mojca 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:wxwindows \ http://biolpc22.york.ac.uk/pub/${version}/ use_bzip2 yes distfiles ${distname}-${version}${extract.suffix} dist_subdir ${distname}/${version} checksums rmd160 928e221abe1a00cd2d72d2a4fd3640ba639b9915 \ sha256 3b0ac1d2d017683851841501c8e1b744b97242d684a1668ded61809b0504f707 # TODO: put this into PortGroup # TODO: create a subport wxGTK-2.8 in addition to wxWidgets-2.8 and put it under # ${frameworks_dir}/wxWidgets.framework/Versions/wxGTK/${branch} set installdir ${frameworks_dir}/wxWidgets.framework/Versions/${distname}/${branch} depends_lib port:jpeg \ port:tiff \ port:libpng \ port:zlib \ port:libiconv \ port:expat depends_run port:wxWidgets_select select.group wxWidgets select.file ${filespath}/${name} archcheck.files lib/libjpeg.dylib \ lib/libtiff.dylib \ lib/libpng.dylib \ lib/libz.dylib \ lib/libiconv.dylib \ lib/libexpat.dylib set worksrcdir ${distname}-${version}/build patchfiles patch-chkconf.diff \ patch-configure.diff patch.dir ${workpath}/${distname}-${version} post-patch { reinplace "s|@@ARCHS@@|[get_canonical_archflags]|g" ${workpath}/${distname}-${version}/configure reinplace "s|@@PREFIX@@|${prefix}|g" ${workpath}/${distname}-${version}/configure } compiler.blacklist clang set contrib "gizmos stc ogl" set installtype release # SDK set conf_sdk "no" set conf_macosx_version_min "no" pre-fetch { if {[variant_isset carbon]} { # 10.8 (or later) -or- 10.7 with Xcode 4.4 (or later) if {${os.major} >= 12 || [vercmp $xcodeversion 4.4] >= 0} { return -code return "${name} cannot be built on Moc OS X >= 10.7 with Xcode >= 4.4, please use port ${distname}-3.0 instead" } else { # 10.7 if {${os.major} == 11} { if {[vercmp $xcodeversion 4.3] < 0} { set sdks_dir "${developer_dir}/SDKs" } else { set sdks_dir "${developer_dir}/Platforms/MacOSX.platform/Developer/SDKs" } set conf_sdk "${sdks_dir}/MacOSX10.6.sdk" set conf_macosx_version_min "10.6" } } } } configure.cmd ../configure configure.args --prefix=${installdir} \ --with-libiconv-prefix=${prefix} \ --with-libjpeg \ --with-libtiff \ --with-libpng \ --with-zlib \ --with-opengl \ --without-sdl \ --disable-sdltest \ --enable-unicode \ --enable-display \ --enable-graphics_ctx \ --with-macosx-sdk=${conf_sdk} \ --with-macosx-version-min=${conf_macosx_version_min} \ --enable-universal_binary post-build { foreach c { ${contrib} } { system "cd ${build.dir} && make -C contrib/src/${c}" } } post-destroot { foreach c { ${contrib} } { system "cd ${build.dir} && make -C contrib/src/${c} install ${destroot.destdir}" } set destdocdir ${destroot}${prefix}/share/doc/${distname}/${branch} xinstall -d -m 755 ${destdocdir} xinstall -m 644 -W ${workpath}/${distname}-${version} \ install-mac.txt install-mgl.txt install-motif.txt \ INSTALL-OS2.txt install-x11.txt readme-cocoa.txt \ readme-gtk.txt readme-mac.txt \ readme-mgl.txt readme-motif.txt readme-x11.txt \ ${destdocdir} set confscript ${installdir}/lib/wx/config/mac-unicode-${installtype}-2.8 ln -sf ${confscript} ${destroot}${installdir}/bin/wx-config } variant carbon conflicts gtk x11 quartz description {} { supported_archs i386 ppc use_parallel_build no configure.args-append --with-mac } variant gtk conflicts carbon description {} { depends_lib-append port:cairo \ port:gtk2 # TODO: try to make sdl work # path:lib/pkgconfig/sdl.pc:libsdl \ # port:libsdl_mixer #configure.args-delete --without-sdl configure.args-append --with-gtk } variant x11 requires gtk conflicts carbon quartz description {} { # TODO: not sure about freeglut depends_lib-append port:mesa \ port:freeglut require_active_variants cairo x11 require_active_variants gtk2 x11 } variant quartz requires gtk conflicts carbon x11 description {} { # TODO: doesn't work require_active_variants cairo quartz require_active_variants gtk2 quartz } variant aui description {add support for AUI docking library} { configure.args-append --enable-aui } 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 set installtype debug } if {![variant_isset carbon] && ![variant_isset gtk] && ![variant_isset x11] && ![variant_isset quartz]} { default_variants +carbon } livecheck.type regex livecheck.url ${homepage}/downloads/ livecheck.regex Current Stable Release.*(2\\.\[0-9\]\\.\[0-9\]+)