From e7a161d4f22fdce9fceb649e94fdd5e53edc1dff Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Fri, 13 Feb 2015 15:58:29 +0100 Subject: [PATCH] New package PLM: Programmer's Learning Machine --- .../science/programming/plm/default.nix | 36 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 2 files changed, 39 insertions(+) create mode 100644 pkgs/applications/science/programming/plm/default.nix diff --git a/pkgs/applications/science/programming/plm/default.nix b/pkgs/applications/science/programming/plm/default.nix new file mode 100644 index 00000000000..0e35a0b2264 --- /dev/null +++ b/pkgs/applications/science/programming/plm/default.nix @@ -0,0 +1,36 @@ +{stdenv, fetchurl, makeWrapper, jre, gcc, valgrind}: +# gcc and valgrind are not strict dependencies, they could be made +# optional. They are here because plm can only help you learn C if you +# have them installed. +stdenv.mkDerivation rec { + major = "2"; + minor = "5"; + version = "${major}-${minor}"; + name = "plm-${version}"; + + src = fetchurl { + url = "http://webloria.loria.fr/~quinson/Teaching/PLM/plm-${major}_${minor}.jar"; + sha256 = "0m17cxa3nxi2cbswqvlfzp0mlfi3wrkw8ry2xhkxy6aqzm2mlgcc"; + name = "${name}.jar"; + }; + + buildInputs = [ makeWrapper jre gcc valgrind ]; + + phases = [ "installPhase" ]; + + installPhase = '' + mkdir -p "$prefix/bin" + + makeWrapper ${jre}/bin/java $out/bin/plm \ + --add-flags "-jar $src" \ + --prefix PATH : "$PATH" + ''; + + meta = with stdenv.lib; { + description = "Free cross-platform programming exerciser"; + Homepage = http://webloria.loria.fr/~quinson/Teaching/PLM/; + license = licenses.gpl3; + maintainers = [ maintainers.DamienCassou ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 82e86264c5d..faf2a78702e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12637,6 +12637,9 @@ let cmake = cmakeCurses; }); + ### SCIENCE/PROGRAMMING + + plm = callPackage ../applications/science/programming/plm { }; ### SCIENCE/LOGIC