From fa0fe1d8c93463b29649eed0957994e01c33d502 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 2 Dec 2019 16:43:40 +0000 Subject: [PATCH 01/90] minijail: install .pc files and scoped_minijail.h This matches the behaviour of the Chromium OS ebuild for this package: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/cd6d6815b1604105cb6b8c40b2e0c3f15f401e3b/chromeos-base/minijail/minijail-10-r38.ebuild#47 --- pkgs/tools/system/minijail/default.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix index 74f0a84716a..abf065eb531 100644 --- a/pkgs/tools/system/minijail/default.nix +++ b/pkgs/tools/system/minijail/default.nix @@ -20,13 +20,20 @@ stdenv.mkDerivation rec { sed -i '/#include / d' signal_handler.c ''; + postPatch = '' + patchShebangs platform2_preinstall.sh + ''; + + postBuild = '' + ./platform2_preinstall.sh ${version} $out/include/chromeos + ''; + installPhase = '' - mkdir -p $out/lib + mkdir -p $out/lib/pkgconfig $out/include/chromeos $out/bin cp -v *.so $out/lib - mkdir -p $out/include - cp -v libminijail.h $out/include - mkdir -p $out/bin - cp minijail0 $out/bin + cp -v *.pc $out/lib/pkgconfig + cp -v libminijail.h scoped_minijail.h $out/include/chromeos + cp -v minijail0 $out/bin ''; meta = { From bb7cb579c7cfb160c42d491484f6f223c53e4728 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Wed, 11 Dec 2019 17:26:26 +0100 Subject: [PATCH 02/90] wt3: 3.4.2 -> 3.5.0 --- pkgs/development/libraries/wt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix index 74792f8f34c..fe611be0449 100644 --- a/pkgs/development/libraries/wt/default.nix +++ b/pkgs/development/libraries/wt/default.nix @@ -49,8 +49,8 @@ let }; in { wt3 = generic { - version = "3.4.2"; - sha256 = "03mwr4yv3705y74pdh19lmh8szad6gk2x2m23f4pr0wrmqg73307"; + version = "3.5.0"; + sha256 = "1xcwzldbval5zrf7f3n2gkpscagg51cw2jp6p3q1yh6bi59haida"; }; wt4 = generic { From d2dad1b10898e907dfdf58ddbb8baeecbd886d56 Mon Sep 17 00:00:00 2001 From: WilliButz Date: Wed, 11 Dec 2019 17:26:56 +0100 Subject: [PATCH 03/90] wt4: 4.1.2 -> 4.2.0 --- pkgs/development/libraries/wt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix index fe611be0449..7c819487a33 100644 --- a/pkgs/development/libraries/wt/default.nix +++ b/pkgs/development/libraries/wt/default.nix @@ -54,7 +54,7 @@ in { }; wt4 = generic { - version = "4.1.2"; - sha256 = "06bnadpgflg8inikzynnz4l4r6w1bphjwlva4pzf51w648vpkknl"; + version = "4.2.0"; + sha256 = "0zrrdjz0sa8hrmybjp4aap1lcqcqvsicd7dj49zj1m5k8gnfpm4v"; }; } From 1e89cf04c6aa9a3abd70f77631ac020a1ce6546e Mon Sep 17 00:00:00 2001 From: Giacomo Longo Date: Fri, 13 Dec 2019 22:37:30 +0100 Subject: [PATCH 04/90] kubernetes-helm: Add shell completion --- pkgs/applications/networking/cluster/helm/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix index afb1e3857c8..45b6e9dcf33 100644 --- a/pkgs/applications/networking/cluster/helm/default.nix +++ b/pkgs/applications/networking/cluster/helm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, buildGoModule, fetchFromGitHub }: +{ stdenv, buildGoModule, fetchFromGitHub, installShellFiles }: buildGoModule rec { pname = "helm"; @@ -16,6 +16,13 @@ buildGoModule rec { subPackages = [ "cmd/helm" ]; buildFlagsArray = [ "-ldflags=-w -s -X helm.sh/helm/v3/internal/version.gitCommit=v${version}" ]; + nativeBuildInputs = [ installShellFiles ]; + postInstall = '' + $out/bin/helm completion bash > helm.bash + $out/bin/helm completion zsh > helm.zsh + installShellCompletion helm.{bash,zsh} + ''; + meta = with stdenv.lib; { homepage = https://github.com/kubernetes/helm; description = "A package manager for kubernetes"; From d362df6682d3506e17c069f95cb39b10e516d123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Sat, 12 Jan 2019 08:00:31 +0100 Subject: [PATCH 05/90] nixos/display-manager: extraSessionFilePackages -> sessionPackages --- nixos/modules/programs/sway.nix | 2 +- nixos/modules/services/x11/desktop-managers/default.nix | 2 +- nixos/modules/services/x11/desktop-managers/gnome3.nix | 4 ++-- nixos/modules/services/x11/desktop-managers/pantheon.nix | 2 +- .../services/x11/desktop-managers/surf-display.nix | 2 +- nixos/modules/services/x11/display-managers/default.nix | 9 +++++---- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix index 9a15c773463..f5c66cbd663 100644 --- a/nixos/modules/programs/sway.nix +++ b/nixos/modules/programs/sway.nix @@ -88,7 +88,7 @@ in { fonts.enableDefaultFonts = mkDefault true; programs.dconf.enable = mkDefault true; # To make a Sway session available if a display manager like SDDM is enabled: - services.xserver.displayManager.extraSessionFilePackages = [ swayJoined ]; + services.xserver.displayManager.sessionPackages = [ swayJoined ]; }; meta.maintainers = with lib.maintainers; [ gnidorah primeos colemickens ]; diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 671a959cdde..ed2b09cb21c 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -101,7 +101,7 @@ in These are the known valid session names: ${concatMapStringsSep "\n " (w: "services.xserver.desktopManager.default = \"${w.name}\";") cfg.session.list} It's also possible the default can be found in one of these packages: - ${concatMapStringsSep "\n " (p: p.name) config.services.xserver.displayManager.extraSessionFilePackages} + ${concatMapStringsSep "\n " (p: p.name) config.services.xserver.displayManager.sessionPackages} '' defaultDM; }; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 6725595e1cf..6d9bd284bc7 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -144,7 +144,7 @@ in services.gnome3.core-shell.enable = true; services.gnome3.core-utilities.enable = mkDefault true; - services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ]; + services.xserver.displayManager.sessionPackages = [ pkgs.gnome3.gnome-session ]; environment.extraInit = '' ${concatMapStrings (p: '' @@ -171,7 +171,7 @@ in }) (mkIf flashbackEnabled { - services.xserver.displayManager.extraSessionFilePackages = map + services.xserver.displayManager.sessionPackages = map (wm: pkgs.gnome3.gnome-flashback.mkSessionForWm { inherit (wm) wmName wmLabel wmCommand; }) (optional cfg.flashback.enableMetacity { diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 99db5b17b64..614f4638cf5 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -69,7 +69,7 @@ in config = mkIf cfg.enable { - services.xserver.displayManager.extraSessionFilePackages = [ pkgs.pantheon.elementary-session-settings ]; + services.xserver.displayManager.sessionPackages = [ pkgs.pantheon.elementary-session-settings ]; # Ensure lightdm is used when Pantheon is enabled # Without it screen locking will be nonfunctional because of the use of lightlocker diff --git a/nixos/modules/services/x11/desktop-managers/surf-display.nix b/nixos/modules/services/x11/desktop-managers/surf-display.nix index 140dde828da..9aeb0bbd2a8 100644 --- a/nixos/modules/services/x11/desktop-managers/surf-display.nix +++ b/nixos/modules/services/x11/desktop-managers/surf-display.nix @@ -118,7 +118,7 @@ in { }; config = mkIf cfg.enable { - services.xserver.displayManager.extraSessionFilePackages = [ + services.xserver.displayManager.sessionPackages = [ pkgs.surf-display ]; diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index c252c3c90c9..4a75787f715 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -194,14 +194,15 @@ let if test -d ${pkg}/share/xsessions; then ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions fi - '') cfg.displayManager.extraSessionFilePackages} + '') cfg.displayManager.sessionPackages} + ${concatMapStrings (pkg: '' if test -d ${pkg}/share/wayland-sessions; then mkdir -p "$out/share/wayland-sessions" ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions fi - '') cfg.displayManager.extraSessionFilePackages} + '') cfg.displayManager.sessionPackages} ''; in @@ -261,11 +262,11 @@ in ''; }; - extraSessionFilePackages = mkOption { + sessionPackages = mkOption { type = types.listOf types.package; default = []; description = '' - A list of packages containing xsession files to be passed to the display manager. + A list of packages containing x11 or wayland session files to be passed to the display manager. ''; }; From dd7144b8601958562d78f795abcab4668404d15d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Sat, 12 Jan 2019 08:33:05 +0100 Subject: [PATCH 06/90] nixos/sessionPackages: provide session names in passthru We want access to the valid session names at evaluation time. --- nixos/modules/programs/sway.nix | 1 + .../services/x11/display-managers/default.nix | 15 ++++++++++++++- .../gnome-3/core/gnome-session/default.nix | 1 + .../gnome-3/misc/gnome-flashback/default.nix | 2 ++ .../elementary-session-settings/default.nix | 1 + pkgs/desktops/surf-display/default.nix | 4 ++++ 6 files changed, 23 insertions(+), 1 deletion(-) diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix index f5c66cbd663..d685a525932 100644 --- a/nixos/modules/programs/sway.nix +++ b/nixos/modules/programs/sway.nix @@ -24,6 +24,7 @@ let swayJoined = pkgs.symlinkJoin { name = "sway-joined"; paths = [ swayWrapped swayPackage ]; + passthru.providedSessions = [ "sway" ]; }; in { options.programs.sway = { diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 4a75787f715..4dc06b30c7a 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -263,7 +263,20 @@ in }; sessionPackages = mkOption { - type = types.listOf types.package; + type = with types; listOf (package // { + description = "package with provided sessions"; + check = p: assertMsg + (package.check p && p ? providedSessions + && p.providedSessions != [] && all isString p.providedSessions) + '' + Package, '${p.name}', did not specify any session names, as strings, in + 'passthru.providedSessions'. This is required when used as a session package. + + The session names can be looked up in: + ${p}/share/xsessions + ${p}/share/wayland-sessions + ''; + }); default = []; description = '' A list of packages containing x11 or wayland session files to be passed to the display manager. diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix index 8aaf68ea1e3..d63435ce2e9 100644 --- a/pkgs/desktops/gnome-3/core/gnome-session/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix @@ -55,6 +55,7 @@ stdenv.mkDerivation rec { packageName = "gnome-session"; attrPath = "gnome3.gnome-session"; }; + providedSessions = [ "gnome" "gnome-xorg" ]; }; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix index 808d36dab95..c1791ee5bbd 100644 --- a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix +++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix @@ -141,6 +141,8 @@ let Type=Application DesktopNames=GNOME-Flashback;GNOME; ''; + } // { + providedSessions = [ "gnome-flashback-${wmName}" ]; }; mkSystemdTargetForWm = { wmName }: diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index ab7333212a0..07c9e724fc6 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -131,6 +131,7 @@ stdenv.mkDerivation rec { inherit repoName; attrPath = pname; }; + providedSessions = [ "pantheon" ]; }; meta = with stdenv.lib; { diff --git a/pkgs/desktops/surf-display/default.nix b/pkgs/desktops/surf-display/default.nix index 47b7e117206..dd064486647 100644 --- a/pkgs/desktops/surf-display/default.nix +++ b/pkgs/desktops/surf-display/default.nix @@ -43,6 +43,10 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=${placeholder "out"}" ]; + passthru = { + providedSessions = [ "surf-display" ]; + }; + meta = with stdenv.lib; { description = "Kiosk browser session manager based on the surf browser"; homepage = "https://code.it-zukunft-schule.de/cgit/surf-display/"; From 58e5290fcee60178973f4cc21011fbbf03497410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Sat, 12 Jan 2019 08:43:24 +0100 Subject: [PATCH 07/90] nixos/displayManager: check for provided sessions in mkDesktops --- .../services/x11/display-managers/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 4dc06b30c7a..f55bfbfd0c1 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -191,13 +191,18 @@ let '') names} ${concatMapStrings (pkg: '' + for n in ${concatStringsSep " " pkg.providedSessions}; do + if ! test -f ${pkg}/share/wayland-sessions/$n.desktop -o \ + -f ${pkg}/share/xsessions/$n.desktop; then + echo "Couldn't find provided session name, $n.desktop, in session package ${pkg.name}:" + echo " ${pkg}" + return 1 + fi + done + if test -d ${pkg}/share/xsessions; then ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions fi - '') cfg.displayManager.sessionPackages} - - - ${concatMapStrings (pkg: '' if test -d ${pkg}/share/wayland-sessions; then mkdir -p "$out/share/wayland-sessions" ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions From d25365c3c13f2fcc4e5574f01106c061c493e63e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Sat, 12 Jan 2019 10:31:37 +0100 Subject: [PATCH 08/90] nixos/displayManager: introduce defaultSession There's two ways of providing graphical sessions now: - `displayManager.session` via. `desktopManager.session` and `windowManager.session` - `displayManager.sessionPackages` `sessionPackages` doesn't make a distinction between desktop and window managers. This makes selecting a session provided by a package using `desktopManager.default` nonsensical. We therefor introduce `displayManager.defaultSession` which can select a session from either `displayManager.session` or `displayManager.sessionPackages`. It will default to `desktopManager.default + windowManager.default` as before. If the dm default is "none" it will select the first provided session from `sessionPackages`. --- .../services/x11/desktop-managers/default.nix | 12 +++---- .../x11/desktop-managers/pantheon.nix | 4 +-- .../services/x11/display-managers/default.nix | 31 +++++++++++++++++++ .../services/x11/display-managers/lightdm.nix | 8 ++--- .../services/x11/display-managers/sddm.nix | 8 ++--- nixos/tests/gnome3-xorg.nix | 2 +- 6 files changed, 44 insertions(+), 21 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index ed2b09cb21c..7240358c361 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -96,13 +96,13 @@ in else if any (w: w.name == defaultDM) cfg.session.list then defaultDM else - builtins.trace '' - Default desktop manager (${defaultDM}) not found at evaluation time. - These are the known valid session names: + throw '' + Default desktop manager (${defaultDM}) not found. + Probably you want to change + services.xserver.desktopManager.default = "${defaultDM}"; + to one of ${concatMapStringsSep "\n " (w: "services.xserver.desktopManager.default = \"${w.name}\";") cfg.session.list} - It's also possible the default can be found in one of these packages: - ${concatMapStringsSep "\n " (p: p.name) config.services.xserver.displayManager.sessionPackages} - '' defaultDM; + ''; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 614f4638cf5..3722bf365ba 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -81,9 +81,7 @@ in services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true; - # If not set manually Pantheon session cannot be started - # Known issue of https://github.com/NixOS/nixpkgs/pull/43992 - services.xserver.desktopManager.default = mkForce "pantheon"; + services.xserver.displayManager.defaultSession = "pantheon"; services.xserver.displayManager.sessionCommands = '' if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index f55bfbfd0c1..1a46e7c02e5 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -327,6 +327,37 @@ in }; }; + defaultSession = mkOption { + type = with types; str // { + description = "session name"; + check = d: let + sessionNames = cfg.displayManager.session.names ++ + (concatMap (p: p.providedSessions) cfg.displayManager.sessionPackages); + in + assertMsg (str.check d && (d == "none" || (elem d sessionNames))) '' + Default graphical session, '${d}', not found. + Valid names for 'services.xserver.displayManager.defaultSession' are: + ${concatStringsSep "\n " sessionNames} + ''; + }; + default = let + dmDefault = cfg.desktopManager.default; + wmDefault = cfg.windowManager.default; + defaultPackage = + if cfg.displayManager.sessionPackages != [] then + (head (head cfg.displayManager.sessionPackages).providedSessions) + else + null; + defaultDmWm = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault); + in + if defaultDmWm == "none" && isString defaultPackage then + defaultPackage + else + defaultDmWm; + example = "gnome"; + description = "Default graphical session (only effective for LightDM and SDDM)."; + }; + job = { preStart = mkOption { diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index cf4c05acbcc..71cd6079ea1 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -9,9 +9,8 @@ let xEnv = config.systemd.services.display-manager.environment; cfg = dmcfg.lightdm; - dmDefault = xcfg.desktopManager.default; - wmDefault = xcfg.windowManager.default; - hasDefaultUserSession = dmDefault != "none" || wmDefault != "none"; + defaultSessionName = dmcfg.defaultSession; + hasDefaultUserSession = defaultSessionName != "none"; inherit (pkgs) lightdm writeScript writeText; @@ -71,7 +70,6 @@ let ${cfg.extraSeatDefaults} ''; - defaultSessionName = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault); in { # Note: the order in which lightdm greeter modules are imported @@ -199,7 +197,7 @@ in LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set ''; } - { assertion = cfg.autoLogin.enable -> dmDefault != "none" || wmDefault != "none"; + { assertion = cfg.autoLogin.enable -> hasDefaultUserSession; message = '' LightDM auto-login requires that services.xserver.desktopManager.default and services.xserver.windowManager.default are set to valid values. The current diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 24e120c4f2c..b51582d2ca5 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -71,11 +71,7 @@ let ${cfg.extraConfig} ''; - defaultSessionName = - let - dm = xcfg.desktopManager.default; - wm = xcfg.windowManager.default; - in dm + optionalString (wm != "none") ("+" + wm); + defaultSessionName = dmcfg.defaultSession; in { @@ -210,7 +206,7 @@ in SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set ''; } - { assertion = cfg.autoLogin.enable -> elem defaultSessionName dmcfg.session.names; + { assertion = cfg.autoLogin.enable -> defaultSessionName != "none"; message = '' SDDM auto-login requires that services.xserver.desktopManager.default and services.xserver.windowManager.default are set to valid values. The current diff --git a/nixos/tests/gnome3-xorg.nix b/nixos/tests/gnome3-xorg.nix index eb4c376319b..aa03501f6a5 100644 --- a/nixos/tests/gnome3-xorg.nix +++ b/nixos/tests/gnome3-xorg.nix @@ -16,7 +16,7 @@ import ./make-test.nix ({ pkgs, ...} : { services.xserver.displayManager.lightdm.autoLogin.enable = true; services.xserver.displayManager.lightdm.autoLogin.user = "alice"; services.xserver.desktopManager.gnome3.enable = true; - services.xserver.desktopManager.default = "gnome-xorg"; + services.xserver.displayManager.defaultSession = "gnome-xorg"; virtualisation.memorySize = 1024; }; From 53ef29c1380424e4e697725c4f3df30f9acacebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Hedin=20Br=C3=B8nner?= Date: Mon, 14 Jan 2019 14:17:40 +0100 Subject: [PATCH 09/90] nixos/lightdm: enable wayland sessions Note: can't launch gnome on wayland due to duplicate entry names: https://github.com/CanonicalLtd/lightdm/issues/16 --- nixos/modules/services/x11/display-managers/lightdm.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 71cd6079ea1..a8642fec271 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -44,7 +44,7 @@ let greeter-user = ${config.users.users.lightdm.name} greeters-directory = ${cfg.greeter.package} ''} - sessions-directory = ${dmcfg.session.desktops}/share/xsessions + sessions-directory = ${dmcfg.session.desktops}/share/xsessions:${dmcfg.session.desktops}/share/wayland-sessions ${cfg.extraConfig} [Seat:*] From 8dc5ff7dcfd1c58c32004ffae25e6d31ed83d86c Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Tue, 10 Dec 2019 15:10:30 +0100 Subject: [PATCH 10/90] nixos/displayManager: deprecate separate options for default wm/dm The upstream session files display managers use have no concept of sessions being composed from desktop manager and window manager. To be able to set upstream session files as default session, we need a single option. Having two different ways to set default session would be confusing, though, so we decided to deprecate the old method. We also created separate script for each session, just like we already had a separate desktop file for each one, and started using displayManager.sessionPackages mechanism to make the session handling more uniform. --- nixos/doc/manual/configuration/x-windows.xml | 3 +- nixos/doc/manual/configuration/xfce.xml | 5 +- nixos/doc/manual/release-notes/rl-2003.xml | 13 + nixos/lib/testing-python.nix | 3 +- nixos/lib/testing.nix | 3 +- .../services/x11/desktop-managers/default.nix | 23 +- .../x11/desktop-managers/pantheon.nix | 2 + .../display-managers/account-service-util.nix | 39 +++ .../services/x11/display-managers/default.nix | 231 ++++++++++-------- .../services/x11/display-managers/gdm.nix | 62 ++--- .../lightdm-greeters/mini.nix | 5 +- .../services/x11/display-managers/lightdm.nix | 33 ++- .../services/x11/display-managers/sddm.nix | 16 +- .../services/x11/window-managers/default.nix | 15 +- nixos/tests/common/x11.nix | 8 +- nixos/tests/i3wm.nix | 2 +- nixos/tests/lightdm.nix | 3 +- nixos/tests/plasma5.nix | 2 +- nixos/tests/sddm.nix | 6 +- nixos/tests/xmonad.nix | 4 +- 20 files changed, 254 insertions(+), 224 deletions(-) create mode 100644 nixos/modules/services/x11/display-managers/account-service-util.nix diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index 9206f43ea39..55ad9fe6e65 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -83,8 +83,7 @@ desktop environment. If you wanted no desktop environment and i3 as your your window manager, you'd define: - = "none"; - = "i3"; + = "none+i3"; And, finally, to enable auto-login for a user johndoe: diff --git a/nixos/doc/manual/configuration/xfce.xml b/nixos/doc/manual/configuration/xfce.xml index 6ac99c6b2be..027828bb936 100644 --- a/nixos/doc/manual/configuration/xfce.xml +++ b/nixos/doc/manual/configuration/xfce.xml @@ -7,9 +7,8 @@ To enable the Xfce Desktop Environment, set -services.xserver.desktopManager = { - xfce.enable = true; - default = "xfce"; + = true; + = "xfce"; }; diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index 579b8d53744..fd9b2b49b8c 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -55,6 +55,19 @@ and adding a option which prints all options and their values. + + + and options were replaced by a single option to improve support for upstream session files. If you used something like: + +services.xserver.desktopManager.default = "xfce"; +services.xserver.windowManager.default = "icewm"; + + you should change it to: + +services.xserver.displayManager.defaultSession = "xfce+icewm"; + + + diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix index d567d268765..c4eb9328b1d 100644 --- a/nixos/lib/testing-python.nix +++ b/nixos/lib/testing-python.nix @@ -262,9 +262,8 @@ in rec { virtualisation.memorySize = 1024; services.xserver.enable = true; services.xserver.displayManager.auto.enable = true; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; in runInMachine ({ diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index a5f060a8d8e..ae8ecd6270c 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -249,9 +249,8 @@ in rec { virtualisation.memorySize = 1024; services.xserver.enable = true; services.xserver.displayManager.auto.enable = true; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; in runInMachine ({ diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 7240358c361..534551c0c4a 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -86,23 +86,14 @@ in }; default = mkOption { - type = types.str; - default = ""; + type = types.nullOr types.str; + default = null; example = "none"; - description = "Default desktop manager loaded if none have been chosen."; - apply = defaultDM: - if defaultDM == "" && cfg.session.list != [] then - (head cfg.session.list).name - else if any (w: w.name == defaultDM) cfg.session.list then - defaultDM - else - throw '' - Default desktop manager (${defaultDM}) not found. - Probably you want to change - services.xserver.desktopManager.default = "${defaultDM}"; - to one of - ${concatMapStringsSep "\n " (w: "services.xserver.desktopManager.default = \"${w.name}\";") cfg.session.list} - ''; + description = '' + Deprecated, please use instead. + + Default desktop manager loaded if none have been chosen. + ''; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 3722bf365ba..e07d5b5eaad 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -81,6 +81,8 @@ in services.xserver.displayManager.lightdm.greeters.pantheon.enable = mkDefault true; + # Without this, Elementary LightDM greeter will pre-select non-existent `default` session + # https://github.com/elementary/greeter/issues/368 services.xserver.displayManager.defaultSession = "pantheon"; services.xserver.displayManager.sessionCommands = '' diff --git a/nixos/modules/services/x11/display-managers/account-service-util.nix b/nixos/modules/services/x11/display-managers/account-service-util.nix new file mode 100644 index 00000000000..1dbe703b566 --- /dev/null +++ b/nixos/modules/services/x11/display-managers/account-service-util.nix @@ -0,0 +1,39 @@ +{ accountsservice +, glib +, gobject-introspection +, python3 +, wrapGAppsHook +}: + +python3.pkgs.buildPythonApplication { + name = "set-session"; + + format = "other"; + + src = ./set-session.py; + + dontUnpack = true; + + strictDeps = false; + + nativeBuildInputs = [ + wrapGAppsHook + gobject-introspection + ]; + + buildInputs = [ + accountsservice + glib + ]; + + propagatedBuildInputs = with python3.pkgs; [ + pygobject3 + ordered-set + ]; + + installPhase = '' + mkdir -p $out/bin + cp $src $out/bin/set-session + chmod +x $out/bin/set-session + ''; +} diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix index 1a46e7c02e5..2d809b5cc9f 100644 --- a/nixos/modules/services/x11/display-managers/default.nix +++ b/nixos/modules/services/x11/display-managers/default.nix @@ -27,16 +27,7 @@ let Xft.hintstyle: hintslight ''; - mkCases = session: - concatStrings ( - mapAttrsToList (name: starts: '' - (${name}) - ${concatMapStringsSep "\n " (n: n.start) starts} - ;; - '') (lib.groupBy (n: n.name) session) - ); - - # file provided by services.xserver.displayManager.session.wrapper + # file provided by services.xserver.displayManager.sessionData.wrapper xsessionWrapper = pkgs.writeScript "xsession-wrapper" '' #! ${pkgs.bash}/bin/bash @@ -116,79 +107,19 @@ let # Run the supplied session command. Remove any double quotes with eval. eval exec "$@" else - # Fall back to the default window/desktopManager - exec ${cfg.displayManager.session.script} + # TODO: Do we need this? Should not the session always exist? + echo "error: unknown session $1" 1>&2 + exit 1 fi ''; - # file provided by services.xserver.displayManager.session.script - xsession = wm: dm: pkgs.writeScript "xsession" - '' - #! ${pkgs.bash}/bin/bash - - # Legacy session script used to construct .desktop files from - # `services.xserver.displayManager.session` entries. Called from - # `sessionWrapper`. - - # Expected parameters: - # $1 = + - - # The first argument of this script is the session type. - sessionType="$1" - if [ "$sessionType" = default ]; then sessionType=""; fi - - # The session type is "+", so - # extract those (see: - # http://wiki.bash-hackers.org/syntax/pe#substring_removal). - windowManager="''${sessionType##*+}" - : ''${windowManager:=${cfg.windowManager.default}} - desktopManager="''${sessionType%%+*}" - : ''${desktopManager:=${cfg.desktopManager.default}} - - # Start the window manager. - case "$windowManager" in - ${mkCases wm} - (*) echo "$0: Window manager '$windowManager' not found.";; - esac - - # Start the desktop manager. - case "$desktopManager" in - ${mkCases dm} - (*) echo "$0: Desktop manager '$desktopManager' not found.";; - esac - - ${optionalString cfg.updateDbusEnvironment '' - ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all - ''} - - test -n "$waitPID" && wait "$waitPID" - - ${config.systemd.package}/bin/systemctl --user stop graphical-session.target - - exit 0 - ''; - - # Desktop Entry Specification: - # - https://standards.freedesktop.org/desktop-entry-spec/latest/ - # - https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html - mkDesktops = names: pkgs.runCommand "desktops" + installedSessions = pkgs.runCommand "desktops" { # trivial derivation preferLocalBuild = true; allowSubstitutes = false; } '' - mkdir -p "$out/share/xsessions" - ${concatMapStrings (n: '' - cat - > "$out/share/xsessions/${n}.desktop" << EODESKTOP - [Desktop Entry] - Version=1.0 - Type=XSession - TryExec=${cfg.displayManager.session.script} - Exec=${cfg.displayManager.session.script} "${n}" - Name=${n} - Comment= - EODESKTOP - '') names} + mkdir -p "$out/share/"{xsessions,wayland-sessions} ${concatMapStrings (pkg: '' for n in ${concatStringsSep " " pkg.providedSessions}; do @@ -204,12 +135,16 @@ let ${xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions fi if test -d ${pkg}/share/wayland-sessions; then - mkdir -p "$out/share/wayland-sessions" ${xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions fi '') cfg.displayManager.sessionPackages} ''; + dmDefault = cfg.desktopManager.default; + wmDefault = cfg.windowManager.default; + + defaultSessionFromLegacyOptions = concatStringsSep "+" (filter (s: s != null) ([ dmDefault ] ++ optional (wmDefault != "none") wmDefault)); + in { @@ -315,47 +250,48 @@ in inside the display manager with the desktop manager name followed by the window manager name. ''; - apply = list: rec { - wm = filter (s: s.manage == "window") list; - dm = filter (s: s.manage == "desktop") list; - names = flip concatMap dm - (d: map (w: d.name + optionalString (w.name != "none") ("+" + w.name)) - (filter (w: d.name != "none" || w.name != "none") wm)); - desktops = mkDesktops names; - script = xsession wm dm; + }; + + sessionData = mkOption { + description = "Data exported for display managers’ convenience"; + internal = true; + default = {}; + apply = val: { wrapper = xsessionWrapper; + desktops = installedSessions; + sessionNames = concatMap (p: p.providedSessions) cfg.displayManager.sessionPackages; + # We do not want to force users to set defaultSession when they have only single DE. + autologinSession = + if cfg.displayManager.defaultSession != null then + cfg.displayManager.defaultSession + else if cfg.displayManager.sessionData.sessionNames != [] then + head cfg.displayManager.sessionData.sessionNames + else + null; }; }; defaultSession = mkOption { - type = with types; str // { + type = with types; nullOr str // { description = "session name"; - check = d: let - sessionNames = cfg.displayManager.session.names ++ - (concatMap (p: p.providedSessions) cfg.displayManager.sessionPackages); - in - assertMsg (str.check d && (d == "none" || (elem d sessionNames))) '' + check = d: + assertMsg (d != null -> (str.check d && elem d cfg.displayManager.sessionData.sessionNames)) '' Default graphical session, '${d}', not found. Valid names for 'services.xserver.displayManager.defaultSession' are: - ${concatStringsSep "\n " sessionNames} + ${concatStringsSep "\n " cfg.displayManager.sessionData.sessionNames} ''; }; - default = let - dmDefault = cfg.desktopManager.default; - wmDefault = cfg.windowManager.default; - defaultPackage = - if cfg.displayManager.sessionPackages != [] then - (head (head cfg.displayManager.sessionPackages).providedSessions) - else - null; - defaultDmWm = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault); - in - if defaultDmWm == "none" && isString defaultPackage then - defaultPackage - else - defaultDmWm; + default = + if dmDefault != null || wmDefault != null then + defaultSessionFromLegacyOptions + else + null; example = "gnome"; - description = "Default graphical session (only effective for LightDM and SDDM)."; + description = '' + Graphical session to pre-select in the session chooser (only effective for GDM and LightDM). + + On GDM, LightDM and SDDM, it will also be used as a session for auto-login. + ''; }; job = { @@ -406,6 +342,27 @@ in }; config = { + assertions = [ + { + assertion = cfg.desktopManager.default != null || cfg.windowManager.default != null -> cfg.displayManager.defaultSession == defaultSessionFromLegacyOptions; + message = "You cannot use both services.xserver.displayManager.defaultSession option and legacy options (services.xserver.desktopManager.default and services.xserver.windowManager.default)."; + } + ]; + + warnings = + mkIf (dmDefault != null || wmDefault != null) [ + '' + The following options are deprecated: + ${concatStringsSep "\n " (map ({c, t}: t) (filter ({c, t}: c != null) [ + { c = dmDefault; t = "- services.xserver.desktopManager.default"; } + { c = wmDefault; t = "- services.xserver.windowManager.default"; } + ]))} + Please use + services.xserver.displayManager.defaultSession = "${concatStringsSep "+" (filter (s: s != null) [ dmDefault wmDefault ])}"; + instead. + '' + ]; + services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X"; systemd.user.targets.graphical-session = { @@ -414,6 +371,67 @@ in StopWhenUnneeded = false; }; }; + + # Create desktop files and scripts for starting sessions for WMs/DMs + # that do not have upstream session files (those defined using services.{display,desktop,window}Manager.session options). + services.xserver.displayManager.sessionPackages = + let + dms = filter (s: s.manage == "desktop") cfg.displayManager.session; + wms = filter (s: s.manage == "window") cfg.displayManager.session; + + # Script responsible for starting the window manager and the desktop manager. + xsession = wm: dm: pkgs.writeScript "xsession" '' + #! ${pkgs.bash}/bin/bash + + # Legacy session script used to construct .desktop files from + # `services.xserver.displayManager.session` entries. Called from + # `sessionWrapper`. + + # Start the window manager. + ${wm.start} + + # Start the desktop manager. + ${dm.start} + + ${optionalString cfg.updateDbusEnvironment '' + ${lib.getBin pkgs.dbus}/bin/dbus-update-activation-environment --systemd --all + ''} + + test -n "$waitPID" && wait "$waitPID" + + ${config.systemd.package}/bin/systemctl --user stop graphical-session.target + + exit 0 + ''; + in + # We will generate every possible pair of WM and DM. + concatLists ( + crossLists + (dm: wm: let + sessionName = "${dm.name}${optionalString (wm.name != "none") ("+" + wm.name)}"; + script = xsession dm wm; + in + optional (dm.name != "none" || wm.name != "none") + (pkgs.writeTextFile { + name = "${sessionName}-xsession"; + destination = "/share/xsessions/${sessionName}.desktop"; + # Desktop Entry Specification: + # - https://standards.freedesktop.org/desktop-entry-spec/latest/ + # - https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html + text = '' + [Desktop Entry] + Version=1.0 + Type=XSession + TryExec=${script} + Exec=${script} + Name=${sessionName} + ''; + } // { + providedSessions = [ sessionName ]; + }) + ) + [dms wms] + ); }; imports = [ @@ -421,6 +439,7 @@ in "The option is no longer necessary because all display managers have already delegated lid management to systemd.") (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ]) (mkRenamedOptionModule [ "services" "xserver" "displayManager" "logToJournal" ] [ "services" "xserver" "displayManager" "job" "logToJournal" ]) + (mkRenamedOptionModule [ "services" "xserver" "displayManager" "extraSessionFilesPackages" ] [ "services" "xserver" "displayManager" "sessionPackages" ]) ]; } diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix index 095569fa08a..6630f012f04 100644 --- a/nixos/modules/services/x11/display-managers/gdm.nix +++ b/nixos/modules/services/x11/display-managers/gdm.nix @@ -31,44 +31,9 @@ let load-module module-position-event-sounds ''; - dmDefault = config.services.xserver.desktopManager.default; - wmDefault = config.services.xserver.windowManager.default; - hasDefaultUserSession = dmDefault != "none" || wmDefault != "none"; - defaultSessionName = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault); - - setSessionScript = pkgs.python3.pkgs.buildPythonApplication { - name = "set-session"; - - format = "other"; - - src = ./set-session.py; - - dontUnpack = true; - - strictDeps = false; - - nativeBuildInputs = with pkgs; [ - wrapGAppsHook - gobject-introspection - ]; - - buildInputs = with pkgs; [ - accountsservice - glib - ]; - - propagatedBuildInputs = with pkgs.python3.pkgs; [ - pygobject3 - ordered-set - ]; - - installPhase = '' - mkdir -p $out/bin - cp $src $out/bin/set-session - chmod +x $out/bin/set-session - ''; - }; + defaultSessionName = config.services.xserver.displayManager.defaultSession; + setSessionScript = pkgs.callPackage ./account-service-util.nix { }; in { @@ -186,7 +151,7 @@ in environment = { GDM_X_SERVER_EXTRA_ARGS = toString (filter (arg: arg != "-terminate") cfg.xserverArgs); - XDG_DATA_DIRS = "${cfg.session.desktops}/share/"; + XDG_DATA_DIRS = "${cfg.sessionData.desktops}/share/"; } // optionalAttrs (xSessionWrapper != null) { # Make GDM use this wrapper before running the session, which runs the # configured setupCommands. This relies on a patched GDM which supports @@ -204,16 +169,19 @@ in cat - > /run/gdm/.config/gnome-initial-setup-done <<- EOF yes EOF - '' - # TODO: Make setSessionScript aware of previously used sessions - # + optionalString hasDefaultUserSession '' - # ${setSessionScript}/bin/set-session ${defaultSessionName} - # '' - ; + '' + optionalString (defaultSessionName != null) '' + # Set default session in session chooser to a specified values – basically ignore session history. + ${setSessionScript}/bin/set-session ${cfg.sessionData.autologinSession} + ''; }; - # Because sd_login_monitor_new requires /run/systemd/machines - systemd.services.display-manager.wants = [ "systemd-machined.service" ]; + systemd.services.display-manager.wants = [ + # Because sd_login_monitor_new requires /run/systemd/machines + "systemd-machined.service" + # setSessionScript wants AccountsService + "accounts-daemon.service" + ]; + systemd.services.display-manager.after = [ "rc-local.service" "systemd-machined.service" @@ -329,7 +297,7 @@ in ${optionalString cfg.gdm.debug "Enable=true"} ''; - environment.etc."gdm/Xsession".source = config.services.xserver.displayManager.session.wrapper; + environment.etc."gdm/Xsession".source = config.services.xserver.displayManager.sessionData.wrapper; # GDM LFS PAM modules, adapted somehow to NixOS security.pam.services = { diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix index fa9445af32e..0025f9b3603 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/mini.nix @@ -53,9 +53,8 @@ in Whether to enable lightdm-mini-greeter as the lightdm greeter. Note that this greeter starts only the default X session. - You can configure the default X session by - and - . + You can configure the default X session using + . ''; }; diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index a8642fec271..f7face0adb7 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -8,9 +8,9 @@ let dmcfg = xcfg.displayManager; xEnv = config.systemd.services.display-manager.environment; cfg = dmcfg.lightdm; + sessionData = dmcfg.sessionData; - defaultSessionName = dmcfg.defaultSession; - hasDefaultUserSession = defaultSessionName != "none"; + setSessionScript = pkgs.callPackage ./account-service-util.nix { }; inherit (pkgs) lightdm writeScript writeText; @@ -44,22 +44,19 @@ let greeter-user = ${config.users.users.lightdm.name} greeters-directory = ${cfg.greeter.package} ''} - sessions-directory = ${dmcfg.session.desktops}/share/xsessions:${dmcfg.session.desktops}/share/wayland-sessions + sessions-directory = ${dmcfg.sessionData.desktops}/share/xsessions:${dmcfg.sessionData.desktops}/share/wayland-sessions ${cfg.extraConfig} [Seat:*] xserver-command = ${xserverWrapper} - session-wrapper = ${dmcfg.session.wrapper} + session-wrapper = ${dmcfg.sessionData.wrapper} ${optionalString cfg.greeter.enable '' greeter-session = ${cfg.greeter.name} ''} ${optionalString cfg.autoLogin.enable '' autologin-user = ${cfg.autoLogin.user} autologin-user-timeout = ${toString cfg.autoLogin.timeout} - autologin-session = ${defaultSessionName} - ''} - ${optionalString hasDefaultUserSession '' - user-session=${defaultSessionName} + autologin-session = ${sessionData.autologinSession} ''} ${optionalString (dmcfg.setupCommands != "") '' display-setup-script=${pkgs.writeScript "lightdm-display-setup" '' @@ -197,11 +194,9 @@ in LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set ''; } - { assertion = cfg.autoLogin.enable -> hasDefaultUserSession; + { assertion = cfg.autoLogin.enable -> sessionData.autologinSession != null; message = '' - LightDM auto-login requires that services.xserver.desktopManager.default and - services.xserver.windowManager.default are set to valid values. The current - default session: ${defaultSessionName} is not valid. + LightDM auto-login requires that services.xserver.displayManager.defaultSession is set. ''; } { assertion = !cfg.greeter.enable -> (cfg.autoLogin.enable && cfg.autoLogin.timeout == 0); @@ -212,6 +207,20 @@ in } ]; + # Set default session in session chooser to a specified values – basically ignore session history. + # Auto-login is already covered by a config value. + services.xserver.displayManager.job.preStart = optionalString (!cfg.autoLogin.enable && dmcfg.defaultSession != null) '' + ${setSessionScript}/bin/set-session ${dmcfg.defaultSession} + ''; + + # setSessionScript needs session-files in XDG_DATA_DIRS + services.xserver.displayManager.job.environment.XDG_DATA_DIRS = "${dmcfg.sessionData.desktops}/share/"; + + # setSessionScript wants AccountsService + systemd.services.display-manager.wants = [ + "accounts-daemon.service" + ]; + # lightdm relaunches itself via just `lightdm`, so needs to be on the PATH services.xserver.displayManager.job.execCmd = '' export PATH=${lightdm}/sbin:$PATH diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index b51582d2ca5..4224c557ed6 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -50,8 +50,8 @@ let MinimumVT=${toString (if xcfg.tty != null then xcfg.tty else 7)} ServerPath=${xserverWrapper} XephyrPath=${pkgs.xorg.xorgserver.out}/bin/Xephyr - SessionCommand=${dmcfg.session.wrapper} - SessionDir=${dmcfg.session.desktops}/share/xsessions + SessionCommand=${dmcfg.sessionData.wrapper} + SessionDir=${dmcfg.sessionData.desktops}/share/xsessions XauthPath=${pkgs.xorg.xauth}/bin/xauth DisplayCommand=${Xsetup} DisplayStopCommand=${Xstop} @@ -59,19 +59,19 @@ let [Wayland] EnableHidpi=${if cfg.enableHidpi then "true" else "false"} - SessionDir=${dmcfg.session.desktops}/share/wayland-sessions + SessionDir=${dmcfg.sessionData.desktops}/share/wayland-sessions ${optionalString cfg.autoLogin.enable '' [Autologin] User=${cfg.autoLogin.user} - Session=${defaultSessionName}.desktop + Session=${autoLoginSessionName}.desktop Relogin=${boolToString cfg.autoLogin.relogin} ''} ${cfg.extraConfig} ''; - defaultSessionName = dmcfg.defaultSession; + autoLoginSessionName = dmcfg.sessionData.autologinSession; in { @@ -206,11 +206,9 @@ in SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set ''; } - { assertion = cfg.autoLogin.enable -> defaultSessionName != "none"; + { assertion = cfg.autoLogin.enable -> autoLoginSessionName != null; message = '' - SDDM auto-login requires that services.xserver.desktopManager.default and - services.xserver.windowManager.default are set to valid values. The current - default session: ${defaultSessionName} is not valid. + SDDM auto-login requires that services.xserver.displayManager.defaultSession is set. ''; } ]; diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index c17f3830d0e..04a9fc46628 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -59,15 +59,14 @@ in }; default = mkOption { - type = types.str; - default = "none"; + type = types.nullOr types.str; + default = null; example = "wmii"; - description = "Default window manager loaded if none have been chosen."; - apply = defaultWM: - if any (w: w.name == defaultWM) cfg.session then - defaultWM - else - throw "Default window manager (${defaultWM}) not found."; + description = '' + Deprecated, please use instead. + + Default window manager loaded if none have been chosen. + ''; }; }; diff --git a/nixos/tests/common/x11.nix b/nixos/tests/common/x11.nix index c5a7c165d12..5ad0ac20fac 100644 --- a/nixos/tests/common/x11.nix +++ b/nixos/tests/common/x11.nix @@ -1,12 +1,12 @@ +{ lib, ... }: + { services.xserver.enable = true; # Automatically log in. services.xserver.displayManager.auto.enable = true; # Use IceWM as the window manager. - services.xserver.windowManager.default = "icewm"; - services.xserver.windowManager.icewm.enable = true; - # Don't use a desktop manager. - services.xserver.desktopManager.default = "none"; + services.xserver.displayManager.defaultSession = lib.mkDefault "none+icewm"; + services.xserver.windowManager.icewm.enable = true; } diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix index 8afa845f1e2..126178d1187 100644 --- a/nixos/tests/i3wm.nix +++ b/nixos/tests/i3wm.nix @@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ...} : { machine = { lib, ... }: { imports = [ ./common/x11.nix ./common/user-account.nix ]; services.xserver.displayManager.auto.user = "alice"; - services.xserver.windowManager.default = lib.mkForce "i3"; + services.xserver.displayManager.defaultSession = lib.mkForce "none+i3"; services.xserver.windowManager.i3.enable = true; }; diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix index ef30f7741e2..46c2ed7ccc5 100644 --- a/nixos/tests/lightdm.nix +++ b/nixos/tests/lightdm.nix @@ -8,9 +8,8 @@ import ./make-test-python.nix ({ pkgs, ...} : { imports = [ ./common/user-account.nix ]; services.xserver.enable = true; services.xserver.displayManager.lightdm.enable = true; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; enableOCR = true; diff --git a/nixos/tests/plasma5.nix b/nixos/tests/plasma5.nix index 6884f17aabb..2eccfdf47f5 100644 --- a/nixos/tests/plasma5.nix +++ b/nixos/tests/plasma5.nix @@ -12,8 +12,8 @@ import ./make-test-python.nix ({ pkgs, ...} : imports = [ ./common/user-account.nix ]; services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; + services.xserver.displayManager.defaultSession = "plasma5"; services.xserver.desktopManager.plasma5.enable = true; - services.xserver.desktopManager.default = "plasma5"; services.xserver.displayManager.sddm.autoLogin = { enable = true; user = "alice"; diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix index 4bdcd701dcf..a145705250f 100644 --- a/nixos/tests/sddm.nix +++ b/nixos/tests/sddm.nix @@ -16,9 +16,8 @@ let imports = [ ./common/user-account.nix ]; services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; enableOCR = true; @@ -52,9 +51,8 @@ let user = "alice"; }; }; - services.xserver.windowManager.default = "icewm"; + services.xserver.displayManager.defaultSession = "none+icewm"; services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; }; testScript = { nodes, ... }: let diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix index ab3888ca43f..ef711f8dcf6 100644 --- a/nixos/tests/xmonad.nix +++ b/nixos/tests/xmonad.nix @@ -4,10 +4,10 @@ import ./make-test-python.nix ({ pkgs, ...} : { maintainers = [ nequissimus ]; }; - machine = { lib, pkgs, ... }: { + machine = { pkgs, ... }: { imports = [ ./common/x11.nix ./common/user-account.nix ]; services.xserver.displayManager.auto.user = "alice"; - services.xserver.windowManager.default = lib.mkForce "xmonad"; + services.xserver.displayManager.defaultSession = "none+xmonad"; services.xserver.windowManager.xmonad = { enable = true; enableContribAndExtras = true; From 69b1b0cff0533a81328ae0e07cecd26c038d5057 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:16:00 +0100 Subject: [PATCH 11/90] nixosTests.systemd-timesyncd: Port tests to python --- nixos/tests/systemd-timesyncd.nix | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/nixos/tests/systemd-timesyncd.nix b/nixos/tests/systemd-timesyncd.nix index d12b8eb2bf7..ad5b9a47383 100644 --- a/nixos/tests/systemd-timesyncd.nix +++ b/nixos/tests/systemd-timesyncd.nix @@ -1,7 +1,7 @@ # Regression test for systemd-timesync having moved the state directory without # upstream providing a migration path. https://github.com/systemd/systemd/issues/12131 -import ./make-test.nix (let +import ./make-test-python.nix (let common = { lib, ... }: { # override the `false` value from the qemu-vm base profile services.timesyncd.enable = lib.mkForce true; @@ -25,28 +25,28 @@ in { }; testScript = '' - startAll; - $current->succeed('systemctl status systemd-timesyncd.service'); + start_all() + current.succeed("systemctl status systemd-timesyncd.service") # on a new install with a recent systemd there should not be any # leftovers from the dynamic user mess - $current->succeed('test -e /var/lib/systemd/timesync'); - $current->succeed('test ! -L /var/lib/systemd/timesync'); + current.succeed("test -e /var/lib/systemd/timesync") + current.succeed("test ! -L /var/lib/systemd/timesync") # timesyncd should be running on the upgrading system since we fixed the # file bits in the activation script - $pre1909->succeed('systemctl status systemd-timesyncd.service'); + pre1909.succeed("systemctl status systemd-timesyncd.service") # the path should be gone after the migration - $pre1909->succeed('test ! -e /var/lib/private/systemd/timesync'); + pre1909.succeed("test ! -e /var/lib/private/systemd/timesync") # and the new path should no longer be a symlink - $pre1909->succeed('test -e /var/lib/systemd/timesync'); - $pre1909->succeed('test ! -L /var/lib/systemd/timesync'); + pre1909.succeed("test -e /var/lib/systemd/timesync") + pre1909.succeed("test ! -L /var/lib/systemd/timesync") # after a restart things should still work and not fail in the activation # scripts and cause the boot to fail.. - $pre1909->shutdown; - $pre1909->start; - $pre1909->succeed('systemctl status systemd-timesyncd.service'); + pre1909.shutdown() + pre1909.start() + pre1909.succeed("systemctl status systemd-timesyncd.service") ''; }) From aeeabe0b89d60bda9d35e84c643ccb62ebcd7ae0 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:22:35 +0100 Subject: [PATCH 12/90] nixosTests.switch-test: Port tests to python --- nixos/tests/switch-test.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix index 0dba3697980..7076bd77b77 100644 --- a/nixos/tests/switch-test.nix +++ b/nixos/tests/switch-test.nix @@ -1,6 +1,6 @@ # Test configuration switching. -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "switch-test"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ gleber ]; @@ -28,7 +28,11 @@ import ./make-test.nix ({ pkgs, ...} : { exec env -i "$@" | tee /dev/stderr ''; in '' - $machine->succeed("${stderrRunner} ${originalSystem}/bin/switch-to-configuration test"); - $machine->succeed("${stderrRunner} ${otherSystem}/bin/switch-to-configuration test"); + machine.succeed( + "${stderrRunner} ${originalSystem}/bin/switch-to-configuration test" + ) + machine.succeed( + "${stderrRunner} ${otherSystem}/bin/switch-to-configuration test" + ) ''; }) From bcf6aa5519c041301042abf38aeff6127b7c4567 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:24:45 +0100 Subject: [PATCH 13/90] nixosTests.sonarr: Port tests to python --- nixos/tests/sonarr.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/sonarr.nix b/nixos/tests/sonarr.nix index 3e84445099a..764a4d05b38 100644 --- a/nixos/tests/sonarr.nix +++ b/nixos/tests/sonarr.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... }: +import ./make-test-python.nix ({ lib, ... }: with lib; @@ -11,8 +11,8 @@ with lib; { services.sonarr.enable = true; }; testScript = '' - $machine->waitForUnit('sonarr.service'); - $machine->waitForOpenPort('8989'); - $machine->succeed("curl --fail http://localhost:8989/"); + machine.wait_for_unit("sonarr.service") + machine.wait_for_open_port("8989") + machine.succeed("curl --fail http://localhost:8989/") ''; }) From e1e3df423ae9ad52520c681004f9045873ea55f4 Mon Sep 17 00:00:00 2001 From: Robert Scott Date: Sun, 15 Dec 2019 17:59:43 +0000 Subject: [PATCH 14/90] allowInsecureDefaultPredicate: fix to use getName this allows correct operation with packages only having pname and version specified, resolving issue #73737 --- pkgs/stdenv/generic/check-meta.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 6bd6a9bf41e..21ae809a222 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -67,7 +67,7 @@ let isUnfree (lib.lists.toList attrs.meta.license) && !allowUnfreePredicate attrs; - allowInsecureDefaultPredicate = x: builtins.elem x.name (config.permittedInsecurePackages or []); + allowInsecureDefaultPredicate = x: builtins.elem (getName x) (config.permittedInsecurePackages or []); allowInsecurePredicate = x: (config.allowInsecurePredicate or allowInsecureDefaultPredicate) x; hasAllowedInsecure = attrs: From e96802ccb22f110fe9e93783856b2aef10b14608 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:29:20 +0100 Subject: [PATCH 15/90] nixosTests.quagga: Port tests to python --- nixos/tests/quagga.nix | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/nixos/tests/quagga.nix b/nixos/tests/quagga.nix index 6aee7ea57f0..04590aa0eb3 100644 --- a/nixos/tests/quagga.nix +++ b/nixos/tests/quagga.nix @@ -5,7 +5,7 @@ # # All interfaces are in OSPF Area 0. -import ./make-test.nix ({ pkgs, ... }: +import ./make-test-python.nix ({ pkgs, ... }: let ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address; @@ -74,23 +74,23 @@ import ./make-test.nix ({ pkgs, ... }: testScript = { ... }: '' - startAll; + start_all() # Wait for the networking to start on all machines - $_->waitForUnit("network.target") foreach values %vms; + for machine in client, router1, router2, server: + machine.wait_for_unit("network.target") - # Wait for OSPF to form adjacencies - for my $gw ($router1, $router2) { - $gw->waitForUnit("ospfd"); - $gw->waitUntilSucceeds("vtysh -c 'show ip ospf neighbor' | grep Full"); - $gw->waitUntilSucceeds("vtysh -c 'show ip route' | grep '^O>'"); - } + with subtest("Wait for OSPF to form adjacencies"): + for gw in router1, router2: + gw.wait_for_unit("ospfd") + gw.wait_until_succeeds("vtysh -c 'show ip ospf neighbor' | grep Full") + gw.wait_until_succeeds("vtysh -c 'show ip route' | grep '^O>'") - # Test ICMP. - $client->succeed("ping -c 3 server >&2"); + with subtest("Test ICMP"): + client.wait_until_succeeds("ping -c 3 server >&2") - # Test whether HTTP works. - $server->waitForUnit("httpd"); - $client->succeed("curl --fail http://server/ >&2"); + with subtest("Test whether HTTP works"): + server.wait_for_unit("httpd") + client.succeed("curl --fail http://server/ >&2") ''; }) From d029e28b78ec535cfd37a9d26d18e7b248077c79 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:32:18 +0100 Subject: [PATCH 16/90] nixosTests.postgis: Port tests to python --- nixos/tests/postgis.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/tests/postgis.nix b/nixos/tests/postgis.nix index 294eb50b5fe..84bbb0bc8ec 100644 --- a/nixos/tests/postgis.nix +++ b/nixos/tests/postgis.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "postgis"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ lsix ]; @@ -20,10 +20,10 @@ import ./make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll; - $master->waitForUnit("postgresql"); - $master->sleep(10); # Hopefully this is long enough!! - $master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'"); - $master->succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'"); + start_all() + master.wait_for_unit("postgresql") + master.sleep(10) # Hopefully this is long enough!! + master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis;'") + master.succeed("sudo -u postgres psql -c 'CREATE EXTENSION postgis_topology;'") ''; }) From 1bf1ec35bca08d05b06bf6c627b2a1205bdca2ad Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:41:38 +0100 Subject: [PATCH 17/90] nixosTests.php-pcre: Port tests to python --- nixos/tests/php-pcre.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nixos/tests/php-pcre.nix b/nixos/tests/php-pcre.nix index ae44aec7944..d5c22e0582a 100644 --- a/nixos/tests/php-pcre.nix +++ b/nixos/tests/php-pcre.nix @@ -1,7 +1,7 @@ let testString = "can-use-subgroups"; in -import ./make-test.nix ({ ...}: { +import ./make-test-python.nix ({ ...}: { name = "php-httpd-pcre-jit-test"; machine = { lib, pkgs, ... }: { time.timeZone = "UTC"; @@ -31,9 +31,10 @@ import ./make-test.nix ({ ...}: { }; testScript = { ... }: '' - $machine->waitForUnit('httpd.service'); + machine.wait_for_unit("httpd.service") # Ensure php evaluation by matching on the var_dump syntax - $machine->succeed('curl -vvv -s http://127.0.0.1:80/index.php \ - | grep "string(${toString (builtins.stringLength testString)}) \"${testString}\""'); + assert 'string(${toString (builtins.stringLength testString)}) "${testString}"' in machine.succeed( + "curl -vvv -s http://127.0.0.1:80/index.php" + ) ''; }) From a20683acbef60c0590e6ac6332f7512c6b0284e8 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:48:18 +0100 Subject: [PATCH 18/90] nixosTests.pgmanage: Port tests to python --- nixos/tests/pgmanage.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nixos/tests/pgmanage.nix b/nixos/tests/pgmanage.nix index bacaf3f4158..4f5dbed24a9 100644 --- a/nixos/tests/pgmanage.nix +++ b/nixos/tests/pgmanage.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... } : +import ./make-test-python.nix ({ pkgs, ... } : let role = "test"; password = "secret"; @@ -29,11 +29,13 @@ in }; testScript = '' - startAll; - $one->waitForUnit("default.target"); - $one->requireActiveUnit("pgmanage.service"); + start_all() + one.wait_for_unit("default.target") + one.require_unit_state("pgmanage.service", "active") # Test if we can log in. - $one->waitUntilSucceeds("curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail"); + one.wait_until_succeeds( + "curl 'http://localhost:8080/pgmanage/auth' --data 'action=login&connname=${conn}&username=${role}&password=${password}' --fail" + ) ''; }) From d58814ac5a3e49ae4dd5182d9ae73bbe5e607c1e Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:50:50 +0100 Subject: [PATCH 19/90] nixosTests.peerflix: Port tests to python --- nixos/tests/peerflix.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/peerflix.nix b/nixos/tests/peerflix.nix index fae37fedaac..37628604d49 100644 --- a/nixos/tests/peerflix.nix +++ b/nixos/tests/peerflix.nix @@ -1,6 +1,6 @@ # This test runs peerflix and checks if peerflix starts -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "peerflix"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ offline ]; @@ -15,9 +15,9 @@ import ./make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll; + start_all() - $peerflix->waitForUnit("peerflix.service"); - $peerflix->waitUntilSucceeds("curl localhost:9000"); + peerflix.wait_for_unit("peerflix.service") + peerflix.wait_until_succeeds("curl localhost:9000") ''; }) From d76ab647e67a39d9caa681b1724ea4d6318082cd Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 18:53:26 +0100 Subject: [PATCH 20/90] nixosTests.pdns-recursor: Port tests not python --- nixos/tests/pdns-recursor.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/tests/pdns-recursor.nix b/nixos/tests/pdns-recursor.nix index bf6e6093d69..de1b60e0b1c 100644 --- a/nixos/tests/pdns-recursor.nix +++ b/nixos/tests/pdns-recursor.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: { +import ./make-test-python.nix ({ pkgs, ... }: { name = "powerdns"; nodes.server = { ... }: { @@ -6,7 +6,7 @@ import ./make-test.nix ({ pkgs, ... }: { }; testScript = '' - $server->waitForUnit("pdns-recursor"); - $server->waitForOpenPort("53"); + server.wait_for_unit("pdns-recursor") + server.wait_for_open_port("53") ''; }) From 229a0afb28b9648e5ad30a3d3dfaca485b20c4ec Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 19:05:01 +0100 Subject: [PATCH 21/90] nixosTests.paperless: Port tests to python --- nixos/tests/paperless.nix | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/nixos/tests/paperless.nix b/nixos/tests/paperless.nix index 860ad0a6218..355e7041d3f 100644 --- a/nixos/tests/paperless.nix +++ b/nixos/tests/paperless.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... } : { +import ./make-test-python.nix ({ lib, ... } : { name = "paperless"; meta = with lib.maintainers; { maintainers = [ earvstedt ]; @@ -13,17 +13,24 @@ import ./make-test.nix ({ lib, ... } : { }; testScript = '' - $machine->waitForUnit("paperless-consumer.service"); - # Create test doc - $machine->succeed('convert -size 400x40 xc:white -font "DejaVu-Sans" -pointsize 20 -fill black \ - -annotate +5+20 "hello world 16-10-2005" /var/lib/paperless/consume/doc.png'); + machine.wait_for_unit("paperless-consumer.service") - $machine->waitForUnit("paperless-server.service"); - # Wait until server accepts connections - $machine->waitUntilSucceeds("curl -s localhost:28981"); - # Wait until document is consumed - $machine->waitUntilSucceeds('(($(curl -s localhost:28981/api/documents/ | jq .count) == 1))'); - $machine->succeed("curl -s localhost:28981/api/documents/ | jq '.results | .[0] | .created'") - =~ /2005-10-16/ or die; + # Create test doc + machine.succeed( + "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black -annotate +5+20 'hello world 16-10-2005' /var/lib/paperless/consume/doc.png" + ) + + with subtest("Service gets ready"): + machine.wait_for_unit("paperless-server.service") + # Wait until server accepts connections + machine.wait_until_succeeds("curl -s localhost:28981") + + with subtest("Test document is consumed"): + machine.wait_until_succeeds( + "(($(curl -s localhost:28981/api/documents/ | jq .count) == 1))" + ) + assert "2005-10-16" in machine.succeed( + "curl -s localhost:28981/api/documents/ | jq '.results | .[0] | .created'" + ) ''; }) From 73d577b0fd554c4fc615be5a934666277d73bc39 Mon Sep 17 00:00:00 2001 From: Kevin Rauscher Date: Sun, 15 Dec 2019 21:12:56 +0100 Subject: [PATCH 22/90] mopidy-iris: 3.42.2 -> 3.43.0 --- pkgs/applications/audio/mopidy/iris.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix index 37e233b5e9e..88cdde2ceb2 100644 --- a/pkgs/applications/audio/mopidy/iris.nix +++ b/pkgs/applications/audio/mopidy/iris.nix @@ -2,11 +2,11 @@ pythonPackages.buildPythonApplication rec { pname = "Mopidy-Iris"; - version = "3.42.2"; + version = "3.43.0"; src = pythonPackages.fetchPypi { inherit pname version; - sha256 = "1v1dy857kxxn1si0x7p3qz63l1af5pln1jji1f7fis6id8iy7wfm"; + sha256 = "1qg9xyjf27dp0810h4kdliyfb8r3kvi37lq8r93d01xwfphdzs05"; }; propagatedBuildInputs = [ From 23d164edb4999c7e77951bdb21b162bb940b7e3c Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 15:10:09 +0100 Subject: [PATCH 23/90] nixosTests.wireguard.namespaces: Port test to python --- nixos/tests/wireguard/namespaces.nix | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/nixos/tests/wireguard/namespaces.nix b/nixos/tests/wireguard/namespaces.nix index 94f993d9475..c8a4e3bb52a 100644 --- a/nixos/tests/wireguard/namespaces.nix +++ b/nixos/tests/wireguard/namespaces.nix @@ -13,7 +13,7 @@ let in -import ../make-test.nix ({ pkgs, ...} : { +import ../make-test-python.nix ({ pkgs, ...} : { name = "wireguard-with-namespaces"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ asymmetric ]; @@ -65,16 +65,14 @@ import ../make-test.nix ({ pkgs, ...} : { }; testScript = '' - startAll(); + start_all() - $peer0->waitForUnit("wireguard-wg0.service"); - $peer1->waitForUnit("wireguard-wg0.service"); - $peer2->waitForUnit("wireguard-wg0.service"); - $peer3->waitForUnit("wireguard-wg0.service"); + for machine in peer0, peer1, peer2, peer3: + machine.wait_for_unit("wireguard-wg0.service") - $peer0->succeed("ip -n ${socketNamespace} link show wg0"); - $peer1->succeed("ip -n ${interfaceNamespace} link show wg0"); - $peer2->succeed("ip -n ${interfaceNamespace} link show wg0"); - $peer3->succeed("ip link show wg0"); + peer0.succeed("ip -n ${socketNamespace} link show wg0") + peer1.succeed("ip -n ${interfaceNamespace} link show wg0") + peer2.succeed("ip -n ${interfaceNamespace} link show wg0") + peer3.succeed("ip link show wg0") ''; }) From 1f2030fdcb2ae86a821d44a40509b0c479c06055 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 15:21:38 +0100 Subject: [PATCH 24/90] nixosTests.mailcatcher: Port tests to python --- nixos/tests/mailcatcher.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix index eb5b606ecc8..2ef38544fe0 100644 --- a/nixos/tests/mailcatcher.nix +++ b/nixos/tests/mailcatcher.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... }: +import ./make-test-python.nix ({ lib, ... }: { name = "mailcatcher"; @@ -16,11 +16,15 @@ import ./make-test.nix ({ lib, ... }: }; testScript = '' - startAll; + start_all() - $machine->waitForUnit('mailcatcher.service'); - $machine->waitForOpenPort('1025'); - $machine->succeed('echo "this is the body of the email" | mail -s "subject" root@example.org'); - $machine->succeed('curl http://localhost:1080/messages/1.source') =~ /this is the body of the email/ or die; + machine.wait_for_unit("mailcatcher.service") + machine.wait_for_open_port("1025") + machine.succeed( + 'echo "this is the body of the email" | mail -s "subject" root@example.org' + ) + assert "this is the body of the email" in machine.succeed( + "curl http://localhost:1080/messages/1.source" + ) ''; }) From 40ed6896e361a648aff34bfe5c70b61cbbf12d6b Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 15:46:22 +0100 Subject: [PATCH 25/90] nixosTests.lidarr: Port tests to python --- nixos/tests/lidarr.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nixos/tests/lidarr.nix b/nixos/tests/lidarr.nix index 85fcbd21d8c..d3f83e5d914 100644 --- a/nixos/tests/lidarr.nix +++ b/nixos/tests/lidarr.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ lib, ... }: +import ./make-test-python.nix ({ lib, ... }: with lib; @@ -11,8 +11,10 @@ with lib; { services.lidarr.enable = true; }; testScript = '' - $machine->waitForUnit('lidarr.service'); - $machine->waitForOpenPort('8686'); - $machine->succeed("curl --fail http://localhost:8686/"); + start_all() + + machine.wait_for_unit("lidarr.service") + machine.wait_for_open_port("8686") + machine.succeed("curl --fail http://localhost:8686/") ''; }) From 0de0b6a281501c55fff1d20b567bfa4fbf65e408 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 15:50:13 +0100 Subject: [PATCH 26/90] nixosTests.leaps: Port tests to python --- nixos/tests/leaps.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/nixos/tests/leaps.nix b/nixos/tests/leaps.nix index 6163fed56b6..65b475d734e 100644 --- a/nixos/tests/leaps.nix +++ b/nixos/tests/leaps.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ... }: +import ./make-test-python.nix ({ pkgs, ... }: { name = "leaps"; @@ -22,9 +22,11 @@ import ./make-test.nix ({ pkgs, ... }: testScript = '' - startAll; - $server->waitForOpenPort(6666); - $client->waitForUnit("network.target"); - $client->succeed("${pkgs.curl}/bin/curl http://server:6666/leaps/ | grep -i 'leaps'"); + start_all() + server.wait_for_open_port(6666) + client.wait_for_unit("network.target") + assert "leaps" in client.succeed( + "${pkgs.curl}/bin/curl http://server:6666/leaps/" + ) ''; }) From 9fbb427f6799d5fe180f5fbd07f6d93da55508c4 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 17:01:03 +0100 Subject: [PATCH 27/90] nixosTests.haproxy: Port tests to python --- nixos/tests/haproxy.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/nixos/tests/haproxy.nix b/nixos/tests/haproxy.nix index 72e77a68193..b6fed3e2108 100644 --- a/nixos/tests/haproxy.nix +++ b/nixos/tests/haproxy.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...}: { +import ./make-test-python.nix ({ pkgs, ...}: { name = "haproxy"; nodes = { machine = { ... }: { @@ -33,11 +33,13 @@ import ./make-test.nix ({ pkgs, ...}: { }; }; testScript = '' - startAll; - $machine->waitForUnit('multi-user.target'); - $machine->waitForUnit('haproxy.service'); - $machine->waitForUnit('httpd.service'); - $machine->succeed('curl -k http://localhost:80/index.txt | grep "We are all good!"'); - $machine->succeed('curl -k http://localhost:80/metrics | grep haproxy_process_pool_allocated_bytes'); + start_all() + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("haproxy.service") + machine.wait_for_unit("httpd.service") + assert "We are all good!" in machine.succeed("curl -k http://localhost:80/index.txt") + assert "haproxy_process_pool_allocated_bytes" in machine.succeed( + "curl -k http://localhost:80/metrics" + ) ''; }) From a6ac3fd89fb8dde42ae0fafa08aa27445c260054 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Sun, 15 Dec 2019 17:02:22 +0100 Subject: [PATCH 28/90] nixosTests.initrd-network: Port tests to python --- nixos/tests/initrd-network.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos/tests/initrd-network.nix b/nixos/tests/initrd-network.nix index ed9b82e2da7..4796ff9b7c8 100644 --- a/nixos/tests/initrd-network.nix +++ b/nixos/tests/initrd-network.nix @@ -1,4 +1,4 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test-python.nix ({ pkgs, ...} : { name = "initrd-network"; meta.maintainers = [ pkgs.stdenv.lib.maintainers.eelco ]; @@ -15,8 +15,8 @@ import ./make-test.nix ({ pkgs, ...} : { testScript = '' - startAll; - $machine->waitForUnit("multi-user.target"); - $machine->succeed("ip link >&2"); + start_all() + machine.wait_for_unit("multi-user.target") + machine.succeed("ip link >&2") ''; }) From cbffa52c9c954eedfaebd0be43f63e44d89312d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Mon, 16 Dec 2019 12:39:05 -0300 Subject: [PATCH 29/90] sierra-gtk-theme: 2019-05-07 -> 2019-12-16 --- pkgs/data/themes/sierra/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/themes/sierra/default.nix b/pkgs/data/themes/sierra/default.nix index e5b5ad8d611..0c9cef9e097 100644 --- a/pkgs/data/themes/sierra/default.nix +++ b/pkgs/data/themes/sierra/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "sierra-gtk-theme"; - version = "2019-05-07"; + version = "2019-12-16"; src = fetchFromGitHub { owner = "vinceliuice"; repo = pname; rev = version; - sha256 = "0rm9lcwp89ljxqrya9bi882qcs339pc1l945cr1xq2rganqyk9cq"; + sha256 = "14hlz8kbrjypyd6wyrwmnj2wm9w3kc8y00ms35ard7x8lmhs56hr"; }; nativeBuildInputs = [ libxml2 ]; From f6d75f550ebcea9145b5b63473ce2652e580a44e Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 16 Dec 2019 12:36:45 -0500 Subject: [PATCH 30/90] dockerTools.buildLayeredImage: tweak formatting on contentsEnv --- pkgs/build-support/docker/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 2a25ac04d40..0781c7dd4f1 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -536,7 +536,12 @@ rec { }: let baseName = baseNameOf name; - contentsEnv = symlinkJoin { name = "bulk-layers"; paths = (if builtins.isList contents then contents else [ contents ]); }; + contentsEnv = symlinkJoin { + name = "bulk-layers"; + paths = if builtins.isList contents + then contents + else [ contents ]; + }; configJson = let pure = writeText "${baseName}-config.json" (builtins.toJSON { From aec80dddc0416722a421330316003f27cf0c566b Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 16 Dec 2019 12:47:47 -0500 Subject: [PATCH 31/90] dockerTools.buildLayeredImage: pass a list of closures to mkManyPureLayers so it can exclude the top-most level Before, every docker image had three extra layers: 1. A `closure` layer which is an internal implementation detail of calculating the closure of the container 2. a `name-config.json` layer which is the images' run-time configuration, and has no business being *in* the image as a layer. 3. a "bulk-layers" layer which is again and implementation detail around collecting the image's closure. None of these layers need to be in the final product. --- pkgs/build-support/docker/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 0781c7dd4f1..77edbb76601 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -290,7 +290,7 @@ rec { mkManyPureLayers = { name, # Files to add to the layer. - closure, + closures, configJson, # Docker has a 125-layer maximum, we pick 100 to ensure there is # plenty of room for extension. @@ -303,10 +303,12 @@ rec { isExecutable = true; src = ./store-path-to-layer.sh; }; + + overallClosure = writeText "closure" (lib.concatStringsSep " " closures); in runCommand "${name}-granular-docker-layers" { inherit maxLayers; - paths = referencesByPopularity closure; + paths = referencesByPopularity overallClosure; nativeBuildInputs = [ jshon rsync tarsum ]; enableParallelBuilding = true; } @@ -558,7 +560,7 @@ rec { bulkLayers = mkManyPureLayers { name = baseName; - closure = writeText "closure" "${contentsEnv} ${configJson}"; + closures = [ contentsEnv configJson ]; # One layer will be taken up by the customisationLayer, so # take up one less. maxLayers = maxLayers - 1; From 700f4c538885bb9c1290d1723ec5380c2fe6e910 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 16 Dec 2019 12:57:04 -0500 Subject: [PATCH 32/90] dockerTools.buildLayeredImage: prepare to exclude some paths Without changing behavior, since this code is fiddly, make it possible to add a filtering step before packaging individual paths. --- pkgs/build-support/docker/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index 77edbb76601..eb3863bcfba 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -319,15 +319,20 @@ rec { | jshon -d config \ | jshon -s "1970-01-01T00:00:01Z" -i created > generic.json + # WARNING! # The following code is fiddly w.r.t. ensuring every layer is # created, and that no paths are missed. If you change the # following head and tail call lines, double-check that your # code behaves properly when the number of layers equals: # maxLayers-1, maxLayers, and maxLayers+1 - head -n $((maxLayers - 1)) $paths | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer} - if [ $(cat $paths | wc -l) -ge $maxLayers ]; then - tail -n+$maxLayers $paths | xargs ${storePathToLayer} $maxLayers + paths() { + cat $paths + } + + paths | head -n $((maxLayers - 1)) | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer} + if [ $(paths | wc -l) -ge $maxLayers ]; then + paths | tail -n+$maxLayers | xargs ${storePathToLayer} $maxLayers fi echo "Finished building layer '$name'" From 12e24163803c2bd0051d93fe2957351eb8046735 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Mon, 16 Dec 2019 12:58:27 -0500 Subject: [PATCH 33/90] dockerTools.buildLayeredImage: Exclude top level implementation detail layers --- pkgs/build-support/docker/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix index eb3863bcfba..bdc4f6434ed 100644 --- a/pkgs/build-support/docker/default.nix +++ b/pkgs/build-support/docker/default.nix @@ -287,6 +287,12 @@ rec { # unless there are more paths than $maxLayers. In that case, create # $maxLayers-1 for the most popular layers, and smush the remainaing # store paths in to one final layer. + # + # NOTE: the `closures` parameter is a list of closures to include. + # The TOP LEVEL store paths themselves will never be present in the + # resulting image. At this time (2019-12-16) none of these layers + # are appropriate to include, as they are all created as + # implementation details of dockerTools. mkManyPureLayers = { name, # Files to add to the layer. @@ -327,7 +333,7 @@ rec { # code behaves properly when the number of layers equals: # maxLayers-1, maxLayers, and maxLayers+1 paths() { - cat $paths + cat $paths ${lib.concatMapStringsSep " " (path: "| grep -v ${path}") (closures ++ [ overallClosure ])} } paths | head -n $((maxLayers - 1)) | cat -n | xargs -P$NIX_BUILD_CORES -n2 ${storePathToLayer} From 6f942e765ab9fae805fa41f9e94bdafc634558b9 Mon Sep 17 00:00:00 2001 From: Puck Meerburg Date: Mon, 16 Dec 2019 19:48:05 +0000 Subject: [PATCH 34/90] cups-dymo: fix build --- pkgs/misc/cups/drivers/dymo/fix-includes.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/misc/cups/drivers/dymo/fix-includes.patch b/pkgs/misc/cups/drivers/dymo/fix-includes.patch index fa7df5591dd..55f71369a00 100644 --- a/pkgs/misc/cups/drivers/dymo/fix-includes.patch +++ b/pkgs/misc/cups/drivers/dymo/fix-includes.patch @@ -65,3 +65,16 @@ diff -rp dymo-cups-drivers-1.4.0.5/src/lw/CupsFilterLabelWriter.h dymo-cups-driv #include #include "LabelWriterDriver.h" #include "LabelWriterLanguageMonitor.h" +diff -rp dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp +*** dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp 2019-12-16 19:37:23.429662838 +0000 +--- dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp 2019-12-16 19:41:48.506991614 +0000 +*************** +*** 23,28 **** +--- 23,29 ---- + #include "CupsPrintEnvironment.h" + #include + #include ++ #include + #include + + namespace DymoPrinterDriver From 586df03d5bda0007a27eb8ef6b04ac1d5802a47c Mon Sep 17 00:00:00 2001 From: worldofpeace Date: Tue, 17 Dec 2019 01:24:24 -0500 Subject: [PATCH 35/90] remmina: 1.3.4 -> 1.3.7 According to the release notes this is a "This release is meant to prepare the stable release for January, before the freeze in Debian an Ubuntu ". Not sure what that means, but I expect a stable release in NixOS 20.03 for sure. https://gitlab.com/Remmina/Remmina/-/tags/v1.3.7 --- pkgs/applications/networking/remote/remmina/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index adb70c3916f..5324ae86e52 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -4,7 +4,7 @@ , pcre, libdbusmenu-gtk3, libappindicator-gtk3 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon , libsecret, libsoup, spice-protocol, spice-gtk, epoxy, at-spi2-core -, openssl, gsettings-desktop-schemas, json-glib +, openssl, gsettings-desktop-schemas, json-glib, libsodium, webkitgtk, harfbuzz # The themes here are soft dependencies; only icons are missing without them. , gnome3 }: @@ -13,13 +13,13 @@ with stdenv.lib; stdenv.mkDerivation rec { pname = "remmina"; - version = "1.3.4"; + version = "1.3.7"; src = fetchFromGitLab { owner = "Remmina"; repo = "Remmina"; rev = "v${version}"; - sha256 = "18p6v2lalpiba0r318grlc2bvqh2qlpjw811i0934g33faviyfj1"; + sha256 = "076vz6nzs8v4d44dklsfgmwyhp48c2iywixg032znz193anjcgqn"; }; nativeBuildInputs = [ cmake ninja pkgconfig wrapGAppsHook ]; @@ -30,7 +30,8 @@ stdenv.mkDerivation rec { pcre libdbusmenu-gtk3 libappindicator-gtk3 libvncserver libpthreadstubs libXdmcp libxkbcommon libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core - openssl gnome3.adwaita-icon-theme json-glib + openssl gnome3.adwaita-icon-theme json-glib libsodium webkitgtk + harfbuzz ]; cmakeFlags = [ From 563eea492b18743810cae04f766172e8ecf86bc8 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Mon, 16 Dec 2019 21:43:19 +0100 Subject: [PATCH 36/90] nixosTests.hadoop.hdfs: Port tests to python --- nixos/tests/hadoop/hdfs.nix | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix index e7d72a56e1e..85aaab34b15 100644 --- a/nixos/tests/hadoop/hdfs.nix +++ b/nixos/tests/hadoop/hdfs.nix @@ -1,4 +1,4 @@ -import ../make-test.nix ({...}: { +import ../make-test-python.nix ({...}: { nodes = { namenode = {pkgs, ...}: { services.hadoop = { @@ -35,20 +35,20 @@ import ../make-test.nix ({...}: { }; testScript = '' - startAll + start_all() - $namenode->waitForUnit("hdfs-namenode"); - $namenode->waitForUnit("network.target"); - $namenode->waitForOpenPort(8020); - $namenode->waitForOpenPort(9870); + namenode.wait_for_unit("hdfs-namenode") + namenode.wait_for_unit("network.target") + namenode.wait_for_open_port(8020) + namenode.wait_for_open_port(9870) - $datanode->waitForUnit("hdfs-datanode"); - $datanode->waitForUnit("network.target"); - $datanode->waitForOpenPort(9864); - $datanode->waitForOpenPort(9866); - $datanode->waitForOpenPort(9867); + datanode.wait_for_unit("hdfs-datanode") + datanode.wait_for_unit("network.target") + datanode.wait_for_open_port(9864) + datanode.wait_for_open_port(9866) + datanode.wait_for_open_port(9867) - $namenode->succeed("curl http://namenode:9870"); - $datanode->succeed("curl http://datanode:9864"); + namenode.succeed("curl http://namenode:9870") + datanode.succeed("curl http://datanode:9864") ''; }) From 5cb7b2cf60a674658ae4c8225bf1d0c11b7bdc2a Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Mon, 16 Dec 2019 21:45:46 +0100 Subject: [PATCH 37/90] nixosTests.hadoop.yarn: Port tests to python --- nixos/tests/hadoop/yarn.nix | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix index 031592301f1..2264ecaff15 100644 --- a/nixos/tests/hadoop/yarn.nix +++ b/nixos/tests/hadoop/yarn.nix @@ -1,4 +1,4 @@ -import ../make-test.nix ({...}: { +import ../make-test-python.nix ({...}: { nodes = { resourcemanager = {pkgs, ...}: { services.hadoop.package = pkgs.hadoop_3_1; @@ -28,19 +28,19 @@ import ../make-test.nix ({...}: { }; testScript = '' - startAll; + start_all() - $resourcemanager->waitForUnit("yarn-resourcemanager"); - $resourcemanager->waitForUnit("network.target"); - $resourcemanager->waitForOpenPort(8031); - $resourcemanager->waitForOpenPort(8088); + resourcemanager.wait_for_unit("yarn-resourcemanager") + resourcemanager.wait_for_unit("network.target") + resourcemanager.wait_for_open_port(8031) + resourcemanager.wait_for_open_port(8088) - $nodemanager->waitForUnit("yarn-nodemanager"); - $nodemanager->waitForUnit("network.target"); - $nodemanager->waitForOpenPort(8042); - $nodemanager->waitForOpenPort(8041); + nodemanager.wait_for_unit("yarn-nodemanager") + nodemanager.wait_for_unit("network.target") + nodemanager.wait_for_open_port(8042) + nodemanager.wait_for_open_port(8041) - $resourcemanager->succeed("curl http://localhost:8088"); - $nodemanager->succeed("curl http://localhost:8042"); + resourcemanager.succeed("curl http://localhost:8088") + nodemanager.succeed("curl http://localhost:8042") ''; }) From 05587aba8b0299efbb7e5ce525b5edbb0e5af0b2 Mon Sep 17 00:00:00 2001 From: Christian Kampka Date: Mon, 16 Dec 2019 22:02:36 +0100 Subject: [PATCH 38/90] nixosTests.hitch: Port tests to python --- nixos/tests/hitch/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/tests/hitch/default.nix b/nixos/tests/hitch/default.nix index cb24c4dcffc..10612025641 100644 --- a/nixos/tests/hitch/default.nix +++ b/nixos/tests/hitch/default.nix @@ -1,4 +1,4 @@ -import ../make-test.nix ({ pkgs, ... }: +import ../make-test-python.nix ({ pkgs, ... }: { name = "hitch"; meta = with pkgs.stdenv.lib.maintainers; { @@ -23,11 +23,11 @@ import ../make-test.nix ({ pkgs, ... }: testScript = '' - startAll; + start_all() - $machine->waitForUnit('multi-user.target'); - $machine->waitForUnit('hitch.service'); - $machine->waitForOpenPort(443); - $machine->succeed('curl -k https://localhost:443/index.txt | grep "We are all good!"'); + machine.wait_for_unit("multi-user.target") + machine.wait_for_unit("hitch.service") + machine.wait_for_open_port(443) + assert "We are all good!" in machine.succeed("curl -k https://localhost:443/index.txt") ''; }) From 01591517053f759a2b5eccd43ecccea108aa0f06 Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Tue, 17 Dec 2019 15:26:06 +0100 Subject: [PATCH 39/90] manual: specify interpreter in virtualenv shell Without this virtualenv might try to setup an environment for a different version of python then the one specified in the expression. --- doc/languages-frameworks/python.section.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index 1bedebd1190..9cb0e1eecc1 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -1034,7 +1034,10 @@ Create this `default.nix` file, together with a `requirements.txt` and simply ex ```nix with import {}; -with python27Packages; + +let + pythonPackages = python27Packages; +in stdenv.mkDerivation { name = "impurePythonEnv"; @@ -1044,9 +1047,8 @@ stdenv.mkDerivation { buildInputs = [ # these packages are required for virtualenv and pip to work: # - python27Full - python27Packages.virtualenv - python27Packages.pip + pythonPackages.virtualenv + pythonPackages.pip # the following packages are related to the dependencies of your python # project. # In this particular example the python modules listed in the @@ -1059,14 +1061,13 @@ stdenv.mkDerivation { libxml2 libxslt libzip - stdenv zlib ]; shellHook = '' # set SOURCE_DATE_EPOCH so that we can use python wheels SOURCE_DATE_EPOCH=$(date +%s) - virtualenv --no-setuptools venv + virtualenv --python=${pythonPackages.python.interpreter} --no-setuptools venv export PATH=$PWD/venv/bin:$PATH pip install -r requirements.txt ''; From a5dd19de79c0c0d173030a18a543580c5e644cfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Maret?= Date: Mon, 9 Dec 2019 21:13:39 +0100 Subject: [PATCH 40/90] sundials: replace liblapack by openblas --- pkgs/development/libraries/sundials/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index 77a7764acb8..d19ecf34ab9 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -2,19 +2,17 @@ , cmake , fetchurl , python -, liblapack +, openblas , gfortran , lapackSupport ? true }: -let liblapackShared = liblapack.override { - shared = true; -}; +let openblas32 = openblas.override { blas64 = false; }; in stdenv.mkDerivation rec { pname = "sundials"; version = "5.0.0"; - buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ]; + buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran openblas32 ]; nativeBuildInputs = [ cmake ]; src = fetchurl { @@ -40,7 +38,7 @@ in stdenv.mkDerivation rec { ] ++ stdenv.lib.optionals (lapackSupport) [ "-DSUNDIALS_INDEX_TYPE=int32_t" "-DLAPACK_ENABLE=ON" - "-DLAPACK_LIBRARIES=${liblapackShared}/lib/liblapack${stdenv.hostPlatform.extensions.sharedLibrary};${liblapackShared}/lib/libblas${stdenv.hostPlatform.extensions.sharedLibrary}" + "-DLAPACK_LIBRARIES=${openblas32}/lib/libopenblas${stdenv.hostPlatform.extensions.sharedLibrary}" ]; doCheck = true; From 7e929390ae464ba147c8d1e77d53c9fc62a6d5cf Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Tue, 17 Dec 2019 11:56:46 -0500 Subject: [PATCH 41/90] slack: add xdg_utils to the PATH Otherwise it cannot log in to new workspaces. --- .../networking/instant-messengers/slack/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix index da470c349ee..e501d3bcdbf 100644 --- a/pkgs/applications/networking/instant-messengers/slack/default.nix +++ b/pkgs/applications/networking/instant-messengers/slack/default.nix @@ -1,7 +1,7 @@ { theme ? null, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk-pixbuf, libappindicator-gtk3, libnotify, libxcb, nspr, nss, pango , systemd, xorg, -at-spi2-atk, at-spi2-core, libuuid, nodePackages, libpulseaudio +at-spi2-atk, at-spi2-core, libuuid, nodePackages, libpulseaudio, xdg_utils }: let @@ -93,7 +93,8 @@ in stdenv.mkDerivation { # Replace the broken bin/slack symlink with a startup wrapper rm $out/bin/slack makeWrapper $out/lib/slack/slack $out/bin/slack \ - --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH + --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH \ + --prefix PATH : ${xdg_utils}/bin # Fix the desktop link substituteInPlace $out/share/applications/slack.desktop \ From bc3fade573c8bfd49916b4afa3d00b37afe655ec Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 20:37:50 -0800 Subject: [PATCH 42/90] python3Packages.jaraco_text: 3.1 -> 3.2.0 --- .../python-modules/jaraco_text/default.nix | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/jaraco_text/default.nix b/pkgs/development/python-modules/jaraco_text/default.nix index 1d6ce78b685..9b3821edd7a 100644 --- a/pkgs/development/python-modules/jaraco_text/default.nix +++ b/pkgs/development/python-modules/jaraco_text/default.nix @@ -1,15 +1,31 @@ -{ buildPythonPackage, fetchPypi, setuptools_scm +{ lib, buildPythonPackage, fetchPypi, pythonOlder +, importlib-resources , jaraco_functools +, setuptools_scm }: buildPythonPackage rec { pname = "jaraco.text"; - version = "3.1"; + version = "3.2.0"; + src = fetchPypi { inherit pname version; - sha256 = "0c7effed0f269e8bdae3374a7545763e84c1e7f9777cf2dd2d49eef92eb0d7b7"; + sha256 = "1v0hz3h74m31jlbc5bxwkvrx1h2n7887bajrg1n1c3yc4q8qn1z5"; }; + + nativeBuildInputs =[ setuptools_scm ]; + propagatedBuildInputs = [ + jaraco_functools + ] ++ lib.optional (pythonOlder "3.7") [ importlib-resources ]; + + # no tests in pypi package doCheck = false; - buildInputs =[ setuptools_scm ]; - propagatedBuildInputs = [ jaraco_functools ]; + + meta = with lib; { + description = "Module for text manipulation"; + homepage = "https://github.com/jaraco/jaraco.text"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + }; + } From f9b7209e2900d843d975e93092782c5ec454ee56 Mon Sep 17 00:00:00 2001 From: Serg Nesterov Date: Tue, 17 Dec 2019 20:38:08 +0300 Subject: [PATCH 43/90] restic: 0.9.5 -> 0.9.6 --- pkgs/tools/backup/restic/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix index b78fc9b61f7..26f05d41954 100644 --- a/pkgs/tools/backup/restic/default.nix +++ b/pkgs/tools/backup/restic/default.nix @@ -2,7 +2,7 @@ buildGoPackage rec { pname = "restic"; - version = "0.9.5"; + version = "0.9.6"; goPackagePath = "github.com/restic/restic"; @@ -10,7 +10,7 @@ buildGoPackage rec { owner = "restic"; repo = "restic"; rev = "v${version}"; - sha256 = "1bhn3xwlycpnjg2qbqblwxn3apj43lr5cakgkmrblk13yfwfv5xv"; + sha256 = "0lydll93n1lcn1fl669b9cikmzz9d6vfpc8ky3ng5fi8kj3v1dz7"; }; buildPhase = '' From a77524e2e38a30bdfaf16ba153700b28c2d70d7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20P=C3=A4ssler?= Date: Tue, 17 Dec 2019 23:27:58 +0100 Subject: [PATCH 44/90] dovecot_pigeonhole: 0.5.8 -> 0.5.9 Fixes build with dovecot 2.3.9+. --- pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix index 4184771f8a8..71a5c20dea3 100644 --- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix +++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "dovecot-pigeonhole"; - version = "0.5.8"; + version = "0.5.9"; src = fetchurl { url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz"; - sha256 = "08lhfl877xm790f1mqdhvz74xqr2kkl8wpz2m6p0j6hv1kan1f4g"; + sha256 = "01dxidrnmrr2gqggfsgkfxa6ynvyjyw13xw32gi86yqmwnm6inin"; }; buildInputs = [ dovecot openssl ]; From 8d5f5e7e3e73ff185b5cb88952cdafb81042c7f6 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Tue, 17 Dec 2019 23:36:44 +0100 Subject: [PATCH 45/90] signal-desktop: 1.29.0 -> 1.29.1 --- .../networking/instant-messengers/signal-desktop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index 6bbdb66d3a8..4a72c186dfa 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -59,7 +59,7 @@ let in stdenv.mkDerivation rec { pname = "signal-desktop"; - version = "1.29.0"; # Please backport all updates to the stable channel. + version = "1.29.1"; # Please backport all updates to the stable channel. # All releases have a limited lifetime and "expire" 90 days after the release. # When releases "expire" the application becomes unusable until an update is # applied. The expiration date for the current release can be extracted with: @@ -69,7 +69,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "1zbj0z4bhmg6zf975bn67wpr1kdi0h05d90aniijnh5wqgnwhfqn"; + sha256 = "12n17d8b31si7gngvv8bhbcid46n18kznv875nyy34i6b97zavmh"; }; phases = [ "unpackPhase" "installPhase" ]; From 705cc5381725b2db19197f6a219d55c88525ee7f Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 18 Dec 2019 00:26:41 +0100 Subject: [PATCH 46/90] fsv: fix build with gettext 0.20 --- pkgs/applications/misc/fsv/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/misc/fsv/default.nix b/pkgs/applications/misc/fsv/default.nix index 00e11858fb4..bbc78efe5cd 100644 --- a/pkgs/applications/misc/fsv/default.nix +++ b/pkgs/applications/misc/fsv/default.nix @@ -26,6 +26,11 @@ in stdenv.mkDerivation rec { sha256 = "0n09jd7yqj18mx6zqbg7kab4idg5llr15g6avafj74fpg1h7iimj"; }; + postPatch = '' + # fix build with gettext 0.20 + sed -i 's/AM_GNU_GETTEXT/AM_GNU_GETTEXT([external])/' configure.in + ''; + nativeBuildInputs = [ autoreconfHook libtool pkgconfig ]; buildInputs = [ file gtk2 libGLU gtkglarea ]; From 87489677f49a2310282a020736246bce1503cf0d Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Tue, 17 Dec 2019 18:42:55 +0100 Subject: [PATCH 47/90] kpat: init at 19.12.0 --- pkgs/applications/kde/default.nix | 1 + pkgs/applications/kde/kpat.nix | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/applications/kde/kpat.nix diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix index 70a716a760c..40e69f8c9bc 100644 --- a/pkgs/applications/kde/default.nix +++ b/pkgs/applications/kde/default.nix @@ -138,6 +138,7 @@ let konquest = callPackage ./konquest.nix {}; konqueror = callPackage ./konqueror.nix {}; korganizer = callPackage ./korganizer.nix {}; + kpat = callPackage ./kpat.nix {}; kpimtextedit = callPackage ./kpimtextedit.nix {}; ksmtp = callPackage ./ksmtp {}; kqtquickcharts = callPackage ./kqtquickcharts.nix {}; diff --git a/pkgs/applications/kde/kpat.nix b/pkgs/applications/kde/kpat.nix new file mode 100644 index 00000000000..9ee57353237 --- /dev/null +++ b/pkgs/applications/kde/kpat.nix @@ -0,0 +1,25 @@ +{ lib +, mkDerivation +, extra-cmake-modules +, knewstuff +, shared-mime-info +, libkdegames +, freecell-solver +}: + +mkDerivation { + name = "kpat"; + nativeBuildInputs = [ + extra-cmake-modules + shared-mime-info + ]; + buildInputs = [ + knewstuff + libkdegames + freecell-solver + ]; + meta = { + license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; + maintainers = with lib.maintainers; [ rnhmjoj ]; + }; +} From 28a057a56bf4b699208b1adf4171abc5b8b2976d Mon Sep 17 00:00:00 2001 From: Justin Bedo Date: Wed, 18 Dec 2019 10:36:51 +1100 Subject: [PATCH 48/90] bedtools: 2.29.1 -> 2.29.2 --- pkgs/applications/science/biology/bedtools/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/biology/bedtools/default.nix b/pkgs/applications/science/biology/bedtools/default.nix index 0bb5ee866e5..9af2ec88c39 100644 --- a/pkgs/applications/science/biology/bedtools/default.nix +++ b/pkgs/applications/science/biology/bedtools/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "bedtools"; - version = "2.29.1"; + version = "2.29.2"; src = fetchFromGitHub { owner = "arq5x"; repo = "bedtools2"; rev = "v${version}"; - sha256 = "1vbpjvzl4ppzkan9qgm84bkn9kl3h3m5xz92y18wn1sksxcdq50x"; + sha256 = "015qq3pwrwgnyxyi959niijjlswl231b3wxlsm3l8msv6fdhmkz8"; }; buildInputs = [ zlib python bzip2 lzma ]; From 2b3026f172d3bb6d4b03a238da04d0067a4df63b Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Fri, 6 Dec 2019 18:18:47 +0000 Subject: [PATCH 49/90] maintainers: adding pashashocky --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f2632f8f69d..08db4549733 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5239,6 +5239,12 @@ githubId = 20792; name = "Sebastian Galkin"; }; + pashashocky = { + email = "pashashocky@gmail.com"; + github = "pashashocky"; + githubId = 673857; + name = "Pash Shocky"; + }; pashev = { email = "pashev.igor@gmail.com"; github = "ip1981"; From 82116878da9ddaf54b7213428a828cf4f090fb26 Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Sat, 7 Dec 2019 01:15:09 +0000 Subject: [PATCH 50/90] sentencepiece: init at 0.1.84 --- .../libraries/sentencepiece/default.nix | 31 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/libraries/sentencepiece/default.nix diff --git a/pkgs/development/libraries/sentencepiece/default.nix b/pkgs/development/libraries/sentencepiece/default.nix new file mode 100644 index 00000000000..556f77ef8b5 --- /dev/null +++ b/pkgs/development/libraries/sentencepiece/default.nix @@ -0,0 +1,31 @@ +{ config +, fetchFromGitHub +, stdenv +, lib +, cmake +, gperftools +}: + +stdenv.mkDerivation rec { + pname = "sentencepiece"; + version = "0.1.84"; + + src = fetchFromGitHub { + owner = "google"; + repo = pname; + rev = "v${version}"; + sha256 = "144y25nj4rwxmgvzqbr7al9fjwh3539ssjswvzrx4gsgfk62lsm0"; + }; + + enableParallelBuilding = true; + + nativeBuildInputs = [ cmake gperftools ]; + + meta = with stdenv.lib; { + homepage = https://github.com/google/sentencepiece; + description = "Unsupervised text tokenizer for Neural Network-based text generation"; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ pashashocky ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e11f942c6fb..d71a039199c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25611,4 +25611,6 @@ in gortr = callPackage ../servers/gortr {}; + sentencepiece = callPackage ../development/libraries/sentencepiece {}; + } From 0b68e445e12a330734733b409763424c52b136b1 Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Sat, 7 Dec 2019 03:26:02 +0000 Subject: [PATCH 51/90] pythonPackages.sentencepiece: init at 0.1.84 --- .../python-modules/sentencepiece/default.nix | 15 +++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++++ 2 files changed, 19 insertions(+) create mode 100644 pkgs/development/python-modules/sentencepiece/default.nix diff --git a/pkgs/development/python-modules/sentencepiece/default.nix b/pkgs/development/python-modules/sentencepiece/default.nix new file mode 100644 index 00000000000..ab7a5387c02 --- /dev/null +++ b/pkgs/development/python-modules/sentencepiece/default.nix @@ -0,0 +1,15 @@ +{ buildPythonPackage +, stdenv +, sentencepiece +, pkgconfig +}: + +buildPythonPackage rec { + pname = "sentencepiece"; + inherit (sentencepiece) version src meta; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ sentencepiece ]; + + sourceRoot = "source/python"; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dba6218ec5a..7efd994ce8b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1281,6 +1281,10 @@ in { selectors2 = callPackage ../development/python-modules/selectors2 { }; + sentencepiece = callPackage ../development/python-modules/sentencepiece { + inherit (pkgs) sentencepiece pkgconfig; + }; + sentinel = callPackage ../development/python-modules/sentinel { }; sentry-sdk = callPackage ../development/python-modules/sentry-sdk {}; From 16d9c2a5702511b03bb3700fb717060491cc1252 Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Fri, 6 Dec 2019 18:37:50 +0000 Subject: [PATCH 52/90] sacremoses: init at 0.0.35 --- .../python-modules/sacremoses/default.nix | 37 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/python-modules/sacremoses/default.nix diff --git a/pkgs/development/python-modules/sacremoses/default.nix b/pkgs/development/python-modules/sacremoses/default.nix new file mode 100644 index 00000000000..ef0fcb57dc9 --- /dev/null +++ b/pkgs/development/python-modules/sacremoses/default.nix @@ -0,0 +1,37 @@ +{ buildPythonPackage +, stdenv +, fetchFromGitHub +, click +, six +, tqdm +, joblib +, pytest +}: + +buildPythonPackage rec { + pname = "sacremoses"; + version = "0.0.35"; + + src = fetchFromGitHub { + owner = "alvations"; + repo = pname; + rev = "${version}"; + sha256 = "1gzr56w8yx82mn08wax5m0xyg15ym4ri5l80gmagp8r53443j770"; + }; + + propagatedBuildInputs = [ click six tqdm joblib ]; + + checkInputs = [ pytest ]; + # ignore tests which call to remote host + checkPhase = '' + pytest -k 'not truecase' + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/alvations/sacremoses"; + description = "Python port of Moses tokenizer, truecaser and normalizer"; + license = licenses.lgpl21Plus; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ pashashocky ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7efd994ce8b..6270b4bba33 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1281,6 +1281,8 @@ in { selectors2 = callPackage ../development/python-modules/selectors2 { }; + sacremoses = callPackage ../development/python-modules/sacremoses { }; + sentencepiece = callPackage ../development/python-modules/sentencepiece { inherit (pkgs) sentencepiece pkgconfig; }; From dae6544457901efcc458801b771da768e92cc8a4 Mon Sep 17 00:00:00 2001 From: Pash Shocky Date: Fri, 6 Dec 2019 18:40:29 +0000 Subject: [PATCH 53/90] transformers: init at 2.2.1 --- .../python-modules/transformers/default.nix | 41 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/python-modules/transformers/default.nix diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix new file mode 100644 index 00000000000..09ebf739d7d --- /dev/null +++ b/pkgs/development/python-modules/transformers/default.nix @@ -0,0 +1,41 @@ +{ buildPythonPackage +, stdenv +, fetchFromGitHub +, sacremoses +, requests +, sentencepiece +, boto3 +, tqdm +, regex +, numpy +, pytest +}: + +buildPythonPackage rec { + pname = "transformers"; + version = "2.2.1"; + + src = fetchFromGitHub { + owner = "huggingface"; + repo = pname; + rev = "v${version}"; + sha256 = "1p8p3lhhiyk1xl9gpgq4vbchyz57v3w7hhvsj1r90zs3cckindl8"; + }; + + propagatedBuildInputs = [ numpy sacremoses requests sentencepiece boto3 tqdm regex ]; + + checkInputs = [ pytest ]; + # pretrained tries to download from s3 + checkPhase = '' + cd transformers # avoid importing local files + HOME=$TMPDIR pytest -k 'not pretrained_tokenizers' + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/huggingface/transformers"; + description = "State-of-the-art Natural Language Processing for TensorFlow 2.0 and PyTorch"; + license = licenses.asl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ pashashocky ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6270b4bba33..ed66a20db53 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1287,6 +1287,8 @@ in { inherit (pkgs) sentencepiece pkgconfig; }; + transformers = callPackage ../development/python-modules/transformers { }; + sentinel = callPackage ../development/python-modules/sentinel { }; sentry-sdk = callPackage ../development/python-modules/sentry-sdk {}; From 797b706daf2ac6223f8d15220fa86376fceb24ec Mon Sep 17 00:00:00 2001 From: Ryan Orendorff <56783407+orendorff-mi@users.noreply.github.com> Date: Wed, 18 Dec 2019 09:32:32 +0800 Subject: [PATCH 54/90] barrier: add openssl runtime dependency (#75490) * barrier: add openssl runtime dependency The barrier GUI creates an SSL certificate at runtime using OpenSSL. We add openssl to the path to enable this feature. * barrier: fix GLib-GIO-ERROR rg.gtk.Settings.FileChooser When you use the Barrier menu item in the GUI to save the configuration, the program crashes. wrapGAppsHook fixes this issue. Error was: GLib-GIO-ERROR **: 19:03:29.155: Settings schema 'org.gtk.Settings.FileChooser' does not contain a key nixos * barrier: move cmake buildInputs to nativeBuildInputs --- pkgs/applications/misc/barrier/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/misc/barrier/default.nix b/pkgs/applications/misc/barrier/default.nix index d8325e19e26..10e46176c6e 100644 --- a/pkgs/applications/misc/barrier/default.nix +++ b/pkgs/applications/misc/barrier/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchFromGitHub, cmake, curl, xorg, avahi, qtbase, mkDerivation, + openssl, wrapGAppsHook, avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; } }: @@ -13,12 +14,17 @@ mkDerivation rec { sha256 = "1gbg3p7c0vcsdzsjj1ssx6k8xpj3rpyvais12266f0xvnbvihczd"; }; - buildInputs = [ cmake curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ]; + buildInputs = [ curl xorg.libX11 xorg.libXext xorg.libXtst avahiWithLibdnssdCompat qtbase ]; + nativeBuildInputs = [ cmake wrapGAppsHook ]; postFixup = '' substituteInPlace "$out/share/applications/barrier.desktop" --replace "Exec=barrier" "Exec=$out/bin/barrier" ''; + qtWrapperArgs = [ + ''--prefix PATH : ${stdenv.lib.makeBinPath [ openssl ]}'' + ]; + meta = { description = "Open-source KVM software"; longDescription = '' From 0e182006c1d5154bdde3b9b4f09773531b4fbd23 Mon Sep 17 00:00:00 2001 From: Sascha Grunert Date: Wed, 18 Dec 2019 09:09:11 +0100 Subject: [PATCH 55/90] slirp4netns: v0.4.2 -> v0.4.3 Signed-off-by: Sascha Grunert --- pkgs/tools/networking/slirp4netns/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/slirp4netns/default.nix b/pkgs/tools/networking/slirp4netns/default.nix index 83f315706ef..f9add47dd3f 100644 --- a/pkgs/tools/networking/slirp4netns/default.nix +++ b/pkgs/tools/networking/slirp4netns/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "slirp4netns"; - version = "0.4.2"; + version = "0.4.3"; src = fetchFromGitHub { owner = "rootless-containers"; repo = "slirp4netns"; rev = "v${version}"; - sha256 = "0i0rhb7n2i2nmbvdqdx83vi3kw4r17p7p099sr857cr3f3c221qx"; + sha256 = "0g7apfw33wkxxj7qwvlnnhv7qy13s1gkbmvns8612c0yfv9jrsvq"; }; nativeBuildInputs = [ autoreconfHook pkgconfig ]; From 96d73edaf33f4c9ee452f65504bfdfab9a653eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 18 Dec 2019 11:04:30 +0100 Subject: [PATCH 56/90] release: remove metrics from unstable channel (temporarily) Since friday the metrics machine (along with other replaceable ones) has no public-IP connectivity. I hoped I'd be able to resolve this with ISP quickly, but apparently not. Let's not block the channel at least. The metrics data can get filled retrospectively by restarting the individual Hydra jobs. --- pkgs/top-level/release.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index f832268899d..3d8aad5b18d 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -89,7 +89,7 @@ let meta.description = "Release-critical builds for the Nixpkgs unstable channel"; constituents = [ jobs.tarball - jobs.metrics + #jobs.metrics #FIXME(vcunat): re-enable this as soon as possible jobs.manual jobs.lib-tests jobs.stdenv.x86_64-linux From 727b097c78934eae1f31dc5612df8f6246837d70 Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Wed, 18 Dec 2019 17:48:38 +0700 Subject: [PATCH 57/90] ripgrep-all: add missing dependencies This change adds additional dependencies so that the program's full functionality is available by simply installing this package. Closes #75735 --- pkgs/tools/text/ripgrep-all/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/ripgrep-all/default.nix b/pkgs/tools/text/ripgrep-all/default.nix index 521b123d878..b17b6078c28 100644 --- a/pkgs/tools/text/ripgrep-all/default.nix +++ b/pkgs/tools/text/ripgrep-all/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchFromGitHub, rustPlatform, makeWrapper, ffmpeg -, pandoc, poppler_utils, ripgrep, Security +, pandoc, poppler_utils, ripgrep, Security, imagemagick, tesseract }: rustPlatform.buildRustPackage rec { @@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec { postInstall = '' wrapProgram $out/bin/rga \ - --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep ]}" + --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep imagemagick tesseract ]}" ''; meta = with stdenv.lib; { From f1acc6e70e20ffcc3354b6055a4d5e6f6f68b718 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 18 Dec 2019 11:53:16 +0100 Subject: [PATCH 58/90] matrix-synapse: 1.7.0 -> 1.7.1 https://github.com/matrix-org/synapse/releases/tag/v1.7.1 --- pkgs/servers/matrix-synapse/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index 72e3b5fc0e8..db61fd5568e 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -23,11 +23,11 @@ let in buildPythonApplication rec { pname = "matrix-synapse"; - version = "1.7.0"; + version = "1.7.1"; src = fetchPypi { inherit pname version; - sha256 = "1z7q34yazjb3glzhm0si0pzif32gnp03bmd490gckkl30rklyxsp"; + sha256 = "1aix4n4nk90xh6y3w3gvq3wzvykzz7mhj9isl437nid7mf9mcj6n"; }; patches = [ From cad12aee9bcbe0de152e0d15596a6df4407bc54e Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 16 Dec 2019 14:06:45 +0000 Subject: [PATCH 59/90] gubbi-font: init at 1.3 --- pkgs/data/fonts/gubbi/default.nix | 29 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/data/fonts/gubbi/default.nix diff --git a/pkgs/data/fonts/gubbi/default.nix b/pkgs/data/fonts/gubbi/default.nix new file mode 100644 index 00000000000..2d1c520e610 --- /dev/null +++ b/pkgs/data/fonts/gubbi/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, fontforge }: + +stdenv.mkDerivation rec { + pname = "gubbi-font"; + version = "1.3"; + + src = fetchFromGitHub { + owner = "aravindavk"; + repo = "gubbi"; + rev = "v${version}"; + sha256 = "10w9i3pmjvs1b3xclrgn4q5a95ss4ipldbxbqrys2dmfivx7i994"; + }; + + nativeBuildInputs = [ fontforge ]; + + dontConfigure = true; + + preBuild = "patchShebangs generate.pe"; + + installPhase = "install -Dm444 -t $out/share/fonts/truetype/ Gubbi.ttf"; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "A Kannada font"; + license = licenses.gpl3Plus; + platforms = platforms.all; + maintainers = with maintainers; [ ehmry ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 09bd48b084b..4d73deb84cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17296,6 +17296,8 @@ in greybird = callPackage ../data/themes/greybird { }; + gubbi-font = callPackage ../data/fonts/gubbi { }; + gyre-fonts = callPackage ../data/fonts/gyre {}; hack-font = callPackage ../data/fonts/hack { }; From 5b29c8d9372218c61d3a3d073a362c50f94c4c62 Mon Sep 17 00:00:00 2001 From: BSKY Date: Wed, 18 Dec 2019 01:36:57 +0900 Subject: [PATCH 60/90] yarn: 1.19.2 -> 1.21.1 --- pkgs/development/tools/yarn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix index 3384dac5410..154b228e0e1 100644 --- a/pkgs/development/tools/yarn/default.nix +++ b/pkgs/development/tools/yarn/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "yarn"; - version = "1.19.2"; + version = "1.21.1"; src = fetchzip { url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz"; - sha256 = "05sjf7pgdj3hh92j2xxl683frrkiw1rqxs72z3an4gb83nllvi0n"; + sha256 = "1yw3v62a6309f9hr189870i9jw2a15pkians1nnfjqczzh7r5pih"; }; buildInputs = [ nodejs ]; From 05aa59afa639c188e82e565b63976fa69a7a51a6 Mon Sep 17 00:00:00 2001 From: David Wood Date: Wed, 18 Dec 2019 10:37:26 +0000 Subject: [PATCH 61/90] franz: fix `Exec` substitution in `franz.desktop` Signed-off-by: David Wood --- .../networking/instant-messengers/franz/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/instant-messengers/franz/default.nix b/pkgs/applications/networking/instant-messengers/franz/default.nix index feba61c8a3b..605550beb50 100644 --- a/pkgs/applications/networking/instant-messengers/franz/default.nix +++ b/pkgs/applications/networking/instant-messengers/franz/default.nix @@ -35,7 +35,7 @@ in stdenv.mkDerivation { # provide desktop item and icon cp -r usr/share $out substituteInPlace $out/share/applications/franz.desktop \ - --replace Exec=\"/opt/Franz/franz\" Exec=franz + --replace /opt/Franz/franz franz ''; dontWrapGApps = true; From c3c072ad17fa517afaed23fa29fb2f4f3b4f863c Mon Sep 17 00:00:00 2001 From: Emmanuel Rosa Date: Wed, 18 Dec 2019 21:17:59 +0700 Subject: [PATCH 62/90] ripgrep-all: add checkInstall test This change adds a checkInstallPhase which runs a couple of queries to smoke-test the ripgrep-all adapters. The queries are intended to ensure that the dependencies needed by the adapters are included in the package's dependencies. --- pkgs/tools/text/ripgrep-all/default.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pkgs/tools/text/ripgrep-all/default.nix b/pkgs/tools/text/ripgrep-all/default.nix index b17b6078c28..d41be25231c 100644 --- a/pkgs/tools/text/ripgrep-all/default.nix +++ b/pkgs/tools/text/ripgrep-all/default.nix @@ -22,6 +22,30 @@ rustPlatform.buildRustPackage rec { --prefix PATH ":" "${lib.makeBinPath [ ffmpeg pandoc poppler_utils ripgrep imagemagick tesseract ]}" ''; + # Use upstream's example data to run a couple of queries to ensure the dependencies + # for all of the adapters are available. + installCheckPhase = '' + set -e + export PATH="$PATH:$out/bin" + + test1=$(rga --rga-no-cache "hello" exampledir/ | wc -l) + test2=$(rga --rga-no-cache --rga-adapters=tesseract "crate" exampledir/screenshot.png | wc -l) + + if [ $test1 != 26 ] + then + echo "ERROR: test1 failed! Could not find the word 'hello' 26 times in the sample data." + exit 1 + fi + + if [ $test2 != 1 ] + then + echo "ERROR: test2 failed! Could not find the word 'crate' in the screenshot." + exit 1 + fi + ''; + + doInstallCheck = true; + meta = with stdenv.lib; { description = "Ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, and more"; longDescription = '' From 4cccc3c543bd9b9cf289f44b610e866a743e5124 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 18 Dec 2019 16:46:50 +0100 Subject: [PATCH 63/90] androidStudioPackages.beta: 3.6.0.17 -> 3.6.0.18 --- pkgs/applications/editors/android-studio/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index ee3865590e5..fcd15355a10 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -13,9 +13,9 @@ let sha256Hash = "1nsm4d3vdx90szqd78a8mjq65xc9m5ipd35cqrlx3c3ny900sqxg"; }; betaVersion = { - version = "3.6.0.17"; # "Android Studio 3.6 Beta 5" - build = "192.6018865"; - sha256Hash = "0qlrdf7a6f5585mrni1aa2chic4n7b9c8lgrj8br6q929hc2f5d9"; + version = "3.6.0.18"; # "Android Studio 3.6 RC 1" + build = "192.6071332"; + sha256Hash = "0xpcihr5xxr9l1kv6aflywshs8fww3s7di0g98mz475whhxwzf3q"; }; latestVersion = { # canary & dev version = "4.0.0.6"; # "Android Studio 4.0 Canary 6" From 38e3b0e39f61a7a8a211a659cea98f3ba0587f8b Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:22:59 -0500 Subject: [PATCH 64/90] linux: 4.14.158 -> 4.14.159 --- pkgs/os-specific/linux/kernel/linux-4.14.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index d57953bbb72..ccc2f94814a 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.158"; + version = "4.14.159"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1cqvr8pgqx005a9qyphqykakzwc54adq8mmdc9sgrxkkw9rfqj8d"; + sha256 = "1wi6m3w40z0v9krb12g9q09s9y471r51rhcv3qa81lc53cx2vm78"; }; } // (args.argsOverride or {})) From 819a16497447ec79eec9e66ac23fd9cbdd55005d Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:23:16 -0500 Subject: [PATCH 65/90] linux: 4.19.89 -> 4.19.90 --- pkgs/os-specific/linux/kernel/linux-4.19.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index 8ac7e720a37..a04156ebd84 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.89"; + version = "4.19.90"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0ijx8ih91p4g95zpwz6ga3q2x9lf1948xf2v5mz4348byf5hdwv8"; + sha256 = "1zgpbim9019aymvgh0fr5g2r9j2xspw14amlnk09w5mgdl56rn19"; }; } // (args.argsOverride or {})) From 0ea28ae4562a608f40cb0d1d8192c83a9ffc9661 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:23:39 -0500 Subject: [PATCH 66/90] linux: 5.3.16 -> 5.3.18 --- pkgs/os-specific/linux/kernel/linux-5.3.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix index d384ae67587..d83f0fb9813 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.3.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.3.16"; + version = "5.3.18"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "19asdv08rzp33f0zxa2swsfnbhy4zwg06agj7sdnfy4wfkrfwx49"; + sha256 = "133342nv9ddjad2rizmcbilg9rhg339sfqr9l77j4cgkqhblkw90"; }; } // (args.argsOverride or {})) From ae163fb86717844a5e8d02d3fb559aa52b83e9bd Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:23:51 -0500 Subject: [PATCH 67/90] linux: 5.4.3 -> 5.4.5 --- pkgs/os-specific/linux/kernel/linux-5.4.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix index ea332a246b3..11cfcae8673 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.4.3"; + version = "5.4.5"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0lgfg31pgvdhkh9y4y4yh075mlk3qa6npxp7n19yxcg168pnhcb7"; + sha256 = "1h1ynb51gd4kiakqlkcc7vny45j2snbg4j985qf171mszckrz3jn"; }; } // (args.argsOverride or {})) From a80cdb8bad5622e9e335484d6a61543dbc291427 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:24:08 -0500 Subject: [PATCH 68/90] linux_latest-libre: 17112 -> 17117 --- pkgs/os-specific/linux/kernel/linux-libre.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index fb5244e28ea..db9a23984c7 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "17112"; - sha256 = "049vmi9q1vrcrq9p1zxj6bhhpkgy8fsyh955b54z3xlw7czng1s1"; + rev = "17117"; + sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789"; } , ... }: From 52ed4751af8bb8008fcceba9c74e55eb324b81d6 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 11:37:42 -0500 Subject: [PATCH 69/90] oh-my-zsh: 2019-12-07 -> 2019-12-18 --- pkgs/shells/zsh/oh-my-zsh/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix index ad99163f4c6..97377c9fff0 100644 --- a/pkgs/shells/zsh/oh-my-zsh/default.nix +++ b/pkgs/shells/zsh/oh-my-zsh/default.nix @@ -4,13 +4,13 @@ { stdenv, fetchgit }: stdenv.mkDerivation rec { - version = "2019-12-07"; + version = "2019-12-18"; pname = "oh-my-zsh"; - rev = "664664f6cd8a1c02a38063c8f2104f0515a19399"; + rev = "7dddfe0a39b75acbe265c47b6d1dc575d6dedd9f"; src = fetchgit { inherit rev; url = "https://github.com/ohmyzsh/ohmyzsh"; - sha256 = "0d9x4fp9hxyk3h4jlq74v5k9xyngcx1g45aihikyj6fzqk2h1pax"; + sha256 = "14p723ax6l24kwi72dwl3zjd7907p0f38bdhwk527fpihm7vgrj0"; }; pathsToLink = [ "/share/oh-my-zsh" ]; From aed6f881b0709d8f51738e7bc2fa3fcafcc3e6bb Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Tue, 17 Dec 2019 12:36:53 +0200 Subject: [PATCH 70/90] gleam: init at 0.5.0 Close #71432. Co-authored-by: Norbert Melzer --- pkgs/development/compilers/gleam/default.nix | 24 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 28 insertions(+) create mode 100644 pkgs/development/compilers/gleam/default.nix diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix new file mode 100644 index 00000000000..2080a643959 --- /dev/null +++ b/pkgs/development/compilers/gleam/default.nix @@ -0,0 +1,24 @@ +{ stdenv, rustPlatform, fetchFromGitHub, Security }: + +rustPlatform.buildRustPackage rec { + pname = "gleam"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "lpil"; + repo = pname; + rev = "v${version}"; + sha256 = "17h573fm5b1f71ivyipl76p0vw7injm7j3cbg6plkfizcb1j5m7f"; + }; + + buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ]; + + cargoSha256 = "04v1gj5nmmcizyrsg6b87qsfzw2zqi57vf1zlnq8680yc54qdah9"; + + meta = with stdenv.lib; { + description = "A statically typed language for the Erlang VM"; + homepage = "https://gleam.run/"; + license = licenses.asl20; + maintainers = with maintainers; [ filalex77 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d71a039199c..27b033e3a59 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8113,6 +8113,10 @@ in gforth = callPackage ../development/compilers/gforth {}; + gleam = callPackage ../development/compilers/gleam { + inherit (darwin.apple_sdk.frameworks) Security; + }; + gtk-server = callPackage ../development/interpreters/gtk-server {}; # Haskell and GHC From 0c3cfd5c076d78dfea0abdeb09026529c3560bed Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 18:56:06 -0800 Subject: [PATCH 71/90] python3Packages.mypy: 0.740 -> 0.750 Also refactored expression to follow ordering of most other python packages --- .../python-modules/mypy/default.nix | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix index 6c64580b2cf..b2731f5bb62 100644 --- a/pkgs/development/python-modules/mypy/default.nix +++ b/pkgs/development/python-modules/mypy/default.nix @@ -5,19 +5,26 @@ buildPythonPackage rec { pname = "mypy"; - version = "0.740"; + version = "0.750"; + disabled = !isPy3k; + + src = fetchPypi { + inherit pname version; + sha256 = "0k0l74g3jcq7ppzn234sffsaacn6qaq242famckk0cviwgld1jvf"; + }; + + propagatedBuildInputs = [ typed-ast psutil mypy-extensions typing-extensions ]; # Tests not included in pip package. doCheck = false; - src = fetchPypi { - inherit pname version; - sha256 = "48c8bc99380575deb39f5d3400ebb6a8a1cb5cc669bbba4d3bb30f904e0a0e7d"; - }; - - disabled = !isPy3k; - - propagatedBuildInputs = [ typed-ast psutil mypy-extensions typing-extensions ]; + pythonImportsCheck = [ + "mypy" + "mypy.types" + "mypy.api" + "mypy.fastparse" + "mypy.report" + ]; meta = with stdenv.lib; { description = "Optional static typing for Python"; From 503ca8f788911c46d9081a467b7606ae7de8e4f6 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 20:27:52 -0800 Subject: [PATCH 72/90] python3Packages.ics: fix build --- pkgs/development/python-modules/ics/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/ics/default.nix b/pkgs/development/python-modules/ics/default.nix index 20fb38b187c..b642bdf311e 100644 --- a/pkgs/development/python-modules/ics/default.nix +++ b/pkgs/development/python-modules/ics/default.nix @@ -6,6 +6,7 @@ buildPythonPackage rec { pname = "ics"; version = "0.6"; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "C4ptainCrunch"; @@ -15,9 +16,16 @@ buildPythonPackage rec { }; propagatedBuildInputs = [ tatsu arrow ]; - checkInputs = [ pytest-sugar pytestpep8 pytest-flakes pytestcov ]; - disabled = pythonOlder "3.6"; + postPatch = '' + substituteInPlace requirements.txt \ + --replace "arrow>=0.11,<0.15" "arrow" + ''; + + checkInputs = [ pytest-sugar pytestpep8 pytest-flakes pytestcov ]; + checkPhase = '' + pytest + ''; meta = with stdenv.lib; { description = "Pythonic and easy iCalendar library (RFC 5545)"; From cc99d54c5fd4b1bd9625bdb30e6dafff658a1bc3 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 13:36:00 -0500 Subject: [PATCH 73/90] gitAndTools.lab: 0.17.1 -> 0.17.2 Changelog: https://github.com/zaquestion/lab/releases/tag/v0.17.2 --- .../version-management/git-and-tools/lab/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/git-and-tools/lab/default.nix b/pkgs/applications/version-management/git-and-tools/lab/default.nix index c8700c18ea1..3e47631caf6 100644 --- a/pkgs/applications/version-management/git-and-tools/lab/default.nix +++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "lab"; - version = "0.17.1"; + version = "0.17.2"; src = fetchFromGitHub { owner = "zaquestion"; repo = "lab"; rev = "v${version}"; - sha256 = "1z83v1dl9c5f99jvvc23ijkwrfrv489la05rlsrc3r4zzza1hx1f"; + sha256 = "0zkwvmzgj7h8lc8jkg2a81392b28c8hkwqzj6dds6q4asbmymx5c"; }; subPackages = [ "." ]; From 60ff61be3f021f7dcfbd4eb5977d09567599806b Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 14:00:00 -0500 Subject: [PATCH 74/90] nodejs-10_x: 10.17.0 -> 10.18.0 Changelog: https://github.com/nodejs/node/releases/tag/v10.18.0 --- pkgs/development/web/nodejs/v10.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v10.nix b/pkgs/development/web/nodejs/v10.nix index 22887a44aff..a3b975e3718 100644 --- a/pkgs/development/web/nodejs/v10.nix +++ b/pkgs/development/web/nodejs/v10.nix @@ -5,6 +5,6 @@ let in buildNodejs { inherit enableNpm; - version = "10.17.0"; - sha256 = "13n5cvb340ba7vwm8il7bjrmpz89h6cibhk9rc3kq9ymdgbnf9j1"; + version = "10.18.0"; + sha256 = "1ppycqffsy7ix6whdp6id7ld1qizwvjlzxyk12kxw4wphjmn49hb"; } From 2078b60862b0940e22317e63afb4087d9e12e8aa Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 14:01:00 -0500 Subject: [PATCH 75/90] nodejs-12_x: 12.13.1 -> 12.14.0 Changelog: https://github.com/nodejs/node/releases/tag/v12.14.0 --- pkgs/development/web/nodejs/v12.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix index fbec83c387a..61c433bc0d4 100644 --- a/pkgs/development/web/nodejs/v12.nix +++ b/pkgs/development/web/nodejs/v12.nix @@ -5,8 +5,8 @@ let in buildNodejs { inherit enableNpm; - version = "12.13.1"; - sha256 = "14mia71sr8p0ibz9g4j5xb5qwmik36qi5nhabjbv0sy2kirkm7il"; + version = "12.14.0"; + sha256 = "0wdyz6fymkf2pfb5bf5ddcza7f2n55p9zqjvq661nr5gl9xj32h8"; patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ]; } From ab0e766e5318ef8583d95e6994596028c6e7ac1e Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 14:36:00 -0500 Subject: [PATCH 76/90] tflint: 0.13.2 -> 0.13.3 Changelog: https://github.com/terraform-linters/tflint/releases/tag/v0.13.3 --- pkgs/development/tools/analysis/tflint/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix index 111c41ea95b..79dedb3afba 100644 --- a/pkgs/development/tools/analysis/tflint/default.nix +++ b/pkgs/development/tools/analysis/tflint/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "tflint"; - version = "0.13.2"; + version = "0.13.3"; src = fetchFromGitHub { owner = "terraform-linters"; repo = pname; rev = "v${version}"; - sha256 = "16iv2z4krx8ixifpq0r784xspknmj0bbvhx10mnq97v49j5c03qi"; + sha256 = "13azczm5lg9v5mvf1jx165qy2nj2941qlr9vvxa7q3gqmhxcg271"; }; - modSha256 = "1rk22w4b5iq6fp3jwpcpnb6y2frbrggxkhdm3ipp8c5savq2wbqh"; + modSha256 = "0xckzyfc144bc212amw1n63jkmdljbmj0rq0midr37h6bg5a10q3"; subPackages = [ "." ]; From 6fd5a4383b5d4102f32d019bdc4379af64ba65c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 18 Dec 2019 20:48:04 +0100 Subject: [PATCH 77/90] Revert "release: remove metrics from unstable channel (temporarily)" This reverts commit 96d73edaf33f4c9ee452f65504bfdfab9a653eaa. IPv6 connectivity restored by ISP a few hours after I pushed the workaround. Apparently it was something complicated; I suppose that has to do with the issue appearing on Friday 13th during full moon ;-) --- pkgs/top-level/release.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 3d8aad5b18d..f832268899d 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -89,7 +89,7 @@ let meta.description = "Release-critical builds for the Nixpkgs unstable channel"; constituents = [ jobs.tarball - #jobs.metrics #FIXME(vcunat): re-enable this as soon as possible + jobs.metrics jobs.manual jobs.lib-tests jobs.stdenv.x86_64-linux From 55eb76a783fcbef9030f55ba0c923cecdb082657 Mon Sep 17 00:00:00 2001 From: Chuck Date: Mon, 16 Dec 2019 11:26:26 -0800 Subject: [PATCH 78/90] nixos/nixos-option: "See also configuration.nix manpage" in nixos-option manpage --- nixos/doc/manual/man-nixos-option.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/doc/manual/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml index beabf020c92..b82f3125609 100644 --- a/nixos/doc/manual/man-nixos-option.xml +++ b/nixos/doc/manual/man-nixos-option.xml @@ -119,4 +119,13 @@ Defined by: bug, please report to Nicolas Pierron. + + See also + + + configuration.nix + 5 + + + From 9b5b7220d83d231348b2527b1ed426611fa90528 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Wed, 18 Dec 2019 16:13:14 -0500 Subject: [PATCH 79/90] linux_latest-libre: 17117 -> 17119 --- pkgs/os-specific/linux/kernel/linux-libre.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index db9a23984c7..3231fc4ac62 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,7 +1,7 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "17117"; + rev = "17119"; sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789"; } , ... From 15db4fcd510949aca2df686896e53bfe95173b39 Mon Sep 17 00:00:00 2001 From: Robin Gloster Date: Fri, 29 Nov 2019 17:17:29 +0100 Subject: [PATCH 80/90] atlassian-confluence: 7.0.3 -> 7.1.0 --- pkgs/servers/atlassian/confluence.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix index 4d403e7d938..c6a76b71e58 100644 --- a/pkgs/servers/atlassian/confluence.nix +++ b/pkgs/servers/atlassian/confluence.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "atlassian-confluence"; - version = "7.0.3"; + version = "7.1.0"; src = fetchurl { url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz"; - sha256 = "1anmhfdy4q74wchzha8fd2bd5hx0a2v3bgp9p5yvb8cal31zqcpd"; + sha256 = "178zfg3rw2sz1l2iwljrl9z2iqhahih5px25zvgd68y2mb9y82l9"; }; buildPhase = '' From a53c73d9c8dd78c2e4aab957d5476fc3d07c082e Mon Sep 17 00:00:00 2001 From: WilliButz Date: Thu, 19 Dec 2019 00:25:15 +0100 Subject: [PATCH 81/90] atlassian-confluence: 7.1.0 -> 7.2.0 --- pkgs/servers/atlassian/confluence.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix index c6a76b71e58..a5aead770b8 100644 --- a/pkgs/servers/atlassian/confluence.nix +++ b/pkgs/servers/atlassian/confluence.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "atlassian-confluence"; - version = "7.1.0"; + version = "7.2.0"; src = fetchurl { url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz"; - sha256 = "178zfg3rw2sz1l2iwljrl9z2iqhahih5px25zvgd68y2mb9y82l9"; + sha256 = "1srwxk9c26hp1j3v6v1hr16l4dqaaiwrli5a9n9a44hkl7qy8yzl"; }; buildPhase = '' @@ -37,8 +37,8 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Team collaboration software written in Java and mainly used in corporate environments"; - homepage = https://www.atlassian.com/software/confluence; + homepage = "https://www.atlassian.com/software/confluence"; license = licenses.unfree; - maintainers = with maintainers; [ fpletz globin ]; + maintainers = with maintainers; [ fpletz globin willibutz ]; }; } From e19e95d86d8bb2f1880ea6f38a2b9d4f04880877 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Wed, 18 Dec 2019 20:05:41 -0500 Subject: [PATCH 82/90] mailutils: 3.2 -> 3.8 --- pkgs/tools/networking/mailutils/default.nix | 14 ++++---------- .../networking/mailutils/fix-test-ali-awk.patch | 16 ---------------- 2 files changed, 4 insertions(+), 26 deletions(-) delete mode 100644 pkgs/tools/networking/mailutils/fix-test-ali-awk.patch diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix index 40eeed7f050..dcf377ca0c0 100644 --- a/pkgs/tools/networking/mailutils/default.nix +++ b/pkgs/tools/networking/mailutils/default.nix @@ -1,15 +1,15 @@ { stdenv, fetchurl, fetchpatch, autoreconfHook, dejagnu, gettext, pkgconfig , gdbm, pam, readline, ncurses, gnutls, guile, texinfo, gnum4, sasl, fribidi, nettools -, python, gss, libmysqlclient, system-sendmail }: +, python3, gss, libmysqlclient, system-sendmail }: stdenv.mkDerivation rec { name = "${project}-${version}"; project = "mailutils"; - version = "3.2"; + version = "3.8"; src = fetchurl { url = "mirror://gnu/${project}/${name}.tar.xz"; - sha256 = "0zh7xn8yvnw9zkc7gi5290i34viwxp1rn0g1q9nyvmckkvk59lwn"; + sha256 = "1wkn9ch664477r4d8jk9153w5msljsbj99907k7zgzpmywbs6ba7"; }; postPatch = '' @@ -29,17 +29,11 @@ stdenv.mkDerivation rec { buildInputs = [ gdbm pam readline ncurses gnutls guile texinfo gnum4 sasl fribidi nettools - gss libmysqlclient python + gss libmysqlclient python3 ]; patches = [ - (fetchpatch { - url = "https://git.savannah.gnu.org/cgit/mailutils.git/patch/?id=afbb33cf9ff"; - excludes = [ "NEWS" ]; - sha256 = "0yzkfx3j1zkkb43fhchjqphw4xznbclj39bjzjggv32gppy6d1db"; - }) ./fix-build-mb-len-max.patch - ./fix-test-ali-awk.patch ./path-to-cat.patch ]; diff --git a/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch b/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch deleted file mode 100644 index 3d301d530de..00000000000 --- a/pkgs/tools/networking/mailutils/fix-test-ali-awk.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/mh/tests/ali.at b/mh/tests/ali.at -index 28c0e5451..c76cf9363 100644 ---- a/mh/tests/ali.at -+++ b/mh/tests/ali.at -@@ -85,9 +85,9 @@ ali -a ./mh_aliases korzen | tr -d ' ' - [expout]) - - MH_CHECK([ali: group id],[ali05 ali-group-id ali-gid],[ --cat /etc/passwd | awk -F : '/^#/ { next } $4==0 { print $1 }' > expout -+cat /etc/passwd | awk -F : '/^#/ { next } $4==0 { print $1; exit }' > expout - test -s expout || AT_SKIP_TEST --name=`awk -F : '/^#/ { next } $3==0 { print $1 }' /etc/group < /dev/null` -+name=`awk -F : '/^#/ { next } $3==0 { print $1; exit }' /etc/group < /dev/null` - test -z "$name" && AT_SKIP_TEST - - echo "korzen: +$name" > mh_aliases From 70106982dd7e35e6baa1246c0239f90f9ae43978 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 20:20:20 -0500 Subject: [PATCH 83/90] fluent-bit: 1.3.4 -> 1.3.5 --- pkgs/tools/misc/fluent-bit/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix index f3728361720..516badb7bc7 100644 --- a/pkgs/tools/misc/fluent-bit/default.nix +++ b/pkgs/tools/misc/fluent-bit/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "fluent-bit"; - version = "1.3.4"; + version = "1.3.5"; src = fetchFromGitHub { owner = "fluent"; repo = "fluent-bit"; rev = "v${version}"; - sha256 = "01iy8xgsyc1clhpik4nmkxw6xnblzswvn35qz4h4p5sw97c4iwq8"; + sha256 = "0xwh8fnvahcyygz0ydi4pdzgsyvjaphwl3f2ccdas52fbirwnicn"; }; nativeBuildInputs = [ cmake flex bison ]; From 2ce5e5b17c4eb0874dcc90afdc5d43eb0cba2356 Mon Sep 17 00:00:00 2001 From: Paolo Anastagi Date: Wed, 18 Dec 2019 08:41:02 +0100 Subject: [PATCH 84/90] vimPlugins: Update --- pkgs/misc/vim-plugins/generated.nix | 102 ++++++++++++++-------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index 4b06bcb80d2..fdb5ceec6c7 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -380,12 +380,12 @@ let coc-java = buildVimPluginFrom2Nix { pname = "coc-java"; - version = "2019-10-31"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc-java"; - rev = "77f7ecd8e6cc0af7a0cf293616b9f66a61a41f44"; - sha256 = "13qhw4gdl5p4imzmgickay6lc4hlnw5fsc46zw5qyqq7p88wgym9"; + rev = "4be4a57ad8f888ef92974ccb6e685358498863f1"; + sha256 = "15175bphaiih5j63bigj5sblcyqjj68g3k81wn7dwgwdpglf1mwf"; }; }; @@ -733,12 +733,12 @@ let csv-vim = buildVimPluginFrom2Nix { pname = "csv-vim"; - version = "2019-12-11"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "chrisbra"; repo = "csv.vim"; - rev = "3128891191d7e363d39cbe70b96281ec8d897bcb"; - sha256 = "1qapfsk4z637rqi9mppac50gliyi957cvl2dfknq0dy856a11274"; + rev = "012cd2637d48aa33541078451d70d66930e03e0f"; + sha256 = "1gaqxhpzskcc28qma6vcjwig8v3q3a8sf7b2ckm14i7cb4c1lyh5"; }; }; @@ -843,12 +843,12 @@ let denite-nvim = buildVimPluginFrom2Nix { pname = "denite-nvim"; - version = "2019-12-13"; + version = "2019-12-16"; src = fetchFromGitHub { owner = "Shougo"; repo = "denite.nvim"; - rev = "13c8542818f418d1207c368f0072072c793f58c1"; - sha256 = "1xrpmrr6wmy88s23j4cxcpsj9wlw7ak48sg3hjqpni9w231kp7a9"; + rev = "35ceadf33e1248caead987fc83f01336b81d98fb"; + sha256 = "1bazm1n2hqgg13yp5gywzghq310qhkbfqg1v42lyvc0gax8dngzj"; }; }; @@ -899,12 +899,12 @@ let deoplete-go = buildVimPluginFrom2Nix { pname = "deoplete-go"; - version = "2019-12-13"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "zchee"; repo = "deoplete-go"; - rev = "a3ac3f53f0af482095ebcf09af8ca1d1edce45bc"; - sha256 = "19xgsm5mbfcpdb0csckbwi83gl3b4wqdn8vchbv8j9faf10qnf2b"; + rev = "dffbe97e48e09e9e1cd3c5fed7365b8117e2df25"; + sha256 = "12p40sr6r9l7ngqynylffpms3cznym12djgbm4448kqcymj2imnz"; fetchSubmodules = true; }; }; @@ -989,12 +989,12 @@ let deoplete-nvim = buildVimPluginFrom2Nix { pname = "deoplete-nvim"; - version = "2019-12-10"; + version = "2019-12-18"; src = fetchFromGitHub { owner = "Shougo"; repo = "deoplete.nvim"; - rev = "e9aad25f28b68581cea2d94400b9fa64b724773b"; - sha256 = "0wy5qapj6hfxj4ir38lb823zsgj6nqhi4r2sv0bm23g25sykg6ry"; + rev = "18681650e81e809cd56e1006cf92cd7f9108266b"; + sha256 = "0rlh97bdmiagrxs9gqjvrimpqcj9w0ys77l0kyxb111zcgcr8s9s"; }; }; @@ -1212,12 +1212,12 @@ let fzf-vim = buildVimPluginFrom2Nix { pname = "fzf-vim"; - version = "2019-11-24"; + version = "2019-12-18"; src = fetchFromGitHub { owner = "junegunn"; repo = "fzf.vim"; - rev = "65edb6ad99b51514aaf29afc25e35ce5f05281ba"; - sha256 = "1d40whzc21c4zbzssjwvhzddyb0a106ib8r4zzzdd61s1935z4xr"; + rev = "f71f4808d966da8be760f94fda131bc7d29f7d8f"; + sha256 = "1l34yz0cwgxsacscmasj634jg6hfhpial4m1a7j9c907ljdkabpr"; }; }; @@ -2027,12 +2027,12 @@ let nord-vim = buildVimPluginFrom2Nix { pname = "nord-vim"; - version = "2019-05-25"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "arcticicestudio"; repo = "nord-vim"; - rev = "9f7ce848723f69e33792e5606091bbfd5739d253"; - sha256 = "1n6kdnll5jh92kfbwwm8544mpp7c2awqsaps91agqjd3nwa5x27x"; + rev = "f06189a4c054fe8c22e46aca4d451e03456f2283"; + sha256 = "0gk4zq0gz3nnwfkldswg9bjpk0gf6d6mgfzcgvj0pnlbja6ass81"; }; }; @@ -2820,12 +2820,12 @@ let typescript-vim = buildVimPluginFrom2Nix { pname = "typescript-vim"; - version = "2019-06-23"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "leafgarland"; repo = "typescript-vim"; - rev = "5a319ea5504e18215d155576c78d1b7fb8e22c8f"; - sha256 = "1hz42blc1sshkms9ramdhzwnphqs26p83q8smw5y14blp1zdb628"; + rev = "2ca6afd1c05e89164bb29aaad82da35d5cf582a3"; + sha256 = "0jvyi4gy9pc2kd0b1yc118f16p1qrjphxvpa0bl7q2rvyk49742s"; }; }; @@ -3150,34 +3150,34 @@ let vim-airline = buildVimPluginFrom2Nix { pname = "vim-airline"; - version = "2019-12-15"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "vim-airline"; repo = "vim-airline"; - rev = "929cf2e21f84e989da2abd9aa5102848db61565b"; - sha256 = "1rp2m5qpc763plybp1arzgrrmn8kg21sgnwac62k98w2s1c0x4jd"; + rev = "98326670b604f522741b02baee82bf25141fbbc4"; + sha256 = "0n7avla6z8dnixbr1rc505yyb4bfc3sr69wnv6fj15j4kkx4k319"; }; }; vim-airline-themes = buildVimPluginFrom2Nix { pname = "vim-airline-themes"; - version = "2019-12-13"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "vim-airline"; repo = "vim-airline-themes"; - rev = "67512f5e81b8ad088a8cbfe8b95f9e495bc81cf3"; - sha256 = "049lnixxcvvnkq5bfwpmclw1k73xyf5gqfpw78rkzsbg9milyr74"; + rev = "1eecd5b1c02c88ad2f8303757f453e2d7f0bd414"; + sha256 = "08rjqjl0v5nsq8nf7ajv60jx41pmc5ym8mjbndlycz22hrsw8aq8"; }; }; vim-android = buildVimPluginFrom2Nix { pname = "vim-android"; - version = "2019-11-01"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "hsanson"; repo = "vim-android"; - rev = "928a7ba76ee7b48a715b397543f21ee28a9959da"; - sha256 = "1cdjjyzmclzc32i1wcc5k67laz75yvi4jj2yc1fxa95bbq9zi0h5"; + rev = "0849bcb6523d17a753fcaff8d40cbeed2d09cf65"; + sha256 = "1z3x72aprp950chk754h0qpf5lxh2svzk39flks5fanxaggkpkng"; }; }; @@ -3502,12 +3502,12 @@ let vim-dirvish = buildVimPluginFrom2Nix { pname = "vim-dirvish"; - version = "2019-11-16"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "justinmk"; repo = "vim-dirvish"; - rev = "4d7b4d4e2db72e95ea03c6ef757b01cbc128179e"; - sha256 = "0ab7ivgkfaji0yl6mcx03nmr304vmdwxwiw0an94fa6wbhk0y9yl"; + rev = "9c12328df924ddb875ee1e5c9fc0f939b62d6a6c"; + sha256 = "1kpkwqrhix7whd00pcbanf3ij55x34cqc6qz3r2xshcmydk5vqxn"; }; }; @@ -3832,12 +3832,12 @@ let vim-go = buildVimPluginFrom2Nix { pname = "vim-go"; - version = "2019-12-16"; + version = "2019-12-18"; src = fetchFromGitHub { owner = "fatih"; repo = "vim-go"; - rev = "0e33a2334d5cafc9754cc78c079ded7efbedc3fa"; - sha256 = "1phsnha6m7h5nd9smjij7xr7v5wqs2dza7bvdy18fjlv0rlfcgzc"; + rev = "9d912c9d908a45f8a583679753a480e6a0461da3"; + sha256 = "1z002n6mryhk2hi0arqyqaiayd6i14w2l5b2bmzj0g8vkk1kr41n"; }; }; @@ -4107,12 +4107,12 @@ let vim-javacomplete2 = buildVimPluginFrom2Nix { pname = "vim-javacomplete2"; - version = "2019-12-07"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "artur-shaik"; repo = "vim-javacomplete2"; - rev = "f2c7ab94d29604128a38cb6626dac03e7cad5418"; - sha256 = "1bgg9jy61ygyrx16n20xvyp1wnqfgk857dc5jw2mwv9iq1hg0lvn"; + rev = "dc7951895a98c49c39622f65cdd7b39374c348bc"; + sha256 = "1d8xiiwfg5wz57jyy7ahbi2bl5sjkhkpkqm2qbhsn7cd9vk36sxy"; }; }; @@ -4317,12 +4317,12 @@ let vim-lsc = buildVimPluginFrom2Nix { pname = "vim-lsc"; - version = "2019-12-16"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "natebosch"; repo = "vim-lsc"; - rev = "64fa57aca10345031fab6db0065cf758f3dc1bdb"; - sha256 = "1cxif26wn7qjplikbfdbkrj94mcpf9fk02gik2qfwicib0p83bfi"; + rev = "0fd38b8a93ab16d380aed8467a5059e5b3932a2e"; + sha256 = "06jz7f5npwm2iknpfmzz5x8lw5377hzc5kpg6n5p2icjwzaha6mz"; }; }; @@ -5142,12 +5142,12 @@ let vim-table-mode = buildVimPluginFrom2Nix { pname = "vim-table-mode"; - version = "2019-12-10"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "dhruvasagar"; repo = "vim-table-mode"; - rev = "5ac34a22dbf70e3c8afd7cc69726cec89655c4ad"; - sha256 = "1rs68islvz2rd3ahgfk06q9ydr3ph25zh4amg8vk1svqhk1vh0mp"; + rev = "0af25d72ebc0271648c8f91c0ce5c59174d2761b"; + sha256 = "1wqfc8bilknz1j1spk3iag99hmz5f1w87v95rb3cyp46ymrf9dcv"; }; }; @@ -5395,12 +5395,12 @@ let vim-visual-multi = buildVimPluginFrom2Nix { pname = "vim-visual-multi"; - version = "2019-11-29"; + version = "2019-12-17"; src = fetchFromGitHub { owner = "mg979"; repo = "vim-visual-multi"; - rev = "7c1934f91b33f64836d0e0d27e08481849831266"; - sha256 = "1ga0skivc5p09d29k4gx2gdisalcl9514062ckddphynqn69ghi9"; + rev = "9b06b851a7e822f3a2604a5d1505e387b62f3827"; + sha256 = "0g1wf5p905y653vl0cxb6idbr8panvj10hwz7hl50dybfc0zky7m"; }; }; From 7af70d8b77b2e0b4314137bac2579a200b473d46 Mon Sep 17 00:00:00 2001 From: Paolo Anastagi Date: Wed, 18 Dec 2019 08:46:33 +0100 Subject: [PATCH 85/90] vimPlugins.vim-elm-syntax: init at 2019-11-28 --- pkgs/misc/vim-plugins/generated.nix | 11 +++++++++++ pkgs/misc/vim-plugins/vim-plugin-names | 1 + 2 files changed, 12 insertions(+) diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix index fdb5ceec6c7..f1ebc8cb7d9 100644 --- a/pkgs/misc/vim-plugins/generated.nix +++ b/pkgs/misc/vim-plugins/generated.nix @@ -3610,6 +3610,17 @@ let }; }; + vim-elm-syntax = buildVimPluginFrom2Nix { + pname = "vim-elm-syntax"; + version = "2019-11-28"; + src = fetchFromGitHub { + owner = "andys8"; + repo = "vim-elm-syntax"; + rev = "7ed55d9bc2c0cfd023d7cc6541634bcbf36430b5"; + sha256 = "1kq7qcw9l41q646a2ilwy94lj1qz9as14aqfmzkbi938yij18zpx"; + }; + }; + vim-eunuch = buildVimPluginFrom2Nix { pname = "vim-eunuch"; version = "2019-11-13"; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index d4fd3e423f6..3b03976b05e 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -12,6 +12,7 @@ amiorin/ctrlp-z andreshazard/vim-logreview andsild/peskcolor.vim andviro/flake8-vim +andys8/vim-elm-syntax ap/vim-css-color arcticicestudio/nord-vim artur-shaik/vim-javacomplete2 From 4e421aebfeba474ece5c77f421ce8ceb61704e0c Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Wed, 18 Dec 2019 20:29:47 -0500 Subject: [PATCH 86/90] kdeFrameworks.ki18n: python2 -> python3 Upstream has support: https://github.com/KDE/ki18n/blame/8f84d19aad04b2a925f2373ad26323bb8324b982/cmake/KF5I18nMacros.cmake.in#L34 --- pkgs/development/libraries/kde-frameworks/ki18n.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/kde-frameworks/ki18n.nix b/pkgs/development/libraries/kde-frameworks/ki18n.nix index 3b9ca74bbd0..69ad2fbc737 100644 --- a/pkgs/development/libraries/kde-frameworks/ki18n.nix +++ b/pkgs/development/libraries/kde-frameworks/ki18n.nix @@ -1,6 +1,6 @@ { mkDerivation, lib, - extra-cmake-modules, gettext, python, + extra-cmake-modules, gettext, python3, qtbase, qtdeclarative, qtscript, }: @@ -11,6 +11,6 @@ mkDerivation { broken = builtins.compareVersions qtbase.version "5.7.0" < 0; }; nativeBuildInputs = [ extra-cmake-modules ]; - propagatedNativeBuildInputs = [ gettext python ]; + propagatedNativeBuildInputs = [ gettext python3 ]; buildInputs = [ qtdeclarative qtscript ]; } From 2f3cd7dda75f42fa741fe18b7547c507f4186144 Mon Sep 17 00:00:00 2001 From: Marek Mahut Date: Wed, 18 Dec 2019 21:10:15 +0100 Subject: [PATCH 87/90] alertmanager-bot: init at 0.4.0 --- .../monitoring/alertmanager-bot/default.nix | 25 + .../monitoring/alertmanager-bot/deps.nix | 948 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 975 insertions(+) create mode 100644 pkgs/servers/monitoring/alertmanager-bot/default.nix create mode 100644 pkgs/servers/monitoring/alertmanager-bot/deps.nix diff --git a/pkgs/servers/monitoring/alertmanager-bot/default.nix b/pkgs/servers/monitoring/alertmanager-bot/default.nix new file mode 100644 index 00000000000..8677a8d03f2 --- /dev/null +++ b/pkgs/servers/monitoring/alertmanager-bot/default.nix @@ -0,0 +1,25 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + pname = "alertmanager-bot"; + version = "0.4.0"; + + goPackagePath = "github.com/metalmatze/alertmanager-bot"; + + src = fetchFromGitHub { + owner = "metalmatze"; + repo = pname; + rev = version; + sha256 = "10v0fxxcs5s6zmqindr30plyw7p2yg0a64rdw1b2cj2mc1m3byx3"; + }; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + description = "Bot for Prometheus' Alertmanager"; + homepage = "https://github.com/metalmatze/alertmanager-bot"; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ mmahut ]; + }; +} diff --git a/pkgs/servers/monitoring/alertmanager-bot/deps.nix b/pkgs/servers/monitoring/alertmanager-bot/deps.nix new file mode 100644 index 00000000000..51e98ccbc93 --- /dev/null +++ b/pkgs/servers/monitoring/alertmanager-bot/deps.nix @@ -0,0 +1,948 @@ +# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix) +[ + { + goPackagePath = "github.com/DataDog/datadog-go"; + fetch = { + type = "git"; + url = "https://github.com/DataDog/datadog-go"; + rev = "0ddda6bee211"; + sha256 = "07ap1qhz8vwdypmlny5gxnc191c0qbm6acacs30m1d4p22x6wxip"; + }; + } + { + goPackagePath = "github.com/OneOfOne/xxhash"; + fetch = { + type = "git"; + url = "https://github.com/OneOfOne/xxhash"; + rev = "v1.2.5"; + sha256 = "15ai4nzm8cv8nqs4xm5h6ghnms19c2sp8z0zpkc46rld6y7k0xky"; + }; + } + { + goPackagePath = "github.com/alecthomas/template"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/template"; + rev = "a0175ee3bccc"; + sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj"; + }; + } + { + goPackagePath = "github.com/alecthomas/units"; + fetch = { + type = "git"; + url = "https://github.com/alecthomas/units"; + rev = "2efee857e7cf"; + sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl"; + }; + } + { + goPackagePath = "github.com/armon/circbuf"; + fetch = { + type = "git"; + url = "https://github.com/armon/circbuf"; + rev = "bbbad097214e"; + sha256 = "1idpr0lzb2px2p3wgfq2276yl7jpaz43df6n91kf790404s4zmk3"; + }; + } + { + goPackagePath = "github.com/armon/go-metrics"; + fetch = { + type = "git"; + url = "https://github.com/armon/go-metrics"; + rev = "f0300d1749da"; + sha256 = "13l7c35ps0r27vxfil2w0xhhc7w5rh00awvlmn4cz0a937b9ffpv"; + }; + } + { + goPackagePath = "github.com/armon/go-radix"; + fetch = { + type = "git"; + url = "https://github.com/armon/go-radix"; + rev = "7fddfc383310"; + sha256 = "0y8chspn14n9xpsfb9gxnnf819rfpriaz64v81p7873a42kkhxb4"; + }; + } + { + goPackagePath = "github.com/beorn7/perks"; + fetch = { + type = "git"; + url = "https://github.com/beorn7/perks"; + rev = "v1.0.1"; + sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7"; + }; + } + { + goPackagePath = "github.com/bgentry/speakeasy"; + fetch = { + type = "git"; + url = "https://github.com/bgentry/speakeasy"; + rev = "v0.1.0"; + sha256 = "02dfrj0wyphd3db9zn2mixqxwiz1ivnyc5xc7gkz58l5l27nzp8s"; + }; + } + { + goPackagePath = "github.com/boltdb/bolt"; + fetch = { + type = "git"; + url = "https://github.com/boltdb/bolt"; + rev = "v1.3.1"; + sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r"; + }; + } + { + goPackagePath = "github.com/cenkalti/backoff"; + fetch = { + type = "git"; + url = "https://github.com/cenkalti/backoff"; + rev = "v2.1.1"; + sha256 = "1mf4lsl3rbb8kk42x0mrhzzy4ikqy0jf6nxpzhkr02rdgwh6rjk8"; + }; + } + { + goPackagePath = "github.com/cespare/xxhash"; + fetch = { + type = "git"; + url = "https://github.com/cespare/xxhash"; + rev = "v1.0.0"; + sha256 = "02aii7z46sasagw816zz3v0gzax1z5d1hkjslz7ng25386p0gzk1"; + }; + } + { + goPackagePath = "github.com/circonus-labs/circonus-gometrics"; + fetch = { + type = "git"; + url = "https://github.com/circonus-labs/circonus-gometrics"; + rev = "v2.0.0"; + sha256 = "0d6cnswq28mjak7092vf89f9l0ga2ziwyamq9kdgfc7aavpwr6l9"; + }; + } + { + goPackagePath = "github.com/circonus-labs/circonusllhist"; + fetch = { + type = "git"; + url = "https://github.com/circonus-labs/circonusllhist"; + rev = "6e85b9352cf0"; + sha256 = "182gry1clk12m34574qif7bx74qpxib2zv0mr5kv2j9hfq7f9m01"; + }; + } + { + goPackagePath = "github.com/creack/pty"; + fetch = { + type = "git"; + url = "https://github.com/creack/pty"; + rev = "v1.1.7"; + sha256 = "1plwwlk1i9b80zv8zdplvv81shfyc9gf0flydnydsh5sr3ib5vrc"; + }; + } + { + goPackagePath = "github.com/davecgh/go-spew"; + fetch = { + type = "git"; + url = "https://github.com/davecgh/go-spew"; + rev = "v1.1.1"; + sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y"; + }; + } + { + goPackagePath = "github.com/docker/libkv"; + fetch = { + type = "git"; + url = "https://github.com/docker/libkv"; + rev = "v0.2.1"; + sha256 = "0blq7kxjy1bvm3j5q4i6csnc4i88c1wvj4gjvxbqfk3sny73gjkr"; + }; + } + { + goPackagePath = "github.com/fatih/color"; + fetch = { + type = "git"; + url = "https://github.com/fatih/color"; + rev = "v1.7.0"; + sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv"; + }; + } + { + goPackagePath = "github.com/fsnotify/fsnotify"; + fetch = { + type = "git"; + url = "https://github.com/fsnotify/fsnotify"; + rev = "v1.4.7"; + sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; + }; + } + { + goPackagePath = "github.com/go-kit/kit"; + fetch = { + type = "git"; + url = "https://github.com/go-kit/kit"; + rev = "v0.8.0"; + sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0"; + }; + } + { + goPackagePath = "github.com/go-logfmt/logfmt"; + fetch = { + type = "git"; + url = "https://github.com/go-logfmt/logfmt"; + rev = "v0.3.0"; + sha256 = "1gkgh3k5w1xwb2qbjq52p6azq3h1c1rr6pfwjlwj1zrijpzn2xb9"; + }; + } + { + goPackagePath = "github.com/go-stack/stack"; + fetch = { + type = "git"; + url = "https://github.com/go-stack/stack"; + rev = "v1.8.0"; + sha256 = "0wk25751ryyvxclyp8jdk5c3ar0cmfr8lrjb66qbg4808x66b96v"; + }; + } + { + goPackagePath = "github.com/gogo/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/gogo/protobuf"; + rev = "v1.1.1"; + sha256 = "1525pq7r6h3s8dncvq8gxi893p2nq8dxpzvq0nfl5b4p6mq0v1c2"; + }; + } + { + goPackagePath = "github.com/golang/protobuf"; + fetch = { + type = "git"; + url = "https://github.com/golang/protobuf"; + rev = "v1.3.2"; + sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym"; + }; + } + { + goPackagePath = "github.com/google/btree"; + fetch = { + type = "git"; + url = "https://github.com/google/btree"; + rev = "4030bb1f1f0c"; + sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6"; + }; + } + { + goPackagePath = "github.com/google/go-cmp"; + fetch = { + type = "git"; + url = "https://github.com/google/go-cmp"; + rev = "v0.3.1"; + sha256 = "1caw49i0plkjxir7kdf5qhwls3krqwfmi7g4h392rdfwi3kfahx1"; + }; + } + { + goPackagePath = "github.com/google/gofuzz"; + fetch = { + type = "git"; + url = "https://github.com/google/gofuzz"; + rev = "v1.0.0"; + sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36"; + }; + } + { + goPackagePath = "github.com/hako/durafmt"; + fetch = { + type = "git"; + url = "https://github.com/hako/durafmt"; + rev = "ea3ab126a649"; + sha256 = "1niq0v6av5vsn4rizfda4zq922jvavig5b0qg9g0gyz6cj62rjzs"; + }; + } + { + goPackagePath = "github.com/hashicorp/consul"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/consul"; + rev = "v1.4.5"; + sha256 = "0gpg3cbpsmzcaab3scqhpzz57892s95hwq5z0l9bq7qqm6iqfr9d"; + }; + } + { + goPackagePath = "github.com/hashicorp/errwrap"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/errwrap"; + rev = "v1.0.0"; + sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-cleanhttp"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-cleanhttp"; + rev = "3573b8b52aa7"; + sha256 = "1pbl6p7w5wp1c70x7fp94h4ynk2ajfa76rqin3d2hq1w2fcb7byr"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-immutable-radix"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-immutable-radix"; + rev = "v1.0.0"; + sha256 = "1v3nmsnk1s8bzpclrhirz7iq0g5xxbw9q5gvrg9ss6w9crs72qr6"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-msgpack"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-msgpack"; + rev = "v0.5.5"; + sha256 = "0fqmfx3dxnvb0d23cpn2xpd067pibwlchdc58ln8w6lznzrbzaan"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-multierror"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-multierror"; + rev = "v1.0.0"; + sha256 = "00nyn8llqzbfm8aflr9kwsvpzi4kv8v45c141v88xskxp5xf6z49"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-retryablehttp"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-retryablehttp"; + rev = "794af36148bf"; + sha256 = "1686d4qav0ayj3f5881w3kd9pz4fxsmknfqwccbj9yklxm3khvp4"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-rootcerts"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-rootcerts"; + rev = "v1.0.1"; + sha256 = "0ca5h7vlvrghf24dzh8l6w5px293n173qxfkjxb9kgsl6hsrsl3y"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-sockaddr"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-sockaddr"; + rev = "v1.0.2"; + sha256 = "0y106nhd3s63lj7h7k21iq0br97h0z9qjrvx028zqcsq9407k9is"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-syslog"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-syslog"; + rev = "v1.0.0"; + sha256 = "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"; + }; + } + { + goPackagePath = "github.com/hashicorp/go-uuid"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/go-uuid"; + rev = "v1.0.1"; + sha256 = "0jvb88m0rq41bwgirsadgw7mnayl27av3gd2vqa3xvxp3fy0hp5k"; + }; + } + { + goPackagePath = "github.com/hashicorp/golang-lru"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/golang-lru"; + rev = "v0.5.3"; + sha256 = "1p2igd58xkm8yaj2c2wxiplkf2hj6kxwrg6ss7mx61s5rd71v5xb"; + }; + } + { + goPackagePath = "github.com/hashicorp/logutils"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/logutils"; + rev = "v1.0.0"; + sha256 = "076wf4sh5p3f953ndqk1cc0x7jhmlqrxak9953rz79rcdw77rjvv"; + }; + } + { + goPackagePath = "github.com/hashicorp/mdns"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/mdns"; + rev = "v1.0.1"; + sha256 = "185zpyj1jf1jm7hihg73gqnspr0a359aqwv11v4a6mwd5bkdh19j"; + }; + } + { + goPackagePath = "github.com/hashicorp/memberlist"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/memberlist"; + rev = "v0.1.4"; + sha256 = "0l9qx8j7mm00ia6m41zbn39z7p77jjf95zph2nw8j2vihm56q9ql"; + }; + } + { + goPackagePath = "github.com/hashicorp/serf"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/serf"; + rev = "v0.8.3"; + sha256 = "0isaq2m08rpwvlzd72gvy3caapkrzgr9cwizl99ainsjgj2nkds9"; + }; + } + { + goPackagePath = "github.com/hashicorp/uuid"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/uuid"; + rev = "ebb0a03e909c"; + sha256 = "0bzqr8y81h96cw299lhc5nxi9203a7xpd7csjsm6rh4k1bx4hdlf"; + }; + } + { + goPackagePath = "github.com/hashicorp/yamux"; + fetch = { + type = "git"; + url = "https://github.com/hashicorp/yamux"; + rev = "f5742cb6b856"; + sha256 = "1k9b399ljsp443s1v69c1m5jqdiw1998ryz4b4lh86nkz775ws5s"; + }; + } + { + goPackagePath = "github.com/hpcloud/tail"; + fetch = { + type = "git"; + url = "https://github.com/hpcloud/tail"; + rev = "v1.0.0"; + sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0"; + }; + } + { + goPackagePath = "github.com/joho/godotenv"; + fetch = { + type = "git"; + url = "https://github.com/joho/godotenv"; + rev = "v1.3.0"; + sha256 = "0ri8if0pc3x6jg4c3i8wr58xyfpxkwmcjk3rp8gb398a1aa3gpjm"; + }; + } + { + goPackagePath = "github.com/json-iterator/go"; + fetch = { + type = "git"; + url = "https://github.com/json-iterator/go"; + rev = "v1.1.7"; + sha256 = "0n79p4s67zl5zprxv7diayw3vavnmmfqkmd6snz0i9bxp825dsyz"; + }; + } + { + goPackagePath = "github.com/julienschmidt/httprouter"; + fetch = { + type = "git"; + url = "https://github.com/julienschmidt/httprouter"; + rev = "v1.2.0"; + sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666"; + }; + } + { + goPackagePath = "github.com/konsorten/go-windows-terminal-sequences"; + fetch = { + type = "git"; + url = "https://github.com/konsorten/go-windows-terminal-sequences"; + rev = "v1.0.2"; + sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7"; + }; + } + { + goPackagePath = "github.com/kr/logfmt"; + fetch = { + type = "git"; + url = "https://github.com/kr/logfmt"; + rev = "b84e30acd515"; + sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9"; + }; + } + { + goPackagePath = "github.com/kr/pretty"; + fetch = { + type = "git"; + url = "https://github.com/kr/pretty"; + rev = "v0.1.0"; + sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp"; + }; + } + { + goPackagePath = "github.com/kr/pty"; + fetch = { + type = "git"; + url = "https://github.com/kr/pty"; + rev = "v1.1.8"; + sha256 = "1vcl6f90n0f8s8b4fyh0832ilybjqcypqyj233lqj1hx62fvgdbk"; + }; + } + { + goPackagePath = "github.com/kr/text"; + fetch = { + type = "git"; + url = "https://github.com/kr/text"; + rev = "v0.1.0"; + sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1"; + }; + } + { + goPackagePath = "github.com/kylelemons/godebug"; + fetch = { + type = "git"; + url = "https://github.com/kylelemons/godebug"; + rev = "v1.1.0"; + sha256 = "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c"; + }; + } + { + goPackagePath = "github.com/mattn/go-colorable"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-colorable"; + rev = "v0.0.9"; + sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx"; + }; + } + { + goPackagePath = "github.com/mattn/go-isatty"; + fetch = { + type = "git"; + url = "https://github.com/mattn/go-isatty"; + rev = "v0.0.9"; + sha256 = "0i3km37lajahh1y2392g4hpgvq05arcgiiv93yhzxxyv0fpqj72m"; + }; + } + { + goPackagePath = "github.com/matttproud/golang_protobuf_extensions"; + fetch = { + type = "git"; + url = "https://github.com/matttproud/golang_protobuf_extensions"; + rev = "v1.0.1"; + sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"; + }; + } + { + goPackagePath = "github.com/miekg/dns"; + fetch = { + type = "git"; + url = "https://github.com/miekg/dns"; + rev = "v1.0.15"; + sha256 = "051f51fyrsnj69j9ni9j72acqnrvvzqda4l831ijffy5h5jdl8f2"; + }; + } + { + goPackagePath = "github.com/mitchellh/cli"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/cli"; + rev = "v1.0.0"; + sha256 = "1i9kmr7rcf10d2hji8h4247hmc0nbairv7a0q51393aw2h1bnwg2"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-homedir"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-homedir"; + rev = "v1.1.0"; + sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-testing-interface"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-testing-interface"; + rev = "v1.0.0"; + sha256 = "1dl2js8di858bawg7dadlf1qjpkl2g3apziihjyf5imri3znyfpw"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-wordwrap"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-wordwrap"; + rev = "v1.0.0"; + sha256 = "1jffbwcr3nnq6c12c5856bwzv2nxjzqk3jwgvxkwi1xhpd2by0bf"; + }; + } + { + goPackagePath = "github.com/mitchellh/hashstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/hashstructure"; + rev = "2bca23e0e452"; + sha256 = "0vpacsls26474wya360fjhzi6l4y8s8s251c4szvqxh17n5f5gk1"; + }; + } + { + goPackagePath = "github.com/mitchellh/mapstructure"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/mapstructure"; + rev = "d0303fe80992"; + sha256 = "1fjwi5ghc1ibyx93apz31n4hj6gcq1hzismpdfbg2qxwshyg0ya8"; + }; + } + { + goPackagePath = "github.com/modern-go/concurrent"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/concurrent"; + rev = "bacd9c7ef1dd"; + sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs"; + }; + } + { + goPackagePath = "github.com/modern-go/reflect2"; + fetch = { + type = "git"; + url = "https://github.com/modern-go/reflect2"; + rev = "v1.0.1"; + sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf"; + }; + } + { + goPackagePath = "github.com/mwitkow/go-conntrack"; + fetch = { + type = "git"; + url = "https://github.com/mwitkow/go-conntrack"; + rev = "cc309e4a2223"; + sha256 = "0nbrnpk7bkmqg9mzwsxlm0y8m7s9qd9phr1q30qlx2qmdmz7c1mf"; + }; + } + { + goPackagePath = "github.com/oklog/run"; + fetch = { + type = "git"; + url = "https://github.com/oklog/run"; + rev = "v1.0.0"; + sha256 = "1pbjza4claaj95fpqvvfrysvs10y7dm0pl6qr5lzh6qy1vnhmcgw"; + }; + } + { + goPackagePath = "github.com/onsi/ginkgo"; + fetch = { + type = "git"; + url = "https://github.com/onsi/ginkgo"; + rev = "v1.6.0"; + sha256 = "0x0gc89vgq38xhgmi2h22bhr73cf2gmk42g89nz89k8dgg9hhr25"; + }; + } + { + goPackagePath = "github.com/onsi/gomega"; + fetch = { + type = "git"; + url = "https://github.com/onsi/gomega"; + rev = "v1.4.3"; + sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v"; + }; + } + { + goPackagePath = "github.com/pascaldekloe/goe"; + fetch = { + type = "git"; + url = "https://github.com/pascaldekloe/goe"; + rev = "v0.1.0"; + sha256 = "1dqd3mfb4z2vmv6pg6fhgvfc53vhndk24wcl9lj1rz02n6m279fq"; + }; + } + { + goPackagePath = "github.com/pkg/errors"; + fetch = { + type = "git"; + url = "https://github.com/pkg/errors"; + rev = "v0.8.1"; + sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1"; + }; + } + { + goPackagePath = "github.com/pmezard/go-difflib"; + fetch = { + type = "git"; + url = "https://github.com/pmezard/go-difflib"; + rev = "v1.0.0"; + sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw"; + }; + } + { + goPackagePath = "github.com/posener/complete"; + fetch = { + type = "git"; + url = "https://github.com/posener/complete"; + rev = "v1.1.2"; + sha256 = "02xrnfkk9r2jarna8jqfkksrn469jdap716037zq84waq3d5xk3l"; + }; + } + { + goPackagePath = "github.com/prometheus/alertmanager"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/alertmanager"; + rev = "v0.9.1"; + sha256 = "1lkfj63pp4jf58xmn015r7s42p1wyj6fryihpmdn0k76b0ccwqzj"; + }; + } + { + goPackagePath = "github.com/prometheus/client_golang"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_golang"; + rev = "v0.9.4"; + sha256 = "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p"; + }; + } + { + goPackagePath = "github.com/prometheus/client_model"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/client_model"; + rev = "fd36f4220a90"; + sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5"; + }; + } + { + goPackagePath = "github.com/prometheus/common"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/common"; + rev = "v0.4.1"; + sha256 = "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"; + }; + } + { + goPackagePath = "github.com/prometheus/procfs"; + fetch = { + type = "git"; + url = "https://github.com/prometheus/procfs"; + rev = "v0.0.3"; + sha256 = "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y"; + }; + } + { + goPackagePath = "github.com/ryanuber/columnize"; + fetch = { + type = "git"; + url = "https://github.com/ryanuber/columnize"; + rev = "v2.1.0"; + sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6"; + }; + } + { + goPackagePath = "github.com/satori/go.uuid"; + fetch = { + type = "git"; + url = "https://github.com/satori/go.uuid"; + rev = "v1.1.0"; + sha256 = "1nbydsmjr60904kz5d46nib0zid5kcv4gk9wayi44gn5wlzz80zp"; + }; + } + { + goPackagePath = "github.com/sean-/seed"; + fetch = { + type = "git"; + url = "https://github.com/sean-/seed"; + rev = "e2103e2c3529"; + sha256 = "0glir8jxi1w7aga2jwdb63pp1h8q4whknili7xixsqzwyy716125"; + }; + } + { + goPackagePath = "github.com/sirupsen/logrus"; + fetch = { + type = "git"; + url = "https://github.com/sirupsen/logrus"; + rev = "v1.2.0"; + sha256 = "0r6334x2bls8ddznvzaldx4g88msjjns4mlks95rqrrg7h0ijigg"; + }; + } + { + goPackagePath = "github.com/spaolacci/murmur3"; + fetch = { + type = "git"; + url = "https://github.com/spaolacci/murmur3"; + rev = "v1.1.0"; + sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"; + }; + } + { + goPackagePath = "github.com/stretchr/objx"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/objx"; + rev = "v0.1.1"; + sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls"; + }; + } + { + goPackagePath = "github.com/stretchr/testify"; + fetch = { + type = "git"; + url = "https://github.com/stretchr/testify"; + rev = "v1.3.0"; + sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy"; + }; + } + { + goPackagePath = "github.com/tucnak/telebot"; + fetch = { + type = "git"; + url = "https://github.com/tucnak/telebot"; + rev = "00cebf376d79"; + sha256 = "0yay3h7gp6yag8jbapbq10vhmszad7svn68nnq5yp6pl1hmykzd6"; + }; + } + { + goPackagePath = "github.com/weaveworks/mesh"; + fetch = { + type = "git"; + url = "https://github.com/weaveworks/mesh"; + rev = "f74318fb713b"; + sha256 = "093j5i7wrkq1g92xaprd0rlfv9i74381wns4941bhbp6x6ahdcz7"; + }; + } + { + goPackagePath = "golang.org/x/crypto"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/crypto"; + rev = "45a5f77698d3"; + sha256 = "0636jjj89wkzqchajwwzgcn4aafc334p70nawh9jzavg2mkx0ch4"; + }; + } + { + goPackagePath = "golang.org/x/net"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/net"; + rev = "891ebc4b82d6"; + sha256 = "1rgw5gl2lc6bkmsx0fak84s6zdc1bhzfxgqg4mg4yh5hlnhpwrki"; + }; + } + { + goPackagePath = "golang.org/x/sync"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sync"; + rev = "37e7f081c4d4"; + sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm"; + }; + } + { + goPackagePath = "golang.org/x/sys"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/sys"; + rev = "fde4db37ae7a"; + sha256 = "16k4w4pzziq1kln18k5fg01qgk4hpzb5xsm7175kaky6d6gwyhg3"; + }; + } + { + goPackagePath = "golang.org/x/text"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/text"; + rev = "v0.3.2"; + sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh"; + }; + } + { + goPackagePath = "golang.org/x/tools"; + fetch = { + type = "git"; + url = "https://go.googlesource.com/tools"; + rev = "90fa682c2a6e"; + sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak"; + }; + } + { + goPackagePath = "google.golang.org/appengine"; + fetch = { + type = "git"; + url = "https://github.com/golang/appengine"; + rev = "v1.1.0"; + sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x"; + }; + } + { + goPackagePath = "gopkg.in/airbrake/gobrake.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/airbrake/gobrake.v2"; + rev = "v2.0.9"; + sha256 = "1x06f7n7qlyzqgyz0sdfcidf3w4ldn6zs6qx2mhibggk2z4whcjw"; + }; + } + { + goPackagePath = "gopkg.in/alecthomas/kingpin.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/alecthomas/kingpin.v2"; + rev = "v2.2.6"; + sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r"; + }; + } + { + goPackagePath = "gopkg.in/check.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/check.v1"; + rev = "788fd7840127"; + sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a"; + }; + } + { + goPackagePath = "gopkg.in/fsnotify.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/fsnotify.v1"; + rev = "v1.4.7"; + sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g"; + }; + } + { + goPackagePath = "gopkg.in/gemnasium/logrus-airbrake-hook.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/gemnasium/logrus-airbrake-hook.v2"; + rev = "v2.1.2"; + sha256 = "0sbg0dn6cysmf8f2bi209jwl4jnpiwp4rdghnxlzirw3c32ms5y5"; + }; + } + { + goPackagePath = "gopkg.in/tomb.v1"; + fetch = { + type = "git"; + url = "https://gopkg.in/tomb.v1"; + rev = "dd632973f1e7"; + sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv"; + }; + } + { + goPackagePath = "gopkg.in/vmihailenco/msgpack.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/vmihailenco/msgpack.v2"; + rev = "v2.9.1"; + sha256 = "0ah9j7i97ifyqhiscq8d43gcrhksb3bx83s2p1nyfi1bxw78jwfi"; + }; + } + { + goPackagePath = "gopkg.in/yaml.v2"; + fetch = { + type = "git"; + url = "https://gopkg.in/yaml.v2"; + rev = "v2.2.2"; + sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa"; + }; + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ad7a9654970..c42e587acb6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15813,6 +15813,8 @@ in alfred = callPackage ../os-specific/linux/batman-adv/alfred.nix { }; + alertmanager-bot = callPackage ../servers/monitoring/alertmanager-bot { }; + alsa-firmware = callPackage ../os-specific/linux/alsa-firmware { }; alsaLib = callPackage ../os-specific/linux/alsa-lib { }; From ea96d2a139bff306842595d611309d9eaa4dc377 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 20:55:58 -0800 Subject: [PATCH 88/90] python3Packages.dask: 2.6.0 -> 2.9.0 --- pkgs/development/python-modules/dask/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix index d55595d456f..a857925d7b7 100644 --- a/pkgs/development/python-modules/dask/default.nix +++ b/pkgs/development/python-modules/dask/default.nix @@ -15,13 +15,13 @@ buildPythonPackage rec { pname = "dask"; - version = "2.6.0"; + version = "2.9.0"; disabled = pythonOlder "3.5"; src = fetchPypi { inherit pname version; - sha256 = "81c7891f0d2e7ac03d1f7fabf1f639360a1db52c03a7155ba9b08e9ee6280f2b"; + sha256 = "1w1hqr8vyx6ygwflj2737dcy0mmgvrc0s602gnny8pzlcbs9m76b"; }; checkInputs = [ pytest ]; From 146e2a0cedeedcb5c5fa89bb16feefc64899e265 Mon Sep 17 00:00:00 2001 From: Jonathan Ringer Date: Sun, 15 Dec 2019 20:22:57 -0800 Subject: [PATCH 89/90] python3Packages.bottleneck: 1.2.1 -> 1.3.1 Also gave the expression some love --- .../python-modules/bottleneck/default.nix | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/bottleneck/default.nix b/pkgs/development/python-modules/bottleneck/default.nix index 21492dc152c..f45eea2c5df 100644 --- a/pkgs/development/python-modules/bottleneck/default.nix +++ b/pkgs/development/python-modules/bottleneck/default.nix @@ -1,26 +1,34 @@ -{ buildPythonPackage -, fetchPypi +{ lib, buildPythonPackage, fetchPypi , nose -, pytest , numpy +, pytest , python }: buildPythonPackage rec { pname = "Bottleneck"; - version = "1.2.1"; + version = "1.3.1"; src = fetchPypi { inherit pname version; - sha256 = "6efcde5f830aed64feafca0359b51db0e184c72af8ba6675b4a99f263922eb36"; + sha256 = "0a2a94zahl3kqld2n9dm58fvazz9s52sa16nd8yn5jv20hvqc5a5"; }; - checkInputs = [ pytest nose ]; propagatedBuildInputs = [ numpy ]; - checkPhase = '' - py.test -p no:warnings $out/${python.sitePackages} - ''; + postPatch = '' substituteInPlace setup.py --replace "__builtins__.__NUMPY_SETUP__ = False" "" ''; + + checkInputs = [ pytest nose ]; + checkPhase = '' + py.test -p no:warnings $out/${python.sitePackages} + ''; + + meta = with lib; { + description = "Fast NumPy array functions written in C"; + homepage = "https://github.com/pydata/bottleneck"; + license = licenses.bsd2; + maintainers = with maintainers; [ ]; + }; } From 7315dc071c901b83dfcacb5536f32699b2cb610a Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 18 Dec 2019 20:00:00 -0500 Subject: [PATCH 90/90] vault: 1.3.0 -> 1.3.1 --- pkgs/tools/security/vault/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix index 1e5a16e1958..11b0b067ccb 100644 --- a/pkgs/tools/security/vault/default.nix +++ b/pkgs/tools/security/vault/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { pname = "vault"; - version = "1.3.0"; + version = "1.3.1"; src = fetchFromGitHub { owner = "hashicorp"; repo = "vault"; rev = "v${version}"; - sha256 = "0ayvmqg4fj9cliwbl4pb12mailq7062j3f9v8arpv6x5r4hydlpy"; + sha256 = "052aj79gwmydc7ph1g567cbssqf8dsmqxad47k5hc5sc58bx7c93"; }; goPackagePath = "github.com/hashicorp/vault";