diff --git a/doc/builders/fetchers.xml b/doc/builders/fetchers.xml
index ff3988334916..f07c310dcdf1 100644
--- a/doc/builders/fetchers.xml
+++ b/doc/builders/fetchers.xml
@@ -105,6 +105,17 @@ stdenv.mkDerivation {
+
+
+ fetchFromGitiles
+
+
+
+ This is used with Gitiles repositories. The arguments expected
+ are similar to fetchgit.
+
+
+
fetchFromBitbucket
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 1bedebd11902..9cb0e1eecc16 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
'';
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index f2632f8f69d4..08db4549733d 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";
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index 9206f43ea392..55ad9fe6e653 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 6ac99c6b2bee..027828bb936d 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/man-nixos-option.xml b/nixos/doc/manual/man-nixos-option.xml
index beabf020c92a..b82f31256099 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
+
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml
index 2a38b2adbbb4..247e9cd063c6 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 d567d2687653..c4eb9328b1db 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 a5f060a8d8e3..ae8ecd6270ce 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/module-list.nix b/nixos/modules/module-list.nix
index e577ea9ab057..3300848220a0 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -443,6 +443,7 @@
./services/misc/logkeys.nix
./services/misc/leaps.nix
./services/misc/lidarr.nix
+ ./services/misc/mame.nix
./services/misc/mathics.nix
./services/misc/matrix-synapse.nix
./services/misc/mbpfan.nix
diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix
index 9a15c7734632..d685a5259324 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 = {
@@ -88,7 +89,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/admin/oxidized.nix b/nixos/modules/services/admin/oxidized.nix
index da81be3f23e8..885eaed1de6f 100644
--- a/nixos/modules/services/admin/oxidized.nix
+++ b/nixos/modules/services/admin/oxidized.nix
@@ -111,6 +111,7 @@ in
Restart = "always";
WorkingDirectory = cfg.dataDir;
KillSignal = "SIGKILL";
+ PIDFile = "${cfg.dataDir}.config/oxidized/pid";
};
};
};
diff --git a/nixos/modules/services/misc/mame.nix b/nixos/modules/services/misc/mame.nix
new file mode 100644
index 000000000000..c5d5e9e48371
--- /dev/null
+++ b/nixos/modules/services/misc/mame.nix
@@ -0,0 +1,67 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.mame;
+ mame = "mame${lib.optionalString pkgs.stdenv.is64bit "64"}";
+in
+{
+ options = {
+ services.mame = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = ''
+ Whether to setup TUN/TAP Ethernet interface for MAME emulator.
+ '';
+ };
+ user = mkOption {
+ type = types.str;
+ description = ''
+ User from which you run MAME binary.
+ '';
+ };
+ hostAddr = mkOption {
+ type = types.str;
+ description = ''
+ IP address of the host system. Usually an address of the main network
+ adapter or the adapter through which you get an internet connection.
+ '';
+ example = "192.168.31.156";
+ };
+ emuAddr = mkOption {
+ type = types.str;
+ description = ''
+ IP address of the guest system. The same you set inside guest OS under
+ MAME. Should be on the same subnet as .
+ '';
+ example = "192.168.31.155";
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+ environment.systemPackages = [ pkgs.mame ];
+
+ security.wrappers."${mame}" = {
+ source = "${pkgs.mame}/bin/${mame}";
+ capabilities = "cap_net_admin,cap_net_raw+eip";
+ };
+
+ systemd.services.mame = {
+ description = "MAME TUN/TAP Ethernet interface";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ path = [ pkgs.iproute ];
+ serviceConfig = {
+ Type = "oneshot";
+ RemainAfterExit = true;
+ ExecStart = "${pkgs.mame}/bin/taputil.sh -c ${cfg.user} ${cfg.emuAddr} ${cfg.hostAddr} -";
+ ExecStop = "${pkgs.mame}/bin/taputil.sh -d ${cfg.user}";
+ };
+ };
+ };
+
+ meta.maintainers = with lib.maintainers; [ gnidorah ];
+}
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index 671a959cdde1..534551c0c4ab 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
- builtins.trace ''
- Default desktop manager (${defaultDM}) not found at evaluation time.
- 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}
- '' defaultDM;
+ description = ''
+ Deprecated, please use instead.
+
+ Default desktop manager loaded if none have been chosen.
+ '';
};
};
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 6725595e1cfd..6d9bd284bc72 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 99db5b17b649..e07d5b5eaad7 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
@@ -81,9 +81,9 @@ 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";
+ # 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 = ''
if test "$XDG_CURRENT_DESKTOP" = "Pantheon"; then
diff --git a/nixos/modules/services/x11/desktop-managers/surf-display.nix b/nixos/modules/services/x11/desktop-managers/surf-display.nix
index 140dde828daa..9aeb0bbd2a88 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/account-service-util.nix b/nixos/modules/services/x11/display-managers/account-service-util.nix
new file mode 100644
index 000000000000..1dbe703b5662
--- /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 c252c3c90c94..2d809b5cc9fd 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,94 +107,44 @@ 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
+ 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.extraSessionFilePackages}
-
- ${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}
'';
+ dmDefault = cfg.desktopManager.default;
+ wmDefault = cfg.windowManager.default;
+
+ defaultSessionFromLegacyOptions = concatStringsSep "+" (filter (s: s != null) ([ dmDefault ] ++ optional (wmDefault != "none") wmDefault));
+
in
{
@@ -261,11 +202,24 @@ in
'';
};
- extraSessionFilePackages = mkOption {
- type = types.listOf types.package;
+ sessionPackages = mkOption {
+ 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 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.
'';
};
@@ -296,18 +250,50 @@ 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; nullOr str // {
+ description = "session name";
+ 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 " cfg.displayManager.sessionData.sessionNames}
+ '';
+ };
+ default =
+ if dmDefault != null || wmDefault != null then
+ defaultSessionFromLegacyOptions
+ else
+ null;
+ example = "gnome";
+ 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 = {
preStart = mkOption {
@@ -356,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 = {
@@ -364,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 = [
@@ -371,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 095569fa08aa..6630f012f04f 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 fa9445af32e7..0025f9b36037 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 cf4c05acbccd..f7face0adb7e 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -8,10 +8,9 @@ let
dmcfg = xcfg.displayManager;
xEnv = config.systemd.services.display-manager.environment;
cfg = dmcfg.lightdm;
+ sessionData = dmcfg.sessionData;
- dmDefault = xcfg.desktopManager.default;
- wmDefault = xcfg.windowManager.default;
- hasDefaultUserSession = dmDefault != "none" || wmDefault != "none";
+ setSessionScript = pkgs.callPackage ./account-service-util.nix { };
inherit (pkgs) lightdm writeScript writeText;
@@ -45,22 +44,19 @@ let
greeter-user = ${config.users.users.lightdm.name}
greeters-directory = ${cfg.greeter.package}
''}
- sessions-directory = ${dmcfg.session.desktops}/share/xsessions
+ 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" ''
@@ -71,7 +67,6 @@ let
${cfg.extraSeatDefaults}
'';
- defaultSessionName = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault);
in
{
# Note: the order in which lightdm greeter modules are imported
@@ -199,11 +194,9 @@ 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 -> 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);
@@ -214,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 24e120c4f2cf..4224c557ed63 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,23 +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 =
- let
- dm = xcfg.desktopManager.default;
- wm = xcfg.windowManager.default;
- in dm + optionalString (wm != "none") ("+" + wm);
+ autoLoginSessionName = dmcfg.sessionData.autologinSession;
in
{
@@ -210,11 +206,9 @@ 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 -> 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 c17f3830d0e9..04a9fc46628c 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 c5a7c165d126..5ad0ac20fac8 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/gnome3-xorg.nix b/nixos/tests/gnome3-xorg.nix
index eb4c376319be..aa03501f6a55 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;
};
diff --git a/nixos/tests/hadoop/hdfs.nix b/nixos/tests/hadoop/hdfs.nix
index e7d72a56e1e7..85aaab34b158 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")
'';
})
diff --git a/nixos/tests/hadoop/yarn.nix b/nixos/tests/hadoop/yarn.nix
index 031592301f17..2264ecaff155 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")
'';
})
diff --git a/nixos/tests/haproxy.nix b/nixos/tests/haproxy.nix
index 72e77a68193e..b6fed3e2108f 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"
+ )
'';
})
diff --git a/nixos/tests/hitch/default.nix b/nixos/tests/hitch/default.nix
index cb24c4dcffc2..106120256412 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")
'';
})
diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix
index 8afa845f1e21..126178d11879 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/initrd-network.nix b/nixos/tests/initrd-network.nix
index ed9b82e2da77..4796ff9b7c8d 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")
'';
})
diff --git a/nixos/tests/leaps.nix b/nixos/tests/leaps.nix
index 6163fed56b6f..65b475d734ec 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/"
+ )
'';
})
diff --git a/nixos/tests/lidarr.nix b/nixos/tests/lidarr.nix
index 85fcbd21d8c0..d3f83e5d9145 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/")
'';
})
diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix
index ef30f7741e23..46c2ed7ccc59 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/mailcatcher.nix b/nixos/tests/mailcatcher.nix
index eb5b606ecc84..2ef38544fe0a 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"
+ )
'';
})
diff --git a/nixos/tests/paperless.nix b/nixos/tests/paperless.nix
index 860ad0a6218f..355e7041d3fe 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'"
+ )
'';
})
diff --git a/nixos/tests/pdns-recursor.nix b/nixos/tests/pdns-recursor.nix
index bf6e6093d69c..de1b60e0b1c7 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")
'';
})
diff --git a/nixos/tests/peerflix.nix b/nixos/tests/peerflix.nix
index fae37fedaac7..37628604d49b 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")
'';
})
diff --git a/nixos/tests/pgmanage.nix b/nixos/tests/pgmanage.nix
index bacaf3f41588..4f5dbed24a97 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"
+ )
'';
})
diff --git a/nixos/tests/php-pcre.nix b/nixos/tests/php-pcre.nix
index ae44aec7944f..d5c22e0582a0 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"
+ )
'';
})
diff --git a/nixos/tests/plasma5.nix b/nixos/tests/plasma5.nix
index 6884f17aabbe..2eccfdf47f59 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/postgis.nix b/nixos/tests/postgis.nix
index 294eb50b5fe5..84bbb0bc8ec6 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;'")
'';
})
diff --git a/nixos/tests/quagga.nix b/nixos/tests/quagga.nix
index 6aee7ea57f03..04590aa0eb38 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")
'';
})
diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix
index 4bdcd701dcf1..a145705250f7 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/sonarr.nix b/nixos/tests/sonarr.nix
index 3e84445099ab..764a4d05b381 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/")
'';
})
diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix
index 0dba3697980f..7076bd77b770 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"
+ )
'';
})
diff --git a/nixos/tests/systemd-timesyncd.nix b/nixos/tests/systemd-timesyncd.nix
index d12b8eb2bf7e..ad5b9a47383b 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")
'';
})
diff --git a/nixos/tests/wireguard/namespaces.nix b/nixos/tests/wireguard/namespaces.nix
index 94f993d9475d..c8a4e3bb52a1 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")
'';
})
diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix
index ab3888ca43fc..ef711f8dcf6a 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;
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index 246cba590f45..b972aae7de80 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, python3, python3Packages, intltool
, glibcLocales, gnome3, gtk3, wrapGAppsHook
-, ipodSupport ? false, libgpod, gobject-introspection
+, gobject-introspection
}:
python3Packages.buildPythonApplication rec {
@@ -50,7 +50,7 @@ python3Packages.buildPythonApplication rec {
podcastparser
html5lib
gtk3
- ] ++ stdenv.lib.optional ipodSupport libgpod;
+ ];
makeFlags = [
"PREFIX=$(out)"
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index 37e233b5e9ec..88cdde2ceb2a 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 = [
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index ee3865590e50..fcd15355a101 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"
diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix
index 9db6281b3412..f8d50a7c7982 100644
--- a/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -10,11 +10,11 @@ with stdenv.lib;
perlPackages.buildPerlPackage rec {
pname = "gscan2pdf";
- version = "2.5.6";
+ version = "2.6.2";
src = fetchurl {
url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
- sha256 = "0wp81nsi5jfypabwmjqiamxr739jq5ij79n5fzn5pbw1hg5gcmfz";
+ sha256 = "0z35lglf4anfczizynjp8sd1jpix5mkmm1nh39n1v94l7ahjxsww";
};
nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 70a716a760c6..40e69f8c9bcb 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 000000000000..9ee573532378
--- /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 ];
+ };
+}
diff --git a/pkgs/applications/misc/barrier/default.nix b/pkgs/applications/misc/barrier/default.nix
index d8325e19e266..10e46176c6e6 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 = ''
diff --git a/pkgs/applications/misc/fsv/default.nix b/pkgs/applications/misc/fsv/default.nix
index 00e11858fb41..bbc78efe5cd2 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 ];
diff --git a/pkgs/applications/misc/redis-desktop-manager/default.nix b/pkgs/applications/misc/redis-desktop-manager/default.nix
index 25f9c6ed4c7a..71d79b88f440 100644
--- a/pkgs/applications/misc/redis-desktop-manager/default.nix
+++ b/pkgs/applications/misc/redis-desktop-manager/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, lib, fetchgit, pkgconfig, libssh2
+{ stdenv, lib, fetchFromGitHub, fetchFromGitiles, pkgconfig, libssh2
, qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols
, qtsvg, qttools, qtquick1, qtcharts
, qmake
}:
let
- breakpad_lss = fetchgit {
+ breakpad_lss = fetchFromGitiles {
url = "https://chromium.googlesource.com/linux-syscall-support";
rev = "08056836f2b4a5747daff75435d10d649bed22f6";
sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz";
@@ -17,10 +17,11 @@ stdenv.mkDerivation rec {
pname = "redis-desktop-manager";
version = "0.9.1";
- src = fetchgit {
- url = "https://github.com/uglide/RedisDesktopManager.git";
+ src = fetchFromGitHub {
+ owner = "uglide";
+ repo = "RedisDesktopManager";
fetchSubmodules = true;
- rev = "refs/tags/${version}";
+ rev = version;
sha256 = "0yd4i944d4blw8jky0nxl7sfkkj975q4d328rdcbhizwvf6dx81f";
};
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index afb1e3857c8c..45b6e9dcf334 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";
diff --git a/pkgs/applications/networking/hydroxide/default.nix b/pkgs/applications/networking/hydroxide/default.nix
new file mode 100644
index 000000000000..75c1cdaece96
--- /dev/null
+++ b/pkgs/applications/networking/hydroxide/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
+
+buildGoModule rec {
+ pname = "hydroxide";
+ version = "0.2.11";
+
+ src = fetchFromGitHub {
+ owner = "emersion";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "0rn35iyli80kgj3yn93lrx0ybgc8fhvmkvx1d18ill7r4cmavand";
+ };
+
+ modSha256 = "0b19rcif8yiyvhrsjd3q5nsvr580lklamlphx4dk47n456ckcqfp";
+
+ # FIXME: remove with next release
+ patches = [
+ (fetchpatch {
+ url = "https://github.com/emersion/hydroxide/commit/80e0fa6f3e0154338fb0af8a82ca32ae6281dd15.patch";
+ sha256 = "1xi0clzgz14a7sxnwr0li7sz9p05sfh3zh5iqg2qz5f415k9jknj";
+ })
+ ];
+
+ subPackages = [ "cmd/hydroxide" ];
+
+ meta = with lib; {
+ description = "A third-party, open-source ProtonMail bridge";
+ homepage = "https://github.com/emersion/hydroxide";
+ license = licenses.mit;
+ maintainers = with maintainers; [ filalex77 ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/pkgs/applications/networking/instant-messengers/franz/default.nix b/pkgs/applications/networking/instant-messengers/franz/default.nix
index feba61c8a3b1..605550beb50e 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;
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
index 3338f6159d92..c49934b96f77 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
- "version": "1.5.5",
+ "version": "1.5.6",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"dependencies": {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
index c3fe4b9dd331..9b6f591bd42d 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
@@ -6,12 +6,12 @@
let
executableName = "riot-desktop";
- version = "1.5.5";
+ version = "1.5.6";
riot-web-src = fetchFromGitHub {
owner = "vector-im";
repo = "riot-web";
rev = "v${version}";
- sha256 = "18xhqniwxp1sv49qcd9ah8nyy2n2yliy3wg613raxjl16qvvzxmc";
+ sha256 = "148rg6wc84xy53bj16v5riw78s999ridid59x6v9jas827l0bdpk";
};
in mkYarnPackage rec {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index b2e50ffce64b..ada903701e26 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "riot-web";
- version = "1.5.5";
+ version = "1.5.6";
src = fetchurl {
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
- sha256 = "0isln25sl5jvvlqvh822w73a4i82x75g1ywf3p9n5m1a5sr9f537";
+ sha256 = "063ynbil038y201skyldj2ysr0hwgwq981w1iw104xd17x31zmn0";
};
installPhase = let
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 6bbdb66d3a84..4a72c186dfa7 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" ];
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index da470c349eec..e501d3bcdbfc 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 \
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index adb70c3916f4..5324ae86e520 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 = [
diff --git a/pkgs/applications/science/biology/bedtools/default.nix b/pkgs/applications/science/biology/bedtools/default.nix
index 0bb5ee866e56..9af2ec88c392 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 ];
diff --git a/pkgs/applications/science/biology/strelka/default.nix b/pkgs/applications/science/biology/strelka/default.nix
index c791e8ef89bb..cb83b19269bd 100644
--- a/pkgs/applications/science/biology/strelka/default.nix
+++ b/pkgs/applications/science/biology/strelka/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake ];
buildInputs = [ zlib python2 ];
+ NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ];
+
preConfigure = ''
sed -i 's|/usr/bin/env python|${python2}/bin/python|' src/python/lib/makeRunScript.py
patchShebangs .
@@ -33,7 +35,6 @@ stdenv.mkDerivation rec {
homepage = https://github.com/Illumina/strelka;
maintainers = with maintainers; [ jbedo ];
platforms = [ "x86_64-linux" ];
- broken = true;
};
}
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 c8700c18ea10..3e47631caf69 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 = [ "." ];
diff --git a/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch
new file mode 100644
index 000000000000..46b091b3a353
--- /dev/null
+++ b/pkgs/applications/virtualization/crosvm/default-seccomp-policy-dir.patch
@@ -0,0 +1,15 @@
+diff --git a/src/main.rs b/src/main.rs
+index 81f20a7..481ebd7 100644
+--- a/src/main.rs
++++ b/src/main.rs
+@@ -158,7 +158,9 @@ impl Default for Config {
+ wayland_dmabuf: false,
+ shared_dirs: Vec::new(),
+ sandbox: !cfg!(feature = "default-no-sandbox"),
+- seccomp_policy_dir: PathBuf::from(SECCOMP_POLICY_DIR),
++ seccomp_policy_dir: PathBuf::from(
++ option_env!("DEFAULT_SECCOMP_POLICY_DIR").unwrap_or(SECCOMP_POLICY_DIR),
++ ),
+ seccomp_log_failures: false,
+ cras_audio: false,
+ cras_capture: false,
diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix
new file mode 100644
index 000000000000..106b39b03366
--- /dev/null
+++ b/pkgs/applications/virtualization/crosvm/default.nix
@@ -0,0 +1,83 @@
+{ stdenv, rustPlatform, fetchgit, runCommand, symlinkJoin
+, pkgconfig, minijail, dtc, libusb1, libcap
+}:
+
+let
+
+ upstreamInfo = with builtins; fromJSON (readFile ./upstream-info.json);
+
+ arch = with stdenv.hostPlatform;
+ if isAarch64 then "arm"
+ else if isx86_64 then "x86_64"
+ else throw "no seccomp policy files available for host platform";
+
+ # used to turn symlinks into real files because write permissions are necessary for the vendoring process
+ delink = src: runCommand "${src.name}-delinked" {
+ preferLocalBuild = true;
+ allowSubstitutes = false;
+ } ''
+ cp -prL --reflink=auto ${src} $out
+ '';
+
+ # used to place subtrees into the location they have in the Chromium monorepo
+ move = src: target: runCommand "moved-${src.name}" {
+ preferLocalBuild = true;
+ allowSubstitutes = false;
+ } ''
+ mkdir -p $(dirname $out/${target})
+ ln -s ${src} $out/${target}
+ '';
+
+ # used to check out subtrees from the Chromium monorepo
+ chromiumSource = name: subtrees: delink (symlinkJoin {
+ inherit name;
+ paths = stdenv.lib.mapAttrsToList (
+ location: { url, rev, sha256, fetchSubmodules, ... }:
+ move (fetchgit {
+ inherit url rev sha256 fetchSubmodules;
+ }) location) subtrees;
+ });
+
+in
+
+ rustPlatform.buildRustPackage rec {
+ pname = "crosvm";
+ inherit (upstreamInfo) version;
+
+ src = chromiumSource "${pname}-sources" upstreamInfo.components;
+
+ sourceRoot = "${src.name}/chromiumos/platform/crosvm";
+
+ patches = [
+ ./default-seccomp-policy-dir.patch
+ ];
+
+ cargoSha256 = "16cfp79c13ng5jjcrvz00h3cg7cc9ywhjiq02vsm757knn9jgr1v";
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ buildInputs = [ dtc libcap libusb1 minijail ];
+
+ postPatch = ''
+ sed -i "s|/usr/share/policy/crosvm/|$out/share/policy/|g" \
+ seccomp/*/*.policy
+ '';
+
+ preBuild = ''
+ export DEFAULT_SECCOMP_POLICY_DIR=$out/share/policy
+ '';
+
+ postInstall = ''
+ mkdir -p $out/share/policy/
+ cp seccomp/${arch}/* $out/share/policy/
+ '';
+
+ passthru.updateScript = ./update.py;
+
+ meta = with stdenv.lib; {
+ description = "A secure virtual machine monitor for KVM";
+ homepage = "https://chromium.googlesource.com/chromiumos/platform/crosvm/";
+ license = licenses.bsd3;
+ platforms = [ "aarch64-linux" "x86_64-linux" ];
+ };
+ }
diff --git a/pkgs/applications/virtualization/crosvm/update.py b/pkgs/applications/virtualization/crosvm/update.py
new file mode 100755
index 000000000000..d00bffce3b8f
--- /dev/null
+++ b/pkgs/applications/virtualization/crosvm/update.py
@@ -0,0 +1,85 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -p python3 -p nix-prefetch-git -i python
+
+import base64
+import csv
+import json
+import re
+import subprocess
+import xml.etree.ElementTree as ElementTree
+from codecs import iterdecode
+from operator import itemgetter
+from os.path import dirname, splitext
+from urllib.request import urlopen
+
+# ChromiumOS components required to build crosvm.
+components = ['chromiumos/platform/crosvm', 'chromiumos/third_party/adhd']
+
+git_root = 'https://chromium.googlesource.com/'
+manifest_versions = f'{git_root}chromiumos/manifest-versions'
+buildspecs_url = f'{manifest_versions}/+/refs/heads/master/paladin/buildspecs/'
+
+# CrOS version numbers look like this:
+# [.]..
+#
+# As far as I can tell, branches are where internal Google
+# modifications are added to turn Chromium OS into Chrome OS, and
+# branch branches are used for fixes for specific devices. So for
+# Chromium OS they will always be 0. This is a best guess, and is not
+# documented.
+with urlopen('https://cros-omahaproxy.appspot.com/all') as resp:
+ versions = csv.DictReader(iterdecode(resp, 'utf-8'))
+ stables = filter(lambda v: v['track'] == 'stable-channel', versions)
+ stable = sorted(stables, key=itemgetter('chrome_version'), reverse=True)[0]
+
+chrome_major_version = re.match(r'\d+', stable['chrome_version'])[0]
+chromeos_tip_build = re.match(r'\d+', stable['chromeos_version'])[0]
+
+# Find the most recent buildspec for the stable Chrome version and
+# Chromium OS build number. Its branch build and branch branch build
+# numbers will (almost?) certainly be 0. It will then end with an rc
+# number -- presumably these are release candidates, one of which
+# becomes the final release. Presumably the one with the highest rc
+# number.
+with urlopen(f'{buildspecs_url}{chrome_major_version}/?format=TEXT') as resp:
+ listing = base64.decodebytes(resp.read()).decode('utf-8')
+ buildspecs = [(line.split('\t', 1)[1]) for line in listing.splitlines()]
+ buildspecs = [s for s in buildspecs if s.startswith(chromeos_tip_build)]
+ buildspecs.sort(reverse=True)
+ buildspec = splitext(buildspecs[0])[0]
+
+revisions = {}
+
+# Read the buildspec, and extract the git revisions for each component.
+with urlopen(f'{buildspecs_url}{chrome_major_version}/{buildspec}.xml?format=TEXT') as resp:
+ xml = base64.decodebytes(resp.read()).decode('utf-8')
+ root = ElementTree.fromstring(xml)
+ for project in root.findall('project'):
+ revisions[project.get('name')] = project.get('revision')
+
+# Initialize the data that will be output from this script. Leave the
+# rc number in buildspec so nobody else is subject to the same level
+# of confusion I have been.
+data = {'version': f'{chrome_major_version}.{buildspec}', 'components': {}}
+
+# Fill in the 'components' dictionary with the output from
+# nix-prefetch-git, which can be passed straight to fetchGit when
+# imported by Nix.
+for component in components:
+ argv = ['nix-prefetch-git',
+ '--url', git_root + component,
+ '--rev', revisions[component]]
+
+ output = subprocess.check_output(argv)
+ data['components'][component] = json.loads(output.decode('utf-8'))
+
+# Find the path to crosvm's default.nix, so the srcs data can be
+# written into the same directory.
+argv = ['nix-instantiate', '--eval', '--json', '-A', 'crosvm.meta.position']
+position = json.loads(subprocess.check_output(argv).decode('utf-8'))
+filename = re.match(r'[^:]*', position)[0]
+
+# Finally, write the output.
+with open(dirname(filename) + '/upstream-info.json', 'w') as out:
+ json.dump(data, out, indent=2)
+ out.write('\n')
diff --git a/pkgs/applications/virtualization/crosvm/upstream-info.json b/pkgs/applications/virtualization/crosvm/upstream-info.json
new file mode 100644
index 000000000000..01921f9460a0
--- /dev/null
+++ b/pkgs/applications/virtualization/crosvm/upstream-info.json
@@ -0,0 +1,19 @@
+{
+ "version": "77.12371.0.0-rc1",
+ "components": {
+ "chromiumos/platform/crosvm": {
+ "url": "https://chromium.googlesource.com/chromiumos/platform/crosvm",
+ "rev": "f5285c647acacb4f25ef8cf9334254b976e71686",
+ "date": "2019-07-25T22:15:48+00:00",
+ "sha256": "1ccjd540xmpad082w9ri13q78wkg95xxmq38b8ybcrj4f7lsxm6w",
+ "fetchSubmodules": false
+ },
+ "chromiumos/third_party/adhd": {
+ "url": "https://chromium.googlesource.com/chromiumos/third_party/adhd",
+ "rev": "a1c0d93d991daffb042b979ac807bbe9c1f9a3ee",
+ "date": "2019-07-25T20:38:50-07:00",
+ "sha256": "11bijqd876adarq96syywn6znfbiflqssgb2j4w032iw2vfnnsyy",
+ "fetchSubmodules": false
+ }
+ }
+}
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index fba6b15d2384..e10ff269950d 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -287,10 +287,16 @@ 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.
- closure,
+ closures,
configJson,
# Docker has a 125-layer maximum, we pick 100 to ensure there is
# plenty of room for extension.
@@ -303,10 +309,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;
}
@@ -317,15 +325,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 ${lib.concatMapStringsSep " " (path: "| grep -v ${path}") (closures ++ [ overallClosure ])}
+ }
+
+ 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'"
@@ -534,7 +547,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 {
@@ -551,7 +569,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;
diff --git a/pkgs/build-support/fetchgitiles/default.nix b/pkgs/build-support/fetchgitiles/default.nix
new file mode 100644
index 000000000000..827680992d69
--- /dev/null
+++ b/pkgs/build-support/fetchgitiles/default.nix
@@ -0,0 +1,10 @@
+{ fetchzip, lib }:
+
+{ url, rev, name ? "source", ... } @ args:
+
+fetchzip ({
+ inherit name;
+ url = "${url}/+archive/${rev}.tar.gz";
+ stripRoot = false;
+ meta.homepage = url;
+} // removeAttrs args [ "url" "rev" ]) // { inherit rev; }
diff --git a/pkgs/data/fonts/gubbi/default.nix b/pkgs/data/fonts/gubbi/default.nix
new file mode 100644
index 000000000000..2d1c520e6103
--- /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/data/themes/sierra/default.nix b/pkgs/data/themes/sierra/default.nix
index e5b5ad8d611f..0c9cef9e0977 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 ];
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
index 8aaf68ea1e36..d63435ce2e9a 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/extensions/workspace-grid.nix b/pkgs/desktops/gnome-3/extensions/workspace-grid.nix
deleted file mode 100644
index 811e9911f628..000000000000
--- a/pkgs/desktops/gnome-3/extensions/workspace-grid.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub, glib }:
-
-stdenv.mkDerivation rec {
- pname = "gnome-shell-workspace-grid";
- version = "0f3a430e7d04bb5465a17c1225aab0f574426d6b";
-
- src = fetchFromGitHub {
- owner = "zakkak";
- repo = "workspace-grid-gnome-shell-extension";
- rev = version;
- sha256 = "0503b7lmydrbblfvf9b56pv5hpmykzgyc6v8y99rckg58h2jhs69";
- };
-
- buildInputs = [
- glib
- ];
-
- installPhase = ''
- cp -r ${uuid} $out
- '';
-
- uuid = "workspace-grid@mathematical.coffee.gmail.com";
-
- meta = with stdenv.lib; {
- description = "Arranges workspaces in a configurable grid";
- license = licenses.gpl3Plus;
- maintainers = with maintainers; [ aneeshusa ];
- homepage = https://github.com/zakkak/workspace-grid-gnome-shell-extension;
- };
-}
diff --git a/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix b/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix
new file mode 100644
index 000000000000..ca4b72111c6c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/extensions/workspace-matrix/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, findutils, glib }:
+
+stdenv.mkDerivation rec {
+ pname = "gnome-shell-extension-workspace-matrix";
+ version = "3.0.0";
+
+ src = fetchFromGitHub {
+ owner = "mzur";
+ repo = "gnome-shell-wsmatrix";
+ rev = "v${version}";
+ sha256 = "1fgyzmd16kklcca7600bwg8w8pbb4klmapqsvmahlwa99vmkhfkn";
+ };
+
+ uuid = "wsmatrix@martin.zurowietz.de";
+
+ nativeBuildInputs = [
+ findutils
+ glib
+ ];
+
+ buildFlags = "schemas";
+
+ installPhase = ''
+ mkdir -p $out/share/gnome-shell/extensions
+ cp -r ${uuid} $out/share/gnome-shell/extensions
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Arrange workspaces in a two dimensional grid with workspace thumbnails";
+ license = licenses.gpl3Plus;
+ maintainers = with maintainers; [ chkno ];
+ homepage = https://github.com/mzur/gnome-shell-wsmatrix;
+ };
+}
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
index 808d36dab95c..c1791ee5bbdc 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 ab7333212a05..07c9e724fc65 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/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix
index ab673832857d..1b73ac88df59 100644
--- a/pkgs/desktops/pantheon/granite/default.nix
+++ b/pkgs/desktops/pantheon/granite/default.nix
@@ -16,13 +16,13 @@
stdenv.mkDerivation rec {
pname = "granite";
- version = "5.2.5";
+ version = "5.3.0";
src = fetchFromGitHub {
owner = "elementary";
repo = pname;
rev = version;
- sha256 = "0z40vhcp2w8s8rnc56pzvjc4s77bln8k84rwwypivjmk3lhpw1vi";
+ sha256 = "1gvrk8gh959bmq8w0kaym7sx13v763lk8x5hck00msgmyrsarfwa";
};
passthru = {
diff --git a/pkgs/desktops/surf-display/default.nix b/pkgs/desktops/surf-display/default.nix
index 47b7e1172068..dd0644866478 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/";
diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix
index bede9fa4aa68..a7b2aa6be748 100644
--- a/pkgs/development/compilers/ecl/16.1.2.nix
+++ b/pkgs/development/compilers/ecl/16.1.2.nix
@@ -61,6 +61,7 @@ stdenv.mkDerivation {
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/16.1.2-getcwd.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
sha256 = "1fbi8gn7rv8nqff5mpaijsrch3k3z7qc5cn4h1vl8qrr8xwqlqhb";
})
+ ./ecl-1.16.2-libffi-3.3-abi.patch
];
hardeningDisable = [ "format" ];
diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix
index 33ed690772ea..375b38f1dc68 100644
--- a/pkgs/development/compilers/ecl/default.nix
+++ b/pkgs/development/compilers/ecl/default.nix
@@ -35,6 +35,10 @@ stdenv.mkDerivation {
inherit (s) url sha256;
};
+ patches = [
+ ./libffi-3.3-abi.patch
+ ];
+
configureFlags = [
(if threadSupport then "--enable-threads" else "--disable-threads")
"--with-gmp-prefix=${gmp.dev}"
diff --git a/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch
new file mode 100644
index 000000000000..28dd7d0805b3
--- /dev/null
+++ b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch
@@ -0,0 +1,15 @@
+diff --git a/src/c/ffi.d b/src/c/ffi.d
+index 8861303e..8a959c23 100644
+--- a/src/c/ffi.d
++++ b/src/c/ffi.d
+@@ -145,8 +145,8 @@ static struct {
+ #elif defined(X86_WIN64)
+ {@':win64', FFI_WIN64},
+ #elif defined(X86_ANY) || defined(X86) || defined(X86_64)
+- {@':cdecl', FFI_SYSV},
+- {@':sysv', FFI_SYSV},
++ {@':cdecl', FFI_UNIX64},
++ {@':sysv', FFI_UNIX64},
+ {@':unix64', FFI_UNIX64},
+ #endif
+ };
diff --git a/pkgs/development/compilers/ecl/libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch
new file mode 100644
index 000000000000..0a2b5f4dd568
--- /dev/null
+++ b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch
@@ -0,0 +1,15 @@
+diff --git a/src/c/ffi.d b/src/c/ffi.d
+index 8174977a..caa69f39 100644
+--- a/src/c/ffi.d
++++ b/src/c/ffi.d
+@@ -133,8 +133,8 @@ static struct {
+ #elif defined(X86_WIN64)
+ {@':win64', FFI_WIN64},
+ #elif defined(X86_ANY) || defined(X86) || defined(X86_64)
+- {@':cdecl', FFI_SYSV},
+- {@':sysv', FFI_SYSV},
++ {@':cdecl', FFI_UNIX64},
++ {@':sysv', FFI_UNIX64},
+ {@':unix64', FFI_UNIX64},
+ #endif
+ };
diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix
new file mode 100644
index 000000000000..2080a643959d
--- /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/development/interpreters/gauche/default.nix b/pkgs/development/interpreters/gauche/default.nix
index 71542046af91..9b38d1e4ad54 100644
--- a/pkgs/development/interpreters/gauche/default.nix
+++ b/pkgs/development/interpreters/gauche/default.nix
@@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "gauche";
- version = "0.9.8";
+ version = "0.9.9";
src = fetchurl {
url = "mirror://sourceforge/gauche/Gauche-${version}.tgz";
- sha256 = "0jxp1ladpy8kvfvk561c64spf1c3d6giqla6zscqkd6qa480vcry";
+ sha256 = "1yzpszhw52vkpr65r5d4khf3489mnnvnw58dd2wsvvx7499k5aac";
};
nativeBuildInputs = [ pkgconfig texinfo ];
diff --git a/pkgs/development/libraries/kde-frameworks/ki18n.nix b/pkgs/development/libraries/kde-frameworks/ki18n.nix
index 3b9ca74bbd07..69ad2fbc737e 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 ];
}
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index c41f0a60d06e..063588e9f1e5 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,18 +1,20 @@
-{stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib,
+{ stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib,
libxml2, sqlite, zlib, sg3_utils, gdk-pixbuf, taglib,
- libimobiledevice, python3Packages, mutagen,
+ libimobiledevice, mutagen,
monoSupport ? false, mono, gtk-sharp-2_0
}:
-let
- inherit (python3Packages) python pygobject2;
-in stdenv.mkDerivation rec {
+
+stdenv.mkDerivation rec {
name = "libgpod-0.8.3";
+
src = fetchurl {
url = "mirror://sourceforge/gtkpod/${name}.tar.bz2";
sha256 = "0pcmgv1ra0ymv73mlj4qxzgyir026z9jpl5s5bkg35afs1cpk2k3";
};
+ outputs = [ "out" "dev" ];
+
preConfigure = "configureFlagsArray=( --with-udev-dir=$out/lib/udev )";
configureFlags = [
@@ -23,7 +25,7 @@ in stdenv.mkDerivation rec {
dontStrip = true;
propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
- gdk-pixbuf taglib libimobiledevice python pygobject2 mutagen ];
+ gdk-pixbuf taglib libimobiledevice mutagen ];
nativeBuildInputs = [ gettext intltool pkgconfig ]
++ (with perlPackages; [ perl XMLParser ])
diff --git a/pkgs/development/libraries/libminc/default.nix b/pkgs/development/libraries/libminc/default.nix
index aea7a5959fac..53b6af40b512 100644
--- a/pkgs/development/libraries/libminc/default.nix
+++ b/pkgs/development/libraries/libminc/default.nix
@@ -1,17 +1,16 @@
{ stdenv, fetchFromGitHub, cmake, zlib, netcdf, nifticlib, hdf5 }:
stdenv.mkDerivation rec {
- pname = "libminc";
- name = "${pname}-2018-01-17";
+ pname = "libminc";
+ version = "2.4.03";
owner = "BIC-MNI";
- # current master is significantly ahead of most recent release, so use Git version:
src = fetchFromGitHub {
inherit owner;
repo = pname;
- rev = "a9cbe1353eae9791b7d5b03af16e0f86922ce40b";
- sha256 = "0mn4n3ihzcr1jw2g1vy6c8p4lkc88jwljk04argmj7k4djrgpxpa";
+ rev = "release-${version}";
+ sha256 = "0kpmqs9df836ywsqj749qbsfavf5bnldblxrmnmxqq9pywc8yfrm";
};
postPatch = ''
@@ -27,7 +26,7 @@ stdenv.mkDerivation rec {
"-DLIBMINC_USE_SYSTEM_NIFTI=ON"
];
- doCheck = true;
+ doCheck = !stdenv.isDarwin;
checkPhase = ''
export LD_LIBRARY_PATH="$(pwd)" # see #22060
ctest -E 'ezminc_rw_test|minc_conversion' --output-on-failure
diff --git a/pkgs/development/libraries/randomx/default.nix b/pkgs/development/libraries/randomx/default.nix
index 79ce9e413248..9e6cdfecb954 100644
--- a/pkgs/development/libraries/randomx/default.nix
+++ b/pkgs/development/libraries/randomx/default.nix
@@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "randomX";
- version = "1.1.6";
+ version = "1.1.7";
nativeBuildInputs = [ cmake ];
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
owner = "tevador";
repo = pname;
rev = "v${version}";
- sha256 = "1qd0rbzgxdy87wwy0n6ca29bcq25j5ndnfgmx8iyf225m4rcwngf";
+ sha256 = "1d42dw4zrd7mzfqs6gwk27jj6lsh6pwv85p1ckx9dxy8mw3m52ah";
};
meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/sentencepiece/default.nix b/pkgs/development/libraries/sentencepiece/default.nix
new file mode 100644
index 000000000000..556f77ef8b51
--- /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/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index 77a7764acb8d..d19ecf34ab95 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;
diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix
index 74792f8f34cd..7c819487a334 100644
--- a/pkgs/development/libraries/wt/default.nix
+++ b/pkgs/development/libraries/wt/default.nix
@@ -49,12 +49,12 @@ let
};
in {
wt3 = generic {
- version = "3.4.2";
- sha256 = "03mwr4yv3705y74pdh19lmh8szad6gk2x2m23f4pr0wrmqg73307";
+ version = "3.5.0";
+ sha256 = "1xcwzldbval5zrf7f3n2gkpscagg51cw2jp6p3q1yh6bi59haida";
};
wt4 = generic {
- version = "4.1.2";
- sha256 = "06bnadpgflg8inikzynnz4l4r6w1bphjwlva4pzf51w648vpkknl";
+ version = "4.2.0";
+ sha256 = "0zrrdjz0sa8hrmybjp4aap1lcqcqvsicd7dj49zj1m5k8gnfpm4v";
};
}
diff --git a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
index 5b7288ad4f79..c077132a9f3d 100644
--- a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
+++ b/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
@@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
- CFPropertyList (3.0.1)
+ CFPropertyList (3.0.2)
activesupport (4.2.11.1)
i18n (~> 0.7)
minitest (~> 5.1)
@@ -12,10 +12,10 @@ GEM
json (>= 1.5.1)
atomos (0.1.3)
claide (1.0.3)
- cocoapods (1.8.4)
+ cocoapods (1.9.0.beta.1)
activesupport (>= 4.0.2, < 5)
claide (>= 1.0.2, < 2.0)
- cocoapods-core (= 1.8.4)
+ cocoapods-core (= 1.9.0.beta.1)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.2.2, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -30,15 +30,17 @@ GEM
molinillo (~> 0.6.6)
nap (~> 1.0)
ruby-macho (~> 1.4)
- xcodeproj (>= 1.11.1, < 2.0)
- cocoapods-core (1.8.4)
+ xcodeproj (>= 1.14.0, < 2.0)
+ cocoapods-core (1.9.0.beta.1)
activesupport (>= 4.0.2, < 6)
algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
+ netrc (~> 0.11)
+ typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.4)
- cocoapods-downloader (1.2.2)
+ cocoapods-downloader (1.3.0)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.0)
@@ -50,23 +52,28 @@ GEM
colored2 (3.1.2)
concurrent-ruby (1.1.5)
escape (0.0.4)
+ ethon (0.12.0)
+ ffi (>= 1.3.0)
+ ffi (1.11.3)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
- json (2.2.0)
- minitest (5.12.2)
+ json (2.3.0)
+ minitest (5.13.0)
molinillo (0.6.6)
nanaimo (0.2.6)
nap (1.1.0)
netrc (0.11.0)
ruby-macho (1.4.0)
thread_safe (0.3.6)
+ typhoeus (1.3.1)
+ ethon (>= 0.9.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
- xcodeproj (1.13.0)
+ xcodeproj (1.14.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
@@ -80,4 +87,4 @@ DEPENDENCIES
cocoapods (>= 1.7.0.beta.1)!
BUNDLED WITH
- 1.17.2
+ 1.17.3
diff --git a/pkgs/development/mobile/cocoapods/gemset-beta.nix b/pkgs/development/mobile/cocoapods/gemset-beta.nix
index b94bc461944e..120680f658dd 100644
--- a/pkgs/development/mobile/cocoapods/gemset-beta.nix
+++ b/pkgs/development/mobile/cocoapods/gemset-beta.nix
@@ -36,10 +36,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0fr8sdzs2q1969zqh790w223hjidlwx4hfm4c91gj0va5j5pv3n8";
+ sha256 = "1825ll26p28swjiw8n3x2pnh5ygsmg83spf82fnzcjn2p87vc5lf";
type = "gem";
};
- version = "3.0.1";
+ version = "3.0.2";
};
claide = {
groups = ["default"];
@@ -57,21 +57,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "007ssx75588ji2d8l8s6c95dng1c7b6yacng8nngpy7maijzjgzc";
+ sha256 = "14447zrbg90gvjhfpwmjsfh4n7i9f0p1zd0jj3m2cx4y8102djiy";
type = "gem";
};
- version = "1.8.4";
+ version = "1.9.0.beta.1";
};
cocoapods-core = {
- dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap"];
+ dependencies = ["activesupport" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "typhoeus"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0zcisqb404828n5d3lbk9y2yyx8v2yr6rk1l8y9a4i1hp743fiad";
+ sha256 = "0nhrqwrvblpgf4k3cy0nyxfphyzw46zql1pdv1x7y42h4cn5z8qp";
type = "gem";
};
- version = "1.8.4";
+ version = "1.9.0.beta.1";
};
cocoapods-deintegrate = {
groups = ["default"];
@@ -88,10 +88,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3";
+ sha256 = "08vn0pgcyn6w6fq5xjd7szv2h9s5rzl17kyidnd7fl5qdmzc9c54";
type = "gem";
};
- version = "1.2.2";
+ version = "1.3.0";
};
cocoapods-plugins = {
dependencies = ["nap"];
@@ -175,6 +175,27 @@
};
version = "0.0.4";
};
+ ethon = {
+ dependencies = ["ffi"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0gggrgkcq839mamx7a8jbnp2h7x2ykfn34ixwskwb0lzx2ak17g9";
+ type = "gem";
+ };
+ version = "0.12.0";
+ };
+ ffi = {
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "10ay35dm0lkcqprsiya6q2kwvyid884102ryipr4vrk790yfp8kd";
+ type = "gem";
+ };
+ version = "1.11.3";
+ };
fourflusher = {
groups = ["default"];
platforms = [];
@@ -231,20 +252,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0sx97bm9by389rbzv8r1f43h06xcz8vwi3h5jv074gvparql7lcx";
+ sha256 = "0nrmw2r4nfxlfgprfgki3hjifgrcrs3l5zvm3ca3gb4743yr25mn";
type = "gem";
};
- version = "2.2.0";
+ version = "2.3.0";
};
minitest = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0zjm24aiz42i9n37mcw8lydd7n0y7wfk27by06jx77ypcld3qvkw";
+ sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
type = "gem";
};
- version = "5.12.2";
+ version = "5.13.0";
};
molinillo = {
groups = ["default"];
@@ -306,6 +327,17 @@
};
version = "0.3.6";
};
+ typhoeus = {
+ dependencies = ["ethon"];
+ groups = ["default"];
+ platforms = [];
+ source = {
+ remotes = ["https://rubygems.org"];
+ sha256 = "0cni8b1idcp0dk8kybmxydadhfpaj3lbs99w5kjibv8bsmip2zi5";
+ type = "gem";
+ };
+ version = "1.3.1";
+ };
tzinfo = {
dependencies = ["thread_safe"];
groups = ["default"];
@@ -323,9 +355,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "1c69yrhqd92q6nnpyhvnqyw9l7axnc91gnbd2gai8f5njdisd8wx";
+ sha256 = "1h9iba53mrb663qdqzpfbdwkwzqv7hndd0df71yr2kj2hzwjmkvb";
type = "gem";
};
- version = "1.13.0";
+ version = "1.14.0";
};
}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/aiokafka/default.nix b/pkgs/development/python-modules/aiokafka/default.nix
new file mode 100644
index 000000000000..b31f83dc136d
--- /dev/null
+++ b/pkgs/development/python-modules/aiokafka/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, kafka-python
+, cython
+, zlib
+}:
+
+buildPythonPackage rec {
+ pname = "aiokafka";
+ version = "0.5.2";
+
+ disabled = isPy27;
+
+ src = fetchFromGitHub {
+ owner = "aio-libs";
+ repo = "aiokafka";
+ rev = "v${version}";
+ sha256 = "062kqsq75fi5pbpqf2a8nxm43pxpr6bwplg6bp4nv2a68r850pki";
+ };
+
+ nativeBuildInputs = [
+ cython
+ ];
+
+ buildInputs = [
+ zlib
+ ];
+
+ propagatedBuildInputs = [
+ kafka-python
+ ];
+
+ postPatch = ''
+ substituteInPlace setup.py \
+ --replace "kafka-python==1.4.6" "kafka-python"
+ '';
+
+ # checks require running kafka server
+ doCheck = false;
+
+ meta = with lib; {
+ description = "Kafka integration with asyncio";
+ homepage = https://aiokafka.readthedocs.org;
+ license = licenses.asl20;
+ maintainers = [ maintainers.costrouc ];
+ };
+}
diff --git a/pkgs/development/python-modules/aiorun/default.nix b/pkgs/development/python-modules/aiorun/default.nix
new file mode 100644
index 000000000000..7e38bb76873a
--- /dev/null
+++ b/pkgs/development/python-modules/aiorun/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, pytest
+, pytestcov
+, uvloop
+}:
+
+buildPythonPackage rec {
+ pname = "aiorun";
+ version = "2019.11.1";
+ format = "flit";
+
+ disabled = isPy27;
+
+ src = fetchFromGitHub {
+ owner = "cjrh";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "04p3sci6af6qqfkcqamsqhmqqrigcwvl4bmx8yv5ppvkyq39pxi7";
+ };
+
+ checkInputs = [
+ pytest
+ pytestcov
+ uvloop
+ ];
+
+ # allow for writable directory for darwin
+ preBuild = ''
+ export HOME=$TMPDIR
+ '';
+
+ checkPhase = ''
+ pytest
+ '';
+
+ meta = with lib; {
+ description = "Boilerplate for asyncio applications";
+ homepage = https://github.com/cjrh/aiorun;
+ license = licenses.asl20;
+ maintainers = [ maintainers.costrouc ];
+ };
+}
diff --git a/pkgs/development/python-modules/bottleneck/default.nix b/pkgs/development/python-modules/bottleneck/default.nix
index 21492dc152cb..f45eea2c5df3 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; [ ];
+ };
}
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
new file mode 100644
index 000000000000..114625c397ce
--- /dev/null
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, simpleeval
+, isPy27
+, coveralls
+}:
+
+buildPythonPackage rec {
+ pname = "casbin";
+ version = "0.8.3";
+
+ disabled = isPy27;
+
+ src = fetchFromGitHub {
+ owner = pname;
+ repo = "pycasbin";
+ rev = "v${version}";
+ sha256 = "1s89m62933m4wprsknwhabgg7irykrcimv80hh2zkyyslz5vbq71";
+ };
+
+ propagatedBuildInputs = [
+ simpleeval
+ ];
+
+ checkInputs = [
+ coveralls
+ ];
+
+ checkPhase = ''
+ coverage run -m unittest discover -s tests -t tests
+ '';
+
+ meta = with lib; {
+ description = "An authorization library that supports access control models like ACL, RBAC, ABAC in Python";
+ homepage = https://github.com/casbin/pycasbin;
+ license = licenses.asl20;
+ maintainers = [ maintainers.costrouc ];
+ };
+}
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index d55595d456f1..a857925d7b76 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 ];
diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix
index d90ded1fb5fa..52171470c271 100644
--- a/pkgs/development/python-modules/gym/default.nix
+++ b/pkgs/development/python-modules/gym/default.nix
@@ -5,11 +5,11 @@
buildPythonPackage rec {
pname = "gym";
- version = "0.15.4";
+ version = "0.15.3";
src = fetchPypi {
inherit pname version;
- sha256 = "3b930cbe1c76bbd30455b5e82ba723dea94159a5f988e927f443324bf7cc7ddd";
+ sha256 = "18381e13bbd1e2f206a1b88a2af4fb87affd7d06ee7955a6e5e6a79478a9adfc";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/gyp/default.nix b/pkgs/development/python-modules/gyp/default.nix
index 3cd89a7d0e1e..db828eb222dd 100644
--- a/pkgs/development/python-modules/gyp/default.nix
+++ b/pkgs/development/python-modules/gyp/default.nix
@@ -1,6 +1,6 @@
{ stdenv
, buildPythonPackage
-, fetchgit
+, fetchFromGitiles
, isPy3k
}:
@@ -9,8 +9,8 @@ buildPythonPackage {
version = "2015-06-11";
disabled = isPy3k;
- src = fetchgit {
- url = "https://chromium.googlesource.com/external/gyp.git";
+ src = fetchFromGitiles {
+ url = "https://chromium.googlesource.com/external/gyp";
rev = "fdc7b812f99e48c00e9a487bd56751bbeae07043";
sha256 = "1imgxsl4mr1662vsj2mlnpvvrbz71yk00w8p85vi5bkgmc6awgiz";
};
diff --git a/pkgs/development/python-modules/ics/default.nix b/pkgs/development/python-modules/ics/default.nix
index 20fb38b187c0..b642bdf311e1 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)";
diff --git a/pkgs/development/python-modules/jaraco_text/default.nix b/pkgs/development/python-modules/jaraco_text/default.nix
index 1d6ce78b6859..9b3821edd7a0 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; [ ];
+ };
+
}
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index 6c64580b2cf7..b2731f5bb62a 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";
diff --git a/pkgs/development/python-modules/sacremoses/default.nix b/pkgs/development/python-modules/sacremoses/default.nix
new file mode 100644
index 000000000000..ef0fcb57dc95
--- /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/development/python-modules/sentencepiece/default.nix b/pkgs/development/python-modules/sentencepiece/default.nix
new file mode 100644
index 000000000000..ab7a5387c024
--- /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/development/python-modules/starfish/default.nix b/pkgs/development/python-modules/starfish/default.nix
index 25ce5a0f6515..38934d9497ad 100644
--- a/pkgs/development/python-modules/starfish/default.nix
+++ b/pkgs/development/python-modules/starfish/default.nix
@@ -85,5 +85,6 @@ buildPythonPackage rec {
homepage = https://spacetx-starfish.readthedocs.io/en/latest/;
license = licenses.mit;
maintainers = [ maintainers.costrouc ];
+ broken = true; # incompatible with latest python-dateutil, scikit-image
};
}
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
new file mode 100644
index 000000000000..09ebf739d7d7
--- /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/development/ruby-modules/gem/nix-bundle-install.rb b/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
index 142d2da9bee2..0d501bd9add7 100644
--- a/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
+++ b/pkgs/development/ruby-modules/gem/nix-bundle-install.rb
@@ -5,6 +5,7 @@ require 'rubygems/command'
require 'fileutils'
require 'pathname'
require 'tmpdir'
+require 'shellwords'
if defined?(Encoding.default_internal)
Encoding.default_internal = Encoding::UTF_8
@@ -31,7 +32,7 @@ bin_dir = File.join(ENV["out"], "bin")
type = ARGV[0]
name = ARGV[1]
version = ARGV[2]
-build_flags = ARGV[3]
+build_flags = Shellwords.split(ARGV[3])
if type == "git"
uri = ARGV[4]
REPO = ARGV[5]
@@ -117,7 +118,7 @@ else
source = Bundler::Source::Path.new(options)
end
spec = source.specs.search_all(name).first
-Bundler.rubygems.with_build_args [build_flags] do
+Bundler.rubygems.with_build_args build_flags do
source.install(spec)
end
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 111c41ea95b3..79dedb3afba1 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 = [ "." ];
diff --git a/pkgs/development/tools/misc/usb-modeswitch/data.nix b/pkgs/development/tools/misc/usb-modeswitch/data.nix
index fb43ff61a81c..d2b80011dea0 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/data.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/data.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "usb-modeswitch-data";
- version = "20170806";
+ version = "20191128";
src = fetchurl {
url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2";
- sha256 = "0b1wari3aza6qjggqd0hk2zsh93k1q8scgmwh6f8wr0flpr3whff";
+ sha256 = "1ygahl3r26r38ai8yyblq9nhf3v5i6n6r6672p5wf88wg5h9n0rz";
};
inherit (usb-modeswitch) makeFlags;
diff --git a/pkgs/development/tools/misc/usb-modeswitch/default.nix b/pkgs/development/tools/misc/usb-modeswitch/default.nix
index 7c119c929431..a0e1b8eb8ceb 100644
--- a/pkgs/development/tools/misc/usb-modeswitch/default.nix
+++ b/pkgs/development/tools/misc/usb-modeswitch/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "usb-modeswitch";
- version = "2.5.2";
+ version = "2.6.0";
src = fetchurl {
url = "http://www.draisberghof.de/usb_modeswitch/${pname}-${version}.tar.bz2";
- sha256 = "19ifi80g9ns5dmspchjvfj4ykxssq9yrci8m227dgb3yr04srzxb";
+ sha256 = "18wbbxc5cfsmikba0msdvd5qlaga27b32nhrzicyd9mdddp265f2";
};
makeFlags = [
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 3384dac54100..154b228e0e11 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 ];
diff --git a/pkgs/development/web/nodejs/v10.nix b/pkgs/development/web/nodejs/v10.nix
index 22887a44aff1..a3b975e3718e 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";
}
diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix
index fbec83c387a0..61c433bc0d4c 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 ];
}
diff --git a/pkgs/misc/cups/drivers/dymo/fix-includes.patch b/pkgs/misc/cups/drivers/dymo/fix-includes.patch
index fa7df5591dda..55f71369a001 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
diff --git a/pkgs/misc/emulators/mame/default.nix b/pkgs/misc/emulators/mame/default.nix
index 499d7dd6c4a2..d98232b10588 100644
--- a/pkgs/misc/emulators/mame/default.nix
+++ b/pkgs/misc/emulators/mame/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem
+{ stdenv, mkDerivation, fetchFromGitHub, makeDesktopItem, makeWrapper
, python, pkgconfig, SDL2, SDL2_ttf, alsaLib, which, qtbase, libXinerama }:
let
majorVersion = "0";
- minorVersion = "215";
+ minorVersion = "216";
desktopItem = makeDesktopItem {
name = "MAME";
@@ -12,6 +12,8 @@ let
genericName = "MAME is a multi-purpose emulation framework";
categories = "System;Emulator;";
};
+
+ dest = "$out/opt/mame";
in mkDerivation {
pname = "mame";
version = "${majorVersion}.${minorVersion}";
@@ -20,7 +22,7 @@ in mkDerivation {
owner = "mamedev";
repo = "mame";
rev = "mame${majorVersion}${minorVersion}";
- sha256 = "1phz846p3zzgzrbfiq2vn79iqar2dbf7iv6wfkrp32sdkkvp7l3h";
+ sha256 = "0dmmw08pxxznvadrc51zg27jc9fjh688355w8kxkmi7k8qa367r0";
};
hardeningDisable = [ "fortify" ];
@@ -28,22 +30,35 @@ in mkDerivation {
makeFlags = [ "TOOLS=1" ];
+ dontWrapQtApps = true;
+
buildInputs = [ SDL2 SDL2_ttf alsaLib qtbase libXinerama ];
- nativeBuildInputs = [ python pkgconfig which ];
+ nativeBuildInputs = [ python pkgconfig which makeWrapper ];
+
+ # by default MAME assumes that paths with stock resources
+ # are relative and that you run MAME changing to
+ # install directory, so we add absolute paths here
+ patches = [ ./emuopts.patch ];
+
+ postPatch = ''
+ substituteInPlace src/emu/emuopts.cpp \
+ --subst-var-by mame ${dest}
+ '';
installPhase = ''
- dest=$out/opt/mame
-
- make -f dist.mak PTR64=${if stdenv.is64bit then "1" else "0"}
- mkdir -p $dest
- mv build/release/${if stdenv.is64bit then "x64" else "x32"}/Release/mame/* $dest
+ make -f dist.mak PTR64=${stdenv.lib.optionalString stdenv.is64bit "1"}
+ mkdir -p ${dest}
+ mv build/release/*/Release/mame/* ${dest}
mkdir -p $out/bin
- find $dest -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \;
+ find ${dest} -maxdepth 1 -executable -type f -exec mv -t $out/bin {} \;
+ install -Dm755 src/osd/sdl/taputil.sh $out/bin/taputil.sh
mkdir -p $out/share/man/man{1,6}
- mv $dest/docs/man/*.1 $out/share/man/man1
- mv $dest/docs/man/*.6 $out/share/man/man6
+ mv ${dest}/docs/man/*.1 $out/share/man/man1
+ mv ${dest}/docs/man/*.6 $out/share/man/man6
+
+ mv artwork plugins samples ${dest}
mkdir -p $out/share
ln -s ${desktopItem}/share/applications $out/share
diff --git a/pkgs/misc/emulators/mame/emuopts.patch b/pkgs/misc/emulators/mame/emuopts.patch
new file mode 100644
index 000000000000..b85291f52f74
--- /dev/null
+++ b/pkgs/misc/emulators/mame/emuopts.patch
@@ -0,0 +1,29 @@
+diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp
+index c42fcef848..d1bddae060 100644
+--- a/src/emu/emuopts.cpp
++++ b/src/emu/emuopts.cpp
+@@ -36,16 +36,16 @@ const options_entry emu_options::s_option_entries[] =
+ { nullptr, nullptr, OPTION_HEADER, "CORE SEARCH PATH OPTIONS" },
+ { OPTION_HOMEPATH, ".", OPTION_STRING, "path to base folder for plugin data (read/write)" },
+ { OPTION_MEDIAPATH ";rp;biospath;bp", "roms", OPTION_STRING, "path to ROM sets and hard disk images" },
+- { OPTION_HASHPATH ";hash_directory;hash", "hash", OPTION_STRING, "path to software definition files" },
+- { OPTION_SAMPLEPATH ";sp", "samples", OPTION_STRING, "path to audio sample sets" },
+- { OPTION_ARTPATH, "artwork", OPTION_STRING, "path to artwork files" },
+- { OPTION_CTRLRPATH, "ctrlr", OPTION_STRING, "path to controller definitions" },
+- { OPTION_INIPATH, ".;ini;ini/presets", OPTION_STRING, "path to ini files" },
+- { OPTION_FONTPATH, ".", OPTION_STRING, "path to font files" },
++ { OPTION_HASHPATH ";hash_directory;hash", "hash;@mame@/hash", OPTION_STRING, "path to software definition files" },
++ { OPTION_SAMPLEPATH ";sp", "samples;@mame@/samples", OPTION_STRING, "path to audio sample sets" },
++ { OPTION_ARTPATH, "artwork;@mame@/artwork", OPTION_STRING, "path to artwork files" },
++ { OPTION_CTRLRPATH, "ctrlr;@mame@/ctrlr", OPTION_STRING, "path to controller definitions" },
++ { OPTION_INIPATH, ".;ini;ini/presets;@mame@/ini/presets", OPTION_STRING, "path to ini files" },
++ { OPTION_FONTPATH, ".;@mame@", OPTION_STRING, "path to font files" },
+ { OPTION_CHEATPATH, "cheat", OPTION_STRING, "path to cheat files" },
+ { OPTION_CROSSHAIRPATH, "crosshair", OPTION_STRING, "path to crosshair files" },
+- { OPTION_PLUGINSPATH, "plugins", OPTION_STRING, "path to plugin files" },
+- { OPTION_LANGUAGEPATH, "language", OPTION_STRING, "path to UI translation files" },
++ { OPTION_PLUGINSPATH, "plugins;@mame@/plugins", OPTION_STRING, "path to plugin files" },
++ { OPTION_LANGUAGEPATH, "language;@mame@/language", OPTION_STRING, "path to UI translation files" },
+ { OPTION_SWPATH, "software", OPTION_STRING, "path to loose software" },
+
+ // output directory options
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index 4b93ec8dff9d..0d10b44ab1e1 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -95,8 +95,8 @@ in rec {
pluginName = "ctrlw";
src = fetchgit {
url = "https://github.com/eraserhd/tmux-ctrlw";
- rev = "2354b5d56828813d0f7a4b228ca74b6134c2695f";
- sha256 = "00hy1axmki8h2285mivsj923z327xkq89wfl2x4dxc71xjhdl216";
+ rev = "b456977125c640cd587b786c6a79cb5c7b0f900d";
+ sha256 = "1kv5pqfjczd6z7i9jf6j5xmcai50l9bn5p2p1w1l5fi6cj8cz1k1";
};
};
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 4b06bcb80d24..f1ebc8cb7d9c 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";
};
};
@@ -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";
@@ -3832,12 +3843,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 +4118,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 +4328,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 +5153,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 +5406,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";
};
};
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index d4fd3e423f6d..3b03976b05e0 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
diff --git a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
index 58038923890b..d9608650ed9d 100644
--- a/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
+++ b/pkgs/os-specific/linux/chromium-xorg-conf/default.nix
@@ -1,6 +1,6 @@
-{fetchgit }:
+{ fetchFromGitiles }:
-fetchgit {
+fetchFromGitiles {
name = "chromium-xorg-conf";
url = "https://chromium.googlesource.com/chromiumos/platform/xorg-conf";
rev = "26fb9d57e195c7e467616b35b17e2b5d279c1514";
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index d57953bbb725..ccc2f94814a1 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 {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 8ac7e720a370..a04156ebd84e 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 {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix
index d384ae67587e..d83f0fb98130 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 {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index ea332a246b3e..11cfcae86739 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 {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index fb5244e28ea0..3231fc4ac627 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 = "17119";
+ sha256 = "0hyd7wp73w4555d42xcvk4x4nxrfckbzah2ckb4d2aqzxab87789";
}
, ...
}:
diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix
index 4d403e7d9389..a5aead770b8a 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.2.0";
src = fetchurl {
url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz";
- sha256 = "1anmhfdy4q74wchzha8fd2bd5hx0a2v3bgp9p5yvb8cal31zqcpd";
+ 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 ];
};
}
diff --git a/pkgs/servers/dns/coredns/default.nix b/pkgs/servers/dns/coredns/default.nix
index def78223f127..2c8506ac9d28 100644
--- a/pkgs/servers/dns/coredns/default.nix
+++ b/pkgs/servers/dns/coredns/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
-buildGoPackage rec {
+buildGoModule rec {
pname = "coredns";
- version = "1.3.1";
+ version = "1.6.6";
goPackagePath = "github.com/coredns/coredns";
@@ -10,15 +10,15 @@ buildGoPackage rec {
owner = "coredns";
repo = "coredns";
rev = "v${version}";
- sha256 = "0aflm0c3qcjcq4dy7yx9f5xlvdm4k0b2awsp3qvbfgyp74by0584";
+ sha256 = "1x8sgchp0kkk5xdharjrq29qxgv1mdzrw3f12s2kchgqf1m6r0sx";
};
- goDeps = ./deps.nix;
+ modSha256 = "10ljggg1g5x00gpgzc5m29n1k5akf0s0g3hkdh8adcbrcz0pgr5c";
meta = with stdenv.lib; {
- homepage = https://coredns.io;
+ homepage = "https://coredns.io";
description = "A DNS server that runs middleware";
license = licenses.asl20;
- maintainers = [ maintainers.rushmorem maintainers.rtreffer maintainers.deltaevo ];
+ maintainers = with maintainers; [ rushmorem rtreffer deltaevo ];
};
}
diff --git a/pkgs/servers/dns/coredns/deps.nix b/pkgs/servers/dns/coredns/deps.nix
deleted file mode 100644
index 4dd8228c8a6a..000000000000
--- a/pkgs/servers/dns/coredns/deps.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-[
- {
- goPackagePath = "github.com/mholt/caddy";
- fetch = {
- type = "git";
- url = "https://github.com/mholt/caddy";
- rev = "v0.11.1";
- sha256 = "0v35d3dy0f88wgk1vzznbx7p15vjjf7xm3qfi2c3192rsxgzvy0l";
- };
- }
- {
- goPackagePath = "github.com/miekg/dns";
- fetch = {
- type = "git";
- url = "https://github.com/miekg/dns";
- rev = "v1.1.3";
- sha256 = "1xs1k9jm9f04y8callww9x4s0jrxmsn7882iyy4br8sbpl3wzkw4";
- };
- }
- {
- goPackagePath = "github.com/prometheus/client_golang";
- fetch = {
- type = "git";
- url = "https://github.com/prometheus/client_golang";
- rev = "v0.9.1";
- sha256 = "01gnylazia30pcp069xcng482gwmm3xcx5zgrlwdkhic1lyb6i9l";
- };
- }
- # client_golang dependencies
- {
- goPackagePath = "github.com/beorn7/perks";
- fetch = {
- type = "git";
- url = "https://github.com/beorn7/perks";
- rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
- sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
- };
- }
- {
- goPackagePath = "github.com/golang/protobuf";
- fetch = {
- type = "git";
- url = "https://github.com/golang/protobuf";
- rev = "347cf4a86c1cb8d262994d8ef5924d4576c5b331";
- sha256 = "0c5j5c2dnj1452653c8nnpx4jwijwafi1p8685g7ddm6kng9q1wz";
- };
- }
- {
- goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
- fetch = {
- type = "git";
- url = "https://github.com/matttproud/golang_protobuf_extensions";
- rev = "c182affec369e30f25d3eb8cd8a478dee585ae7d";
- sha256 = "1xqsf9vpcrd4hp95rl6kgmjvkv1df4aicfw4l5vfcxcwxknfx2xs";
- };
- }
- {
- goPackagePath = "github.com/prometheus/client_model";
- fetch = {
- type = "git";
- url = "https://github.com/prometheus/client_model";
- rev = "56726106282f1985ea77d5305743db7231b0c0a8";
- sha256 = "19y4qs9mkxiiab5sh3b7cccjpl3xbp6sy8812ig9f1zg8vzkzj7j";
- };
- }
- {
- goPackagePath = "github.com/prometheus/common";
- fetch = {
- type = "git";
- url = "https://github.com/prometheus/common";
- rev = "2998b132700a7d019ff618c06a234b47c1f3f681";
- sha256 = "131qmx0rs1nz0ci3qzkks4i6fdmr5c69i48h5cngjizlb9xxwir2";
- };
- }
- {
- goPackagePath = "github.com/prometheus/procfs";
- fetch = {
- type = "git";
- url = "https://github.com/prometheus/procfs";
- rev = "bf6a532e95b1f7a62adf0ab5050a5bb2237ad2f4";
- sha256 = "0k65i2ikf3jp6863mpc1raf928i78r8jd7zn9djx6f4izls6l6j1";
- };
- }
-]
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 4184771f8a80..71a5c20dea3d 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 ];
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 72e3b5fc0e82..db61fd5568e8 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 = [
diff --git a/pkgs/servers/monitoring/alertmanager-bot/default.nix b/pkgs/servers/monitoring/alertmanager-bot/default.nix
new file mode 100644
index 000000000000..8677a8d03f26
--- /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 000000000000..51e98ccbc936
--- /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/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index ad99163f4c6d..97377c9fff0d 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" ];
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 6bd6a9bf41ef..21ae809a2225 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:
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
index b78fc9b61f74..26f05d419545 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 = ''
diff --git a/pkgs/tools/inputmethods/fusuma/Gemfile.lock b/pkgs/tools/inputmethods/fusuma/Gemfile.lock
index 4038b50b44fe..c35e7658d635 100644
--- a/pkgs/tools/inputmethods/fusuma/Gemfile.lock
+++ b/pkgs/tools/inputmethods/fusuma/Gemfile.lock
@@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
- fusuma (0.10.2)
+ fusuma (1.3.0)
PLATFORMS
ruby
@@ -10,4 +10,4 @@ DEPENDENCIES
fusuma
BUNDLED WITH
- 1.16.3
+ 1.17.3
diff --git a/pkgs/tools/inputmethods/fusuma/default.nix b/pkgs/tools/inputmethods/fusuma/default.nix
index b410a21cd6ba..a8901dfb0e43 100644
--- a/pkgs/tools/inputmethods/fusuma/default.nix
+++ b/pkgs/tools/inputmethods/fusuma/default.nix
@@ -16,9 +16,9 @@ bundlerApp {
meta = with lib; {
description = "Multitouch gestures with libinput driver on X11, Linux";
- homepage = https://github.com/iberianpig/fusuma;
- license = licenses.mit;
- maintainers = with maintainers; [ jfrankenau nicknovitski ];
- platforms = platforms.linux;
+ homepage = "https://github.com/iberianpig/fusuma";
+ license = licenses.mit;
+ maintainers = with maintainers; [ jfrankenau nicknovitski filalex77 ];
+ platforms = platforms.linux;
};
}
diff --git a/pkgs/tools/inputmethods/fusuma/gemset.nix b/pkgs/tools/inputmethods/fusuma/gemset.nix
index 2edf9c0886f0..2dd9af421ba9 100644
--- a/pkgs/tools/inputmethods/fusuma/gemset.nix
+++ b/pkgs/tools/inputmethods/fusuma/gemset.nix
@@ -1,10 +1,12 @@
{
fusuma = {
+ groups = ["default"];
+ platforms = [];
source = {
remotes = ["https://rubygems.org"];
- sha256 = "0hj64kafxj29gk53vj2syhs3vdywl3h9cpiknaqqm4srjx9g04a0";
+ sha256 = "150jc8jyqj3w4k13lf1ihqmm2sld1yawp4jwnf43jixnc9rmzx6f";
type = "gem";
};
- version = "0.10.2";
+ version = "1.3.0";
};
}
\ No newline at end of file
diff --git a/pkgs/tools/misc/fluent-bit/default.nix b/pkgs/tools/misc/fluent-bit/default.nix
index f37283617204..516badb7bc78 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 ];
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index 828d61ca43c9..0a7541407062 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -2,7 +2,7 @@
buildGoModule rec {
pname = "croc";
- version = "6.4.6";
+ version = "6.4.7";
goPackagePath = "github.com/schollz/croc";
@@ -10,7 +10,7 @@ buildGoModule rec {
owner = "schollz";
repo = pname;
rev = "v${version}";
- sha256 = "13sgjyrabr34a6sz8lzc21zvv5wc5lkgwbx0ar8afmikkrpdypln";
+ sha256 = "1i8g90sr5rk7flfxvmxca6z5vp9wh8zraf2lfz618s5axds3kb50";
};
modSha256 = "1w84xqnn9fnkakak6j069app4ybbxpwq79g8qypwvmqg5bhvzywg";
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 40eeed7f0501..dcf377ca0c04 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 3d301d530def..000000000000
--- 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
diff --git a/pkgs/tools/networking/slirp4netns/default.nix b/pkgs/tools/networking/slirp4netns/default.nix
index 83f315706ef7..f9add47dd3fd 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 ];
diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix
index e81567c3ed87..c8ee95069682 100644
--- a/pkgs/tools/security/chaps/default.nix
+++ b/pkgs/tools/security/chaps/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, fetchgit, fetchurl, trousers, leveldb, unzip, scons, pkgconfig
-, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam }:
+{ stdenv, fetchFromGitiles, fetchFromGitHub, fetchurl, trousers, leveldb, unzip
+, scons, pkgconfig, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam
+}:
let
- src_chromebase = fetchgit {
- url = "https://chromium.googlesource.com/chromium/src/base.git";
+ src_chromebase = fetchFromGitiles {
+ url = "https://chromium.googlesource.com/chromium/src/base";
rev = "2dfe404711e15e24e79799516400c61b2719d7af";
sha256 = "2bd93a3ace4b6767db2c1bd1e16f426c97b8d2133a9cb15f8372b2516cfa65c5";
};
@@ -13,7 +14,7 @@ let
sha256 = "0nq98cpnv2jsx2byp4ilam6kydcnziflkc16ikydajmp4mcvpz16";
};
- src_platform2 = fetchgit {
+ src_platform2 = fetchFromGitiles {
url = "https://chromium.googlesource.com/chromiumos/platform2";
rev = "e999e989eaa71c3db7314fc7b4e20829b2b5473b";
sha256 = "15n1bsv6r7cny7arx0hdb223xzzbk7vkxg2r7xajhl4nsj39adjh";
@@ -25,8 +26,9 @@ stdenv.mkDerivation rec {
name = "chaps-0.42-6812";
version = "0.42-6812";
- src = fetchgit {
- url = "https://github.com/google/chaps-linux";
+ src = fetchFromGitHub {
+ owner = "google";
+ repo = "chaps-linux";
rev = "989aadc45cdb216ca35b0c97d13fc691576fa1d7";
sha256 = "0chk6pnn365d5kcz6vfqx1d0383ksk97icc0lzg0vvb0kvyj0ff1";
};
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 1e5a16e19582..11b0b067ccb8 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";
diff --git a/pkgs/tools/system/minijail/default.nix b/pkgs/tools/system/minijail/default.nix
index 74f0a84716a1..2b4d1deb9f9b 100644
--- a/pkgs/tools/system/minijail/default.nix
+++ b/pkgs/tools/system/minijail/default.nix
@@ -1,14 +1,13 @@
-{ stdenv, fetchgit, libcap }:
+{ stdenv, fetchFromGitiles, libcap }:
stdenv.mkDerivation rec {
- shortname = "minijail";
- name = "${shortname}-${version}";
- version = "android-9.0.0_r3";
+ pname = "minijail";
+ version = "android-10.0.0_r9";
- src = fetchgit {
+ src = fetchFromGitiles {
url = "https://android.googlesource.com/platform/external/minijail";
rev = version;
- sha256 = "1g1g52s3q61amcnx8cv1332sbixpck1bmjzgsrjiw5ix7chrzkp2";
+ sha256 = "0gcfsyim1krrddcklydqfxl8mamaxgail2xl5qp9yclq60km8f22";
};
buildInputs = [ libcap ];
@@ -20,13 +19,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 = {
diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix
index 0bf8a7e85dce..bce6d0c4185f 100644
--- a/pkgs/tools/system/vboot_reference/default.nix
+++ b/pkgs/tools/system/vboot_reference/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pkgconfig, libuuid, openssl, libyaml, lzma }:
+{ stdenv, fetchFromGitiles, pkgconfig, libuuid, openssl, libyaml, lzma }:
stdenv.mkDerivation rec {
version = "20180311";
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
pname = "vboot_reference";
- src = fetchgit {
- url = https://chromium.googlesource.com/chromiumos/platform/vboot_reference;
+ src = fetchFromGitiles {
+ url = "https://chromium.googlesource.com/chromiumos/platform/vboot_reference";
rev = checkout;
sha256 = "1zja4ma6flch08h5j2l1hqnxmw2xwylidnddxxd5y2x05dai9ddj";
};
diff --git a/pkgs/tools/text/ripgrep-all/default.nix b/pkgs/tools/text/ripgrep-all/default.nix
index 521b123d8783..d41be25231cb 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,9 +19,33 @@ 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 ]}"
'';
+ # 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 = ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a8b9b02b1835..d05944a568f3 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -360,6 +360,8 @@ in
fetchFromGitLab = callPackage ../build-support/fetchgitlab {};
+ fetchFromGitiles = callPackage ../build-support/fetchgitiles {};
+
fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz {};
fetchNuGet = callPackage ../build-support/fetchnuget { };
@@ -1493,6 +1495,8 @@ in
crip = callPackage ../applications/audio/crip { };
+ crosvm = callPackage ../applications/virtualization/crosvm { };
+
crunch = callPackage ../tools/security/crunch { };
crudini = callPackage ../tools/misc/crudini { };
@@ -8110,6 +8114,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
@@ -15805,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 { };
@@ -17314,6 +17324,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 { };
@@ -19303,6 +19315,8 @@ in
hydrogen = callPackage ../applications/audio/hydrogen { };
+ hydroxide = callPackage ../applications/networking/hydroxide { };
+
hyper = callPackage ../applications/misc/hyper { };
hyper-haskell-server-with-packages = callPackage ../development/tools/haskell/hyper-haskell/server.nix {
@@ -23406,6 +23420,7 @@ in
timepp = callPackage ../desktops/gnome-3/extensions/timepp { };
topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { };
window-corner-preview = callPackage ../desktops/gnome-3/extensions/window-corner-preview { };
+ workspace-matrix = callPackage ../desktops/gnome-3/extensions/workspace-matrix { };
nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks.";
mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
@@ -25618,4 +25633,6 @@ in
gortr = callPackage ../servers/gortr {};
+ sentencepiece = callPackage ../development/libraries/sentencepiece {};
+
}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index aa361904eb30..ed66a20db53d 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -165,6 +165,8 @@ in {
aioredis = callPackage ../development/python-modules/aioredis { };
+ aiorun = callPackage ../development/python-modules/aiorun { };
+
ansicolor = callPackage ../development/python-modules/ansicolor { };
ansiwrap = callPackage ../development/python-modules/ansiwrap { };
@@ -1279,6 +1281,14 @@ in {
selectors2 = callPackage ../development/python-modules/selectors2 { };
+ sacremoses = callPackage ../development/python-modules/sacremoses { };
+
+ sentencepiece = callPackage ../development/python-modules/sentencepiece {
+ inherit (pkgs) sentencepiece pkgconfig;
+ };
+
+ transformers = callPackage ../development/python-modules/transformers { };
+
sentinel = callPackage ../development/python-modules/sentinel { };
sentry-sdk = callPackage ../development/python-modules/sentry-sdk {};
@@ -1906,6 +1916,8 @@ in {
cartopy = callPackage ../development/python-modules/cartopy {};
+ casbin = callPackage ../development/python-modules/casbin { };
+
case = callPackage ../development/python-modules/case {};
cbor = callPackage ../development/python-modules/cbor {};
@@ -4338,6 +4350,8 @@ in {
aioeventlet = callPackage ../development/python-modules/aioeventlet { };
+ aiokafka = callPackage ../development/python-modules/aiokafka { };
+
olefile = callPackage ../development/python-modules/olefile { };
requests-mock = callPackage ../development/python-modules/requests-mock { };