diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 76c6873f77a1..0259d9ede1e5 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -10178,6 +10178,16 @@
fingerprint = "5D69 CF04 B7BC 2BC1 A567 9267 00BC F29B 3208 0700";
}];
};
+ phfroidmont = {
+ name = "Paul-Henri Froidmont";
+ email = "nix.contact-j9dw4d@froidmont.org";
+
+ github = "phfroidmont";
+ githubId = 8150907;
+ keys = [{
+ fingerprint = "3AC6 F170 F011 33CE 393B CD94 BE94 8AFD 7E78 73BE";
+ }];
+ };
philandstuff = {
email = "philip.g.potter@gmail.com";
github = "philandstuff";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 0d0e2647a070..47f8fbb3abc5 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -191,6 +191,14 @@
services.tempo.
+
+
+ Patroni,
+ a template for PostgreSQL HA with ZooKeeper, etcd or Consul.
+ Available as
+ services.patroni.
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index c560da8df27a..2fd8b1bbe753 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -75,6 +75,9 @@ In addition to numerous new and upgraded packages, this release has the followin
- [Grafana Tempo](https://www.grafana.com/oss/tempo/), a distributed tracing store. Available as [services.tempo](#opt-services.tempo.enable).
+- [Patroni](https://github.com/zalando/patroni), a template for PostgreSQL HA with ZooKeeper, etcd or Consul.
+Available as [services.patroni](options.html#opt-services.patroni.enable).
+
## Backward Incompatibilities {#sec-release-22.11-incompatibilities}
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 837bc7635a06..c1f435ec569c 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -329,6 +329,7 @@
./services/cluster/kubernetes/proxy.nix
./services/cluster/kubernetes/scheduler.nix
./services/cluster/pacemaker/default.nix
+ ./services/cluster/patroni/default.nix
./services/cluster/spark/default.nix
./services/computing/boinc/client.nix
./services/computing/foldingathome/client.nix
diff --git a/nixos/modules/services/cluster/patroni/default.nix b/nixos/modules/services/cluster/patroni/default.nix
new file mode 100644
index 000000000000..1685351e48d3
--- /dev/null
+++ b/nixos/modules/services/cluster/patroni/default.nix
@@ -0,0 +1,268 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+ cfg = config.services.patroni;
+ defaultUser = "patroni";
+ defaultGroup = "patroni";
+ format = pkgs.formats.yaml { };
+
+ #boto doesn't support python 3.10 yet
+ patroni = pkgs.patroni.override { pythonPackages = pkgs.python39Packages; };
+
+ configFileName = "patroni-${cfg.scope}-${cfg.name}.yaml";
+ configFile = format.generate configFileName cfg.settings;
+in
+{
+ options.services.patroni = {
+
+ enable = mkEnableOption "Patroni";
+
+ postgresqlPackage = mkOption {
+ type = types.package;
+ example = literalExpression "pkgs.postgresql_14";
+ description = mdDoc ''
+ PostgreSQL package to use.
+ Plugins can be enabled like this `pkgs.postgresql_14.withPackages (p: [ p.pg_safeupdate p.postgis ])`.
+ '';
+ };
+
+ postgresqlDataDir = mkOption {
+ type = types.path;
+ defaultText = literalExpression ''"/var/lib/postgresql/''${config.services.patroni.postgresqlPackage.psqlSchema}"'';
+ example = "/var/lib/postgresql/14";
+ default = "/var/lib/postgresql/${cfg.postgresqlPackage.psqlSchema}";
+ description = mdDoc ''
+ The data directory for PostgreSQL. If left as the default value
+ this directory will automatically be created before the PostgreSQL server starts, otherwise
+ the sysadmin is responsible for ensuring the directory exists with appropriate ownership
+ and permissions.
+ '';
+ };
+
+ postgresqlPort = mkOption {
+ type = types.port;
+ default = 5432;
+ description = mdDoc ''
+ The port on which PostgreSQL listens.
+ '';
+ };
+
+ user = mkOption {
+ type = types.str;
+ default = defaultUser;
+ example = "postgres";
+ description = mdDoc ''
+ The user for the service. If left as the default value this user will automatically be created,
+ otherwise the sysadmin is responsible for ensuring the user exists.
+ '';
+ };
+
+ group = mkOption {
+ type = types.str;
+ default = defaultGroup;
+ example = "postgres";
+ description = mdDoc ''
+ The group for the service. If left as the default value this group will automatically be created,
+ otherwise the sysadmin is responsible for ensuring the group exists.
+ '';
+ };
+
+ dataDir = mkOption {
+ type = types.path;
+ default = "/var/lib/patroni";
+ description = mdDoc ''
+ Folder where Patroni data will be written, used by Raft as well if enabled.
+ '';
+ };
+
+ scope = mkOption {
+ type = types.str;
+ example = "cluster1";
+ description = mdDoc ''
+ Cluster name.
+ '';
+ };
+
+ name = mkOption {
+ type = types.str;
+ example = "node1";
+ description = mdDoc ''
+ The name of the host. Must be unique for the cluster.
+ '';
+ };
+
+ namespace = mkOption {
+ type = types.str;
+ default = "/service";
+ description = mdDoc ''
+ Path within the configuration store where Patroni will keep information about the cluster.
+ '';
+ };
+
+ nodeIp = mkOption {
+ type = types.str;
+ example = "192.168.1.1";
+ description = mdDoc ''
+ IP address of this node.
+ '';
+ };
+
+ otherNodesIps = mkOption {
+ type = types.listOf types.string;
+ example = [ "192.168.1.2" "192.168.1.3" ];
+ description = mdDoc ''
+ IP addresses of the other nodes.
+ '';
+ };
+
+ restApiPort = mkOption {
+ type = types.port;
+ default = 8008;
+ description = mdDoc ''
+ The port on Patroni's REST api listens.
+ '';
+ };
+
+ raft = mkOption {
+ type = types.bool;
+ default = false;
+ description = mdDoc ''
+ This will configure Patroni to use its own RAFT implementation instead of using a dedicated DCS.
+ '';
+ };
+
+ raftPort = mkOption {
+ type = types.port;
+ default = 5010;
+ description = mdDoc ''
+ The port on which RAFT listens.
+ '';
+ };
+
+ softwareWatchdog = mkOption {
+ type = types.bool;
+ default = false;
+ description = mdDoc ''
+ This will configure Patroni to use the software watchdog built into the Linux kernel
+ as described in the [documentation](https://patroni.readthedocs.io/en/latest/watchdog.html#setting-up-software-watchdog-on-linux).
+ '';
+ };
+
+ settings = mkOption {
+ type = format.type;
+ default = { };
+ description = mdDoc ''
+ The primary patroni configuration. See the [documentation](https://patroni.readthedocs.io/en/latest/SETTINGS.html)
+ for possible values.
+ Secrets should be passed in by using the `environmentFiles` option.
+ '';
+ };
+
+ environmentFiles = mkOption {
+ type = with types; attrsOf (nullOr (oneOf [ str path package ]));
+ default = { };
+ example = {
+ PATRONI_REPLICATION_PASSWORD = "/secret/file";
+ PATRONI_SUPERUSER_PASSWORD = "/secret/file";
+ };
+ description = mdDoc "Environment variables made available to Patroni as files content, useful for providing secrets from files.";
+ };
+ };
+
+ config = mkIf cfg.enable {
+
+ services.patroni.settings = {
+ scope = cfg.scope;
+ name = cfg.name;
+ namespace = cfg.namespace;
+
+ restapi = {
+ listen = "${cfg.nodeIp}:${toString cfg.restApiPort}";
+ connect_address = "${cfg.nodeIp}:${toString cfg.restApiPort}";
+ };
+
+ raft = mkIf cfg.raft {
+ data_dir = "${cfg.dataDir}/raft";
+ self_addr = "${cfg.nodeIp}:5010";
+ partner_addrs = map (ip: ip + ":5010") cfg.otherNodesIps;
+ };
+
+ postgresql = {
+ listen = "${cfg.nodeIp}:${toString cfg.postgresqlPort}";
+ connect_address = "${cfg.nodeIp}:${toString cfg.postgresqlPort}";
+ data_dir = cfg.postgresqlDataDir;
+ bin_dir = "${cfg.postgresqlPackage}/bin";
+ pgpass = "${cfg.dataDir}/pgpass";
+ };
+
+ watchdog = mkIf cfg.softwareWatchdog {
+ mode = "required";
+ device = "/dev/watchdog";
+ safety_margin = 5;
+ };
+ };
+
+
+ users = {
+ users = mkIf (cfg.user == defaultUser) {
+ patroni = {
+ group = cfg.group;
+ isSystemUser = true;
+ };
+ };
+ groups = mkIf (cfg.group == defaultGroup) {
+ patroni = { };
+ };
+ };
+
+ systemd.services = {
+ patroni = {
+ description = "Runners to orchestrate a high-availability PostgreSQL";
+
+ wantedBy = [ "multi-user.target" ];
+ after = [ "network.target" ];
+
+ script = ''
+ ${concatStringsSep "\n" (attrValues (mapAttrs (name: path: ''export ${name}="$(< ${escapeShellArg path})"'') cfg.environmentFiles))}
+ exec ${patroni}/bin/patroni ${configFile}
+ '';
+
+ serviceConfig = mkMerge [
+ {
+ User = cfg.user;
+ Group = cfg.group;
+ Type = "simple";
+ Restart = "on-failure";
+ TimeoutSec = 30;
+ ExecReload = "${pkgs.coreutils}/bin/kill -s HUP $MAINPID";
+ KillMode = "process";
+ }
+ (mkIf (cfg.postgresqlDataDir == "/var/lib/postgresql/${cfg.postgresqlPackage.psqlSchema}" && cfg.dataDir == "/var/lib/patroni") {
+ StateDirectory = "patroni patroni/raft postgresql postgresql/${cfg.postgresqlPackage.psqlSchema}";
+ StateDirectoryMode = "0750";
+ })
+ ];
+ };
+ };
+
+ boot.kernelModules = mkIf cfg.softwareWatchdog [ "softdog" ];
+
+ services.udev.extraRules = mkIf cfg.softwareWatchdog ''
+ KERNEL=="watchdog", OWNER="${cfg.user}", GROUP="${cfg.group}", MODE="0600"
+ '';
+
+ environment.systemPackages = [
+ patroni
+ cfg.postgresqlPackage
+ (mkIf cfg.raft pkgs.python310Packages.pysyncobj)
+ ];
+
+ environment.etc."${configFileName}".source = configFile;
+
+ environment.sessionVariables = {
+ PATRONICTL_CONFIG_FILE = "/etc/${configFileName}";
+ };
+ };
+
+ meta.maintainers = [ maintainers.phfroidmont ];
+}
diff --git a/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
index 7c79f0168c02..bf3b2d660827 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
@@ -10,6 +10,7 @@
},
"context.spa-libs": {
"audio.convert.*": "audioconvert/libspa-audioconvert",
+ "avb.*": "avb/libspa-avb",
"api.alsa.*": "alsa/libspa-alsa",
"api.v4l2.*": "v4l2/libspa-v4l2",
"api.libcamera.*": "libcamera/libspa-libcamera",
diff --git a/nixos/modules/services/monitoring/tuptime.nix b/nixos/modules/services/monitoring/tuptime.nix
index ffe24c0ef0be..770fbee2a844 100644
--- a/nixos/modules/services/monitoring/tuptime.nix
+++ b/nixos/modules/services/monitoring/tuptime.nix
@@ -45,7 +45,7 @@ in {
services = {
tuptime = {
- description = "the total uptime service";
+ description = "The total uptime service";
documentation = [ "man:tuptime(1)" ];
after = [ "time-sync.target" ];
wantedBy = [ "multi-user.target" ];
@@ -59,10 +59,9 @@ in {
};
};
- tuptime-oneshot = mkIf cfg.timer.enable {
- description = "the tuptime scheduled execution unit";
+ tuptime-sync = mkIf cfg.timer.enable {
+ description = "Tuptime scheduled sync service";
serviceConfig = {
- StateDirectory = "tuptime";
Type = "oneshot";
User = "_tuptime";
ExecStart = "${pkgs.tuptime}/bin/tuptime -x";
@@ -70,8 +69,8 @@ in {
};
};
- timers.tuptime = mkIf cfg.timer.enable {
- description = "the tuptime scheduled execution timer";
+ timers.tuptime-sync = mkIf cfg.timer.enable {
+ description = "Tuptime scheduled sync timer";
# this timer should be started if the service is started
# even if the timer was previously stopped
wantedBy = [ "tuptime.service" "timers.target" ];
@@ -80,7 +79,7 @@ in {
timerConfig = {
OnBootSec = "1min";
OnCalendar = cfg.timer.period;
- Unit = "tuptime-oneshot.service";
+ Unit = "tuptime-sync.service";
};
};
};
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index affb179a92d3..a0af42b0056a 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -417,6 +417,7 @@ in {
pam-u2f = handleTest ./pam/pam-u2f.nix {};
pam-ussh = handleTest ./pam/pam-ussh.nix {};
pass-secret-service = handleTest ./pass-secret-service.nix {};
+ patroni = handleTest ./patroni.nix {};
pantalaimon = handleTest ./matrix/pantalaimon.nix {};
pantheon = handleTest ./pantheon.nix {};
paperless = handleTest ./paperless.nix {};
diff --git a/nixos/tests/patroni.nix b/nixos/tests/patroni.nix
new file mode 100644
index 000000000000..f512fddcdbdd
--- /dev/null
+++ b/nixos/tests/patroni.nix
@@ -0,0 +1,204 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+
+ let
+ nodesIps = [
+ "192.168.1.1"
+ "192.168.1.2"
+ "192.168.1.3"
+ ];
+
+ createNode = index: { pkgs, ... }:
+ let
+ ip = builtins.elemAt nodesIps index; # since we already use IPs to identify servers
+ in
+ {
+ networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+ { address = ip; prefixLength = 16; }
+ ];
+
+ networking.firewall.allowedTCPPorts = [ 5432 8008 5010 ];
+
+ environment.systemPackages = [ pkgs.jq ];
+
+ services.patroni = {
+
+ enable = true;
+
+ postgresqlPackage = pkgs.postgresql_14.withPackages (p: [ p.pg_safeupdate ]);
+
+ scope = "cluster1";
+ name = "node${toString(index + 1)}";
+ nodeIp = ip;
+ otherNodesIps = builtins.filter (h: h != ip) nodesIps;
+ softwareWatchdog = true;
+
+ settings = {
+ bootstrap = {
+ dcs = {
+ ttl = 30;
+ loop_wait = 10;
+ retry_timeout = 10;
+ maximum_lag_on_failover = 1048576;
+ };
+ initdb = [
+ { encoding = "UTF8"; }
+ "data-checksums"
+ ];
+ };
+
+ postgresql = {
+ use_pg_rewind = true;
+ use_slots = true;
+ authentication = {
+ replication = {
+ username = "replicator";
+ };
+ superuser = {
+ username = "postgres";
+ };
+ rewind = {
+ username = "rewind";
+ };
+ };
+ parameters = {
+ listen_addresses = "${ip}";
+ wal_level = "replica";
+ hot_standby_feedback = "on";
+ unix_socket_directories = "/tmp";
+ };
+ pg_hba = [
+ "host replication replicator 192.168.1.0/24 md5"
+ # Unsafe, do not use for anything other than tests
+ "host all all 0.0.0.0/0 trust"
+ ];
+ };
+
+ etcd3 = {
+ host = "192.168.1.4:2379";
+ };
+ };
+
+ environmentFiles = {
+ PATRONI_REPLICATION_PASSWORD = pkgs.writeText "replication-password" "postgres";
+ PATRONI_SUPERUSER_PASSWORD = pkgs.writeText "superuser-password" "postgres";
+ PATRONI_REWIND_PASSWORD = pkgs.writeText "rewind-password" "postgres";
+ };
+ };
+
+ # We always want to restart so the tests never hang
+ systemd.services.patroni.serviceConfig.StartLimitIntervalSec = 0;
+ };
+ in
+ {
+ name = "patroni";
+
+ nodes = {
+ node1 = createNode 0;
+ node2 = createNode 1;
+ node3 = createNode 2;
+
+ etcd = { pkgs, ... }: {
+
+ networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+ { address = "192.168.1.4"; prefixLength = 16; }
+ ];
+
+ services.etcd = {
+ enable = true;
+ listenClientUrls = [ "http://192.168.1.4:2379" ];
+ };
+
+ networking.firewall.allowedTCPPorts = [ 2379 ];
+ };
+
+ client = { pkgs, ... }: {
+ environment.systemPackages = [ pkgs.postgresql_14 ];
+
+ networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+ { address = "192.168.2.1"; prefixLength = 16; }
+ ];
+
+ services.haproxy = {
+ enable = true;
+ config = ''
+ global
+ maxconn 100
+
+ defaults
+ log global
+ mode tcp
+ retries 2
+ timeout client 30m
+ timeout connect 4s
+ timeout server 30m
+ timeout check 5s
+
+ listen cluster1
+ bind 127.0.0.1:5432
+ option httpchk
+ http-check expect status 200
+ default-server inter 3s fall 3 rise 2 on-marked-down shutdown-sessions
+ ${builtins.concatStringsSep "\n" (map (ip: "server postgresql_${ip}_5432 ${ip}:5432 maxconn 100 check port 8008") nodesIps)}
+ '';
+ };
+ };
+ };
+
+
+
+ testScript = ''
+ nodes = [node1, node2, node3]
+
+ def wait_for_all_nodes_ready(expected_replicas=2):
+ booted_nodes = filter(lambda node: node.booted, nodes)
+ for node in booted_nodes:
+ print(node.succeed("patronictl list cluster1"))
+ node.wait_until_succeeds(f"[ $(patronictl list -f json cluster1 | jq 'length') == {expected_replicas + 1} ]")
+ node.wait_until_succeeds("[ $(patronictl list -f json cluster1 | jq 'map(select(.Role | test(\"^Leader$\"))) | map(select(.State | test(\"^running$\"))) | length') == 1 ]")
+ node.wait_until_succeeds(f"[ $(patronictl list -f json cluster1 | jq 'map(select(.Role | test(\"^Replica$\"))) | map(select(.State | test(\"^running$\"))) | length') == {expected_replicas} ]")
+ print(node.succeed("patronictl list cluster1"))
+ client.wait_until_succeeds("psql -h 127.0.0.1 -U postgres --command='select 1;'")
+
+ def run_dummy_queries():
+ client.succeed("psql -h 127.0.0.1 -U postgres --pset='pager=off' --tuples-only --command='insert into dummy(val) values (101);'")
+ client.succeed("test $(psql -h 127.0.0.1 -U postgres --pset='pager=off' --tuples-only --command='select val from dummy where val = 101;') -eq 101")
+ client.succeed("psql -h 127.0.0.1 -U postgres --pset='pager=off' --tuples-only --command='delete from dummy where val = 101;'")
+
+ start_all()
+
+ with subtest("should bootstrap a new patroni cluster"):
+ wait_for_all_nodes_ready()
+
+ with subtest("should be able to insert and select"):
+ client.succeed("psql -h 127.0.0.1 -U postgres --command='create table dummy as select * from generate_series(1, 100) as val;'")
+ client.succeed("test $(psql -h 127.0.0.1 -U postgres --pset='pager=off' --tuples-only --command='select count(distinct val) from dummy;') -eq 100")
+
+ with subtest("should restart after all nodes are crashed"):
+ for node in nodes:
+ node.crash()
+ for node in nodes:
+ node.start()
+ wait_for_all_nodes_ready()
+
+ with subtest("should be able to run queries while any one node is crashed"):
+ masterNodeName = node1.succeed("patronictl list -f json cluster1 | jq '.[] | select(.Role | test(\"^Leader$\")) | .Member' -r").strip()
+ masterNodeIndex = int(masterNodeName[len(masterNodeName)-1]) - 1
+
+ # Move master node at the end of the list to avoid multiple failovers (makes the test faster and more consistent)
+ nodes.append(nodes.pop(masterNodeIndex))
+
+ for node in nodes:
+ node.crash()
+ wait_for_all_nodes_ready(1)
+
+ # Execute some queries while a node is down.
+ run_dummy_queries()
+
+ # Restart crashed node.
+ node.start()
+ wait_for_all_nodes_ready()
+
+ # Execute some queries with the node back up.
+ run_dummy_queries()
+ '';
+ })
diff --git a/nixos/tests/powerdns.nix b/nixos/tests/powerdns.nix
index 70060bad87b6..d3708d25f0fb 100644
--- a/nixos/tests/powerdns.nix
+++ b/nixos/tests/powerdns.nix
@@ -47,7 +47,9 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
with subtest("Adding an example zone works"):
# Extract configuration file needed by pdnsutil
unit = server.succeed("systemctl cat pdns")
- conf = re.search("(--config-dir=[^ ]+)", unit).group(1)
+ match = re.search("(--config-dir=[^ ]+)", unit)
+ assert(match is not None)
+ conf = match.group(1)
pdnsutil = "sudo -u pdns pdnsutil " + conf
server.succeed(f"{pdnsutil} create-zone example.com ns1.example.com")
server.succeed(f"{pdnsutil} add-record example.com ns1 A 192.168.1.2")
diff --git a/pkgs/applications/gis/gmt/dcw.nix b/pkgs/applications/gis/gmt/dcw.nix
index a31932dd2760..1bf08aedd267 100644
--- a/pkgs/applications/gis/gmt/dcw.nix
+++ b/pkgs/applications/gis/gmt/dcw.nix
@@ -2,10 +2,10 @@
stdenv.mkDerivation rec {
pname = "dcw-gmt";
- version = "2.1.0";
+ version = "2.1.1";
src = fetchurl {
url = "ftp://ftp.soest.hawaii.edu/gmt/dcw-gmt-${version}.tar.gz";
- sha256 = "sha256-6BBWfNR01a+dhHUZOKy0R6hhI5HtZhkNYNeJl0ofnik=";
+ sha256 = "sha256-q3LIJTB2OAyEd6EiU3C8QfSv+BHCjS9k11BS/z2QA68=";
};
installPhase = ''
diff --git a/pkgs/applications/graphics/image-roll/default.nix b/pkgs/applications/graphics/image-roll/default.nix
index 20444f5807a4..49cf0ff1b605 100644
--- a/pkgs/applications/graphics/image-roll/default.nix
+++ b/pkgs/applications/graphics/image-roll/default.nix
@@ -27,6 +27,9 @@ rustPlatform.buildRustPackage rec {
checkFlags = [
# fails in the sandbox
"--skip=file_list::tests"
+
+ # sometimes fails on darwin
+ "image_list::tests::save_current_image_overwrites_image_at_current_image_path_when_filename_is_set_to_none"
];
postInstall = ''
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index 521da8e2f8e9..31202a4be6e3 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -3,20 +3,20 @@
mkDerivation rec {
pname = "cura";
- version = "4.12.1";
+ version = "4.13.1";
src = fetchFromGitHub {
owner = "Ultimaker";
repo = "Cura";
rev = version;
- sha256 = "sha256-QvX9o1nrYmY6zzPcxl+xD6JTMdphzT/is1SMYrISu4o=";
+ sha256 = "sha256-R88SdAxx3tkQCDInrFTKad1tPSDTSYaVAPUVmdk94Xk=";
};
materials = fetchFromGitHub {
owner = "Ultimaker";
repo = "fdm_materials";
- rev = version;
- sha256 = "0ykf14j4yx4cf12qw0d4bff9ixrx96m6wxqvi83sn721y7dsd2rs";
+ rev = "4.13.2";
+ sha256 = "sha256-7y4OcbeQHv+loJ4cMgPU0e818Zsv90EwARdztNWS8zM=";
};
buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects ];
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 259a704f6c79..4756ab5b0af8 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -54,14 +54,14 @@ let
self: super: {
octoprint-pisupport = self.buildPythonPackage rec {
pname = "OctoPrint-PiSupport";
- version = "2022.3.28";
+ version = "2022.6.13";
format = "setuptools";
src = fetchFromGitHub {
owner = "OctoPrint";
repo = "OctoPrint-PiSupport";
rev = version;
- sha256 = "yzE/jz604nX/CHcW3aa7goH1ey8qZ7rLw31SMfNKJZM=";
+ sha256 = "sha256-3z5Btl287W3j+L+MQG8FOWt21smML0vpmu9BP48B9A0=";
};
# requires octoprint itself during tests
@@ -74,13 +74,13 @@ let
self: super: {
octoprint = self.buildPythonPackage rec {
pname = "OctoPrint";
- version = "1.8.1";
+ version = "1.8.2";
src = fetchFromGitHub {
owner = "OctoPrint";
repo = "OctoPrint";
rev = version;
- sha256 = "sha256-9phB9B8y3ay1Bsvf/m/E9xdl7vmQur4qbWOw9v6KFak=";
+ sha256 = "sha256-uJuGeDS4TnGH1r+6oHtcJDZVGM7hDmkJpB35B1JtqQ0=";
};
propagatedBuildInputs = with super; [
diff --git a/pkgs/applications/misc/p2pool/default.nix b/pkgs/applications/misc/p2pool/default.nix
index b5de0b059a8e..32a3b2c7a00a 100644
--- a/pkgs/applications/misc/p2pool/default.nix
+++ b/pkgs/applications/misc/p2pool/default.nix
@@ -1,5 +1,6 @@
{ stdenv
, cmake
+, curl
, fetchFromGitHub
, gss
, hwloc
@@ -14,18 +15,18 @@
stdenv.mkDerivation rec {
pname = "p2pool";
- version = "2.1";
+ version = "2.2.1";
src = fetchFromGitHub {
owner = "SChernykh";
repo = "p2pool";
rev = "v${version}";
- sha256 = "sha256-cpBMzYLcU93GXYkBhUdoRovjQ2hd1+pAt6d9aAOaZT8=";
+ sha256 = "sha256-iDswjKDGii1OnMmdhiisbwuWjs7omNOF+tubJLs69qY=";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake pkg-config ];
- buildInputs = [ libuv zeromq libsodium gss hwloc openssl ];
+ buildInputs = [ libuv zeromq libsodium gss hwloc openssl curl ];
installPhase = ''
runHook preInstall
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 4e3caaf5a42d..cda4a3738812 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -19,9 +19,9 @@
}
},
"beta": {
- "version": "105.0.5195.19",
- "sha256": "08wap1v2qjx8nzd8sbiv24vx0vdc2dhlzrlv3g4zpm2qj7l4mki7",
- "sha256bin64": "15rhslgq77wiwiycf6m89vi3f5vry286b7kqfk0v5ibmcsf6clgf",
+ "version": "105.0.5195.28",
+ "sha256": "14hy1f59ypsvqmrp0k4kv5cfcw48dizw4nkmigaxxv4bnmpwlcy1",
+ "sha256bin64": "0rgv1r94z91khzwmf1scnnsz9yqks6ygicl7bdsdbckw69njq91z",
"deps": {
"gn": {
"version": "2022-07-11",
@@ -32,15 +32,15 @@
}
},
"dev": {
- "version": "106.0.5216.6",
- "sha256": "1mgdzm5iw0ml9w68wszcscw0d3l2rlsanhznyz2ll2qv412wxgci",
- "sha256bin64": "02kj2swqfvcvn27x22i98g7r0fj4p20bqcabagigxs1bhxw56akc",
+ "version": "106.0.5231.2",
+ "sha256": "0cygann80jmc2vk83kpc7kprhw75yf7qqfi1208ksyp6m94cxnp6",
+ "sha256bin64": "1p7hq5vsmwgkyjam7blm1gxa246dg5plhk2f0vbvlnycwj54cvjm",
"deps": {
"gn": {
- "version": "2022-07-11",
+ "version": "2022-08-08",
"url": "https://gn.googlesource.com/gn",
- "rev": "9ef321772ecc161937db69acb346397e0ccc484d",
- "sha256": "0j85kgf8c1psys6kfsq5mph8n80hcbzhr7d2blqiiysmjj0wc6ng"
+ "rev": "3d773bba0927e67eae8fdaee5e28b0f6203d3bee",
+ "sha256": "1pfv6iq04r5lbg5b6xa6d5vn6mzyqksmspris7cgq5lihwq825ld"
}
}
},
diff --git a/pkgs/applications/networking/browsers/ladybird/default.nix b/pkgs/applications/networking/browsers/ladybird/default.nix
new file mode 100644
index 000000000000..747c3ea272c0
--- /dev/null
+++ b/pkgs/applications/networking/browsers/ladybird/default.nix
@@ -0,0 +1,94 @@
+{ lib
+, gcc11Stdenv
+, fetchFromGitHub
+, cmake
+, ninja
+, unzip
+, wrapQtAppsHook
+, makeWrapper
+, qtbase
+, qttools
+}:
+
+let serenity = fetchFromGitHub {
+ owner = "SerenityOS";
+ repo = "serenity";
+ rev = "094ba6525f0217f3b8d5e467cef326caeb659e8a";
+ hash = "sha256-IHXe2Td9iRSL1oQVwL2gZHxEM2ID4SghZwK6ewjFV1Y=";
+};
+
+in gcc11Stdenv.mkDerivation {
+ pname = "ladybird";
+ version = "unstable-2022-07-20";
+
+ # Remember to update `serenity` too!
+ src = fetchFromGitHub {
+ owner = "awesomekling";
+ repo = "ladybird";
+ rev = "9e3a1f47d484cee6f23c4dae6c51750af155a8fc";
+ hash = "sha256-1cPWpPvjM/VcVUEf2k+MvGvTgZ3Fc4LFHZCLh1wU78Y=";
+ };
+
+ nativeBuildInputs = [
+ cmake
+ ninja
+ unzip
+ wrapQtAppsHook
+ makeWrapper
+ ];
+
+ buildInputs = [
+ qtbase
+ ];
+
+ cmakeFlags = [
+ "-DSERENITY_SOURCE_DIR=${serenity}"
+ # Disable network operations
+ "-DENABLE_TIME_ZONE_DATABASE_DOWNLOAD=false"
+ "-DENABLE_UNICODE_DATABASE_DOWNLOAD=false"
+ ];
+
+ NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
+
+ # Upstream install rules are missing
+ # https://github.com/awesomekling/ladybird/issues/36
+ installPhase = ''
+ runHook preInstall
+ install -Dm755 ladybird $out/bin/ladybird
+ mkdir -p $out/lib/ladybird
+ cp -d _deps/lagom-build/*.so* $out/lib/ladybird/
+ runHook postInstall
+ '';
+
+ # Patch rpaths
+ # https://github.com/awesomekling/ladybird/issues/36
+ preFixup = ''
+ for f in $out/bin/ladybird $out/lib/ladybird/*.so; do
+ old_rpath=$(patchelf --print-rpath "$f")
+ # Remove reference to libraries from build directory
+ rpath_without_build=$(sed -e 's@[^:]*/_deps/lagom-build:@@g' <<< $old_rpath)
+ # Add directory where we install those libraries
+ new_rpath=$out/lib/ladybird:$rpath_without_build
+ patchelf --set-rpath "$new_rpath" "$f"
+ done
+ '';
+
+ # According to the readme, the program needs access to the serenity sources
+ # at runtime
+ postFixup = ''
+ wrapProgram $out/bin/ladybird --set SERENITY_SOURCE_DIR "${serenity}"
+ '';
+
+ # Stripping results in a symbol lookup error
+ dontStrip = true;
+
+ meta = with lib; {
+ description = "A browser using the SerenityOS LibWeb engine with a Qt GUI";
+ homepage = "https://github.com/awesomekling/ladybird";
+ license = licenses.bsd2;
+ maintainers = with maintainers; [ fgaz ];
+ # SerenityOS only works on x86, and can only be built on unix systems.
+ # We also use patchelf in preFixup, so we restrict that to linux only.
+ platforms = [ "x86_64-linux" "i686-linux" ];
+ };
+}
diff --git a/pkgs/applications/networking/cluster/docker-machine/default.nix b/pkgs/applications/networking/cluster/docker-machine/default.nix
index c483125d851c..e6a907347ce4 100644
--- a/pkgs/applications/networking/cluster/docker-machine/default.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/default.nix
@@ -3,7 +3,7 @@
buildGoPackage rec {
pname = "machine";
- version = "0.16.1";
+ version = "0.16.2";
goPackagePath = "github.com/docker/machine";
@@ -11,7 +11,7 @@ buildGoPackage rec {
rev = "v${version}";
owner = "docker";
repo = "machine";
- sha256 = "0xxzxi5v7ji9j2k7kxhi0ah91lfa7b9rg3nywgx0lkv8dlgp8kmy";
+ sha256 = "sha256-Mo2OGpem3p6hCNJ46+RH3BfC7kmKB4yk4Vzo38K88UM=";
};
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/glooctl/default.nix b/pkgs/applications/networking/cluster/glooctl/default.nix
index efae706c4063..c8ce60c55deb 100644
--- a/pkgs/applications/networking/cluster/glooctl/default.nix
+++ b/pkgs/applications/networking/cluster/glooctl/default.nix
@@ -2,17 +2,17 @@
buildGoModule rec {
pname = "glooctl";
- version = "1.12.3";
+ version = "1.12.6";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
- hash = "sha256-0neq2EjlHddjLHyNlnqFjXCZpv8r7DGMeYNCzJUEFFg=";
+ hash = "sha256-g2cKT3ZTLYFBCw3xlcuB2qZ6MTV7qBfN7sieenFUeMM=";
};
subPackages = [ "projects/gloo/cli/cmd" ];
- vendorSha256 = "sha256-1FbcNgTD5+YI29LOmkJMjhE+MnxrKmomTKK4DgyXCws=";
+ vendorSha256 = "sha256-wY0f9RUe9Z1FpjqWDpDG6QXQlFDChfAkjJzlvBMaaFE=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 57cd5e11df8c..ef43c5986503 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "terragrunt";
- version = "0.37.0";
+ version = "0.38.7";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-7nil/T6q1crZh9ARTP615UzfjKcgsclpIt2N1ifABBk=";
+ sha256 = "sha256-MPetGR/VAVSLuDHyYeP1s9+4RRZzKanf9xyxas3heYY=";
};
- vendorSha256 = "sha256-7SUf4r+6r6dkBoBZFg2AUK114QEl0+1lwRA4ymYArFs=";
+ vendorSha256 = "sha256-CqImT90jFFLi6XR7jfzFKwhnCHK6B+aM+Ba/L+G3bEg=";
doCheck = false;
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index d102a79ea3a4..611078ff14cb 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -5,13 +5,13 @@
mkDerivation rec {
pname = "qownnotes";
- version = "22.8.0";
+ version = "22.8.1";
src = fetchurl {
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
# Fetch the checksum of current version with curl:
# curl https://download.tuxfamily.org/qownnotes/src/qownnotes-.tar.xz.sha256
- sha256 = "37ae0952119341b7a07a80bb79e732d91edab3a684b6b9a626e5a9d13a97fad1";
+ sha256 = "82b231c53c485671568571e97f34b98887b0cee6e8a336a61e7d490edc605061";
};
nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/radio/freedv/default.nix b/pkgs/applications/radio/freedv/default.nix
index bbf40a44c2a7..48bd29ed7f9c 100644
--- a/pkgs/applications/radio/freedv/default.nix
+++ b/pkgs/applications/radio/freedv/default.nix
@@ -17,13 +17,13 @@
stdenv.mkDerivation rec {
pname = "freedv";
- version = "1.7.0";
+ version = "1.8.3";
src = fetchFromGitHub {
owner = "drowe67";
repo = "freedv-gui";
rev = "v${version}";
- hash = "sha256-0E7r/7+AQRPIFAcE6O1WE0NYiKzAlBR0jKbssqWvRMU=";
+ hash = "sha256-hZcaA8ZAkNigWwcaU8K6R6atNi8pqIUUEwkje+3sW8A=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/version-management/git-and-tools/glitter/default.nix b/pkgs/applications/version-management/git-and-tools/glitter/default.nix
index f8034ce42d7f..ab40c77d44f5 100644
--- a/pkgs/applications/version-management/git-and-tools/glitter/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/glitter/default.nix
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "glitter";
- version = "1.5.15";
+ version = "1.6.1";
src = fetchFromGitHub {
owner = "milo123459";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-4oI0opwbmEyHc3zx06l8bDPnOi7rGrMqUJPBDAfmPY0=";
+ sha256 = "sha256-1iBTuFhxgsOFO3GueIB0kqNfmLglzircnCY+AffFj9I=";
};
- cargoSha256 = "sha256-rmECD/0ThDXBAGqDMNbyHi9eoGNOJhBndaxCuUS/qpc=";
+ cargoSha256 = "sha256-wY60B+3ndKL6IAaLmvbIcCxvq/Un/Sgzgedml6ouqFc=";
# tests require it to be in a git repository
preCheck = ''
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 9a3e34911daa..32c1e4a9f637 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -47,13 +47,13 @@ let
in
stdenv.mkDerivation rec {
pname = "mkvtoolnix";
- version = "69.0.0";
+ version = "70.0.0";
src = fetchFromGitLab {
owner = "mbunkus";
repo = "mkvtoolnix";
rev = "release-${version}";
- sha256 = "sha256-sKm/TjlVFj6Vy6lfy3v7UJoEUXALZZSKO3zoIrYtwrc=";
+ sha256 = "sha256-7ryLf/SKM5m7MdOd2K2XhJEdLF2H8xjV1aZMKUjm+Ok=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/virtualization/ecs-agent/default.nix b/pkgs/applications/virtualization/ecs-agent/default.nix
index 1890f29c52a0..72b405439afa 100644
--- a/pkgs/applications/virtualization/ecs-agent/default.nix
+++ b/pkgs/applications/virtualization/ecs-agent/default.nix
@@ -2,7 +2,7 @@
buildGoPackage rec {
pname = "amazon-ecs-agent";
- version = "1.18.0";
+ version = "1.62.1";
goPackagePath = "github.com/aws/${pname}";
subPackages = [ "agent" ];
@@ -11,7 +11,7 @@ buildGoPackage rec {
rev = "v${version}";
owner = "aws";
repo = pname;
- sha256 = "1l6c2if6wpjmq2hh6k818w38s1rsbwgd6igqy948dwcrb1g1mixr";
+ sha256 = "sha256-p3o5Z6NIieBoEjxN8NnDYCSD4IQs2daxCwg4ndp5TTk=";
};
meta = with lib; {
diff --git a/pkgs/data/icons/beauty-line-icon-theme/default.nix b/pkgs/data/icons/beauty-line-icon-theme/default.nix
index 275f5e0dc03b..66e5ac57dd17 100644
--- a/pkgs/data/icons/beauty-line-icon-theme/default.nix
+++ b/pkgs/data/icons/beauty-line-icon-theme/default.nix
@@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation rec {
sparseCheckout = ''
BeautyLine-V3
'';
- sha256 = "sha256-VEQWMY77cVz6UDn7FeMYYyYgXmXl1lLYs8MlFUuGRZE=";
+ sha256 = "sha256-IkkypAj250+OXbf19TampCnqYsSbJVIjeYlxJoyhpzk=";
};
sourceRoot = "${src.name}/BeautyLine-V3";
diff --git a/pkgs/data/themes/material-kwin-decoration/default.nix b/pkgs/data/themes/material-kwin-decoration/default.nix
index 3716fb79368f..463f86111ee9 100644
--- a/pkgs/data/themes/material-kwin-decoration/default.nix
+++ b/pkgs/data/themes/material-kwin-decoration/default.nix
@@ -12,24 +12,20 @@
, kwindowsystem
, kiconthemes
, kwayland
+, unstableGitUpdater
}:
mkDerivation rec {
pname = "material-kwin-decoration";
- version = "unstable-2021-10-28";
+ version = "unstable-2022-01-19";
src = fetchFromGitHub {
owner = "Zren";
repo = "material-decoration";
- rev = "cc5cc399a546b66907629b28c339693423c894c8";
- sha256 = "sha256-aYlnPFhf+ISVe5Ycryu5BSXY8Lb5OoueMqnWQZiv6Lc=";
+ rev = "973949761f609f9c676c5b2b7c6d9560661d34c3";
+ sha256 = "sha256-n+yUmBUrkS+06qLnzl2P6CTQZZbDtJLy+2mDPCcQz9M=";
};
- postPatch = ''
- substituteInPlace CMakeLists.txt \
- --replace "-Werror" ""
- '';
-
nativeBuildInputs = [ cmake extra-cmake-modules ];
buildInputs = [
@@ -44,10 +40,14 @@ mkDerivation rec {
kwayland
];
+ passthru = {
+ updateScript = unstableGitUpdater { };
+ };
+
meta = with lib; {
description = "Material-ish window decoration theme for KWin";
homepage = "https://github.com/Zren/material-decoration";
license = licenses.gpl2;
- maintainers = [ maintainers.nickcao ];
+ maintainers = with maintainers; [ nickcao ];
};
}
diff --git a/pkgs/development/compilers/dictu/default.nix b/pkgs/development/compilers/dictu/default.nix
index 94871fd7d7ca..113f9291df2c 100644
--- a/pkgs/development/compilers/dictu/default.nix
+++ b/pkgs/development/compilers/dictu/default.nix
@@ -13,13 +13,13 @@ assert enableLTO -> stdenv.cc.isGNU;
stdenv.mkDerivation rec {
pname = "dictu";
- version = "0.24.0";
+ version = "0.25.0";
src = fetchFromGitHub {
owner = "dictu-lang";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-EYoLEyK8jh4z3/9aMuUBt0pCwks7NIevsK2mOh8x6bQ=";
+ sha256 = "sha256-Tahi2K8Q/KPc9MN7yWhkqp/MzXfzJzrGSsvnTCyI03U=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/compilers/zig/default.nix b/pkgs/development/compilers/zig/default.nix
index 62187827423d..caba470b9a12 100644
--- a/pkgs/development/compilers/zig/default.nix
+++ b/pkgs/development/compilers/zig/default.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
hash = "sha256-x2c4c9RSrNWGqEngio4ArW7dJjW0gg+8nqBwPcR721k=";
};
+ # Fix index out of bounds reading RPATH (cherry-picked from 0.10-dev)
+ patches = [ ./rpath.patch ];
+
nativeBuildInputs = [
cmake
llvmPackages.llvm.dev
diff --git a/pkgs/development/compilers/zig/rpath.patch b/pkgs/development/compilers/zig/rpath.patch
new file mode 100644
index 000000000000..70633193f944
--- /dev/null
+++ b/pkgs/development/compilers/zig/rpath.patch
@@ -0,0 +1,39 @@
+commit ebcdbd9b3c9d437780aee4d6af76bbd2ab32ea06
+Author: LeRoyce Pearson
+Date: 2022-07-17 16:01:22 -0600
+
+ Read dynstr starting at rpath offset
+
+ Since we know the offset, we may as well read starting there. Still expects
+ rpath to fit in 4096 bytes; that might be worth fixing in the future.
+
+ Fixes issue #12112
+
+diff --git a/lib/std/zig/system/NativeTargetInfo.zig b/lib/std/zig/system/NativeTargetInfo.zig
+index af41fc790579..ad0b6d5ce1e1 100644
+--- a/lib/std/zig/system/NativeTargetInfo.zig
++++ b/lib/std/zig/system/NativeTargetInfo.zig
+@@ -652,14 +652,19 @@ pub fn abiAndDynamicLinkerFromFile(
+ } else null;
+
+ if (dynstr) |ds| {
+- const strtab_len = std.math.min(ds.size, strtab_buf.len);
+- const strtab_read_len = try preadMin(file, &strtab_buf, ds.offset, strtab_len);
+- const strtab = strtab_buf[0..strtab_read_len];
+ // TODO this pointer cast should not be necessary
+ const rpoff_usize = std.math.cast(usize, rpoff) catch |err| switch (err) {
+ error.Overflow => return error.InvalidElfFile,
+ };
+- const rpath_list = mem.sliceTo(std.meta.assumeSentinel(strtab[rpoff_usize..].ptr, 0), 0);
++ if (rpoff_usize > ds.size) return error.InvalidElfFile;
++ const rpoff_file = ds.offset + rpoff_usize;
++ const rp_max_size = ds.size - rpoff_usize;
++
++ const strtab_len = std.math.min(rp_max_size, strtab_buf.len);
++ const strtab_read_len = try preadMin(file, &strtab_buf, rpoff_file, strtab_len);
++ const strtab = strtab_buf[0..strtab_read_len];
++
++ const rpath_list = mem.sliceTo(std.meta.assumeSentinel(strtab.ptr, 0), 0);
+ var it = mem.tokenize(u8, rpath_list, ":");
+ while (it.next()) |rpath| {
+ var dir = fs.cwd().openDir(rpath, .{}) catch |err| switch (err) {
diff --git a/pkgs/development/libraries/capnproto/default.nix b/pkgs/development/libraries/capnproto/default.nix
index 59d4bf364d4b..9af591db120e 100644
--- a/pkgs/development/libraries/capnproto/default.nix
+++ b/pkgs/development/libraries/capnproto/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake ];
- buildInputs = [ openssl zlib ];
+ propagatedBuildInputs = [ openssl zlib ];
meta = with lib; {
homepage = "https://capnproto.org/";
diff --git a/pkgs/development/ocaml-modules/janestreet/0.15.nix b/pkgs/development/ocaml-modules/janestreet/0.15.nix
index 23ac7bf65531..dcb5d62c362d 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.15.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.15.nix
@@ -785,6 +785,7 @@ with self;
meta.description = "A library to help writing wrappers around ocaml code for python";
patches = lib.optional (lib.versionAtLeast ocaml.version "4.13") ./pythonlib.patch;
propagatedBuildInputs = [ ppx_expect ppx_let ppx_python stdio typerep ];
+ meta.broken = lib.versionAtLeast ocaml.version "4.14";
};
re2 = janePackage {
diff --git a/pkgs/development/ocaml-modules/notty/default.nix b/pkgs/development/ocaml-modules/notty/default.nix
index 2e53944a3068..0e9de5807ff3 100644
--- a/pkgs/development/ocaml-modules/notty/default.nix
+++ b/pkgs/development/ocaml-modules/notty/default.nix
@@ -5,6 +5,7 @@
with lib;
if versionOlder ocaml.version "4.05"
+|| versionAtLeast ocaml.version "4.14"
then throw "notty is not available for OCaml ${ocaml.version}"
else
diff --git a/pkgs/development/python-modules/aggdraw/default.nix b/pkgs/development/python-modules/aggdraw/default.nix
new file mode 100644
index 000000000000..7c4326db6415
--- /dev/null
+++ b/pkgs/development/python-modules/aggdraw/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pytest
+, python
+, pillow
+, numpy
+}:
+
+buildPythonPackage rec {
+ pname = "aggdraw";
+ version = "1.3.15";
+
+ src = fetchFromGitHub {
+ owner = "pytroll";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-w3HlnsHYB0R+HZOXtzygC2RST3gllPI7SYtwSCVXhTU=";
+ };
+
+ checkInputs = [
+ numpy
+ pillow
+ pytest
+ ];
+
+ checkPhase = ''
+ runHook preCheck
+ ${python.interpreter} selftest.py
+ runHook postCheck
+ '';
+
+ pythonImportsCheck = [ "aggdraw" ];
+
+ meta = with lib; {
+ description = "High quality drawing interface for PIL";
+ homepage = "https://github.com/pytroll/aggdraw";
+ license = licenses.mit;
+ maintainers = with maintainers; [ onny ];
+ };
+}
diff --git a/pkgs/development/python-modules/cloudflare/default.nix b/pkgs/development/python-modules/cloudflare/default.nix
index 97c23c17dd35..2c657a6bfa30 100644
--- a/pkgs/development/python-modules/cloudflare/default.nix
+++ b/pkgs/development/python-modules/cloudflare/default.nix
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "cloudflare";
- version = "2.9.11";
+ version = "2.9.12";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- hash = "sha256-kvCSazLBU2sBzobdZrVXcdlEpMoAe5wb7rBWxzhDuus=";
+ hash = "sha256-w+ciURz9sJcWmhhjJfvoorFYUBFp0PaLZ55zb2sMwDA=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/devito/default.nix b/pkgs/development/python-modules/devito/default.nix
index 33a8ed240b85..2aa669e44a33 100644
--- a/pkgs/development/python-modules/devito/default.nix
+++ b/pkgs/development/python-modules/devito/default.nix
@@ -22,13 +22,13 @@
buildPythonPackage rec {
pname = "devito";
- version = "unstable-2022-04-22";
+ version = "4.7.1";
src = fetchFromGitHub {
owner = "devitocodes";
repo = "devito";
- rev = "7cb52eded4038c1a0ee92cfd04d3412c48f2fb7c";
- sha256 = "sha256-75hkkufQK9Nv65DBz8cmYTfkxH/UUWDQK/rGUDULvjM=";
+ rev = "v${version}";
+ sha256 = "sha256-crKTxlueE8NGjAqu625iFvp35UK2U7+9kl8rpbzf0gs=";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/gehomesdk/default.nix b/pkgs/development/python-modules/gehomesdk/default.nix
index 35cd4ea7c4d9..b87182abdbd6 100644
--- a/pkgs/development/python-modules/gehomesdk/default.nix
+++ b/pkgs/development/python-modules/gehomesdk/default.nix
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "gehomesdk";
- version = "0.4.27";
+ version = "0.5.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-jhggGncxguG/hZutZ3gfg9dwl0Ex5wpcHFKZegAaM9Q=";
+ sha256 = "sha256-XxJEiWiblnvKCfcM8sNFEjV2gw7cc7A9P6H4JEAleRQ=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/psd-tools/default.nix b/pkgs/development/python-modules/psd-tools/default.nix
index ae5c3e0ab1af..b832b7051e3c 100644
--- a/pkgs/development/python-modules/psd-tools/default.nix
+++ b/pkgs/development/python-modules/psd-tools/default.nix
@@ -1,27 +1,46 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
, docopt
, pillow
, enum34
+, scikitimage
+, aggdraw
+, pytestCheckHook
+, ipython
+, cython
}:
buildPythonPackage rec {
pname = "psd-tools";
version = "1.9.21";
- src = fetchPypi {
- inherit pname version;
- sha256 = "sha256-BlfJnC03W0BEOr2Nav0Tj0fzjwAVlTPjyN0KmxxQMVI=";
+ src = fetchFromGitHub {
+ owner = "psd-tools";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-+nqN7DJHbr7XkfG0oUQkWcxv+krR8DlQndAQCvnBk3s=";
};
+ nativeBuildInputs = [ cython ];
+
propagatedBuildInputs = [
+ aggdraw
docopt
+ ipython
pillow
- ] ++ lib.optionals isPy27 [ enum34 ];
+ scikitimage
+ ];
- meta = {
+ checkInputs = [ pytestCheckHook ];
+
+ pythonImportsCheck = [ "psd_tools" ];
+
+ meta = with lib; {
description = "Python package for reading Adobe Photoshop PSD files";
homepage = "https://github.com/kmike/psd-tools";
- license = lib.licenses.mit;
- broken = true; # missing packbits from nixpkgs
+ license = licenses.mit;
+ maintainers = with maintainers; [ onny ];
};
}
diff --git a/pkgs/development/python-modules/pytest-quickcheck/default.nix b/pkgs/development/python-modules/pytest-quickcheck/default.nix
index 4e08a8fabba0..99d65ec28669 100644
--- a/pkgs/development/python-modules/pytest-quickcheck/default.nix
+++ b/pkgs/development/python-modules/pytest-quickcheck/default.nix
@@ -1,4 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi, pytest, pytest-flakes, tox }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, pytest-flakes
+, tox
+}:
+
buildPythonPackage rec {
pname = "pytest-quickcheck";
version = "0.8.6";
@@ -9,12 +16,16 @@ buildPythonPackage rec {
};
buildInputs = [ pytest ];
+
propagatedBuildInputs = [ pytest-flakes tox ];
meta = with lib; {
license = licenses.asl20;
homepage = "https://pypi.python.org/pypi/pytest-quickcheck";
description = "pytest plugin to generate random data inspired by QuickCheck";
- broken = true; # missing pytest-codestyle
+ maintainers = with maintainers; [ onny ];
+ # Pytest support > 6.0 missing
+ # https://github.com/t2y/pytest-quickcheck/issues/17
+ broken = true;
};
}
diff --git a/pkgs/development/python-modules/torpy/default.nix b/pkgs/development/python-modules/torpy/default.nix
new file mode 100644
index 000000000000..7602e6680841
--- /dev/null
+++ b/pkgs/development/python-modules/torpy/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, cryptography
+, pytestCheckHook
+, requests
+}:
+
+buildPythonPackage rec {
+ pname = "torpy";
+ version = "1.1.6";
+
+ disabled = pythonOlder "3.6";
+
+ src = fetchFromGitHub {
+ owner = "torpyorg";
+ repo = "torpy";
+ rev = "v${version}";
+ sha256 = "sha256-Ni7GcpkxzAMtP4wBOFsi4KnxK+nC0XCZR/2Z/eS/C+w=";
+ };
+
+ propagatedBuildInputs = [
+ cryptography
+ requests
+ ];
+
+ checkInputs = [
+ pytestCheckHook
+ ];
+
+ disabledTestPaths = [
+ # requires network
+ "tests/integration"
+ ];
+
+ pythonImportsCheck = [
+ "cryptography"
+ ];
+
+ meta = with lib; {
+ description = "Pure python Tor client";
+ homepage = "https://github.com/torpyorg/torpy";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ larsr ];
+ };
+}
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index eb6ac3254b02..68cf821b2b10 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -1,10 +1,10 @@
{ lib, stdenv, fetchurl, jre_headless, makeWrapper }:
stdenv.mkDerivation rec{
pname = "flyway";
- version = "9.1.3";
+ version = "9.1.4";
src = fetchurl {
url = "mirror://maven/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
- sha256 = "sha256-RmA9aP0YxYv2iDIp7W0k4x3CzvHMuPb398OM55q3Odo=";
+ sha256 = "sha256-Hs9DZmgkaX00cI7YXTfgdvC0x3st8UfU0pQ7BDGHpDY=";
};
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
diff --git a/pkgs/development/tools/rust/cargo-wasi/0001-Add-Cargo.lock.patch b/pkgs/development/tools/rust/cargo-wasi/0001-Add-Cargo.lock.patch
new file mode 100644
index 000000000000..42db8c85c0b4
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-wasi/0001-Add-Cargo.lock.patch
@@ -0,0 +1,1513 @@
+From ee4ad9b7606cd2b3b1c32b44715a35e852e682a9 Mon Sep 17 00:00:00 2001
+From: Luc Perkins
+Date: Mon, 15 Aug 2022 00:54:23 +0300
+Subject: [PATCH] Add Cargo.lock
+
+---
+ .gitignore | 1 -
+ Cargo.lock | 1483 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 1483 insertions(+), 1 deletion(-)
+ create mode 100644 Cargo.lock
+
+diff --git a/.gitignore b/.gitignore
+index eff36f1..42a901f 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -1,5 +1,4 @@
+ target
+-Cargo.lock
+ tmp
+ bump
+ bump.exe
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..0110599
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,1483 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "adler"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "anyhow"
++version = "1.0.61"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "508b352bb5c066aac251f6daf6b36eccd03e8a88e8081cd44959ea277a3af9a8"
++
++[[package]]
++name = "assemble"
++version = "0.1.0"
++dependencies = [
++ "anyhow",
++ "toml",
++]
++
++[[package]]
++name = "assert_cmd"
++version = "1.0.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe"
++dependencies = [
++ "bstr",
++ "doc-comment",
++ "predicates 2.1.1",
++ "predicates-core",
++ "predicates-tree",
++ "wait-timeout",
++]
++
++[[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.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
++
++[[package]]
++name = "base64"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
++
++[[package]]
++name = "bitflags"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
++
++[[package]]
++name = "bstr"
++version = "0.2.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
++dependencies = [
++ "lazy_static",
++ "memchr",
++ "regex-automata",
++]
++
++[[package]]
++name = "bumpalo"
++version = "3.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
++
++[[package]]
++name = "bytes"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db"
++
++[[package]]
++name = "cargo-wasi"
++version = "0.1.26"
++dependencies = [
++ "anyhow",
++ "assert_cmd",
++ "atty",
++ "dirs",
++ "flate2",
++ "fs2",
++ "predicates 1.0.8",
++ "reqwest",
++ "rustc-demangle",
++ "same-file",
++ "semver",
++ "serde",
++ "serde_json",
++ "tar",
++ "tempfile",
++ "termcolor",
++ "toml",
++ "walrus",
++ "wasmparser 0.78.2",
++ "which",
++]
++
++[[package]]
++name = "cargo-wasi-shim"
++version = "0.0.0"
++dependencies = [
++ "cfg-if",
++ "tempfile",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.73"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "core-foundation"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
++
++[[package]]
++name = "crc32fast"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "difference"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
++
++[[package]]
++name = "difflib"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
++
++[[package]]
++name = "dirs"
++version = "3.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309"
++dependencies = [
++ "dirs-sys",
++]
++
++[[package]]
++name = "dirs-sys"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
++dependencies = [
++ "libc",
++ "redox_users",
++ "winapi",
++]
++
++[[package]]
++name = "doc-comment"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
++
++[[package]]
++name = "either"
++version = "1.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
++
++[[package]]
++name = "encoding_rs"
++version = "0.8.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "fastrand"
++version = "1.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
++dependencies = [
++ "instant",
++]
++
++[[package]]
++name = "filetime"
++version = "0.2.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e94a7bbaa59354bc20dd75b67f23e2797b4490e9d6928203fb105c79e448c86c"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "windows-sys",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
++dependencies = [
++ "crc32fast",
++ "miniz_oxide",
++]
++
++[[package]]
++name = "float-cmp"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e1267f4ac4f343772758f7b1bdcbe767c218bbab93bb432acbf5162bbf85a6c4"
++dependencies = [
++ "num-traits",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
++name = "form_urlencoded"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
++dependencies = [
++ "matches",
++ "percent-encoding",
++]
++
++[[package]]
++name = "fs2"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "futures-channel"
++version = "0.3.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2bfc52cbddcfd745bf1740338492bb0bd83d76c67b445f91c5fb29fae29ecaa1"
++dependencies = [
++ "futures-core",
++]
++
++[[package]]
++name = "futures-core"
++version = "0.3.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d2acedae88d38235936c3922476b10fced7b2b68136f5e3c03c2d5be348a1115"
++
++[[package]]
++name = "futures-io"
++version = "0.3.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93a66fc6d035a26a3ae255a6d2bca35eda63ae4c5512bef54449113f7a1228e5"
++
++[[package]]
++name = "futures-sink"
++version = "0.3.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca0bae1fe9752cf7fd9b0064c674ae63f97b37bc714d745cbde0afb7ec4e6765"
++
++[[package]]
++name = "futures-task"
++version = "0.3.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "842fc63b931f4056a24d59de13fb1272134ce261816e063e634ad0c15cdc5306"
++
++[[package]]
++name = "futures-util"
++version = "0.3.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f0828a5471e340229c11c77ca80017937ce3c58cb788a17e5f1c2d5c485a9577"
++dependencies = [
++ "futures-core",
++ "futures-io",
++ "futures-task",
++ "memchr",
++ "pin-project-lite",
++ "pin-utils",
++ "slab",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.2.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "wasi",
++]
++
++[[package]]
++name = "h2"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
++dependencies = [
++ "bytes",
++ "fnv",
++ "futures-core",
++ "futures-sink",
++ "futures-util",
++ "http",
++ "indexmap",
++ "slab",
++ "tokio",
++ "tokio-util",
++ "tracing",
++]
++
++[[package]]
++name = "hashbrown"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
++
++[[package]]
++name = "heck"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
++dependencies = [
++ "unicode-segmentation",
++]
++
++[[package]]
++name = "hello-world"
++version = "0.1.0"
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "http"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
++dependencies = [
++ "bytes",
++ "fnv",
++ "itoa",
++]
++
++[[package]]
++name = "http-body"
++version = "0.4.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
++dependencies = [
++ "bytes",
++ "http",
++ "pin-project-lite",
++]
++
++[[package]]
++name = "httparse"
++version = "1.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c"
++
++[[package]]
++name = "httpdate"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
++
++[[package]]
++name = "hyper"
++version = "0.14.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac"
++dependencies = [
++ "bytes",
++ "futures-channel",
++ "futures-core",
++ "futures-util",
++ "h2",
++ "http",
++ "http-body",
++ "httparse",
++ "httpdate",
++ "itoa",
++ "pin-project-lite",
++ "socket2",
++ "tokio",
++ "tower-service",
++ "tracing",
++ "want",
++]
++
++[[package]]
++name = "hyper-tls"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
++dependencies = [
++ "bytes",
++ "hyper",
++ "native-tls",
++ "tokio",
++ "tokio-native-tls",
++]
++
++[[package]]
++name = "id-arena"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
++
++[[package]]
++name = "idna"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
++dependencies = [
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
++]
++
++[[package]]
++name = "indexmap"
++version = "1.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
++dependencies = [
++ "autocfg",
++ "hashbrown",
++]
++
++[[package]]
++name = "instant"
++version = "0.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "ipnet"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b"
++
++[[package]]
++name = "itertools"
++version = "0.10.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
++dependencies = [
++ "either",
++]
++
++[[package]]
++name = "itoa"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
++
++[[package]]
++name = "js-sys"
++version = "0.3.59"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
++dependencies = [
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "leb128"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
++
++[[package]]
++name = "libc"
++version = "0.2.131"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "04c3b4822ccebfa39c02fc03d1534441b22ead323fa0f48bb7ddd8e6ba076a40"
++
++[[package]]
++name = "log"
++version = "0.4.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
++
++[[package]]
++name = "memchr"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
++
++[[package]]
++name = "mime"
++version = "0.3.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
++
++[[package]]
++name = "miniz_oxide"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
++dependencies = [
++ "adler",
++]
++
++[[package]]
++name = "mio"
++version = "0.8.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf"
++dependencies = [
++ "libc",
++ "log",
++ "wasi",
++ "windows-sys",
++]
++
++[[package]]
++name = "native-tls"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9"
++dependencies = [
++ "lazy_static",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
++]
++
++[[package]]
++name = "normalize-line-endings"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
++
++[[package]]
++name = "num-traits"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.13.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
++dependencies = [
++ "hermit-abi",
++ "libc",
++]
++
++[[package]]
++name = "once_cell"
++version = "1.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
++
++[[package]]
++name = "openssl"
++version = "0.10.41"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0"
++dependencies = [
++ "bitflags",
++ "cfg-if",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.75"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f"
++dependencies = [
++ "autocfg",
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
++
++[[package]]
++name = "pest"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "69486e2b8c2d2aeb9762db7b4e00b0331156393555cff467f4163ff06821eef8"
++dependencies = [
++ "thiserror",
++ "ucd-trie",
++]
++
++[[package]]
++name = "pin-project-lite"
++version = "0.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
++
++[[package]]
++name = "pin-utils"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
++
++[[package]]
++name = "pkg-config"
++version = "0.3.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
++
++[[package]]
++name = "predicates"
++version = "1.0.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f49cfaf7fdaa3bfacc6fa3e7054e65148878354a5cfddcf661df4c851f8021df"
++dependencies = [
++ "difference",
++ "float-cmp",
++ "normalize-line-endings",
++ "predicates-core",
++ "regex",
++]
++
++[[package]]
++name = "predicates"
++version = "2.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a5aab5be6e4732b473071984b3164dbbfb7a3674d30ea5ff44410b6bcd960c3c"
++dependencies = [
++ "difflib",
++ "itertools",
++ "predicates-core",
++]
++
++[[package]]
++name = "predicates-core"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "da1c2388b1513e1b605fcec39a95e0a9e8ef088f71443ef37099fa9ae6673fcb"
++
++[[package]]
++name = "predicates-tree"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4d86de6de25020a36c6d3643a86d9a6a9f552107c0559c60ea03551b5e16c032"
++dependencies = [
++ "predicates-core",
++ "termtree",
++]
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.2.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
++dependencies = [
++ "bitflags",
++]
++
++[[package]]
++name = "redox_users"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
++dependencies = [
++ "getrandom",
++ "redox_syscall",
++ "thiserror",
++]
++
++[[package]]
++name = "regex"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-automata"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.27"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "reqwest"
++version = "0.11.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92"
++dependencies = [
++ "base64",
++ "bytes",
++ "encoding_rs",
++ "futures-core",
++ "futures-util",
++ "h2",
++ "http",
++ "http-body",
++ "hyper",
++ "hyper-tls",
++ "ipnet",
++ "js-sys",
++ "lazy_static",
++ "log",
++ "mime",
++ "native-tls",
++ "percent-encoding",
++ "pin-project-lite",
++ "serde",
++ "serde_json",
++ "serde_urlencoded",
++ "tokio",
++ "tokio-native-tls",
++ "tower-service",
++ "url",
++ "wasm-bindgen",
++ "wasm-bindgen-futures",
++ "web-sys",
++ "winreg",
++]
++
++[[package]]
++name = "rustc-demangle"
++version = "0.1.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
++
++[[package]]
++name = "ryu"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
++
++[[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 = "schannel"
++version = "0.1.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
++dependencies = [
++ "lazy_static",
++ "windows-sys",
++]
++
++[[package]]
++name = "security-framework"
++version = "2.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"
++dependencies = [
++ "bitflags",
++ "core-foundation",
++ "core-foundation-sys",
++ "libc",
++ "security-framework-sys",
++]
++
++[[package]]
++name = "security-framework-sys"
++version = "2.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "semver"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
++dependencies = [
++ "semver-parser",
++]
++
++[[package]]
++name = "semver-parser"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
++dependencies = [
++ "pest",
++]
++
++[[package]]
++name = "serde"
++version = "1.0.143"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.143"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d3d8e8de557aee63c26b85b947f5e59b690d0454c753f3adeb5cd7835ab88391"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.83"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7"
++dependencies = [
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "serde_urlencoded"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
++dependencies = [
++ "form_urlencoded",
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "slab"
++version = "0.4.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "socket2"
++version = "0.4.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "syn"
++version = "1.0.99"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "tar"
++version = "0.4.38"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
++dependencies = [
++ "filetime",
++ "libc",
++ "xattr",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
++dependencies = [
++ "cfg-if",
++ "fastrand",
++ "libc",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "termtree"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b"
++
++[[package]]
++name = "thiserror"
++version = "1.0.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f5f6586b7f764adc0231f4c79be7b920e766bb2f3e51b3661cdb263828f19994"
++dependencies = [
++ "thiserror-impl",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "12bafc5b54507e0149cdf1b145a5d80ab80a90bcd9275df43d4fff68460f6c21"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "tinyvec"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
++dependencies = [
++ "tinyvec_macros",
++]
++
++[[package]]
++name = "tinyvec_macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
++
++[[package]]
++name = "tokio"
++version = "1.20.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581"
++dependencies = [
++ "autocfg",
++ "bytes",
++ "libc",
++ "memchr",
++ "mio",
++ "num_cpus",
++ "once_cell",
++ "pin-project-lite",
++ "socket2",
++ "winapi",
++]
++
++[[package]]
++name = "tokio-native-tls"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
++dependencies = [
++ "native-tls",
++ "tokio",
++]
++
++[[package]]
++name = "tokio-util"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
++dependencies = [
++ "bytes",
++ "futures-core",
++ "futures-sink",
++ "pin-project-lite",
++ "tokio",
++ "tracing",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "tower-service"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
++
++[[package]]
++name = "tracing"
++version = "0.1.36"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307"
++dependencies = [
++ "cfg-if",
++ "pin-project-lite",
++ "tracing-core",
++]
++
++[[package]]
++name = "tracing-core"
++version = "0.1.29"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7"
++dependencies = [
++ "once_cell",
++]
++
++[[package]]
++name = "try-lock"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
++
++[[package]]
++name = "ucd-trie"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c"
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6"
++dependencies = [
++ "tinyvec",
++]
++
++[[package]]
++name = "unicode-segmentation"
++version = "1.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
++
++[[package]]
++name = "url"
++version = "2.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
++dependencies = [
++ "form_urlencoded",
++ "idna",
++ "matches",
++ "percent-encoding",
++]
++
++[[package]]
++name = "vcpkg"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
++
++[[package]]
++name = "wait-timeout"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "walrus"
++version = "0.19.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4eb08e48cde54c05f363d984bb54ce374f49e242def9468d2e1b6c2372d291f8"
++dependencies = [
++ "anyhow",
++ "id-arena",
++ "leb128",
++ "log",
++ "walrus-macro",
++ "wasmparser 0.77.0",
++]
++
++[[package]]
++name = "walrus-macro"
++version = "0.19.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a6e5bd22c71e77d60140b0bd5be56155a37e5bd14e24f5f87298040d0cc40d7"
++dependencies = [
++ "heck",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "want"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
++dependencies = [
++ "log",
++ "try-lock",
++]
++
++[[package]]
++name = "wasi"
++version = "0.11.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
++
++[[package]]
++name = "wasm-bindgen"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
++dependencies = [
++ "cfg-if",
++ "wasm-bindgen-macro",
++]
++
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
++dependencies = [
++ "bumpalo",
++ "log",
++ "once_cell",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-futures"
++version = "0.4.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fa76fb221a1f8acddf5b54ace85912606980ad661ac7a503b4570ffd3a624dad"
++dependencies = [
++ "cfg-if",
++ "js-sys",
++ "wasm-bindgen",
++ "web-sys",
++]
++
++[[package]]
++name = "wasm-bindgen-macro"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
++dependencies = [
++ "quote",
++ "wasm-bindgen-macro-support",
++]
++
++[[package]]
++name = "wasm-bindgen-macro-support"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-backend",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-shared"
++version = "0.2.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
++
++[[package]]
++name = "wasmparser"
++version = "0.77.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b35c86d22e720a07d954ebbed772d01180501afe7d03d464f413bb5f8914a8d6"
++
++[[package]]
++name = "wasmparser"
++version = "0.78.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "52144d4c78e5cf8b055ceab8e5fa22814ce4315d6002ad32cfd914f37c12fd65"
++
++[[package]]
++name = "web-sys"
++version = "0.3.59"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1"
++dependencies = [
++ "js-sys",
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "which"
++version = "4.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae"
++dependencies = [
++ "either",
++ "lazy_static",
++ "libc",
++]
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++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 = "windows-sys"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
++dependencies = [
++ "windows_aarch64_msvc",
++ "windows_i686_gnu",
++ "windows_i686_msvc",
++ "windows_x86_64_gnu",
++ "windows_x86_64_msvc",
++]
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.36.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
++
++[[package]]
++name = "winreg"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "xattr"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
++dependencies = [
++ "libc",
++]
+--
+2.37.1
+
diff --git a/pkgs/development/tools/rust/cargo-wasi/default.nix b/pkgs/development/tools/rust/cargo-wasi/default.nix
new file mode 100644
index 000000000000..0acca7837a31
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-wasi/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, openssl
+, pkg-config
+, rustPlatform
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "cargo-wasi";
+ version = "0.1.26";
+
+ src = fetchFromGitHub {
+ owner = "bytecodealliance";
+ repo = pname;
+ rev = version;
+ sha256 = "sha256-jugq7A3L+5+YUSyp9WWKBd4BA2pcXKd4CMVg5OVMcEA=";
+ };
+
+ cargoSha256 = "sha256-L4vRLYm1WaCmA4bGyY7D0yxXuqxGSHMMD/wlY8+MgPk=";
+
+ nativeBuildInputs = [ pkg-config ];
+
+ buildInputs = lib.optionals stdenv.isLinux [ openssl ]
+ ++ lib.optionals stdenv.isDarwin [ Security ];
+
+ cargoPatches = [
+ ./0001-Add-Cargo.lock.patch
+ ];
+
+ # Checks need to be disabled here because the current test suite makes assumptions
+ # about the surrounding environment that aren't Nix friendly. See these lines for specifics:
+ # https://github.com/bytecodealliance/cargo-wasi/blob/0.1.26/tests/tests/support.rs#L13-L18
+ doCheck = false;
+
+ meta = with lib; {
+ description = "A lightweight Cargo subcommand to build code for the wasm32-wasi target";
+ homepage = "https://bytecodealliance.github.io/cargo-wasi";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ lucperkins ];
+ };
+}
diff --git a/pkgs/development/tools/rust/duckscript/default.nix b/pkgs/development/tools/rust/duckscript/default.nix
index d8bae34c9c39..339313b56be8 100644
--- a/pkgs/development/tools/rust/duckscript/default.nix
+++ b/pkgs/development/tools/rust/duckscript/default.nix
@@ -13,11 +13,11 @@
rustPlatform.buildRustPackage rec {
pname = "duckscript_cli";
- version = "0.8.10";
+ version = "0.8.14";
src = fetchCrate {
inherit pname version;
- sha256 = "sha256-cMvcCX8ViCcUFMuxAPo3/wxXvg5swAcBrLx1x7lSwvM=";
+ sha256 = "sha256-3LsHgn4FeukQXkEVG7V3wJlH+0Ut2cQQSQDrLMhc7qw=";
};
nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ]
++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
- cargoSha256 = "sha256-8ywMLXFmdq119K/hl1hpsVhzG+nrdO4eux3lAqUjB+A=";
+ cargoSha256 = "sha256-SiuDKH1jXU6m9MfQ9W3GxXVMkxOxB1Y3zn0Iz8zR7Zs=";
meta = with lib; {
description = "Simple, extendable and embeddable scripting language.";
diff --git a/pkgs/development/web/nodejs/v16.nix b/pkgs/development/web/nodejs/v16.nix
index 89b6c3e43631..ce1d41698373 100644
--- a/pkgs/development/web/nodejs/v16.nix
+++ b/pkgs/development/web/nodejs/v16.nix
@@ -8,8 +8,8 @@ let
in
buildNodejs {
inherit enableNpm;
- version = "16.16.0";
- sha256 = "sha256-FFFR7/Oyql6+czhACcUicag3QK5oepPJjGKM19UnNus=";
+ version = "16.17.0";
+ sha256 = "sha256-HSjChWheRGmFkhvJY1ZcqcDF9P2pdV5InAaAjql5VkU=";
patches = [
./disable-darwin-v8-system-instrumentation.patch
# Fix npm silently fail without a HOME directory https://github.com/npm/cli/issues/4996
diff --git a/pkgs/games/darkplaces/default.nix b/pkgs/games/darkplaces/default.nix
new file mode 100644
index 000000000000..e7b70036cdff
--- /dev/null
+++ b/pkgs/games/darkplaces/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, zlib
+, libjpeg
+, SDL2
+, libvorbis
+}:
+stdenv.mkDerivation rec {
+ name = "darkplaces";
+ version = "unstable-2022-05-10";
+
+ src = fetchFromGitHub {
+ owner = "DarkPlacesEngine";
+ repo = "darkplaces";
+ rev = "f16954a9d40168253ac5d9890dabcf7dbd266cd9";
+ hash = "sha256-5KsUcgHbuzFUE6LcclqI8VPSFbXZzBnxzOBB9Kf8krI=";
+ };
+
+ buildInputs = [
+ zlib
+ libjpeg
+ SDL2
+ ];
+
+ buildFlags = "release";
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/bin
+ install -m755 darkplaces-sdl $out/bin/darkplaces
+ install -m755 darkplaces-dedicated $out/bin/darkplaces-dedicated
+
+ runHook postInstall
+ '';
+
+ postFixup = ''
+ patchelf \
+ --add-needed ${libvorbis}/lib/libvorbisfile.so \
+ --add-needed ${libvorbis}/lib/libvorbis.so \
+ $out/bin/darkplaces
+ '';
+
+ meta = with lib; {
+ homepage = "https://www.icculus.org/twilight/darkplaces/";
+ description = "A quake 1 engine implementation by LadyHavoc";
+ longDescription = ''
+ A game engine based on the Quake 1 engine by id Software.
+ It improves and builds upon the original 1996 engine by adding modern
+ rendering features, and expanding upon the engine's native game code
+ language QuakeC, as well as supporting additional map and model formats.
+ '';
+ maintainers = with maintainers; [ necrophcodr ];
+ license = licenses.gpl2Plus;
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/games/mar1d/default.nix b/pkgs/games/mar1d/default.nix
index 1715a68f5d8a..6b3fe5feb2de 100644
--- a/pkgs/games/mar1d/default.nix
+++ b/pkgs/games/mar1d/default.nix
@@ -12,10 +12,10 @@
stdenv.mkDerivation rec {
pname = "MAR1D";
- version = "0.3.0";
+ version = "0.3.1";
src = fetchFromGitHub {
- sha256 = "sha256-/QZH2H0PFCLeweXUE11vimLnJTt86PjnTnHC9vWkKsk=";
+ sha256 = "sha256-c48azBGdnzhEQGUeRJWlNLJhtrYjnpiORuWvowcQK5Y=";
rev = "v${version}";
repo = "MAR1D";
owner = "Radvendii";
diff --git a/pkgs/games/vassal/default.nix b/pkgs/games/vassal/default.nix
index d94a24e528c2..fd3df36bdb51 100644
--- a/pkgs/games/vassal/default.nix
+++ b/pkgs/games/vassal/default.nix
@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "VASSAL";
- version = "3.6.5";
+ version = "3.6.7";
src = fetchzip {
url = "https://github.com/vassalengine/vassal/releases/download/${version}/${pname}-${version}-linux.tar.bz2";
- sha256 = "sha256-wnaT0+r599/RboeUfpCZTNd/M2kaCsckI9F+7r7leEE=";
+ sha256 = "sha256-WTYMbVtAciscnBzR4uHmVVXpuge53e32uLmUF8/w6I0=";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 8e1650f4087d..b94f4351ff52 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "evdi";
- version = "1.11.0";
+ version = "1.12.0";
src = fetchFromGitHub {
owner = "DisplayLink";
repo = pname;
rev = "v${version}";
- sha256 = "12n2xbpw2901cvzw467saqqsgs4mwrzp7fs5j2vlyl7kwpcr0pj0";
+ sha256 = "sha256-JZKZ7+1OMbBtUA7pAZ41TzeDDyiD0h7yTXJINJ5FjN4=";
};
NIX_CFLAGS_COMPILE = "-Wno-error -Wno-error=sign-compare";
diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
index 78f1001a3596..20058e7bc821 100644
--- a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
@@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "linux-firmware";
- version = "20220708";
+ version = "20220815";
src = fetchzip {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${version}.tar.gz";
- sha256 = "sha256-jsmbBxQ4RHBySBq2lks5tJ6YTwwlkvVe2Xc0CDJY8IE=";
+ sha256 = "sha256-StPlnwn4KOvOf4fRblDzJQqyI8iIz8e9fo/BsTyCKjI=";
};
installFlags = [ "DESTDIR=$(out)" ];
@@ -16,7 +16,7 @@ stdenvNoCC.mkDerivation rec {
outputHashMode = "recursive";
outputHashAlgo = "sha256";
- outputHash = "sha256-FNYZMJnqR2waODUXisch3ObdEjwQN94QSiBE2dDW4sk=";
+ outputHash = "sha256-VTRrOOkdWepUCKAkziO/0egb3oaQEOJCtsuDEgs/W78=";
meta = with lib; {
description = "Binary firmware collection packaged by kernel.org";
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 377f7fc1c077..7e734a4f13ab 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -334,7 +334,7 @@ stdenv.mkDerivation ((drvAttrs config stdenv.hostPlatform.linux-kernel kernelPat
"CC=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
"HOSTCC=${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"
"ARCH=${stdenv.hostPlatform.linuxArch}"
- ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+ ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
] ++ (stdenv.hostPlatform.linux-kernel.makeFlags or [])
++ extraMakeFlags;
diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix
index 7172aca65f69..f074ab344ab2 100644
--- a/pkgs/os-specific/linux/pax-utils/default.nix
+++ b/pkgs/os-specific/linux/pax-utils/default.nix
@@ -1,19 +1,30 @@
-{ stdenv, lib, fetchurl, bash, gitUpdater }:
+{ stdenv
+, lib
+, fetchurl
+, docbook_xml_dtd_44
+, docbook_xsl
+, libcap
+, pkg-config
+, meson
+, ninja
+, xmlto
+
+, gitUpdater
+}:
stdenv.mkDerivation rec {
pname = "pax-utils";
- version = "1.3.4";
+ version = "1.3.5";
src = fetchurl {
url = "mirror://gentoo/distfiles/${pname}-${version}.tar.xz";
- sha256 = "sha256-i67S+cWujgzaG5x1mQhkEBr8ZPrQpGFuEPP/jviRBAs=";
+ sha256 = "sha256-8KWwPfIwiqLdeq9TuewLK0hFW4YSnkd6FkPeYpBKuHQ=";
};
strictDeps = true;
- buildInputs = [ bash ];
-
- makeFlags = [ "PREFIX=$(out)" ];
+ nativeBuildInputs = [ docbook_xml_dtd_44 docbook_xsl meson ninja pkg-config xmlto ];
+ buildInputs = [ libcap ];
passthru.updateScript = gitUpdater {
inherit pname version;
diff --git a/pkgs/servers/dendrite/default.nix b/pkgs/servers/dendrite/default.nix
index d26b89dd9e58..124b38fb9b46 100644
--- a/pkgs/servers/dendrite/default.nix
+++ b/pkgs/servers/dendrite/default.nix
@@ -3,16 +3,16 @@
buildGoModule rec {
pname = "matrix-dendrite";
- version = "0.9.1";
+ version = "0.9.3";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "dendrite";
rev = "v${version}";
- sha256 = "Fg7yfP5cM/mNAsIZAI/WGNLuz8l3vxyY8bb1NjuZELc=";
+ sha256 = "sha256-A/4FN0FYuhP5AO7yQq/o5ZJKEJAotfervot70Scgj6M=";
};
- vendorSha256 = "+9mjg8avOHPQTzBnfgim10Lfgpsu8nTQf1qYB0SLFys=";
+ vendorSha256 = "sha256-tgVImIfn1lPTYGXczoAxVta3L+VR0v13KowLIYQ7bwY=";
checkInputs = [
postgresqlTestHook
diff --git a/pkgs/servers/dns/pdns/default.nix b/pkgs/servers/dns/pdns/default.nix
index 9dddfb03089d..beee5d3a4d77 100644
--- a/pkgs/servers/dns/pdns/default.nix
+++ b/pkgs/servers/dns/pdns/default.nix
@@ -4,12 +4,12 @@
}:
stdenv.mkDerivation rec {
- pname = "powerdns";
- version = "4.6.2";
+ pname = "pdns";
+ version = "4.6.3";
src = fetchurl {
url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
- hash = "sha256-9EOEiUS7Ebu0hQIhYTs6Af+1f+vyZx2myqVzYu4LGbg=";
+ hash = "sha256-rNBricoB0a32G5BmBGFPDh13oelO7srej/XVOhbbc4k=";
};
# redact configure flags from version output to reduce closure size
patches = [ ./version.patch ];
diff --git a/pkgs/servers/elasticmq-server-bin/default.nix b/pkgs/servers/elasticmq-server-bin/default.nix
index fe94125c6ae5..8fa65600e9ac 100644
--- a/pkgs/servers/elasticmq-server-bin/default.nix
+++ b/pkgs/servers/elasticmq-server-bin/default.nix
@@ -3,11 +3,11 @@
let
elasticmq-server = stdenv.mkDerivation rec {
pname = "elasticmq-server";
- version = "1.2.0";
+ version = "1.3.9";
src = fetchurl {
url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/${pname}-${version}.jar";
- sha256 = "06bn5ixz0pvvhfvavr6njv8c2i9pgd6gj32wnp2f0fn0z1kypn1f";
+ sha256 = "sha256-+l7QX/2HrcPuAJ3kHPAKx1yWtF5mkODzoFjYIPxc6oU=";
};
# don't do anything?
diff --git a/pkgs/servers/rustypaste/default.nix b/pkgs/servers/rustypaste/default.nix
new file mode 100644
index 000000000000..a103ed8a461b
--- /dev/null
+++ b/pkgs/servers/rustypaste/default.nix
@@ -0,0 +1,31 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "rustypaste";
+ version = "0.7.1";
+
+ src = fetchFromGitHub{
+ owner = "orhun";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-NGrz08cpio745oVYtfNO1jpViYLaxZ9ZRXQdQG/f0oM=";
+ };
+
+ cargoSha256 = "sha256-UQNe2O664PXvcSu6MI5F8RdYJJholjF9iO2I5OSMm2A=";
+
+ # Some tests need network
+ checkFlags = [
+ "--skip paste::tests::test_paste_data"
+ "--skip server::tests::test_upload_file"
+ "--skip server::tests::test_upload_remote_file"
+ "--skip util::tests::test_get_expired_files"
+ ];
+
+ meta = with lib; {
+ description = "A minimal file upload/pastebin service";
+ homepage = "https://github.com/orhun/rustypaste";
+ changelog = "https://github.com/orhun/rustypaste/blob/v${version}/CHANGELOG.md";
+ license = licenses.mit;
+ maintainers = with maintainers; [ seqizz ];
+ };
+}
diff --git a/pkgs/servers/sql/patroni/default.nix b/pkgs/servers/sql/patroni/default.nix
index e3d5089dfa0a..6eaaa4a7366a 100644
--- a/pkgs/servers/sql/patroni/default.nix
+++ b/pkgs/servers/sql/patroni/default.nix
@@ -1,6 +1,7 @@
{ lib
, pythonPackages
, fetchFromGitHub
+, nixosTests
}:
pythonPackages.buildPythonApplication rec {
@@ -53,6 +54,10 @@ pythonPackages.buildPythonApplication rec {
pythonImportsCheck = [ "patroni" ];
+ passthru.tests = {
+ patroni = nixosTests.patroni;
+ };
+
meta = with lib; {
homepage = "https://patroni.readthedocs.io/en/latest/";
description = "A Template for PostgreSQL HA with ZooKeeper, etcd or Consul";
diff --git a/pkgs/servers/web-apps/netbox/default.nix b/pkgs/servers/web-apps/netbox/default.nix
index c0bff844a246..355503d38347 100644
--- a/pkgs/servers/web-apps/netbox/default.nix
+++ b/pkgs/servers/web-apps/netbox/default.nix
@@ -17,13 +17,13 @@ let
in
py.pkgs.buildPythonApplication rec {
pname = "netbox";
- version = "3.2.7";
+ version = "3.2.8";
src = fetchFromGitHub {
owner = "netbox-community";
repo = pname;
rev = "refs/tags/v${version}";
- sha256 = "sha256-NIyAZZrq/Io8VyEG0TE5C3ugq+MPraJ45hi0Vx/b1OQ=";
+ sha256 = "sha256-fMTla+WVojoStwguHvsciyr0YNI09AvotuGB2o0hBUQ=";
};
format = "other";
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
index 118ce5398c35..e9e9e4b4daba 100644
--- a/pkgs/tools/X11/x11vnc/default.nix
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -51,10 +51,6 @@ stdenv.mkDerivation rec {
sed -i -e '/^\tXdummy.c\ \\$/,$d' -e 's/\tx11vnc_loop\ \\/\tx11vnc_loop/' misc/Makefile.am
'';
- preConfigure = ''
- configureFlags="--mandir=$out/share/man"
- '';
-
meta = with lib; {
description = "A VNC server connected to a real X11 screen";
homepage = "https://github.com/LibVNC/x11vnc/";
diff --git a/pkgs/tools/misc/instaloader/default.nix b/pkgs/tools/misc/instaloader/default.nix
new file mode 100644
index 000000000000..fe193f43895f
--- /dev/null
+++ b/pkgs/tools/misc/instaloader/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, sphinx
+, requests
+}:
+
+buildPythonPackage rec {
+ pname = "instaloader";
+ version = "4.9.2";
+ format = "pyproject";
+
+ disabled = pythonOlder "3.6";
+
+ src = fetchFromGitHub {
+ owner = "instaloader";
+ repo = "instaloader";
+ rev = "v${version}";
+ sha256 = "sha256-IzOXtoHuKbeHlp4URAlRrSKZ8mRTK7QgsWGd5a99thY=";
+ };
+
+ propagatedBuildInputs = [
+ requests
+ sphinx
+ ];
+
+ pythonImportsCheck = [ "instaloader" ];
+
+ meta = with lib; {
+ homepage = "https://instaloader.github.io/";
+ description = "Download pictures (or videos) along with their captions and other metadata from Instagram";
+ maintainers = with maintainers; [ creator54 ];
+ license = licenses.mit;
+ };
+}
diff --git a/pkgs/tools/networking/bukubrow/default.nix b/pkgs/tools/networking/bukubrow/default.nix
index f9747d4e0a07..84d2467e6ad8 100644
--- a/pkgs/tools/networking/bukubrow/default.nix
+++ b/pkgs/tools/networking/bukubrow/default.nix
@@ -9,16 +9,16 @@ manifest = {
in rustPlatform.buildRustPackage rec {
pname = "bukubrow-host";
- version = "5.0.0";
+ version = "5.4.0";
src = fetchFromGitHub {
owner = "SamHH";
repo = pname;
rev = "v${version}";
- sha256 = "1a3gqxj6d1shv3w0v9m8x2xr0bvcynchy778yqalxkc3x4vr0nbn";
+ sha256 = "sha256-xz5Agsm+ATQXXgpPGN4EQ00i1t8qUlrviNHauVdCu4U=";
};
- cargoSha256 = "0z6i9wzz5gy9rs8cxfmwg4mpfajv0xvj4nn6jfl7f1rw6k457jc9";
+ cargoSha256 = "sha256-mH76ODPKlKDEK9ckThPnL5Ar7p1l1gNd7zXfesLZlBM=";
buildInputs = [ sqlite ];
diff --git a/pkgs/tools/networking/hysteria/default.nix b/pkgs/tools/networking/hysteria/default.nix
index 6807b509adc7..d0178698775f 100644
--- a/pkgs/tools/networking/hysteria/default.nix
+++ b/pkgs/tools/networking/hysteria/default.nix
@@ -4,16 +4,16 @@
}:
buildGoModule rec {
pname = "hysteria";
- version = "1.1.0";
+ version = "1.2.0";
src = fetchFromGitHub {
owner = "HyNetwork";
- repo = "hysteria";
+ repo = pname;
rev = "v${version}";
- sha256 = "sha256-V+umf7+qRANSNsMrU1Vij3ni6ayq/d41xSy3o+7sEHQ=";
+ sha256 = "sha256-aHIb79P1a+91hIcK1toHZqqXIZ0rwfGXDQc42rQQmX4=";
};
- vendorSha256 = "sha256-oxCZ4+E3kffHr8ca9BKCSYcSWQ8jwpzrFs0fvCvZyJE=";
+ vendorSha256 = "sha256-yAQpyz4pDXOfGF4hho/2Pt9yD3VdWYAmIvaXJjDMjis=";
proxyVendor = true;
# Network required
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index bbaa588545f6..91321cb593f6 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -14,20 +14,20 @@
stdenv.mkDerivation rec {
pname = "mu";
- version = "1.8.8";
+ version = "1.8.9";
src = fetchFromGitHub {
owner = "djcb";
repo = "mu";
rev = "v${version}";
- hash = "sha256-kgskeQM6zESkjDWmgGqhZlGnH8naZ5k0sw+70ZzW2/E=";
+ hash = "sha256-AqbTYcPwV9iNar34pESbz9Vp/88hhB+/VxcLIhLZ16o=";
};
postPatch = ''
# Fix mu4e-builddir (set it to $out)
substituteInPlace mu4e/mu4e-config.el.in \
--replace "@abs_top_builddir@" "$out"
- substituteInPlace lib/utils/mu-utils.cc \
+ substituteInPlace lib/utils/mu-test-utils.cc \
--replace "/bin/rm" "${coreutils}/bin/rm"
'';
diff --git a/pkgs/tools/security/ic-keysmith/default.nix b/pkgs/tools/security/ic-keysmith/default.nix
index 9e480d64d18e..522323e4e4a4 100644
--- a/pkgs/tools/security/ic-keysmith/default.nix
+++ b/pkgs/tools/security/ic-keysmith/default.nix
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "keysmith";
- version = "1.6.0";
+ version = "1.6.2";
src = fetchFromGitHub {
owner = "dfinity";
repo = "keysmith";
rev = "v${version}";
- sha256 = "1z0sxirk71yabgilq8v5lz4nd2bbm1xyrd5zppif8k9jqhr6v3v3";
+ sha256 = "sha256-+wYWIoPYc7qpTRS4Zlxp50Up8obZOmfQpiT0SWwVJE0=";
};
- vendorSha256 = "1p0r15ihmnmrybf12cycbav80sdj2dv2kry66f4hjfjn6k8zb0dc";
+ vendorSha256 = "sha256-rIH10TRWOgmJM8bnKXYTsmmAtlrMMxHc8rnaCmMJGdw=";
meta = with lib; {
description = "Hierarchical Deterministic Key Derivation for the Internet Computer";
diff --git a/pkgs/tools/system/tuptime/default.nix b/pkgs/tools/system/tuptime/default.nix
index 7c13df3ec15e..d7034dd76223 100644
--- a/pkgs/tools/system/tuptime/default.nix
+++ b/pkgs/tools/system/tuptime/default.nix
@@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "tuptime";
- version = "5.1.0";
+ version = "5.2.0";
src = fetchFromGitHub {
owner = "rfrail3";
repo = "tuptime";
rev = version;
- sha256 = "sha256-6N4dqgLOhWqVR8GqlBUxHWy10AHBZ4aZbdkw5SOxxBQ=";
+ sha256 = "sha256-s0VtKOaSPQlF58/2m/DwYDuHHPGnHVAJMA/p3hISTNE=";
};
nativeBuildInputs = [ makeWrapper installShellFiles ];
@@ -41,6 +41,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Total uptime & downtime statistics utility";
homepage = "https://github.com/rfrail3/tuptime";
+ changelog = "https://github.com/rfrail3/tuptime/blob/master/CHANGELOG";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = [ maintainers.evils ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 4da930cad307..c3c84b03c8d6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3789,7 +3789,9 @@ with pkgs;
fits-cloudctl = callPackage ../tools/admin/fits-cloudctl { };
- flitter = callPackage ../tools/misc/flitter { };
+ flitter = callPackage ../tools/misc/flitter {
+ ocamlPackages = ocaml-ng.ocamlPackages_4_13;
+ };
frangipanni = callPackage ../tools/text/frangipanni { };
@@ -4023,6 +4025,8 @@ with pkgs;
});
};
+ hysteria = callPackage ../tools/networking/hysteria { };
+
hyx = callPackage ../tools/text/hyx { };
icdiff = callPackage ../tools/text/icdiff {};
@@ -10455,6 +10459,8 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Security;
};
+ rustypaste = callPackage ../servers/rustypaste { };
+
rw = callPackage ../tools/misc/rw { };
rwc = callPackage ../tools/system/rwc { };
@@ -14347,6 +14353,9 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) CoreServices Security SystemConfiguration;
};
cargo-valgrind = callPackage ../development/tools/rust/cargo-valgrind { };
+ cargo-wasi = callPackage ../development/tools/rust/cargo-wasi {
+ inherit (darwin.apple_sdk.frameworks) Security;
+ };
cargo-watch = callPackage ../development/tools/rust/cargo-watch {
inherit (darwin.apple_sdk.frameworks) CoreServices Foundation;
};
@@ -27955,7 +27964,9 @@ with pkgs;
indigenous-desktop = callPackage ../applications/networking/feedreaders/indigenous-desktop { };
- jackline = callPackage ../applications/networking/instant-messengers/jackline { };
+ jackline = callPackage ../applications/networking/instant-messengers/jackline {
+ ocamlPackages = ocaml-ng.ocamlPackages_4_13;
+ };
keylight-controller-mschneider82 = callPackage ../applications/misc/keylight-controller-mschneider82 { };
@@ -28637,6 +28648,8 @@ with pkgs;
ladspa-sdk = callPackage ../applications/audio/ladspa-sdk { };
+ ladybird = qt6.callPackage ../applications/networking/browsers/ladybird { };
+
lazpaint = callPackage ../applications/graphics/lazpaint { };
caps = callPackage ../applications/audio/caps { };
@@ -32551,6 +32564,8 @@ with pkgs;
cuyo = callPackage ../games/cuyo { };
+ darkplaces = callPackage ../games/darkplaces {};
+
deliantra-server = callPackage ../games/deliantra/server.nix {
stdenv = gcc10StdenvCompat;
};
@@ -32792,6 +32807,8 @@ with pkgs;
ideogram = callPackage ../applications/graphics/ideogram { };
+ instaloader = python3Packages.callPackage ../tools/misc/instaloader { };
+
instead = callPackage ../games/instead { };
instead-launcher = callPackage ../games/instead-launcher { };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index bbe7bdcc8c27..481a871a916a 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1628,5 +1628,5 @@ in let inherit (pkgs) callPackage; in rec
ocamlPackages_latest = ocamlPackages_4_14;
- ocamlPackages = ocamlPackages_4_13;
+ ocamlPackages = ocamlPackages_4_14;
}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3c6bc28fc4ce..566ed6972e75 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -238,6 +238,8 @@ in {
agent-py = callPackage ../development/python-modules/agent-py { };
+ aggdraw = callPackage ../development/python-modules/aggdraw { };
+
aio-geojson-client = callPackage ../development/python-modules/aio-geojson-client { };
aio-geojson-generic-client = callPackage ../development/python-modules/aio-geojson-generic-client { };
@@ -10845,6 +10847,8 @@ in {
# Used by streamlit, 2021-01-29
tornado_5 = callPackage ../development/python-modules/tornado/5.nix { };
+ torpy = callPackage ../development/python-modules/torpy { };
+
torrequest = callPackage ../development/python-modules/torrequest { };
total-connect-client = callPackage ../development/python-modules/total-connect-client { };