Page MenuHomePhabricator

Figure out Maki's Mapnik requirements
Closed, ResolvedPublic

Description

We forced an older version of some maki-related dependencies in https://phabricator.wikimedia.org/rGMKT0b0c68d4ee564c61d27cc994450b8a98fc149d12

This is because new versions were pulling in Mapnik, causing problems with both node-mapnik 3.5 and 3.6 being installed. The 3.5 was being installed as part of Kartotherian and being built from source (see node-mapnik + glibc + semver violations) and 3.6 was not desired.

The idea of needing Mapnik to install an icon library is, put simply, insane. Rather than being stuck on an old version forever, we need to figure out what is going on.

The fix will probably involve some kind of PR to some maki-related repos owned by Mapbox.

Event Timeline

This is still an issue - we need to figure out what's happening, but it's not an immediate priority. This is independent of needing to upgrade Mapnik

It's coming in through @mapbox/makizushi. makizushi doesn't actually appear to use mapnik (though its dependency @mapbox/blend does). I'm guessing the intention is to enforce mapnik version consistency with other components it's intended to work with, but strictly speaking it's an unnecessary direct dependency.

That said, the problem of needing to maintain mapnik version consistency among the various dependencies is not unique to maki. I'm not sure anything in particular needs to be done here. We could try and persuade mapbox to remove the explicit node-mapnik dependency from makizushi, but it wouldn't resolve the general problem of potential mapnik version disagreements.