23b612e36f
GitOrigin-RevId: ae5c332cbb5827f6b1f02572496b141021de335f
102 lines
2.2 KiB
Nix
102 lines
2.2 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, fetchpatch
|
|
, cmake
|
|
, pkg-config
|
|
, boost
|
|
, curl
|
|
, geos
|
|
, libspatialite
|
|
, luajit
|
|
, prime-server
|
|
, protobuf
|
|
, python3
|
|
, sqlite
|
|
, zeromq
|
|
, zlib
|
|
, testers
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "valhalla";
|
|
version = "3.4.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "valhalla";
|
|
repo = "valhalla";
|
|
rev = finalAttrs.version;
|
|
hash = "sha256-1X9vsWsgnzmXn7bCMhN2PNwtfV0RRdzRFZIrQN2PLfA=";
|
|
fetchSubmodules = true;
|
|
};
|
|
|
|
patches = [
|
|
# Fix build
|
|
(fetchpatch {
|
|
url = "https://github.com/valhalla/valhalla/commit/e4845b68e8ef8de9eabb359b23bf34c879e21f2b.patch";
|
|
hash = "sha256-xCufmXHGj1JxaMwm64JT9FPY+o0+x4glfJSYLdvHI8U=";
|
|
})
|
|
|
|
# Fix gcc-13 build:
|
|
# https://github.com/valhalla/valhalla/pull/4154
|
|
(fetchpatch {
|
|
name = "gcc-13.patch";
|
|
url = "https://github.com/valhalla/valhalla/commit/ed93f30272377cc6803533a1bb94fe81d14af81c.patch";
|
|
hash = "sha256-w4pnOqk/Jj3unVuesE64QSecrUIVSqwK69t9xNVc4GA=";
|
|
})
|
|
];
|
|
|
|
postPatch = ''
|
|
substituteInPlace src/bindings/python/CMakeLists.txt \
|
|
--replace "\''${Python_SITEARCH}" "${placeholder "out"}/${python3.sitePackages}"
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
cmake
|
|
pkg-config
|
|
];
|
|
|
|
cmakeFlags = [
|
|
"-DENABLE_TESTS=OFF"
|
|
"-DENABLE_BENCHMARKS=OFF"
|
|
];
|
|
|
|
env.NIX_CFLAGS_COMPILE = toString [
|
|
# Needed for date submodule with GCC 12 https://github.com/HowardHinnant/date/issues/750
|
|
"-Wno-error=stringop-overflow"
|
|
];
|
|
|
|
buildInputs = [
|
|
boost
|
|
curl
|
|
geos
|
|
libspatialite
|
|
luajit
|
|
prime-server
|
|
protobuf
|
|
python3
|
|
sqlite
|
|
zeromq
|
|
zlib
|
|
];
|
|
|
|
postFixup = ''
|
|
substituteInPlace "$out"/lib/pkgconfig/libvalhalla.pc \
|
|
--replace '=''${prefix}//' '=/' \
|
|
--replace '=''${exec_prefix}//' '=/'
|
|
'';
|
|
|
|
passthru.tests = {
|
|
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
|
};
|
|
|
|
meta = with lib; {
|
|
changelog = "https://github.com/valhalla/valhalla/blob/${finalAttrs.src.rev}/CHANGELOG.md";
|
|
description = "Open Source Routing Engine for OpenStreetMap";
|
|
homepage = "https://valhalla.readthedocs.io/";
|
|
license = licenses.mit;
|
|
maintainers = [ maintainers.Thra11 ];
|
|
pkgConfigModules = [ "libvalhalla" ];
|
|
platforms = platforms.linux;
|
|
};
|
|
})
|