3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #11412 from matejc/master-owncloud

re owncloud latest
This commit is contained in:
Matej Cotman 2015-12-02 23:11:30 +01:00
commit 05eb4c8928
3 changed files with 90 additions and 32 deletions

View file

@ -70,7 +70,7 @@ let
"proxyuserpwd" => "",
/* List of trusted domains, to prevent host header poisoning ownCloud is only using these Host headers */
'trusted_domains' => array('${config.trustedDomain}'),
${if config.trustedDomain != "" then "'trusted_domains' => array('${config.trustedDomain}')," else ""}
/* Theme to use for ownCloud */
"theme" => "",
@ -331,7 +331,7 @@ let
*/
'share_folder' => '/',
'version' => '${pkgs.owncloud.version}',
'version' => '${config.package.version}',
'openssl' => '${pkgs.openssl}/bin/openssl'
@ -345,16 +345,15 @@ rec {
extraConfig =
''
ServerName ${config.siteName}
ServerAdmin ${config.adminAddr}
DocumentRoot ${documentRoot}
${if config.urlPrefix != "" then "Alias ${config.urlPrefix} ${config.package}" else ''
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
''}
<Directory ${pkgs.owncloud}>
${builtins.readFile "${pkgs.owncloud}/.htaccess"}
<Directory ${config.package}>
${builtins.readFile "${config.package}/.htaccess"}
</Directory>
'';
@ -362,12 +361,29 @@ rec {
{ name = "OC_CONFIG_PATH"; value = "${config.dataDir}/config/"; }
];
documentRoot = pkgs.owncloud;
documentRoot = if config.urlPrefix == "" then config.package else null;
enablePHP = true;
options = {
package = mkOption {
type = types.package;
default = pkgs.owncloud70;
example = literalExample "pkgs.owncloud70";
description = ''
PostgreSQL package to use.
'';
};
urlPrefix = mkOption {
default = "";
example = "/owncloud";
description = ''
The URL prefix under which the owncloud service appears.
'';
};
id = mkOption {
default = "main";
description = ''
@ -552,7 +568,7 @@ rec {
cp ${owncloudConfig} ${config.dataDir}/config/config.php
mkdir -p ${config.dataDir}/storage
mkdir -p ${config.dataDir}/apps
cp -r ${pkgs.owncloud}/apps/* ${config.dataDir}/apps/
cp -r ${config.package}/apps/* ${config.dataDir}/apps/
chmod -R ug+rw ${config.dataDir}
chmod -R o-rwx ${config.dataDir}
chown -R wwwrun:wwwrun ${config.dataDir}
@ -566,7 +582,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 ${config.package}/config/ca-bundle.crt ]; then
cp -f ${config.package}/config/ca-bundle.crt ${config.dataDir}/config/
fi
${php}/bin/php ${config.package}/occ upgrade >> ${config.dataDir}/upgrade.log || true
chown wwwrun:wwwrun ${config.dataDir}/owncloud.log || true

View file

@ -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";
};
}

View file

@ -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 { };