about summary refs log tree commit diff
path: root/pkgs/applications/misc/mkgmap/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/misc/mkgmap/default.nix')
-rw-r--r--pkgs/applications/misc/mkgmap/default.nix57
1 files changed, 57 insertions, 0 deletions
diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix
new file mode 100644
index 0000000000000..debcea78f555d
--- /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;
+  };
+}