nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib, stdenv, fetchFromGitHub, jre, makeWrapper, ant, jdk }:
2stdenv.mkDerivation rec {
3 version = "1.6.3";
4 pname = "jugglinglab";
5 src = fetchFromGitHub {
6 owner = "jkboyce";
7 repo = "jugglinglab";
8 rev = "v${version}";
9 sha256 = "sha256-Gq8V7gLl9IakQi7xaK8TCI/B2+6LlLjoLdcv9zlalIE=";
10 };
11 buildInputs = [ jre ];
12 nativeBuildInputs = [ ant jdk makeWrapper ];
13 buildPhase = "ant";
14
15 installPhase = ''
16 mkdir -p "$out/bin"
17 mkdir -p "$out/lib"
18 cp bin/*.jar $out/lib/
19
20 # copied from the upstream shell wrapper
21 classpath=$out/lib/JugglingLab.jar:$out/lib/commons-math3-3.6.1.jar:$out/lib/protobuf.jar:$out/lib/com.google.ortools.jar
22
23 makeWrapper ${jre}/bin/java $out/bin/jugglinglab \
24 --add-flags "-cp $classpath" \
25 --add-flags "-Xss2048k -Djava.library.path=ortools-lib" \
26 --add-flags jugglinglab.JugglingLab
27 '';
28
29 meta = with lib; {
30 description = "A program to visualize different juggling pattens";
31 homepage = "https://jugglinglab.org/";
32 license = licenses.gpl2;
33 maintainers = with maintainers; [ wnklmnn ];
34 platforms = platforms.all;
35 };
36}