New package PLM: Programmer's Learning Machine

+39
+36
pkgs/applications/science/programming/plm/default.nix
···
··· 1 + {stdenv, fetchurl, makeWrapper, jre, gcc, valgrind}: 2 + # gcc and valgrind are not strict dependencies, they could be made 3 + # optional. They are here because plm can only help you learn C if you 4 + # have them installed. 5 + stdenv.mkDerivation rec { 6 + major = "2"; 7 + minor = "5"; 8 + version = "${major}-${minor}"; 9 + name = "plm-${version}"; 10 + 11 + src = fetchurl { 12 + url = "http://webloria.loria.fr/~quinson/Teaching/PLM/plm-${major}_${minor}.jar"; 13 + sha256 = "0m17cxa3nxi2cbswqvlfzp0mlfi3wrkw8ry2xhkxy6aqzm2mlgcc"; 14 + name = "${name}.jar"; 15 + }; 16 + 17 + buildInputs = [ makeWrapper jre gcc valgrind ]; 18 + 19 + phases = [ "installPhase" ]; 20 + 21 + installPhase = '' 22 + mkdir -p "$prefix/bin" 23 + 24 + makeWrapper ${jre}/bin/java $out/bin/plm \ 25 + --add-flags "-jar $src" \ 26 + --prefix PATH : "$PATH" 27 + ''; 28 + 29 + meta = with stdenv.lib; { 30 + description = "Free cross-platform programming exerciser"; 31 + Homepage = http://webloria.loria.fr/~quinson/Teaching/PLM/; 32 + license = licenses.gpl3; 33 + maintainers = [ maintainers.DamienCassou ]; 34 + platforms = stdenv.lib.platforms.all; 35 + }; 36 + }
+3
pkgs/top-level/all-packages.nix
··· 12637 cmake = cmakeCurses; 12638 }); 12639 12640 12641 ### SCIENCE/LOGIC 12642
··· 12637 cmake = cmakeCurses; 12638 }); 12639 12640 + ### SCIENCE/PROGRAMMING 12641 + 12642 + plm = callPackage ../applications/science/programming/plm { }; 12643 12644 ### SCIENCE/LOGIC 12645