Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / nextcloud / default.nix
blob90101415a67b07f25964728a7c3cc08582f688d8
1 { lib, stdenvNoCC, fetchurl, nixosTests
2 , nextcloud28Packages
3 , nextcloud29Packages
4 }:
6 let
7   generic = {
8     version, hash
9   , eol ? false, extraVulnerabilities ? []
10   , packages
11   }: stdenvNoCC.mkDerivation rec {
12     pname = "nextcloud";
13     inherit version;
15     src = fetchurl {
16       url = "https://download.nextcloud.com/server/releases/${pname}-${version}.tar.bz2";
17       inherit hash;
18     };
20     passthru = {
21       tests = nixosTests.nextcloud;
22       inherit packages;
23     };
25     installPhase = ''
26       runHook preInstall
27       mkdir -p $out/
28       cp -R . $out/
29       runHook postInstall
30     '';
32     meta = with lib; {
33       changelog = "https://nextcloud.com/changelog/#${lib.replaceStrings [ "." ] [ "-" ] version}";
34       description = "Sharing solution for files, calendars, contacts and more";
35       homepage = "https://nextcloud.com";
36       maintainers = with maintainers; [ schneefux bachp globin ma27 ];
37       license = licenses.agpl3Plus;
38       platforms = platforms.linux;
39       knownVulnerabilities = extraVulnerabilities
40         ++ (optional eol "Nextcloud version ${version} is EOL");
41     };
42   };
43 in {
44   nextcloud28 = generic {
45     version = "28.0.8";
46     hash = "sha256-VaL3RfzI8BtYFrIzM/HjAU0gQKZnlOEy3dDSGaN75To=";
47     packages = nextcloud28Packages;
48   };
50   nextcloud29 = generic {
51     version = "29.0.4";
52     hash = "sha256-GcRp4mSzHugEAPg5ZGCFRUZWnojbTBX8CFThkvlgJ+s=";
53     packages = nextcloud29Packages;
54   };
56   # tip: get the sha with:
57   # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'