]> git.immae.eu Git - perso/Immae/Config/Nix.git/commitdiff
Upgrade nextcloud
authorIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 7 May 2020 08:39:56 +0000 (10:39 +0200)
committerIsmaël Bouya <ismael.bouya@normalesup.org>
Thu, 7 May 2020 23:35:21 +0000 (01:35 +0200)
27 files changed:
modules/private/websites/tools/cloud/default.nix
pkgs/webapps/default.nix
pkgs/webapps/nextcloud/apps/apporder.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
pkgs/webapps/nextcloud/apps/contacts.nix
pkgs/webapps/nextcloud/apps/cookbook.nix
pkgs/webapps/nextcloud/apps/deck.nix
pkgs/webapps/nextcloud/apps/extract.nix
pkgs/webapps/nextcloud/apps/files_markdown.nix
pkgs/webapps/nextcloud/apps/files_readmemd.nix
pkgs/webapps/nextcloud/apps/flowupload.nix
pkgs/webapps/nextcloud/apps/gpxedit.nix
pkgs/webapps/nextcloud/apps/gpxpod.nix
pkgs/webapps/nextcloud/apps/keeweb.nix
pkgs/webapps/nextcloud/apps/maps.nix
pkgs/webapps/nextcloud/apps/metadata.nix
pkgs/webapps/nextcloud/apps/music.nix
pkgs/webapps/nextcloud/apps/notes.nix
pkgs/webapps/nextcloud/apps/ocsms.nix
pkgs/webapps/nextcloud/apps/passman.nix
pkgs/webapps/nextcloud/apps/polls.nix
pkgs/webapps/nextcloud/apps/spreed.nix
pkgs/webapps/nextcloud/apps/tasks.nix
pkgs/webapps/nextcloud/default.nix

index 0c6bf0d5ee55dd60c68a3a0137845700c1fd1871..3b6a8718b29713ad32e0ee60ac938e1cc189db9f 100644 (file)
@@ -1,15 +1,18 @@
 { lib, pkgs, config,  ... }:
 let
-  nextcloud = pkgs.webapps.nextcloud.withApps (builtins.attrValues pkgs.webapps.nextcloud-apps);
+  nextcloud = pkgs.webapps.nextcloud.withApps (a: [
+    a.apporder a.audioplayer a.bookmarks a.calendar a.carnet a.contacts
+    a.cookbook a.deck a.extract a.files_markdown a.files_readmemd
+    a.flowupload a.gpxedit a.gpxpod a.keeweb a.maps a.metadata a.music
+    a.notes a.ocsms a.passman a.polls a.spreed a.tasks
+  ]);
   env = config.myEnv.tools.nextcloud;
   varDir = "/var/lib/nextcloud";
   webappName = "tools_nextcloud";
   apacheRoot = "/run/current-system/webapps/${webappName}";
   cfg = config.myServices.websites.tools.cloud;
   phpFpm = rec {
-    basedir = builtins.concatStringsSep ":" (
-      [ nextcloud varDir ]
-      ++ builtins.attrValues pkgs.webapps.nextcloud-apps);
+    basedir = builtins.concatStringsSep ":" ([ nextcloud varDir ] ++ nextcloud.apps);
     pool = {
       "listen.owner" = "wwwrun";
       "listen.group" = "wwwrun";
@@ -33,7 +36,6 @@ let
       "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:${basedir}:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp";
       "php_admin_value[session.save_path]" = "${varDir}/phpSessions";
     };
-    phpPackage = pkgs.php72.withExtensions(e: pkgs.php72.enabledExtensions ++ [ e.redis e.apcu e.opcache ]);
   };
 in {
   options.myServices.websites.tools.cloud = {
@@ -137,8 +139,8 @@ in {
         cd ${nextcloud}
         NEXTCLOUD_CONFIG_DIR="${nextcloud}/config" \
           exec \
-          sudo -u wwwrun ${pkgs.php72}/bin/php \
-          -c ${pkgs.php72}/etc/php.ini \
+          sudo -u wwwrun ${pkgs.php73}/bin/php \
+          -c ${pkgs.php73}/etc/php.ini \
           occ $*
         '';
     in [ occ ];
@@ -167,7 +169,7 @@ in {
       user = "wwwrun";
       group = "wwwrun";
       settings = phpFpm.pool;
-      phpPackage = pkgs.php72.withExtensions(e: pkgs.php72.enabledExtensions ++ [ e.redis e.apcu e.opcache ]);
+      phpPackage = pkgs.php73.withExtensions(e: pkgs.php73.enabledExtensions ++ [ e.redis e.apcu e.opcache ]);
     };
 
     services.cron = {
@@ -177,7 +179,7 @@ in {
           #! ${pkgs.stdenv.shell}
           export LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive
           export PATH=/run/wrappers/bin:$PATH
-          ${pkgs.php72}/bin/php -d memory_limit=512M -f ${nextcloud}/cron.php
+          ${pkgs.php73}/bin/php -d memory_limit=512M -f ${nextcloud}/cron.php
           '';
       in [
         ''
index 2dea33b72c0637183bd3113b0245043358684ba9..e3ec07f2c9d1270160a6c0cbfd308f6b4b881cdd 100644 (file)
@@ -39,18 +39,6 @@ rec {
       (name: callPackage (./mediagoblin/plugins + "/${name}") {});
 
   nextcloud = callPackage ./nextcloud {};
-  nextcloud-with-apps = nextcloud.withPlugins (builtins.attrValues nextcloud-apps);
-  nextcloud-apps = let
-      names = [
-        "audioplayer" "bookmarks" "calendar" "contacts" "deck"
-        "files_markdown" "gpxedit" "gpxpod" "keeweb" "music"
-        "notes" "ocsms" "passman" "spreed" "tasks"
-        "flowupload" "carnet" "maps" "cookbook" "polls"
-        "apporder" "extract" "files_readmemd" "metadata"
-      ];
-    in
-    lib.attrsets.genAttrs names
-      (name: callPackage (./nextcloud/apps + "/${name}.nix") { buildApp = nextcloud.buildApp; });
 
   peertube = callPackage ./peertube { inherit mylibs; };
   phpbb = callPackage ./phpbb {};
index 1a4d1f04357ef06d7048334eb612e40e3fd82d9a..29fd6e23a860f4a30b31b3f4cf37568fcbfb5f91 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 16 && nextcloudVersion <= 18;
 buildApp rec {
   appName = "apporder";
-  version = "0.8.0";
+  version = "0.9.0";
   url = "https://github.com/juliushaertl/apporder/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "04wlvhdngn3fkvphaply9lycvmfy6294pzpvccvkj2m8ihbdnigw";
+  sha256 = "1add4i892n4bpmpxwrsr7x99fjyj5rk6maw04iwhviqqqr28fsw6";
 }
index e321002c02c7d0d448659fce695d2f0f81b8bbdf..a49776f10dc680268d50f4a598f5986aebf314f9 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 17 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "audioplayer";
-  version = "2.7.0";
+  version = "2.10.0";
   url = "https://github.com/Rello/${appName}/releases/download/${version}/${appName}-${version}.tar.gz";
-  sha256 = "05dylw45hs32agy6wqjy4r2x3h1dxzyzn0378ig6h5a22xd52mik";
+  sha256 = "122wc05b0m8s5ksdhsiws98aqph894i7cffjkhfhq66c40a728s3";
 }
index 4632c9262925fa4544fef501ffab084492c23239..1065c34ef2606e68e896ab076d319460724b0e7e 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 17 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "bookmarks";
-  version = "1.0.2";
+  version = "3.0.10";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}-${version}.tar.gz";
-  sha256 = "1ph123d0pram9a0vq73rn0zw0pyg4l0xqg162b59ds68179m2jfp";
+  sha256 = "0y12iqcc6yp25cisg7mg40ddx72531zdvsp2gcl37qi8vqf162ji";
 }
index 0812810ed6d9f4e72190c8e47005178b1f8fdf02..bc3ccea893c47febd7064acd3cd8c80aa50a8684 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 17 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "calendar";
-  version = "1.7.0";
+  version = "2.0.3";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "0cgvvgzc2kgs2ng36hzff8rrpw9n58f0hyrr41n3wjkf0iynm56r";
+  sha256 = "17pjsa657p9n1kslqkfcxd6n4ssh2yd4f5l5ww79mixfs34idbl9";
 }
index 61431e5947993f842683e8e13d901bfe886f9c0d..879ab17a3704beec32a5fceed8082700771f1b90 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 13 && nextcloudVersion <= 18;
 buildApp rec {
   appName = "carnet";
-  version = "0.15.2";
+  version = "0.20.0";
   url = "https://github.com/PhieF/CarnetNextcloud/releases/download/v${version}/${appName}-nc-v${version}.tar.gz";
-  sha256 = "1npjb2bgwcfxlf22ygl2hfhfgaigk1kpdk795yc79mx2l1iicmg0";
+  sha256 = "1hbvs88vj830xalyq8fv8xlnf7livsj1xmnjl4xgla803ch4aym8";
 }
index 34329ab4a25ce6d049bc5ce74c76250a49a0d5fd..d80f0b55f105035a1fba6597bcd0caace7f2d340 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 17 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "contacts";
-  version = "3.1.1";
+  version = "3.3.0";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "1qfn532p1pb4m6q2jzyzlyw4c5qccmq6vj0h2zv9xfkajfvz7i7v";
+  sha256 = "187avlksg4k7ci3jz4djfq8zfyq5jpvhbw2dzlp76wlppm1al4m0";
 }
index adc47c2aedd160a478f104b9d0d4e7d0cf827e4a..63cac0dd7386b07172f3cb4f8209497c07177a81 100644 (file)
@@ -1,9 +1,10 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 14 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "cookbook";
-  version = "0.5.4";
+  version = "0.6.5";
   url = "https://github.com/mrzapp/nextcloud-cookbook/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "1dav07jylmw9n05l7p3m20ywky27nrg3gna271mly5bvs9q6kanm";
+  sha256 = "068dxdxy9ix37970mn348blkdrrnkzad26zgyx4f5s19wm439p5j";
   installPhase = ''
     sed -i -e "s/application..ld..json/application[^\"|\\\\']*ld[^\"|\\\\']*json/" lib/Service/RecipeService.php
     mkdir -p $out
index c5737afbd33fe52621a9cf66f8cee7e5f134a4a1..f4c4f94918a0cb7514d2925f1f6308557b3a2f2e 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion == 17;
 buildApp rec {
   appName = "deck";
-  version = "0.6.1";
+  version = "0.8.2";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "1hafgj67zbhs4higf7nyr61p4s31axzxrsq09c4wmcwviz7p7zvs";
+  sha256 = "0n4z1wbshahhvh3r532brzg0hgsyaf5djxpxg6hmma4ycrn4s358";
 }
index 99e4e8f4ffd0adbe26f206aa139421a99fc6e93d..daa9d2d5277616cb3b5af0881a4d1683ba11bfe3 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 13 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "extract";
-  version = "1.2.2";
+  version = "1.2.4";
   url = "https://github.com/PaulLereverend/NextcloudExtract/releases/download/${version}/${appName}.tar.gz";
-  sha256 = "1aq8f5ps8259ihlh1qwhcj1gwy6w341gmagzz1r763pipkj960g6";
+  sha256 = "0f1csv0warga12a1hkgdcnhnfiwfv5z2ab3mri4frn2qlh12wyby";
 }
index 9ed50076240a4636559adfd8c18b679abee7107a..5810ec99649e7563bc68650eca15d0edc02b579e 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 16 && nextcloudVersion <= 18;
 buildApp rec {
   appName = "files_markdown";
-  version = "2.0.6";
+  version = "2.2.0";
   url = "https://github.com/icewind1991/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "1ng8gpjl3g1141k1nii59cg005viidlcbsg4x9brzcj25c5qhjjp";
+  sha256 = "05f793pznkkdgmr3wfqfbhwcg8s8kcvpfxnhzyj0pbw19srls2aw";
 }
index 1d0dd424ce0820d4b8727d881313083fdf0b7e6b..d31f8ee26bbee24c7753eba168837af6472ff498 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 16 && nextcloudVersion <= 18;
 buildApp rec {
   appName = "files_readmemd";
-  version = "1.1.2";
-  url = "https://gitlab.univ-nantes.fr/uncloud/files_readmemd/wikis/uploads/3c17fcee5fe4a7a7d77ac59de6feca96/${appName}.tar.gz";
+  version = "1.1.4";
+  url = "https://gitlab.univ-nantes.fr/uncloud/files_readmemd/-/wikis/uploads/e1d280e855f37e5f0a421c757868113c/${appName}.tar.gz";
   sha256 = "1lx5rlh9n49cdbnxm6a85facjp4g88myaid764yr6jayc62g0qrq";
 }
index cbadbda7bc010fde085d2b44dbadb86cf553c633..516ee3244e3033f63c7456c97858e74699428f08 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 15 && nextcloudVersion <= 18;
 buildApp rec {
   appName = "flowupload";
-  version = "0.1.0";
-  url = "https://github.com/e-alfred/${appName}/releases/download/${version}/${appName}.tar.gz";
-  sha256 = "0cai76hcjrwvq32yav0nd9kkhslandp1sj5czz119gsfjlkpalw9";
+  version = "0.1.8";
+  url = "https://github.com/e-alfred/${appName}/releases/download/${version}/${appName}-${version}.tar.gz";
+  sha256 = "0llg5cr4fgqg512znp9bga77y7vdsi2pgsyl4m3a54c557zyjah3";
 }
index b9c267b62442d040e94e04e2822574008c59b2a5..cd3e8786355ec4995b43f5a4ba03d1484d9ad658 100644 (file)
@@ -1,9 +1,10 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 14 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "gpxedit";
-  version = "0.0.11";
-  url = "https://gitlab.com/eneiluj/gpxedit-oc/wikis/uploads/18058077d0170256c3f4c9201443d09d/${appName}-${version}.tar.gz";
-  sha256 = "1ww32jysjnwxrn8r9fjdfhbfqnzgaakn08m64wcmavx29dd42y6m";
+  version = "0.0.13";
+  url = "https://gitlab.com/eneiluj/gpxedit-oc/wikis/uploads/a7c638d1b038514d07bb5c787b6e7961/${appName}-${version}.tar.gz";
+  sha256 = "1b15iqaq8fj3khpx3lh0fyqkhmj6x44fc59pg3cp3jrh3bpg0534";
   otherConfig = {
     mimetypealiases = {
       "application/gpx+xml" = "gpx";
index 6544ac226b7d07c5554c049ac457e7abb03a5305..07501447d33fba3abe9a047ae4b59b0027098c70 100644 (file)
@@ -1,9 +1,10 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 14 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "gpxpod";
-  version = "3.0.3";
-  url = "https://gitlab.com/eneiluj/gpxpod-oc/wikis/uploads/34af9435d7a2cd8fa915b84f0dda0724/${appName}-${version}.tar.gz";
-  sha256 = "0v30j5b4ki6nbxqdmnlkrgl1lpg2x2nir9gik6rfj0c3jhmb5mch";
+  version = "4.2.1";
+  url = "https://gitlab.com/eneiluj/gpxpod-oc/wikis/uploads/0361f9dc50633f0f39d929442935435c/${appName}-${version}.tar.gz";
+  sha256 = "0ycpychq6g8axdprvd0ahgdy2pwfdbfyf1pxk4cprr4ab986aq1x";
   otherConfig = {
     mimetypealiases = {
       "application/gpx+xml" = "gpx";
index 866f33716307ccc7bf094a12eec23435148e61fb..4ea13990dfc3535fbb3603f355ec2a9a47a345d1 100644 (file)
@@ -1,9 +1,10 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 11 && nextcloudVersion <= 18;
 buildApp rec {
   appName = "keeweb";
-  version = "0.5.1";
+  version = "0.6.2";
   url = "https://github.com/jhass/nextcloud-keeweb/releases/download/v${version}/${appName}-${version}.tar.gz";
-  sha256 = "1iaz4d6fz4zlgdn2hj7xx0nayyd0l865zxd6h795fpx5qpdj911h";
+  sha256 = "067801qz0fcfvmb14ja1ringzk53j1wp7ys2fl7lnlhf45r81vxx";
   installPhase = ''
     mkdir -p $out
     cp -R . $out/
index 4232a2460db948a1b4d6d505578f11019deb2e20..898df6c34277f5131d5d6901e388f72b0963d907 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 16 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "maps";
-  version = "0.1.2";
+  version = "0.1.6";
   url = "https://github.com/nextcloud/maps/releases/download/v${version}/${appName}-${version}.tar.gz";
-  sha256 = "0jk4fikk72g2yj3p0f8i80d26lsi88kfpflrmh5c4acgf3jzxp02";
+  sha256 = "1yh5h96c91lgz58zcm7zdpblvsc6c6nflx8pldfds102x292mprk";
 }
index 9adda9d288f6d12d99e19ce467751bde99ce5436..2d62f5303b1a298c03fd7d49770d4209ef0cc970 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 13 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "metadata";
-  version = "0.10.0";
+  version = "0.11.1";
   url = "https://github.com/gino0631/nextcloud-metadata/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "1qqgzk0b13k5gfy9sdjqm9v325lm8qn7ikv3a8d21pzzqii6402x";
+  sha256 = "11napkv5s29xk1gmbfvy610ab1kc06qxqzw606ix5x0d1x4m3h0c";
 }
index 1c7181ac8e141e15bc9890eec974ef8252317d46..1871e91c62ee39cdfaf7506a06ab79832a659e0c 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 9 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "music";
-  version = "0.9.5";
+  version = "0.14.0";
   url = "https://github.com/owncloud/${appName}/archive/v${version}.tar.gz";
-  sha256 = "0dx136z7anmi18harc1v2hyfdaq568lqf3wpy9hgx309ggb4wwzx";
+  sha256 = "0f2nb69krnfgxx9x4nnlkmrlz33n01k6i9r2mbba7i34xgdi6vsq";
 }
index 23d6a060843ea23f44305b3f96fefbfb6079684b..7a06bbc75bb89da24644685e28a7e592c8a71dad 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 16 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "notes";
-  version = "2.6.0";
-  url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "1b1vc8plv4mpsxl7mgwgrcrswphclsm9xa89vxf3s4xzlwwq11c4";
+  version = "3.3.0";
+  url = "https://github.com/nextcloud/${appName}/releases/download/${version}/${appName}.tar.gz";
+  sha256 = "03k0ijma7sccwqq9ch3bvgbg9kxr2wk0bmkxzxrc9in1d40d3k7f";
 }
index bd772952741133f68b27d6846ac66107b0f3ba3e..aee1ff293d5adf1812eba1c7d527259f554b1f18 100644 (file)
@@ -1,12 +1,11 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 16 && nextcloudVersion <= 18;
 buildApp rec {
   appName = "ocsms";
-  version = "2.1.1";
+  version = "2.1.7";
   url = "https://github.com/nextcloud/${appName}/releases/download/${version}/${appName}-${version}.tar.gz";
-  sha256 = "0sgfbmy1c8rgzjvf9snc7rzgp8aqsc65zfwgi6qcsf2g6gam5n7a";
+  sha256 = "1pfdzq16nbh4wfmkmif0dxacxg0fy4n4cp2d1hbq9k2z9awcx1vh";
   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 0d9d9948b2aeb7392ee6b819afc30a32d1210a34..2de4882b7a1cdb1592b5f29dd0e47dafbcb74472 100644 (file)
@@ -1,9 +1,10 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 17 && nextcloudVersion <= 18;
 buildApp rec {
   # FIXME: it creates a /settings/user/additional setting url which
   # doesn’t work
   appName = "passman";
-  version = "2.3.4";
+  version = "2.3.5";
   url = "https://releases.passman.cc/${appName}_${version}.tar.gz";
-  sha256 = "004bgdbz6ks0zizgx6gw6m60g30m1xclw4fakbh6qq1n8sxpdqsq";
+  sha256 = "05gc288n43c7dhmq1jqfn8cfw7sycwdfhn36j8rh8nbx1irldbjn";
 }
index ff0258a228d4d2456fec43776b061e0d271cc483..69e11025e632e88498efb35bd25aacada2a76672 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 16 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "polls";
-  version = "0.10.4";
+  version = "1.4.3";
   url = "https://github.com/nextcloud/polls/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "10h2i1ya1n4vkbd84ak5xcbprzai4nxjsq6b8z097p9fb90rbw4r";
+  sha256 = "07l5x5xblk6w8f6mqz3a5hjpry8qc3zgqi49z6bp5ipnzj0s6wm4";
 }
index a958470b5f433256524ae72d5e0684a5a5e24f53..d6bd9388a74244ffd833edc7bf9f29d6c0b15cfe 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion == 17;
 buildApp rec {
   appName = "spreed";
-  version = "6.0.0";
+  version = "7.0.3";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}-${version}.tar.gz";
-  sha256 = "14rcskp4pdcf0g816cdp070c8pzrj33fg2w7jb3af8maf1d77306";
+  sha256 = "09s5wabb516sfrq765hp6viag78xg349glwdxayjkbygkif0hw82";
 }
index 1e5f8f285201d2b1e5bbd402ad9c160f668ce84d..a2de4657cb6e97dff6997c5c061da6395497907a 100644 (file)
@@ -1,7 +1,8 @@
-{ buildApp }:
+{ buildApp, nextcloudVersion }:
+assert nextcloudVersion >= 16 && nextcloudVersion <= 19;
 buildApp rec {
   appName = "tasks";
-  version = "0.10.1";
+  version = "0.12.2";
   url = "https://github.com/nextcloud/${appName}/releases/download/v${version}/${appName}.tar.gz";
-  sha256 = "0r888yr6bl2y5mp65q8md5k139as1a0xw4yfzvkv7y77wmqn9wsm";
+  sha256 = "092fg7dpx69jp5z0ka14ay6bnfdcnjq8zk2gc3rwpzc3llpdnqph";
 }
index 2d4eb3909dcd5bb47300370b8b6b8fe06a22b584..fecb3a7b9cb2cfe5413c32ef23c8a69b57b0b33f 100644 (file)
@@ -1,5 +1,13 @@
-{ varDir ? "/var/lib/nextcloud", otherConfig ? {}, lib, stdenv, fetchurl }:
+{ varDir ? "/var/lib/nextcloud", nextcloudVersion ? 17, otherConfig ? {}, lib, stdenv, callPackage, fetchurl }:
 let
+  appNames = [
+    "apporder" "audioplayer" "bookmarks" "calendar" "carnet" "contacts"
+    "cookbook" "deck" "extract" "files_markdown" "files_readmemd"
+    "flowupload" "gpxedit" "gpxpod" "keeweb" "maps" "metadata" "music"
+    "notes" "ocsms" "passman" "polls" "spreed" "tasks"
+  ];
+  allApps = lib.attrsets.genAttrs appNames
+    (name: callPackage (./apps + "/${name}.nix") { inherit buildApp nextcloudVersion; });
   buildApp = { appName, version, url, sha256, otherConfig ? {}, installPhase ? "mkdir -p $out && cp -R . $out/" }:
     stdenv.mkDerivation rec {
       name = "nextcloud-app-${appName}-${version}";
@@ -11,34 +19,33 @@ let
         inherit appName otherConfig;
       };
     };
-  withApps = apps: package.overrideAttrs(old: {
-    name = "${old.name}-with-apps";
-
-    installPhase = old.installPhase + (
-      builtins.concatStringsSep "\n" (
-        map (value: "ln -sf ${value} $out/apps/${value.appName}") apps
-      ));
-
-    passthru = old.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);
-        };
-      inherit apps;
-      withApps = moreApps: old.withApps (moreApps ++ apps);
-    };
-  });
-
+  toPassthru = pkg: apps: otherConfig: {
+    inherit apps otherConfig allApps buildApp varDir;
+    withApps = withApps pkg;
+  };
+  withApps = pkg: toApps:
+    let
+      apps = toApps allApps;
+      toInstallApp = n: ''
+        ln -sf ${n} $out/apps/${n.appName}
+      '';
+      zipped = lib.attrsets.zipAttrs ([pkg.otherConfig or {}] ++ map (v: v.otherConfig) apps);
+      appConfigs = with lib.attrsets; with lib.lists; {
+        mimetypealiases = foldr (h: prev: prev // h) {} (zipped.mimetypealiases or []);
+        mimetypemapping = mapAttrs (_: v: unique (flatten v)) (zipAttrs (zipped.mimetypemapping or []));
+      };
+      newNextcloud = pkg.overrideAttrs(old: {
+        installPhase = old.installPhase + "\n" + builtins.concatStringsSep "\n" (map toInstallApp apps);
+        passthru = toPassthru newNextcloud (pkg.apps ++ apps) appConfigs;
+      });
+    in newNextcloud;
   package = stdenv.mkDerivation rec {
     name = "nextcloud-${version}";
-    version = "16.0.0";
+    version = "${builtins.toString nextcloudVersion}.0.6";
 
     src = fetchurl {
       url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-      sha256 = "0bj014vczlrql1w32pqmr7cyqn9awnyzpi2syxhg16qxic1gfcj5";
+      sha256 = "0qq7lkgzsn1zakfym5bjqzpcisxmgfcdd927ddqlhddy3zvgxrxx";
     };
 
     installPhase = ''
@@ -48,10 +55,7 @@ let
       ln -sf ${varDir}/config $out/config
       '';
 
-    passthru = {
-      apps = [];
-      inherit otherConfig buildApp withApps varDir;
-    };
+    passthru = toPassthru package [] otherConfig;
     meta = {
       description = "Sharing solution for files, calendars, contacts and more";
       homepage = https://nextcloud.com;