Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ stdenv 2, buildPythonPackage 3, isPyPy 4, python 5, pkgs 6, pillow 7, pycairo 8}: 9 10let 11 boost = pkgs.boost.override { 12 enablePython = true; 13 inherit python; 14 }; 15 mapnik = pkgs.mapnik.override { 16 inherit python boost; 17 }; 18 19in buildPythonPackage rec { 20 pname = "python-mapnik"; 21 version = "unstable-2020-02-24"; 22 23 src = pkgs.fetchFromGitHub { 24 owner = "mapnik"; 25 repo = "python-mapnik"; 26 rev = "7da019cf9eb12af8f8aa88b7d75789dfcd1e901b"; 27 sha256 = "0snn7q7w1ab90311q8wgd1z64kw1svm5w831q0xd6glqhah86qc8"; 28 }; 29 30 disabled = isPyPy; 31 doCheck = false; # doesn't find needed test data files 32 preBuild = let 33 pythonVersion = with stdenv.lib.versions; "${major python.version}${minor python.version}"; 34 in '' 35 export BOOST_PYTHON_LIB="boost_python${pythonVersion}" 36 export BOOST_THREAD_LIB="boost_thread" 37 export BOOST_SYSTEM_LIB="boost_system" 38 ''; 39 40 nativeBuildInputs = [ 41 mapnik # for mapnik_config 42 ]; 43 44 buildInputs = [ 45 mapnik 46 boost 47 ] ++ (with pkgs; [ 48 cairo 49 harfbuzz 50 icu 51 libjpeg 52 libpng 53 libtiff 54 libwebp 55 proj 56 zlib 57 ]); 58 propagatedBuildInputs = [ pillow pycairo ]; 59 60 meta = with stdenv.lib; { 61 description = "Python bindings for Mapnik"; 62 homepage = "https://mapnik.org"; 63 license = licenses.lgpl21; 64 }; 65 66}