evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / ju / jugglinglab / package.nix
blobf8f7a3fb37fdf563b6bce268101cbc6d9350f4fa
1 { lib
2 , stdenv
3 , maven
4 , fetchFromGitHub
5 , makeWrapper
6 , wrapGAppsHook3
7 , jre
8 }:
10 let
11   platformName = {
12     "x86_64-linux" = "linux-x86-64";
13     "aarch64-linux" = "linux-aarch64";
14     "x86_64-darwin" = "darwin-x86-64";
15     "aarch64-darwin" = "darwin-aarch64";
16   }.${stdenv.system} or null;
18 maven.buildMavenPackage rec {
19   pname = "jugglinglab";
20   version = "1.6.5";
22   src = fetchFromGitHub {
23     owner = "jkboyce";
24     repo = "jugglinglab";
25     rev = "v${version}";
26     hash = "sha256-Y87uHFpVs4A/wErNO2ZF6Su0v4LEvaE9nIysrqFoY8w=";
27   };
29   patches = [
30     # make sure mvnHash doesn't change when maven is updated
31     ./fix-default-maven-plugin-versions.patch
32   ];
34   mvnHash = "sha256-1Uzo9nRw+YR/sd7CC9MTPe/lttkRX6BtmcsHaagP1Do=";
36   # fix jar timestamps for reproducibility
37   mvnParameters = "-Dproject.build.outputTimestamp=1980-01-01T00:00:02Z";
39   nativeBuildInputs = [
40     makeWrapper
41     wrapGAppsHook3
42   ];
44   dontWrapGApps = true;
46   installPhase = ''
47     runHook preInstall
49     install -Dm644 bin/JugglingLab.jar -t $out/share/jugglinglab
50     ${lib.optionalString (platformName != null) ''
51       install -Dm755 bin/ortools-lib/ortools-${platformName}/* -t $out/lib/ortools-lib
52     ''}
54     runHook postInstall
55   '';
57   # gappsWrapperArgs are set in preFixup
58   postFixup = ''
59     makeWrapper ${jre}/bin/java $out/bin/jugglinglab \
60         "''${gappsWrapperArgs[@]}" \
61         --add-flags "-Xss2048k -Djava.library.path=$out/lib/ortools-lib" \
62         --add-flags "-jar $out/share/jugglinglab/JugglingLab.jar"
63   '';
65   meta = with lib; {
66     description = "Program to visualize different juggling pattens";
67     homepage = "https://jugglinglab.org/";
68     license = licenses.gpl2Only;
69     mainProgram = "jugglinglab";
70     maintainers = with maintainers; [ wnklmnn tomasajt ];
71     platforms = platforms.all;
72   };