Unverified Commit 10ee9d04 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #238745 from wegank/global-platform-pro-mavenfod

global-platform-pro: convert to mavenfod
parents 09b33375 13ded184
Loading
Loading
Loading
Loading
+12 −32
Original line number Diff line number Diff line
{ lib, stdenv, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite }:
{ lib, javaPackages, fetchFromGitHub, jdk8, maven, makeWrapper, jre8_headless, pcsclite }:

let jdk = jdk8; jre_headless = jre8_headless; in
# TODO: This is quite a bit of duplicated logic with gephi. Factor it out?
stdenv.mkDerivation rec {
let
  mavenJdk8 = maven.override {
    jdk = jdk8;
  };
in
(javaPackages.mavenfod.override {
  maven = mavenJdk8;
}) rec {
  pname = "global-platform-pro";
  version = "18.09.14";
  GPPRO_VERSION = "18.09.14-0-gb439b52"; # git describe --tags --always --long --dirty
@@ -14,39 +19,14 @@ stdenv.mkDerivation rec {
    sha256 = "1vws6cbgm3mrwc2xz9j1y262vw21x3hjc9m7rqc4hn3m7gjpwsvg";
  };

  deps = stdenv.mkDerivation {
    name = "${pname}-${version}-deps";
    inherit src;
    nativeBuildInputs = [ jdk maven ];
    installPhase = ''
      # Download the dependencies
      while ! mvn package "-Dmaven.repo.local=$out/.m2" -Dmaven.wagon.rto=5000; do
        echo "timeout, restart maven to continue downloading"
      done
  mvnHash = "sha256-rRLsCTY3fEAvGRDvNXqpjac2Gb5fdlyhK2wTK5CVN9k=";

      # And keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files
      # with lastModified timestamps inside
      find "$out/.m2" -type f \
        -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' \
        -delete
    '';
    outputHashAlgo = "sha256";
    outputHashMode = "recursive";
    outputHash = "sha256-rRLsCTY3fEAvGRDvNXqpjac2Gb5fdlyhK2wTK5CVN9k=";
  };

  nativeBuildInputs = [ jdk maven makeWrapper ];

  buildPhase = ''
    cp -dpR "${deps}/.m2" ./
    chmod -R +w .m2
    mvn package --offline -Dmaven.repo.local="$(pwd)/.m2"
  '';
  nativeBuildInputs = [ jdk8 mavenJdk8 makeWrapper ];

  installPhase = ''
    mkdir -p "$out/lib/java" "$out/share/java"
    cp target/gp.jar "$out/share/java"
    makeWrapper "${jre_headless}/bin/java" "$out/bin/gp" \
    makeWrapper "${jre8_headless}/bin/java" "$out/bin/gp" \
      --add-flags "-jar '$out/share/java/gp.jar'" \
      --prefix LD_LIBRARY_PATH : "${pcsclite.out}/lib"
  '';