diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2017-04-14 19:11:17 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2017-04-14 19:11:17 +0200 |
commit | 2090aa4f65e860567af03cb3b7aa042df7168ead (patch) | |
tree | bdf4623501830af0cbf68f2d22075f70b38157b5 | |
parent | eec35cb6bd82cb0eba69c55e83990f3b9f0107dc (diff) | |
parent | 4aec96b379d3f1b89128297b0943253d6961cf94 (diff) |
Merge: fixup a bad merge
For details see:
https://github.com/NixOS/nixpkgs/commit/24444513fb5#commitcomment-21767916
55 files changed, 2430 insertions, 1388 deletions
diff --git a/lib/default.nix b/lib/default.nix index 09a64f754d8f..632b12510e82 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,3 +1,8 @@ +/* Library of low-level helper functions for nix expressions. + * + * Please implement (mostly) exhaustive unit tests + * for new functions in `./tests.nix'. + */ let # trivial, often used functions diff --git a/lib/tests.nix b/lib/tests.nix index 1a9a5accd1c0..d93cadf25335 100644 --- a/lib/tests.nix +++ b/lib/tests.nix @@ -277,4 +277,14 @@ runTests { expected = [ "2001" "db8" "0" "0042" "" "8a2e" "370" "" ]; }; + testComposeExtensions = { + expr = let obj = makeExtensible (self: { foo = self.bar; }); + f = self: super: { bar = false; baz = true; }; + g = self: super: { bar = super.baz or false; }; + f_o_g = composeExtensions f g; + composed = obj.extend f_o_g; + in composed.foo; + expected = true; + }; + } diff --git a/lib/trivial.nix b/lib/trivial.nix index 6cdc869b300b..62906339e605 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -85,6 +85,15 @@ rec { # argument, but it's nice this way if several uses of `extends` are cascaded. extends = f: rattrs: self: let super = rattrs self; in super // f self super; + # Compose two extending functions of the type expected by 'extends' + # into one where changes made in the first are available in the + # 'super' of the second + composeExtensions = + f: g: self: super: + let fApplied = f self super; + super' = super // fApplied; + in fApplied // g self super'; + # Create an overridable, recursive attribute set. For example: # # nix-repl> obj = makeExtensible (self: { }) diff --git a/nixos/doc/manual/release-notes/rl-1709.xml b/nixos/doc/manual/release-notes/rl-1709.xml index bd999b600133..5fba4c34ec82 100644 --- a/nixos/doc/manual/release-notes/rl-1709.xml +++ b/nixos/doc/manual/release-notes/rl-1709.xml @@ -35,6 +35,8 @@ following incompatible changes:</para> <itemizedlist> <listitem> <para> + Top-level <literal>idea</literal> package collection was renamed. + All JetBrains IDEs are now at <literal>jetbrains</literal>. </para> </listitem> </itemizedlist> diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix index ada198e0e586..5301ac14805d 100644 --- a/nixos/modules/security/acme.nix +++ b/nixos/modules/security/acme.nix @@ -19,6 +19,12 @@ let ''; }; + domain = mkOption { + type = types.nullOr types.str; + default = null; + description = "Domain to fetch certificate for (defaults to the entry name)"; + }; + email = mkOption { type = types.nullOr types.str; default = null; @@ -157,9 +163,10 @@ in servicesLists = mapAttrsToList certToServices cfg.certs; certToServices = cert: data: let + domain = if data.domain != null then data.domain else cert; cpath = "${cfg.directory}/${cert}"; rights = if data.allowKeysForGroup then "750" else "700"; - cmdline = [ "-v" "-d" cert "--default_root" data.webroot "--valid_min" cfg.validMin ] + cmdline = [ "-v" "-d" domain "--default_root" data.webroot "--valid_min" cfg.validMin ] ++ optionals (data.email != null) [ "--email" data.email ] ++ concatMap (p: [ "-f" p ]) data.plugins ++ concatLists (mapAttrsToList (name: root: [ "-d" (if root == null then name else "${name}:${root}")]) data.extraDomains); diff --git a/nixos/modules/services/web-servers/lighttpd/gitweb.nix b/nixos/modules/services/web-servers/lighttpd/gitweb.nix index f12cc9734465..c8d9836b0b68 100644 --- a/nixos/modules/services/web-servers/lighttpd/gitweb.nix +++ b/nixos/modules/services/web-servers/lighttpd/gitweb.nix @@ -60,7 +60,8 @@ in "/gitweb/" => "${pkgs.git}/share/gitweb/gitweb.cgi" ) setenv.add-environment = ( - "GITWEB_CONFIG" => "${gitwebConfigFile}" + "GITWEB_CONFIG" => "${gitwebConfigFile}", + "HOME" => "${cfg.projectroot}" ) } ''; diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix index 7dbf3b25cdb0..7c01f8ea9b7f 100644 --- a/nixos/modules/system/boot/systemd-lib.nix +++ b/nixos/modules/system/boot/systemd-lib.nix @@ -10,7 +10,7 @@ rec { makeUnit = name: unit: let - pathSafeName = lib.replaceChars ["@" ":" "\\"] ["-" "-" "-"] name; + pathSafeName = lib.replaceChars ["@" ":" "\\" "[" "]"] ["-" "-" "-" "" ""] name; in if unit.enable then pkgs.runCommand "unit-${pathSafeName}" diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix index 868f9619ce2e..852967fecd5c 100644 --- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix +++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix @@ -820,10 +820,10 @@ gnorb = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: elpaBuild { pname = "gnorb"; - version = "1.2.1"; + version = "1.2.3"; src = fetchurl { - url = "https://elpa.gnu.org/packages/gnorb-1.2.1.tar"; - sha256 = "0mip0czvpdl26xz9wamii5azj9bacjhdg0jgkrxyv17vqqlbag9x"; + url = "https://elpa.gnu.org/packages/gnorb-1.2.3.tar"; + sha256 = "1bqm08i2aam4v4gfzyxfmic0rg0ka7cns38khwj42vhwgv045xc7"; }; packageRequires = [ cl-lib ]; meta = { @@ -940,10 +940,10 @@ }) {}; ivy = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild { pname = "ivy"; - version = "0.8.0"; + version = "0.9.0"; src = fetchurl { - url = "https://elpa.gnu.org/packages/ivy-0.8.0.tar"; - sha256 = "1c1impdk1p082v6nb9lms4n258z6ngz8ra90cshprs0ingrk705p"; + url = "https://elpa.gnu.org/packages/ivy-0.9.0.tar"; + sha256 = "1p5gfy16xik613ib30mv4yac004z4lpsybmraln1badyd6n3b07s"; }; packageRequires = [ emacs ]; meta = { diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix index 70ea1d58cf80..9ee0fb281e8c 100644 --- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix +++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix @@ -316,12 +316,12 @@ ac-clang = callPackage ({ auto-complete, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pos-tip, yasnippet }: melpaBuild { pname = "ac-clang"; - version = "20161202.725"; + version = "20170330.1108"; src = fetchFromGitHub { owner = "yaruopooner"; repo = "ac-clang"; - rev = "ad75d193bb8962136e1ecac04d33352dd70fb72e"; - sha256 = "0pchbhcs3bjf8r6f24lcf29in011502ncr2gi72faww6iz0pb285"; + rev = "c4aab21df64011916039e18094e189533018e115"; + sha256 = "1ac8rw0r4x1plrwy6xwswy5mj5h1r975y8wvx01g2j8an41xhlms"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/ffe0485048b85825f5e8ba95917d8c9dc64fe5de/recipes/ac-clang"; @@ -793,6 +793,27 @@ license = lib.licenses.free; }; }) {}; + ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }: + melpaBuild { + pname = "ac-rtags"; + version = "20170402.653"; + src = fetchFromGitHub { + owner = "Andersbakken"; + repo = "rtags"; + rev = "476cdf8b01ced2b49f364c8a2509acddac288cf8"; + sha256 = "189zmd61sgl0gqacfnglgzazf3gsc3yv57mdk3k7nqs9ysv2wygj"; + }; + recipeFile = fetchurl { + url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags"; + sha256 = "1w9v32di9135mm598c4506gxf0xr5jyz8dyd9dhga5d60q7g9641"; + name = "ac-rtags"; + }; + packageRequires = [ auto-complete rtags ]; + meta = { + homepage = "https://melpa.org/#/ac-rtags"; + license = lib.licenses.free; + }; + }) {}; ac-skk = callPackage ({ auto-complete, cl-lib ? null, ddskk, fetchFromGitHub, fetchurl, lib, melpaBuild, tinysegmenter }: melpaBuild { pname = "ac-skk"; @@ -1173,12 +1194,12 @@ addressbook-bookmark = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "addressbook-bookmark"; - version = "20161130.150"; + version = "20170331.1209"; src = fetchFromGitHub { owner = "thierryvolpiatto"; repo = "addressbook-bookmark"; - rev = "ad3c73369b804a48803fdfdf2ab613e6220260de"; - sha256 = "012kfqkmpagn8jrp09acpx631qmjim7b33j0pahv1fcqhin89pn6"; + rev = "54c4e57b000d54cedb3d791d054d293c8f45f2fe"; + sha256 = "17g4j5yc7phnn95cya8sw13jm1219j1yrjzdcvadi5xdwlb9gxgz"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/a497aec6e27efa627068542cae5a16c01c3c6d3c/recipes/addressbook-bookmark"; @@ -1420,22 +1441,22 @@ license = lib.licenses.free; }; }) {}; - alchemist = callPackage ({ company, dash, elixir-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }: + alchemist = callPackage ({ company, dash, elixir-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, s }: melpaBuild { pname = "alchemist"; - version = "20170118.142"; + version = "20170402.2339"; src = fetchFromGitHub { owner = "tonini"; repo = "alchemist.el"; - rev = "20a0c043b5df66ee1f731e1ffe53d5697915b626"; - sha256 = "1szmjcim9mmzm45f7pb39gr0kf3y7x0kdhgvvbl9fbdzrphn02mx"; + rev = "46d09a6abaa8adf5e06184b77d04638ff3aa9087"; + sha256 = "1wvbn4capcf049y33633b4v8k1aqwi94lscif810f7p3m0xdai30"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6616dc61d17c5bd89bc4d226baab24a1f8e49b3e/recipes/alchemist"; sha256 = "18jxw0zb7y34qbm4bcpfpb2656f0h9grmrbfskgp4ra4q5q3n369"; name = "alchemist"; }; - packageRequires = [ company dash elixir-mode emacs pkg-info ]; + packageRequires = [ company dash elixir-mode emacs pkg-info s ]; meta = { homepage = "https://melpa.org/#/alchemist"; license = lib.licenses.free; @@ -1448,8 +1469,8 @@ src = fetchFromGitHub { owner = "jgkamat"; repo = "alda-mode"; - rev = "deeb659b1b1c6ec57a38875e9daf1f76f9b5c013"; - sha256 = "1z462b2cvfqz1pdrba89ag4v9mvw1dzsrzc219fz06f2xcpyz2v2"; + rev = "921b1d39ee1122c0f6935598dc17aaa904e74819"; + sha256 = "01zz3h6q3djqmb3l6s9jld8x1zx2m0x1qskxzywnyfh8hcvbqy6f"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/2612c494a2b6bd43ffbbaef88ce9ee6327779158/recipes/alda-mode"; @@ -1546,22 +1567,22 @@ license = lib.licenses.free; }; }) {}; - all-the-icons = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }: + all-the-icons = callPackage ({ emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }: melpaBuild { pname = "all-the-icons"; - version = "20170328.2313"; + version = "20170410.114"; src = fetchFromGitHub { owner = "domtronn"; repo = "all-the-icons.el"; - rev = "e7c8f824d542fd946dfe695ef370dd57a218d03c"; - sha256 = "0y5mf6iwyqsfl6xa00pkv23d52dadk1zgcmkx91i0ls3jb1cvarg"; + rev = "16a0bc57107562e69cb97701d9275b446b411a8c"; + sha256 = "0i2hrfjgxpg9n7k2n4gsl1wp93g0cv1wrcwwaw3fz0vf250f5avf"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons"; sha256 = "00ba4gkfvg38l4s0gsb4asvv1hfw9yjl2786imybzy7bkg9f9x3q"; name = "all-the-icons"; }; - packageRequires = [ dash emacs font-lock-plus ]; + packageRequires = [ emacs font-lock-plus ]; meta = { homepage = "https://melpa.org/#/all-the-icons"; license = lib.licenses.free; @@ -1684,12 +1705,12 @@ anaconda-mode = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }: melpaBuild { pname = "anaconda-mode"; - version = "20170329.836"; + version = "20170405.301"; src = fetchFromGitHub { owner = "proofit404"; repo = "anaconda-mode"; - rev = "14061ecfbde5f58a0f807eafc7c1871ff178cea0"; - sha256 = "05lq97xfdmw34yh1jy4b7ypks5nf3jjcrx12lk0jxhhgcr7j2lv3"; + rev = "6141aba393e992308d01b550f0b96add62440b04"; + sha256 = "1gkkjnmczpvaw020vw1gbda3dv0h1g7fzdqs3rigwlzzajc96bj4"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/e03b698fd3fe5b80bdd24ce01f7fba28e9da0da8/recipes/anaconda-mode"; @@ -2273,8 +2294,8 @@ src = fetchFromGitHub { owner = "masasam"; repo = "emacs-anything-tramp"; - rev = "4e5f2ceb4624a633b809cb7ac671425fa061586b"; - sha256 = "1jzyxxk8c9dfr5d3i89cq7apjlrwc3278nn1fr7hlcg05nv2lfwl"; + rev = "dc5e218372293ade9bf42bd6782da6b127629d67"; + sha256 = "0jyh4gi8dz5ifpl1p338rarf9h53z97xfck516fcjdbkm91rwamg"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/bf5be5351cb187dff8388865ac424f8e5be71639/recipes/anything-tramp"; @@ -2347,16 +2368,19 @@ license = lib.licenses.free; }; }) {}; - apache-mode = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild { + apache-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: + melpaBuild { pname = "apache-mode"; - version = "20150828.714"; - src = fetchurl { - url = "https://www.emacswiki.org/emacs/download/apache-mode.el"; - sha256 = "1jndhcjvj6s1clmyyphl5ss5267c7b5a58fz8gbp1ffk1d9ylfik"; + version = "20170407.1140"; + src = fetchFromGitHub { + owner = "zonuexe"; + repo = "apache-mode"; + rev = "8fd0d4db7ede5d4e360630235ede3beb1ba56cdf"; + sha256 = "0lawq0xx0y2kn89r633lb8kr4zkrbcm53dv8dylmv7lli9a7g1y9"; }; recipeFile = fetchurl { - url = "https://raw.githubusercontent.com/milkypostman/melpa/a6da3640b72496e2b32e6ed21aa39df87af9f7f3/recipes/apache-mode"; - sha256 = "1a1pj3bk0gplfx217yd6qdn7qrhfbkx2bhkk33k0gq5sia6rzs44"; + url = "https://raw.githubusercontent.com/milkypostman/melpa/b5216c40e60c5a69a6235c15b432b5e9bdda6fd3/recipes/apache-mode"; + sha256 = "0f8r3xnnidcm9ahj8c3s1vxk6yqk3ra34nrc19r76xyprbb2sjsm"; name = "apache-mode"; }; packageRequires = []; @@ -2756,22 +2780,22 @@ license = lib.licenses.free; }; }) {}; - assess = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, m-buffer, melpaBuild }: + assess = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, m-buffer, melpaBuild }: melpaBuild { pname = "assess"; - version = "20161203.327"; + version = "20170408.1451"; src = fetchFromGitHub { owner = "phillord"; repo = "assess"; - rev = "47ce039423f660174d097698615aaad6c77e87fb"; - sha256 = "16b0fdz1nj25bkzb3hyarwa2zgk23dn9598a4ljbr9smdl2pdv6b"; + rev = "0a3e94477a08c3cda7c1dd4ea05ef87208901ac0"; + sha256 = "03fpfyamcfhc1amfnmq5r2qrzc9iws3mzwihr4nc0k5xjp7z0rhb"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/6f917a34506193f2674b195569dfd3c13ba62c1d/recipes/assess"; sha256 = "0xj3f48plwxmibax00qn15ya7s0h560xzwr8nkwl5r151v1mc9rr"; name = "assess"; }; - packageRequires = [ dash emacs m-buffer ]; + packageRequires = [ emacs m-buffer ]; meta = { homepage = "https://melpa.org/#/assess"; license = lib.licenses.free; @@ -2910,8 +2934,8 @@ src = fetchFromGitHub { owner = "tom-tan"; repo = "auctex-latexmk"; - rev = "b7053f71f578ffb0d247f8a9e8d5152efd86e096"; - sha256 = "0slihygr74vyijnyzssckapscxmdd7zlgrs0wvmpw9hnjzwwzzql"; + rev = "0315925ac9a892e73859cf4b720f36f2727f47f1"; + sha256 = "0cdc2wkyqs4c6iypkynm0s540isp7yyyavp80rg5x3cid3hsbinm"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/3f48af615c56f093dff417a5d3b705f9993c518f/recipes/auctex-latexmk"; @@ -3906,12 +3930,12 @@ avy = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: melpaBuild { pname = "avy"; - version = "20170326.1157"; + version = "20170407.111"; src = fetchFromGitHub { owner = "abo-abo"; repo = "avy"; - rev = "0c30cdba9e601c9e719b8b00101d2af9f93d2042"; - sha256 = "18sklj4hc8qybcrqymm6144dz6y8hf34s6szxis3flnnhx1x6a06"; + rev = "105efc84827cb764cac1e1e3a793abf106837021"; + sha256 = "1kb5l50m8hqmdc5yjw43l53nimsbc3g9jnlkkrdywqm0kbzc5znp"; }; recipeFile = fetchurl { url = "https://raw.githubusercontent.com/milkypostman/melpa/77fac7a702d4086fb860514e377037acedc60412/recipes/avy"; @@ -3969,12 +3993,12 @@ avy-migemo = callPackage ({ avy, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, migemo }: melpaBuild { pname = "avy-migemo"; - version = "20161229.605"; + version = "20170404.904"; src = fetchFromGitHub { owner = "momomo5717"; repo = "avy-migemo"; - rev = "26e87aa7905a252b797e0bf592c9ff9eede165c1"; - sha256 = "1bfrc7wxnzhjn07psa5z1cflxxr1k8qc4jgsz5w7ds3sn48aji48"; + rev = "6dd5dde4d4bc0bc7758977b64e1ad1173f5f1602"; + sha256 = "0lscjwbksdqkjzfzvdz0llpxbmwk94byyxz0fljcncxzdzwvsz6v"; |