Merge remote-tracking branch 'tv/master'

This commit is contained in:
makefu 2017-03-31 18:27:25 +02:00
commit c7cfb0a5ab
No known key found for this signature in database
GPG Key ID: 36F7711F3FC0F225
2 changed files with 10 additions and 29 deletions

View File

@ -1,19 +0,0 @@
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 0918e30..5b7a587 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -1,11 +1,11 @@
{ coreutils, fetchurl, db, openssl, pcre, perl, pkgconfig, stdenv }:
stdenv.mkDerivation rec {
- name = "exim-4.87";
+ name = "exim-4.88";
src = fetchurl {
- url = "http://mirror.switch.ch/ftp/mirror/exim/exim/exim4/${name}.tar.bz2";
- sha256 = "1jbxn13shq90kpn0s73qpjnx5xm8jrpwhcwwgqw5s6sdzw6iwsbl";
+ url = "ftp://ftp.exim.org/pub/exim/exim4/${name}.tar.bz2";
+ sha256 = "0bca3wb45hl7h8m8bpvsmrmqa07jhbhqyigs9pl29hhzwgbmz78i";
};
buildInputs = [ coreutils db openssl pcre perl pkgconfig ];

View File

@ -5,7 +5,7 @@ let
all any concatMapStringsSep concatStringsSep const filter flip genid all any concatMapStringsSep concatStringsSep const filter flip genid
hasSuffix head isInt isString length match mergeOneOption mkOption hasSuffix head isInt isString length match mergeOneOption mkOption
mkOptionType optional optionalAttrs optionals range splitString mkOptionType optional optionalAttrs optionals range splitString
stringLength tail typeOf; stringLength substring typeOf;
inherit (lib.types) inherit (lib.types)
attrsOf bool either enum int listOf nullOr path str string submodule; attrsOf bool either enum int listOf nullOr path str string submodule;
in in
@ -430,23 +430,23 @@ rec {
}; };
# POSIX.12013, 3.2 Absolute Pathname # POSIX.12013, 3.2 Absolute Pathname
# TODO normalize slashes
# TODO two slashes
absolute-pathname = mkOptionType { absolute-pathname = mkOptionType {
name = "POSIX absolute pathname"; name = "POSIX absolute pathname";
check = x: let xs = splitString "/" x; xa = head xs; in check = x: isString x && substring 0 1 x == "/" && pathname.check x;
isString x
&& stringLength x > 0
&& (xa == "/" || (xa == "" && all filename.check (tail xs)));
merge = mergeOneOption; merge = mergeOneOption;
}; };
# POSIX.12013, 3.267 Pathname # POSIX.12013, 3.267 Pathname
# TODO normalize slashes
pathname = mkOptionType { pathname = mkOptionType {
name = "POSIX pathname"; name = "POSIX pathname";
check = x: let xs = splitString "/" x; in check = x:
isString x && all filename.check (if head xs == "" then tail xs else xs); let
# The filter is used to normalize paths, i.e. to remove duplicated and
# trailing slashes. It also removes leading slashes, thus we have to
# check for "/" explicitly below.
xs = filter (s: stringLength s > 0) (splitString "/" x);
in
isString x && (x == "/" || (length xs > 0 && all filename.check xs));
merge = mergeOneOption; merge = mergeOneOption;
}; };