about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/web-apps/moodle/moodle-utils.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/web-apps/moodle/moodle-utils.nix')
-rw-r--r--nixpkgs/pkgs/servers/web-apps/moodle/moodle-utils.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/web-apps/moodle/moodle-utils.nix b/nixpkgs/pkgs/servers/web-apps/moodle/moodle-utils.nix
new file mode 100644
index 000000000000..168482bffe65
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/moodle/moodle-utils.nix
@@ -0,0 +1,32 @@
+{ stdenv, unzip, ... }:
+
+let
+  buildMoodlePlugin = a@{
+    name,
+    src,
+    pluginType,
+    configurePhase ? ":",
+    buildPhase ? ":",
+    buildInputs ? [ ],
+    ...
+  }:
+  stdenv.mkDerivation (a // {
+    name = name;
+
+    inherit pluginType;
+    inherit configurePhase buildPhase;
+
+    buildInputs = [ unzip ] ++ buildInputs;
+
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p "$out"
+      mv * $out/
+
+      runHook postInstall
+    '';
+  });
+in {
+  inherit buildMoodlePlugin;
+}