diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2013-08-02 18:28:29 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2013-08-02 18:30:53 +0200 |
commit | 625f40151b0767cb421999cf988f4eb7bcf8b63d (patch) | |
tree | 629565f6f9efb26ad36b2a6d8e7e266290feb94b /pkgs/servers/mail | |
parent | d239d24a89276cc7ee4bab1343c7e5bb40cbdfd4 (diff) | |
parent | 4fb87e91ffcbf6f6785e32b7e608198401a7155d (diff) | |
download | nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.gz nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.bz2 nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.lz nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.xz nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.tar.zst nixlib-625f40151b0767cb421999cf988f4eb7bcf8b63d.zip |
Merge branch 'master' into x-updates
Conflicts (a little tricky, I did some cleanup of interacting changes): pkgs/development/compilers/llvm/default.nix pkgs/development/libraries/libpng/default.nix pkgs/tools/package-management/nixops/default.nix pkgs/top-level/all-packages.nix
Diffstat (limited to 'pkgs/servers/mail')
-rw-r--r-- | pkgs/servers/mail/dovecot-pigeonhole/default.nix | 35 | ||||
-rw-r--r-- | pkgs/servers/mail/dovecot/2.2.x-module_dir.patch | 114 | ||||
-rw-r--r-- | pkgs/servers/mail/dovecot/2.2.x.nix | 41 | ||||
-rw-r--r-- | pkgs/servers/mail/opensmtpd/default.nix | 33 |
4 files changed, 223 insertions, 0 deletions
diff --git a/pkgs/servers/mail/dovecot-pigeonhole/default.nix b/pkgs/servers/mail/dovecot-pigeonhole/default.nix new file mode 100644 index 000000000000..844219925b17 --- /dev/null +++ b/pkgs/servers/mail/dovecot-pigeonhole/default.nix @@ -0,0 +1,35 @@ +{stdenv, fetchurl, dovecot22, openssl}: + +stdenv.mkDerivation rec { + name = "dovecot-pigeonhole-${version}"; + version = "0.4.1"; + + src = fetchurl { + url = "http://www.rename-it.nl/dovecot/2.2/dovecot-2.2-pigeonhole-${version}.tar.gz"; + sha256 = "0vk9khwijl8qbjlm1q36a5dvpilrminp756n87c452kc3cfgc71n"; + }; + + buildInputs = [ dovecot22 openssl ]; + + preConfigure = '' + substituteInPlace src/managesieve/managesieve-settings.c --replace \ + ".executable = \"managesieve\"" \ + ".executable = \"$out/libexec/dovecot/managesieve\"" + substituteInPlace src/managesieve-login/managesieve-login-settings.c --replace \ + ".executable = \"managesieve-login\"" \ + ".executable = \"$out/libexec/dovecot/managesieve-login\"" + ''; + + configureFlags = [ + "--with-dovecot=${dovecot22}/lib/dovecot" + "--without-dovecot-install-dirs" + "--with-moduledir=$(out)/lib/dovecot" + ]; + + meta = with stdenv.lib; { + homepage = http://pigeonhole.dovecot.org/; + description = "A sieve plugin for the Dovecot IMAP server."; + license = licenses.lgpl21; + maintainers = [ maintainers.rickynils ]; + }; +} diff --git a/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch new file mode 100644 index 000000000000..cce63fe250c6 --- /dev/null +++ b/pkgs/servers/mail/dovecot/2.2.x-module_dir.patch @@ -0,0 +1,114 @@ +diff -ur dovecot-2.2.2-orig/src/auth/main.c dovecot-2.2.2/src/auth/main.c +--- dovecot-2.2.2-orig/src/auth/main.c 2013-03-13 15:26:46.000000000 +0100 ++++ dovecot-2.2.2/src/auth/main.c 2013-05-20 20:23:58.126024535 +0200 +@@ -193,7 +193,7 @@ + mod_set.debug = global_auth_settings->debug; + mod_set.filter_callback = auth_module_filter; + +- modules = module_dir_load(AUTH_MODULE_DIR, NULL, &mod_set); ++ modules = module_dir_load("/var/lib/dovecot/modules/auth", NULL, &mod_set); + module_dir_init(modules); + + if (!worker) +@@ -223,7 +223,7 @@ + mod_set.debug = global_auth_settings->debug; + mod_set.ignore_missing = TRUE; + +- modules = module_dir_load_missing(modules, AUTH_MODULE_DIR, names, ++ modules = module_dir_load_missing(modules, "/var/lib/dovecot/modules/auth", names, + &mod_set); + module_dir_init(modules); + } +diff -ur dovecot-2.2.2-orig/src/config/all-settings.c dovecot-2.2.2/src/config/all-settings.c +--- dovecot-2.2.2-orig/src/config/all-settings.c 2013-05-15 12:20:55.000000000 +0200 ++++ dovecot-2.2.2/src/config/all-settings.c 2013-05-21 00:31:46.624073562 +0200 +@@ -766,7 +766,7 @@ + .last_valid_gid = 0, + + .mail_plugins = "", +- .mail_plugin_dir = MODULEDIR, ++ .mail_plugin_dir = "/var/lib/dovecot/modules", + + .mail_log_prefix = "%s(%u): ", + +@@ -3274,7 +3274,7 @@ + .base_dir = PKG_RUNDIR, + .libexec_dir = PKG_LIBEXECDIR, + .mail_plugins = "", +- .mail_plugin_dir = MODULEDIR, ++ .mail_plugin_dir = "/var/lib/dovecot/modules", + .doveadm_socket_path = "doveadm-server", + .doveadm_worker_count = 0, + .doveadm_port = 0, +diff -ur dovecot-2.2.2-orig/src/config/config-parser.c dovecot-2.2.2/src/config/config-parser.c +--- dovecot-2.2.2-orig/src/config/config-parser.c 2013-02-04 22:05:42.000000000 +0100 ++++ dovecot-2.2.2/src/config/config-parser.c 2013-05-20 20:23:58.106024534 +0200 +@@ -990,7 +990,7 @@ + + memset(&mod_set, 0, sizeof(mod_set)); + mod_set.abi_version = DOVECOT_ABI_VERSION; +- modules = module_dir_load(CONFIG_MODULE_DIR, NULL, &mod_set); ++ modules = module_dir_load("/var/lib/dovecot/modules/settings", NULL, &mod_set); + module_dir_init(modules); + + i_array_init(&new_roots, 64); +diff -ur dovecot-2.2.2-orig/src/dict/main.c dovecot-2.2.2/src/dict/main.c +--- dovecot-2.2.2-orig/src/dict/main.c 2013-02-04 22:05:42.000000000 +0100 ++++ dovecot-2.2.2/src/dict/main.c 2013-05-20 20:23:58.101024534 +0200 +@@ -61,7 +61,7 @@ + mod_set.abi_version = DOVECOT_ABI_VERSION; + mod_set.require_init_funcs = TRUE; + +- modules = module_dir_load(DICT_MODULE_DIR, NULL, &mod_set); ++ modules = module_dir_load("/var/lib/dovecot/modules/dict", NULL, &mod_set); + module_dir_init(modules); + + /* Register only after loading modules. They may contain SQL drivers, +diff -ur dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c dovecot-2.2.2/src/doveadm/doveadm-settings.c +--- dovecot-2.2.2-orig/src/doveadm/doveadm-settings.c 2013-04-07 19:13:06.000000000 +0200 ++++ dovecot-2.2.2/src/doveadm/doveadm-settings.c 2013-05-20 20:23:58.399024539 +0200 +@@ -76,7 +76,7 @@ + .base_dir = PKG_RUNDIR, + .libexec_dir = PKG_LIBEXECDIR, + .mail_plugins = "", +- .mail_plugin_dir = MODULEDIR, ++ .mail_plugin_dir = "/var/lib/dovecot/modules", + .doveadm_socket_path = "doveadm-server", + .doveadm_worker_count = 0, + .doveadm_port = 0, +diff -ur dovecot-2.2.2-orig/src/lib-fs/fs-api.c dovecot-2.2.2/src/lib-fs/fs-api.c +--- dovecot-2.2.2-orig/src/lib-fs/fs-api.c 2013-04-18 16:07:26.000000000 +0200 ++++ dovecot-2.2.2/src/lib-fs/fs-api.c 2013-05-20 20:23:58.099024534 +0200 +@@ -82,7 +82,7 @@ + mod_set.abi_version = DOVECOT_ABI_VERSION; + mod_set.ignore_missing = TRUE; + +- fs_modules = module_dir_load_missing(fs_modules, MODULE_DIR, ++ fs_modules = module_dir_load_missing(fs_modules, "/var/lib/dovecot/modules", + module_name, &mod_set); + module_dir_init(fs_modules); + +diff -ur dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c +--- dovecot-2.2.2-orig/src/lib-ssl-iostream/iostream-ssl.c 2013-04-09 22:45:19.000000000 +0200 ++++ dovecot-2.2.2/src/lib-ssl-iostream/iostream-ssl.c 2013-05-20 20:23:58.089024534 +0200 +@@ -28,7 +28,7 @@ + memset(&mod_set, 0, sizeof(mod_set)); + mod_set.abi_version = DOVECOT_ABI_VERSION; + mod_set.setting_name = "<built-in lib-ssl-iostream lookup>"; +- ssl_module = module_dir_load(MODULE_DIR, plugin_name, &mod_set); ++ ssl_module = module_dir_load("/var/lib/dovecot/modules", plugin_name, &mod_set); + + ssl_vfuncs = module_get_symbol(ssl_module, "ssl_vfuncs"); + if (ssl_vfuncs == NULL) { +diff -ur dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c dovecot-2.2.2/src/lib-storage/mail-storage-settings.c +--- dovecot-2.2.2-orig/src/lib-storage/mail-storage-settings.c 2013-05-15 12:20:00.000000000 +0200 ++++ dovecot-2.2.2/src/lib-storage/mail-storage-settings.c 2013-05-20 20:23:57.858024531 +0200 +@@ -260,7 +260,7 @@ + .last_valid_gid = 0, + + .mail_plugins = "", +- .mail_plugin_dir = MODULEDIR, ++ .mail_plugin_dir = "/var/lib/dovecot/modules", + + .mail_log_prefix = "%s(%u): ", + diff --git a/pkgs/servers/mail/dovecot/2.2.x.nix b/pkgs/servers/mail/dovecot/2.2.x.nix new file mode 100644 index 000000000000..15c3b65b7543 --- /dev/null +++ b/pkgs/servers/mail/dovecot/2.2.x.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, perl, systemd, openssl, pam, bzip2, zlib, openldap +, inotifyTools }: + +stdenv.mkDerivation rec { + name = "dovecot-2.2.4"; + + buildInputs = [perl systemd openssl pam bzip2 zlib openldap inotifyTools]; + + src = fetchurl { + url = "http://dovecot.org/releases/2.2/${name}.tar.gz"; + sha256 = "1i5x7l03q854h4j210cpzair4vak95saccp9gb5p4xx7ndggm3q1"; + }; + + preConfigure = '' + substituteInPlace src/config/settings-get.pl --replace \ + "/usr/bin/env perl" "${perl}/bin/perl" + ''; + + patches = [ + # Make dovecot look for plugins in /var/lib/dovecot/modules + # so we can symlink plugins from several packages there + # The symlinking needs to be done in NixOS, as part of the + # dovecot service start-up + ./2.2.x-module_dir.patch + ]; + + configureFlags = [ + # It will hardcode this for /var/lib/dovecot. + # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626211 + "--localstatedir=/var" + "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--with-ldap" + ]; + + meta = { + homepage = "http://dovecot.org/"; + description = "Open source IMAP and POP3 email server written with security primarily in mind"; + maintainers = with stdenv.lib.maintainers; [viric simons rickynils]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix new file mode 100644 index 000000000000..fc518e4f889d --- /dev/null +++ b/pkgs/servers/mail/opensmtpd/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, libevent, zlib, openssl, db4, bison, pam }: + +stdenv.mkDerivation rec { + name = "opensmtpd-${version}"; + version = "201307151923p1"; + + buildInputs = [ libevent zlib openssl db4 bison pam ]; + + src = fetchurl { + url = "http://www.opensmtpd.org/archives/${name}.tar.gz"; + sha256 = "0cggq60zzz5mgj093pmgwjp4bm6znnhyv6ibp1vhkba7cxjavr4g"; + }; + + configureFlags = [ + "--with-mantype=doc" + "--with-pam" + "--without-bsd-auth" + "--with-sock-dir=/run" + "--with-privsep-user=smtpd" + "--with-queue-user=smtpq" + ]; + + meta = { + homepage = "http://www.postfix.org/"; + description = '' + A free implementation of the server-side SMTP protocol as defined by + RFC 5321, with some additional standard extensions. + ''; + license = stdenv.lib.licenses.isc; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.rickynils ]; + }; +} |