diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mapnik')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/mapnik/default.nix | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mapnik/default.nix b/nixpkgs/pkgs/development/libraries/mapnik/default.nix new file mode 100644 index 000000000000..d4f11c1d126a --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/mapnik/default.nix @@ -0,0 +1,73 @@ +{ lib, stdenv, fetchzip +, boost, cairo, freetype, gdal, harfbuzz, icu, libjpeg, libpng, libtiff +, libwebp, libxml2, proj, python, sqlite, zlib + +# supply a postgresql package to enable the PostGIS input plugin +, postgresql ? null +}: + +stdenv.mkDerivation rec { + pname = "mapnik"; + version = "3.1.0"; + + 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"; + sha256 = "sha256-qqPqN4vs3ZsqKgnx21yQhX8OzHca/0O+3mvQ/vnC5EY="; + }; + + # a distinct dev output makes python-mapnik fail + outputs = [ "out" ]; + + nativeBuildInputs = [ python ]; + + buildInputs = + [ boost cairo freetype gdal harfbuzz icu libjpeg libpng libtiff + libwebp libxml2 proj python sqlite zlib + + # optional inputs + postgresql + ]; + + prefixKey = "PREFIX="; + + preConfigure = '' + patchShebangs ./configure + ''; + + configureFlags = [ + "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" + ]; + + meta = with lib; { + description = "An open source toolkit for developing mapping applications"; + homepage = "https://mapnik.org"; + maintainers = with maintainers; [ hrdinka ]; + license = licenses.lgpl21; + platforms = platforms.all; + }; +} |