75 lines
1.9 KiB
Nix
75 lines
1.9 KiB
Nix
{ lib
|
|
, mkDerivation
|
|
, fetchFromGitHub
|
|
, fetchpatch
|
|
, pkg-config
|
|
, qmake
|
|
, qttools
|
|
, boost
|
|
, kirigami2
|
|
, kyotocabinet
|
|
, libmicrohttpd
|
|
, libosmscout
|
|
, libpostal
|
|
, marisa
|
|
, osrm-backend
|
|
, protobuf
|
|
, qtquickcontrols2
|
|
, qtlocation
|
|
, sqlite
|
|
, valhalla
|
|
}:
|
|
|
|
let
|
|
date = fetchFromGitHub {
|
|
owner = "HowardHinnant";
|
|
repo = "date";
|
|
rev = "a2fdba1adcb076bf9a8343c07524afdf09aa8dcc";
|
|
sha256 = "00sf1pbaz0g0gsa0dlm23lxk4h46xm1jv1gzbjj5rr9sf1qccyr5";
|
|
};
|
|
in
|
|
mkDerivation rec {
|
|
pname = "osmscout-server";
|
|
version = "3.0.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "rinigus";
|
|
repo = "osmscout-server";
|
|
rev = version;
|
|
hash = "sha256-jcg/0SKeLviEC+vszh5DployKDAI7N+a8lzvImzFTvY=";
|
|
fetchSubmodules = true;
|
|
};
|
|
|
|
nativeBuildInputs = [ qmake pkg-config qttools ];
|
|
buildInputs = [
|
|
kirigami2 qtquickcontrols2 qtlocation
|
|
valhalla libosmscout osrm-backend libmicrohttpd
|
|
libpostal sqlite marisa kyotocabinet boost protobuf date
|
|
];
|
|
|
|
patches = [
|
|
# Valhalla 3.2.1 support. Only required for next patch to apply cleanly
|
|
(fetchpatch {
|
|
url = "https://github.com/rinigus/osmscout-server/commit/1df9d383e61dd14cbe9e5b52412a2e951cee2ee4.patch";
|
|
hash = "sha256-h+YTyHr4RYgwH5bfVgyujSekbL2LfV8vJgVkjXT0I10=";
|
|
})
|
|
# Valhalla 3.4.0 support
|
|
(fetchpatch {
|
|
url = "https://github.com/rinigus/osmscout-server/commit/fe6562a4c3ba5da2735232ea8fdc7f71d7e7e714.patch";
|
|
hash = "sha256-wibLTFk3cFS5mcC71TgMA9ZAAHS3mbjboFHqax6nCxs=";
|
|
})
|
|
];
|
|
|
|
qmakeFlags = [
|
|
"SCOUT_FLAVOR=kirigami" # Choose to build the kirigami UI variant
|
|
"CONFIG+=disable_mapnik" # Disable the optional mapnik backend
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Maps server providing tiles, geocoder, and router";
|
|
homepage = "https://github.com/rinigus/osmscout-server";
|
|
license = licenses.gpl3Only;
|
|
maintainers = [ maintainers.Thra11 ];
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|