Merge pull request #277128 from hummeltech/MapnikUpgrade
mapnik: unstable-2022-10-18 -> unstable-2023-11-28
This commit is contained in:
commit
07e3d3de40
@ -7629,6 +7629,12 @@
|
||||
githubId = 51334444;
|
||||
name = "Akshat Agarwal";
|
||||
};
|
||||
hummeltech = {
|
||||
email = "hummeltech2024@gmail.com";
|
||||
github = "hummeltech";
|
||||
githubId = 6109326;
|
||||
name = "David Hummel";
|
||||
};
|
||||
huyngo = {
|
||||
email = "huyngo@disroot.org";
|
||||
github = "Huy-Ngo";
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index d87a7052d..837867551 100644
|
||||
index ffb86d4ac..1775b986f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -153,19 +153,8 @@ endif()
|
||||
@@ -177,19 +177,8 @@ endif()
|
||||
|
||||
mapnik_find_package(Freetype REQUIRED)
|
||||
|
||||
@ -16,7 +16,7 @@ index d87a7052d..837867551 100644
|
||||
- # It might be possible that in future version harfbuzz could only be found via pkg-config.
|
||||
- # harfbuzz related discussion: https://github.com/harfbuzz/harfbuzz/issues/2653
|
||||
- message(STATUS "harfbuzz not found via cmake. Searching via pkg-config...")
|
||||
- pkg_check_modules(harfbuzz REQUIRED IMPORTED_TARGET harfbuzz>=${HARFBUZZ_MIN_VERSION})
|
||||
- mapnik_pkg_check_modules(harfbuzz REQUIRED IMPORTED_TARGET harfbuzz>=${HARFBUZZ_MIN_VERSION})
|
||||
- list(APPEND MAPNIK_OPTIONAL_LIBS PkgConfig::harfbuzz)
|
||||
-endif()
|
||||
+pkg_check_modules(harfbuzz REQUIRED IMPORTED_TARGET harfbuzz)
|
||||
|
@ -0,0 +1,13 @@
|
||||
diff --git a/test/unit/datasource/ogr.cpp b/test/unit/datasource/ogr.cpp
|
||||
index 8441ecc55..8dabc67b0 100644
|
||||
--- a/test/unit/datasource/ogr.cpp
|
||||
+++ b/test/unit/datasource/ogr.cpp
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <mapnik/image_util.hpp>
|
||||
#include <mapnik/datasource_cache.hpp>
|
||||
|
||||
-TEST_CASE("ogr")
|
||||
+TEST_CASE("ogr", "[!shouldfail]")
|
||||
{
|
||||
const bool have_ogr_plugin = mapnik::datasource_cache::instance().plugin_registered("ogr");
|
||||
if (have_ogr_plugin)
|
@ -26,13 +26,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mapnik";
|
||||
version = "unstable-2022-10-18";
|
||||
version = "unstable-2023-11-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mapnik";
|
||||
repo = "mapnik";
|
||||
rev = "05661e54392bcbb3367747f97a3ef6e468c105ba";
|
||||
hash = "sha256-96AneLPH1gbh/u880Pdc9OdFq2MniSdaTJoKYqId7sw=";
|
||||
rev = "2e1b32512b1f8b52331994f2a809d8a383c0c984";
|
||||
hash = "sha256-qGdUfu6gFWum/Id/W3ICeGZroMQ3Tz9PQf1tt+gaaXM=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@ -57,7 +57,11 @@ stdenv.mkDerivation rec {
|
||||
src = ./catch2-src.patch;
|
||||
catch2_src = catch2.src;
|
||||
})
|
||||
./include.patch
|
||||
# Disable broken test
|
||||
# See discussion: https://github.com/mapnik/mapnik/issues/4329#issuecomment-1248778398
|
||||
./datasource-ogr-test-should-fail.patch
|
||||
# Account for full paths when generating libmapnik.pc
|
||||
./export-pkg-config-full-paths.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
@ -83,9 +87,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
cmakeFlags = [
|
||||
# Would require qt otherwise.
|
||||
"-DBUILD_DEMO_VIEWER=OFF"
|
||||
"-DBUILD_DEMO_VIEWER:BOOL=OFF"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
# mapnik-config is currently not build with CMake. So we use the SCons for
|
||||
# this one. We can't add SCons to nativeBuildInputs though, as stdenv would
|
||||
# then try to build everything with scons.
|
||||
@ -103,7 +109,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "An open source toolkit for developing mapping applications";
|
||||
homepage = "https://mapnik.org";
|
||||
maintainers = with maintainers; [ hrdinka ];
|
||||
maintainers = with maintainers; [ hrdinka hummeltech ];
|
||||
license = licenses.lgpl21Plus;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
|
@ -0,0 +1,15 @@
|
||||
diff --git a/cmake/MapnikExportPkgConfig.cmake b/cmake/MapnikExportPkgConfig.cmake
|
||||
index e459f80ef..ec18a71a2 100644
|
||||
--- a/cmake/MapnikExportPkgConfig.cmake
|
||||
+++ b/cmake/MapnikExportPkgConfig.cmake
|
||||
@@ -65,8 +65,8 @@ prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=${prefix}
|
||||
includedir=${prefix}/include
|
||||
libdir=${exec_prefix}/lib
|
||||
-fonts_dir=${prefix}/@FONTS_INSTALL_DIR@
|
||||
-plugins_dir=${prefix}/@PLUGINS_INSTALL_DIR@
|
||||
+fonts_dir=@FONTS_INSTALL_DIR@
|
||||
+plugins_dir=@PLUGINS_INSTALL_DIR@
|
||||
|
||||
Name: @_lib_name@
|
||||
Description: @_description@
|
@ -1,11 +0,0 @@
|
||||
diff --git a/benchmark/src/test_png_encoding2.cpp b/benchmark/src/test_png_encoding2.cpp
|
||||
index 19897d180..5791b139c 100644
|
||||
--- a/benchmark/src/test_png_encoding2.cpp
|
||||
+++ b/benchmark/src/test_png_encoding2.cpp
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "bench_framework.hpp"
|
||||
#include "compare_images.hpp"
|
||||
+#include <memory>
|
||||
|
||||
class test : public benchmark::test_case
|
||||
{
|
@ -8,7 +8,7 @@
|
||||
, pillow
|
||||
, pycairo
|
||||
, pkg-config
|
||||
, boost182
|
||||
, boost
|
||||
, cairo
|
||||
, harfbuzz
|
||||
, icu
|
||||
@ -28,25 +28,21 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-mapnik";
|
||||
version = "unstable-2020-09-08";
|
||||
version = "unstable-2023-02-23";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mapnik";
|
||||
repo = "python-mapnik";
|
||||
rev = "a2c2a86eec954b42d7f00093da03807d0834b1b4";
|
||||
hash = "sha256-GwDdrutJOHtW7pIWiUAiu1xucmRvp7YFYB3YSCrDsrY=";
|
||||
# Use proj6 branch in order to support Proj >= 6 (excluding commits after 2023-02-23)
|
||||
# https://github.com/mapnik/python-mapnik/compare/master...proj6
|
||||
rev = "687b2c72a24c59d701d62e4458c380f8c54f0549";
|
||||
hash = "sha256-q3Snd3K/JndckwAVwSKU+kFK5E1uph78ty7mwVo/7Ik=";
|
||||
# Only needed for test data
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/mapnik/python-mapnik/issues/239
|
||||
(fetchpatch {
|
||||
url = "https://github.com/koordinates/python-mapnik/commit/318b1edac16f48a7f21902c192c1dd86f6210a44.patch";
|
||||
hash = "sha256-cfU8ZqPPGCqoHEyGvJ8Xy/bGpbN2vSDct6A3N5+I8xM=";
|
||||
})
|
||||
./find-pycairo-with-pkg-config.patch
|
||||
# python-mapnik seems to depend on having the mapnik src directory
|
||||
# structure available at build time. We just hardcode the paths.
|
||||
(substituteAll {
|
||||
@ -62,7 +58,7 @@ buildPythonPackage rec {
|
||||
|
||||
buildInputs = [
|
||||
mapnik
|
||||
boost182
|
||||
boost
|
||||
cairo
|
||||
harfbuzz
|
||||
icu
|
||||
@ -107,36 +103,15 @@ buildPythonPackage rec {
|
||||
|
||||
# https://github.com/mapnik/python-mapnik/issues/255
|
||||
disabledTests = [
|
||||
"test_adding_datasource_to_layer"
|
||||
"test_compare_map"
|
||||
"test_dataraster_coloring"
|
||||
"test_dataraster_query_point"
|
||||
"test_geometry_type"
|
||||
"test_good_files"
|
||||
"test_layer_init"
|
||||
"test_load_save_map"
|
||||
"test_loading_fontset_from_map"
|
||||
"test_marker_ellipse_render1"
|
||||
"test_marker_ellipse_render2"
|
||||
"test_normalizing_definition"
|
||||
"test_passing_pycairo_context_pdf"
|
||||
"test_pdf_printing"
|
||||
"test_proj_antimeridian_bbox"
|
||||
"test_proj_transform_between_init_and_literal"
|
||||
"test_pycairo_pdf_surface1"
|
||||
"test_pycairo_svg_surface1"
|
||||
"test_query_tolerance"
|
||||
"test_raster_warping"
|
||||
"test_raster_warping_does_not_overclip_source"
|
||||
"test_render_points"
|
||||
"test_render_with_scale_factor"
|
||||
"test_style_level_comp_op"
|
||||
"test_style_level_image_filter"
|
||||
"test_that_coordinates_do_not_overflow_and_polygon_is_rendered_csv"
|
||||
"test_that_coordinates_do_not_overflow_and_polygon_is_rendered_memory"
|
||||
"test_transparency_levels"
|
||||
"test_visual_zoom_all_rendering1"
|
||||
"test_visual_zoom_all_rendering2"
|
||||
"test_wgs84_inverse_forward"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
"test_passing_pycairo_context_pdf"
|
||||
"test_passing_pycairo_context_svg"
|
||||
];
|
||||
|
||||
|
@ -1,18 +0,0 @@
|
||||
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")
|
||||
|
@ -11745,7 +11745,7 @@ self: super: with self; {
|
||||
|
||||
python-mapnik = callPackage ../development/python-modules/python-mapnik rec {
|
||||
inherit (pkgs) pkg-config cairo icu libjpeg libpng libtiff libwebp proj zlib;
|
||||
boost182 = pkgs.boost182.override {
|
||||
boost = pkgs.boost182.override {
|
||||
enablePython = true;
|
||||
inherit python;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user