mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-04 14:52:34 +03:00
Phabricator, a web application, snapshot of 2014-05-12
This commit is contained in:
parent
89238a251c
commit
25e0d51a67
2 changed files with 107 additions and 0 deletions
|
@ -0,0 +1,41 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
phabricatorRoot = pkgs.stdenv.mkDerivation rec {
|
||||||
|
version = "2014-05-12";
|
||||||
|
name = "phabricator-${version}";
|
||||||
|
srcLibphutil = pkgs.fetchgit {
|
||||||
|
url = git://github.com/facebook/libphutil.git;
|
||||||
|
rev = "2f3b5a1cf6ea464a0250d4b1c653a795a90d2716";
|
||||||
|
sha256 = "9598cec400984dc149162f1e648814a54ea0cd34fcd529973dc83f5486fdd9fd";
|
||||||
|
};
|
||||||
|
srcArcanist = pkgs.fetchgit {
|
||||||
|
url = git://github.com/facebook/arcanist.git;
|
||||||
|
rev = "54c377448db8dbc40f0ca86d43c837d30e493485";
|
||||||
|
sha256 = "086db3c0d1154fbad23e7c6def31fd913384ee20247b329515838b669c3028e0";
|
||||||
|
};
|
||||||
|
srcPhabricator = pkgs.fetchgit {
|
||||||
|
url = git://github.com/facebook/phabricator.git;
|
||||||
|
rev = "1644ef185ecf1e9fca3eb6b16351ef46b19d110f";
|
||||||
|
sha256 = "e1135e4ba76d53f48aad4161563035414ed7e878f39a8a34a875a01b41b2a084";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cp -R ${srcLibphutil} $out/libphutil
|
||||||
|
cp -R ${srcArcanist} $out/arcanist
|
||||||
|
cp -R ${srcPhabricator} $out/phabricator
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
enablePHP = true;
|
||||||
|
extraApacheModules = [ "mod_rewrite" ];
|
||||||
|
DocumentRoot = "${phabricatorRoot}/phabricator/webroot";
|
||||||
|
extraConfig = ''
|
||||||
|
DocumentRoot ${phabricatorRoot}/phabricator/webroot
|
||||||
|
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteRule ^/rsrc/(.*) - [L,QSA]
|
||||||
|
RewriteRule ^/favicon.ico - [L,QSA]
|
||||||
|
RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
|
||||||
|
'';
|
||||||
|
}
|
66
nixos/tests/phabricator.nix
Normal file
66
nixos/tests/phabricator.nix
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
import ./make-test.nix ({ pkgs, ... }: {
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
storage =
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{ services.nfs.server.enable = true;
|
||||||
|
services.nfs.server.exports = ''
|
||||||
|
/repos 192.168.1.0/255.255.255.0(rw,no_root_squash)
|
||||||
|
'';
|
||||||
|
services.nfs.server.createMountPoints = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
webserver =
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{ fileSystems = pkgs.lib.mkVMOverride
|
||||||
|
[ { mountPoint = "/repos";
|
||||||
|
device = "storage:/repos";
|
||||||
|
fsType = "nfs";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
networking.useDHCP = false;
|
||||||
|
|
||||||
|
services = {
|
||||||
|
httpd = {
|
||||||
|
enable = true;
|
||||||
|
adminAddr = "root@localhost";
|
||||||
|
virtualHosts = [{
|
||||||
|
hostName = "phabricator.local";
|
||||||
|
extraSubservices = [{serviceType = "phabricator";}];
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
|
||||||
|
mysql = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.mysql;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.php ];
|
||||||
|
};
|
||||||
|
|
||||||
|
client =
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{ imports = [ ./common/x11.nix ];
|
||||||
|
services.xserver.desktopManager.kde4.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript =
|
||||||
|
''
|
||||||
|
startAll;
|
||||||
|
|
||||||
|
$client->waitForX;
|
||||||
|
|
||||||
|
$webserver->waitForUnit("mysql");
|
||||||
|
$webserver->waitForUnit("httpd");
|
||||||
|
$webserver->execute("cd /nix/store; less >/repos/log1");
|
||||||
|
|
||||||
|
$client->sleep(30); # loading takes a long time
|
||||||
|
$client->execute("konqueror http://webserver/ &");
|
||||||
|
$client->sleep(90); # loading takes a long time
|
||||||
|
|
||||||
|
$client->screenshot("screen");
|
||||||
|
'';
|
||||||
|
})
|
Loading…
Add table
Add a link
Reference in a new issue