dotfiles/pkgs/lejos.nix

46 lines
1.3 KiB
Nix

{ jdk7, ant, libusb, makeWrapper, stdenv, lib, fetchurl }:
let lejospkg = type: attrs:
stdenv.mkDerivation ({
name = "lejos-${type}-${attrs.version}";
JDK_PATH = jdk7;
buildPhase = ''
pushd build
ant
popd
'';
installPhase = ''
runHook preInstall
mkdir -p $out/opt/lejos/${type} $out/bin
cp -r * $out/opt/lejos/${type}
for i in $(find $out/opt/lejos/${type}/bin/* -executable); do
makeWrapper $i $out/bin/`basename $i` --set JAVA_HOME $JDK_PATH \
--set ${lib.toUpper type}_HOME $out/opt/lejos/${type}
done
runHook postInstall
'';
buildInputs = [ jdk7 ant libusb makeWrapper ];
} // attrs);
in
{
nxj = lejospkg "nxj" rec {
version = "0.9.1beta-3";
src = fetchurl {
url = "mirror://sourceforge/nxt.lejos.p/${version}/leJOS_NXJ_${version}.tar.gz";
sha256 = "18ll9phbl1i2dasici1m8jprcfhzl03dq0h1dsdl9iwq1yv380pi";
};
};
ev3 = lejospkg "ev3" rec {
version = "0.9.1-beta";
src = fetchurl {
url = "mirror://sourceforge/ev3.lejos.p/${version}/leJOS_EV3_${version}.tar.gz";
sha256 = "12v5za15xijq8frsvrf1amr75jf80c593xdpplcx5l4rxhb3bprp";
};
buildPhase = "echo binary distribution";
postPatch = ''
mkdir -p $out/share/java
cp $(find . -iname '*.jar') $out/share/java
'';
};
}