diff --git a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix index b3f47cddecc..f69e2141805 100644 --- a/nixos/modules/services/web-servers/apache-httpd/owncloud.nix +++ b/nixos/modules/services/web-servers/apache-httpd/owncloud.nix @@ -573,7 +573,11 @@ rec { ${pkgs.sudo}/bin/sudo -u postgres ${pkgs.postgresql}/bin/psql -h "/tmp" -U postgres -d ${config.dbName} -Atw -c "$QUERY" || true fi - ${php}/bin/php ${pkgs.owncloud}/occ upgrade || true + if [ -e ${pkgs.owncloud}/config/ca-bundle.crt ]; then + cp -f ${pkgs.owncloud}/config/ca-bundle.crt ${config.dataDir}/config/ + fi + + ${php}/bin/php ${pkgs.owncloud}/occ upgrade >> ${config.dataDir}/upgrade.log || true chown wwwrun:wwwrun ${config.dataDir}/owncloud.log || true diff --git a/pkgs/servers/owncloud/default.nix b/pkgs/servers/owncloud/default.nix index 449eee556c1..4122e940c76 100644 --- a/pkgs/servers/owncloud/default.nix +++ b/pkgs/servers/owncloud/default.nix @@ -1,28 +1,59 @@ { stdenv, fetchurl }: -stdenv.mkDerivation rec { - name= "owncloud-${version}"; - version = "7.0.5"; +let + common = { versiona, sha256 } @ args: stdenv.mkDerivation (rec { - src = fetchurl { - url = "https://download.owncloud.org/community/${name}.tar.bz2"; + name= "owncloud-${version}"; + version= versiona; + + src = fetchurl { + url = "https://download.owncloud.org/community/${name}.tar.bz2"; + inherit sha256; + }; + + installPhase = + '' + mkdir -p $out + find . -maxdepth 1 -execdir cp -r '{}' $out \; + + substituteInPlace $out/lib/base.php \ + --replace 'OC_Config::$object = new \OC\Config(self::$configDir);' \ + 'self::$configDir = getenv("OC_CONFIG_PATH"); OC_Config::$object = new \OC\Config(self::$configDir);' + ''; + + meta = { + description = "An enterprise file sharing solution for online collaboration and storage"; + homepage = https://owncloud.org; + maintainers = with stdenv.lib.maintainers; [ matejc ]; + license = stdenv.lib.licenses.agpl3Plus; + }; + + }); + +in { + + owncloud705 = common { + versiona = "7.0.5"; sha256 = "1j21b7ljvbhni9l0b1cpzlhsjy36scyas1l1j222mqdg2srfsi9y"; }; - installPhase = - '' - mkdir -p $out - find . -maxdepth 1 -execdir cp -r '{}' $out \; + owncloud70 = common { + versiona = "7.0.10"; + sha256 = "7e77f27137f37a721a8827b0436a9e71c100406d9745c4251c37c14bcaf31d0b"; + }; - substituteInPlace $out/lib/base.php \ - --replace 'OC_Config::$object = new \OC\Config(self::$configDir);' \ - 'self::$configDir = getenv("OC_CONFIG_PATH"); OC_Config::$object = new \OC\Config(self::$configDir);' - ''; + owncloud80 = common { + versiona = "8.0.9"; + sha256 = "0c1f915f4123dbe07d564cf0172930568690ab5257d2fca4fec4ec515858bef1"; + }; - meta = { - description = "An enterprise file sharing solution for online collaboration and storage"; - homepage = https://owncloud.org; - maintainers = with stdenv.lib.maintainers; [ matejc ]; - license = stdenv.lib.licenses.agpl3Plus; + owncloud81 = common { + versiona = "8.1.4"; + sha256 = "e0f4bf0c85821fc1b6e7f6268080ad3ca3e98c41baa68a9d616809d74a77312d"; + }; + + owncloud82 = common { + versiona = "8.2.0"; + sha256 = "fcfe99cf1c3aa06ff369e5b1a602147c08dd977af11800fe06c6a661fa5f770c"; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 14041573472..b9e07a590ab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2573,7 +2573,14 @@ let otpw = callPackage ../os-specific/linux/otpw { }; - owncloud = callPackage ../servers/owncloud { }; + owncloud = owncloud70; + + inherit (callPackages ../servers/owncloud { }) + owncloud705 + owncloud70 + owncloud80 + owncloud81 + owncloud82; owncloudclient = callPackage ../applications/networking/owncloud-client { };