summaryrefslogtreecommitdiffstats
path: root/pkgs/servers/web-apps/moodle/moodle-utils.nix
blob: eb818f84eb03e8a18a2b1539e919225f0ebee56c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{ stdenv, unzip, ... }:

let
  buildMoodlePlugin =
    a@{
      name,
      src,
      pluginType,
      configurePhase ? ":",
      buildPhase ? ":",
      buildInputs ? [ ],
      nativeBuildInputs ? [ ],
      ...
    }:
    stdenv.mkDerivation (
      a
      // {
        name = name;

        inherit pluginType;
        inherit configurePhase buildPhase buildInputs;

        nativeBuildInputs = [ unzip ] ++ nativeBuildInputs;

        installPhase = ''
          runHook preInstall

          mkdir -p "$out"
          mv * $out/

          runHook postInstall
        '';
      }
    );
in
{
  inherit buildMoodlePlugin;
}