Merge master into staging-next
This commit is contained in:
commit
301847a7e5
79 changed files with 2770 additions and 745 deletions
|
@ -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";
|
||||
|
|
|
@ -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 = {
|
||||
|
||||
|
|
|
@ -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.";
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -232,7 +232,7 @@ in
|
|||
};
|
||||
|
||||
meta = {
|
||||
maintainers = lib.maintainers.mic92;
|
||||
maintainers = [ lib.maintainers.mic92 ];
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -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}";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
59
nixos/modules/services/mail/mailman.xml
Normal file
59
nixos/modules/services/mail/mailman.xml
Normal file
|
@ -0,0 +1,59 @@
|
|||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="module-services-mailman">
|
||||
<title>Mailman</title>
|
||||
<para>
|
||||
<link xlink:href="https://www.list.org">Mailman</link> 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.
|
||||
</para>
|
||||
|
||||
<section xml:id="module-services-mailman-basic-usage">
|
||||
<title>Basic usage</title>
|
||||
<para>
|
||||
For a basic configuration, the following settings are suggested:
|
||||
<programlisting>{ 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 = {
|
||||
<link linkend="opt-services.mailman.enable">enable</link> = true;
|
||||
<link linkend="opt-services.mailman.serve.enable">serve.enable</link> = true;
|
||||
<link linkend="opt-services.mailman.hyperkitty.enable">hyperkitty.enable</link> = true;
|
||||
<link linkend="opt-services.mailman.hyperkitty.enable">webHosts</link> = ["lists.example.org"];
|
||||
<link linkend="opt-services.mailman.hyperkitty.enable">siteOwner</link> = "mailman@example.org";
|
||||
};
|
||||
<link linkend="opt-services.nginx.virtualHosts._name_.enableACME">services.nginx.virtualHosts."lists.example.org".enableACME</link> = true;
|
||||
<link linkend="opt-services.mailman.hyperkitty.enable">networking.firewall.allowedTCPPorts</link> = [ 25 80 443 ];
|
||||
}</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
DNS records will also be required:
|
||||
<itemizedlist>
|
||||
<listitem><para><literal>AAAA</literal> and <literal>A</literal> records pointing to the host in question, in order for browsers to be able to discover the address of the web server;</para></listitem>
|
||||
<listitem><para>An <literal>MX</literal> 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.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
|
@ -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 {
|
||||
|
|
|
@ -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}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
|
||||
};
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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 <envar>PATH</envar>
|
||||
|
|
|
@ -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 }'"
|
||||
)
|
||||
|
|
|
@ -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;
|
||||
|
|
39
pkgs/applications/editors/vscode/update.sh
Executable file
39
pkgs/applications/editors/vscode/update.sh
Executable file
|
@ -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'</span>' '{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"
|
|
@ -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 ];
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
})
|
||||
|
|
43
pkgs/applications/misc/devdocs-desktop/default.nix
Normal file
43
pkgs/applications/misc/devdocs-desktop/default.nix
Normal file
|
@ -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" ];
|
||||
};
|
||||
}
|
53
pkgs/applications/networking/browsers/castor/default.nix
Normal file
53
pkgs/applications/networking/browsers/castor/default.nix
Normal file
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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@
|
|
@ -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 ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
})
|
|
@ -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')
|
||||
|
|
@ -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;
|
||||
|
|
63
pkgs/development/libraries/swiftshader/default.nix
Normal file
63
pkgs/development/libraries/swiftshader/default.nix
Normal file
|
@ -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\"" <Linux/vk_swiftshader_icd.json >"$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" <<EOF
|
||||
{
|
||||
"file_format_version" : "1.0.0",
|
||||
"ICD" : {
|
||||
"library_path" : "$gl_so_path"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description =
|
||||
"A high-performance CPU-based implementation of the Vulkan, OpenGL ES, and Direct3D 9 graphics APIs";
|
||||
homepage = "https://opensource.google/projects/swiftshader";
|
||||
license = licenses.asl20;
|
||||
# Should be possible to support Darwin by changing the install phase with
|
||||
# 's/Linux/Darwin/' and 's/so/dylib/' or something similar.
|
||||
platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" "mipsel-linux" ];
|
||||
maintainers = with maintainers; [ expipiplus1 ];
|
||||
};
|
||||
}
|
|
@ -1,47 +1,74 @@
|
|||
{ docbook_xml_dtd_412, fetchurl, stdenv, perl, python2, zip, xmlto, zlib, fetchpatch }:
|
||||
{ stdenv
|
||||
, cmake
|
||||
, pkg-config
|
||||
, ninja
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, zip
|
||||
, unzip
|
||||
, python3
|
||||
, xmlto
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zziplib";
|
||||
version = "0.13.69";
|
||||
version = "0.13.71";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/gdraheim/zziplib/archive/v${version}.tar.gz";
|
||||
sha256 = "0i052a7shww0fzsxrdp3rd7g4mbzx7324a8ysbc0br7frpblcql4";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gdraheim";
|
||||
repo = "zziplib";
|
||||
rev = "v${version}";
|
||||
sha256 = "P+7D57sc2oIABhk3k96aRILpGnsND5SLXHh2lqr9O4E=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix ninja parsing
|
||||
(fetchpatch {
|
||||
name = "CVE-2018-17828.patch";
|
||||
url = "https://github.com/gdraheim/zziplib/commit/f609ae8971f3c0ce6.diff";
|
||||
sha256 = "0jhiz4fgr93wzh6q03avn95b2nsf6402jaki6hxirxyhs5v9ahry";
|
||||
url = "https://github.com/gdraheim/zziplib/commit/75e22f3c365b62acbad8d8645d5404242800dfba.patch";
|
||||
sha256 = "IB0am3K0x4+Ug1CKvowTtkS8JD6zHJJ247A7guJOw80=";
|
||||
})
|
||||
|
||||
# Install man pages
|
||||
(fetchpatch {
|
||||
name = "CVE-2018-16548-part1.patch";
|
||||
url = "https://github.com/gdraheim/zziplib/commit/9411bde3e4a70a81ff3ffd256b71927b2d90dcbb.patch";
|
||||
sha256 = "0cy8i182zbvcqzs5z2j13d5sl7hbh59pkgw4xkyg5yz739q4fp9b";
|
||||
url = "https://github.com/gdraheim/zziplib/commit/5583ccc7a247ee27556ede344e93d3ac1dc72e9b.patch";
|
||||
sha256 = "wVExEZN8Ml1/3GicB0ZYsLVS3KJ8BSz8i4Gu46naz1Y=";
|
||||
excludes = [ "GNUmakefile" ];
|
||||
})
|
||||
|
||||
# Fix man page formatting
|
||||
(fetchpatch {
|
||||
name = "CVE-2018-16548-part2.patch";
|
||||
url = "https://github.com/gdraheim/zziplib/commit/d2e5d5c53212e54a97ad64b793a4389193fec687.patch";
|
||||
sha256 = "153wd4vab8xqj9avcpx8g2zw9qsp9nkaqi7yc65pz3r7xfcxwdla";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2018-16548-part3.patch";
|
||||
url = "https://github.com/gdraheim/zziplib/commit/0e1dadb05c1473b9df2d7b8f298dab801778ef99.patch";
|
||||
sha256 = "0fs6dns8l7dz5a900397g8b7x62z72b0pbpdmwk1hnx6vb7z5rz5";
|
||||
url = "https://github.com/gdraheim/zziplib/commit/22ed64f13dc239f86664c60496261f544bce1088.patch";
|
||||
sha256 = "ScFVWLc4LQPqkcHn9HK/VkLula4b5HzuYl0b5vi4Ikc=";
|
||||
})
|
||||
];
|
||||
postPatch = ''
|
||||
sed -i -e s,--export-dynamic,, configure
|
||||
'';
|
||||
|
||||
buildInputs = [ docbook_xml_dtd_412 perl python2 zip xmlto zlib ];
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
ninja # make fails, unable to find test2.zip
|
||||
zip
|
||||
python3
|
||||
xmlto
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
zlib
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
unzip
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
|
||||
];
|
||||
|
||||
# tests are broken (https://github.com/gdraheim/zziplib/issues/20),
|
||||
# and test/zziptests.py requires network access
|
||||
# (https://github.com/gdraheim/zziplib/issues/24)
|
||||
doCheck = false;
|
||||
checkTarget = "check";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Library to extract data from files archived in a zip file";
|
||||
|
@ -60,6 +87,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = "http://zziplib.sourceforge.net/";
|
||||
|
||||
maintainers = [ ];
|
||||
platforms = python2.meta.platforms;
|
||||
platforms = python3.meta.platforms;
|
||||
};
|
||||
}
|
||||
|
|
730
pkgs/development/node-packages/node-packages.nix
generated
730
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -4,11 +4,11 @@
|
|||
|
||||
buildDunePackage rec {
|
||||
pname = "ppx_deriving";
|
||||
version = "4.4.1";
|
||||
version = "4.5";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/ocaml-ppx/ppx_deriving/archive/v${version}.tar.gz";
|
||||
sha256 = "1map50w2a35y83bcd19p9yakdkhp04z5as2j2wlygi0b6s0a9vba";
|
||||
sha256 = "1v2xldag54n0xk69vv3j4nln9bzkkpq3rildq118sydzsc9v239z";
|
||||
};
|
||||
|
||||
buildInputs = [ ppxfind cppo ounit ];
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "buildah";
|
||||
version = "1.14.9";
|
||||
version = "1.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "buildah";
|
||||
rev = "v${version}";
|
||||
sha256 = "1vp59xp374wr7sbx89aikz4rv8fdg0a40v06saryxww9iqyvk8wp";
|
||||
sha256 = "0nhqw8s8m819mhb0kpji0if8ji9cmkcb821zab7h65azk0p8qh20";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
|
|
@ -4,7 +4,7 @@ with lib;
|
|||
|
||||
buildGoPackage rec {
|
||||
pname = "ct";
|
||||
version = "0.7.0";
|
||||
version = "0.9.0";
|
||||
|
||||
goPackagePath = "github.com/coreos/container-linux-config-transpiler";
|
||||
|
||||
|
@ -12,7 +12,7 @@ buildGoPackage rec {
|
|||
owner = "coreos";
|
||||
repo = "container-linux-config-transpiler";
|
||||
rev = "v${version}";
|
||||
sha256="058zjk9yqgdli55gc6y48455il6wjpslyz2r2ckk2ki9c5qc8b7c";
|
||||
sha256="1w6nvgrl5qp3ci9igflk9dlk3020psv5m4f3p57f3qcx9vrcl4lw";
|
||||
};
|
||||
|
||||
buildFlagsArray = ''
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "jenkins";
|
||||
version = "2.222.4";
|
||||
version = "2.235.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
|
||||
sha256 = "0z64w5rv1x9kpjxcb05if9pk0abl9nlbijh2i3nlja97j0dp55bc";
|
||||
sha256 = "0pb7dy95ygvyb25hm6akf40f5gr5wa2njad7ncglrpmz14xfnxb3";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
|
|
24
pkgs/development/tools/go-swagger/default.nix
Normal file
24
pkgs/development/tools/go-swagger/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ buildGoModule, fetchFromGitHub, lib }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "go-swagger";
|
||||
version = "0.24.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-swagger";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "051av25vnrcpvj9w6mqalwk7byw52m2dlh1m56y30xvm0ybbnayn";
|
||||
};
|
||||
|
||||
vendorSha256 = "020z4izc8i4yhbbr8h2fn8bqbis9q9yfcrjnixd6rsiayw1brh4p";
|
||||
|
||||
subPackages = [ "cmd/swagger" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Golang implementation of Swagger 2.0, representation of your RESTful API";
|
||||
homepage = "https://github.com/go-swagger/go-swagger";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ kalbasit ];
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "circleci-cli";
|
||||
version = "0.1.7971";
|
||||
version = "0.1.8302";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CircleCI-Public";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0nrmdql3h9jnfgmp8898c9v07f5h5r9dvabaqhk98r6a77g3rr98";
|
||||
sha256 = "1rq1x6893n4siljn2jizrnz8b8qlic1y087gikh5p5140zpcbhnx";
|
||||
};
|
||||
|
||||
vendorSha256 = "0y35ps2pw9z7gi4z50byd1py87bf2jdvj7l7w2gxpppmhi83myc9";
|
||||
|
@ -34,4 +34,4 @@ buildGoModule rec {
|
|||
license = licenses.mit;
|
||||
homepage = "https://circleci.com/";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
780
pkgs/development/tools/rust/cargo-insta/cargo-lock.patch
Normal file
780
pkgs/development/tools/rust/cargo-insta/cargo-lock.patch
Normal file
|
@ -0,0 +1,780 @@
|
|||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -0,0 +1,777 @@
|
||||
+# This file is automatically @generated by Cargo.
|
||||
+# It is not intended for manual editing.
|
||||
+[[package]]
|
||||
+name = "addr2line"
|
||||
+version = "0.12.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "a49806b9dadc843c61e7c97e72490ad7f7220ae249012fbda9ad0609457c0543"
|
||||
+dependencies = [
|
||||
+ "gimli",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "adler32"
|
||||
+version = "1.1.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "567b077b825e468cc974f0020d4082ee6e03132512f207ef1a02fd5d00d1f32d"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "aho-corasick"
|
||||
+version = "0.7.10"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "8716408b8bc624ed7f65d223ddb9ac2d044c0547b6fa4b0d554f3a9540496ada"
|
||||
+dependencies = [
|
||||
+ "memchr",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ansi_term"
|
||||
+version = "0.11.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
|
||||
+dependencies = [
|
||||
+ "winapi",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "atty"
|
||||
+version = "0.2.14"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
||||
+dependencies = [
|
||||
+ "hermit-abi",
|
||||
+ "libc",
|
||||
+ "winapi",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "autocfg"
|
||||
+version = "1.0.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "backtrace"
|
||||
+version = "0.3.49"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "05100821de9e028f12ae3d189176b41ee198341eb8f369956407fea2f5cc666c"
|
||||
+dependencies = [
|
||||
+ "addr2line",
|
||||
+ "cfg-if",
|
||||
+ "libc",
|
||||
+ "miniz_oxide",
|
||||
+ "object",
|
||||
+ "rustc-demangle",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "base64"
|
||||
+version = "0.10.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
|
||||
+dependencies = [
|
||||
+ "byteorder",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "bitflags"
|
||||
+version = "1.2.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "block-buffer"
|
||||
+version = "0.7.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
|
||||
+dependencies = [
|
||||
+ "block-padding",
|
||||
+ "byte-tools",
|
||||
+ "byteorder",
|
||||
+ "generic-array",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "block-padding"
|
||||
+version = "0.1.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
|
||||
+dependencies = [
|
||||
+ "byte-tools",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "bstr"
|
||||
+version = "0.2.13"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "31accafdb70df7871592c058eca3985b71104e15ac32f64706022c58867da931"
|
||||
+dependencies = [
|
||||
+ "memchr",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "byte-tools"
|
||||
+version = "0.3.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "byteorder"
|
||||
+version = "1.3.4"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "cargo-insta"
|
||||
+version = "0.16.0"
|
||||
+dependencies = [
|
||||
+ "clap",
|
||||
+ "console",
|
||||
+ "difference",
|
||||
+ "glob",
|
||||
+ "insta",
|
||||
+ "proc-macro2",
|
||||
+ "serde",
|
||||
+ "serde_json",
|
||||
+ "structopt",
|
||||
+ "syn",
|
||||
+ "walkdir",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "cfg-if"
|
||||
+version = "0.1.10"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "clap"
|
||||
+version = "2.33.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129"
|
||||
+dependencies = [
|
||||
+ "ansi_term",
|
||||
+ "atty",
|
||||
+ "bitflags",
|
||||
+ "strsim",
|
||||
+ "textwrap",
|
||||
+ "unicode-width",
|
||||
+ "vec_map",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "clicolors-control"
|
||||
+version = "1.0.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e"
|
||||
+dependencies = [
|
||||
+ "atty",
|
||||
+ "lazy_static",
|
||||
+ "libc",
|
||||
+ "winapi",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "console"
|
||||
+version = "0.10.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "2586208b33573b7f76ccfbe5adb076394c88deaf81b84d7213969805b0a952a7"
|
||||
+dependencies = [
|
||||
+ "clicolors-control",
|
||||
+ "encode_unicode",
|
||||
+ "lazy_static",
|
||||
+ "libc",
|
||||
+ "regex",
|
||||
+ "terminal_size",
|
||||
+ "termios",
|
||||
+ "unicode-width",
|
||||
+ "winapi",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "crossbeam-utils"
|
||||
+version = "0.7.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
|
||||
+dependencies = [
|
||||
+ "autocfg",
|
||||
+ "cfg-if",
|
||||
+ "lazy_static",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "difference"
|
||||
+version = "2.0.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "digest"
|
||||
+version = "0.8.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
|
||||
+dependencies = [
|
||||
+ "generic-array",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "dtoa"
|
||||
+version = "0.4.6"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "134951f4028bdadb9b84baf4232681efbf277da25144b9b0ad65df75946c422b"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "encode_unicode"
|
||||
+version = "0.3.6"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "fake-simd"
|
||||
+version = "0.1.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "fnv"
|
||||
+version = "1.0.7"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "generic-array"
|
||||
+version = "0.12.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
|
||||
+dependencies = [
|
||||
+ "typenum",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "gimli"
|
||||
+version = "0.21.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "glob"
|
||||
+version = "0.3.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "globset"
|
||||
+version = "0.4.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "7ad1da430bd7281dde2576f44c84cc3f0f7b475e7202cd503042dff01a8c8120"
|
||||
+dependencies = [
|
||||
+ "aho-corasick",
|
||||
+ "bstr",
|
||||
+ "fnv",
|
||||
+ "log",
|
||||
+ "regex",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "globwalk"
|
||||
+version = "0.8.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "178270263374052c40502e9f607134947de75302c1348d1a0e31db67c1691446"
|
||||
+dependencies = [
|
||||
+ "bitflags",
|
||||
+ "ignore",
|
||||
+ "walkdir",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "heck"
|
||||
+version = "0.3.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
|
||||
+dependencies = [
|
||||
+ "unicode-segmentation",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "hermit-abi"
|
||||
+version = "0.1.14"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "b9586eedd4ce6b3c498bc3b4dd92fc9f11166aa908a914071953768066c67909"
|
||||
+dependencies = [
|
||||
+ "libc",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ignore"
|
||||
+version = "0.4.16"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "22dcbf2a4a289528dbef21686354904e1c694ac642610a9bff9e7df730d9ec72"
|
||||
+dependencies = [
|
||||
+ "crossbeam-utils",
|
||||
+ "globset",
|
||||
+ "lazy_static",
|
||||
+ "log",
|
||||
+ "memchr",
|
||||
+ "regex",
|
||||
+ "same-file",
|
||||
+ "thread_local",
|
||||
+ "walkdir",
|
||||
+ "winapi-util",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "insta"
|
||||
+version = "0.16.0"
|
||||
+dependencies = [
|
||||
+ "backtrace",
|
||||
+ "console",
|
||||
+ "difference",
|
||||
+ "globwalk",
|
||||
+ "lazy_static",
|
||||
+ "pest",
|
||||
+ "pest_derive",
|
||||
+ "ron",
|
||||
+ "serde",
|
||||
+ "serde_json",
|
||||
+ "serde_yaml",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "itoa"
|
||||
+version = "0.4.6"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "lazy_static"
|
||||
+version = "1.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "libc"
|
||||
+version = "0.2.71"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "linked-hash-map"
|
||||
+version = "0.5.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "log"
|
||||
+version = "0.4.8"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
|
||||
+dependencies = [
|
||||
+ "cfg-if",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "maplit"
|
||||
+version = "1.0.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "memchr"
|
||||
+version = "2.3.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "miniz_oxide"
|
||||
+version = "0.3.7"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435"
|
||||
+dependencies = [
|
||||
+ "adler32",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "object"
|
||||
+version = "0.20.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "1ab52be62400ca80aa00285d25253d7f7c437b7375c4de678f5405d3afe82ca5"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "opaque-debug"
|
||||
+version = "0.2.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "pest"
|
||||
+version = "2.1.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
|
||||
+dependencies = [
|
||||
+ "ucd-trie",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "pest_derive"
|
||||
+version = "2.1.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0"
|
||||
+dependencies = [
|
||||
+ "pest",
|
||||
+ "pest_generator",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "pest_generator"
|
||||
+version = "2.1.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55"
|
||||
+dependencies = [
|
||||
+ "pest",
|
||||
+ "pest_meta",
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "pest_meta"
|
||||
+version = "2.1.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d"
|
||||
+dependencies = [
|
||||
+ "maplit",
|
||||
+ "pest",
|
||||
+ "sha-1",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "proc-macro-error"
|
||||
+version = "1.0.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "98e9e4b82e0ef281812565ea4751049f1bdcdfccda7d3f459f2e138a40c08678"
|
||||
+dependencies = [
|
||||
+ "proc-macro-error-attr",
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+ "version_check",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "proc-macro-error-attr"
|
||||
+version = "1.0.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "4f5444ead4e9935abd7f27dc51f7e852a0569ac888096d5ec2499470794e2e53"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+ "syn-mid",
|
||||
+ "version_check",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "proc-macro2"
|
||||
+version = "1.0.18"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa"
|
||||
+dependencies = [
|
||||
+ "unicode-xid",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "quote"
|
||||
+version = "1.0.7"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "regex"
|
||||
+version = "1.3.9"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
|
||||
+dependencies = [
|
||||
+ "aho-corasick",
|
||||
+ "memchr",
|
||||
+ "regex-syntax",
|
||||
+ "thread_local",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "regex-syntax"
|
||||
+version = "0.6.18"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ron"
|
||||
+version = "0.5.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "2ece421e0c4129b90e4a35b6f625e472e96c552136f5093a2f4fa2bbb75a62d5"
|
||||
+dependencies = [
|
||||
+ "base64",
|
||||
+ "bitflags",
|
||||
+ "serde",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "rustc-demangle"
|
||||
+version = "0.1.16"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ryu"
|
||||
+version = "1.0.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "same-file"
|
||||
+version = "1.0.6"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
|
||||
+dependencies = [
|
||||
+ "winapi-util",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "serde"
|
||||
+version = "1.0.112"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "736aac72d1eafe8e5962d1d1c3d99b0df526015ba40915cb3c49d042e92ec243"
|
||||
+dependencies = [
|
||||
+ "serde_derive",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "serde_derive"
|
||||
+version = "1.0.112"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "bf0343ce212ac0d3d6afd9391ac8e9c9efe06b533c8d33f660f6390cc4093f57"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "serde_json"
|
||||
+version = "1.0.55"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "ec2c5d7e739bc07a3e73381a39d61fdb5f671c60c1df26a130690665803d8226"
|
||||
+dependencies = [
|
||||
+ "itoa",
|
||||
+ "ryu",
|
||||
+ "serde",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "serde_yaml"
|
||||
+version = "0.8.13"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "ae3e2dd40a7cdc18ca80db804b7f461a39bb721160a85c9a1fa30134bf3c02a5"
|
||||
+dependencies = [
|
||||
+ "dtoa",
|
||||
+ "linked-hash-map",
|
||||
+ "serde",
|
||||
+ "yaml-rust",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "sha-1"
|
||||
+version = "0.8.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
|
||||
+dependencies = [
|
||||
+ "block-buffer",
|
||||
+ "digest",
|
||||
+ "fake-simd",
|
||||
+ "opaque-debug",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "strsim"
|
||||
+version = "0.8.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "structopt"
|
||||
+version = "0.3.15"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "de2f5e239ee807089b62adce73e48c625e0ed80df02c7ab3f068f5db5281065c"
|
||||
+dependencies = [
|
||||
+ "clap",
|
||||
+ "lazy_static",
|
||||
+ "structopt-derive",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "structopt-derive"
|
||||
+version = "0.4.8"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "510413f9de616762a4fbeab62509bf15c729603b72d7cd71280fbca431b1c118"
|
||||
+dependencies = [
|
||||
+ "heck",
|
||||
+ "proc-macro-error",
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "syn"
|
||||
+version = "1.0.31"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "b5304cfdf27365b7585c25d4af91b35016ed21ef88f17ced89c7093b43dba8b6"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "unicode-xid",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "syn-mid"
|
||||
+version = "0.5.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "7be3539f6c128a931cf19dcee741c1af532c7fd387baa739c03dd2e96479338a"
|
||||
+dependencies = [
|
||||
+ "proc-macro2",
|
||||
+ "quote",
|
||||
+ "syn",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "terminal_size"
|
||||
+version = "0.1.12"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "8038f95fc7a6f351163f4b964af631bd26c9e828f7db085f2a84aca56f70d13b"
|
||||
+dependencies = [
|
||||
+ "libc",
|
||||
+ "winapi",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "termios"
|
||||
+version = "0.3.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "6f0fcee7b24a25675de40d5bb4de6e41b0df07bc9856295e7e2b3a3600c400c2"
|
||||
+dependencies = [
|
||||
+ "libc",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "textwrap"
|
||||
+version = "0.11.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
|
||||
+dependencies = [
|
||||
+ "unicode-width",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "thread_local"
|
||||
+version = "1.0.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
|
||||
+dependencies = [
|
||||
+ "lazy_static",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "typenum"
|
||||
+version = "1.12.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "ucd-trie"
|
||||
+version = "0.1.3"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "unicode-segmentation"
|
||||
+version = "1.6.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "unicode-width"
|
||||
+version = "0.1.7"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "unicode-xid"
|
||||
+version = "0.2.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "vec_map"
|
||||
+version = "0.8.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "version_check"
|
||||
+version = "0.9.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "walkdir"
|
||||
+version = "2.3.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "777182bc735b6424e1a57516d35ed72cb8019d85c8c9bf536dccb3445c1a2f7d"
|
||||
+dependencies = [
|
||||
+ "same-file",
|
||||
+ "winapi",
|
||||
+ "winapi-util",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi"
|
||||
+version = "0.3.8"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
|
||||
+dependencies = [
|
||||
+ "winapi-i686-pc-windows-gnu",
|
||||
+ "winapi-x86_64-pc-windows-gnu",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi-i686-pc-windows-gnu"
|
||||
+version = "0.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi-util"
|
||||
+version = "0.1.5"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
|
||||
+dependencies = [
|
||||
+ "winapi",
|
||||
+]
|
||||
+
|
||||
+[[package]]
|
||||
+name = "winapi-x86_64-pc-windows-gnu"
|
||||
+version = "0.4.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
+
|
||||
+[[package]]
|
||||
+name = "yaml-rust"
|
||||
+version = "0.4.4"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "39f0c922f1a334134dc2f7a8b67dc5d25f0735263feec974345ff706bcf20b0d"
|
||||
+dependencies = [
|
||||
+ "linked-hash-map",
|
||||
+]
|
27
pkgs/development/tools/rust/cargo-insta/default.nix
Normal file
27
pkgs/development/tools/rust/cargo-insta/default.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ lib, rustPlatform, fetchFromGitHub }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-insta";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mitsuhiko";
|
||||
repo = "insta";
|
||||
rev = version;
|
||||
sha256 = "1lcbdzh139lhmpz3pyik8nbgrbfc42z9ydz2hkg2lzjdpfdsz3ag";
|
||||
};
|
||||
|
||||
cargoPatches = [ ./cargo-lock.patch ];
|
||||
cargoSha256 = "0qjzbcaznnmb0p0r23s82jjbfs5mhhkacg26lf8fq4vvlkr1hsqf";
|
||||
|
||||
patches = [ ./ignore-rustfmt-test.patch ];
|
||||
|
||||
cargoBuildFlags = [ "-p cargo-insta" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Cargo subcommand for snapshot testing";
|
||||
homepage = "https://github.com/mitsuhiko/insta";
|
||||
license = licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ oxalica ];
|
||||
};
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
--- a/src/runtime.rs
|
||||
+++ b/src/runtime.rs
|
||||
@@ -85,6 +85,7 @@ fn format_rust_expression(value: &str) -> 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]");
|
|
@ -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 {} {
|
||||
|
|
|
@ -8,6 +8,6 @@ let
|
|||
in
|
||||
buildNodejs {
|
||||
inherit enableNpm;
|
||||
version = "12.18.0";
|
||||
sha256 = "0gxi0cxkiylxr4spm3vg6n9w3x82770xaazhax8pydkqlcv8cs6l";
|
||||
version = "12.18.1";
|
||||
sha256 = "0yjwd8yilm85wkginvhhchcikjsl8g3l3qagbg0l2y1hg8f0anfa";
|
||||
}
|
||||
|
|
|
@ -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"; };
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
|
@ -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}";
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {}))
|
||||
|
|
|
@ -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 {}))
|
||||
|
|
|
@ -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 {}))
|
||||
|
|
|
@ -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 \
|
||||
|
|
13
pkgs/servers/mail/mailman/log-stderr.patch
Normal file
13
pkgs/servers/mail/mailman/log-stderr.patch
Normal file
|
@ -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))
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
390
pkgs/servers/monitoring/prometheus/redis-exporter-deps.nix
Normal file
390
pkgs/servers/monitoring/prometheus/redis-exporter-deps.nix
Normal file
|
@ -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";
|
||||
};
|
||||
}
|
||||
]
|
32
pkgs/servers/monitoring/prometheus/redis-exporter.nix
Normal file
32
pkgs/servers/monitoring/prometheus/redis-exporter.nix
Normal file
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -33,7 +33,7 @@ in {
|
|||
};
|
||||
|
||||
nextcloud18 = generic {
|
||||
version = "18.0.4";
|
||||
sha256 = "0aa3f4xbkzacfw0h9aic0ywk5mqlwka83qaszizj8lmk68kf3n7s";
|
||||
version = "18.0.6";
|
||||
sha256 = "1chmkg31jc1nr53y8r886mmd2jzb78094mrx7ggcfpjfkkv8b89s";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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" ];
|
||||
|
|
27
pkgs/tools/X11/xwallpaper/default.nix
Normal file
27
pkgs/tools/X11/xwallpaper/default.nix
Normal file
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 { };
|
||||
|
|
Loading…
Reference in a new issue