about summary refs log tree commit diff
path: root/pkgs/applications/misc/mkgmap
diff options
context:
space:
mode:
authorNikolay Korotkiy <sikmir@gmail.com>2019-08-27 14:30:06 +0300
committerNikolay Korotkiy <sikmir@gmail.com>2019-08-27 19:04:15 +0300
commit98a283af558a33013265a69a4471481070bc1a4b (patch)
treea254f788dfb7eb347777721e088100e4c7cc1e73 /pkgs/applications/misc/mkgmap
parent630e25ba5cd30adb9efb8b6a64a295af780e62b4 (diff)
downloadnixlib-98a283af558a33013265a69a4471481070bc1a4b.tar
nixlib-98a283af558a33013265a69a4471481070bc1a4b.tar.gz
nixlib-98a283af558a33013265a69a4471481070bc1a4b.tar.bz2
nixlib-98a283af558a33013265a69a4471481070bc1a4b.tar.lz
nixlib-98a283af558a33013265a69a4471481070bc1a4b.tar.xz
nixlib-98a283af558a33013265a69a4471481070bc1a4b.tar.zst
nixlib-98a283af558a33013265a69a4471481070bc1a4b.zip
mkgmap: init at 4289
Diffstat (limited to 'pkgs/applications/misc/mkgmap')
-rw-r--r--pkgs/applications/misc/mkgmap/build.xml.patch11
-rw-r--r--pkgs/applications/misc/mkgmap/default.nix57
2 files changed, 68 insertions, 0 deletions
diff --git a/pkgs/applications/misc/mkgmap/build.xml.patch b/pkgs/applications/misc/mkgmap/build.xml.patch
new file mode 100644
index 000000000000..6ec40786b249
--- /dev/null
+++ b/pkgs/applications/misc/mkgmap/build.xml.patch
@@ -0,0 +1,11 @@
+--- a/build.xml	2019-08-26 23:22:55.104829846 +0300
++++ b/build.xml	2019-08-27 00:11:07.366257594 +0300
+@@ -227,7 +227,7 @@
+ 	</target>
+ 
+ 	<!-- Compile the product itself (no tests). -->
+-	<target name="compile" depends="prepare, resolve-compile"
++	<target name="compile" depends="prepare"
+ 					description="main compilation">
+ 
+ 		<javac srcdir="${src}" destdir="${build.classes}" encoding="utf-8" debug="true" includeantruntime="false">
diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix
new file mode 100644
index 000000000000..debcea78f555
--- /dev/null
+++ b/pkgs/applications/misc/mkgmap/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, fetchsvn, jdk, jre, ant, makeWrapper }:
+
+let
+  fastutil = fetchurl {
+    url = "http://ivy.mkgmap.org.uk/repo/it.unimi.dsi/fastutil/6.5.15-mkg.1b/jars/fastutil.jar";
+    sha256 = "0d88m0rpi69wgxhnj5zh924q4zsvxq8m4ybk7m9mr3gz1hx0yx8c";
+  };
+  osmpbf = fetchurl {
+    url = "http://ivy.mkgmap.org.uk/repo/crosby/osmpbf/1.3.3/jars/osmpbf.jar";
+    sha256 = "0zb4pqkwly5z30ww66qhhasdhdrzwmrw00347yrbgyk2ii4wjad3";
+  };
+  protobuf = fetchurl {
+    url = "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar";
+    sha256 = "0x6c4pbsizvk3lm6nxcgi1g2iqgrxcna1ip74lbn01f0fm2wdhg0";
+  };
+in
+
+stdenv.mkDerivation rec {
+  pname = "mkgmap";
+  version = "4289";
+
+  src = fetchsvn {
+    url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
+    rev = version;
+    sha256 = "1sm1pw71q7z0jrxm8bcgm6xjl2mcidyibcf0a3m8fv2andidxrb4";
+  };
+
+  # This patch removes from the build process
+  # the automatic download of dependencies (see configurePhase)
+  patches = [ ./build.xml.patch ];
+
+  nativeBuildInputs = [ jdk ant makeWrapper ];
+
+  configurePhase = ''
+    mkdir -p lib/compile
+    cp ${fastutil} ${osmpbf} ${protobuf} lib/compile/
+  '';
+
+  buildPhase = "ant";
+
+  installPhase = ''
+    cd dist
+    install -Dm644 mkgmap.jar $out/share/java/mkgmap/mkgmap.jar
+    install -Dm644 doc/mkgmap.1 $out/share/man/man1/mkgmap.1
+    cp -r lib/ $out/share/java/mkgmap/
+    makeWrapper ${jre}/bin/java $out/bin/mkgmap \
+      --add-flags "-jar $out/share/java/mkgmap/mkgmap.jar"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Create maps for Garmin GPS devices from OpenStreetMap (OSM) data";
+    homepage = "http://www.mkgmap.org.uk";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.all;
+  };
+}