mapbox-gl-native: use upstream version, unvendor rapidjson, and move to libsForQt5

The first two patches are needed for mapbox-gl-qml.
The third patch is required when building without the vendored rapidjson.
This commit is contained in:
Robert Schütz 2021-03-20 19:30:19 +01:00
parent f5e8bdd07d
commit 42f157fd07
3 changed files with 33 additions and 9 deletions

View file

@ -1,20 +1,44 @@
{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config
, qtbase, curl, libuv, glfw3 }:
{ lib, mkDerivation, fetchFromGitHub, fetchpatch, cmake, pkg-config
, qtbase, curl, libuv, glfw3, rapidjson }:
mkDerivation rec {
pname = "mapbox-gl-native";
version = "2020.06.07";
version = "1.6.0";
src = fetchFromGitHub {
owner = "mapbox";
repo = "mapbox-gl-native";
rev = "e18467d755f470b26f61f6893eddd76ecf0816e6";
sha256 = "1x271gg9h81jpi70pv63i6lsa1zg6bzja9mbz7bsa4s02fpqy7wh";
rev = "maps-v${version}";
sha256 = "027rw23yvd5a6nl9b5hsanddc44nyb17l2whdcq9fxb9n6vcda4c";
fetchSubmodules = true;
};
patches = [
# https://github.com/mapbox/mapbox-gl-native/pull/16591
(fetchpatch {
name = "add-support-for-qmapboxgl-installation.patch";
url = "https://github.com/mapbox/mapbox-gl-native/commit/e18467d755f470b26f61f6893eddd76ecf0816e6.patch";
sha256 = "0gs7wmkvyhf2db4cwbsq31sprsh1avi70ggvi32bk0wn3cw4d79b";
})
(fetchpatch {
name = "add-support-for-using-qmapboxgl-as-a-proper-cmake-dependency.patch";
url = "https://github.com/mapbox/mapbox-gl-native/commit/ab27b9b8207754ef731b588d187c470ffb084455.patch";
sha256 = "1lr5p1g4qaizs57vjqry9aq8k1ki59ks0y975chlnrm2sffp140r";
})
(fetchpatch {
name = "skip-license-check.patch";
url = "https://git.alpinelinux.org/aports/plain/testing/mapbox-gl-native/0002-skip-license-check.patch?id=6751a93dca26b0b3ceec9eb151272253a2fe497e";
sha256 = "1yybwzxbvn0lqb1br1fyg7763p2h117s6mkmywkl4l7qg9daa7ba";
})
];
postPatch = ''
# don't use vendored rapidjson
rm -r vendor/mapbox-base/extras/rapidjson
'';
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ curl libuv glfw3 qtbase ];
buildInputs = [ curl libuv glfw3 qtbase rapidjson ];
cmakeFlags = [
"-DMBGL_WITH_QT=ON"
@ -27,7 +51,7 @@ mkDerivation rec {
description = "Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL";
homepage = "https://mapbox.com/mobile";
license = licenses.bsd2;
maintainers = [ maintainers.Thra11 ];
maintainers = with maintainers; [ Thra11 dotlambda ];
platforms = platforms.linux;
};
}

View file

@ -16077,8 +16077,6 @@ in
opencl-clang = callPackage ../development/libraries/opencl-clang { };
mapbox-gl-native = libsForQt5.callPackage ../development/libraries/mapbox-gl-native { };
mapbox-gl-qml = libsForQt5.callPackage ../development/libraries/mapbox-gl-qml { };
mapnik = callPackage ../development/libraries/mapnik { };

View file

@ -115,6 +115,8 @@ in (kdeFrameworks // plasma5 // plasma5.thirdParty // kdeApplications // qt5 //
kpmcore = callPackage ../development/libraries/kpmcore { };
mapbox-gl-native = libsForQt5.callPackage ../development/libraries/mapbox-gl-native { };
mauikit = callPackage ../development/libraries/mauikit { };
mlt = callPackage ../development/libraries/mlt/qt-5.nix { };