]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Upgrade nextcloud to 16.0
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 5 May 2019 21:12:17 +0000 (23:12 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Sun, 5 May 2019 22:13:47 +0000 (00:13 +0200)
22 files changed:
nixops/modules/ssh/default.nix
nixops/modules/websites/tools/cloud/default.nix
nixops/modules/websites/tools/cloud/nextcloud-config/mimetypealiases.json [deleted file]
nixops/modules/websites/tools/cloud/nextcloud-config/mimetypemapping.json [deleted file]
pkgs/webapps/default.nix
pkgs/webapps/nextcloud/apps/audioplayer.nix
pkgs/webapps/nextcloud/apps/bookmarks.nix
pkgs/webapps/nextcloud/apps/calendar.nix
pkgs/webapps/nextcloud/apps/carnet.nix [new file with mode: 0644]
pkgs/webapps/nextcloud/apps/contacts.nix
pkgs/webapps/nextcloud/apps/deck.nix
pkgs/webapps/nextcloud/apps/files_markdown.nix
pkgs/webapps/nextcloud/apps/flowupload.nix [new file with mode: 0644]
pkgs/webapps/nextcloud/apps/gpxedit.nix
pkgs/webapps/nextcloud/apps/gpxpod.nix
pkgs/webapps/nextcloud/apps/keeweb.nix
pkgs/webapps/nextcloud/apps/music.nix
pkgs/webapps/nextcloud/apps/notes.nix
pkgs/webapps/nextcloud/apps/ocsms.nix
pkgs/webapps/nextcloud/apps/spreed.nix
pkgs/webapps/nextcloud/apps/tasks.nix
pkgs/webapps/nextcloud/default.nix

index 81b7751b96ddf5e367383c703995c4eeae9c1374..4dc0d65501cb236c39ae306af931c1758abc0751 100644 (file)
       permissions = "0400";
       text = myconfig.env.sshd.ldap.password;
     }];
-    system.activationScripts.sshd = ''
+    system.activationScripts.sshd = {
+      deps = [ "secrets" ];
+      text = ''
       install -Dm400 -o nobody -g nogroup -T /var/secrets/ssh-ldap /etc/ssh/ldap_password
       '';
+    };
     # ssh is strict about parent directory having correct rights, don't
     # move it in the nix store.
     environment.etc."ssh/ldap_authorized_keys" = let
index f7d25cfbc3a4cb5e8803a345d76195120427cf19..a7fcd6149a086aea15b91e122bca1012f315719d 100644 (file)
@@ -94,7 +94,7 @@ in {
           'passwordsalt' => '${env.password_salt}',
           'debug' => false,
           'dbtype' => 'pgsql',
-          'version' => '15.0.4.0',
+          'version' => '16.0.0.9',
           'dbname' => '${env.postgresql.database}',
           'dbhost' => '${env.postgresql.socket}',
           'dbtableprefix' => 'oc_',
@@ -135,6 +135,7 @@ in {
           'overwrite.cli.url' => 'https://cloud.immae.eu',
           'ldapIgnoreNamingRules' => false,
           'ldapProviderFactory' => '\\OCA\\User_LDAP\\LDAPProviderFactory',
+          'has_rebuilt_cache' => true,
         );
       '';
     }];
@@ -151,14 +152,20 @@ in {
     in [ occ ];
 
     system.activationScripts.nextcloud = {
-      deps = [ ];
-      text = ''
+      deps = [ "secrets" ];
+      text = let
+        confs = lib.attrsets.mapAttrs (n: v: pkgs.writeText "${n}.json" (builtins.toJSON v)) nextcloud.otherConfig;
+      in
+        ''
         install -m 0755 -o wwwrun -g wwwrun -d ${varDir}
         install -m 0750 -o wwwrun -g wwwrun -d ${varDir}/phpSessions
-        install -D -m 0644 -o wwwrun -g wwwrun ${./nextcloud-config}/* -t ${varDir}/config
+        ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: v:
+          "install -D -m 0644 -o wwwrun -g wwwrun -T ${v} ${varDir}/config/${n}.json"
+          ) confs)}
         install -D -m 0600 -o wwwrun -g wwwrun -T /var/secrets/webapps/tools-nextcloud ${varDir}/config/config.php
       '';
     };
+    # FIXME: add a warning when config.php changes
     system.extraSystemBuilderCmds = ''
       mkdir -p $out/webapps
       ln -s ${nextcloud} $out/webapps/${webappName}
diff --git a/nixops/modules/websites/tools/cloud/nextcloud-config/mimetypealiases.json b/nixops/modules/websites/tools/cloud/nextcloud-config/mimetypealiases.json
deleted file mode 100644 (file)
index 3806e53..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "application/gpx+xml": "gpx",
-  "x-application/kdbx": "kdbx"
-}
diff --git a/nixops/modules/websites/tools/cloud/nextcloud-config/mimetypemapping.json b/nixops/modules/websites/tools/cloud/nextcloud-config/mimetypemapping.json
deleted file mode 100644 (file)
index 2db4691..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "gpx": ["application/gpx+xml"],
-  "kdbx": ["x-application/kdbx"]
-}
index 6afccde8865314b5c59f51532ed7f7b8d00403c8..da38f5fe5b280d93f064b23a4f206b2f6a4cc94b 100644 (file)
@@ -11,6 +11,8 @@ rec {
         "audioplayer" "bookmarks" "calendar" "contacts" "deck"
         "files_markdown" "gpxedit" "gpxpod" "keeweb" "music"
         "notes" "ocsms" "passman" "spreed" "tasks"
+        "flowupload" "carnet"
+        # FIXME: fix passman for NC 16
       ];
     in
     lib.attrsets.genAttrs names
index e8cd307b6da17e10f6341643b301e7c5343c7682..e321002c02c7d0d448659fce695d2f0f81b8bbdf 100644 (file)
@@ -1,7 +1,7 @@
 { buildApp }:
 buildApp rec {
   appName = "audioplayer";
-  version = "2.6.0";
+  version = "2.7.0";
   url = "https://github.com/Rello/${appName}/releases/download/${version}/${appName}-${version}.tar.gz";
-  sha256 = "08apm7dhnljagcvq8b1dsqcck4nqwmz60bf3mx44xvbhiaq6nim4";
+  sha256 = "05dylw45hs32agy6wqjy4r2x3h1dxzyzn0378ig6h5a22xd52mik";
 }
index 3667c161450c040662feb92e4afa63670ec81eb9..4632c9262925fa4544fef501ffab084492c23239 100644 (file)
@@ -1,7 +1,7 @@
 { buildApp }:
 buildApp rec {
   appName = "bookmarks";
-  version = "0.16.2";
+  version = "1.0.2";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}-${version}.tar.gz";
-  sha256 = "0ghk71iyk5xlqsfahg0d0lpp9lparpdnv2qx11a7j64pc9gzcfl4";
+  sha256 = "1ph123d0pram9a0vq73rn0zw0pyg4l0xqg162b59ds68179m2jfp";
 }
index 1162f5774fc1357fd23f43c3dd2f12451ad5d46c..0812810ed6d9f4e72190c8e47005178b1f8fdf02 100644 (file)
@@ -1,7 +1,7 @@
 { buildApp }:
 buildApp rec {
   appName = "calendar";
-  version = "1.6.4";
+  version = "1.7.0";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "00dijvcvy7snsjslfbyzvpp9anhms22zp1f0zkj89ln33jmana63";
+  sha256 = "0cgvvgzc2kgs2ng36hzff8rrpw9n58f0hyrr41n3wjkf0iynm56r";
 }
diff --git a/pkgs/webapps/nextcloud/apps/carnet.nix b/pkgs/webapps/nextcloud/apps/carnet.nix
new file mode 100644 (file)
index 0000000..61431e5
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildApp }:
+buildApp rec {
+  appName = "carnet";
+  version = "0.15.2";
+  url = "https://github.com/PhieF/CarnetNextcloud/releases/download/v${version}/${appName}-nc-v${version}.tar.gz";
+  sha256 = "1npjb2bgwcfxlf22ygl2hfhfgaigk1kpdk795yc79mx2l1iicmg0";
+}
index f55321005074355a0fd6bf4ec6880e9f47437e26..34329ab4a25ce6d049bc5ce74c76250a49a0d5fd 100644 (file)
@@ -1,7 +1,7 @@
 { buildApp }:
 buildApp rec {
   appName = "contacts";
-  version = "3.0.3";
+  version = "3.1.1";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "026hfigfzqb1cvq6a7mg9656nkm21c19a6ipqzgv00ycf38qyk95";
+  sha256 = "1qfn532p1pb4m6q2jzyzlyw4c5qccmq6vj0h2zv9xfkajfvz7i7v";
 }
index 9b4e8c48577997ff0f70356b5148e03c3a8f837b..c5737afbd33fe52621a9cf66f8cee7e5f134a4a1 100644 (file)
@@ -1,7 +1,7 @@
 { buildApp }:
 buildApp rec {
   appName = "deck";
-  version = "0.5.2";
+  version = "0.6.1";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "1kygzixxdkp3dbma009p3pw0fj8wgcqcv39n7pay78lh6zi3nic7";
+  sha256 = "1hafgj67zbhs4higf7nyr61p4s31axzxrsq09c4wmcwviz7p7zvs";
 }
index 9ccfe18604e461388d5c47fd73fc97059c6a7eee..9ed50076240a4636559adfd8c18b679abee7107a 100644 (file)
@@ -1,7 +1,7 @@
 { buildApp }:
 buildApp rec {
   appName = "files_markdown";
-  version = "2.0.5";
+  version = "2.0.6";
   url = "https://github.com/icewind1991/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "1dzvy4c6vff2qmkwqw13dx92xdkafaxgnipswjw44mh0ncc2n9ym";
+  sha256 = "1ng8gpjl3g1141k1nii59cg005viidlcbsg4x9brzcj25c5qhjjp";
 }
diff --git a/pkgs/webapps/nextcloud/apps/flowupload.nix b/pkgs/webapps/nextcloud/apps/flowupload.nix
new file mode 100644 (file)
index 0000000..cbadbda
--- /dev/null
@@ -0,0 +1,7 @@
+{ buildApp }:
+buildApp rec {
+  appName = "flowupload";
+  version = "0.1.0";
+  url = "https://github.com/e-alfred/${appName}/releases/download/${version}/${appName}.tar.gz";
+  sha256 = "0cai76hcjrwvq32yav0nd9kkhslandp1sj5czz119gsfjlkpalw9";
+}
index afd241066dad27df55aaec154dbc86a1059e9d4d..b9c267b62442d040e94e04e2822574008c59b2a5 100644 (file)
@@ -1,7 +1,15 @@
 { buildApp }:
 buildApp rec {
   appName = "gpxedit";
-  version = "0.0.10";
-  url = "https://gitlab.com/eneiluj/gpxedit-oc/wikis/uploads/33d187268c5f6f6a55350d656305701c/${appName}-${version}.tar.gz";
-  sha256 = "0ynpaxm0xhvcj8xax6rm1w0p6j57wbqidhi7bhn268n483gwl2sw";
+  version = "0.0.11";
+  url = "https://gitlab.com/eneiluj/gpxedit-oc/wikis/uploads/18058077d0170256c3f4c9201443d09d/${appName}-${version}.tar.gz";
+  sha256 = "1ww32jysjnwxrn8r9fjdfhbfqnzgaakn08m64wcmavx29dd42y6m";
+  otherConfig = {
+    mimetypealiases = {
+      "application/gpx+xml" = "gpx";
+    };
+    mimetypemapping = {
+      "gpx" = ["application/gpx+xml"];
+    };
+  };
 }
index c2e9a80cdefe83311e3b595cc25d1bbff09177a7..6544ac226b7d07c5554c049ac457e7abb03a5305 100644 (file)
@@ -1,7 +1,15 @@
 { buildApp }:
 buildApp rec {
   appName = "gpxpod";
-  version = "3.0.1";
-  url = "https://gitlab.com/eneiluj/gpxpod-oc/wikis/uploads/3f5fbc895de15f11f90582c4872839dc/${appName}-${version}.tar.gz";
-  sha256 = "1g3602phrdpybamr4bnk5niv1znmwp19lqyw6d8yxmc84lg99dny";
+  version = "3.0.3";
+  url = "https://gitlab.com/eneiluj/gpxpod-oc/wikis/uploads/34af9435d7a2cd8fa915b84f0dda0724/${appName}-${version}.tar.gz";
+  sha256 = "0v30j5b4ki6nbxqdmnlkrgl1lpg2x2nir9gik6rfj0c3jhmb5mch";
+  otherConfig = {
+    mimetypealiases = {
+      "application/gpx+xml" = "gpx";
+    };
+    mimetypemapping = {
+      "gpx" = ["application/gpx+xml"];
+    };
+  };
 }
index cff6bcaab61ae95669900ee4be34533d6f7290d0..99713eeefc66c382983a1bbd4ba325234ae448de 100644 (file)
@@ -1,12 +1,20 @@
 { buildApp }:
 buildApp rec {
   appName = "keeweb";
-  version = "0.4.0";
+  version = "0.5.0";
   url = "https://github.com/jhass/nextcloud-keeweb/releases/download/v${version}/${appName}-${version}.tar.gz";
-  sha256 = "0453kkb0a8vfivmibpwpx4bvhyn64jhns6cdfjacmnvbm6d75nj1";
+  sha256 = "0wdr6ywlirmac7w1ld5ma7fwb4bykclbxfq2sxwg6pvzfid5vc8x";
   installPhase = ''
     mkdir -p $out
     cp -R . $out/
-    sed -i -e 's/max-version="12"/max-version="16"/' $out/appinfo/info.xml
+    sed -i -e 's/max-version="15"/max-version="16"/' $out/appinfo/info.xml
     '';
+  otherConfig = {
+    mimetypealiases = {
+      "x-application/kdbx" = "kdbx";
+    };
+    mimetypemapping = {
+      "kdbx" = ["x-application/kdbx"];
+    };
+  };
 }
index 4cb1c9bae3e806e72d609f3261e50c9eddba02d4..1c7181ac8e141e15bc9890eec974ef8252317d46 100644 (file)
@@ -1,7 +1,7 @@
 { buildApp }:
 buildApp rec {
   appName = "music";
-  version = "0.9.3";
+  version = "0.9.5";
   url = "https://github.com/owncloud/${appName}/archive/v${version}.tar.gz";
-  sha256 = "1x4c2v8hnm9yi3fzjglfwd2brzn99v8zavgfczc5jfj30v3n555z";
+  sha256 = "0dx136z7anmi18harc1v2hyfdaq568lqf3wpy9hgx309ggb4wwzx";
 }
index 1edb5f44826c952abfbd5fa5bf2b97f8407a0030..23d6a060843ea23f44305b3f96fefbfb6079684b 100644 (file)
@@ -1,7 +1,7 @@
 { buildApp }:
 buildApp rec {
   appName = "notes";
-  version = "2.5.1";
+  version = "2.6.0";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "1albzqqsdirzyw8vhvs7r0qm2wqp8vm9vmxm4crhncd85bk01hmh";
+  sha256 = "1b1vc8plv4mpsxl7mgwgrcrswphclsm9xa89vxf3s4xzlwwq11c4";
 }
index a1d5e0e694b18693e44279775870cb767d166755..bd772952741133f68b27d6846ac66107b0f3ba3e 100644 (file)
@@ -6,6 +6,7 @@ buildApp rec {
   sha256 = "0sgfbmy1c8rgzjvf9snc7rzgp8aqsc65zfwgi6qcsf2g6gam5n7a";
   installPhase = ''
     sed -i -e "/addScript.*devel/d" -e "s@//\(.*addScript.*app.min\)@\1@" templates/main.php
+    sed -i -e 's/max-version="15.0"/max-version="16.0"/' appinfo/info.xml
     mkdir -p $out
     cp -R . $out/
     '';
index dba9baea61d0b411e8266e3e9b31ee975966cc44..a958470b5f433256524ae72d5e0684a5a5e24f53 100644 (file)
@@ -1,7 +1,7 @@
 { buildApp }:
 buildApp rec {
   appName = "spreed";
-  version = "5.0.2";
+  version = "6.0.0";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}-${version}.tar.gz";
-  sha256 = "0z9zhpkq485lhwirc2f04427rd47hzv0r8frz72dkrszb037qjvv";
+  sha256 = "14rcskp4pdcf0g816cdp070c8pzrj33fg2w7jb3af8maf1d77306";
 }
index 950bd2d5e9c2da129ae30040fb8e6839474e87d7..18d1d3649cdaa32cfc00d3fc7a1e440c36fd7dbe 100644 (file)
@@ -1,7 +1,9 @@
 { buildApp }:
 buildApp rec {
   appName = "tasks";
-  version = "0.9.8";
-  url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "089m124lfsfk09fqj50x9n7zndq97jp5afgb8s001rpmzym4g6ny";
+  version = "0.10.0-alpha3";
+  #url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
+  # FIXME: master branch until supported version for NC 16
+  url = "https://github.com/nextcloud/tasks/files/3116580/tasks.tar.gz";
+  sha256 = "0cx5m1ilq1yqnf5v0c5y01jf5mhwd664m1kq3zabbf3n29j96cay";
 }
index c3471fe6b35989e74bc2c2ec7df8948b93c6b739..0287f75321bcafe99d3394b7b3af41ff9fec1917 100644 (file)
@@ -1,13 +1,15 @@
-{ varDir ? "/var/lib/nextcloud", lib, stdenv, fetchurl }:
+{ varDir ? "/var/lib/nextcloud", otherConfig ? {}, lib, stdenv, fetchurl }:
 let
-  buildApp = { appName, version, url, sha256, installPhase ? "mkdir -p $out && cp -R . $out/" }:
+  buildApp = { appName, version, url, sha256, otherConfig ? {}, installPhase ? "mkdir -p $out && cp -R . $out/" }:
     stdenv.mkDerivation rec {
       name = "nextcloud-app-${appName}-${version}";
       inherit version;
       phases = "unpackPhase installPhase";
       inherit installPhase;
       src = fetchurl { inherit url sha256; };
-      passthru.appName = appName;
+      passthru = {
+        inherit appName otherConfig;
+      };
     };
   withApps = apps: package.overrideAttrs(old: {
     name = "${old.name}-with-apps";
@@ -16,17 +18,25 @@ let
       builtins.concatStringsSep "\n" (
         map (value: "ln -sf ${value} $out/apps/${value.appName}") apps
       ));
+
+    passthru.otherConfig = with lib.attrsets; with lib.lists; let
+      zipped = zipAttrs ([old.otherConfig or {}] ++ map (v: v.otherConfig) apps);
+    in
+      {
+        mimetypealiases = foldr (h: prev: prev // h) {} zipped.mimetypealiases;
+        mimetypemapping = mapAttrs (_: v: unique (flatten v)) (zipAttrs zipped.mimetypemapping);
+      };
     passthru.apps = apps;
     passthru.withApps = moreApps: old.withApps (moreApps ++ apps);
   });
 
   package = stdenv.mkDerivation rec {
     name = "nextcloud-${version}";
-    version = "15.0.4";
+    version = "16.0.0";
 
     src = fetchurl {
       url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-      sha256 = "0xwg7p31y1pkjk1pzygh9shpqxnfkafrab52j7in7xblq53v0zgq";
+      sha256 = "0bj014vczlrql1w32pqmr7cyqn9awnyzpi2syxhg16qxic1gfcj5";
     };
 
     installPhase = ''
@@ -38,7 +48,7 @@ let
 
     passthru = {
       apps = [];
-      inherit buildApp withApps varDir;
+      inherit otherConfig buildApp withApps varDir;
     };
     meta = {
       description = "Sharing solution for files, calendars, contacts and more";