diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 14675f3e23bc..47ef2cc1f6ce 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -2460,6 +2460,12 @@
githubId = 7432848;
name = "Daniel Albert";
};
+ eskytthe = {
+ email = "eskytthe@gmail.com";
+ github = "eskytthe";
+ githubId = 2544204;
+ name = "Erik Skytthe";
+ };
Esteth = {
email = "adam.copp@gmail.com";
name = "Adam Copp";
@@ -8909,6 +8915,12 @@
githubId = 474343;
name = "Xavier Zwirtz";
};
+ ymarkus = {
+ name = "Yannick Markus";
+ email = "nixpkgs@ymarkus.dev";
+ github = "ymarkus";
+ githubId = 62380378;
+ };
ymeister = {
name = "Yuri Meister";
email = "47071325+ymeister@users.noreply.github.com";
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index 6ac64b0ec9c6..ac2a024eaa89 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -278,7 +278,14 @@ in
(mkRemovedOptionModule [ "fonts" "fontconfig" "hinting" "style" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
(mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
- ];
+ ] ++ lib.forEach [ "enable" "substitutions" "preset" ]
+ (opt: lib.mkRemovedOptionModule [ "fonts" "fontconfig" "ultimate" "${opt}" ] ''
+ The fonts.fontconfig.ultimate module and configuration is obsolete.
+ The repository has since been archived and activity has ceased.
+ https://github.com/bohoomil/fontconfig-ultimate/issues/171.
+ No action should be needed for font configuration, as the fonts.fontconfig
+ module is already used by default.
+ '');
options = {
diff --git a/nixos/modules/programs/hamster.nix b/nixos/modules/programs/hamster.nix
index ddf26a22fb53..b2f4a82b260e 100644
--- a/nixos/modules/programs/hamster.nix
+++ b/nixos/modules/programs/hamster.nix
@@ -3,7 +3,7 @@
with lib;
{
- meta.maintainers = maintainers.fabianhauser;
+ meta.maintainers = pkgs.hamster.meta.maintainers;
options.programs.hamster.enable =
mkEnableOption "Whether to enable hamster time tracking.";
diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix
index 0185f490b0c2..e1950b91382b 100644
--- a/nixos/modules/services/continuous-integration/buildbot/master.nix
+++ b/nixos/modules/services/continuous-integration/buildbot/master.nix
@@ -25,7 +25,7 @@ let
change_source = [ ${concatStringsSep "," cfg.changeSource} ],
schedulers = [ ${concatStringsSep "," cfg.schedulers} ],
builders = [ ${concatStringsSep "," cfg.builders} ],
- status = [ ${concatStringsSep "," cfg.status} ],
+ services = [ ${concatStringsSep "," cfg.reporters} ],
)
for step in [ ${concatStringsSep "," cfg.factorySteps} ]:
factory.addStep(step)
@@ -119,10 +119,10 @@ in {
default = [ "worker.Worker('example-worker', 'pass')" ];
};
- status = mkOption {
+ reporters = mkOption {
default = [];
type = types.listOf types.str;
- description = "List of status notification endpoints.";
+ description = "List of reporter objects used to present build status to various users.";
};
user = mkOption {
@@ -276,6 +276,10 @@ in {
imports = [
(mkRenamedOptionModule [ "services" "buildbot-master" "bpPort" ] [ "services" "buildbot-master" "pbPort" ])
+ (mkRemovedOptionModule [ "services" "buildbot-master" "status" ] ''
+ Since Buildbot 0.9.0, status targets are deprecated and ignored.
+ Review your configuration and migrate to reporters (available at services.buildbot-master.reporters).
+ '')
];
meta.maintainers = with lib.maintainers; [ nand0p mic92 ];
diff --git a/nixos/modules/services/databases/openldap.nix b/nixos/modules/services/databases/openldap.nix
index 8c2851c37ac2..9b4d9a98b745 100644
--- a/nixos/modules/services/databases/openldap.nix
+++ b/nixos/modules/services/databases/openldap.nix
@@ -232,7 +232,7 @@ in
};
meta = {
- maintainers = lib.maintainers.mic92;
+ maintainers = [ lib.maintainers.mic92 ];
};
diff --git a/nixos/modules/services/hardware/undervolt.nix b/nixos/modules/services/hardware/undervolt.nix
index e5ef0601de3c..da627af73bc6 100644
--- a/nixos/modules/services/hardware/undervolt.nix
+++ b/nixos/modules/services/hardware/undervolt.nix
@@ -1,18 +1,32 @@
{ config, pkgs, lib, ... }:
with lib;
-
let
cfg = config.services.undervolt;
-in {
+ cliArgs = lib.cli.toGNUCommandLineShell {} {
+ inherit (cfg)
+ verbose
+ temp
+ ;
+ # `core` and `cache` are both intentionally set to `cfg.coreOffset` as according to the undervolt docs:
+ #
+ # Core or Cache offsets have no effect. It is not possible to set different offsets for
+ # CPU Core and Cache. The CPU will take the smaller of the two offsets, and apply that to
+ # both CPU and Cache. A warning message will be displayed if you attempt to set different offsets.
+ core = cfg.coreOffset;
+ cache = cfg.coreOffset;
+ gpu = cfg.gpuOffset;
+ uncore = cfg.uncoreOffset;
+ analogio = cfg.analogioOffset;
+
+ temp-bat = cfg.tempBat;
+ temp-ac = cfg.tempAc;
+ };
+in
+{
options.services.undervolt = {
- enable = mkOption {
- type = types.bool;
- default = false;
- description = ''
- Whether to undervolt intel cpus.
- '';
- };
+ enable = mkEnableOption
+ "Intel CPU undervolting service (WARNING: may permanently damage your hardware!)";
verbose = mkOption {
type = types.bool;
@@ -32,58 +46,58 @@ in {
};
coreOffset = mkOption {
- type = types.nullOr types.str;
+ type = types.nullOr types.int;
default = null;
description = ''
- The amount of voltage to offset the CPU cores by. Accepts a floating point number.
+ The amount of voltage in mV to offset the CPU cores by.
'';
};
gpuOffset = mkOption {
- type = types.nullOr types.str;
+ type = types.nullOr types.int;
default = null;
description = ''
- The amount of voltage to offset the GPU by. Accepts a floating point number.
+ The amount of voltage in mV to offset the GPU by.
'';
};
uncoreOffset = mkOption {
- type = types.nullOr types.str;
+ type = types.nullOr types.int;
default = null;
description = ''
- The amount of voltage to offset uncore by. Accepts a floating point number.
+ The amount of voltage in mV to offset uncore by.
'';
};
analogioOffset = mkOption {
- type = types.nullOr types.str;
+ type = types.nullOr types.int;
default = null;
description = ''
- The amount of voltage to offset analogio by. Accepts a floating point number.
+ The amount of voltage in mV to offset analogio by.
'';
};
temp = mkOption {
- type = types.nullOr types.str;
+ type = types.nullOr types.int;
default = null;
description = ''
- The temperature target. Accepts a floating point number.
+ The temperature target in Celsius degrees.
'';
};
tempAc = mkOption {
- type = types.nullOr types.str;
+ type = types.nullOr types.int;
default = null;
description = ''
- The temperature target on AC power. Accepts a floating point number.
+ The temperature target on AC power in Celsius degrees.
'';
};
tempBat = mkOption {
- type = types.nullOr types.str;
+ type = types.nullOr types.int;
default = null;
description = ''
- The temperature target on battery power. Accepts a floating point number.
+ The temperature target on battery power in Celsius degrees.
'';
};
};
@@ -100,24 +114,7 @@ in {
serviceConfig = {
Type = "oneshot";
Restart = "no";
-
- # `core` and `cache` are both intentionally set to `cfg.coreOffset` as according to the undervolt docs:
- #
- # Core or Cache offsets have no effect. It is not possible to set different offsets for
- # CPU Core and Cache. The CPU will take the smaller of the two offsets, and apply that to
- # both CPU and Cache. A warning message will be displayed if you attempt to set different offsets.
- ExecStart = ''
- ${pkgs.undervolt}/bin/undervolt \
- ${optionalString cfg.verbose "--verbose"} \
- ${optionalString (cfg.coreOffset != null) "--core ${cfg.coreOffset}"} \
- ${optionalString (cfg.coreOffset != null) "--cache ${cfg.coreOffset}"} \
- ${optionalString (cfg.gpuOffset != null) "--gpu ${cfg.gpuOffset}"} \
- ${optionalString (cfg.uncoreOffset != null) "--uncore ${cfg.uncoreOffset}"} \
- ${optionalString (cfg.analogioOffset != null) "--analogio ${cfg.analogioOffset}"} \
- ${optionalString (cfg.temp != null) "--temp ${cfg.temp}"} \
- ${optionalString (cfg.tempAc != null) "--temp-ac ${cfg.tempAc}"} \
- ${optionalString (cfg.tempBat != null) "--temp-bat ${cfg.tempBat}"}
- '';
+ ExecStart = "${pkgs.undervolt}/bin/undervolt ${cliArgs}";
};
};
diff --git a/nixos/modules/services/mail/mailman.nix b/nixos/modules/services/mail/mailman.nix
index f5e78b182933..5c61cfbebf6c 100644
--- a/nixos/modules/services/mail/mailman.nix
+++ b/nixos/modules/services/mail/mailman.nix
@@ -6,42 +6,46 @@ let
cfg = config.services.mailman;
+ pythonEnv = pkgs.python3.withPackages (ps:
+ [ps.mailman ps.mailman-web]
+ ++ lib.optional cfg.hyperkitty.enable ps.mailman-hyperkitty
+ ++ cfg.extraPythonPackages);
+
# This deliberately doesn't use recursiveUpdate so users can
# override the defaults.
- settings = {
+ webSettings = {
DEFAULT_FROM_EMAIL = cfg.siteOwner;
SERVER_EMAIL = cfg.siteOwner;
ALLOWED_HOSTS = [ "localhost" "127.0.0.1" ] ++ cfg.webHosts;
COMPRESS_OFFLINE = true;
- STATIC_ROOT = "/var/lib/mailman-web/static";
+ STATIC_ROOT = "/var/lib/mailman-web-static";
MEDIA_ROOT = "/var/lib/mailman-web/media";
+ LOGGING = {
+ version = 1;
+ disable_existing_loggers = true;
+ handlers.console.class = "logging.StreamHandler";
+ loggers.django = {
+ handlers = [ "console" ];
+ level = "INFO";
+ };
+ };
+ HAYSTACK_CONNECTIONS.default = {
+ ENGINE = "haystack.backends.whoosh_backend.WhooshEngine";
+ PATH = "/var/lib/mailman-web/fulltext-index";
+ };
} // cfg.webSettings;
- settingsJSON = pkgs.writeText "settings.json" (builtins.toJSON settings);
+ webSettingsJSON = pkgs.writeText "settings.json" (builtins.toJSON webSettings);
- mailmanCfg = ''
- [mailman]
- site_owner: ${cfg.siteOwner}
- layout: fhs
-
- [paths.fhs]
- bin_dir: ${pkgs.python3Packages.mailman}/bin
- var_dir: /var/lib/mailman
- queue_dir: $var_dir/queue
- template_dir: $var_dir/templates
- log_dir: $var_dir/log
- lock_dir: $var_dir/lock
- etc_dir: /etc
- ext_dir: $etc_dir/mailman.d
- pid_file: /run/mailman/master.pid
- '' + optionalString cfg.hyperkitty.enable ''
-
- [archiver.hyperkitty]
- class: mailman_hyperkitty.Archiver
- enable: yes
- configuration: /var/lib/mailman/mailman-hyperkitty.cfg
+ # TODO: Should this be RFC42-ised so that users can set additional options without modifying the module?
+ mtaConfig = pkgs.writeText "mailman-postfix.cfg" ''
+ [postfix]
+ postmap_command: ${pkgs.postfix}/bin/postmap
+ transport_file_type: hash
'';
+ mailmanCfg = lib.generators.toINI {} cfg.settings;
+
mailmanHyperkittyCfg = pkgs.writeText "mailman-hyperkitty.cfg" ''
[general]
# This is your HyperKitty installation, preferably on the localhost. This
@@ -84,7 +88,7 @@ in {
type = types.package;
default = pkgs.mailman;
defaultText = "pkgs.mailman";
- example = "pkgs.mailman.override { archivers = []; }";
+ example = literalExample "pkgs.mailman.override { archivers = []; }";
description = "Mailman package to use";
};
@@ -98,18 +102,6 @@ in {
'';
};
- webRoot = mkOption {
- type = types.path;
- default = "${pkgs.mailman-web}/${pkgs.python3.sitePackages}";
- defaultText = "\${pkgs.mailman-web}/\${pkgs.python3.sitePackages}";
- description = ''
- The web root for the Hyperkity + Postorius apps provided by Mailman.
- This variable can be set, of course, but it mainly exists so that site
- admins can refer to it in their own hand-written web server
- configuration files.
- '';
- };
-
webHosts = mkOption {
type = types.listOf types.str;
default = [];
@@ -124,7 +116,7 @@ in {
webUser = mkOption {
type = types.str;
- default = config.services.httpd.user;
+ default = "mailman-web";
description = ''
User to run mailman-web as
'';
@@ -138,6 +130,22 @@ in {
'';
};
+ serve = {
+ enable = mkEnableOption "Automatic nginx and uwsgi setup for mailman-web";
+ };
+
+ extraPythonPackages = mkOption {
+ description = "Packages to add to the python environment used by mailman and mailman-web";
+ type = types.listOf types.package;
+ default = [];
+ };
+
+ settings = mkOption {
+ description = "Settings for mailman.cfg";
+ type = types.attrsOf (types.attrsOf types.str);
+ default = {};
+ };
+
hyperkitty = {
enable = mkEnableOption "the Hyperkitty archiver for Mailman";
@@ -158,6 +166,35 @@ in {
config = mkIf cfg.enable {
+ services.mailman.settings = {
+ mailman.site_owner = lib.mkDefault cfg.siteOwner;
+ mailman.layout = "fhs";
+
+ "paths.fhs" = {
+ bin_dir = "${pkgs.python3Packages.mailman}/bin";
+ var_dir = "/var/lib/mailman";
+ queue_dir = "$var_dir/queue";
+ template_dir = "$var_dir/templates";
+ log_dir = "/var/log/mailman";
+ lock_dir = "$var_dir/lock";
+ etc_dir = "/etc";
+ ext_dir = "$etc_dir/mailman.d";
+ pid_file = "/run/mailman/master.pid";
+ };
+
+ mta.configuration = lib.mkDefault "${mtaConfig}";
+
+ "archiver.hyperkitty" = lib.mkIf cfg.hyperkitty.enable {
+ class = "mailman_hyperkitty.Archiver";
+ enable = "yes";
+ configuration = "/var/lib/mailman/mailman-hyperkitty.cfg";
+ };
+ } // (let
+ loggerNames = ["root" "archiver" "bounce" "config" "database" "debug" "error" "fromusenet" "http" "locks" "mischief" "plugins" "runner" "smtp"];
+ loggerSectionNames = map (n: "logging.${n}") loggerNames;
+ in lib.genAttrs loggerSectionNames(name: { handler = "stderr"; })
+ );
+
assertions = let
inherit (config.services) postfix;
@@ -183,7 +220,17 @@ in {
(requirePostfixHash [ "config" "local_recipient_maps" ] "postfix_lmtp")
];
- users.users.mailman = { description = "GNU Mailman"; isSystemUser = true; };
+ users.users.mailman = {
+ description = "GNU Mailman";
+ isSystemUser = true;
+ group = "mailman";
+ };
+ users.users.mailman-web = lib.mkIf (cfg.webUser == "mailman-web") {
+ description = "GNU Mailman web interface";
+ isSystemUser = true;
+ group = "mailman";
+ };
+ users.groups.mailman = {};
environment.etc."mailman.cfg".text = mailmanCfg;
@@ -198,14 +245,35 @@ in {
import json
- with open('${settingsJSON}') as f:
+ with open('${webSettingsJSON}') as f:
globals().update(json.load(f))
with open('/var/lib/mailman-web/settings_local.json') as f:
globals().update(json.load(f))
'';
- environment.systemPackages = [ cfg.package ] ++ (with pkgs; [ mailman-web ]);
+ services.nginx = mkIf cfg.serve.enable {
+ enable = mkDefault true;
+ virtualHosts."${lib.head cfg.webHosts}" = {
+ serverAliases = cfg.webHosts;
+ locations = {
+ "/".extraConfig = "uwsgi_pass unix:/run/mailman-web.socket;";
+ "/static/".alias = webSettings.STATIC_ROOT + "/";
+ };
+ };
+ };
+
+ environment.systemPackages = [ (pkgs.buildEnv {
+ name = "mailman-tools";
+ # We don't want to pollute the system PATH with a python
+ # interpreter etc. so let's pick only the stuff we actually
+ # want from pythonEnv
+ pathsToLink = ["/bin"];
+ paths = [pythonEnv];
+ postBuild = ''
+ find $out/bin/ -mindepth 1 -not -name "mailman*" -delete
+ '';
+ }) ];
services.postfix = {
recipientDelimiter = "+"; # bake recipient addresses in mail envelopes via VERP
@@ -214,181 +282,156 @@ in {
};
};
- systemd.services.mailman = {
- description = "GNU Mailman Master Process";
- after = [ "network.target" ];
- restartTriggers = [ config.environment.etc."mailman.cfg".source ];
- wantedBy = [ "multi-user.target" ];
- serviceConfig = {
- ExecStart = "${cfg.package}/bin/mailman start";
- ExecStop = "${cfg.package}/bin/mailman stop";
- User = "mailman";
- Type = "forking";
- RuntimeDirectory = "mailman";
- PIDFile = "/run/mailman/master.pid";
- };
+ systemd.sockets.mailman-uwsgi = lib.mkIf cfg.serve.enable {
+ wantedBy = ["sockets.target"];
+ before = ["nginx.service"];
+ socketConfig.ListenStream = "/run/mailman-web.socket";
};
-
- systemd.services.mailman-settings = {
- description = "Generate settings files (including secrets) for Mailman";
- before = [ "mailman.service" "mailman-web.service" "hyperkitty.service" "httpd.service" "uwsgi.service" ];
- requiredBy = [ "mailman.service" "mailman-web.service" "hyperkitty.service" "httpd.service" "uwsgi.service" ];
- path = with pkgs; [ jq ];
- script = ''
- mailmanDir=/var/lib/mailman
- mailmanWebDir=/var/lib/mailman-web
-
- mailmanCfg=$mailmanDir/mailman-hyperkitty.cfg
- mailmanWebCfg=$mailmanWebDir/settings_local.json
-
- install -m 0700 -o mailman -g nogroup -d $mailmanDir
- install -m 0700 -o ${cfg.webUser} -g nogroup -d $mailmanWebDir
-
- if [ ! -e $mailmanWebCfg ]; then
- hyperkittyApiKey=$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 64)
- secretKey=$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 64)
-
- mailmanWebCfgTmp=$(mktemp)
- jq -n '.MAILMAN_ARCHIVER_KEY=$archiver_key | .SECRET_KEY=$secret_key' \
- --arg archiver_key "$hyperkittyApiKey" \
- --arg secret_key "$secretKey" \
- >"$mailmanWebCfgTmp"
- chown ${cfg.webUser} "$mailmanWebCfgTmp"
- mv -n "$mailmanWebCfgTmp" $mailmanWebCfg
- fi
-
- hyperkittyApiKey="$(jq -r .MAILMAN_ARCHIVER_KEY $mailmanWebCfg)"
- mailmanCfgTmp=$(mktemp)
- sed "s/@API_KEY@/$hyperkittyApiKey/g" ${mailmanHyperkittyCfg} >"$mailmanCfgTmp"
- chown mailman "$mailmanCfgTmp"
- mv "$mailmanCfgTmp" $mailmanCfg
- '';
- serviceConfig = {
- Type = "oneshot";
- # RemainAfterExit makes restartIfChanged work for this service, so
- # downstream services will get updated automatically when things like
- # services.mailman.hyperkitty.baseUrl change. Otherwise users have to
- # restart things manually, which is confusing.
- RemainAfterExit = "yes";
+ systemd.services = {
+ mailman = {
+ description = "GNU Mailman Master Process";
+ after = [ "network.target" ];
+ restartTriggers = [ config.environment.etc."mailman.cfg".source ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ ExecStart = "${pythonEnv}/bin/mailman start";
+ ExecStop = "${pythonEnv}/bin/mailman stop";
+ User = "mailman";
+ Group = "mailman";
+ Type = "forking";
+ RuntimeDirectory = "mailman";
+ LogsDirectory = "mailman";
+ PIDFile = "/run/mailman/master.pid";
+ };
};
- };
- systemd.services.mailman-web = {
- description = "Init Postorius DB";
- before = [ "httpd.service" "uwsgi.service" ];
- requiredBy = [ "httpd.service" "uwsgi.service" ];
- restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
- script = ''
- ${pkgs.mailman-web}/bin/mailman-web migrate
- rm -rf static
- ${pkgs.mailman-web}/bin/mailman-web collectstatic
- ${pkgs.mailman-web}/bin/mailman-web compress
- '';
- serviceConfig = {
- User = cfg.webUser;
- Type = "oneshot";
- # Similar to mailman-settings.service, this makes restartTriggers work
- # properly for this service.
- RemainAfterExit = "yes";
- WorkingDirectory = "/var/lib/mailman-web";
+ mailman-settings = {
+ description = "Generate settings files (including secrets) for Mailman";
+ before = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
+ requiredBy = [ "mailman.service" "mailman-web-setup.service" "mailman-uwsgi.service" "hyperkitty.service" ];
+ path = with pkgs; [ jq ];
+ script = ''
+ mailmanDir=/var/lib/mailman
+ mailmanWebDir=/var/lib/mailman-web
+
+ mailmanCfg=$mailmanDir/mailman-hyperkitty.cfg
+ mailmanWebCfg=$mailmanWebDir/settings_local.json
+
+ install -m 0775 -o mailman -g mailman -d /var/lib/mailman-web-static
+ install -m 0770 -o mailman -g mailman -d $mailmanDir
+ install -m 0770 -o ${cfg.webUser} -g mailman -d $mailmanWebDir
+
+ if [ ! -e $mailmanWebCfg ]; then
+ hyperkittyApiKey=$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 64)
+ secretKey=$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 64)
+
+ mailmanWebCfgTmp=$(mktemp)
+ jq -n '.MAILMAN_ARCHIVER_KEY=$archiver_key | .SECRET_KEY=$secret_key' \
+ --arg archiver_key "$hyperkittyApiKey" \
+ --arg secret_key "$secretKey" \
+ >"$mailmanWebCfgTmp"
+ chown root:mailman "$mailmanWebCfgTmp"
+ chmod 440 "$mailmanWebCfgTmp"
+ mv -n "$mailmanWebCfgTmp" "$mailmanWebCfg"
+ fi
+
+ hyperkittyApiKey="$(jq -r .MAILMAN_ARCHIVER_KEY "$mailmanWebCfg")"
+ mailmanCfgTmp=$(mktemp)
+ sed "s/@API_KEY@/$hyperkittyApiKey/g" ${mailmanHyperkittyCfg} >"$mailmanCfgTmp"
+ chown mailman:mailman "$mailmanCfgTmp"
+ mv "$mailmanCfgTmp" "$mailmanCfg"
+ '';
};
- };
- systemd.services.mailman-daily = {
- description = "Trigger daily Mailman events";
- startAt = "daily";
- restartTriggers = [ config.environment.etc."mailman.cfg".source ];
- serviceConfig = {
- ExecStart = "${cfg.package}/bin/mailman digests --send";
- User = "mailman";
+ mailman-web-setup = {
+ description = "Prepare mailman-web files and database";
+ before = [ "uwsgi.service" "mailman-uwsgi.service" ];
+ requiredBy = [ "mailman-uwsgi.service" ];
+ restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
+ script = ''
+ [[ -e "${webSettings.STATIC_ROOT}" ]] && find "${webSettings.STATIC_ROOT}/" -mindepth 1 -delete
+ ${pythonEnv}/bin/mailman-web migrate
+ ${pythonEnv}/bin/mailman-web collectstatic
+ ${pythonEnv}/bin/mailman-web compress
+ '';
+ serviceConfig = {
+ User = cfg.webUser;
+ Group = "mailman";
+ Type = "oneshot";
+ WorkingDirectory = "/var/lib/mailman-web";
+ };
};
- };
- systemd.services.hyperkitty = {
- inherit (cfg.hyperkitty) enable;
- description = "GNU Hyperkitty QCluster Process";
- after = [ "network.target" ];
- restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
- wantedBy = [ "mailman.service" "multi-user.target" ];
- serviceConfig = {
- ExecStart = "${pkgs.mailman-web}/bin/mailman-web qcluster";
- User = cfg.webUser;
- WorkingDirectory = "/var/lib/mailman-web";
+ mailman-uwsgi = mkIf cfg.serve.enable (let
+ uwsgiConfig.uwsgi = {
+ type = "normal";
+ plugins = ["python3"];
+ home = pythonEnv;
+ module = "mailman_web.wsgi";
+ };
+ uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
+ in {
+ wantedBy = ["multi-user.target"];
+ requires = ["mailman-uwsgi.socket" "mailman-web-setup.service"];
+ restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
+ serviceConfig = {
+ # Since the mailman-web settings.py obstinately creates a logs
+ # dir in the cwd, change to the (writable) runtime directory before
+ # starting uwsgi.
+ ExecStart = "${pkgs.coreutils}/bin/env -C $RUNTIME_DIRECTORY ${pkgs.uwsgi.override { plugins = ["python3"]; }}/bin/uwsgi --json ${uwsgiConfigFile}";
+ User = cfg.webUser;
+ Group = "mailman";
+ RuntimeDirectory = "mailman-uwsgi";
+ };
+ });
+
+ mailman-daily = {
+ description = "Trigger daily Mailman events";
+ startAt = "daily";
+ restartTriggers = [ config.environment.etc."mailman.cfg".source ];
+ serviceConfig = {
+ ExecStart = "${pythonEnv}/bin/mailman digests --send";
+ User = "mailman";
+ Group = "mailman";
+ };
};
- };
- systemd.services.hyperkitty-minutely = {
- inherit (cfg.hyperkitty) enable;
- description = "Trigger minutely Hyperkitty events";
- startAt = "minutely";
- restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
- serviceConfig = {
- ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs minutely";
- User = cfg.webUser;
- WorkingDirectory = "/var/lib/mailman-web";
+ hyperkitty = lib.mkIf cfg.hyperkitty.enable {
+ description = "GNU Hyperkitty QCluster Process";
+ after = [ "network.target" ];
+ restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
+ wantedBy = [ "mailman.service" "multi-user.target" ];
+ serviceConfig = {
+ ExecStart = "${pythonEnv}/bin/mailman-web qcluster";
+ User = cfg.webUser;
+ Group = "mailman";
+ WorkingDirectory = "/var/lib/mailman-web";
+ };
};
- };
-
- systemd.services.hyperkitty-quarter-hourly = {
- inherit (cfg.hyperkitty) enable;
- description = "Trigger quarter-hourly Hyperkitty events";
- startAt = "*:00/15";
- restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
- serviceConfig = {
- ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs quarter_hourly";
- User = cfg.webUser;
- WorkingDirectory = "/var/lib/mailman-web";
- };
- };
-
- systemd.services.hyperkitty-hourly = {
- inherit (cfg.hyperkitty) enable;
- description = "Trigger hourly Hyperkitty events";
- startAt = "hourly";
- restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
- serviceConfig = {
- ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs hourly";
- User = cfg.webUser;
- WorkingDirectory = "/var/lib/mailman-web";
- };
- };
-
- systemd.services.hyperkitty-daily = {
- inherit (cfg.hyperkitty) enable;
- description = "Trigger daily Hyperkitty events";
- startAt = "daily";
- restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
- serviceConfig = {
- ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs daily";
- User = cfg.webUser;
- WorkingDirectory = "/var/lib/mailman-web";
- };
- };
-
- systemd.services.hyperkitty-weekly = {
- inherit (cfg.hyperkitty) enable;
- description = "Trigger weekly Hyperkitty events";
- startAt = "weekly";
- restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
- serviceConfig = {
- ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs weekly";
- User = cfg.webUser;
- WorkingDirectory = "/var/lib/mailman-web";
- };
- };
-
- systemd.services.hyperkitty-yearly = {
- inherit (cfg.hyperkitty) enable;
- description = "Trigger yearly Hyperkitty events";
- startAt = "yearly";
- restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
- serviceConfig = {
- ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs yearly";
- User = cfg.webUser;
- WorkingDirectory = "/var/lib/mailman-web";
- };
- };
+ } // flip lib.mapAttrs' {
+ "minutely" = "minutely";
+ "quarter_hourly" = "*:00/15";
+ "hourly" = "hourly";
+ "daily" = "daily";
+ "weekly" = "weekly";
+ "yearly" = "yearly";
+ } (name: startAt:
+ lib.nameValuePair "hyperkitty-${name}" (lib.mkIf cfg.hyperkitty.enable {
+ description = "Trigger ${name} Hyperkitty events";
+ inherit startAt;
+ restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
+ serviceConfig = {
+ ExecStart = "${pythonEnv}/bin/mailman-web runjobs minutely";
+ User = cfg.webUser;
+ Group = "mailman";
+ WorkingDirectory = "/var/lib/mailman-web";
+ };
+ }));
+ };
+ meta = {
+ maintainers = with lib.maintainers; [ lheckemann ];
+ doc = ./mailman.xml;
};
}
diff --git a/nixos/modules/services/mail/mailman.xml b/nixos/modules/services/mail/mailman.xml
new file mode 100644
index 000000000000..cbe50ed0b917
--- /dev/null
+++ b/nixos/modules/services/mail/mailman.xml
@@ -0,0 +1,59 @@
+
+ Mailman
+
+ Mailman is free
+ software for managing electronic mail discussion and e-newsletter
+ lists. Mailman and its web interface can be configured using the
+ corresponding NixOS module. Note that this service is best used with
+ an existing, securely configured Postfix setup, as it does not automatically configure this.
+
+
+
+ Basic usage
+
+ For a basic configuration, the following settings are suggested:
+ { config, ... }: {
+ services.postfix = {
+ enable = true;
+ relayDomains = ["hash:/var/lib/mailman/data/postfix_domains"];
+ sslCert = config.security.acme.certs."lists.example.org".directory + "/full.pem";
+ sslKey = config.security.acme.certs."lists.example.org".directory + "/key.pem";
+ config = {
+ transport_maps = ["hash:/var/lib/mailman/data/postfix_lmtp"];
+ local_recipient_maps = ["hash:/var/lib/mailman/data/postfix_lmtp"];
+ };
+ };
+ services.mailman = {
+ enable = true;
+ serve.enable = true;
+ hyperkitty.enable = true;
+ webHosts = ["lists.example.org"];
+ siteOwner = "mailman@example.org";
+ };
+ services.nginx.virtualHosts."lists.example.org".enableACME = true;
+ networking.firewall.allowedTCPPorts = [ 25 80 443 ];
+}
+
+
+ DNS records will also be required:
+
+ AAAA and A records pointing to the host in question, in order for browsers to be able to discover the address of the web server;
+ An MX record pointing to a domain name at which the host is reachable, in order for other mail servers to be able to deliver emails to the mailing lists it hosts.
+
+
+
+ After this has been done and appropriate DNS records have been
+ set up, the Postorius mailing list manager and the Hyperkitty
+ archive browser will be available at
+ https://lists.example.org/. Note that this setup is not
+ sufficient to deliver emails to most email providers nor to
+ avoid spam -- a number of additional measures for authenticating
+ incoming and outgoing mails, such as SPF, DMARC and DKIM are
+ necessary, but outside the scope of the Mailman module.
+
+
+
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 0318acae50f7..c4aedd7e23b2 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -39,6 +39,7 @@ let
"node"
"postfix"
"postgres"
+ "redis"
"rspamd"
"snmp"
"surfboard"
@@ -171,15 +172,6 @@ in
(opt: lib.mkRemovedOptionModule [ "services" "prometheus" "${opt}" ] ''
The prometheus exporters are now configured using `services.prometheus.exporters'.
See the 18.03 release notes for more information.
- '' ))
-
- ++ (lib.forEach [ "enable" "substitutions" "preset" ]
- (opt: lib.mkRemovedOptionModule [ "fonts" "fontconfig" "ultimate" "${opt}" ] ''
- The fonts.fontconfig.ultimate module and configuration is obsolete.
- The repository has since been archived and activity has ceased.
- https://github.com/bohoomil/fontconfig-ultimate/issues/171.
- No action should be needed for font configuration, as the fonts.fontconfig
- module is already used by default.
'' ));
options.services.prometheus.exporters = mkOption {
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/redis.nix b/nixos/modules/services/monitoring/prometheus/exporters/redis.nix
new file mode 100644
index 000000000000..befbcb21f766
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/redis.nix
@@ -0,0 +1,19 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+ cfg = config.services.prometheus.exporters.redis;
+in
+{
+ port = 9121;
+ serviceOpts = {
+ serviceConfig = {
+ ExecStart = ''
+ ${pkgs.prometheus-redis-exporter}/bin/redis_exporter \
+ -web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+ ${concatStringsSep " \\\n " cfg.extraFlags}
+ '';
+ };
+ };
+}
diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix
index a3bd40135d19..7d18410ff0a4 100644
--- a/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixos/modules/services/network-filesystems/ipfs.nix
@@ -12,6 +12,19 @@ let
(optionalString (cfg.defaultMode == "norouting") "--routing=none")
] ++ cfg.extraFlags);
+ splitMulitaddr = addrRaw: lib.tail (lib.splitString "/" addrRaw);
+
+ multiaddrToListenStream = addrRaw: let
+ addr = splitMulitaddr addrRaw;
+ s = builtins.elemAt addr;
+ in if s 0 == "ip4" && s 2 == "tcp"
+ then "${s 1}:${s 3}"
+ else if s 0 == "ip6" && s 2 == "tcp"
+ then "[${s 1}]:${s 3}"
+ else if s 0 == "unix"
+ then "/${lib.concatStringsSep "/" (lib.tail addr)}"
+ else null; # not valid for listen stream, skip
+
in {
###### interface
@@ -80,7 +93,10 @@ in {
swarmAddress = mkOption {
type = types.listOf types.str;
- default = [ "/ip4/0.0.0.0/tcp/4001" "/ip6/::/tcp/4001" ];
+ default = [
+ "/ip4/0.0.0.0/tcp/4001"
+ "/ip6/::/tcp/4001"
+ ];
description = "Where IPFS listens for incoming p2p connections";
};
@@ -250,14 +266,18 @@ in {
systemd.sockets.ipfs-gateway = {
wantedBy = [ "sockets.target" ];
- socketConfig.ListenStream = [ "" ]
- ++ lib.optional (cfg.gatewayAddress == opt.gatewayAddress.default) [ "127.0.0.1:8080" "[::1]:8080" ];
+ socketConfig.ListenStream = let
+ fromCfg = multiaddrToListenStream cfg.gatewayAddress;
+ in [ "" ] ++ lib.optional (fromCfg != null) fromCfg;
};
systemd.sockets.ipfs-api = {
wantedBy = [ "sockets.target" ];
- socketConfig.ListenStream = [ "" "%t/ipfs.sock" ]
- ++ lib.optional (cfg.apiAddress == opt.apiAddress.default) [ "127.0.0.1:5001" "[::1]:5001" ];
+ # We also include "%t/ipfs.sock" because tere is no way to put the "%t"
+ # in the multiaddr.
+ socketConfig.ListenStream = let
+ fromCfg = multiaddrToListenStream cfg.apiAddress;
+ in [ "" "%t/ipfs.sock" ] ++ lib.optional (fromCfg != null) fromCfg;
};
};
diff --git a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
index d8baed65c6df..97e824fe629c 100644
--- a/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
+++ b/nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
@@ -47,9 +47,9 @@ def write_loader_conf(profile, generation):
if "@timeout@" != "":
f.write("timeout @timeout@\n")
if profile:
- f.write("default nixos-%s-generation-%d.conf\n".format(profile, generation))
+ f.write("default nixos-%s-generation-%d.conf\n" % (profile, generation))
else:
- f.write("default nixos-generation-%d.conf\n".format(generation))
+ f.write("default nixos-generation-%d.conf\n" % (generation))
if not @editor@:
f.write("editor 0\n");
f.write("console-mode @consoleMode@\n");
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index bee21f1a8f36..c6dbb96951ae 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -233,6 +233,7 @@ in rec {
path = mkOption {
default = [];
+ type = with types; listOf (oneOf [ package str ]);
apply = ps: "${makeBinPath ps}:${makeSearchPathOutput "bin" "sbin" ps}";
description = ''
Packages added to the service's PATH
diff --git a/nixos/tests/ipfs.nix b/nixos/tests/ipfs.nix
index 82234f969226..9c0ff5306e06 100644
--- a/nixos/tests/ipfs.nix
+++ b/nixos/tests/ipfs.nix
@@ -7,21 +7,28 @@ import ./make-test-python.nix ({ pkgs, ...} : {
nodes.machine = { ... }: {
services.ipfs = {
enable = true;
+ # Also will add a unix domain socket socket API address, see module.
+ startWhenNeeded = true;
apiAddress = "/ip4/127.0.0.1/tcp/2324";
};
};
testScript = ''
start_all()
- machine.wait_for_unit("ipfs")
- machine.wait_until_succeeds("ipfs --api /ip4/127.0.0.1/tcp/2324 id")
+ # IPv4 activation
+
+ machine.succeed("ipfs --api /ip4/127.0.0.1/tcp/2324 id")
ipfs_hash = machine.succeed(
"echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | awk '{ print $2 }'"
)
machine.succeed(f"ipfs cat /ipfs/{ipfs_hash.strip()} | grep fnord")
+ # Unix domain socket activation
+
+ machine.stop_job("ipfs")
+
ipfs_hash = machine.succeed(
"echo fnord2 | ipfs --api /unix/run/ipfs.sock add | awk '{ print $2 }'"
)
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 4dbd64312224..75c4ca12db24 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -475,6 +475,20 @@ let
'';
};
+ redis = {
+ exporterConfig = {
+ enable = true;
+ };
+ metricProvider.services.redis.enable = true;
+ exporterTest = ''
+ wait_for_unit("redis.service")
+ wait_for_unit("prometheus-redis-exporter.service")
+ wait_for_open_port(6379)
+ wait_for_open_port(9121)
+ wait_until_succeeds("curl -sSf localhost:9121/metrics | grep -q 'redis_up 1'")
+ '';
+ };
+
rspamd = {
exporterConfig = {
enable = true;
diff --git a/pkgs/applications/editors/vscode/update.sh b/pkgs/applications/editors/vscode/update.sh
new file mode 100755
index 000000000000..d573fdf04aaf
--- /dev/null
+++ b/pkgs/applications/editors/vscode/update.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnugrep gnused gawk
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+if [ ! -f "$ROOT/vscode.nix" ]; then
+ echo "ERROR: cannot find vscode.nix in $ROOT"
+ exit 1
+fi
+if [ ! -f "$ROOT/vscodium.nix" ]; then
+ echo "ERROR: cannot find vscodium.nix in $ROOT"
+ exit 1
+fi
+
+# VSCode
+
+VSCODE_VER=$(curl -s -L "https://code.visualstudio.com/Download" | grep "is now available" | awk -F'' '{print $1}' | awk -F'>' '{print $NF}')
+VSCODE_VER=$(curl -s -L "https://code.visualstudio.com/updates/v${VSCODE_VER/./_}" | grep "Downloads:" | awk -F'code.visualstudio.com/' '{print $2}' | awk -F'/' '{print $1}')
+sed -i "s/version = \".*\"/version = \"${VSCODE_VER}\"/" "$ROOT/vscode.nix"
+
+VSCODE_LINUX_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/linux-x64/stable"
+VSCODE_LINUX_SHA256=$(nix-prefetch-url ${VSCODE_LINUX_URL})
+sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODE_LINUX_SHA256}\"/" "$ROOT/vscode.nix"
+
+VSCODE_DARWIN_URL="https://vscode-update.azurewebsites.net/${VSCODE_VER}/darwin/stable"
+VSCODE_DARWIN_SHA256=$(nix-prefetch-url ${VSCODE_DARWIN_URL})
+sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODE_DARWIN_SHA256}\"/" "$ROOT/vscode.nix"
+
+# VSCodium
+
+VSCODIUM_VER=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/VSCodium/vscodium/releases/latest | awk -F'/' '{print $NF}')
+sed -i "s/version = \".*\"/version = \"${VSCODIUM_VER}\"/" "$ROOT/vscodium.nix"
+
+VSCODIUM_LINUX_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-linux-x64-${VSCODIUM_VER}.tar.gz"
+VSCODIUM_LINUX_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_URL})
+sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODIUM_LINUX_SHA256}\"/" "$ROOT/vscodium.nix"
+
+VSCODIUM_DARWIN_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-darwin-${VSCODIUM_VER}.zip"
+VSCODIUM_DARWIN_SHA256=$(nix-prefetch-url ${VSCODIUM_DARWIN_URL})
+sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODIUM_DARWIN_SHA256}\"/" "$ROOT/vscodium.nix"
\ No newline at end of file
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index 15d70d143081..b201f9dbf0da 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -1,26 +1,33 @@
-{ stdenv, fetchFromGitHub, cmake, makeWrapper, qtbase , qttools, python
-, libGLU, libGL , libXt, qtx11extras, qtxmlpatterns , mkDerivation }:
+{ boost, cmake, fetchFromGitHub, ffmpeg, qtbase, qtx11extras,
+ qttools, qtxmlpatterns, qtsvg, gdal, gfortran, libXt, makeWrapper,
+ mkDerivation, ninja, openmpi, python3, stdenv, tbb, libGLU, libGL }:
mkDerivation rec {
pname = "paraview";
- version = "5.6.3";
+ version = "5.8.0";
- # fetching from GitHub instead of taking an "official" source
- # tarball because of missing submodules there
src = fetchFromGitHub {
owner = "Kitware";
repo = "ParaView";
rev = "v${version}";
- sha256 = "0zcij59pg47c45gfddnpbin13w16smzhcbivzm1k4pg4366wxq1q";
+ sha256 = "1mka6wwg9mbkqi3phs29mvxq6qbc44sspbm4awwamqhilh4grhrj";
fetchSubmodules = true;
};
- cmakeFlags = [
- "-DPARAVIEW_ENABLE_PYTHON=ON"
- "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON"
- "-DPARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION=OFF"
- "-DOpenGL_GL_PREFERENCE=GLVND"
- ];
+ # Avoid error: format not a string literal and
+ # no format arguments [-Werror=format-security]
+ preConfigure = ''
+ substituteInPlace VTK/Common/Core/vtkLogger.h \
+ --replace 'vtkLogScopeF(verbosity_name, __func__)' 'vtkLogScopeF(verbosity_name, "%s", __func__)'
+
+ substituteInPlace VTK/Common/Core/vtkLogger.h \
+ --replace 'vtkVLogScopeF(level, __func__)' 'vtkVLogScopeF(level, "%s", __func__)'
+ '';
+
+ # Find the Qt platform plugin "minimal"
+ patchPhase = ''
+ export QT_PLUGIN_PATH=${qtbase.bin}/${qtbase.qtPluginPrefix}
+ '';
# During build, binaries are called that rely on freshly built
# libraries. These reside in build/lib, and are not found by
@@ -29,37 +36,50 @@ mkDerivation rec {
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/lib:$PWD/VTK/ThirdParty/vtkm/vtk-m/lib
'';
- enableParallelBuilding = true;
+ cmakeFlags = [
+ "-DCMAKE_BUILD_TYPE=Release"
+ "-DPARAVIEW_ENABLE_FFMPEG=ON"
+ "-DPARAVIEW_ENABLE_GDAL=ON"
+ "-DPARAVIEW_ENABLE_MOTIONFX=ON"
+ "-DPARAVIEW_ENABLE_VISITBRIDGE=ON"
+ "-DPARAVIEW_ENABLE_XDMF3=ON"
+ "-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON"
+ "-DPARAVIEW_USE_MPI=ON"
+ "-DPARAVIEW_USE_PYTHON=ON"
+ "-DVTK_SMP_IMPLEMENTATION_TYPE=TBB"
+ "-DVTKm_ENABLE_MPI=ON"
+ "-DCMAKE_INSTALL_LIBDIR=lib"
+ "-DCMAKE_INSTALL_INCLUDEDIR=include"
+ "-DCMAKE_INSTALL_BINDIR=bin"
+ "-DOpenGL_GL_PREFERENCE=GLVND"
+ "-GNinja"
+ ];
nativeBuildInputs = [
cmake
makeWrapper
+ ninja
+ gfortran
];
buildInputs = [
- python
- python.pkgs.numpy
libGLU libGL
libXt
+ openmpi
+ (python3.withPackages (ps: with ps; [ numpy matplotlib mpi4py ]))
+ tbb
+ boost
+ ffmpeg
+ gdal
qtbase
qtx11extras
qttools
qtxmlpatterns
+ qtsvg
];
- # Paraview links into the Python library, resolving symbolic links on the way,
- # so we need to put the correct sitePackages (with numpy) back on the path
- preFixup = ''
- wrapQtApp $out/bin/paraview \
- --prefix PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}"
- wrapQtApp $out/bin/pvbatch \
- --prefix PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}"
- wrapQtApp $out/bin/pvpython \
- --prefix PYTHONPATH "${python.pkgs.numpy}/${python.sitePackages}"
- '';
-
meta = with stdenv.lib; {
- homepage = "http://www.paraview.org/";
+ homepage = "https://www.paraview.org/";
description = "3D Data analysis and visualization application";
license = licenses.free;
maintainers = with maintainers; [ guibert ];
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index 6aba42d33e63..ad2681d25fe5 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -1,10 +1,10 @@
{ callPackage, fetchurl, ... } @ args:
callPackage ./generic.nix (args // rec {
- version = "1.0.28";
+ version = "1.0.30";
src = fetchurl {
- url = "https://gitlab.com/sane-project/backends/uploads/9e718daff347826f4cfe21126c8d5091/sane-backends-${version}.tar.gz";
- sha256 = "00yy8q9hqdf0zjxxl4d8njr9zf0hhi3a9ib23ikc2anqf8zhy9ii";
+ url = "https://gitlab.com/sane-project/backends/uploads/c3dd60c9e054b5dee1e7b01a7edc98b0/sane-backends-${version}.tar.gz";
+ sha256 = "18vryaycps3zpjzxh0wjgg8nv2f4pdvcfxxmdfj28qbzqjlrcp9z";
};
})
diff --git a/pkgs/applications/misc/devdocs-desktop/default.nix b/pkgs/applications/misc/devdocs-desktop/default.nix
new file mode 100644
index 000000000000..7c1726961339
--- /dev/null
+++ b/pkgs/applications/misc/devdocs-desktop/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, appimageTools, fetchurl, gsettings-desktop-schemas, gtk3 }:
+
+let
+ version = "0.7.1";
+ pname = "devdocs-desktop";
+ name = "${pname}-${version}";
+
+ src = fetchurl {
+ url = "https://github.com/egoist/devdocs-desktop/releases/download/v${version}/DevDocs-${version}.AppImage";
+ sha256 = "5bba99a34c90a65eff67aface0b7446cbf43d620a1c195f27e7bb33ab6d3d0c2";
+ };
+
+ appimageContents = appimageTools.extractType2 {
+ inherit name src;
+ };
+
+in appimageTools.wrapType2 rec {
+ inherit name src;
+
+ profile = ''
+ export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+ '';
+
+ extraInstallCommands = ''
+ mv $out/bin/${name} $out/bin/${pname}
+ install -m 444 -D ${appimageContents}/devdocs.desktop $out/share/applications/devdocs.desktop
+ install -m 444 -D ${appimageContents}/devdocs.png $out/share/icons/hicolor/0x0/apps/devdocs.png
+ substituteInPlace $out/share/applications/devdocs.desktop \
+ --replace 'Exec=AppRun' 'Exec=${pname}'
+ '';
+
+ meta = with stdenv.lib; {
+ description = "A full-featured desktop app for DevDocs.io";
+ longDescription = ''
+ DevDocs.io combines multiple API documentations in a fast, organized, and searchable interface. This is an unofficial desktop app for it.
+ '';
+ homepage = "https://github.com/egoist/devdocs-desktop";
+ downloadPage = "https://github.com/egoist/devdocs-desktop/releases";
+ license = licenses.mit;
+ maintainers = with maintainers; [ ymarkus ];
+ platforms = [ "x86_64-linux" ];
+ };
+}
diff --git a/pkgs/applications/networking/browsers/castor/default.nix b/pkgs/applications/networking/browsers/castor/default.nix
new file mode 100644
index 000000000000..6209c3263bcd
--- /dev/null
+++ b/pkgs/applications/networking/browsers/castor/default.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, fetchurl
+, rustPlatform
+, pkg-config
+, wrapGAppsHook
+, openssl
+, gtk3
+, gdk-pixbuf
+, pango
+, atk
+, cairo
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "castor";
+ version = "0.8.14";
+
+ src = fetchurl {
+ url = "https://git.sr.ht/~julienxx/castor/archive/${version}.tar.gz";
+ sha256 = "1ykpmbimhfy3ys2hvv0mn8xiwxzdl43gpny1nc58i0gzv07ar8sc";
+ };
+
+ cargoSha256 = "04w49wka1vkb295lk6fzd6c5rwhzrqkp26hd5d94rx7bhcjmmb9w";
+ verifyCargoDeps = true;
+
+ nativeBuildInputs = [
+ pkg-config
+ wrapGAppsHook
+ ];
+
+ buildInputs = [
+ openssl
+ gtk3
+ gdk-pixbuf
+ pango
+ atk
+ cairo
+ ];
+
+ postInstall = "make PREFIX=$out copy-data";
+
+ # Sometimes tests fail when run in parallel
+ checkFlags = [ "--test-threads=1" ];
+
+ meta = with stdenv.lib; {
+ description = "A graphical client for plain-text protocols written in Rust with GTK. It currently supports the Gemini, Gopher and Finger protocols";
+ homepage = "https://sr.ht/~julienxx/Castor";
+ license = licenses.mit;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ fgaz ];
+ };
+}
+
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 6a4e1979e883..74f576b9a394 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "terragrunt";
- version = "0.23.14";
+ version = "0.23.23";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
- sha256 = "1znb9d4n9zv3dq10dw17kb1h04gj8iz6gwx1a741fcf4ygp8zpy1";
+ sha256 = "1087zs5k73rhhzni8zdj950aw4nsc7mqjj8lgdcc8y3yx8p8y5hy";
};
- vendorSha256 = "0h737h25f80zfx84vm6ry0581c32ylcb5h9givqk5k5kh5qgkbgx";
+ vendorSha256 = "1xn7c6y32vpanqvf1sfpw6bs73dbjniavjbf00j0vx83bfyklsr4";
buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index d4493355951f..eacd5ece8b88 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -19,12 +19,12 @@ with lib;
mkDerivation rec {
pname = "telegram-desktop";
- version = "2.1.11";
+ version = "2.1.12";
# Telegram-Desktop with submodules
src = fetchurl {
url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
- sha256 = "1sd6nrcjg5gpq6ynvwnz8f4jz8flknybx6b0pfxqrqqpzy7wjl5m";
+ sha256 = "1b9kgib9dxjcfnw2zdbqd12ikcswkl35nwy9m47x5jvy3glxg6m8";
};
postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 7f5cf65e0937..e82fbc7bebce 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -15,11 +15,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
let
inherit (stdenv.lib) concatStringsSep makeBinPath optional;
- version = "5.0.418682.0603";
+ version = "5.1.412382.0614";
srcs = {
x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
- sha256 = "1vlba3jgp3dr16n5g29l0dpdd054d8h6lkwk3a6346shvd46mpja";
+ sha256 = "07xb3v5i08wq0a3my9id91gizsxj5ppqvxmcbdy04j7yn4i1jm9x";
};
};
@@ -60,7 +60,6 @@ in mkDerivation {
"zcacert.pem"
"zoom"
"zoom.sh"
- "zoomlinux"
"zopen"
];
in ''
@@ -126,7 +125,7 @@ in mkDerivation {
description = "zoom.us video conferencing application";
license = stdenv.lib.licenses.unfree;
platforms = builtins.attrNames srcs;
- maintainers = with stdenv.lib.maintainers; [ danbst tadfisher ];
+ maintainers = with stdenv.lib.maintainers; [ danbst tadfisher doronbehar ];
};
}
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index fae03846b68e..13803556a479 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -13,11 +13,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "znc";
- version = "1.8.0";
+ version = "1.8.1";
src = fetchurl {
url = "https://znc.in/releases/archive/${pname}-${version}.tar.gz";
- sha256 = "0m5xf60r40pgbg9lyk56dafxj2hj149pn2wf8vzsp8xgq4kv5zcl";
+ sha256 = "0hb1v167aa6gv5bcwz352l6b8gnd74ymjw92y4x882l099hzg59i";
};
nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix
index fd06d721ebd1..58cc8f8f59ef 100644
--- a/pkgs/applications/science/misc/root/5.nix
+++ b/pkgs/applications/science/misc/root/5.nix
@@ -1,18 +1,18 @@
{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2
-, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lzma, gsl_1
+, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, lzma, gsl_1, xxHash
, Cocoa, OpenGL, noSplash ? false }:
stdenv.mkDerivation rec {
pname = "root";
- version = "5.34.36";
+ version = "5.34.38";
src = fetchurl {
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
- sha256 = "1kbx1jxc0i5xfghpybk8927a0wamxyayij9c74zlqm0595gqx1pw";
+ sha256 = "1ln448lszw4d6jmbdphkr2plwxxlhmjkla48vmmq750xc1lxlfrc";
};
nativeBuildInputs = [ pkgconfig ];
- buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ]
+ buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl_1 xxHash ]
++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
;
@@ -20,12 +20,6 @@ stdenv.mkDerivation rec {
patches = [
./sw_vers_root5.patch
- (fetchpatch {
- name = "enable_new_gcc.patch";
- url = "https://aur.archlinux.org/cgit/aur.git/plain/enable_new_gcc.patch?h=root5&id=91c50876081a0af36f84ec4f0f9dba869107fa4f";
- sha256 = "1rnp0xlw0yqi7mjs4w145njd79i8kkir1qik7zwicdik9axf8ygm";
- })
-
# prevents rootcint from looking in /usr/includes and such
./purify_include_paths_root5.patch
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index fc752f1bd1fd..2eda7fe1dab3 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -5,10 +5,10 @@
mkDerivation rec {
pname = "clipgrab";
- version = "3.8.11";
+ version = "3.8.12";
src = fetchurl {
- sha256 = "0jpfdmyzjasq4x1xvk7b1cmhhq6fz6ydvvbwz2wclph367x496xk";
+ sha256 = "1nnph6sn4mpdj20hngwr57ripmdp60w3vrn89s8ssy7cjv500ngd";
# The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
url = "https://download.clipgrab.org/${pname}-${version}.tar.gz";
};
diff --git a/pkgs/applications/virtualization/open-vm-tools/default.nix b/pkgs/applications/virtualization/open-vm-tools/default.nix
index 84f74ef6dd03..46d91884fcd3 100644
--- a/pkgs/applications/virtualization/open-vm-tools/default.nix
+++ b/pkgs/applications/virtualization/open-vm-tools/default.nix
@@ -1,7 +1,7 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook,
fuse, libmspack, openssl, pam, xercesc, icu, libdnet, procps,
libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst,
- pkgconfig, glib, gtk3, gtkmm3, iproute, dbus, systemd, which,
+ pkgconfig, glib, gdk-pixbuf-xlib, gtk3, gtkmm3, iproute, dbus, systemd, which,
withX ? true }:
stdenv.mkDerivation rec {
@@ -21,9 +21,13 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig ];
buildInputs = [ fuse glib icu libdnet libmspack openssl pam procps xercesc ]
- ++ lib.optionals withX [ gtk3 gtkmm3 libX11 libXext libXinerama libXi libXrender libXrandr libXtst ];
+ ++ lib.optionals withX [ gdk-pixbuf-xlib gtk3 gtkmm3 libX11 libXext libXinerama libXi libXrender libXrandr libXtst ];
+
+ patches = [
+ ./recognize_nixos.patch
+ ./find_gdk_pixbuf_xlib.patch #See https://github.com/vmware/open-vm-tools/pull/438
+ ];
- patches = [ ./recognize_nixos.patch ];
postPatch = ''
# Build bugfix for 10.1.0, stolen from Arch PKGBUILD
mkdir -p common-agent/etc/config
diff --git a/pkgs/applications/virtualization/open-vm-tools/find_gdk_pixbuf_xlib.patch b/pkgs/applications/virtualization/open-vm-tools/find_gdk_pixbuf_xlib.patch
new file mode 100644
index 000000000000..6606c50e77d9
--- /dev/null
+++ b/pkgs/applications/virtualization/open-vm-tools/find_gdk_pixbuf_xlib.patch
@@ -0,0 +1,12 @@
+diff --git a/lib/appUtil/Makefile.am b/lib/appUtil/Makefile.am
+index a0d8e391..899cd4e9 100644
+--- a/lib/appUtil/Makefile.am
++++ b/lib/appUtil/Makefile.am
+@@ -21,4 +21,6 @@ libAppUtil_la_SOURCES =
+ libAppUtil_la_SOURCES += appUtil.c
+ libAppUtil_la_SOURCES += appUtilX11.c
+
+-AM_CFLAGS = @GTK_CPPFLAGS@
++AM_CFLAGS =
++AM_CFLAGS += @GTK_CPPFLAGS@
++AM_CFLAGS += @GDK_PIXBUF_XLIB2_CPPFLAGS@
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index f4a6dba30291..e077fc303445 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -2,6 +2,7 @@
, stdenvNoCC
, lib
, fetchFromGitHub
+, fetchurl
, fetchzip
, optipng
, cairo
@@ -146,4 +147,28 @@ in
maintainers = with maintainers; [ mathnerd314 ];
};
};
+
+ noto-fonts-emoji-blob-bin = stdenv.mkDerivation rec {
+ pname = "noto-fonts-emoji-blob-bin";
+ version = "2019-06-14-Emoji-12";
+
+ src = fetchurl {
+ url = "https://github.com/C1710/blobmoji/releases/download/v${version}/Blobmoji.ttf";
+ sha256 = "0snvymglmvpnfgsriw2cnnqm0f4llav0jvzir6mpd17mqqhhabbh";
+ };
+
+ dontUnpack = true;
+
+ installPhase = ''
+ install -D $src $out/share/fonts/blobmoji/Blobmoji.ttf
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Noto Emoji with extended Blob support";
+ homepage = https://github.com/C1710/blobmoji;
+ license = with licenses; [ ofl asl20 ];
+ platforms = platforms.all;
+ maintainers = with maintainers; [ rileyinman ];
+ };
+ };
}
diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix
index f0617e56d789..5edc2990c025 100644
--- a/pkgs/data/themes/matcha/default.nix
+++ b/pkgs/data/themes/matcha/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "matcha-gtk-theme";
- version = "2020-05-24";
+ version = "2020-06-18";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
- sha256 = "186ypnkyaqjw671ny363xmixw6zdvrgj9xvmsrdgr8i0h3z8qwr8";
+ sha256 = "1hgwlzyfxl8yw93r0vsnvi51a4k5bn5qw1axhldy5l928qhmd5x7";
};
buildInputs = [ gdk-pixbuf librsvg ];
diff --git a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
index b2a3acd07229..ce630999147d 100644
--- a/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-translations/default.nix
@@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "cinnamon-translations";
- version = "4.4.2";
+ version = "4.6.0";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
- sha256 = "1n1nkapcgxmbv0l8hrx5cf588pi4ifx12xbz46lq4p1ijrlfivba";
+ sha256 = "04rlgcbz02n9kj1w12xa56b7f4x10y6g91hsl70zmag568mdclzz";
};
nativeBuildInputs = [
diff --git a/pkgs/development/arduino/platformio/core.nix b/pkgs/development/arduino/platformio/core.nix
index 0d333a49d37a..d83013dbbde5 100644
--- a/pkgs/development/arduino/platformio/core.nix
+++ b/pkgs/development/arduino/platformio/core.nix
@@ -51,14 +51,14 @@ let
in buildPythonApplication rec {
pname = "platformio";
- version = "4.3.1";
+ version = "4.3.4";
# pypi tarballs don't contain tests - https://github.com/platformio/platformio-core/issues/1964
src = fetchFromGitHub {
owner = "platformio";
repo = "platformio-core";
rev = "v${version}";
- sha256 = "1dxnjy60zpkgyrbvbf6b9qi6m37gm8gwjmxwfj30npr1y7rvxwrw";
+ sha256 = "0vf2j79319ypr4yrdmx84853igkb188sjfvlxgw06rlsvsm3kacq";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch b/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch
index 16294a4d6cd6..953eb3c92893 100644
--- a/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch
+++ b/pkgs/development/arduino/platformio/use-local-spdx-license-list.patch
@@ -8,7 +8,7 @@ index be49b3ee..d1390a88 100644
def load_spdx_licenses():
- r = requests.get(
- "https://raw.githubusercontent.com/spdx/license-list-data"
-- "/v3.8/json/licenses.json"
+- "/v3.9/json/licenses.json"
- )
- r.raise_for_status()
- return r.json()
diff --git a/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
index 72ed184357c1..b62b9c95ef6a 100644
--- a/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
+++ b/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
@@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "adoptopenjdk-icedtea-web";
- version = "1.8.3";
+ version = "1.8.4";
src = fetchFromGitHub {
owner = "AdoptOpenJDK";
repo = "IcedTea-Web";
rev = "icedtea-web-${version}";
- sha256 = "0bm5k11i2vgb54ch1bawsmjbwnqnp04saadwm2f2mggmmdc6b1qq";
+ sha256 = "0pxijw9v5k4j840jczglx9qyfd57df390g5jdaz3qafblfg0k10n";
};
nativeBuildInputs = [ autoreconfHook pkgconfig bc ];
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix
index ef496f5f7c52..9edb70074c7d 100644
--- a/pkgs/development/compilers/openjdk/11.nix
+++ b/pkgs/development/compilers/openjdk/11.nix
@@ -10,7 +10,7 @@
let
major = "11";
- update = ".0.6";
+ update = ".0.7";
build = "ga";
openjdk = stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ let
src = fetchurl {
url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/jdk-${version}.tar.gz";
- sha256 = "1w6n0cnz9izpjb3sc870q7a0jz85a6c7fiszymxin10cnsajkzir";
+ sha256 = "14daacng9ndxf4kmvsn7nracwfiwwmw5rha8rkk3723pfk9g8q7p";
};
nativeBuildInputs = [ pkgconfig autoconf ];
@@ -135,7 +135,7 @@ let
homepage = "http://openjdk.java.net/";
license = licenses.gpl2;
description = "The open-source Java Development Kit";
- maintainers = with maintainers; [ edwtjo ];
+ maintainers = with maintainers; [ edwtjo asbachb ];
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ];
};
diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix
index 878299f725a6..c31f858850c9 100644
--- a/pkgs/development/libraries/freeimage/default.nix
+++ b/pkgs/development/libraries/freeimage/default.nix
@@ -1,5 +1,8 @@
{ lib, stdenv, fetchurl, unzip, darwin }:
+# TODO: consider unvendoring various dependencies (libpng, libjpeg,
+# libwebp, zlib, ...)
+
stdenv.mkDerivation {
name = "freeimage-3.18.0";
@@ -50,5 +53,7 @@ stdenv.mkDerivation {
license = "GPL";
maintainers = with lib.maintainers; [viric];
platforms = with lib.platforms; unix;
+ # see https://github.com/NixOS/nixpkgs/issues/77653
+ broken = stdenv.isAarch64;
};
}
diff --git a/pkgs/development/libraries/libmodulemd/1.nix b/pkgs/development/libraries/libmodulemd/1.nix
deleted file mode 100644
index 174296375e08..000000000000
--- a/pkgs/development/libraries/libmodulemd/1.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ libmodulemd, fetchurl }:
-
-libmodulemd.overrideAttrs(old: rec {
- name = "libmodulemd-${version}";
- version = "1.8.15";
-
- # Removes py output since there's no overrides here
- outputs = [ "out" "devdoc" ];
-
- patches = [
- # Checks for glib docs in glib's prefix
- # but they're installed to another
- ./dont-check-docs.patch
- ];
-
- src = fetchurl {
- url = "https://github.com/fedora-modularity/libmodulemd/releases/download/${name}/modulemd-${version}.tar.xz";
- sha256 = "0gz8p3qzji3cx0r57sy3gn4dhigg4k7pcxj3lmjcjn13vxh5rm7z";
- };
-
-})
diff --git a/pkgs/development/libraries/libmodulemd/dont-check-docs.patch b/pkgs/development/libraries/libmodulemd/dont-check-docs.patch
deleted file mode 100644
index 38ad5683692b..000000000000
--- a/pkgs/development/libraries/libmodulemd/dont-check-docs.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/meson.build b/meson.build
-index 155c9e7..9125372 100644
---- a/meson.build
-+++ b/meson.build
-@@ -60,15 +60,15 @@ sh = find_program('sh')
- sed = find_program('sed')
- test = find_program('test')
-
--ret = run_command ([test, '-e', join_paths(glib_docpath, 'glib/index.html')])
--if ret.returncode() != 0
-- error('Missing documentation for GLib.')
--endif
--
--ret = run_command ([test, '-e', join_paths(glib_docpath, 'gobject/index.html')])
--if ret.returncode() != 0
-- error('Missing documentation for GObject.')
--endif
-+# ret = run_command ([test, '-e', join_paths(glib_docpath, 'glib/index.html')])
-+# if ret.returncode() != 0
-+# error('Missing documentation for GLib.')
-+# endif
-+
-+# ret = run_command ([test, '-e', join_paths(glib_docpath, 'gobject/index.html')])
-+# if ret.returncode() != 0
-+# error('Missing documentation for GObject.')
-+# endif
-
- python_name = get_option('python_name')
-
diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix
index 94c578f6c268..894d35eb3d8a 100644
--- a/pkgs/development/libraries/mygui/default.nix
+++ b/pkgs/development/libraries/mygui/default.nix
@@ -5,13 +5,13 @@ let
renderSystem = if withOgre then "3" else "4";
in stdenv.mkDerivation rec {
pname = "mygui";
- version = "3.2.2";
+ version = "3.4.0";
src = fetchFromGitHub {
owner = "MyGUI";
repo = "mygui";
rev = "MyGUI${version}";
- sha256 = "1wk7jmwm55rhlqqcyvqsxdmwvl70bysl9azh4kd9n57qlmgk3zmw";
+ sha256 = "0a4zi8w18pjj813n7kmxldl1d9r1jp0iyhkw7pbqgl8f7qaq994w";
};
enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/swiftshader/default.nix b/pkgs/development/libraries/swiftshader/default.nix
new file mode 100644
index 000000000000..3965f46bd8d8
--- /dev/null
+++ b/pkgs/development/libraries/swiftshader/default.nix
@@ -0,0 +1,63 @@
+{ stdenv, fetchgit, python3, cmake, jq, libX11, libXext }:
+
+stdenv.mkDerivation rec {
+ pname = "swiftshader";
+ version = "2020-06-17";
+
+ src = fetchgit {
+ url = "https://swiftshader.googlesource.com/SwiftShader";
+ rev = "763957e6b4fc1aa360ab19c4109b8b26686783e8";
+ sha256 = "0sdh48swx0qyq2nfkv1nggs14am0qc7z239qrxb69p2ddqm76g1s";
+ };
+
+ nativeBuildInputs = [ cmake python3 jq ];
+ buildInputs = [ libX11 libXext ];
+
+ # Make sure we include the drivers and icd files in the output as the cmake
+ # generated install command only puts in the spirv-tools stuff.
+ installPhase = ''
+ runHook preInstall
+
+ #
+ # Vulkan driver
+ #
+ vk_so_path="$out/lib/libvk_swiftshader.so"
+ mkdir -p "$(dirname "$vk_so_path")"
+ mv Linux/libvk_swiftshader.so "$vk_so_path"
+
+ vk_icd_json="$out/share/vulkan/icd.d/vk_swiftshader_icd.json"
+ mkdir -p "$(dirname "$vk_icd_json")"
+ jq ".ICD.library_path = \"$vk_so_path\"" "$vk_icd_json"
+
+ #
+ # GL driver
+ #
+ gl_so_path="$out/lib/libEGL.so"
+ mkdir -p "$(dirname "$gl_so_path")"
+ mv Linux/libEGL.so "$gl_so_path"
+
+ gl_icd_json="$out/share/glvnd/egl_vendor.d/swiftshader.json"
+ mkdir -p "$(dirname "$gl_icd_json")"
+ cat >"$gl_icd_json" < Cow<'_, str> {
+ }
+
+ #[test]
++#[ignore]
+ fn test_format_rust_expression() {
+ use crate::assert_snapshot;
+ assert_snapshot!(format_rust_expression("vec![1,2,3]"), @"vec![1, 2, 3]");
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 43bf5415ce01..e9d4deefb459 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -2,10 +2,10 @@
{
rust-analyzer-unwrapped = callPackage ./generic.nix rec {
- rev = "2020-06-01";
+ rev = "2020-06-08";
version = "unstable-${rev}";
- sha256 = "0chm47mrd4hybhvzn4cndq2ck0mj948mm181p1i1j1w0ms7zk1fg";
- cargoSha256 = "0yaz50f7hirlcs8bxc5dh170lch9l1gscwayan71k3pz23wkvlzs";
+ sha256 = "0ywwsb717d1rwcy2yij58sj123pan0fb80sbsiqqprcln0aaspip";
+ cargoSha256 = "1c6rmrhx7q4qcanr26yzlwc2rp1hh55m80jn56hy6hfcvwcdaij4";
};
rust-analyzer = callPackage ./wrapper.nix {} {
diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix
index c28657c3bb1d..214292afbbe1 100644
--- a/pkgs/development/web/nodejs/v12.nix
+++ b/pkgs/development/web/nodejs/v12.nix
@@ -8,6 +8,6 @@ let
in
buildNodejs {
inherit enableNpm;
- version = "12.18.0";
- sha256 = "0gxi0cxkiylxr4spm3vg6n9w3x82770xaazhax8pydkqlcv8cs6l";
+ version = "12.18.1";
+ sha256 = "0yjwd8yilm85wkginvhhchcikjsl8g3l3qagbg0l2y1hg8f0anfa";
}
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index fde3d31716eb..3b47cb40ad0f 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -53,11 +53,11 @@ let
x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
alpha = {
stable = bdist { sha256 = "1fg2wnia6anzya4m53jf2xqwwspvwskz3awdb3j0v3fzijps94wc"; version = "0.17.79"; withAuth = true; };
- experimental = bdist { sha256 = "0dm2s8iz7247i3j8cl5f4i3kipnmn5514gm21p7b4ahj6fhpc7pf"; version = "0.18.30"; withAuth = true; };
+ experimental = bdist { sha256 = "1h0gv7cdn999hm2fl93kq6g98bzd1x3c8afq8v0a04dqjarjgr86"; version = "0.18.32"; withAuth = true; };
};
headless = {
stable = bdist { sha256 = "1pr39nm23fj83jy272798gbl9003rgi4vgsi33f2iw3dk3x15kls"; version = "0.17.79"; };
- experimental = bdist { sha256 = "1c5jiqva2z58lghm6bhvjdj2n61xk8b8ss2hx80qsywgh3nqafr3"; version = "0.18.30"; };
+ experimental = bdist { sha256 = "017ggrsnhwyfgx99q0wjagafjvk5pb6lcxl72y37gig72bfcapab"; version = "0.18.32"; };
};
demo = {
stable = bdist { sha256 = "07qknasaqvzl9vy1fglm7xmdi7ynhmslrb0a209fhbfs0s7qqlgi"; version = "0.17.79"; };
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
index 75d16586a39f..b73af4515d3c 100644
--- a/pkgs/games/mudlet/default.nix
+++ b/pkgs/games/mudlet/default.nix
@@ -6,14 +6,14 @@ let
in
stdenv.mkDerivation rec {
pname = "mudlet";
- version = "4.3";
+ version = "4.9.1";
src = fetchFromGitHub {
owner = "Mudlet";
repo = "Mudlet";
rev = "Mudlet-${version}";
fetchSubmodules = true;
- sha256 = "0qqdmivfwf9jmv5yx90z1fj99nlhnq762lfw6bcxgv74y4l4b4c0";
+ sha256 = "0i022qcmlq4xwl2yh4xd5qdc0ag52605qmqqz6bim0h8f3dp8cx1";
};
nativeBuildInputs = [ cmake wrapQtAppsHook git qttools which ];
diff --git a/pkgs/games/openmw/tes3mp.nix b/pkgs/games/openmw/tes3mp.nix
index 59bdc6901078..df332c0e5bf3 100644
--- a/pkgs/games/openmw/tes3mp.nix
+++ b/pkgs/games/openmw/tes3mp.nix
@@ -1,4 +1,4 @@
-{ stdenv, cmake, openmw, fetchFromGitHub, luajit, makeWrapper }:
+{ stdenv, cmake, openmw, fetchFromGitHub, luajit, makeWrapper, mygui }:
# revisions are taken from https://github.com/GrimKriegor/TES3MP-deploy
@@ -28,6 +28,17 @@ let
rev = "24aae91d9ddad38cdb3b0e0a13af59f142803e94";
sha256 = "1rfmxxr9ircfagdpbdrzl26msdhx1i3g974cblbv69078cradfh3";
};
+ # https://github.com/TES3MP/openmw-tes3mp/issues/555
+ mygui_ = mygui.overrideAttrs (oldAttrs: rec {
+ version = "3.2.2";
+
+ src = fetchFromGitHub {
+ owner = "MyGUI";
+ repo = "mygui";
+ rev = "MyGUI${version}";
+ sha256 = "1wk7jmwm55rhlqqcyvqsxdmwvl70bysl9azh4kd9n57qlmgk3zmw";
+ };
+ });
in openmw.overrideAttrs (oldAttrs: rec {
version = "2019-11-19";
name = "openmw-tes3mp-${version}";
@@ -41,7 +52,7 @@ in openmw.overrideAttrs (oldAttrs: rec {
};
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [ makeWrapper ];
- buildInputs = oldAttrs.buildInputs ++ [ luajit ];
+ buildInputs = [ luajit mygui_ ] ++ oldAttrs.buildInputs;
cmakeFlags = oldAttrs.cmakeFlags ++ [
"-DBUILD_OPENCS=OFF"
@@ -50,7 +61,7 @@ in openmw.overrideAttrs (oldAttrs: rec {
"-DRakNet_LIBRARY_DEBUG=${rakNetLibrary}/lib/libRakNetLibStatic.a"
];
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95175
+ # https://github.com/TES3MP/openmw-tes3mp/issues/552
patches = [
./tes3mp.patch
];
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 964e08674ca6..dd3cae339ca1 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -39,16 +39,16 @@ in rec {
unstable = fetchurl rec {
# NOTE: Don't forget to change the SHA256 for staging as well.
- version = "5.5";
+ version = "5.10";
url = "https://dl.winehq.org/wine/source/5.x/wine-${version}.tar.xz";
- sha256 = "1z7mvl6fgk7cg8vmy157r8azcz89srnckbzvsc6cva7a1fdi7qx0";
+ sha256 = "0g9k094biyjc0ng3vnncdr1psf0ykn36nqirrqdzc5y82s9a1alv";
inherit (stable) mono gecko32 gecko64;
};
staging = fetchFromGitHub rec {
# https://github.com/wine-staging/wine-staging/releases
inherit (unstable) version;
- sha256 = "0wcj73xcxsk5897m5fg14cjir2md167m09jjjv9z9n6157bfr9fw";
+ sha256 = "1nnj52g0kp7i38qw85sp5qsf7gph1hh3ywibrdfpjmjpyj30v7sw";
owner = "wine-staging";
repo = "wine-staging";
rev = "v${version}";
diff --git a/pkgs/os-specific/linux/exfat/default.nix b/pkgs/os-specific/linux/exfat/default.nix
index e66ac4d65ab9..59f9c709e5fa 100644
--- a/pkgs/os-specific/linux/exfat/default.nix
+++ b/pkgs/os-specific/linux/exfat/default.nix
@@ -21,6 +21,9 @@ stdenv.mkDerivation rec {
makeFlags = [
"KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+ "ARCH=${stdenv.hostPlatform.platform.kernelArch}"
+ ] ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+ "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
];
installPhase = ''
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 5a2fb8cf7aab..1272d19d8ea5 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -639,6 +639,14 @@ let
# enabled by default in x86_64 but not arm64, so we do that here
HIDRAW = yes;
+ HID_ACRUX_FF = yes;
+ DRAGONRISE_FF = yes;
+ HOLTEK_FF = yes;
+ SONY_FF = yes;
+ SMARTJOYPLUS_FF = yes;
+ THRUSTMASTER_FF = yes;
+ ZEROPLUS_FF = yes;
+
MODULE_COMPRESS = yes;
MODULE_COMPRESS_XZ = yes;
KERNEL_XZ = yes;
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 1c5bfad41681..a2fbbbe37349 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.46";
+ version = "5.4.47";
# 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 = "13hvnfdcbcb9a21zizq8d90mc8maxz03zmzsj6iqsjd2y7r4y1rh";
+ sha256 = "0v4d86yci4lq82nb1fgf0g3j0348v6q6m77czpm4b3cs7lwrs2wp";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.6.nix b/pkgs/os-specific/linux/kernel/linux-5.6.nix
index bf245442ecef..478cdf71bf44 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.6.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.6.nix
@@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
- version = "5.6.18";
+ version = "5.6.19";
# 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 = "0cpiyzr62sv2yz0mla7skalb04pnr4nlkpi1zfcfzyjf1gjz8h8h";
+ sha256 = "1s0yc1138sglbm4vyizl4r7hnc1l7nykdjp4063ad67yayr2ylv2";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.7.nix b/pkgs/os-specific/linux/kernel/linux-5.7.nix
index c7f1389f1128..0f04abfec8fd 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.7.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.7.nix
@@ -3,7 +3,7 @@
with stdenv.lib;
buildLinux (args // rec {
- version = "5.7.2";
+ version = "5.7.3";
# 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 = "02brxm78n0kg4mh48acvjsr7mpvaqd279ycyaixaflid1s1awrb0";
+ sha256 = "1sgwdcyn9105lfgg25q41yj30sy9cqfdm8m4dmka8gzllxxyq407";
};
} // (args.argsOverride or {}))
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix
index 37b4d29eeb16..879fd19adb0a 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, alembic, aiosmtpd, dnspython
+{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, isPy3k, alembic, aiosmtpd, dnspython
, flufl_bounce, flufl_i18n, flufl_lock, lazr_config, lazr_delegates, passlib
, requests, zope_configuration, click, falcon, importlib-resources
, zope_component, lynx, postfix, authheaders, gunicorn
@@ -20,7 +20,19 @@ buildPythonPackage rec {
zope_component authheaders gunicorn
];
- patchPhase = ''
+ patches = [
+ (fetchpatch {
+ url = https://gitlab.com/mailman/mailman/-/commit/4b206e2a5267a0e17f345fd7b2d957122ba57566.patch;
+ sha256 = "06axmrn74p81wvcki36c7gfj5fp5q15zxz2yl3lrvijic7hbs4n2";
+ })
+ (fetchpatch {
+ url = https://gitlab.com/mailman/mailman/-/commit/9613154f3c04fa2383fbf017031ef263c291418d.patch;
+ sha256 = "0vyw87s857vfxbf7kihwb6w094xyxmxbi1bpdqi3ybjamjycp55r";
+ })
+ ./log-stderr.patch
+ ];
+
+ postPatch = ''
substituteInPlace src/mailman/config/postfix.cfg \
--replace /usr/sbin/postmap ${postfix}/bin/postmap
substituteInPlace src/mailman/config/schema.cfg \
diff --git a/pkgs/servers/mail/mailman/log-stderr.patch b/pkgs/servers/mail/mailman/log-stderr.patch
new file mode 100644
index 000000000000..2edbe1f18313
--- /dev/null
+++ b/pkgs/servers/mail/mailman/log-stderr.patch
@@ -0,0 +1,13 @@
+diff --git a/src/mailman/core/logging.py b/src/mailman/core/logging.py
+index f8f87279f..7ff13b003 100644
+--- a/src/mailman/core/logging.py
++++ b/src/mailman/core/logging.py
+@@ -142,6 +142,8 @@ def _init_logger(propagate, sub_name, log, logger_config):
+ address, facility = _get_syslog_params(logger_config)
+ handler = logging.handlers.SysLogHandler(
+ address=address, facility=facility)
++ elif logger_config.handler == 'stderr':
++ handler = logging.StreamHandler(sys.stderr)
+ else:
+ path_str = logger_config.path
+ path_abs = os.path.normpath(os.path.join(config.LOG_DIR, path_str))
diff --git a/pkgs/servers/mail/mailman/web.nix b/pkgs/servers/mail/mailman/web.nix
index f770f2e4489d..53fdf851cfe8 100644
--- a/pkgs/servers/mail/mailman/web.nix
+++ b/pkgs/servers/mail/mailman/web.nix
@@ -1,6 +1,5 @@
{ buildPythonPackage, lib, fetchgit, isPy3k
, git, makeWrapper, sassc, hyperkitty, postorius, whoosh
-, django
}:
buildPythonPackage rec {
@@ -17,8 +16,13 @@ buildPythonPackage rec {
# This is just so people installing from pip also get uwsgi
# installed, AFAICT.
+
+ # Django is depended on transitively by hyperkitty and postorius,
+ # and mailman_web has overly restrictive version bounds on it, so
+ # let's remove it.
postPatch = ''
sed -i '/^ uwsgi$/d' setup.cfg
+ sed -i '/^ Django/d' setup.cfg
'';
nativeBuildInputs = [ git makeWrapper ];
@@ -36,7 +40,5 @@ buildPythonPackage rec {
description = "Django project for Mailman 3 web interface";
license = licenses.gpl3;
maintainers = with maintainers; [ peti qyliss ];
- # mailman-web requires django < 2.2
- broken = versionOlder "2.2" django.version;
};
}
diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter-deps.nix b/pkgs/servers/monitoring/prometheus/redis-exporter-deps.nix
new file mode 100644
index 000000000000..33747715fbef
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/redis-exporter-deps.nix
@@ -0,0 +1,390 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+ {
+ goPackagePath = "github.com/alecthomas/template";
+ fetch = {
+ type = "git";
+ url = "https://github.com/alecthomas/template";
+ rev = "fb15b899a751";
+ sha256 = "1vlasv4dgycydh5wx6jdcvz40zdv90zz1h7836z7lhsi2ymvii26";
+ };
+ }
+ {
+ goPackagePath = "github.com/alecthomas/units";
+ fetch = {
+ type = "git";
+ url = "https://github.com/alecthomas/units";
+ rev = "c3de453c63f4";
+ sha256 = "0js37zlgv37y61j4a2d46jh72xm5kxmpaiw0ya9v944bjpc386my";
+ };
+ }
+ {
+ goPackagePath = "github.com/beorn7/perks";
+ fetch = {
+ type = "git";
+ url = "https://github.com/beorn7/perks";
+ rev = "v1.0.1";
+ sha256 = "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7";
+ };
+ }
+ {
+ goPackagePath = "github.com/cespare/xxhash";
+ fetch = {
+ type = "git";
+ url = "https://github.com/cespare/xxhash";
+ rev = "v2.1.1";
+ sha256 = "0rl5rs8546zj1vzggv38w93wx0b5dvav7yy5hzxa8kw7iikv1cgr";
+ };
+ }
+ {
+ 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/go-kit/kit";
+ fetch = {
+ type = "git";
+ url = "https://github.com/go-kit/kit";
+ rev = "v0.9.0";
+ sha256 = "09038mnw705h7isbjp8dzgp2i04bp5rqkmifxvwc5xkh75s00qpw";
+ };
+ }
+ {
+ goPackagePath = "github.com/go-logfmt/logfmt";
+ fetch = {
+ type = "git";
+ url = "https://github.com/go-logfmt/logfmt";
+ rev = "v0.4.0";
+ sha256 = "06smxc112xmixz78nyvk3b2hmc7wasf2sl5vxj1xz62kqcq9lzm9";
+ };
+ }
+ {
+ 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.4.0";
+ sha256 = "1fjvl5n77abxz5qsd4mgyvjq19x43c5bfvmq62mq3m5plx6zksc8";
+ };
+ }
+ {
+ goPackagePath = "github.com/gomodule/redigo";
+ fetch = {
+ type = "git";
+ url = "https://github.com/gomodule/redigo";
+ rev = "v1.8.2";
+ sha256 = "0wp37175n4lgkq234px9vx0c7mdx8sx3d45zky73az8zbabirwga";
+ };
+ }
+ {
+ goPackagePath = "github.com/google/go-cmp";
+ fetch = {
+ type = "git";
+ url = "https://github.com/google/go-cmp";
+ rev = "v0.4.0";
+ sha256 = "1x5pvl3fb5sbyng7i34431xycnhmx8xx94gq2n19g6p0vz68z2v2";
+ };
+ }
+ {
+ goPackagePath = "github.com/google/gofuzz";
+ fetch = {
+ type = "git";
+ url = "https://github.com/google/gofuzz";
+ rev = "v1.0.0";
+ sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36";
+ };
+ }
+ {
+ goPackagePath = "github.com/json-iterator/go";
+ fetch = {
+ type = "git";
+ url = "https://github.com/json-iterator/go";
+ rev = "v1.1.9";
+ sha256 = "0pkn2maymgl9v6vmq9q1si8xr5bbl88n6981y0lx09px6qxb29qx";
+ };
+ }
+ {
+ 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.3";
+ sha256 = "1yrsd4s8vhjnxhwbigirymz89dn6qfjnhn28i33vvvdgf96j6ypl";
+ };
+ }
+ {
+ 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.1";
+ sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+ };
+ }
+ {
+ goPackagePath = "github.com/kr/text";
+ fetch = {
+ type = "git";
+ url = "https://github.com/kr/text";
+ rev = "v0.1.0";
+ sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+ };
+ }
+ {
+ 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/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/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/prometheus/client_golang";
+ fetch = {
+ type = "git";
+ url = "https://github.com/prometheus/client_golang";
+ rev = "v1.6.0";
+ sha256 = "0wwkx69in9dy5kzd3z6rrqf5by8cwl9r7r17fswcpx9rl3g61x1l";
+ };
+ }
+ {
+ goPackagePath = "github.com/prometheus/client_model";
+ fetch = {
+ type = "git";
+ url = "https://github.com/prometheus/client_model";
+ rev = "v0.2.0";
+ sha256 = "0jffnz94d6ff39fr96b5w8i8yk26pwnrfggzz8jhi8k0yihg2c9d";
+ };
+ }
+ {
+ goPackagePath = "github.com/prometheus/common";
+ fetch = {
+ type = "git";
+ url = "https://github.com/prometheus/common";
+ rev = "v0.9.1";
+ sha256 = "12pyywb02p7d30ccm41mwn69qsgqnsgv1w9jlqrrln2f1svnbqch";
+ };
+ }
+ {
+ goPackagePath = "github.com/prometheus/procfs";
+ fetch = {
+ type = "git";
+ url = "https://github.com/prometheus/procfs";
+ rev = "v0.0.11";
+ sha256 = "1msc8bfywsmrgr2ryqjdqwkxiz1ll08r3qgvaka2507z1wpcpj2c";
+ };
+ }
+ {
+ goPackagePath = "github.com/sirupsen/logrus";
+ fetch = {
+ type = "git";
+ url = "https://github.com/sirupsen/logrus";
+ rev = "v1.6.0";
+ sha256 = "1zf9is1yxxnna0d1pyag2m9ziy3l27zb2j92p9msm1gx5jjrvzzj";
+ };
+ }
+ {
+ 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.5.1";
+ sha256 = "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/crypto";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/crypto";
+ rev = "c2843e01d9a2";
+ sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/net";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/net";
+ rev = "d28f0bde5980";
+ sha256 = "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/sync";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/sync";
+ rev = "cd5d95a43a6e";
+ sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/sys";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/sys";
+ rev = "1957bb5e6d1f";
+ sha256 = "0imqk4l9785rw7ddvywyf8zn7k3ga6f17ky8rmf8wrri7nknr03f";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/text";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/text";
+ rev = "v0.3.0";
+ sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+ };
+ }
+ {
+ goPackagePath = "golang.org/x/xerrors";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/xerrors";
+ rev = "9bdfabe68543";
+ sha256 = "1yjfi1bk9xb81lqn85nnm13zz725wazvrx3b50hx19qmwg7a4b0c";
+ };
+ }
+ {
+ goPackagePath = "google.golang.org/protobuf";
+ fetch = {
+ type = "git";
+ url = "https://go.googlesource.com/protobuf";
+ rev = "v1.21.0";
+ sha256 = "12bwln8z1lf9105gdp6ip0rx741i4yfz1520gxnp8861lh9wcl63";
+ };
+ }
+ {
+ 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 = "41f04d3bba15";
+ sha256 = "0vfk9czmlxmp6wndq8k17rhnjxal764mxfhrccza7nwlia760pjy";
+ };
+ }
+ {
+ goPackagePath = "gopkg.in/yaml.v2";
+ fetch = {
+ type = "git";
+ url = "https://gopkg.in/yaml.v2";
+ rev = "v2.2.5";
+ sha256 = "08smz8dfyxp02ha74my9iszqa5qzgl3ksi28ilyp8lqipssiq6fg";
+ };
+ }
+]
diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
new file mode 100644
index 000000000000..ea15fecc8ef0
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
@@ -0,0 +1,32 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+ pname = "redis_exporter";
+ version = "1.7.0";
+
+ goPackagePath = "github.com/oliver006/redis_exporter";
+
+ src = fetchFromGitHub {
+ owner = "oliver006";
+ repo = "redis_exporter";
+ rev = "v${version}";
+ sha256 = "0rwaxpylividyxz0snfgck32kvpgjkhg20bmdnlp35cdzxcxi8m1";
+ };
+
+ goDeps = ./redis-exporter-deps.nix;
+
+ buildFlagsArray = ''
+ -ldflags=
+ -X main.BuildVersion=${version}
+ -X main.BuildCommitSha=unknown
+ -X main.BuildDate=unknown
+ '';
+
+ meta = with stdenv.lib; {
+ description = "Prometheus exporter for Redis metrics";
+ inherit (src.meta) homepage;
+ license = licenses.mit;
+ maintainers = with maintainers; [ eskytthe srhb ];
+ platforms = platforms.unix;
+ };
+}
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 9a7cc077508f..048de16ceed3 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -33,7 +33,7 @@ in {
};
nextcloud18 = generic {
- version = "18.0.4";
- sha256 = "0aa3f4xbkzacfw0h9aic0ywk5mqlwka83qaszizj8lmk68kf3n7s";
+ version = "18.0.6";
+ sha256 = "1chmkg31jc1nr53y8r886mmd2jzb78094mrx7ggcfpjfkkv8b89s";
};
}
diff --git a/pkgs/servers/routinator/default.nix b/pkgs/servers/routinator/default.nix
index 46416c982760..1174d0802ae8 100644
--- a/pkgs/servers/routinator/default.nix
+++ b/pkgs/servers/routinator/default.nix
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "routinator";
- version = "0.7.0";
+ version = "0.7.1";
src = fetchFromGitHub {
owner = "NLnetLabs";
repo = pname;
rev = "v${version}";
- sha256 = "1qbaibmbiw3pffi0cm6d06k1gra4acgxr97gj7f1ckvql5rni4h0";
+ sha256 = "12fgvalv12v8690pxmsdg179r170d4mc1kynsb25fm0zggy838jn";
};
- cargoSha256 = "138h99l3vv34higbqj59fa88w7c63c80g3rw07n9j2f834cvr901";
+ cargoSha256 = "01118mnb5gm0xqi2c8jj3fk8y55jnnyg9zgn2g4xn7f3i8dcczka";
meta = with stdenv.lib; {
description = "An RPKI Validator written in Rust";
diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix
index 5a58a52210af..ec232b864637 100644
--- a/pkgs/servers/sql/monetdb/default.nix
+++ b/pkgs/servers/sql/monetdb/default.nix
@@ -3,7 +3,7 @@
}:
let
- version = "11.35.19";
+ version = "11.37.7";
in stdenv.mkDerivation {
pname = "monetdb";
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
src = fetchurl {
url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${version}.tar.bz2";
- sha256 = "1qfgsv1k23sn6jl7jbxmfh7w7hyzmh8r1cddl4kksqrw41q6h82q";
+ sha256 = "00z6c7z4f9ww43574nz32b06rw5ln5fy3hlml32h2wrwsg0cj5jh";
};
postPatch = ''
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 420aac7607e4..7cd31f14abdb 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -79,20 +79,17 @@ let
# additional profiles are expected in order of precedence, which means the reverse of the
# NIX_PROFILES variable (same as config.environment.profiles)
- set -l __nix_profile_paths (echo $NIX_PROFILES | ${coreutils}/bin/tr ' ' '\n')[-1..1]
+ set -l __nix_profile_paths (string split ' ' $NIX_PROFILES)[-1..1]
- set __extra_completionsdir \
+ set -p __extra_completionsdir \
$__nix_profile_paths"/etc/fish/completions" \
- $__nix_profile_paths"/share/fish/vendor_completions.d" \
- $__extra_completionsdir
- set __extra_functionsdir \
+ $__nix_profile_paths"/share/fish/vendor_completions.d"
+ set -p __extra_functionsdir \
$__nix_profile_paths"/etc/fish/functions" \
- $__nix_profile_paths"/share/fish/vendor_functions.d" \
- $__extra_functionsdir
- set __extra_confdir \
+ $__nix_profile_paths"/share/fish/vendor_functions.d"
+ set -p __extra_confdir \
$__nix_profile_paths"/etc/fish/conf.d" \
- $__nix_profile_paths"/share/fish/vendor_conf.d" \
- $__extra_confdir
+ $__nix_profile_paths"/share/fish/vendor_conf.d"
end
'';
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index 019a66c77eb7..bce76b4cc825 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "oil";
- version = "0.8.pre4";
+ version = "0.8.pre6";
src = fetchurl {
url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
- sha256 = "07kj86hrvlz9f1gh3qv4hdaz3qnb4a2qf0dnxhd2r0qilrkjanxh";
+ sha256 = "1gbc74in78lbkciz7wzjplrm185wn6fz57n66xmazayivqmpvgfm";
};
postPatch = ''
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 6896904ec9a4..37374900a4ec 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 = "2020-06-17";
+ version = "2020-06-18";
pname = "oh-my-zsh";
- rev = "d47447a5e63715ae6ab6c2f46924dc8766c8e746";
+ rev = "5ffc0d036c587741fd25092e7809dad2b00b3677";
src = fetchgit { inherit rev;
url = "https://github.com/ohmyzsh/ohmyzsh";
- sha256 = "1hfinbmwwinvqnv3ldcja8gqh9n6ll6749055vk8icdixa9jwcyl";
+ sha256 = "04a9zg3l824wywk0qcm0pc4n4522cqljyix7kh3frc4psqnhh8qr";
};
pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/tools/X11/xwallpaper/default.nix b/pkgs/tools/X11/xwallpaper/default.nix
new file mode 100644
index 000000000000..ad2995b4ca60
--- /dev/null
+++ b/pkgs/tools/X11/xwallpaper/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, pkg-config, autoreconfHook, pixman, xcbutil, xcbutilimage
+, libseccomp, libjpeg, libpng, libXpm }:
+
+stdenv.mkDerivation rec {
+ pname = "xwallpaper";
+ version = "0.6.5";
+
+ src = fetchFromGitHub {
+ owner = "stoeckmann";
+ repo = "xwallpaper";
+ rev = "v${version}";
+ sha256 = "121ai4dc0v65qk12gn9w62ixly8hc8a5qrygkbb82vy8ck4jqxj7";
+ };
+
+ preConfigure = "./autogen.sh";
+
+ nativeBuildInputs = [ pkg-config autoreconfHook ];
+ buildInputs = [ pixman xcbutilimage xcbutil libseccomp libjpeg libpng libXpm ];
+
+ meta = with stdenv.lib; {
+ homepage = "https://github.com/stoeckmann/xwallpaper";
+ description = "Utility for setting wallpapers in X";
+ license = licenses.isc;
+ maintainers = with maintainers; [ ivar ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index f21f19eb7251..46f6bb404ae9 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "fuse-overlayfs";
- version = "1.0.0";
+ version = "1.1.0";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = "v${version}";
- sha256 = "0h1ay2l7zyiqplh8whanw68mcfri79lc03wjjrhqji5ddwznv6fa";
+ sha256 = "0dv62kyc8hvwb4gkhyxzwagp87nv0mr1612dz6q835is1vqav134";
};
nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/misc/rmlint/default.nix b/pkgs/tools/misc/rmlint/default.nix
index 2ea1668409a5..936c78b695d1 100644
--- a/pkgs/tools/misc/rmlint/default.nix
+++ b/pkgs/tools/misc/rmlint/default.nix
@@ -1,6 +1,22 @@
-{ stdenv, fetchFromGitHub
-, gettext, pkgconfig, scons
-, glib, json-glib, libelf, sphinx, utillinux }:
+{ stdenv
+, cairo
+, fetchFromGitHub
+, gettext
+, glib
+, gobject-introspection
+, gtksourceview3
+, json-glib
+, libelf
+, makeWrapper
+, pango
+, pkgconfig
+, polkit
+, python3
+, scons
+, sphinx
+, utillinux
+, wrapGAppsHook
+, withGui ? false }:
with stdenv.lib;
stdenv.mkDerivation rec {
@@ -17,14 +33,39 @@ stdenv.mkDerivation rec {
CFLAGS="-I${stdenv.lib.getDev utillinux}/include";
nativeBuildInputs = [
- pkgconfig sphinx gettext scons
+ pkgconfig
+ sphinx
+ gettext
+ scons
+ ] ++ stdenv.lib.optionals withGui [
+ makeWrapper
+ wrapGAppsHook
];
buildInputs = [
- glib json-glib libelf utillinux
+ glib
+ json-glib
+ libelf
+ utillinux
+ ] ++ stdenv.lib.optionals withGui [
+ cairo
+ gobject-introspection
+ gtksourceview3
+ pango
+ polkit
+ python3
+ python3.pkgs.pygobject3
];
- prefixKey = "--prefix=";
+ # this doesn't seem to support configureFlags, and appends $out afterwards,
+ # so add the --without-gui in front of it
+ prefixKey = stdenv.lib.optionalString (!withGui) " --without-gui " + "--prefix=";
+
+ # in GUI mode, this shells out to itself, and tries to import python modules
+ postInstall = stdenv.lib.optionalString withGui ''
+ gappsWrapperArgs+=(--prefix PATH : "$out/bin")
+ gappsWrapperArgs+=(--prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${python3.pkgs.pygobject3}):$(toPythonPath ${python3.pkgs.pycairo})")
+ '';
meta = {
description = "Extremely fast tool to remove duplicates and other lint from your filesystem";
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 41e59162905a..e04d37ba3c6b 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -32,7 +32,7 @@
, python
, json_c
, zchunk
-, libmodulemd_1
+, libmodulemd
, utillinux
, sqlite
, cppunit
@@ -40,13 +40,13 @@
stdenv.mkDerivation rec {
pname = "rpm-ostree";
- version = "2020.1";
+ version = "2020.2";
outputs = [ "out" "dev" "man" "devdoc" ];
src = fetchurl {
url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
- sha256 = "1xgfppq4fqqvg3cs327bckjpiz6rrn3bbbhg3q5p4j2bzsq89xiz";
+ sha256 = "nuEBEVFqr9J+Nf98GZkvNNYOtpMUjKzYrzCc1T2cR3A=";
};
nativeBuildInputs = [
@@ -88,7 +88,7 @@ stdenv.mkDerivation rec {
# required by vendored libdnf
json_c
zchunk
- libmodulemd_1
+ libmodulemd
utillinux # for smartcols.pc
sqlite
cppunit
diff --git a/pkgs/tools/system/tre-command/default.nix b/pkgs/tools/system/tre-command/default.nix
index bc0fa7ea988d..b420126a95e6 100644
--- a/pkgs/tools/system/tre-command/default.nix
+++ b/pkgs/tools/system/tre-command/default.nix
@@ -1,17 +1,17 @@
{ rustPlatform, fetchFromGitHub, stdenv }:
rustPlatform.buildRustPackage rec {
- pname = "tre";
- version = "0.2.3";
+ pname = "tre-command";
+ version = "0.3.1";
src = fetchFromGitHub {
owner = "dduan";
repo = "tre";
rev = "v${version}";
- sha256 = "1fazw2wn738iknbv54gv7qll7d4q2gy9bq1s3f3cv21cdv6bqral";
+ sha256 = "1fm3fszy7fd0dgf5dwm35nb0ym0waw92iyx128lr2vlbyzln6ija";
};
- cargoSha256 = "16bvnwgjf3kj99d77j1pkldbasxfwy55sj9sv9vf2z6llfmzfabd";
+ cargoSha256 = "0sk4dn5rrqhkaxm76y1d7rsjsw6pdjdhb2xv7qqrlivfk6y5k31x";
meta = with stdenv.lib; {
description = "Tree command, improved";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 24520d139e77..a5a8f47c1417 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1656,6 +1656,8 @@ in
desync = callPackage ../applications/networking/sync/desync { };
+ devdocs-desktop = callPackage ../applications/misc/devdocs-desktop { };
+
devmem2 = callPackage ../os-specific/linux/devmem2 { };
dbus-broker = callPackage ../os-specific/linux/dbus-broker { };
@@ -7586,6 +7588,8 @@ in
xcruiser = callPackage ../applications/misc/xcruiser { };
+ xwallpaper = callPackage ../tools/X11/xwallpaper { };
+
xxkb = callPackage ../applications/misc/xxkb { };
ugarit = callPackage ../tools/backup/ugarit {
@@ -9229,6 +9233,7 @@ in
cargo-inspect = callPackage ../development/tools/rust/cargo-inspect {
inherit (darwin.apple_sdk.frameworks) Security;
};
+ cargo-insta = callPackage ../development/tools/rust/cargo-insta { };
cargo-make = callPackage ../development/tools/rust/cargo-make {
inherit (darwin.apple_sdk.frameworks) Security;
};
@@ -11041,6 +11046,8 @@ in
swiftformat = callPackage ../development/tools/swiftformat { };
+ swiftshader = callPackage ../development/libraries/swiftshader { };
+
systemfd = callPackage ../development/tools/systemfd { };
swig1 = callPackage ../development/tools/misc/swig { };
@@ -13580,7 +13587,6 @@ in
libvdpau = callPackage ../development/libraries/libvdpau { };
libmodulemd = callPackage ../development/libraries/libmodulemd { };
- libmodulemd_1 = callPackage ../development/libraries/libmodulemd/1.nix { };
libvdpau-va-gl = callPackage ../development/libraries/libvdpau-va-gl { };
@@ -15825,11 +15831,7 @@ in
mailman-rss = callPackage ../development/python-modules/mailman-rss { };
- mailman-web = with (python3.override {
- packageOverrides = self: super: {
- django = self.django_1_11;
- };
- }).pkgs; toPythonApplication mailman-web;
+ mailman-web = with python3.pkgs; toPythonApplication mailman-web;
mattermost = callPackage ../servers/mattermost { };
matterircd = callPackage ../servers/mattermost/matterircd.nix { };
@@ -16218,6 +16220,7 @@ in
prometheus-postgres-exporter = callPackage ../servers/monitoring/prometheus/postgres-exporter.nix { };
prometheus-process-exporter = callPackage ../servers/monitoring/prometheus/process-exporter.nix { };
prometheus-pushgateway = callPackage ../servers/monitoring/prometheus/pushgateway.nix { };
+ prometheus-redis-exporter = callPackage ../servers/monitoring/prometheus/redis-exporter.nix { };
prometheus-rabbitmq-exporter = callPackage ../servers/monitoring/prometheus/rabbitmq-exporter.nix { };
prometheus-snmp-exporter = callPackage ../servers/monitoring/prometheus/snmp-exporter.nix { };
prometheus-tor-exporter = callPackage ../servers/monitoring/prometheus/tor-exporter.nix { };
@@ -18288,7 +18291,7 @@ in
nordic-polar = callPackage ../data/themes/nordic-polar { };
inherit (callPackages ../data/fonts/noto-fonts {})
- noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra;
+ noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-emoji-blob-bin noto-fonts-extra;
nullmailer = callPackage ../servers/mail/nullmailer {
stdenv = gccStdenv;
@@ -18996,6 +18999,8 @@ in
carla = qt5.callPackage ../applications/audio/carla { };
+ castor = callPackage ../applications/networking/browsers/castor { };
+
catimg = callPackage ../tools/misc/catimg { };
catt = python3Packages.callPackage ../applications/video/catt { };
@@ -26288,6 +26293,8 @@ in
sqsh = callPackage ../development/tools/sqsh { };
+ go-swagger = callPackage ../development/tools/go-swagger { };
+
jx = callPackage ../applications/networking/cluster/jx {};
prow = callPackage ../applications/networking/cluster/prow { };