Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

110 lines
2.3 KiB
Nix
Raw Permalink Normal View History

2025-10-09 14:15:47 +02:00
{
lib,
organicmaps,
fetchurl,
fetchFromGitea,
boost,
gtest,
glm,
gflags,
imgui,
jansson,
python3,
optipng,
utf8cpp,
nix-update-script,
}:
let
mapRev = 250822;
worldMap = fetchurl {
url = "https://cdn-fi-1.comaps.app/maps/${toString mapRev}/World.mwm";
hash = "sha256-OksUAix8yw0WQiJUwfMrjOCd/OwuRjdCOUjjGpnG2S8=";
};
worldCoasts = fetchurl {
url = "https://cdn-fi-1.comaps.app/maps/${toString mapRev}/WorldCoasts.mwm";
hash = "sha256-1OvKZJ3T/YJu6t/qTYliIVkwsT8toBSqGHUpDEk9i2k=";
};
in
organicmaps.overrideAttrs (oldAttrs: rec {
pname = "comaps";
version = "2025.08.31-15";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "comaps";
repo = "comaps";
tag = "v${version}";
hash = "sha256-uRShcyMevNb/UE5+l8UabiGSr9TccVWp5xVoqI7+Oh8=";
fetchSubmodules = true;
};
patches = [
./remove-lto.patch
./use-vendored-protobuf.patch
# Include missing editor_tests_support.
./fix-editor-tests.patch
];
postPatch = (oldAttrs.postPatch or "") + ''
rm -f 3party/boost/b2
'';
nativeBuildInputs = (builtins.filter (x: x != python3) oldAttrs.nativeBuildInputs or [ ]) ++ [
(python3.withPackages (
ps: with ps; [
protobuf
]
))
optipng
];
buildInputs = (oldAttrs.buildInputs or [ ]) ++ [
boost
gtest
gflags
glm
imgui
jansson
utf8cpp
];
preConfigure = ''
bash ./configure.sh --skip-map-download
'';
cmakeFlags = [
(lib.cmakeBool "WITH_SYSTEM_PROVIDED_3PARTY" true)
];
env = {
NIX_CFLAGS_COMPILE = toString [
"-I/build/source/3party/fast_double_parser/include"
];
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION = "python";
};
postInstall = ''
install -Dm644 ${worldMap} $out/share/comaps/data/World.mwm
install -Dm644 ${worldCoasts} $out/share/comaps/data/WorldCoasts.mwm
ln -s $out/bin/CoMaps $out/bin/comaps
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"-vr"
"v(.*)"
];
};
meta = oldAttrs.meta // {
description = "Community-led fork of Organic Maps";
homepage = "https://comaps.app";
changelog = "https://codeberg.org/comaps/comaps/releases/tag/v${version}";
maintainers = [ lib.maintainers.ryand56 ];
mainProgram = "comaps";
};
})