about summary refs log tree commit diff
path: root/nixpkgs/pkgs/build-support/fetchnextcloudapp/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/build-support/fetchnextcloudapp/default.nix')
-rw-r--r--nixpkgs/pkgs/build-support/fetchnextcloudapp/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/build-support/fetchnextcloudapp/default.nix b/nixpkgs/pkgs/build-support/fetchnextcloudapp/default.nix
new file mode 100644
index 000000000000..7fe5b35e2596
--- /dev/null
+++ b/nixpkgs/pkgs/build-support/fetchnextcloudapp/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, gnutar, findutils, fetchurl, ... }:
+{ name
+, url
+, version
+, sha256
+, patches ? [ ]
+}:
+stdenv.mkDerivation {
+  name = "nc-app-${name}";
+  inherit version patches;
+
+  src = fetchurl {
+    inherit url sha256;
+  };
+
+  nativeBuildInputs = [
+    gnutar
+    findutils
+  ];
+
+  unpackPhase = ''
+    tar -xzpf $src
+  '';
+
+  installPhase = ''
+    approot="$(dirname $(dirname $(find -path '*/appinfo/info.xml' | head -n 1)))"
+
+    if [ -d "$approot" ];
+    then
+      mv "$approot/" $out
+      chmod -R a-w $out
+    else
+      echo "Could not find appinfo/info.xml"
+      exit 1;
+    fi
+  '';
+}