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";
22 src = fetchFromGitHub {
26 hash = "sha256-Y87uHFpVs4A/wErNO2ZF6Su0v4LEvaE9nIysrqFoY8w=";
30 # make sure mvnHash doesn't change when maven is updated
31 ./fix-default-maven-plugin-versions.patch
34 mvnHash = "sha256-1Uzo9nRw+YR/sd7CC9MTPe/lttkRX6BtmcsHaagP1Do=";
36 # fix jar timestamps for reproducibility
37 mvnParameters = "-Dproject.build.outputTimestamp=1980-01-01T00:00:02Z";
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
57 # gappsWrapperArgs are set in preFixup
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"
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;