Merge remote-tracking branch 'tv/master'
This commit is contained in:
commit
c7cfb0a5ab
@ -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 ];
|
|
@ -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.1‐2013, 3.2 Absolute Pathname
|
# POSIX.1‐2013, 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.1‐2013, 3.267 Pathname
|
# POSIX.1‐2013, 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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user