summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/python-mapnik
diff options
context:
space:
mode:
authorChristoph Hrdinka <c.github@hrdinka.at>2021-05-12 09:12:09 +0200
committerGitHub <noreply@github.com>2021-05-12 09:12:09 +0200
commit00a6b1fa8d3d598f2029a7f267bb2975e65f742a (patch)
treecf7c7b38194f4230e38402542635ff587c179cf9 /pkgs/development/python-modules/python-mapnik
parent143da61425113073cea668cf6d25f7cb3ae3a050 (diff)
parent12d4e7567c1c5d30d489e51f23e96f17783fe22d (diff)
Merge pull request #122619 from tollb/fix/python-mapnik-pycairo-support-20210511a
python-mapnik: fix pycairo support
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik')
-rw-r--r--pkgs/development/python-modules/python-mapnik/default.nix6
-rw-r--r--pkgs/development/python-modules/python-mapnik/find-pycairo-with-pkg-config.patch18
2 files changed, 24 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix
index 36c297358e87..b1b0c70d8602 100644
--- a/pkgs/development/python-modules/python-mapnik/default.nix
+++ b/pkgs/development/python-modules/python-mapnik/default.nix
@@ -35,10 +35,16 @@ in buildPythonPackage rec {
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 = [
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")
+