# -*- coding: utf-8; mode: tcl; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=2:ts=2:sts=2 # $Id$ PortSystem 1.0 PortGroup wxWidgets 1.0 PortGroup active_variants 1.1 name grass epoch 1 version 7.0.0 maintainers nomaintainer categories gis license GPL-2+ platforms darwin description GRASS long_description GRASS is a Geographic Information System (GIS) used for \ geospatial data management and analysis. homepage http://grass.osgeo.org/ master_sites ${homepage}grass[join [lrange [split ${version} .] 0 1] {}]/source/ checksums rmd160 dc66614f77da98780b402c203eae171e7cb8dfd7 \ sha256 1324556514cc38aced1c6dce27933ce386be027b1e2594f807f67250fb55436a depends_build port:pkgconfig depends_lib port:fftw-3 \ port:freetype \ port:gdal \ port:geos \ port:jpeg \ port:libpng \ port:mesa \ lib:libXm:openmotif \ port:proj \ port:tk \ path:lib/pkgconfig/cairo.pc:cairo \ port:readline # https://trac.macports.org/ticket/32790 # this should probably only apply to some Xcode versions # compiler.blacklist *clang* patchfiles patch-configure.diff \ patch-include-Make-Install.make.diff \ patch-is_void.diff \ patch-lib-init-grass.sh.diff \ patch-macosx-Makefile.diff post-patch { reinplace "s|@@APPLICATIONS_DIR@@|${applications_dir}|" ${worksrcpath}/configure # http://trac.osgeo.org/grass/ticket/2169 # reinplace "s|CC=gcc|CC=${configure.cc}|" ${worksrcpath}/gem/Makefile } configure.ldflags-append -framework OpenGL -framework Accelerate configure.args \ --with-fftw-includes=${prefix}/include \ --with-fftw-libs=${prefix}/lib \ --with-freetype \ --with-freetype-includes=${prefix}/include/freetype2 \ --with-freetype-libs=${prefix}/lib \ --with-gdal=${prefix}/bin/gdal-config \ --with-jpeg-includes=${prefix}/include \ --with-jpeg-libs=${prefix}/lib \ --with-motif \ --with-motif-includes=${prefix}/include \ --with-motif-libs=${prefix}/lib \ --with-png-includes=${prefix}/include \ --with-png-libs=${prefix}/lib \ --with-proj-includes=${prefix}/include \ --with-proj-libs=${prefix}/lib \ --with-proj-share=${prefix}/share/proj \ --with-tcltk-includes=${prefix}/include \ --with-tcltk-libs=${prefix}/lib \ --with-cxx \ --with-x \ --without-postgres \ --enable-largefile \ --enable-macosx-app \ --with-cairo \ --with-cairo-includes=${prefix}/include/cairo \ --with-cairo-libs=${prefix}/lib \ --with-blas \ --with-lapack \ --with-readline \ --with-readline-includes=${prefix}/include/readline \ --with-readline-libs=${prefix}/lib \ --with-regex-includes=/usr/include \ --with-regex-lib=/usr/lib build.target default variant mysql5 description {Add MySQL 5 support} { depends_lib-append path:bin/mysql_config5:mysql5 configure.args-append --with-mysql configure.args-append --with-mysql-includes=${prefix}/include/mysql5/mysql configure.args-append --with-mysql-libs=${prefix}/lib/mysql5/mysql configure.env-append MYSQLD_CONFIG=${prefix}/lib/mysql5/bin/mysql_config } variant postgresql83 conflicts postgresql84 postgresql90 postgresql91 postgresql92 postgresql93 postgresql94 description {Add PostgreSQL 8.3 support} { depends_lib-append port:postgresql83 configure.args-delete --without-postgres configure.args-append --with-postgres configure.args-append --with-postgres-includes=${prefix}/include/postgresql83 configure.args-append --with-postgres-libs=${prefix}/lib/postgresql83 } variant postgresql84 conflicts postgresql83 postgresql90 postgresql91 postgresql92 postgresql93 postgresql94 description {Add PostgreSQL 8.4 support} { depends_lib-append port:postgresql84 configure.args-delete --without-postgres configure.args-append --with-postgres configure.args-append --with-postgres-includes=${prefix}/include/postgresql84 configure.args-append --with-postgres-libs=${prefix}/lib/postgresql84 } variant postgresql90 conflicts postgresql83 postgresql84 postgresql91 postgresql92 postgresql93 postgresql94 description {Add PostgreSQL 9.0 support} { depends_lib-append port:postgresql90 configure.args-delete --without-postgres configure.args-append --with-postgres configure.args-append --with-postgres-includes=${prefix}/include/postgresql90 configure.args-append --with-postgres-libs=${prefix}/lib/postgresql90 } variant postgresql91 conflicts postgresql83 postgresql84 postgresql90 postgresql92 postgresql93 postgresql94 description {Add PostgreSQL 9.1 support} { depends_lib-append port:postgresql91 configure.args-delete --without-postgres configure.args-append --with-postgres configure.args-append --with-postgres-includes=${prefix}/include/postgresql91 configure.args-append --with-postgres-libs=${prefix}/lib/postgresql91 } variant postgresql92 conflicts postgresql83 postgresql84 postgresql90 postgresql91 postgresql93 postgresql94 description {Add PostgreSQL 9.2 support} { depends_lib-append port:postgresql92 configure.args-delete --without-postgres configure.args-append --with-postgres configure.args-append --with-postgres-includes=${prefix}/include/postgresql92 configure.args-append --with-postgres-libs=${prefix}/lib/postgresql92 } variant postgresql93 conflicts postgresql83 postgresql84 postgresql90 postgresql91 postgresql92 postgresql94 description {Add PostgreSQL 9.3 support} { depends_lib-append port:postgresql93 configure.args-delete --without-postgres configure.args-append --with-postgres configure.args-append --with-postgres-includes=${prefix}/include/postgresql93 configure.args-append --with-postgres-libs=${prefix}/lib/postgresql93 } variant postgresql94 conflicts postgresql83 postgresql84 postgresql90 postgresql91 postgresql92 postgresql93 description {Add PostgreSQL 9.4 support} { depends_lib-append port:postgresql94 configure.args-delete --without-postgres configure.args-append --with-postgres configure.args-append --with-postgres-includes=${prefix}/include/postgresql94 configure.args-append --with-postgres-libs=${prefix}/lib/postgresql94 } variant sqlite3 description {Add SQLite 3 support} { depends_lib-append port:sqlite3 configure.args-append --with-sqlite configure.args-append --with-sqlite-includes=${prefix}/include configure.args-append --with-sqlite-libs=${prefix}/lib } variant ffmpeg description {Add ffmpeg support} { depends_lib-append path:lib/libavcodec.dylib:ffmpeg configure.args-append --with-ffmpeg \ --with-ffmpeg-includes=\"${prefix}/include/libavcodec \ ${prefix}/include/libavformat \ ${prefix}/include/libavutil \ ${prefix}/include/libswscale\" \ --with-ffmpeglibs=${prefix}/lib } variant python27 description {} { # TODO: this port doesn't work with the python portgroup because the group changes too much # but it would make sense to fix this in such a way that python_bin could be determined automatically depends_lib-append port:python27 if {[variant_isset wxwidgets30]} { depends_lib-append port:py27-wxpython-3.0 } set python_bin ${frameworks_dir}/Python.framework/Versions/2.7/bin/python2.7 # Enable support for wxGUI Python extensions # (by removing this we wouldn't need to depend on py-wxpython-x.y) configure.args-append --with-python=${frameworks_dir}/Python.framework/Versions/2.7/bin/python2.7-config build.args-append PYTHON=${python_bin} post-patch { # for some reason it fails if python_bin is not defined inside post-patch (figure out why) set python_bin ${frameworks_dir}/Python.framework/Versions/2.7/bin/python2.7 # TODO: this doesn't seem to have any effect any longer reinplace "s|@@PYTHON@@|${python_bin}|" ${worksrcpath}/lib/init/grass.sh # Ensure usage of python27 # (insteaf of the currently active python) # Work around bug http://trac.osgeo.org/grass/ticket/1758 fs-traverse f ${worksrcpath} { if {[string match "*.py" "$f"]} { reinplace "s|/usr/bin/env python|${python_bin}|" $f } } } } # TODO: in principle wxWidgets is optional and could be disable with # --disable-wxwidgets if there is demand for that variant wxwidgets30 description {Use Cocoa-based wxWidgets 3.0} { wxWidgets.use wxPython-3.0 depends_lib-append port:${wxWidgets.port} configure.args-append --with-wxwidgets=${wxWidgets.wxconfig} } # TODO: this forces the variants # the variants are kept in case someone would want to use python3.x in the future, # disable wxWidgets or switch to wxGTK ... if {![variant_isset wxwidgets30]} { default_variants-append +wxwidgets30 } if {![variant_isset python27]} { default_variants-append +python27 } livecheck.type regex livecheck.url http://grass.osgeo.org/download/software/sources/ livecheck.regex grass-(\[0-9.\]+)${extract.suffix}