Add a lejos package

auto-flake-update
Yorick van Pelt 2017-09-10 15:47:10 +02:00
parent 29b1be0a32
commit 00ea27bd7c
2 changed files with 46 additions and 0 deletions

View File

@ -5,6 +5,7 @@ self: super: {
peageprint = super.callPackage ../pkgs/peageprint.nix {};
nottetris2 = super.callPackage ../pkgs/nottetris2.nix {};
mailpile = super.callPackage ../pkgs/mailpile.nix {};
lejos = super.callPackage ../pkgs/lejos.nix {};
libinput-gestures = super.callPackage ../pkgs/libinput-gestures.nix {};
gitFire = super.stdenv.mkDerivation {
src = super.fetchFromGitHub {

View File

@ -0,0 +1,45 @@
{ jdk, ant, libusb, makeWrapper, stdenv, lib, fetchurl }:
let lejospkg = type: attrs:
stdenv.mkDerivation ({
name = "lejos-${type}-${attrs.version}";
JDK_PATH = jdk;
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 = [ jdk 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
'';
};
}