diff options
author | Nikolay Korotkiy <sikmir@disroot.org> | 2024-02-22 21:57:11 +0400 |
---|---|---|
committer | Nikolay Korotkiy <sikmir@disroot.org> | 2024-02-22 21:57:11 +0400 |
commit | 6e7184b10f8f98d344aff0d355f9fb97c0dd0c6d (patch) | |
tree | 09543ccf6a699555f881fcbae76b0c23eea43077 /pkgs/by-name/op | |
parent | ce2f3c81a04ab1cb73ee4135b05f356c4546588e (diff) | |
download | nixlib-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.nix | 89 |
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"; + }; +} |