ieda: init at 0-unstable-2024-10-11 (#338769)
[NixPkgs.git] / pkgs / by-name / pl / plm / package.nix
blobdf50f2e1554b98e4c0ea2eb2dc7957c0d2f44154
2   lib,
3   stdenv,
4   fetchurl,
5   makeWrapper,
6   jre,
7   gcc,
8   valgrind,
9 }:
10 # gcc and valgrind are not strict dependencies, they could be made
11 # optional. They are here because plm can only help you learn C if you
12 # have them installed.
13 stdenv.mkDerivation rec {
14   pname = "plm";
15   version = "2.9.3";
17   src = fetchurl {
18     url = "https://github.com/BuggleInc/PLM/releases/download/v${version}/plm-${version}.jar";
19     sha256 = "0i9ghx9pm3kpn9x9n1hl10zdr36v5mv3drx8lvhsqwhlsvz42p5i";
20     name = "${pname}-${version}.jar";
21   };
23   nativeBuildInputs = [ makeWrapper ];
24   buildInputs = [
25     jre
26     gcc
27     valgrind
28   ];
30   dontUnpack = true;
32   installPhase = ''
33     runHook preInstall
35     mkdir -p "$prefix/bin"
37     makeWrapper ${jre}/bin/java $out/bin/plm \
38       --add-flags "-jar $src" \
39       --prefix PATH : "$PATH"
41     runHook postInstall
42   '';
44   meta = with lib; {
45     description = "Free cross-platform programming exerciser";
46     mainProgram = "plm";
47     homepage = "http://people.irisa.fr/Martin.Quinson/Teaching/PLM/";
48     license = licenses.gpl3;
49     sourceProvenance = with sourceTypes; [ binaryBytecode ];
50     maintainers = [ ];
51     platforms = lib.platforms.all;
52   };