about summary refs log tree commit diff
path: root/pkgs/by-name/op
diff options
context:
space:
mode:
authorNikolay Korotkiy <sikmir@disroot.org>2024-02-22 21:57:11 +0400
committerNikolay Korotkiy <sikmir@disroot.org>2024-02-22 21:57:11 +0400
commit6e7184b10f8f98d344aff0d355f9fb97c0dd0c6d (patch)
tree09543ccf6a699555f881fcbae76b0c23eea43077 /pkgs/by-name/op
parentce2f3c81a04ab1cb73ee4135b05f356c4546588e (diff)
downloadnixlib-6e7184b10f8f98d344aff0d355f9fb97c0dd0c6d.tar
nixlib-6e7184b10f8f98d344aff0d355f9fb97c0dd0c6d.tar.gz
nixlib-6e7184b10f8f98d344aff0d355f9fb97c0dd0c6d.tar.bz2
nixlib-6e7184b10f8f98d344aff0d355f9fb97c0dd0c6d.tar.lz
nixlib-6e7184b10f8f98d344aff0d355f9fb97c0dd0c6d.tar.xz
nixlib-6e7184b10f8f98d344aff0d355f9fb97c0dd0c6d.tar.zst
nixlib-6e7184b10f8f98d344aff0d355f9fb97c0dd0c6d.zip
openorienteering-mapper: migrate to by-name
Diffstat (limited to 'pkgs/by-name/op')
-rw-r--r--pkgs/by-name/op/openorienteering-mapper/package.nix89
1 files changed, 89 insertions, 0 deletions
diff --git a/pkgs/by-name/op/openorienteering-mapper/package.nix b/pkgs/by-name/op/openorienteering-mapper/package.nix
new file mode 100644
index 000000000000..50c1f89459cc
--- /dev/null
+++ b/pkgs/by-name/op/openorienteering-mapper/package.nix
@@ -0,0 +1,89 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, clipper
+, cmake
+, cups
+, doxygen
+, gdal
+, ninja
+, proj
+, qt5
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "OpenOrienteering-Mapper";
+  version = "0.9.5";
+
+  src = fetchFromGitHub {
+    owner = "OpenOrienteering";
+    repo = "mapper";
+    rev = "v${version}";
+    hash = "sha256-BQbryRV5diBkOtva9sYuLD8yo3IwFqrkz3qC+C6eEfE=";
+  };
+
+  patches = [
+    # https://github.com/OpenOrienteering/mapper/pull/1907
+    (fetchpatch {
+      url = "https://github.com/OpenOrienteering/mapper/commit/bc52aa567e90a58d6963b44d5ae1909f3f841508.patch";
+      sha256 = "1bkckapzccn6k0ri6bgrr0nhis9498fnwj7b32s2ysym8zcg0355";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    doxygen
+    ninja
+    qt5.qttools
+    qt5.wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    clipper
+    cups
+    gdal
+    proj
+    qt5.qtimageformats
+    qt5.qtlocation
+    qt5.qtsensors
+    zlib
+  ];
+
+  cmakeFlags = [
+    # Building the manual and bundling licenses fails
+    # See https://github.com/NixOS/nixpkgs/issues/85306
+    "-DLICENSING_PROVIDER:BOOL=OFF"
+    "-DMapper_MANUAL_QTHELP:BOOL=OFF"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # FindGDAL is broken and always finds /Library/Framework unless this is
+    # specified
+    "-DGDAL_INCLUDE_DIR=${gdal}/include"
+    "-DGDAL_CONFIG=${gdal}/bin/gdal-config"
+    "-DGDAL_LIBRARY=${gdal}/lib/libgdal.dylib"
+    # Don't bundle libraries
+    "-DMapper_PACKAGE_PROJ=0"
+    "-DMapper_PACKAGE_QT=0"
+    "-DMapper_PACKAGE_ASSISTANT=0"
+    "-DMapper_PACKAGE_GDAL=0"
+  ];
+
+  postInstall = with stdenv; lib.optionalString isDarwin ''
+    mkdir -p $out/Applications
+    mv $out/Mapper.app $out/Applications
+    mkdir -p $out/bin
+    ln -s $out/Applications/Mapper.app/Contents/MacOS/Mapper $out/bin/mapper
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.openorienteering.org/apps/mapper/";
+    description = "An orienteering mapmaking program";
+    changelog = "https://github.com/OpenOrienteering/mapper/releases/tag/v${version}";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ mpickering sikmir ];
+    platforms = with platforms; unix;
+    broken = stdenv.isDarwin;
+    mainProgram = "Mapper";
+  };
+}