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 { };