about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/global-platform-pro/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/global-platform-pro/default.nix')
-rw-r--r--nixpkgs/pkgs/development/tools/global-platform-pro/default.nix35
1 files changed, 28 insertions, 7 deletions
diff --git a/nixpkgs/pkgs/development/tools/global-platform-pro/default.nix b/nixpkgs/pkgs/development/tools/global-platform-pro/default.nix
index 47bac190dc44..f17b9d310fee 100644
--- a/nixpkgs/pkgs/development/tools/global-platform-pro/default.nix
+++ b/nixpkgs/pkgs/development/tools/global-platform-pro/default.nix
@@ -1,29 +1,50 @@
-{ lib, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite }:
+{ lib, stdenv, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite, proot, zlib }:
 
 let
   mavenJdk8 = maven.override {
     jdk = jdk8;
   };
+
+  defineMvnWrapper = ''
+    mvn()
+    {
+        # One of the deps that are downloaded and run needs zlib.
+        export LD_LIBRARY_PATH="${lib.makeLibraryPath [zlib]}"
+        # Give access to ELF interpreter under FHS path, to be able to run
+        # prebuilt binaries.
+        "${lib.getExe proot}" -b "${stdenv.cc.libc}/lib:/lib64" mvn "$@"
+    }
+  '';
 in
 mavenJdk8.buildMavenPackage rec {
   pname = "global-platform-pro";
-  version = "18.09.14";
-  GPPRO_VERSION = "18.09.14-0-gb439b52"; # git describe --tags --always --long --dirty
+  version = "20.01.23";
+  GPPRO_VERSION = "v20.01.23-0-g5ad373b"; # git describe --tags --always --long --dirty
 
   src = fetchFromGitHub {
     owner = "martinpaljak";
     repo = "GlobalPlatformPro";
-    rev = version;
-    sha256 = "1vws6cbgm3mrwc2xz9j1y262vw21x3hjc9m7rqc4hn3m7gjpwsvg";
+    rev = "v${version}";
+    sha256 = "sha256-z38I61JR4oiAkImkbwcvXoK5QsdoR986dDrOzhHsCeY=";
   };
 
-  mvnHash = "sha256-xFcEZpJ0+ApJTDTuA63LgvUwLrxATVKoj5Mh3WZyfq8=";
+  mvnHash = "sha256-+297ttqBT4Q4NyNIvTYTtiDrB1dfmuu9iWmAxxBZiW8=";
 
   nativeBuildInputs = [ jdk8 makeWrapper ];
 
+  # Fix build error due to missing .git directory:
+  #  Failed to execute goal pl.project13.maven:git-commit-id-plugin:4.0.0:revision (retrieve-git-info) on project gppro: .git directory is not found! Please specify a valid [dotGitDirectory] in your pom.xml -> [Help 1]
+  mvnParameters = "-Dmaven.gitcommitid.skip=true";
+
+  mvnFetchExtraArgs = {
+    preConfigure = defineMvnWrapper;
+  };
+
+  preConfigure = defineMvnWrapper;
+
   installPhase = ''
     mkdir -p "$out/lib/java" "$out/share/java"
-    cp target/gp.jar "$out/share/java"
+    cp tool/target/gp.jar "$out/share/java"
     makeWrapper "${jre8_headless}/bin/java" "$out/bin/gp" \
       --add-flags "-jar '$out/share/java/gp.jar'" \
       --prefix LD_LIBRARY_PATH : "${pcsclite.out}/lib"