# -*- 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$

PortSystem 1.0

name                    py25-mapnik
version                 trunk
categories            graphics gis
platforms             darwin
maintainers          gmail.com:dbsgeo
description           Open Source toolkit for developing mapping applications.
homepage             http://mapnik.org/
platforms              darwin


distname            ${name}-${version}
checksums           md5 3cba5f847eabb88be6f5047ee7ed0be3 \
                            sha1 e0c94afdd29af9bc0014707e29596ec86fc399b5 \
                            rmd160 9290fcb8bf8b63d78727e837577fa2fdfa3587a9

worksrcdir      ${version}
use_configure   no

fetch.type          svn
svn.url             http://svn.mapnik.org/tags/release-0.6.0/

long_description \
    Mapnik is a Open Source for developing mapping \
    applications. It's written in C++ and there are \
    Python bindings to facilitate fast-paced agile \
    development. It can comfortably be used for both \
    desktop and web development. \
    \
    Mapnik is about making beautiful maps. It uses the \
    AGG library and offers world class anti-aliasing \
    rendering with subpixel accuracy for geographic \
    data. It is written from scratch in modern C++ and \
    doesn't suffer from design decisions made a decade \
    ago. When it comes to handling common software tasks \
    such as memory management, filesystem access, \
    regular expressions, parsing and so on, Mapnik \
    doesn't re-invent the wheel, but utilises best of \
    breed industry standard libraries from boost.org. \

depends_build       bin:svn:subversion

depends_lib         port:boost \
                    port:libpng \
                    port:jpeg \
                    port:tiff \
                    port:icu \
                    port:zlib \
                    port:freetype \
                    port:proj \
                    port:libxml2 \
                    port:python25 \
                    port:py25-hashlib

set python  "${prefix}/bin/python2.5"

variant cairo description {Builds port with Cairo Support} {
    depends_lib-append port:cairo
    depends_lib-append port:cairomm
    depends_lib-append port:py25-cairo
    build.args-delete CAIRO=False
    build.args-append  CAIRO=True
}

variant postgis description {Builds port with PostGIS plugin} {
    depends_lib-append port:postgis
    build.args-append  PG_CONFIG=${prefix}/bin/pg_config
}

variant gdal description {Builds port with GDAL/OGR plugin} {
    depends_lib-append port:gdal
    build.args-append  GDAL_CONFIG=${prefix}/bin/gdal-config
}

variant sqlite description {Builds port with SQLite3 plugin} {
    depends_lib-append port:sqlite3
    build.args-append  SQLITE_INCLUDES=${prefix}/include \
                       SQLITE_LIBS=${prefix}/lib
}

build.args      PREFIX=${prefix} \
                     CAIRO=False \
                     INPUT_PLUGINS=all \
                     PYTHON_PREFIX=${prefix} \
                     USE_CONFIG=False \
                     FREETYPE_CONFIG=${prefix}/bin/freetype-config \
                     XML2_CONFIG=${prefix}/bin/xml2-config \
                     BOOST_INCLUDES=${prefix}/include \
                     BOOST_LIBS=${prefix}/lib \
                     SQLITE_INCLUDES=${prefix}/include \
                     SQLITE_LIBS=${prefix}/lib \
                     ICU_INCLUDES=${prefix}/include \
                     ICU_LIBS=${prefix}/lib \
                     PNG_INCLUDES=${prefix}/include \
                     PNG_LIBS=${prefix}/lib \
                     JPEG_INCLUDES=${prefix}/include \
                     JPEG_LIBS=${prefix}/lib \
                     TIFF_INCLUDES=${prefix}/include \
                     TIFF_LIBS=${prefix}/lib \
                     PROJ_INCLUDES=${prefix}/include \
                     PROJ_LIBS=${prefix}/lib \
                     PYTHON=${python} \
                     LIB_DIR_NAME=/mapnik/0.6 \
                     FRAMEWORK_PYTHON=False \
                     DESTDIR=${destroot}

build {
    system "cd ${worksrcpath} && ${python} scons/scons.py ${build.args}"
}

destroot {
    system "cd ${worksrcpath} && ${python} scons/scons.py install"
}
