2017-10-15 11:57:52 +02:00
|
|
|
{ stdenv, fetchzip, fetchpatch
|
2015-12-02 21:27:32 +01:00
|
|
|
, boost, cairo, freetype, gdal, harfbuzz, icu, libjpeg, libpng, libtiff
|
2018-09-30 13:44:41 +02:00
|
|
|
, libwebp, libxml2, proj, python, scons, sqlite, zlib
|
2017-04-20 20:31:37 +02:00
|
|
|
|
|
|
|
# supply a postgresql package to enable the PostGIS input plugin
|
|
|
|
, postgresql ? null
|
2015-12-02 21:27:32 +01:00
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "mapnik-${version}";
|
2018-10-14 14:39:30 +02:00
|
|
|
version = "3.0.21";
|
2015-12-02 21:27:32 +01:00
|
|
|
|
2016-09-27 15:17:28 +02:00
|
|
|
src = fetchzip {
|
|
|
|
# this one contains all git submodules and is cheaper than fetchgit
|
|
|
|
url = "https://github.com/mapnik/mapnik/releases/download/v${version}/mapnik-v${version}.tar.bz2";
|
2018-10-14 14:39:30 +02:00
|
|
|
sha256 = "0cq2gbmf1sssg72sq4b5s3x1z6wvl1pzxliymm06flw5bpim5as2";
|
2015-12-02 21:27:32 +01:00
|
|
|
};
|
|
|
|
|
2016-09-27 15:17:28 +02:00
|
|
|
# a distinct dev output makes python-mapnik fail
|
|
|
|
outputs = [ "out" ];
|
2016-06-13 11:59:04 +02:00
|
|
|
|
2018-11-14 21:00:19 +01:00
|
|
|
nativeBuildInputs = [ python ];
|
2015-12-02 21:27:32 +01:00
|
|
|
|
|
|
|
buildInputs =
|
|
|
|
[ boost cairo freetype gdal harfbuzz icu libjpeg libpng libtiff
|
2018-09-30 13:44:41 +02:00
|
|
|
libwebp libxml2 proj python sqlite zlib
|
2017-04-20 20:31:37 +02:00
|
|
|
|
|
|
|
# optional inputs
|
|
|
|
postgresql
|
2015-12-02 21:27:32 +01:00
|
|
|
];
|
|
|
|
|
2018-11-12 03:52:07 +01:00
|
|
|
prefixKey = "PREFIX=";
|
2015-12-02 21:27:32 +01:00
|
|
|
|
2018-11-14 21:00:19 +01:00
|
|
|
configureFlags = [
|
2018-11-12 03:52:07 +01:00
|
|
|
"BOOST_INCLUDES=${boost.dev}/include"
|
|
|
|
"BOOST_LIBS=${boost.out}/lib"
|
|
|
|
"CAIRO_INCLUDES=${cairo.dev}/include"
|
|
|
|
"CAIRO_LIBS=${cairo.out}/lib"
|
|
|
|
"FREETYPE_INCLUDES=${freetype.dev}/include"
|
|
|
|
"FREETYPE_LIBS=${freetype.out}/lib"
|
|
|
|
"GDAL_CONFIG=${gdal}/bin/gdal-config"
|
|
|
|
"HB_INCLUDES=${harfbuzz.dev}/include"
|
|
|
|
"HB_LIBS=${harfbuzz.out}/lib"
|
|
|
|
"ICU_INCLUDES=${icu.dev}/include"
|
|
|
|
"ICU_LIBS=${icu.out}/lib"
|
|
|
|
"JPEG_INCLUDES=${libjpeg.dev}/include"
|
|
|
|
"JPEG_LIBS=${libjpeg.out}/lib"
|
|
|
|
"PNG_INCLUDES=${libpng.dev}/include"
|
|
|
|
"PNG_LIBS=${libpng.out}/lib"
|
|
|
|
"PROJ_INCLUDES=${proj}/include"
|
|
|
|
"PROJ_LIBS=${proj}/lib"
|
|
|
|
"SQLITE_INCLUDES=${sqlite.dev}/include"
|
|
|
|
"SQLITE_LIBS=${sqlite.out}/lib"
|
|
|
|
"TIFF_INCLUDES=${libtiff.dev}/include"
|
|
|
|
"TIFF_LIBS=${libtiff.out}/lib"
|
|
|
|
"WEBP_INCLUDES=${libwebp}/include"
|
|
|
|
"WEBP_LIBS=${libwebp}/lib"
|
|
|
|
"XML2_INCLUDES=${libxml2.dev}/include"
|
|
|
|
"XML2_LIBS=${libxml2.out}/lib"
|
|
|
|
];
|
2015-12-02 21:27:32 +01:00
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "An open source toolkit for developing mapping applications";
|
|
|
|
homepage = http://mapnik.org;
|
|
|
|
maintainers = with maintainers; [ hrdinka ];
|
|
|
|
license = licenses.lgpl21;
|
|
|
|
platforms = platforms.all;
|
|
|
|
};
|
|
|
|
}
|