about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/science/programming/plm/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/science/programming/plm/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/science/programming/plm/default.nix18
1 files changed, 10 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/applications/science/programming/plm/default.nix b/nixpkgs/pkgs/applications/science/programming/plm/default.nix
index e56282b68631..ca8e87a05533 100644
--- a/nixpkgs/pkgs/applications/science/programming/plm/default.nix
+++ b/nixpkgs/pkgs/applications/science/programming/plm/default.nix
@@ -1,37 +1,39 @@
-{lib, stdenv, fetchurl, makeWrapper, jre, gcc, valgrind}:
+{ lib, 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}";
   pname = "plm";
+  version = "2.9.3";
 
   src = fetchurl {
-    url = "http://webloria.loria.fr/~quinson/Teaching/PLM/plm-${major}_${minor}.jar";
-    sha256 = "0m17cxa3nxi2cbswqvlfzp0mlfi3wrkw8ry2xhkxy6aqzm2mlgcc";
+    url = "https://github.com/BuggleInc/PLM/releases/download/v${version}/plm-${version}.jar";
+    sha256 = "0i9ghx9pm3kpn9x9n1hl10zdr36v5mv3drx8lvhsqwhlsvz42p5i";
     name = "${pname}-${version}.jar";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre gcc valgrind ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$prefix/bin"
 
     makeWrapper ${jre}/bin/java $out/bin/plm \
       --add-flags "-jar $src" \
       --prefix PATH : "$PATH"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Free cross-platform programming exerciser";
+    homepage = "http://people.irisa.fr/Martin.Quinson/Teaching/PLM/";
     license = licenses.gpl3;
     maintainers = [ ];
     platforms = lib.platforms.all;
-    broken = true;
   };
 }