summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/python-mapnik
diff options
context:
space:
mode:
authorAlexander Shestakov <a.shestakov@itransition.com>2021-07-12 12:50:28 +0300
committerGitHub <noreply@github.com>2021-07-12 12:50:28 +0300
commitcf364240093b278aeebca2ce7eff97748af7315a (patch)
tree92ee610712836b7c7725afcd854aaec1ddd63151 /pkgs/development/python-modules/python-mapnik
parent671dd83a29a69aab6fd7f9ac133d115a35516435 (diff)
parent13b3e91794b9c3ef258122d946524eb57e3d13fd (diff)
Merge branch 'master' into master
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik')
-rw-r--r--pkgs/development/python-modules/python-mapnik/default.nix14
-rw-r--r--pkgs/development/python-modules/python-mapnik/find-pycairo-with-pkg-config.patch18
2 files changed, 29 insertions, 3 deletions
diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix
index 61cd5e34855c..228e0d74ebc2 100644
--- a/pkgs/development/python-modules/python-mapnik/default.nix
+++ b/pkgs/development/python-modules/python-mapnik/default.nix
@@ -1,4 +1,4 @@
-{ stdenv
+{ lib
, buildPythonPackage
, isPyPy
, python
@@ -30,15 +30,21 @@ in buildPythonPackage rec {
disabled = isPyPy;
doCheck = false; # doesn't find needed test data files
preBuild = let
- pythonVersion = with stdenv.lib.versions; "${major python.version}${minor python.version}";
+ pythonVersion = with lib.versions; "${major python.version}${minor python.version}";
in ''
export BOOST_PYTHON_LIB="boost_python${pythonVersion}"
export BOOST_THREAD_LIB="boost_thread"
export BOOST_SYSTEM_LIB="boost_system"
+ export PYCAIRO=true
'';
nativeBuildInputs = [
mapnik # for mapnik_config
+ pkgs.pkgconfig
+ ];
+
+ patches = [
+ ./find-pycairo-with-pkg-config.patch
];
buildInputs = [
@@ -57,7 +63,9 @@ in buildPythonPackage rec {
]);
propagatedBuildInputs = [ pillow pycairo ];
- meta = with stdenv.lib; {
+ pythonImportsCheck = [ "mapnik" ] ;
+
+ meta = with lib; {
description = "Python bindings for Mapnik";
homepage = "https://mapnik.org";
license = licenses.lgpl21;
diff --git a/pkgs/development/python-modules/python-mapnik/find-pycairo-with-pkg-config.patch b/pkgs/development/python-modules/python-mapnik/find-pycairo-with-pkg-config.patch
new file mode 100644
index 000000000000..1f35af36ee82
--- /dev/null
+++ b/pkgs/development/python-modules/python-mapnik/find-pycairo-with-pkg-config.patch
@@ -0,0 +1,18 @@
+diff --git a/setup.py b/setup.py
+index 82a31d733..1c876a553 100755
+--- a/setup.py
++++ b/setup.py
+@@ -228,10 +228,9 @@ extra_comp_args = list(filter(lambda arg: arg != "-fvisibility=hidden", extra_co
+ if os.environ.get("PYCAIRO", "false") == "true":
+ try:
+ extra_comp_args.append('-DHAVE_PYCAIRO')
+- print("-I%s/include/pycairo".format(sys.exec_prefix))
+- extra_comp_args.append("-I{0}/include/pycairo".format(sys.exec_prefix))
+- #extra_comp_args.extend(check_output(["pkg-config", '--cflags', 'pycairo']).strip().split(' '))
+- #linkflags.extend(check_output(["pkg-config", '--libs', 'pycairo']).strip().split(' '))
++ pycairo_name = 'py3cairo' if PYTHON3 else 'pycairo'
++ extra_comp_args.extend(check_output(["pkg-config", '--cflags', pycairo_name]).strip().split(' '))
++ linkflags.extend(check_output(["pkg-config", '--libs', pycairo_name]).strip().split(' '))
+ except:
+ raise Exception("Failed to find compiler options for pycairo")
+