The first release candidate for Mapnik 4.0.0 has been released. It's
almost like upstream can sense when I consider the lack of new upstream
releases reason enough to remove mapnik and its rdeps from Debian, so
they throw us a bone to delay the inevitable.
CMake is now also supported alongside SCons which makes the packaging
much simpler. The switch to CMake does break most rdeps because they
rely on mapnik-config which is only built when using SCons. Patching
those to use pkg-config instead was easy enough.
Only libapache2-mod-tile already had support for Mapnik 4.x, everything
else required patches as summarized below.
The new major version was also a good time to stop diverging from
upstream and include the full version in the SONAME instead of only
major and minor. This does require going through NEW for every new
upstream release like QGIS, and rebuilds of the rdeps. That's not great,
but inherent to the unstable ABI.
The switch to CMake also uses the Multi-Arch path for the libraries by
default, which is nice.
Mapnik 4.0.0 has two new dependencies: mapbox-geometry &
mapbox-polylabel. The former was used by node-mapnik via
mapnik-vector-tile in the past, and was removed from the archive along
with node-mapnik. The mapbox-geometry package was reintroduced for
Mapnik 4.0.0, and mapbox-polylabel was packaged as well. Only the C++
header-only library is required for Mapnik so no binary package is
provided for the Javascript library.
Bugreports with patches can be found using the mapnik-4.0 usertag:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=debian-gis@lists.debian.org&tag=mapnik-4.0
Supporting both Mapnik 3.x & Mapnik 4.0 was too much of a PITA, so the
patches all require Mapnik 4.0. Applying them will need to wait at least
until mapnik 4.0.0 has passed NEW.
python-mapnik (1:0.0~20200224-7da019cf9-5) FTBFS due to mapnik-config
removal in favor of pkg-config.
tirex (0.7.1-1) FTBFS due to mapnik-config removal in favor of pkg-config.
viking (1.10-2) FTBFS due to mapnik/map.hpp include check failure
(doesn't use C++14).
Transition: mapnik
libmapnik3.1t64 (3.1.0+ds-7+b2) -> libmapnik4.0.0 (4.0.0~rc1+ds-1~exp1)
The status of the most recent rebuilds is as follows.
libapache2-mod-tile (0.7.1-1) OK
python-mapnik (1:0.0~20200224-7da019cf9-5) FTBFS (#1069130)
tirex (0.7.1-1) FTBFS (#1069109)
viking (1.10-2) FTBFS (#1069105)
Kind Regards,
Bas