Merge pull request #2778 from edwtjo/radicale

Adding Radicale package and service
This commit is contained in:
Michael Raskin 2014-06-30 10:11:23 +04:00
commit b403893aa2
3 changed files with 80 additions and 0 deletions

View file

@ -217,6 +217,7 @@
./services/networking/prayer.nix
./services/networking/privoxy.nix
./services/networking/quassel.nix
./services/networking/radicale.nix
./services/networking/radvd.nix
./services/networking/rdnssd.nix
./services/networking/rpcbind.nix

View file

@ -0,0 +1,48 @@
{config, lib, pkgs, ...}:
with lib;
let
cfg = config.services.radicale;
confFile = pkgs.writeText "radicale.conf" cfg.config;
in
{
options = {
services.radicale.enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable Radicale CalDAV and CardDAV server
'';
};
services.radicale.config = mkOption {
type = types.string;
default = "";
description = ''
Radicale configuration, this will set the service
configuration file
'';
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.pythonPackages.radicale ];
jobs.radicale = {
description = "A Simple Calendar and Contact Server";
startOn = "started network-interfaces";
exec = "${pkgs.pythonPackages.radicale}/bin/radicale -C ${confFile} -d";
daemonType = "fork";
};
};
}

View file

@ -2264,6 +2264,37 @@ rec {
};
};
radicale = buildPythonPackage rec {
name = "radicale-${version}";
namePrefix = "";
version = "0.9b1";
src = fetchurl {
url = "http://pypi.python.org/packages/source/R/Radicale/Radicale-${version}.tar.gz";
sha256 = "3a8451909de849f173f577ddec0a085f19040dbb6aa13d5256208a0f8e11d88d";
};
propagatedBuildInputs = with pythonPackages; [
flup
ldap
sqlalchemy
];
doCheck = false;
meta = {
homepage = "http://www.radicale.org/";
longDescription = ''
The Radicale Project is a complete CalDAV (calendar) and CardDAV
(contact) server solution. Calendars and address books are available for
both local and remote access, possibly limited through authentication
policies. They can be viewed and edited by calendar and contact clients
on mobile phones or computers.
'';
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.edwtjo ];
};
};
raven = buildPythonPackage rec {
name = "raven-3.4.1";