From 3c76624c7037a3bbc4c0f49366143067fac864a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 8 Apr 2023 22:59:58 +0200 Subject: [PATCH 01/80] nixos/fzf: add ohMyZsh integration --- nixos/modules/programs/fzf.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/nixos/modules/programs/fzf.nix b/nixos/modules/programs/fzf.nix index eda4eacde4ac..4442d88941c6 100644 --- a/nixos/modules/programs/fzf.nix +++ b/nixos/modules/programs/fzf.nix @@ -1,8 +1,9 @@ -{pkgs, config, lib, ...}: +{ pkgs, config, lib, ... }: with lib; let cfg = config.programs.fzf; -in { +in +{ options = { programs.fzf = { fuzzyCompletion = mkEnableOption (mdDoc "fuzzy completion with fzf"); @@ -11,17 +12,21 @@ in { }; config = { environment.systemPackages = optional (cfg.keybindings || cfg.fuzzyCompletion) pkgs.fzf; + programs.bash.interactiveShellInit = optionalString cfg.fuzzyCompletion '' source ${pkgs.fzf}/share/fzf/completion.bash '' + optionalString cfg.keybindings '' source ${pkgs.fzf}/share/fzf/key-bindings.bash ''; - programs.zsh.interactiveShellInit = optionalString cfg.fuzzyCompletion '' - source ${pkgs.fzf}/share/fzf/completion.zsh - '' + optionalString cfg.keybindings '' - source ${pkgs.fzf}/share/fzf/key-bindings.zsh - ''; + programs.zsh.interactiveShellInit = optionalString (!config.programs.zsh.ohMyZsh.enable) + (optionalString cfg.fuzzyCompletion '' + source ${pkgs.fzf}/share/fzf/completion.zsh + '' + optionalString cfg.keybindings '' + source ${pkgs.fzf}/share/fzf/key-bindings.zsh + ''); + + programs.zsh.ohMyZsh.plugins = optional (cfg.keybindings || cfg.fuzzyCompletion) [ "fzf" ]; }; meta.maintainers = with maintainers; [ laalsaas ]; } From 4c97c79eb75cdc8116bfa89a1b1d850491b3e664 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Sun, 30 Apr 2023 13:07:01 +0200 Subject: [PATCH 02/80] cloud-init: add patch for vultr This patch fixes the DataSourceVultr logic so cloud-init works properly on Vultr. --- .../0003-vultr-remove-check_route-check.patch | 110 ++++++++++++++++++ .../virtualization/cloud-init/default.nix | 8 +- 2 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 pkgs/tools/virtualization/cloud-init/0003-vultr-remove-check_route-check.patch diff --git a/pkgs/tools/virtualization/cloud-init/0003-vultr-remove-check_route-check.patch b/pkgs/tools/virtualization/cloud-init/0003-vultr-remove-check_route-check.patch new file mode 100644 index 000000000000..d0d635b939f2 --- /dev/null +++ b/pkgs/tools/virtualization/cloud-init/0003-vultr-remove-check_route-check.patch @@ -0,0 +1,110 @@ +From 6df2a198013ebed9aeff119ee0d15cb2d616474c Mon Sep 17 00:00:00 2001 +From: zimbatm +Date: Sun, 30 Apr 2023 12:13:54 +0200 +Subject: [PATCH] vultr: remove check_route check + +The heuristic is assuming that the URL will contain an IP, and that the +route explicitly lists that IP (eg: 0.0.0.0/0 should match but doesn't). +In order for the heuristic to be 100% reliable, it would have to +replicate exactly what the system is doing both in terms of DNS and +route resolution. + +Because the HTTP request below is already exercising the python nd +system resolution, it is simpler to just remove this check and lean on +the HTTP request to provide the answer if the network is up or not. +--- + cloudinit/sources/helpers/vultr.py | 22 ---------------------- + tests/unittests/sources/test_vultr.py | 12 ------------ + 2 files changed, 34 deletions(-) + +diff --git a/cloudinit/sources/helpers/vultr.py b/cloudinit/sources/helpers/vultr.py +index 71676bb1..aac2a610 100644 +--- a/cloudinit/sources/helpers/vultr.py ++++ b/cloudinit/sources/helpers/vultr.py +@@ -32,10 +32,6 @@ def get_metadata( + iface=iface, + connectivity_url_data={"url": url}, + ): +- # Check for the metadata route, skip if not there +- if not check_route(url): +- continue +- + # Fetch the metadata + v1 = read_metadata(url, timeout, retries, sec_between, agent) + +@@ -75,24 +71,6 @@ def get_interface_list(): + return ifaces + + +-# Check for /32 route that our dhcp servers inject +-# in order to determine if this a customer-run dhcp server +-def check_route(url): +- # Get routes, confirm entry exists +- routes = netinfo.route_info() +- +- # If no tools exist and empty dict is returned +- if "ipv4" not in routes: +- return False +- +- # Parse each route into a more searchable format +- for route in routes["ipv4"]: +- if route.get("destination", None) in url: +- return True +- +- return False +- +- + # Read the system information from SMBIOS + def get_sysinfo(): + return { +diff --git a/tests/unittests/sources/test_vultr.py b/tests/unittests/sources/test_vultr.py +index ba21ae24..7fa02b1c 100644 +--- a/tests/unittests/sources/test_vultr.py ++++ b/tests/unittests/sources/test_vultr.py +@@ -274,14 +274,6 @@ INTERFACE_MAP = { + FINAL_INTERFACE_USED = "" + + +-# Static override, pylint doesnt like this in +-# classes without self +-def check_route(url): +- if FINAL_INTERFACE_USED == "eth0": +- return True +- return False +- +- + class TestDataSourceVultr(CiTestCase): + def setUp(self): + global VULTR_V1_3 +@@ -431,7 +423,6 @@ class TestDataSourceVultr(CiTestCase): + @mock.patch( + "cloudinit.net.ephemeral.EphemeralDHCPv4.__exit__", override_exit + ) +- @mock.patch("cloudinit.sources.helpers.vultr.check_route") + @mock.patch("cloudinit.sources.helpers.vultr.is_vultr") + @mock.patch("cloudinit.sources.helpers.vultr.read_metadata") + @mock.patch("cloudinit.sources.helpers.vultr.get_interface_list") +@@ -440,12 +431,10 @@ class TestDataSourceVultr(CiTestCase): + mock_interface_list, + mock_read_metadata, + mock_isvultr, +- mock_check_route, + ): + mock_read_metadata.return_value = {} + mock_isvultr.return_value = True + mock_interface_list.return_value = FILTERED_INTERFACES +- mock_check_route.return_value = True + + distro = mock.MagicMock() + distro.get_tmp_exec_path = self.tmp_dir +@@ -461,7 +450,6 @@ class TestDataSourceVultr(CiTestCase): + self.assertEqual(FINAL_INTERFACE_USED, INTERFACES[3]) + + # Test route checking sucessful DHCPs +- @mock.patch("cloudinit.sources.helpers.vultr.check_route", check_route) + @mock.patch( + "cloudinit.net.ephemeral.EphemeralDHCPv4.__init__", + ephemeral_init_always, +-- +2.40.0 + diff --git a/pkgs/tools/virtualization/cloud-init/default.nix b/pkgs/tools/virtualization/cloud-init/default.nix index 44b47a2ac6d0..fa9b21defc75 100644 --- a/pkgs/tools/virtualization/cloud-init/default.nix +++ b/pkgs/tools/virtualization/cloud-init/default.nix @@ -26,7 +26,13 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-tn4flcrf04hVWhqkmK4qDenXcnV93pP+C+8J63b6FXQ="; }; - patches = [ ./0001-add-nixos-support.patch ./0002-Add-Udhcpc-support.patch ]; + patches = [ + ./0001-add-nixos-support.patch + # upstream: https://github.com/canonical/cloud-init/pull/2125 + ./0002-Add-Udhcpc-support.patch + # upstream: https://github.com/canonical/cloud-init/pull/2151 + ./0003-vultr-remove-check_route-check.patch + ]; prePatch = '' substituteInPlace setup.py \ From de8b1cf647dcde12f59ffde2d1a17e003cf080b0 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Sun, 30 Apr 2023 14:58:29 +0200 Subject: [PATCH 03/80] cloud-init module: format with nixpkgs-fmt --- nixos/modules/services/system/cloud-init.nix | 150 ++++++++++--------- 1 file changed, 78 insertions(+), 72 deletions(-) diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix index 82506596bc7f..788e3fd00ce7 100644 --- a/nixos/modules/services/system/cloud-init.nix +++ b/nixos/modules/services/system/cloud-init.nix @@ -2,18 +2,20 @@ with lib; -let cfg = config.services.cloud-init; - path = with pkgs; [ - cloud-init - iproute2 - nettools - openssh - shadow - util-linux - busybox - ] ++ optional cfg.btrfs.enable btrfs-progs - ++ optional cfg.ext4.enable e2fsprogs - ; +let + cfg = config.services.cloud-init; + path = with pkgs; [ + cloud-init + iproute2 + nettools + openssh + shadow + util-linux + busybox + ] + ++ optional cfg.btrfs.enable btrfs-progs + ++ optional cfg.ext4.enable e2fsprogs + ; in { options = { @@ -110,7 +112,7 @@ in - phone-home - final-message - power-state-change - ''; + ''; description = lib.mdDoc "cloud-init configuration."; }; @@ -124,73 +126,77 @@ in systemd.network.enable = cfg.network.enable; - systemd.services.cloud-init-local = - { description = "Initial cloud-init job (pre-networking)"; - wantedBy = [ "multi-user.target" ]; - before = ["systemd-networkd.service"]; - path = path; - serviceConfig = - { Type = "oneshot"; - ExecStart = "${pkgs.cloud-init}/bin/cloud-init init --local"; - RemainAfterExit = "yes"; - TimeoutSec = "infinity"; - StandardOutput = "journal+console"; - }; + systemd.services.cloud-init-local = { + description = "Initial cloud-init job (pre-networking)"; + wantedBy = [ "multi-user.target" ]; + before = [ "systemd-networkd.service" ]; + path = path; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.cloud-init}/bin/cloud-init init --local"; + RemainAfterExit = "yes"; + TimeoutSec = "infinity"; + StandardOutput = "journal+console"; }; + }; - systemd.services.cloud-init = - { description = "Initial cloud-init job (metadata service crawler)"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" "cloud-init-local.service" - "sshd.service" "sshd-keygen.service" ]; - after = [ "network-online.target" "cloud-init-local.service" ]; - before = [ "sshd.service" "sshd-keygen.service" ]; - requires = [ "network.target"]; - path = path; - serviceConfig = - { Type = "oneshot"; - ExecStart = "${pkgs.cloud-init}/bin/cloud-init init"; - RemainAfterExit = "yes"; - TimeoutSec = "infinity"; - StandardOutput = "journal+console"; - }; + systemd.services.cloud-init = { + description = "Initial cloud-init job (metadata service crawler)"; + wantedBy = [ "multi-user.target" ]; + wants = [ + "network-online.target" + "cloud-init-local.service" + "sshd.service" + "sshd-keygen.service" + ]; + after = [ "network-online.target" "cloud-init-local.service" ]; + before = [ "sshd.service" "sshd-keygen.service" ]; + requires = [ "network.target" ]; + path = path; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.cloud-init}/bin/cloud-init init"; + RemainAfterExit = "yes"; + TimeoutSec = "infinity"; + StandardOutput = "journal+console"; }; + }; - systemd.services.cloud-config = - { description = "Apply the settings specified in cloud-config"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" "syslog.target" "cloud-config.target" ]; + systemd.services.cloud-config = { + description = "Apply the settings specified in cloud-config"; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" "syslog.target" "cloud-config.target" ]; - path = path; - serviceConfig = - { Type = "oneshot"; - ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=config"; - RemainAfterExit = "yes"; - TimeoutSec = "infinity"; - StandardOutput = "journal+console"; - }; + path = path; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=config"; + RemainAfterExit = "yes"; + TimeoutSec = "infinity"; + StandardOutput = "journal+console"; }; + }; - systemd.services.cloud-final = - { description = "Execute cloud user/final scripts"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" "syslog.target" "cloud-config.service" "rc-local.service" ]; - requires = [ "cloud-config.target" ]; - path = path; - serviceConfig = - { Type = "oneshot"; - ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=final"; - RemainAfterExit = "yes"; - TimeoutSec = "infinity"; - StandardOutput = "journal+console"; - }; + systemd.services.cloud-final = { + description = "Execute cloud user/final scripts"; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ]; + after = [ "network-online.target" "syslog.target" "cloud-config.service" "rc-local.service" ]; + requires = [ "cloud-config.target" ]; + path = path; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.cloud-init}/bin/cloud-init modules --mode=final"; + RemainAfterExit = "yes"; + TimeoutSec = "infinity"; + StandardOutput = "journal+console"; }; + }; - systemd.targets.cloud-config = - { description = "Cloud-config availability"; - requires = [ "cloud-init-local.service" "cloud-init.service" ]; - }; + systemd.targets.cloud-config = { + description = "Cloud-config availability"; + requires = [ "cloud-init-local.service" "cloud-init.service" ]; + }; }; } From 4a1fd4afe03fe8ed4417df608ae86e6c3a4b3a6f Mon Sep 17 00:00:00 2001 From: zimbatm Date: Sun, 30 Apr 2023 14:59:16 +0200 Subject: [PATCH 04/80] cloud-init module: remove superfluous lib. prefixes --- nixos/modules/services/system/cloud-init.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix index 788e3fd00ce7..c78bc9b91ee2 100644 --- a/nixos/modules/services/system/cloud-init.nix +++ b/nixos/modules/services/system/cloud-init.nix @@ -23,7 +23,7 @@ in enable = mkOption { type = types.bool; default = false; - description = lib.mdDoc '' + description = mdDoc '' Enable the cloud-init service. This services reads configuration metadata in a cloud environment and configures the machine according to this metadata. @@ -42,7 +42,7 @@ in btrfs.enable = mkOption { type = types.bool; default = false; - description = lib.mdDoc '' + description = mdDoc '' Allow the cloud-init service to operate `btrfs` filesystem. ''; }; @@ -50,7 +50,7 @@ in ext4.enable = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = mdDoc '' Allow the cloud-init service to operate `ext4` filesystem. ''; }; @@ -58,7 +58,7 @@ in network.enable = mkOption { type = types.bool; default = false; - description = lib.mdDoc '' + description = mdDoc '' Allow the cloud-init service to configure network interfaces through systemd-networkd. ''; @@ -113,7 +113,7 @@ in - final-message - power-state-change ''; - description = lib.mdDoc "cloud-init configuration."; + description = mdDoc "cloud-init configuration."; }; }; From 406a6dfa26087dd7a71e938457a5a4302514a8bf Mon Sep 17 00:00:00 2001 From: zimbatm Date: Sun, 30 Apr 2023 14:05:01 +0200 Subject: [PATCH 05/80] cloud-init module: adopt the settings format This makes it easier to for example set `datasource_list = [ "Vultr" ];` so that cloud-init doesn't scan trough all of the datasources when you know on which target the system is going to be deployed. Previously, one had to copy-paste the default config and adapt it. --- nixos/modules/services/system/cloud-init.nix | 125 +++++++++++-------- 1 file changed, 76 insertions(+), 49 deletions(-) diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix index c78bc9b91ee2..8c932b0e6f78 100644 --- a/nixos/modules/services/system/cloud-init.nix +++ b/nixos/modules/services/system/cloud-init.nix @@ -16,6 +16,8 @@ let ++ optional cfg.btrfs.enable btrfs-progs ++ optional cfg.ext4.enable e2fsprogs ; + settingsFormat = pkgs.formats.yaml { }; + cfgfile = settingsFormat.generate "cloud.cfg" cfg.settings; in { options = { @@ -64,65 +66,90 @@ in ''; }; + settings = mkOption { + description = mdDoc '' + Structured cloud-init configuration. + ''; + type = types.submodule { + freeformType = settingsFormat.type; + }; + default = { }; + }; + config = mkOption { type = types.str; - default = '' - system_info: - distro: nixos - network: - renderers: [ 'networkd' ] - users: - - root + default = ""; + description = mdDoc '' + raw cloud-init configuration. - disable_root: false - preserve_hostname: false - - cloud_init_modules: - - migrator - - seed_random - - bootcmd - - write-files - - growpart - - resizefs - - update_hostname - - resolv_conf - - ca-certs - - rsyslog - - users-groups - - cloud_config_modules: - - disk_setup - - mounts - - ssh-import-id - - set-passwords - - timezone - - disable-ec2-metadata - - runcmd - - ssh - - cloud_final_modules: - - rightscale_userdata - - scripts-vendor - - scripts-per-once - - scripts-per-boot - - scripts-per-instance - - scripts-user - - ssh-authkey-fingerprints - - keys-to-console - - phone-home - - final-message - - power-state-change + Takes precedence over the `settings` option if set. ''; - description = mdDoc "cloud-init configuration."; }; }; }; - config = mkIf cfg.enable { + config = { + services.cloud-init.settings = { + system_info = mkDefault { + distro = "nixos"; + network = { + renderers = [ "networkd" ]; + }; + }; - environment.etc."cloud/cloud.cfg".text = cfg.config; + users = mkDefault [ "root" ]; + disable_root = mkDefault false; + preserve_hostname = mkDefault false; + + cloud_init_modules = mkDefault [ + "migrator" + "seed_random" + "bootcmd" + "write-files" + "growpart" + "resizefs" + "update_hostname" + "resolv_conf" + "ca-certs" + "rsyslog" + "users-groups" + ]; + + cloud_config_modules = mkDefault [ + "disk_setup" + "mounts" + "ssh-import-id" + "set-passwords" + "timezone" + "disable-ec2-metadata" + "runcmd" + "ssh" + ]; + + cloud_final_modules = mkDefault [ + "rightscale_userdata" + "scripts-vendor" + "scripts-per-once" + "scripts-per-boot" + "scripts-per-instance" + "scripts-user" + "ssh-authkey-fingerprints" + "keys-to-console" + "phone-home" + "final-message" + "power-state-change" + ]; + }; + } // (mkIf cfg.enable { + + environment.etc."cloud/cloud.cfg" = + if cfg.config == "" then + { source = cfgfile; } + else + { text = cfg.config; } + ; systemd.network.enable = cfg.network.enable; @@ -198,5 +225,5 @@ in description = "Cloud-config availability"; requires = [ "cloud-init-local.service" "cloud-init.service" ]; }; - }; + }); } From e97667163ea4b9e17f2341c08c066ff47ce3722a Mon Sep 17 00:00:00 2001 From: Luflosi Date: Tue, 18 Apr 2023 17:45:26 +0200 Subject: [PATCH 06/80] verilog: 11.0 -> 12.0 https://github.com/steveicarus/iverilog/releases/tag/v12_0 Bump `iverilog` to 12.0, fixing two build failures: 1. autoconf now picks up on the unwrapped `x86_64-unknown-gnu-gcc` in path that fails at configurePhase to link executables. See: https://github.com/NixOS/nixpkgs/issues/21751 fix/hack: define the `{CC,CXX}_FOR_BUILD` variables. 2. buildPhase generates a `-Werror=format-security` error. Backport the the upstream patch that fixed the warning very shortly after the release was cut. And in the process, - use post-install tests from `.github/test.sh` and as a result, remove the now unneeded clone of `ivtest` - un-pin the verilog autoconf version Signed-off-by: Jack Leightcap --- .../science/electronics/verilog/default.nix | 56 ++++++++++--------- pkgs/top-level/all-packages.nix | 4 +- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix index 994ecb8c1314..485bc27e801c 100644 --- a/pkgs/applications/science/electronics/verilog/default.nix +++ b/pkgs/applications/science/electronics/verilog/default.nix @@ -1,5 +1,6 @@ { lib, stdenv , fetchFromGitHub +, fetchpatch , autoconf , bison , bzip2 @@ -7,56 +8,57 @@ , gperf , ncurses , perl +, python3 , readline , zlib }: -let - # iverilog-test has been merged to the main iverilog main source tree - # in January 2022, so it won't be longer necessary. - # For now let's fetch it from the separate repo, since 11.0 was released in 2020. - iverilog-test = fetchFromGitHub { - owner = "steveicarus"; - repo = "ivtest"; - rev = "a19e629a1879801ffcc6f2e6256ca435c20570f3"; - sha256 = "sha256-3EkmrAXU0/mRxrxp5Hy7C3yWTVK16L+tPqqeEryY/r8="; - }; -in stdenv.mkDerivation rec { pname = "iverilog"; - version = "11.0"; + version = "12.0"; src = fetchFromGitHub { owner = "steveicarus"; repo = pname; rev = "v${lib.replaceStrings ["."] ["_"] version}"; - sha256 = "0nzcyi6l2zv9wxzsv9i963p3igyjds0n55x0ph561mc3pfbc7aqp"; + hash = "sha256-J9hedSmC6mFVcoDnXBtaTXigxrSCFa2AhhFd77ueo7I="; }; nativeBuildInputs = [ autoconf bison flex gperf ]; + CC_FOR_BUILD="${stdenv.cc}/bin/cc"; + CXX_FOR_BUILD="${stdenv.cc}/bin/c++"; + + patches = [ + # NOTE(jleightcap): `-Werror=format-security` warning patched shortly after release, backport the upstream fix + (fetchpatch { + name = "format-security"; + url = "https://github.com/steveicarus/iverilog/commit/23e51ef7a8e8e4ba42208936e0a6a25901f58c65.patch"; + hash = "sha256-fMWfBsCl2fuXe+6AR10ytb8QpC84bXlP5RSdrqsWzEk="; + }) + ]; + buildInputs = [ bzip2 ncurses readline zlib ]; preConfigure = "sh autoconf.sh"; enableParallelBuilding = true; - nativeInstallCheckInputs = [ perl ]; + doCheck = true; + doInstallCheck = true; + + nativeInstallCheckInputs = [ + perl + (python3.withPackages (pp: with pp; [ + docopt + ])) + ]; installCheckPhase = '' - # copy tests to allow writing results - export TESTDIR=$(mktemp -d) - cp -r ${iverilog-test}/* $TESTDIR - - pushd $TESTDIR - - # Run & check tests - PATH=$out/bin:$PATH perl vvp_reg.pl - # Check the tests, will error if unexpected tests fail. Some failures MIGHT be normal. - diff regression_report-devel.txt regression_report.txt - PATH=$out/bin:$PATH perl vpi_reg.pl - - popd + runHook preInstallCheck + export PATH="$PATH:$out/bin" + sh .github/test.sh + runHook postInstallCheck ''; meta = with lib; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5a46b6afe7f6..c2a47535da37 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13336,9 +13336,7 @@ with pkgs; verilator = callPackage ../applications/science/electronics/verilator { }; - verilog = callPackage ../applications/science/electronics/verilog { - autoconf = buildPackages.autoconf269; - }; + verilog = callPackage ../applications/science/electronics/verilog { }; versus = callPackage ../applications/networking/versus { }; From ebf88190cce9a092f9c7abe195548057a0273e51 Mon Sep 17 00:00:00 2001 From: Niko Strijbol Date: Thu, 30 Mar 2023 13:40:35 +0200 Subject: [PATCH 07/80] jetbrains-jcef: 611 -> 654 --- pkgs/development/compilers/jetbrains-jdk/jcef.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/jetbrains-jdk/jcef.nix b/pkgs/development/compilers/jetbrains-jdk/jcef.nix index a1fa2034eeb2..5ce9a414ba8e 100644 --- a/pkgs/development/compilers/jetbrains-jdk/jcef.nix +++ b/pkgs/development/compilers/jetbrains-jdk/jcef.nix @@ -76,8 +76,11 @@ buildType = if debugBuild then "Debug" else "Release"; in stdenv.mkDerivation rec { name = "jcef-jetbrains"; - rev = "153d40c761a25a745d7ebf0ee3a024bbc2c840b5"; - commit-num = "611"; # Run `git rev-list --count HEAD` + rev = "3dfde2a70f1f914c6a84ba967123a0e38f51053f"; + # This is the commit number + # Currently from the 231 branch: https://github.com/JetBrains/jcef/tree/231 + # Run `git rev-list --count HEAD` + version = "654"; nativeBuildInputs = [ cmake python3 jdk17 git rsync ant ninja ]; buildInputs = [ libX11 libXdamage nss nspr ]; @@ -86,7 +89,7 @@ in stdenv.mkDerivation rec { owner = "jetbrains"; repo = "jcef"; inherit rev; - hash = "sha256-Vud4nIT2c7uOK7GKKw3plf41WzKqhg+2xpIwB/LyqnE="; + hash = "sha256-g8jWzRI2uYzu8O7JHENn0u9yY08fvY6g0Uym02oYUMI="; }; cef-bin = let fileName = "cef_binary_104.4.26+g4180781+chromium-104.0.5112.102_linux64_minimal"; @@ -116,7 +119,7 @@ in stdenv.mkDerivation rec { -e 's|os.path.isdir(os.path.join(path, \x27.git\x27))|True|' \ -e 's|"%s rev-parse %s" % (git_exe, branch)|"echo '${rev}'"|' \ -e 's|"%s config --get remote.origin.url" % git_exe|"echo 'https://github.com/jetbrains/jcef'"|' \ - -e 's|"%s rev-list --count %s" % (git_exe, branch)|"echo '${commit-num}'"|' \ + -e 's|"%s rev-list --count %s" % (git_exe, branch)|"echo '${version}'"|' \ -i tools/git_util.py cp ${clang-fmt} tools/buildtools/linux64/clang-format From e2a11e4e29f51408da551e2a196728dae8566598 Mon Sep 17 00:00:00 2001 From: Niko Strijbol Date: Wed, 3 May 2023 23:14:29 +0200 Subject: [PATCH 08/80] jetbrains-jcef: use pname instead of name --- pkgs/development/compilers/jetbrains-jdk/jcef.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/compilers/jetbrains-jdk/jcef.nix b/pkgs/development/compilers/jetbrains-jdk/jcef.nix index 5ce9a414ba8e..d3785703da33 100644 --- a/pkgs/development/compilers/jetbrains-jdk/jcef.nix +++ b/pkgs/development/compilers/jetbrains-jdk/jcef.nix @@ -75,7 +75,7 @@ let rpath = lib.makeLibraryPath [ buildType = if debugBuild then "Debug" else "Release"; in stdenv.mkDerivation rec { - name = "jcef-jetbrains"; + pname = "jcef-jetbrains"; rev = "3dfde2a70f1f914c6a84ba967123a0e38f51053f"; # This is the commit number # Currently from the 231 branch: https://github.com/JetBrains/jcef/tree/231 From 7e0b4143ee9ec17dcbde903e9876b01e3d11ef33 Mon Sep 17 00:00:00 2001 From: Henri Menke Date: Fri, 5 May 2023 09:08:00 +0200 Subject: [PATCH 09/80] libvncserver: make systemd support optional --- pkgs/development/libraries/libvncserver/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix index 7f3f945d6fde..4880c835a1eb 100644 --- a/pkgs/development/libraries/libvncserver/default.nix +++ b/pkgs/development/libraries/libvncserver/default.nix @@ -8,6 +8,7 @@ , zlib , libgcrypt , libpng +, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd , systemd , Carbon }: @@ -29,12 +30,16 @@ stdenv.mkDerivation rec { cmake ]; + cmakeFlags = [ + "-DWITH_SYSTEMD=${if withSystemd then "ON" else "OFF"}" + ]; + buildInputs = [ libjpeg openssl libgcrypt libpng - ] ++ lib.optionals stdenv.isLinux [ + ] ++ lib.optionals withSystemd [ systemd ] ++ lib.optionals stdenv.isDarwin [ Carbon From c4a06db832106d195bfccf1c937a72ff41be80b5 Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 5 May 2023 23:23:20 +0300 Subject: [PATCH 10/80] tests.rustCustomSysroot: remove unmaintained and broken by upstream test --- pkgs/test/default.nix | 1 - pkgs/test/rust-sysroot/default.nix | 60 ------------------------------ 2 files changed, 61 deletions(-) delete mode 100644 pkgs/test/rust-sysroot/default.nix diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index bc810790a3dd..9f684dcea72f 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -53,7 +53,6 @@ with pkgs; pkg-config = recurseIntoAttrs (callPackage ../top-level/pkg-config/tests.nix { }); - rustCustomSysroot = callPackage ./rust-sysroot {}; buildRustCrate = callPackage ../build-support/rust/build-rust-crate/test { }; importCargoLock = callPackage ../build-support/rust/test/import-cargo-lock { }; diff --git a/pkgs/test/rust-sysroot/default.nix b/pkgs/test/rust-sysroot/default.nix deleted file mode 100644 index a5a1596504f9..000000000000 --- a/pkgs/test/rust-sysroot/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ lib, rust, rustPlatform, fetchFromGitHub }: - -let - mkBlogOsTest = target: rustPlatform.buildRustPackage rec { - name = "blog_os-sysroot-test"; - - src = fetchFromGitHub { - owner = "phil-opp"; - repo = "blog_os"; - rev = "4e38e7ddf8dd021c3cd7e4609dfa01afb827797b"; - sha256 = "0k9ipm9ddm1bad7bs7368wzzp6xwrhyfzfpckdax54l4ffqwljcg"; - }; - - cargoSha256 = "1x8iwgy1irgfkv2yjkxm6479nwbrk82b0c80jm7y4kw0s32r01lg"; - - inherit target; - - RUSTFLAGS = "-C link-arg=-nostartfiles"; - - # Tests don't work for `no_std`. See https://os.phil-opp.com/testing/ - doCheck = false; - - meta = with lib; { - description = "Test for using custom sysroots with buildRustPackage"; - maintainers = with maintainers; [ aaronjanse ]; - platforms = lib.platforms.x86_64; - }; - }; - - # The book uses rust-lld for linking, but rust-lld is not currently packaged for NixOS. - # The justification in the book for using rust-lld suggests that gcc can still be used for testing: - # > Instead of using the platform's default linker (which might not support Linux targets), - # > we use the cross platform LLD linker that is shipped with Rust for linking our kernel. - # https://github.com/phil-opp/blog_os/blame/7212ffaa8383122b1eb07fe1854814f99d2e1af4/blog/content/second-edition/posts/02-minimal-rust-kernel/index.md#L157 - targetContents = { - "llvm-target" = "x86_64-unknown-none"; - "data-layout" = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"; - "arch" = "x86_64"; - "target-endian" = "little"; - "target-pointer-width" = "64"; - "target-c-int-width" = "32"; - "os" = "none"; - "executables" = true; - "linker-flavor" = "gcc"; - "panic-strategy" = "abort"; - "disable-redzone" = true; - "features" = "-mmx,-sse,+soft-float"; - }; - -in { - blogOS-targetByFile = mkBlogOsTest (builtins.toFile "x86_64-blog_os.json" (builtins.toJSON targetContents)); - blogOS-targetByNix = let - plat = lib.systems.elaborate { config = "x86_64-none"; } // { - rustc = { - config = "x86_64-blog_os"; - platform = targetContents; - }; - }; - in mkBlogOsTest (rust.toRustTargetSpec plat); -} From 3e474ce57ac1437155a8e5049d6b276fd89646d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Adel=C3=A9?= Date: Wed, 19 Apr 2023 19:47:47 +0200 Subject: [PATCH 11/80] =?UTF-8?q?maintainer-list:=20Add=20badele=20(Bruno?= =?UTF-8?q?=20Adel=C3=A9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maintainers/maintainer-list.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index bd8cc3688e41..bde4d4e787cf 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1637,6 +1637,16 @@ githubId = 1017537; name = "Bruno Bieth"; }; + badele = { + name = "Bruno Adelé"; + email = "brunoadele@gmail.com"; + matrix = "@badele:matrix.org"; + github = "badele"; + githubId = 2806307; + keys = [{ + fingerprint = "00F4 21C4 C537 7BA3 9820 E13F 6B95 E13D E469 CC5D"; + }]; + }; badmutex = { email = "github@badi.sh"; github = "badmutex"; From 69413671614a75b6903010f70a4a311369c21126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bruno=20Adel=C3=A9?= Date: Wed, 19 Apr 2023 19:49:43 +0200 Subject: [PATCH 12/80] python3Packages.colout: init at 0.12.0 --- .../python-modules/colout/default.nix | 45 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/development/python-modules/colout/default.nix diff --git a/pkgs/development/python-modules/colout/default.nix b/pkgs/development/python-modules/colout/default.nix new file mode 100644 index 000000000000..459b3f1abf9d --- /dev/null +++ b/pkgs/development/python-modules/colout/default.nix @@ -0,0 +1,45 @@ +{ lib +, babel +, buildPythonPackage +, fetchFromGitHub +, pygments +, python3Packages +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "colout"; + version = "0.12.0"; + + src = fetchFromGitHub { + owner = "nojhan"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-5ETKNo3KfncnnLTClA6BnQA7SN5KwwsLdQoozI9li7I="; + }; + + nativeBuildInputs = [ + babel + pygments + setuptools-scm + ]; + + SETUPTOOLS_SCM_PRETEND_VERSION = version; + + propagatedBuildInputs = [ + babel + pygments + ]; + + pythonImportsCheck = [ "colout" ]; + + # This project does not have a unit test + doCheck = false; + + meta = with lib; { + description = "Color Up Arbitrary Command Output"; + homepage = "https://github.com/nojhan/colout"; + license = licenses.gpl3; + maintainers = with maintainers; [ badele ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a63f8797aacc..7475d0ab13e6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1977,6 +1977,8 @@ self: super: with self; { colour = callPackage ../development/python-modules/colour { }; + colout = callPackage ../development/python-modules/colout { }; + cometblue-lite = callPackage ../development/python-modules/cometblue-lite { }; comm = callPackage ../development/python-modules/comm { }; From 1d9f58c7a41b71fbc37855e693ad574a552301a6 Mon Sep 17 00:00:00 2001 From: Artturin Date: Fri, 5 May 2023 23:55:24 +0300 Subject: [PATCH 13/80] tests.cc-multilib: put error on separate line --- pkgs/test/cc-wrapper/multilib.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/test/cc-wrapper/multilib.nix b/pkgs/test/cc-wrapper/multilib.nix index 828ad67f6c87..a26880681f22 100644 --- a/pkgs/test/cc-wrapper/multilib.nix +++ b/pkgs/test/cc-wrapper/multilib.nix @@ -10,23 +10,23 @@ stdenv.mkDerivation { NIX_DEBUG=1 $CC -v NIX_DEBUG=1 $CXX -v - printf "checking whether compiler builds valid C binaries... " >&2 + printf "checking whether compiler builds valid C binaries...\n " >&2 $CC -o cc-check ${./cc-main.c} ./cc-check - printf "checking whether compiler builds valid 32bit C binaries... " >&2 + printf "checking whether compiler builds valid 32bit C binaries...\n " >&2 $CC -m32 -o c32-check ${./cc-main.c} ./c32-check - printf "checking whether compiler builds valid 64bit C binaries... " >&2 + printf "checking whether compiler builds valid 64bit C binaries...\n " >&2 $CC -m64 -o c64-check ${./cc-main.c} ./c64-check - printf "checking whether compiler builds valid 32bit C++ binaries... " >&2 + printf "checking whether compiler builds valid 32bit C++ binaries...\n " >&2 $CXX -m32 -o cxx32-check ${./cxx-main.cc} ./cxx32-check - printf "checking whether compiler builds valid 64bit C++ binaries... " >&2 + printf "checking whether compiler builds valid 64bit C++ binaries...\n " >&2 $CXX -m64 -o cxx64-check ${./cxx-main.cc} ./cxx64-check From 338b24908afdeea63de4470f979d849b2db553d1 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 5 May 2023 23:10:02 +0200 Subject: [PATCH 14/80] python311Packages.tweepy: 4.13.0 -> 4.14.0 Diff: https://github.com/tweepy/tweepy/compare/refs/tags/v4.13.0...v4.14.0 Changelog: https://github.com/tweepy/tweepy/releases/tag/v4.14.0 --- pkgs/development/python-modules/tweepy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tweepy/default.nix b/pkgs/development/python-modules/tweepy/default.nix index ba4c7f8f9afe..acbc2f28b081 100644 --- a/pkgs/development/python-modules/tweepy/default.nix +++ b/pkgs/development/python-modules/tweepy/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "tweepy"; - version = "4.13.0"; + version = "4.14.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = pname; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-47TXKZLS2j+YdCYt2cJbdzsVOHeRzGYqUNyOOKIgXkc="; + hash = "sha256-ugqa85l0eWVtMUl5d+BjEWvTyH8c5NVtsnPflkHTWh8="; }; propagatedBuildInputs = [ From 0ba90fe8900705ac5ca90a5baee43097a5fc92c0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Fri, 5 May 2023 23:22:26 +0200 Subject: [PATCH 15/80] python311Packages.whitenoise: 6.2.0 -> 6.4.0 Changelog: https://github.com/evansd/whitenoise/blob/6.4.0/docs/changelog.rst --- .../python-modules/whitenoise/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/whitenoise/default.nix b/pkgs/development/python-modules/whitenoise/default.nix index e56abe4cba5e..9a6d19583455 100644 --- a/pkgs/development/python-modules/whitenoise/default.nix +++ b/pkgs/development/python-modules/whitenoise/default.nix @@ -6,12 +6,13 @@ , pytestCheckHook , pythonOlder , requests +, setuptools }: buildPythonPackage rec { pname = "whitenoise"; - version = "6.2.0"; - format = "setuptools"; + version = "6.4.0"; + format = "pyproject"; disabled = pythonOlder "3.7"; @@ -20,10 +21,14 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "evansd"; repo = pname; - rev = version; - hash = "sha256-HcWWWMIuU8kfcOnntgXUnHD3pFogq8OEAd3wRtCnXjQ="; + rev = "refs/tags/${version}"; + hash = "sha256-ouEoqMcNh3Vwahwaq6bGQuVUFViVN14CDJosDXC5ozI="; }; + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ brotli ]; @@ -51,8 +56,9 @@ buildPythonPackage rec { ]; meta = with lib; { - description = "Radically simplified static file serving for WSGI applications"; + description = "Library to serve static file for WSGI applications"; homepage = "https://whitenoise.evans.io/"; + changelog = "https://github.com/evansd/whitenoise/blob/${version}/docs/changelog.rst"; license = licenses.mit; maintainers = with maintainers; [ ]; }; From d7425c034c058c5e26cf6486ba00e21538573890 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 6 May 2023 00:18:46 +0200 Subject: [PATCH 16/80] python310Packages.pytest-sugar: 0.9.6 -> 0.9.7 --- pkgs/development/python-modules/pytest-sugar/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytest-sugar/default.nix b/pkgs/development/python-modules/pytest-sugar/default.nix index 16f2acda862b..785442fc14ad 100644 --- a/pkgs/development/python-modules/pytest-sugar/default.nix +++ b/pkgs/development/python-modules/pytest-sugar/default.nix @@ -9,11 +9,11 @@ buildPythonPackage rec { pname = "pytest-sugar"; - version = "0.9.6"; + version = "0.9.7"; src = fetchPypi { inherit pname version; - hash = "sha256-xHk0lfPDLhFPD1QWKQlGwxbrlq1aNoTc2t2pJn5Zsrg="; + hash = "sha256-8edMGr+lX3JBz3CIAytuN4Vm8WuTjz8IkF4s9ElO3UY="; }; buildInputs = [ pytest ]; From a96895f2d3b218a91b65dd88a522cc9e28caa939 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 6 May 2023 00:23:16 +0200 Subject: [PATCH 17/80] python310Packages.pytest-sugar: add changelog to meta --- .../python-modules/pytest-sugar/default.nix | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pytest-sugar/default.nix b/pkgs/development/python-modules/pytest-sugar/default.nix index 785442fc14ad..c744a2926b02 100644 --- a/pkgs/development/python-modules/pytest-sugar/default.nix +++ b/pkgs/development/python-modules/pytest-sugar/default.nix @@ -5,18 +5,24 @@ , pytest , packaging , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "pytest-sugar"; version = "0.9.7"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; hash = "sha256-8edMGr+lX3JBz3CIAytuN4Vm8WuTjz8IkF4s9ElO3UY="; }; - buildInputs = [ pytest ]; + buildInputs = [ + pytest + ]; propagatedBuildInputs = [ termcolor @@ -28,9 +34,10 @@ buildPythonPackage rec { ]; meta = with lib; { - description = "A plugin that changes the default look and feel of py.test"; + description = "A plugin that changes the default look and feel of pytest"; homepage = "https://github.com/Frozenball/pytest-sugar"; + changelog = "https://github.com/Teemu/pytest-sugar/releases/tag/v${version}"; license = licenses.bsd3; - maintainers = [ maintainers.costrouc ]; + maintainers = with maintainers; [ costrouc ]; }; } From 1cb2ed212ff0e8ac52fde1e3f79957c43992149e Mon Sep 17 00:00:00 2001 From: superwhiskers Date: Fri, 5 May 2023 19:45:47 -0500 Subject: [PATCH 18/80] moarvm: 2023.02 -> 2023.04 --- pkgs/development/interpreters/rakudo/moarvm.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix index ca31f0305b97..9e21595a7f65 100644 --- a/pkgs/development/interpreters/rakudo/moarvm.nix +++ b/pkgs/development/interpreters/rakudo/moarvm.nix @@ -1,6 +1,6 @@ { lib , stdenv -, fetchurl +, fetchFromGitHub , perl , CoreServices , ApplicationServices @@ -8,11 +8,14 @@ stdenv.mkDerivation rec { pname = "moarvm"; - version = "2023.02"; + version = "2023.04"; - src = fetchurl { - url = "https://moarvm.org/releases/MoarVM-${version}.tar.gz"; - hash = "sha256-Z+IU1E1fYmeHyn8EQkBDpjkwikOnd3tvpBkmtyQODcU="; + src = fetchFromGitHub { + owner = "moarvm"; + repo = "moarvm"; + rev = version; + hash = "sha256-QYA4nSsrouYFaw1eju/6gNWwMcE/VeL0sNJmsTvtU3I="; + fetchSubmodules = true; }; postPatch = '' From 047f5589fef31f005c7ddb71708a74cb845e8297 Mon Sep 17 00:00:00 2001 From: superwhiskers Date: Fri, 5 May 2023 19:45:56 -0500 Subject: [PATCH 19/80] nqp: 2023.02 -> 2023.04 --- pkgs/development/interpreters/rakudo/nqp.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/interpreters/rakudo/nqp.nix b/pkgs/development/interpreters/rakudo/nqp.nix index e238e5c20450..0193e3371948 100644 --- a/pkgs/development/interpreters/rakudo/nqp.nix +++ b/pkgs/development/interpreters/rakudo/nqp.nix @@ -1,12 +1,15 @@ -{ stdenv, fetchurl, perl, lib, moarvm }: +{ stdenv, fetchFromGitHub, perl, lib, moarvm }: stdenv.mkDerivation rec { pname = "nqp"; - version = "2023.02"; + version = "2023.04"; - src = fetchurl { - url = "https://github.com/raku/nqp/releases/download/${version}/nqp-${version}.tar.gz"; - hash = "sha256-417V7ZTsMqbXMO6BW/hcX8+IqGf6xlZjaMGtSf5jtT8="; + src = fetchFromGitHub { + owner = "raku"; + repo = "nqp"; + rev = version; + hash = "sha256-6V9d01aacDc+770XPSbQd4m1bg7Bbe47TTNOUxc2Fpw="; + fetchSubmodules = true; }; buildInputs = [ perl ]; From 3e5d18e9b0166ae36f4bb73cc80d88b0944cdd0d Mon Sep 17 00:00:00 2001 From: superwhiskers Date: Fri, 5 May 2023 19:46:04 -0500 Subject: [PATCH 20/80] rakudo: 2023.02 -> 2023.04 --- pkgs/development/interpreters/rakudo/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix index 5acec350035c..72154ce6a657 100644 --- a/pkgs/development/interpreters/rakudo/default.nix +++ b/pkgs/development/interpreters/rakudo/default.nix @@ -1,12 +1,15 @@ -{ stdenv, fetchurl, perl, icu, zlib, gmp, lib, nqp, removeReferencesTo }: +{ stdenv, fetchFromGitHub, perl, icu, zlib, gmp, lib, nqp, removeReferencesTo }: stdenv.mkDerivation rec { pname = "rakudo"; - version = "2023.02"; + version = "2023.04"; - src = fetchurl { - url = "https://rakudo.org/dl/rakudo/rakudo-${version}.tar.gz"; - hash = "sha256-/RaGqizzLrnw630Nb5bfyJfPU8z4ntp9Iltoc4CTqhE="; + src = fetchFromGitHub { + owner = "rakudo"; + repo = "rakudo"; + rev = version; + hash = "sha256-m5rXriBKfp/i9AIcBGCYGfXIGBRsxgVmBbLJPXXc5AY="; + fetchSubmodules = true; }; nativeBuildInputs = [ removeReferencesTo ]; From efb0a5d69bc626eadd016ddb6ab764dfda19da1a Mon Sep 17 00:00:00 2001 From: wrvsrx Date: Sat, 6 May 2023 15:22:47 +0800 Subject: [PATCH 21/80] noto-fonts-cjk-sans: use official release version noto-fonts-cjk has released Sans2.004 --- pkgs/data/fonts/noto-fonts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix index d0ac56cd5d39..ec8fe704f2f9 100644 --- a/pkgs/data/fonts/noto-fonts/default.nix +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -154,8 +154,8 @@ rec { noto-fonts-cjk-sans = mkNotoCJK { typeface = "Sans"; version = "2.004"; - rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d"; - sha256 = "sha256-PWpcTBnBRK87ZuRI/PsGp2UMQgCCyfkLHwvB1mOl5K0="; + rev = "Sans2.004"; + sha256 = "sha256-IgalJkiOAVjNxKaPAQWfb5hKeqclliR4qVXCq63FGWY="; }; noto-fonts-cjk-serif = mkNotoCJK { From cf12cc9d6ab115a2c5824b7b70b5f461054570e2 Mon Sep 17 00:00:00 2001 From: wrvsrx Date: Sat, 6 May 2023 15:25:49 +0800 Subject: [PATCH 22/80] noto-fonts-cjk-serif: 2.000 -> 2.001 --- pkgs/data/fonts/noto-fonts/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix index ec8fe704f2f9..80aeabc786c1 100644 --- a/pkgs/data/fonts/noto-fonts/default.nix +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -160,9 +160,9 @@ rec { noto-fonts-cjk-serif = mkNotoCJK { typeface = "Serif"; - version = "2.000"; - rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d"; - sha256 = "sha256-1w66Ge7DZjbONGhxSz69uFhfsjMsDiDkrGl6NsoB7dY="; + version = "2.001"; + rev = "Serif2.001"; + sha256 = "sha256-y1103SS0qkZMhEL5+7kQZ+OBs5tRaqkqOcs4796Fzhg="; }; noto-fonts-emoji = From dbfe3ff44d76ebfc1c5fee77402acc382ddc261d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 6 May 2023 09:27:55 +0000 Subject: [PATCH 23/80] oxigraph: 0.3.14 -> 0.3.16 --- pkgs/servers/oxigraph/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/oxigraph/default.nix b/pkgs/servers/oxigraph/default.nix index 975e2db3ad21..f43a9576b5cc 100644 --- a/pkgs/servers/oxigraph/default.nix +++ b/pkgs/servers/oxigraph/default.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "oxigraph"; - version = "0.3.14"; + version = "0.3.16"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-BiPK0eFlKtGQ7m0LaVeeXp5gz+C1UW0JK7L8Nc21rKU="; + sha256 = "sha256-sE+HeXg6JovLXhFFJhgsASfObvzgeYX+MjwI5b7G0gI="; fetchSubmodules = true; }; - cargoHash = "sha256-VGXnUdJDbD8bGdXRbIkC4wgAmSUK2gh/XEYLaPfaaLg="; + cargoHash = "sha256-7ykVKPjCFwpLqdPiWlxO/rBofgbfv+U3aM50RhzjGVY="; nativeBuildInputs = [ rustPlatform.bindgenHook From b7028fd6dc038055f2edf7ea5c41c5be413ddced Mon Sep 17 00:00:00 2001 From: wrvsrx Date: Sat, 6 May 2023 18:35:08 +0800 Subject: [PATCH 24/80] noto-fonts-cjk: use typeface and version to generate git rev --- pkgs/data/fonts/noto-fonts/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix index 80aeabc786c1..600074002f53 100644 --- a/pkgs/data/fonts/noto-fonts/default.nix +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -89,7 +89,7 @@ rec { }; }; - mkNotoCJK = { typeface, version, rev, sha256 }: + mkNotoCJK = { typeface, version, sha256 }: stdenvNoCC.mkDerivation { pname = "noto-fonts-cjk-${lib.toLower typeface}"; inherit version; @@ -97,7 +97,8 @@ rec { src = fetchFromGitHub { owner = "googlefonts"; repo = "noto-cjk"; - inherit rev sha256; + rev = "${typeface}${version}"; + inherit sha256; sparseCheckout = [ "${typeface}/Variable/OTC" ]; }; @@ -154,14 +155,12 @@ rec { noto-fonts-cjk-sans = mkNotoCJK { typeface = "Sans"; version = "2.004"; - rev = "Sans2.004"; sha256 = "sha256-IgalJkiOAVjNxKaPAQWfb5hKeqclliR4qVXCq63FGWY="; }; noto-fonts-cjk-serif = mkNotoCJK { typeface = "Serif"; version = "2.001"; - rev = "Serif2.001"; sha256 = "sha256-y1103SS0qkZMhEL5+7kQZ+OBs5tRaqkqOcs4796Fzhg="; }; From 6d51f116b02e1f131f3c8fc09fd219fe6b59b6e6 Mon Sep 17 00:00:00 2001 From: Tobias Markus Date: Sat, 6 May 2023 13:08:05 +0200 Subject: [PATCH 25/80] noaa-apt: 1.3.1 -> 1.4.0 --- pkgs/applications/radio/noaa-apt/Cargo.lock | 1253 +++++++++++------- pkgs/applications/radio/noaa-apt/default.nix | 10 +- 2 files changed, 790 insertions(+), 473 deletions(-) diff --git a/pkgs/applications/radio/noaa-apt/Cargo.lock b/pkgs/applications/radio/noaa-apt/Cargo.lock index 0e4d5f235765..368b34a58ca9 100644 --- a/pkgs/applications/radio/noaa-apt/Cargo.lock +++ b/pkgs/applications/radio/noaa-apt/Cargo.lock @@ -9,22 +9,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] -name = "adler32" -version = "1.2.0" +name = "android_system_properties" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] [[package]] name = "anyhow" -version = "1.0.43" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf" +checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" [[package]] name = "approx" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" dependencies = [ "num-traits", ] @@ -37,9 +40,9 @@ checksum = "3f8ebf5827e4ac4fd5946560e6a99776ea73b596d80898f357007317a7141e47" [[package]] name = "atk" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a83b21d2aa75e464db56225e1bda2dd5993311ba1095acaa8fa03d1ae67026ba" +checksum = "39991bc421ddf72f70159011b323ff49b0f783cc676a7287c59453da2e2531cf" dependencies = [ "atk-sys", "bitflags", @@ -49,9 +52,9 @@ dependencies = [ [[package]] name = "atk-sys" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "badcf670157c84bb8b1cf6b5f70b650fed78da2033c9eed84c4e49b11cbe83ea" +checksum = "11ad703eb64dc058024f0e57ccfa069e15a413b98dbd50a1a950e743b7f11148" dependencies = [ "glib-sys", "gobject-sys", @@ -72,15 +75,21 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "base64" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "bit_field" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4" [[package]] name = "bitflags" @@ -90,15 +99,15 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bumpalo" -version = "3.7.0" +version = "3.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" +checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" [[package]] name = "bytemuck" -version = "1.7.2" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72957246c41db82b8ef88a5486143830adeb8227ef9837740bdec67724cf2c5b" +checksum = "2f5715e491b5a1598fc2bef5a606847b5dc1d48ea625bd3c02c00de8285591da" [[package]] name = "byteorder" @@ -108,28 +117,29 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.1.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" [[package]] name = "cairo-rs" -version = "0.14.3" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f859ade407c19810ae920b4fafab92189ed312adad490d08fb16b5f49f1e2207" +checksum = "08f9ee4a4ca9239c9a839453dce04b7ddee2f859ec4cd7acd1f5703b68db549c" dependencies = [ "bitflags", "cairo-sys-rs", "glib", "libc", + "once_cell", "thiserror", ] [[package]] name = "cairo-sys-rs" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c9c3928781e8a017ece15eace05230f04b647457d170d2d9641c94a444ff80" +checksum = "5119ea655ec777b523f0b57279e70f8a4542f61b0e98a48f892b4ef043fd4c5d" dependencies = [ "glib-sys", "libc", @@ -138,15 +148,15 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.70" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" [[package]] name = "cfg-expr" -version = "0.8.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b412e83326147c2bb881f8b40edfbf9905b9b8abaebd0e47ca190ba62fda8f0e" +checksum = "b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa" dependencies = [ "smallvec", ] @@ -159,17 +169,29 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.19" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" dependencies = [ - "libc", + "iana-time-zone", + "js-sys", "num-integer", "num-traits", - "time", + "time 0.1.44", + "wasm-bindgen", "winapi", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + [[package]] name = "color_quant" version = "1.1.0" @@ -178,9 +200,9 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "colored" -version = "1.9.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59" +checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" dependencies = [ "atty", "lazy_static", @@ -189,9 +211,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ "core-foundation-sys", "libc", @@ -199,24 +221,24 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "crc32fast" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" dependencies = [ "cfg-if", ] [[package]] name = "crossbeam-channel" -version = "0.5.1" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" dependencies = [ "cfg-if", "crossbeam-utils", @@ -224,9 +246,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" dependencies = [ "cfg-if", "crossbeam-epoch", @@ -235,61 +257,100 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.5" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" +checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" dependencies = [ + "autocfg", "cfg-if", "crossbeam-utils", - "lazy_static", "memoffset", "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.5" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" dependencies = [ "cfg-if", - "lazy_static", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "cxx" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] name = "dbase" -version = "0.2.0" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e54631a3a0c92273703fa4aa691ab79e15d8506862c8086feeb48907a64a36" +checksum = "70b35cc8416be0db2f0914435e5e6d7b1b9655332eab5c27eab7203d66d180fb" dependencies = [ "byteorder", "chrono", ] -[[package]] -name = "deflate" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" -dependencies = [ - "adler32", - "byteorder", -] - [[package]] name = "directories" -version = "3.0.2" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e69600ff1703123957937708eb27f7a564e48885c537782722ed0ba3189ce1d7" +checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" dependencies = [ "dirs-sys", ] [[package]] name = "dirs-sys" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" dependencies = [ "libc", "redox_users", @@ -298,19 +359,43 @@ dependencies = [ [[package]] name = "either" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "encoding_rs" -version = "0.8.28" +version = "0.8.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" dependencies = [ "cfg-if", ] +[[package]] +name = "exr" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eb5f255b5980bb0c8cf676b675d1a99be40f316881444f44e0462eaf5df5ded" +dependencies = [ + "bit_field", + "flume", + "half", + "lebe", + "miniz_oxide 0.6.2", + "smallvec", + "threadpool", +] + +[[package]] +name = "fastrand" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + [[package]] name = "field-offset" version = "0.3.4" @@ -323,14 +408,37 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.15" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98" +checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" dependencies = [ "cfg-if", "libc", "redox_syscall", - "winapi", + "windows-sys 0.42.0", +] + +[[package]] +name = "flate2" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" +dependencies = [ + "crc32fast", + "miniz_oxide 0.5.4", +] + +[[package]] +name = "flume" +version = "0.10.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +dependencies = [ + "futures-core", + "futures-sink", + "nanorand", + "pin-project", + "spin", ] [[package]] @@ -356,34 +464,33 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "matches", "percent-encoding", ] [[package]] name = "futures-channel" -version = "0.3.17" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" dependencies = [ "futures-core", ] [[package]] name = "futures-core" -version = "0.3.17" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" [[package]] name = "futures-executor" -version = "0.3.17" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" dependencies = [ "futures-core", "futures-task", @@ -392,31 +499,42 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.17" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" + +[[package]] +name = "futures-macro" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] [[package]] name = "futures-sink" -version = "0.3.17" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" [[package]] name = "futures-task" -version = "0.3.17" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" [[package]] name = "futures-util" -version = "0.3.17" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" dependencies = [ - "autocfg", "futures-core", "futures-io", + "futures-macro", "futures-task", "memchr", "pin-project-lite", @@ -426,15 +544,18 @@ dependencies = [ [[package]] name = "gcd" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7cd301bf2ab11ae4e5bdfd79c221d97a25e46c089144a62ee9d09cb32d2b92" +checksum = "f37978dab2ca789938a83b2f8bc1ef32db6633af9051a6cd409eff72cbaaa79a" +dependencies = [ + "paste", +] [[package]] name = "gdk" -version = "0.14.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a453eae5ec10345b3a96ca1b547328bfc94edd40aa95b08f14bb4c35863db140" +checksum = "8f0a4a7aa015962d02634258715164977eb151b48fd250dcac48fab8d312a5aa" dependencies = [ "bitflags", "cairo-rs", @@ -448,10 +569,11 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534192cb8f01daeb8fab2c8d4baa8f9aae5b7a39130525779f5c2608e235b10f" +checksum = "c0fb526c8c3a075eda15f961820edf3e15fe18576ac4fbabbb324e4cc6c421e6" dependencies = [ + "bitflags", "gdk-pixbuf-sys", "gio", "glib", @@ -460,9 +582,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f097c0704201fbc8f69c1762dc58c6947c8bb188b8ed0bc7e65259f1894fe590" +checksum = "7df12d15c10c3c5a84d9fb4ba0e27659f6a2bdee4f27f8b17126da15d5ddd3f2" dependencies = [ "gio-sys", "glib-sys", @@ -473,9 +595,9 @@ dependencies = [ [[package]] name = "gdk-sys" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e091b3d3d6696949ac3b3fb3c62090e5bfd7bd6850bef5c3c5ea701de1b1f1e" +checksum = "d76354f97a913e55b984759a997b693aa7dc71068c9e98bcce51aa167a0a5c5a" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -490,20 +612,22 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.3" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" dependencies = [ "cfg-if", + "js-sys", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] name = "gif" -version = "0.11.2" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a668f699973d0f573d15749b7002a9ac9e1f9c6b220e7b165601334c173d8de" +checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06" dependencies = [ "color_quant", "weezl", @@ -511,26 +635,29 @@ dependencies = [ [[package]] name = "gio" -version = "0.14.5" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a4c12fcba7a6402ae843a0085ec16d3658a87901763b6a7f0a7c5d60e555a5" +checksum = "33c1debf8d0315d69be0153aa76249db3c858ef69b7778ad3cc669e6d370c485" dependencies = [ "bitflags", "futures-channel", "futures-core", "futures-io", + "futures-util", "gio-sys", "glib", "libc", "once_cell", + "pin-project-lite", + "smallvec", "thiserror", ] [[package]] name = "gio-sys" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0a41df66e57fcc287c4bcf74fc26b884f31901ea9792ec75607289b456f48fa" +checksum = "6da1bba9d3f2ab13a6e9932c40f240dc99ebc9f0bdc35cfb130d1a3df36f374c" dependencies = [ "glib-sys", "gobject-sys", @@ -541,28 +668,31 @@ dependencies = [ [[package]] name = "glib" -version = "0.14.5" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a930b7208e6e0ab839eea5f65ac2b82109f729621430d47fe905e2e09d33f4" +checksum = "d5abffa711471e015eb93d65d6ea20e7e9f6f7951fc0a1042280439319b2de06" dependencies = [ "bitflags", "futures-channel", "futures-core", "futures-executor", "futures-task", + "futures-util", + "gio-sys", "glib-macros", "glib-sys", "gobject-sys", "libc", "once_cell", "smallvec", + "thiserror", ] [[package]] name = "glib-macros" -version = "0.14.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aad66361f66796bfc73f530c51ef123970eb895ffba991a234fcf7bea89e518" +checksum = "e195c1311fa6b04d7b896ea39385f6bd60ef5d25bf74a7c11c8c3f94f6c1a572" dependencies = [ "anyhow", "heck", @@ -575,9 +705,9 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c1d60554a212445e2a858e42a0e48cece1bd57b311a19a9468f70376cf554ae" +checksum = "b33357bb421a77bd849f6a0bfcaf3b4b256a2577802971bb5dd522d530f27021" dependencies = [ "libc", "system-deps", @@ -585,9 +715,9 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa92cae29759dae34ab5921d73fff5ad54b3d794ab842c117e36cafc7994c3f5" +checksum = "63ca11a57400f3d4fda594e002844be47900c9fb8b29e2155c6e37a1f24e51b3" dependencies = [ "glib-sys", "libc", @@ -596,9 +726,9 @@ dependencies = [ [[package]] name = "gtk" -version = "0.14.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6603bb79ded6ac6f3bac203794383afa8b1d6a8656d34a93a88f0b22826cd46c" +checksum = "200d06a383a5ce5fa5611fa37f5ab34286289ede05d41c1f21aa8a2e1975c0ba" dependencies = [ "atk", "bitflags", @@ -619,9 +749,9 @@ dependencies = [ [[package]] name = "gtk-sys" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c14c8d3da0545785a7c5a120345b3abb534010fb8ae0f2ef3f47c027fba303e" +checksum = "89b5f8946685d5fe44497007786600c2f368ff6b1e61a16251c89f72a97520a3" dependencies = [ "atk-sys", "cairo-sys-rs", @@ -637,12 +767,11 @@ dependencies = [ [[package]] name = "gtk3-macros" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21de1da96dc117443fb03c2e270b2d34b7de98d0a79a19bbb689476173745b79" +checksum = "8cfd6557b1018b773e43c8de9d0d13581d6b36190d0501916cbec4731db5ccff" dependencies = [ "anyhow", - "heck", "proc-macro-crate", "proc-macro-error", "proc-macro2", @@ -652,9 +781,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.4" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f3675cfef6a30c8031cf9e6493ebdc3bb3272a3fea3923c4210d1830e6a472" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" dependencies = [ "bytes", "fnv", @@ -670,19 +799,25 @@ dependencies = [ ] [[package]] -name = "hashbrown" -version = "0.11.2" +name = "half" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "ad6a9459c9c30b177b925162351f97e7d967c7ea8bab3b8352805327daf45554" +dependencies = [ + "crunchy", +] + +[[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" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" [[package]] name = "hermit-abi" @@ -695,15 +830,15 @@ dependencies = [ [[package]] name = "hound" -version = "3.4.0" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a164bb2ceaeff4f42542bdb847c41517c78a60f5649671b2a07312b6e117549" +checksum = "4d13cdbd5dbb29f9c88095bbdc2590c9cba0d0a1269b983fef6b2cdd7e9f4db1" [[package]] name = "http" -version = "0.2.4" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", @@ -712,9 +847,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", "http", @@ -723,21 +858,21 @@ dependencies = [ [[package]] name = "httparse" -version = "1.5.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.12" +version = "0.14.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13f67199e765030fa08fe0bd581af683f0d5bc04ea09c2b1102012c5fb90e7fd" +checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" dependencies = [ "bytes", "futures-channel", @@ -771,28 +906,51 @@ dependencies = [ ] [[package]] -name = "idna" -version = "0.2.3" +name = "iana-time-zone" +version = "0.1.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "winapi", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" dependencies = [ - "matches", "unicode-bidi", "unicode-normalization", ] [[package]] name = "image" -version = "0.23.14" +version = "0.24.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" +checksum = "bd8e4fb07cf672b1642304e731ef8a6a4c7891d67bb4fd4f5ce58cd6ed86803c" dependencies = [ "bytemuck", "byteorder", "color_quant", + "exr", "gif", "jpeg-decoder", - "num-iter", "num-rational", "num-traits", "png", @@ -802,49 +960,49 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.7.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" dependencies = [ "autocfg", "hashbrown", ] [[package]] -name = "ipnet" -version = "2.3.1" +name = "instant" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" - -[[package]] -name = "itertools" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "either", + "cfg-if", ] [[package]] -name = "itoa" -version = "0.4.8" +name = "ipnet" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +checksum = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b" + +[[package]] +name = "itoa" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "jpeg-decoder" -version = "0.1.22" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2" +checksum = "9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b" dependencies = [ "rayon", ] [[package]] name = "js-sys" -version = "0.3.54" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1866b355d9c878e5e607473cbe3f63282c0b7aad2db1dbebf55076c686918254" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" dependencies = [ "wasm-bindgen", ] @@ -862,10 +1020,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] -name = "libc" -version = "0.2.101" +name = "lebe" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21" +checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" + +[[package]] +name = "libc" +version = "0.2.137" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89" [[package]] name = "line_drawing" @@ -877,31 +1041,44 @@ dependencies = [ ] [[package]] -name = "log" -version = "0.4.14" +name = "link-cplusplus" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +dependencies = [ + "cc", +] + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[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.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memoffset" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ "autocfg", ] @@ -914,50 +1091,48 @@ checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" [[package]] name = "miniz_oxide" -version = "0.3.7" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" +checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" dependencies = [ - "adler32", + "adler", ] [[package]] name = "miniz_oxide" -version = "0.4.4" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" dependencies = [ "adler", - "autocfg", ] [[package]] name = "mio" -version = "0.7.13" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" dependencies = [ "libc", "log", - "miow", - "ntapi", - "winapi", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.42.0", ] [[package]] -name = "miow" -version = "0.3.7" +name = "nanorand" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" dependencies = [ - "winapi", + "getrandom", ] [[package]] name = "native-tls" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d" +checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" dependencies = [ "lazy_static", "libc", @@ -973,7 +1148,7 @@ dependencies = [ [[package]] name = "noaa-apt" -version = "1.3.1" +version = "1.4.0" dependencies = [ "approx", "argparse", @@ -995,7 +1170,7 @@ dependencies = [ "reqwest", "rustfft", "satellite", - "semver 1.0.4", + "semver 1.0.14", "serde", "serde_json", "shapefile", @@ -1004,50 +1179,30 @@ dependencies = [ "winapi", ] -[[package]] -name = "ntapi" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" -dependencies = [ - "winapi", -] - [[package]] name = "num-complex" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085" +checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" dependencies = [ "num-traits", ] [[package]] name = "num-integer" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg", "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - [[package]] name = "num-rational" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", "num-integer", @@ -1056,63 +1211,84 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", ] [[package]] name = "num_cpus" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" dependencies = [ "hermit-abi", "libc", ] [[package]] -name = "once_cell" -version = "1.8.0" +name = "num_threads" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" +dependencies = [ + "libc", +] + +[[package]] +name = "once_cell" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" [[package]] name = "openssl" -version = "0.10.36" +version = "0.10.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9facdb76fec0b73c406f125d44d86fdad818d66fef0531eec9233ca425ff4a" +checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13" dependencies = [ "bitflags", "cfg-if", "foreign-types", "libc", "once_cell", + "openssl-macros", "openssl-sys", ] [[package]] -name = "openssl-probe" -version = "0.1.4" +name = "openssl-macros" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" +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-src" -version = "111.16.0+1.1.1l" +version = "111.22.0+1.1.1q" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab2173f69416cf3ec12debb5823d244127d23a9b127d5a5189aa97c5fa2859f" +checksum = "8f31f0d509d1c1ae9cada2f9539ff8f37933831fd5098879e482aa687d659853" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.66" +version = "0.9.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1996d2d305e561b70d1ee0c53f1542833f4e1ac6ce9a6708b6ff2738ca67dc82" +checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a" dependencies = [ "autocfg", "cc", @@ -1124,11 +1300,12 @@ dependencies = [ [[package]] name = "pango" -version = "0.14.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc88307d9797976ea62722ff2ec5de3fae279c6e20100ed3f49ca1a4bf3f96" +checksum = "7208c60f224cf6e44c551df5ee2ef38f9da0fd29d7c5a0402000b8ab0520e798" dependencies = [ "bitflags", + "gio", "glib", "libc", "once_cell", @@ -1137,9 +1314,9 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2367099ca5e761546ba1d501955079f097caa186bb53ce0f718dca99ac1942fe" +checksum = "922441c228366ed98d3534b87bc7c987c50564094c3abbc3513717786419252d" dependencies = [ "glib-sys", "gobject-sys", @@ -1148,25 +1325,52 @@ dependencies = [ ] [[package]] -name = "percent-encoding" -version = "2.1.0" +name = "paste" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" -version = "2.1.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +checksum = "dbc7bc69c062e492337d74d59b120c274fd3d261b6bf6d3207d499b4b379c41a" dependencies = [ + "thiserror", "ucd-trie", ] [[package]] -name = "pin-project-lite" -version = "0.2.7" +name = "pin-project" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[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" @@ -1176,43 +1380,38 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.19" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" [[package]] name = "png" -version = "0.16.8" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +checksum = "8f0e7f4c94ec26ff209cee506314212639d6c91b80afb82984819fafce9df01c" dependencies = [ "bitflags", "crc32fast", - "deflate", - "miniz_oxide 0.3.7", + "flate2", + "miniz_oxide 0.5.4", ] -[[package]] -name = "ppv-lite86" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" - [[package]] name = "primal-check" -version = "0.3.1" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01419cee72c1a1ca944554e23d83e483e1bccf378753344e881de28b5487511d" +checksum = "9df7f93fd637f083201473dab4fee2db4c429d32e55e3299980ab3957ab916a0" dependencies = [ "num-integer", ] [[package]] name = "proc-macro-crate" -version = "1.0.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92" +checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" dependencies = [ + "once_cell", "thiserror", "toml", ] @@ -1243,67 +1442,27 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.29" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] name = "quote" -version = "1.0.9" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" dependencies = [ "proc-macro2", ] -[[package]] -name = "rand" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", - "rand_hc", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom", -] - -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core", -] - [[package]] name = "rayon" -version = "1.5.1" +version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" dependencies = [ "autocfg", "crossbeam-deque", @@ -1313,34 +1472,34 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" dependencies = [ "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "lazy_static", "num_cpus", ] [[package]] name = "redox_syscall" -version = "0.2.10" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags", ] [[package]] name = "redox_users" -version = "0.4.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ "getrandom", "redox_syscall", + "thiserror", ] [[package]] @@ -1354,31 +1513,34 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.4" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246e9f61b9bb77df069a947682be06e31ac43ea37862e244a69f177694ea6d22" +checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" 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", + "once_cell", "percent-encoding", "pin-project-lite", "serde", + "serde_json", "serde_urlencoded", "tokio", "tokio-native-tls", + "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", @@ -1411,9 +1573,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "satellite" @@ -1425,12 +1587,12 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.19" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "winapi", + "windows-sys 0.36.1", ] [[package]] @@ -1446,10 +1608,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] -name = "security-framework" -version = "2.4.2" +name = "scratch" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" +checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" + +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" dependencies = [ "bitflags", "core-foundation", @@ -1460,9 +1628,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.4.2" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" dependencies = [ "core-foundation-sys", "libc", @@ -1479,9 +1647,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.4" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" +checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" [[package]] name = "semver-parser" @@ -1494,18 +1662,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.130" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" +checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.130" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" +checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" dependencies = [ "proc-macro2", "quote", @@ -1514,9 +1682,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.67" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7f9e390c27c3c0ce8bc5d725f6e4d30a29d26659494aa4b17535f7522c5c950" +checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" dependencies = [ "itoa", "ryu", @@ -1525,9 +1693,9 @@ dependencies = [ [[package]] name = "serde_urlencoded" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", "itoa", @@ -1547,120 +1715,118 @@ dependencies = [ [[package]] name = "simple_logger" -version = "1.13.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7de33c687404ec3045d4a0d437580455257c0436f858d702f244e7d652f9f07" +checksum = "cc20708d703a44b96b3b700578a85b6fe887fc63ab20315757026bb8a12faaad" dependencies = [ "atty", - "chrono", "colored", "log", + "time 0.3.16", "winapi", ] [[package]] name = "slab" -version = "0.4.4" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg", +] [[package]] name = "smallvec" -version = "1.6.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "socket2" -version = "0.4.1" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" dependencies = [ "libc", "winapi", ] +[[package]] +name = "spin" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09" +dependencies = [ + "lock_api", +] + [[package]] name = "strength_reduce" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3ff2f71c82567c565ba4b3009a9350a96a7269eaa4001ebedae926230bc2254" -[[package]] -name = "strum" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" - -[[package]] -name = "strum_macros" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "syn" -version = "1.0.76" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84" +checksum = "a864042229133ada95abf3b54fdc62ef5ccabe9515b64717bcb9a1919e59445d" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] [[package]] name = "system-deps" -version = "3.2.0" +version = "6.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "480c269f870722b3b08d2f13053ce0c2ab722839f472863c3e2d61ff3a1c2fa6" +checksum = "2955b1fe31e1fa2fbd1976b71cc69a606d7d4da16f6de3333d0c92d51419aeff" dependencies = [ - "anyhow", "cfg-expr", "heck", - "itertools", "pkg-config", - "strum", - "strum_macros", - "thiserror", "toml", "version-compare", ] [[package]] name = "tempfile" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" dependencies = [ "cfg-if", + "fastrand", "libc", - "rand", "redox_syscall", "remove_dir_all", "winapi", ] [[package]] -name = "thiserror" -version = "1.0.29" +name = "termcolor" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.29" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c" +checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" dependencies = [ "proc-macro2", "quote", @@ -1668,13 +1834,22 @@ dependencies = [ ] [[package]] -name = "tiff" -version = "0.6.1" +name = "threadpool" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437" +checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" dependencies = [ + "num_cpus", +] + +[[package]] +name = "tiff" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7259662e32d1e219321eb309d5f9d898b779769d81b76e762c07c8e5d38fcb65" +dependencies = [ + "flate2", "jpeg-decoder", - "miniz_oxide 0.4.4", "weezl", ] @@ -1685,15 +1860,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" dependencies = [ "libc", - "wasi", + "wasi 0.10.0+wasi-snapshot-preview1", "winapi", ] [[package]] -name = "tinyvec" -version = "1.3.1" +name = "time" +version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338" +checksum = "0fab5c8b9980850e06d92ddbe3ab839c062c801f3927c0fb8abd6fc8e918fbca" +dependencies = [ + "itoa", + "libc", + "num_threads", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" + +[[package]] +name = "time-macros" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65bb801831d812c562ae7d2bfb531f26e66e4e1f6b17307ba4149c5064710e5b" +dependencies = [ + "time-core", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" dependencies = [ "tinyvec_macros", ] @@ -1706,9 +1910,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.11.0" +version = "1.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4efe6fc2395938c8155973d7be49fe8d03a843726e285e100a8a383cc0154ce" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" dependencies = [ "autocfg", "bytes", @@ -1717,6 +1921,7 @@ dependencies = [ "mio", "num_cpus", "pin-project-lite", + "socket2", "winapi", ] @@ -1732,38 +1937,38 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.8" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d3725d3efa29485e87311c5b699de63cde14b00ed4d256b8318aa30ca452cd" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" dependencies = [ "bytes", "futures-core", "futures-sink", - "log", "pin-project-lite", "tokio", + "tracing", ] [[package]] name = "toml" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" dependencies = [ "serde", ] [[package]] name = "tower-service" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.26" +version = "0.1.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", "pin-project-lite", @@ -1772,11 +1977,11 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.19" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ca517f43f0fb96e0c3072ed5c275fe5eece87e8cb52f4a77b69226d3b1c9df8" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" dependencies = [ - "lazy_static", + "once_cell", ] [[package]] @@ -1797,46 +2002,45 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "ucd-trie" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" +checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" [[package]] name = "unicode-bidi" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-ident" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" [[package]] name = "unicode-normalization" -version = "0.1.19" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" dependencies = [ "tinyvec", ] [[package]] -name = "unicode-segmentation" -version = "1.8.0" +name = "unicode-width" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" - -[[package]] -name = "unicode-xid" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" [[package]] name = "url" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", "idna", - "matches", "percent-encoding", ] @@ -1848,15 +2052,15 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version-compare" -version = "0.0.11" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" +checksum = "fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73" [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "want" @@ -1875,26 +2079,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] -name = "wasm-bindgen" -version = "0.2.77" +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e68338db6becec24d3c7977b5bf8a48be992c934b5d07177e3931f5dc9b076c" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" dependencies = [ "cfg-if", - "serde", - "serde_json", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.77" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f34c405b4f0658583dba0c1c7c9b694f3cac32655db463b56c254a1c75269523" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" dependencies = [ "bumpalo", - "lazy_static", "log", + "once_cell", "proc-macro2", "quote", "syn", @@ -1903,9 +2111,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.27" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a87d738d4abc4cf22f6eb142f5b9a81301331ee3c767f2fef2fda4e325492060" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" dependencies = [ "cfg-if", "js-sys", @@ -1915,9 +2123,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.77" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d5a6580be83b19dc570a8f9c324251687ab2184e57086f71625feb57ec77c8" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1925,9 +2133,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.77" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3775a030dc6f5a0afd8a84981a21cc92a781eb429acef9ecce476d0c9113e92" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" dependencies = [ "proc-macro2", "quote", @@ -1938,15 +2146,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.77" +version = "0.2.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c279e376c7a8e8752a8f1eaa35b7b0bee6bb9fb0cdacfa97cc3f1f289c87e2b4" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" [[package]] name = "web-sys" -version = "0.3.54" +version = "0.3.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a84d70d1ec7d2da2d26a5bd78f4bca1b8c3254805363ce743b7a05bc30d195a" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" dependencies = [ "js-sys", "wasm-bindgen", @@ -1954,9 +2162,9 @@ dependencies = [ [[package]] name = "weezl" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b77fdfd5a253be4ab714e4ffa3c49caf146b4de743e97510c0656cf90f1e8e" +checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb" [[package]] name = "winapi" @@ -1974,6 +2182,15 @@ 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" @@ -1981,10 +2198,110 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "winreg" -version = "0.7.0" +name = "windows-sys" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + +[[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_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + +[[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_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" dependencies = [ "winapi", ] diff --git a/pkgs/applications/radio/noaa-apt/default.nix b/pkgs/applications/radio/noaa-apt/default.nix index 2b63658f6121..95ab7f9baadd 100644 --- a/pkgs/applications/radio/noaa-apt/default.nix +++ b/pkgs/applications/radio/noaa-apt/default.nix @@ -13,13 +13,13 @@ rustPlatform.buildRustPackage rec { pname = "noaa-apt"; - version = "1.3.1"; + version = "1.4.0"; src = fetchFromGitHub { owner = "martinber"; repo = "noaa-apt"; rev = "v${version}"; - sha256 = "sha256-A78O5HkD/LyfvjLJjf7PpJDuftkNbaxq7Zs5kNUaULk="; + sha256 = "sha256-wmjglF2+BFmlTfvqt90nbCxuldN8AEFXj7y9tgTvA2Y="; }; nativeBuildInputs = [ @@ -55,15 +55,15 @@ rustPlatform.buildRustPackage rec { # Desktop icon. install -Dm644 -t $out/share/applications $src/debian/ar.com.mbernardi.noaa-apt.desktop - install -Dm644 -t $out/share/icons/hicolor/48x48/apps $src/debian/noaa-apt.png - install -Dm644 -t $out/share/icons/hicolor/scalable/apps $src/debian/noaa-apt.svg + install -Dm644 -t $out/share/icons/hicolor/48x48/apps $src/debian/ar.com.mbernardi.noaa-apt.png + install -Dm644 -t $out/share/icons/hicolor/scalable/apps $src/debian/ar.com.mbernardi.noaa-apt.svg ''; meta = with lib; { description = "NOAA APT image decoder"; homepage = "https://noaa-apt.mbernardi.com.ar/"; license = licenses.gpl3Only; - maintainers = with maintainers; [ trepetti ]; + maintainers = with maintainers; [ trepetti tmarkus ]; platforms = platforms.all; changelog = "https://github.com/martinber/noaa-apt/releases/tag/v${version}"; }; From e7f2aff58116a39044532b29744184f6d9d2d2d7 Mon Sep 17 00:00:00 2001 From: Atemu Date: Mon, 1 May 2023 19:13:14 +0200 Subject: [PATCH 26/80] xlibinput_calibrator: init at 0.11 --- .../xlibinput_calibrator/default.nix | 42 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 44 insertions(+) create mode 100644 pkgs/tools/inputmethods/xlibinput_calibrator/default.nix diff --git a/pkgs/tools/inputmethods/xlibinput_calibrator/default.nix b/pkgs/tools/inputmethods/xlibinput_calibrator/default.nix new file mode 100644 index 000000000000..2b6585c92513 --- /dev/null +++ b/pkgs/tools/inputmethods/xlibinput_calibrator/default.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchFromGitHub +, libX11 +, libXi +, libXrandr +, txt2man +}: + +stdenv.mkDerivation rec { + pname = "xlibinput-calibrator"; + version = "0.11"; + + src = fetchFromGitHub { + owner = "kreijack"; + repo = "xlibinput_calibrator"; + rev = "v${version}"; + hash = "sha256-MvlamN8WSER0zN9Ru3Kr2MFARD9s7PYKkRtyD8s6ZPI="; + }; + + nativeBuildInputs = [ + txt2man + ]; + + buildInputs = [ + libX11 + libXi + libXrandr + ]; + + installFlags = [ "prefix=$(out)" ]; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Touch calibrator for libinput"; + homepage = "https://github.com/kreijack/xlibinput_calibrator"; + changelog = "https://github.com/kreijack/xlibinput_calibrator/blob/${src.rev}/Changelog"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ atemu ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c2397c4ce5db..ef622d718f29 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -39612,6 +39612,8 @@ with pkgs; xlayoutdisplay = callPackage ../tools/X11/xlayoutdisplay { }; + xlibinput-calibrator = callPackage ../tools/inputmethods/xlibinput_calibrator { }; + xlog = callPackage ../applications/radio/xlog { }; xmagnify = callPackage ../tools/X11/xmagnify { }; From 7ef62c21323aeaa746443687832b59fdc567e8f6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 6 May 2023 12:26:20 +0000 Subject: [PATCH 27/80] gnuastro: 0.19 -> 0.20 --- pkgs/applications/science/astronomy/gnuastro/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/astronomy/gnuastro/default.nix b/pkgs/applications/science/astronomy/gnuastro/default.nix index 710b3c72e6d9..69f4011f2737 100644 --- a/pkgs/applications/science/astronomy/gnuastro/default.nix +++ b/pkgs/applications/science/astronomy/gnuastro/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "gnuastro"; - version = "0.19"; + version = "0.20"; src = fetchurl { url = "mirror://gnu/gnuastro/gnuastro-${version}.tar.gz"; - sha256 = "sha256-4bPNW0sSb/J34vSOit8BA9Z/wK0Hz5o9OqfgVSlDDjU="; + sha256 = "sha256-kkuLtqwc0VFj3a3Dqb/bi4jKx7UJnV+CHs7bw/Cwac0="; }; nativeBuildInputs = [ libtool ]; From dfef829c3bd18db82ab7e743a8f0f72f742c644d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 6 May 2023 12:26:22 +0000 Subject: [PATCH 28/80] papi: 7.0.0 -> 7.0.1 --- pkgs/development/libraries/science/benchmark/papi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/science/benchmark/papi/default.nix b/pkgs/development/libraries/science/benchmark/papi/default.nix index 06dc203aa2fb..7e022bafbb40 100644 --- a/pkgs/development/libraries/science/benchmark/papi/default.nix +++ b/pkgs/development/libraries/science/benchmark/papi/default.nix @@ -3,12 +3,12 @@ }: stdenv.mkDerivation rec { - version = "7.0.0"; + version = "7.0.1"; pname = "papi"; src = fetchurl { url = "https://bitbucket.org/icl/papi/get/papi-${lib.replaceStrings ["."] ["-"] version}-t.tar.gz"; - sha256 = "sha256-MxiOzfBxLmzsUg4jo2VHThyGE0/WYD3ZEBrq3WRjXGU="; + sha256 = "sha256-VajhmPW8sEJksfhLjBVlpBH7+AZr4fwKZPAtZxRF1Bk="; }; setSourceRoot = '' From d8787b0f38bff3308cdb9637299e67f524b04e77 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 6 May 2023 13:15:13 +0000 Subject: [PATCH 29/80] opengrok: 1.12.3 -> 1.12.4 --- pkgs/development/tools/misc/opengrok/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/misc/opengrok/default.nix b/pkgs/development/tools/misc/opengrok/default.nix index 1da00ef605be..7b5bd633648c 100644 --- a/pkgs/development/tools/misc/opengrok/default.nix +++ b/pkgs/development/tools/misc/opengrok/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { pname = "opengrok"; - version = "1.12.3"; + version = "1.12.4"; # binary distribution src = fetchurl { url = "https://github.com/oracle/opengrok/releases/download/${version}/${pname}-${version}.tar.gz"; - hash = "sha256-GHSsfsEhBYeUbSKZfve3O2Z+bL3e7dqpl4sQKrQgWDE="; + hash = "sha256-pUHNLiZng8lIO+UFP6r6dfwPI6m8RRuuW2wS1pJXZmQ="; }; nativeBuildInputs = [ makeWrapper ]; From f9b6ab7e8837d3266e959235f08833fa54377f7b Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Thu, 4 May 2023 22:23:12 +0100 Subject: [PATCH 30/80] python3Packages.django-js-reverse: 2022-09-16 -> 0.10.1-b1 Changing to a different fork, as the original is unmaintained. Changelog: see [1] and [2]. [1]: https://github.com/BITSOLVER/django-js-reverse/releases/tag/0.10.1-b0 [2]: https://github.com/BITSOLVER/django-js-reverse/releases/tag/0.10.1-b1 --- .../django-js-reverse/default.nix | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/pkgs/development/python-modules/django-js-reverse/default.nix b/pkgs/development/python-modules/django-js-reverse/default.nix index b06f8c89e358..a6f31a05c8f3 100644 --- a/pkgs/development/python-modules/django-js-reverse/default.nix +++ b/pkgs/development/python-modules/django-js-reverse/default.nix @@ -1,9 +1,11 @@ { lib , buildPythonPackage +, pythonAtLeast , fetchpatch , fetchFromGitHub , python , django +, packaging , nodejs , js2py , six @@ -11,26 +13,19 @@ buildPythonPackage rec { pname = "django-js-reverse"; - # Support for Django 4.0 not yet released - version = "unstable-2022-09-16"; + version = "0.10.1-b1"; src = fetchFromGitHub { - owner = "ierror"; + owner = "BITSOLVER"; repo = "django-js-reverse"; - rev = "7cab78c4531780ab4b32033d5104ccd5be1a246a"; - hash = "sha256-oA4R5MciDMcSsb+GAgWB5jhj+nl7E8t69u0qlx2G93E="; + rev = version; + hash = "sha256-i78UsxVwxyDAc8LrOVEXLG0tdidoQhvUx7GvPDaH0KY="; }; - patches = [ - (fetchpatch { - name = "fix-requires_system_checks-list-or-tuple"; - url = "https://github.com/ierror/django-js-reverse/commit/1477ba44b62c419d12ebec86e56973f1ae56f712.patch"; - hash = "sha256-xUtCziewVhnCOaNWddJBH4/Vvhwjjq/wcQDvh2YzWMQ="; - }) - ]; - propagatedBuildInputs = [ django + ] ++ lib.optionals (pythonAtLeast "3.7") [ + packaging ]; nativeCheckInputs = [ From a2633f9302206a44d8cb1ffd3d4ba52d301c1712 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Thu, 4 May 2023 22:32:07 +0100 Subject: [PATCH 31/80] python3Packages.recipe-scrapers: 14.32.1 -> 14.36.1 Changelog: see 14.32.1...14.36.1 [1]. [1]: https://github.com/hhursev/recipe-scrapers/compare/14.32.1...14.36.1 --- pkgs/development/python-modules/recipe-scrapers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/recipe-scrapers/default.nix b/pkgs/development/python-modules/recipe-scrapers/default.nix index c3fd8eb73560..10e5a4ff34e3 100644 --- a/pkgs/development/python-modules/recipe-scrapers/default.nix +++ b/pkgs/development/python-modules/recipe-scrapers/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "recipe-scrapers"; - version = "14.32.1"; + version = "14.36.1"; format = "pyproject"; src = fetchFromGitHub { owner = "hhursev"; repo = "recipe-scrapers"; rev = "refs/tags/${version}"; - hash = "sha256-6iUagD1PTTAraBHOWLjHiLFFsImO30w84p+6IcIv52c="; + hash = "sha256-JadtlJMxRib8FpNC4QGYXfUEJGyB1aniDbsbsBYU3no="; }; nativeBuildInputs = [ From ca57e0223839d21d5fbc1111561e3efe62167756 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Thu, 4 May 2023 22:57:16 +0100 Subject: [PATCH 32/80] tandoor-recipes: 1.4.4 -> 1.4.9 Changelog: see 1.4.4...1.4.9 [1]. [1]: https://github.com/TandoorRecipes/recipes/compare/1.4.4...1.4.9 --- pkgs/applications/misc/tandoor-recipes/common.nix | 6 +++--- pkgs/applications/misc/tandoor-recipes/default.nix | 11 ++++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/misc/tandoor-recipes/common.nix b/pkgs/applications/misc/tandoor-recipes/common.nix index 49b38bec655a..1a3e4d261144 100644 --- a/pkgs/applications/misc/tandoor-recipes/common.nix +++ b/pkgs/applications/misc/tandoor-recipes/common.nix @@ -1,15 +1,15 @@ { lib, fetchFromGitHub }: rec { - version = "1.4.4"; + version = "1.4.9"; src = fetchFromGitHub { owner = "TandoorRecipes"; repo = "recipes"; rev = version; - sha256 = "sha256-1wqZoOT2Aafbs2P0mL33jw5HkrLIitUcRt6bQQcHx40="; + sha256 = "sha256-h424lUm/wmCHXkMW2XejogvH3wL/+J67cG4m8rIWM1U="; }; - yarnSha256 = "sha256-gH0q3pJ2BC5pAU9KSo3C9DDRUnpypoyLOEqKSrkxYrk="; + yarnSha256 = "sha256-LJ0uL66tcK6zL8Mkd2UB8dHsslMTtf8wQmgbZdvOT6s="; meta = with lib; { homepage = "https://tandoor.dev/"; diff --git a/pkgs/applications/misc/tandoor-recipes/default.nix b/pkgs/applications/misc/tandoor-recipes/default.nix index 89d1740a802c..1f5dee51c599 100644 --- a/pkgs/applications/misc/tandoor-recipes/default.nix +++ b/pkgs/applications/misc/tandoor-recipes/default.nix @@ -2,6 +2,7 @@ , nixosTests , python3 , fetchFromGitHub +, fetchpatch }: let python = python3.override { @@ -41,6 +42,12 @@ python.pkgs.pythonPackages.buildPythonPackage rec { patches = [ # Allow setting MEDIA_ROOT through environment variable ./media-root.patch + # Address CVE-2023-31047 on Django 4.2.1+ + (fetchpatch { + name = "fix-multiple-file-field"; + url = "https://github.com/TandoorRecipes/recipes/pull/2458/commits/6b04c922977317354a367487427b15a8ed619be9.patch"; + hash = "sha256-KmfjJSrB/4tOWtU7zrDJ/AOG4XlmWy/halw8IEEXdZ0="; + }) ]; propagatedBuildInputs = with python.pkgs; [ @@ -101,8 +108,10 @@ python.pkgs.pythonPackages.buildPythonPackage rec { buildPhase = '' runHook preBuild - # Avoid dependency on django debug toolbar + # Disable debug logging export DEBUG=0 + # Avoid dependency on django debug toolbar + export DEBUG_TOOLBAR=0 # See https://github.com/TandoorRecipes/recipes/issues/2043 mkdir cookbook/static/themes/maps/ From 96503103487d34ff5653782d61abe6c9506ebc97 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Thu, 4 May 2023 23:18:37 +0100 Subject: [PATCH 33/80] nixos/tandoor-recipes: disable debug toolbar --- nixos/modules/services/misc/tandoor-recipes.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/misc/tandoor-recipes.nix b/nixos/modules/services/misc/tandoor-recipes.nix index a349bcac9321..63d3e3d2a857 100644 --- a/nixos/modules/services/misc/tandoor-recipes.nix +++ b/nixos/modules/services/misc/tandoor-recipes.nix @@ -9,6 +9,7 @@ let env = { GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}"; DEBUG = "0"; + DEBUG_TOOLBAR = "0"; MEDIA_ROOT = "/var/lib/tandoor-recipes"; } // optionalAttrs (config.time.timeZone != null) { TIMEZONE = config.time.timeZone; From 1d5d9105a9699e2fef7a775f014b73606e25717e Mon Sep 17 00:00:00 2001 From: figsoda Date: Sat, 6 May 2023 09:27:15 -0400 Subject: [PATCH 34/80] xc: fix version, add figsoda as a maintainer --- pkgs/development/tools/xc/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/xc/default.nix b/pkgs/development/tools/xc/default.nix index 5d9f46620abd..3c5882859e5a 100644 --- a/pkgs/development/tools/xc/default.nix +++ b/pkgs/development/tools/xc/default.nix @@ -13,10 +13,16 @@ buildGoModule rec { vendorHash = "sha256-hCdIO377LiXFKz0GfCmAADTPfoatk8YWzki7lVP3yLw="; + ldflags = [ + "-s" + "-w" + "-X=main.version=${version}" + ]; + meta = with lib; { homepage = "https://xcfile.dev/"; description = "Markdown defined task runner"; license = licenses.mit; - maintainers = with maintainers; [ joerdav ]; + maintainers = with maintainers; [ figsoda joerdav ]; }; } From e195435fa64a0429595dfcad1e90cafdbb86cb64 Mon Sep 17 00:00:00 2001 From: figsoda Date: Sat, 6 May 2023 09:28:32 -0400 Subject: [PATCH 35/80] xc: 0.4.0 -> 0.4.1 Diff: https://github.com/joerdav/xc/compare/v0.4.0...v0.4.1 Changelog: https://github.com/joerdav/xc/releases/tag/v0.4.1 --- pkgs/development/tools/xc/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/xc/default.nix b/pkgs/development/tools/xc/default.nix index 3c5882859e5a..c7612698f46c 100644 --- a/pkgs/development/tools/xc/default.nix +++ b/pkgs/development/tools/xc/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "xc"; - version = "0.4.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "joerdav"; repo = pname; rev = "v${version}"; - sha256 = "sha256-pKsttrdXZQnWgJocGtyk7+qze1dpmZTclsUhwun6n8E="; + sha256 = "sha256-Dc7MVn9hF2HtXqMvWQ5UsLQW5ZKcFKt7AHcXdiWDs1I="; }; vendorHash = "sha256-hCdIO377LiXFKz0GfCmAADTPfoatk8YWzki7lVP3yLw="; @@ -20,8 +20,9 @@ buildGoModule rec { ]; meta = with lib; { - homepage = "https://xcfile.dev/"; description = "Markdown defined task runner"; + homepage = "https://xcfile.dev/"; + changelog = "https://github.com/joerdav/xc/releases/tag/${src.rev}"; license = licenses.mit; maintainers = with maintainers; [ figsoda joerdav ]; }; From 406a26c10dc5505dbf5e48bce07560e558d623ec Mon Sep 17 00:00:00 2001 From: Lorenz Brun Date: Sat, 6 May 2023 12:20:38 +0200 Subject: [PATCH 36/80] wireshark: build with QT 6 --- .../networking/sniffers/wireshark/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 49bf77a483c2..94bbb480663f 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -39,14 +39,14 @@ , makeWrapper , wrapGAppsHook , withQt ? true -, qt5 ? null +, qt6 ? null , ApplicationServices , SystemConfiguration , gmp , asciidoctor }: -assert withQt -> qt5 != null; +assert withQt -> qt6 != null; let version = "4.0.5"; @@ -70,6 +70,7 @@ stdenv.mkDerivation { # Fix `extcap` and `plugins` paths. See https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=16444 "-DCMAKE_INSTALL_LIBDIR=lib" "-DLEMON_C_COMPILER=cc" + "-DUSE_qt6=ON" ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "-DHAVE_C99_VSNPRINTF_EXITCODE=0" "-DHAVE_C99_VSNPRINTF_EXITCODE__TRYRUN_OUTPUT=" @@ -79,7 +80,7 @@ stdenv.mkDerivation { env.NIX_CFLAGS_COMPILE = toString [ "-DQT_NO_DEBUG" ]; nativeBuildInputs = [ asciidoctor bison cmake ninja flex makeWrapper pkg-config python3 perl ] - ++ lib.optionals withQt [ qt5.wrapQtAppsHook wrapGAppsHook ]; + ++ lib.optionals withQt [ qt6.wrapQtAppsHook wrapGAppsHook ]; depsBuildBuild = [ buildPackages.stdenv.cc ]; @@ -108,11 +109,10 @@ stdenv.mkDerivation { c-ares glib zlib - ] ++ lib.optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ]) - ++ lib.optionals (withQt && stdenv.isLinux) [ qt5.qtwayland ] + ] ++ lib.optionals withQt (with qt6; [ qtbase qtmultimedia qtsvg qttools qt5compat ]) + ++ lib.optionals (withQt && stdenv.isLinux) [ qt6.qtwayland ] ++ lib.optionals stdenv.isLinux [ libcap libnl sbc ] - ++ lib.optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ] - ++ lib.optionals (withQt && stdenv.isDarwin) (with qt5; [ qtmacextras ]); + ++ lib.optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ]; strictDeps = true; From 00000001b4f4a57961f35ba1e0db5a4806a38ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 5 May 2023 21:39:20 +0200 Subject: [PATCH 37/80] treewide: switch builtins.fromJSON(builtins.readFile ./file.json) to lib.importJSON ./file.json #2 --- doc/build-aux/pandoc-filters/link-manpages.nix | 2 +- pkgs/applications/emulators/retroarch/cores.nix | 2 +- pkgs/applications/networking/browsers/librewolf/src.nix | 4 ++-- pkgs/build-support/flutter/default.nix | 4 ++-- pkgs/data/misc/hackage/default.nix | 2 +- pkgs/development/libraries/ndi/default.nix | 2 +- pkgs/development/tools/build-managers/scala-cli/default.nix | 2 +- pkgs/development/tools/mongosh/default.nix | 2 +- pkgs/development/tools/poetry2nix/poetry2nix/default.nix | 2 +- pkgs/development/tools/swiftpm2nix/support.nix | 2 +- pkgs/development/tools/tabnine/default.nix | 2 +- pkgs/servers/invidious/default.nix | 2 +- pkgs/servers/invidious/lsquic.nix | 2 +- pkgs/servers/invidious/videojs.nix | 4 ++-- pkgs/servers/nosql/cassandra/3.0.nix | 4 ++-- pkgs/servers/nosql/cassandra/3.11.nix | 4 ++-- pkgs/servers/nosql/cassandra/4.nix | 4 ++-- pkgs/tools/admin/google-cloud-sdk/components.nix | 2 +- pkgs/tools/nix/npins/default.nix | 2 +- pkgs/tools/nix/npins/source.nix | 2 +- 20 files changed, 26 insertions(+), 26 deletions(-) diff --git a/doc/build-aux/pandoc-filters/link-manpages.nix b/doc/build-aux/pandoc-filters/link-manpages.nix index ee27c5d60812..2589a7c34251 100644 --- a/doc/build-aux/pandoc-filters/link-manpages.nix +++ b/doc/build-aux/pandoc-filters/link-manpages.nix @@ -1,7 +1,7 @@ { pkgs ? import ../../.. {} }: let inherit (pkgs) lib; - manpageURLs = builtins.fromJSON (builtins.readFile (pkgs.path + "/doc/manpage-urls.json")); + manpageURLs = lib.importJSON (pkgs.path + "/doc/manpage-urls.json"); in pkgs.writeText "link-manpages.lua" '' --[[ Adds links to known man pages that aren't already in a link. diff --git a/pkgs/applications/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix index e38fe646c4c3..5da2ad763187 100644 --- a/pkgs/applications/emulators/retroarch/cores.nix +++ b/pkgs/applications/emulators/retroarch/cores.nix @@ -42,7 +42,7 @@ }: let - hashesFile = builtins.fromJSON (builtins.readFile ./hashes.json); + hashesFile = lib.importJSON ./hashes.json; getCoreSrc = core: fetchFromGitHub (builtins.getAttr core hashesFile); diff --git a/pkgs/applications/networking/browsers/librewolf/src.nix b/pkgs/applications/networking/browsers/librewolf/src.nix index 38c5dc6b593d..a2100ac2ab8b 100644 --- a/pkgs/applications/networking/browsers/librewolf/src.nix +++ b/pkgs/applications/networking/browsers/librewolf/src.nix @@ -1,5 +1,5 @@ -{ fetchurl, fetchFromGitLab }: -let src = builtins.fromJSON (builtins.readFile ./src.json); +{ lib, fetchurl, fetchFromGitLab }: +let src = lib.importJSON ./src.json; in { inherit (src) packageVersion; diff --git a/pkgs/build-support/flutter/default.nix b/pkgs/build-support/flutter/default.nix index abb1c8ac359f..66ac78534e35 100644 --- a/pkgs/build-support/flutter/default.nix +++ b/pkgs/build-support/flutter/default.nix @@ -135,11 +135,11 @@ let packageOverrideRepository = (callPackage ../../development/compilers/flutter/package-overrides { }) // customPackageOverrides; productPackages = builtins.filter (package: package.kind != "dev") (if autoDepsList - then builtins.fromJSON (builtins.readFile deps.depsListFile) + then lib.importJSON deps.depsListFile else if depsListFile == null then [ ] - else builtins.fromJSON (builtins.readFile depsListFile)); + else lib.importJSON depsListFile); in builtins.foldl' (prev: package: diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix index 2e8c660d9472..b283f2025e0d 100644 --- a/pkgs/data/misc/hackage/default.nix +++ b/pkgs/data/misc/hackage/default.nix @@ -2,7 +2,7 @@ # and callHackage { lib, fetchurl }: let - pin = builtins.fromJSON (builtins.readFile ./pin.json); + pin = lib.importJSON ./pin.json; in fetchurl { inherit (pin) url sha256; diff --git a/pkgs/development/libraries/ndi/default.nix b/pkgs/development/libraries/ndi/default.nix index 6849c3620332..1c15455b6add 100644 --- a/pkgs/development/libraries/ndi/default.nix +++ b/pkgs/development/libraries/ndi/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, requireFile, avahi, obs-studio-plugins }: let - versionJSON = builtins.fromJSON (builtins.readFile ./version.json); + versionJSON = lib.importJSON ./version.json; in stdenv.mkDerivation rec { pname = "ndi"; diff --git a/pkgs/development/tools/build-managers/scala-cli/default.nix b/pkgs/development/tools/build-managers/scala-cli/default.nix index 9381922a5fb5..3b509f03c5ff 100644 --- a/pkgs/development/tools/build-managers/scala-cli/default.nix +++ b/pkgs/development/tools/build-managers/scala-cli/default.nix @@ -12,7 +12,7 @@ let pname = "scala-cli"; - sources = builtins.fromJSON (builtins.readFile ./sources.json); + sources = lib.importJSON ./sources.json; inherit (sources) version assets; platforms = builtins.attrNames assets; diff --git a/pkgs/development/tools/mongosh/default.nix b/pkgs/development/tools/mongosh/default.nix index 0bc4aa24a1a8..56e2e2e8e421 100644 --- a/pkgs/development/tools/mongosh/default.nix +++ b/pkgs/development/tools/mongosh/default.nix @@ -6,7 +6,7 @@ }: let - source = builtins.fromJSON (builtins.readFile ./source.json); + source = lib.importJSON ./source.json; in buildNpmPackage { pname = "mongosh"; diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix index 16d443cbd5cc..fe888c60cd2c 100644 --- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix +++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix @@ -17,7 +17,7 @@ let toPluginAble = (import ./plugins.nix { inherit pkgs lib; }).toPluginAble; # List of known build systems that are passed through from nixpkgs unmodified - knownBuildSystems = builtins.fromJSON (builtins.readFile ./known-build-systems.json); + knownBuildSystems = lib.importJSON ./known-build-systems.json; nixpkgsBuildSystems = lib.subtractLists [ "poetry" "poetry-core" ] knownBuildSystems; mkInputAttrs = diff --git a/pkgs/development/tools/swiftpm2nix/support.nix b/pkgs/development/tools/swiftpm2nix/support.nix index 3c8e597f25ea..9b944a133daa 100644 --- a/pkgs/development/tools/swiftpm2nix/support.nix +++ b/pkgs/development/tools/swiftpm2nix/support.nix @@ -19,7 +19,7 @@ in rec { # Make packaging helpers from swiftpm2nix generated output. helpers = generated: let inherit (import generated) workspaceStateFile hashes; - workspaceState = builtins.fromJSON (builtins.readFile workspaceStateFile); + workspaceState = lib.importJSON workspaceStateFile; pinFile = mkPinFile workspaceState; in rec { diff --git a/pkgs/development/tools/tabnine/default.nix b/pkgs/development/tools/tabnine/default.nix index 9b2616e7ebd7..fcd00726ba77 100644 --- a/pkgs/development/tools/tabnine/default.nix +++ b/pkgs/development/tools/tabnine/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, unzip }: let - sources = builtins.fromJSON (builtins.readFile ./sources.json); + sources = lib.importJSON ./sources.json; platform = if (builtins.hasAttr stdenv.hostPlatform.system sources.platforms) then builtins.getAttr (stdenv.hostPlatform.system) sources.platforms diff --git a/pkgs/servers/invidious/default.nix b/pkgs/servers/invidious/default.nix index b3b0d2d47ad0..d6d9ec17363e 100644 --- a/pkgs/servers/invidious/default.nix +++ b/pkgs/servers/invidious/default.nix @@ -12,7 +12,7 @@ let # * update lsquic and boringssl if necessarry, lsquic.cr depends on # the same version of lsquic and lsquic requires the boringssl # commit mentioned in its README - versions = builtins.fromJSON (builtins.readFile ./versions.json); + versions = lib.importJSON ./versions.json; in crystal.buildCrystalPackage rec { pname = "invidious"; diff --git a/pkgs/servers/invidious/lsquic.nix b/pkgs/servers/invidious/lsquic.nix index c2c88dd8e3b8..c9cdd9958ede 100644 --- a/pkgs/servers/invidious/lsquic.nix +++ b/pkgs/servers/invidious/lsquic.nix @@ -1,6 +1,6 @@ { lib, boringssl, stdenv, fetchgit, fetchFromGitHub, fetchurl, cmake, zlib, perl, libevent }: let - versions = builtins.fromJSON (builtins.readFile ./versions.json); + versions = lib.importJSON ./versions.json; fetchGitilesPatch = { name, url, sha256 }: fetchurl { diff --git a/pkgs/servers/invidious/videojs.nix b/pkgs/servers/invidious/videojs.nix index e4470793e51e..4016f8e1258d 100644 --- a/pkgs/servers/invidious/videojs.nix +++ b/pkgs/servers/invidious/videojs.nix @@ -1,7 +1,7 @@ -{ stdenvNoCC, cacert, crystal, openssl, pkg-config, invidious }: +{ lib, stdenvNoCC, cacert, crystal, openssl, pkg-config, invidious }: let - versions = builtins.fromJSON (builtins.readFile ./versions.json); + versions = lib.importJSON ./versions.json; in stdenvNoCC.mkDerivation { name = "videojs"; diff --git a/pkgs/servers/nosql/cassandra/3.0.nix b/pkgs/servers/nosql/cassandra/3.0.nix index 9c62901a4808..ce2da3391be1 100644 --- a/pkgs/servers/nosql/cassandra/3.0.nix +++ b/pkgs/servers/nosql/cassandra/3.0.nix @@ -1,7 +1,7 @@ -{ callPackage, ... } @ args: +{ callPackage, lib, ... } @ args: callPackage ./generic.nix ( args - // builtins.fromJSON (builtins.readFile ./3.0.json) + // lib.importJSON ./3.0.json // { generation = "3_0"; }) diff --git a/pkgs/servers/nosql/cassandra/3.11.nix b/pkgs/servers/nosql/cassandra/3.11.nix index ffb29743405b..695478f05030 100644 --- a/pkgs/servers/nosql/cassandra/3.11.nix +++ b/pkgs/servers/nosql/cassandra/3.11.nix @@ -1,7 +1,7 @@ -{ callPackage, ... } @ args: +{ callPackage, lib, ... } @ args: callPackage ./generic.nix ( args - // builtins.fromJSON (builtins.readFile ./3.11.json) + // lib.importJSON ./3.11.json // { generation = "3_11"; }) diff --git a/pkgs/servers/nosql/cassandra/4.nix b/pkgs/servers/nosql/cassandra/4.nix index 0a96e2579035..5674d4866475 100644 --- a/pkgs/servers/nosql/cassandra/4.nix +++ b/pkgs/servers/nosql/cassandra/4.nix @@ -1,8 +1,8 @@ # GENERATED BY update.sh -{ callPackage, ... } @ args: +{ callPackage, lib, ... } @ args: callPackage ./generic.nix ( args - // builtins.fromJSON (builtins.readFile ./4.json) + // lib.importJSON ./4.json // { generation = "4"; }) diff --git a/pkgs/tools/admin/google-cloud-sdk/components.nix b/pkgs/tools/admin/google-cloud-sdk/components.nix index 4f13bca3a20c..f4e5bca7307f 100644 --- a/pkgs/tools/admin/google-cloud-sdk/components.nix +++ b/pkgs/tools/admin/google-cloud-sdk/components.nix @@ -38,7 +38,7 @@ let # A description of all available google-cloud-sdk components. # It's a JSON file with a list of components, along with some metadata - snapshot = builtins.fromJSON (builtins.readFile snapshotPath); + snapshot = lib.importJSON snapshotPath; # Generate a snapshot file for a single component. It has the same format as # `snapshot`, but only contains a single component. These files are diff --git a/pkgs/tools/nix/npins/default.nix b/pkgs/tools/nix/npins/default.nix index aff959f3d5a8..96f2f5548884 100644 --- a/pkgs/tools/nix/npins/default.nix +++ b/pkgs/tools/nix/npins/default.nix @@ -15,7 +15,7 @@ let runtimePath = lib.makeBinPath [ nix nix-prefetch-git git ]; - sources = (builtins.fromJSON (builtins.readFile ./sources.json)).pins; + sources = (lib.importJSON ./sources.json).pins; in rustPlatform.buildRustPackage rec { pname = "npins"; version = src.version; diff --git a/pkgs/tools/nix/npins/source.nix b/pkgs/tools/nix/npins/source.nix index 8c9e47204afd..49046d8dd3c6 100644 --- a/pkgs/tools/nix/npins/source.nix +++ b/pkgs/tools/nix/npins/source.nix @@ -3,7 +3,7 @@ # Usage: # ```nix # let -# sources = builtins.fromJSON (builtins.readFile ./sources.json); +# sources = lib.importJSON ./sources.json; # in mkMyDerivation rec { # version = src.version; # This obviously only works for releases # src = pkgs.npins.mkSource sources.mySource; From 18a9f60cc420c4fdbb4fc9453a7038e3681c4c23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Zaffarano?= Date: Sat, 6 May 2023 16:24:20 +0200 Subject: [PATCH 38/80] insomnia: 2022.7.5 -> 2023.2.0 --- pkgs/development/web/insomnia/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/web/insomnia/default.nix b/pkgs/development/web/insomnia/default.nix index ddede318e8a5..b82c01222d20 100644 --- a/pkgs/development/web/insomnia/default.nix +++ b/pkgs/development/web/insomnia/default.nix @@ -16,12 +16,12 @@ let ]; in stdenv.mkDerivation rec { pname = "insomnia"; - version = "2022.7.5"; + version = "2023.2.0"; src = fetchurl { url = "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.deb"; - sha256 = "sha256-BJAiDv+Zg+wU6ovAkuMVTGN9WElOlC96m/GEYrg6exE="; + sha256 = "sha256-RI7i/yfGfwmube3Utuidw9Y3OqC+5htsyx1Vi1730WQ="; }; nativeBuildInputs = [ From 4a1e9009ad1fdba628c27e068ba1c5176afe0557 Mon Sep 17 00:00:00 2001 From: Mahmoud Ayman Date: Sat, 6 May 2023 17:25:32 +0300 Subject: [PATCH 39/80] anki-bin: add new dependencies --- pkgs/games/anki/bin.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix index a4e4db4f7b25..dab92aa97d60 100644 --- a/pkgs/games/anki/bin.nix +++ b/pkgs/games/anki/bin.nix @@ -55,7 +55,7 @@ let name = null; # Appimage sets it to "appimage-env" # Dependencies of anki - targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile krb5 ]); + targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile xcb-util-cursor-HEAD krb5 ]); runScript = writeShellScript "anki-wrapper.sh" '' exec ${unpacked}/bin/anki ${ lib.strings.escapeShellArgs commandLineArgs } From dc6fdb6af3b385bc050915e29fd495f4a5770a1c Mon Sep 17 00:00:00 2001 From: amesgen Date: Sat, 6 May 2023 17:02:04 +0200 Subject: [PATCH 40/80] i3status-rust: 0.31.1 -> 0.31.2 --- pkgs/applications/window-managers/i3/status-rust.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix index 133b20b9f5dd..b34ba43ce725 100644 --- a/pkgs/applications/window-managers/i3/status-rust.nix +++ b/pkgs/applications/window-managers/i3/status-rust.nix @@ -15,16 +15,16 @@ rustPlatform.buildRustPackage rec { pname = "i3status-rust"; - version = "0.31.1"; + version = "0.31.2"; src = fetchFromGitHub { owner = "greshake"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-nAwAQUjoKeGaTixTdk9yIgdy4+j6t6cbvH4NpBdSyns="; + hash = "sha256-4lr2ibtBtJYXeeArBK4M35L4CUNqZcUDB+3Nm1kqp4w="; }; - cargoHash = "sha256-/Z6HKOMIhQm52MlPty8ED9QPPJcM7juDpQQKgJVozyU="; + cargoHash = "sha256-5LIXzfYSuHOdxYxfp1eMdxsqyP+3sldBCV0mgv7SRRI="; nativeBuildInputs = [ pkg-config makeWrapper ]; From 4c713a5e90bc9c503a8d81b25c8252dd2c3e5d81 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Sat, 6 May 2023 14:43:32 +0000 Subject: [PATCH 41/80] texlab: 5.5.0 -> 5.5.1 --- pkgs/development/tools/misc/texlab/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix index 3a8e2fbb76d1..52932dfab2a6 100644 --- a/pkgs/development/tools/misc/texlab/default.nix +++ b/pkgs/development/tools/misc/texlab/default.nix @@ -15,16 +15,16 @@ let in rustPlatform.buildRustPackage rec { pname = "texlab"; - version = "5.5.0"; + version = "5.5.1"; src = fetchFromGitHub { owner = "latex-lsp"; repo = "texlab"; rev = "refs/tags/v${version}"; - hash = "sha256-xff6Wj1ZYn3jGrj/snr4ATabLUmL1Jw2LjsjpoG3ZjI="; + hash = "sha256-8m7GTD4EX7mWe1bYPuz+4g7FaPuW8++Y/fpIRsdxo6g="; }; - cargoHash = "sha256-gEwsnVXY84mTO+JZvcI7EEYCOnVFM07m4VvcWI6zFT0="; + cargoHash = "sha256-dcKVhHYODTFw46o3wM8EH0IpT6DkUfOHvdDmbMQmsX0="; outputs = [ "out" ] ++ lib.optional (!isCross) "man"; @@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec { # generate the man page postInstall = lib.optionalString (!isCross) '' # TexLab builds man page separately in CI: - # https://github.com/latex-lsp/texlab/blob/v5.5.0/.github/workflows/publish.yml#L127-L131 + # https://github.com/latex-lsp/texlab/blob/v5.5.1/.github/workflows/publish.yml#L127-L131 help2man --no-info "$out/bin/texlab" > texlab.1 installManPage texlab.1 ''; From c9581eaf4377aca74cd56dceb104edcc77c16429 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 6 May 2023 17:30:32 +0200 Subject: [PATCH 42/80] dnsrecon: 1.1.3 -> 1.1.4 Diff: https://github.com/darkoperator/dnsrecon/compare/1.1.3...1.1.4 --- pkgs/tools/security/dnsrecon/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/dnsrecon/default.nix b/pkgs/tools/security/dnsrecon/default.nix index 8eb823c7f0f7..a63205d9ba06 100644 --- a/pkgs/tools/security/dnsrecon/default.nix +++ b/pkgs/tools/security/dnsrecon/default.nix @@ -5,14 +5,14 @@ python3.pkgs.buildPythonApplication rec { pname = "dnsrecon"; - version = "1.1.3"; + version = "1.1.4"; format = "setuptools"; src = fetchFromGitHub { owner = "darkoperator"; repo = pname; rev = version; - hash = "sha256-V4/6VUlMizy8EN8ajN56YF+COn3/dfmD0997R+iR86g="; + hash = "sha256-DtyYYNtv0Zk8103NN+vlnr3Etv0bAZ6+A2CXeZZgiUg="; }; propagatedBuildInputs = with python3.pkgs; [ From 519582d8102088264a34cd6c8142fc2136daafb2 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 6 May 2023 17:44:56 +0200 Subject: [PATCH 43/80] kubescape: 2.3.0 -> 2.3.1 Diff: https://github.com/kubescape/kubescape.git/compare/refs/tags/v2.3.0...v2.3.1 Changelog: https://github.com/kubescape/kubescape/releases/tag/v2.3.1 --- pkgs/tools/security/kubescape/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/kubescape/default.nix b/pkgs/tools/security/kubescape/default.nix index d0ef28f33cf6..ff345a15562a 100644 --- a/pkgs/tools/security/kubescape/default.nix +++ b/pkgs/tools/security/kubescape/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "kubescape"; - version = "2.3.0"; + version = "2.3.1"; src = fetchFromGitHub { owner = "kubescape"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-xYkNwANAGWlYxGLIhIkOLKmOW/SM3Duqus4WJ6MKGZE="; + hash = "sha256-TMK+9C1L+pNIjWg/lahVQk1G4CdfgRLH68XKAfszTys="; fetchSubmodules = true; }; From 7048a87e3cad9d4e9705df692d50143d2e9b2271 Mon Sep 17 00:00:00 2001 From: teutat3s <10206665+teutat3s@users.noreply.github.com> Date: Fri, 5 May 2023 19:49:15 +0200 Subject: [PATCH 44/80] nodePackages.triton: convert to buildNpmPackage --- pkgs/development/node-packages/aliases.nix | 1 + .../node-packages/node-packages.json | 1 - .../node-packages/node-packages.nix | 202 ------------------ pkgs/development/node-packages/overrides.nix | 8 - pkgs/tools/admin/triton/default.nix | 44 ++++ pkgs/top-level/all-packages.nix | 2 +- 6 files changed, 46 insertions(+), 212 deletions(-) create mode 100644 pkgs/tools/admin/triton/default.nix diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix index 5fefdc7c3f53..3fc7a3d82e67 100644 --- a/pkgs/development/node-packages/aliases.nix +++ b/pkgs/development/node-packages/aliases.nix @@ -37,4 +37,5 @@ mapAliases { "@antora/cli" = pkgs.antora; "@githubnext/github-copilot-cli" = pkgs.github-copilot-cli; # Added 2023-05-02 "@nestjs/cli" = pkgs.nest-cli; + trito = pkgs.triton; # Added 2023-05-06 } diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json index 0a19cdca83ee..7f17c3967293 100644 --- a/pkgs/development/node-packages/node-packages.json +++ b/pkgs/development/node-packages/node-packages.json @@ -365,7 +365,6 @@ , "three" , "tiddlywiki" , "titanium" -, "triton" , "tsun" , "ts-node" , "ttf2eot" diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix index 04143a8a838a..db373c55a142 100644 --- a/pkgs/development/node-packages/node-packages.nix +++ b/pkgs/development/node-packages/node-packages.nix @@ -149660,208 +149660,6 @@ in bypassCache = true; reconstructLock = true; }; - triton = nodeEnv.buildNodePackage { - name = "triton"; - packageName = "triton"; - version = "7.15.4"; - src = fetchurl { - url = "https://registry.npmjs.org/triton/-/triton-7.15.4.tgz"; - sha512 = "xGR0oMmwiP4eiCGn4kLN5TWi8Dh+hMrLQ30KJQy7gRf9uhcBX3bQXTeuWVC9Yh8WUuHKJ2Wdgii88JZ4hIIUHw=="; - }; - dependencies = [ - sources."asn1-0.2.6" - sources."assert-plus-0.2.0" - sources."backoff-2.4.1" - sources."balanced-match-1.0.2" - sources."bcrypt-pbkdf-1.0.2" - sources."bigspinner-3.1.0" - sources."brace-expansion-1.1.11" - sources."bunyan-1.8.12" - sources."clone-0.1.5" - (sources."cmdln-4.1.2" // { - dependencies = [ - sources."assert-plus-1.0.0" - sources."extsprintf-1.4.1" - ]; - }) - sources."concat-map-0.0.1" - sources."core-util-is-1.0.3" - (sources."dashdash-1.14.1" // { - dependencies = [ - sources."assert-plus-1.0.0" - ]; - }) - sources."dtrace-provider-0.8.8" - sources."ecc-jsbn-0.1.2" - sources."extsprintf-1.0.2" - sources."fast-safe-stringify-1.2.3" - sources."fuzzyset.js-0.0.1" - (sources."getpass-0.1.6" // { - dependencies = [ - sources."assert-plus-1.0.0" - ]; - }) - sources."glob-5.0.15" - (sources."http-signature-1.3.6" // { - dependencies = [ - sources."assert-plus-1.0.0" - sources."extsprintf-1.3.0" - sources."json-schema-0.4.0" - sources."jsprim-2.0.2" - ]; - }) - sources."inflight-1.0.6" - sources."inherits-2.0.4" - sources."is-absolute-0.1.7" - sources."is-relative-0.1.3" - sources."isarray-1.0.0" - sources."isexe-1.1.2" - sources."jsbn-0.1.1" - sources."json-schema-0.2.3" - (sources."jsprim-1.4.0" // { - dependencies = [ - sources."assert-plus-1.0.0" - sources."verror-1.3.6" - ]; - }) - sources."keep-alive-agent-0.0.1" - sources."lodash-4.17.21" - (sources."lomstream-1.1.0" // { - dependencies = [ - sources."assert-plus-0.1.5" - sources."extsprintf-1.3.0" - ]; - }) - sources."lru-cache-4.1.5" - sources."lstream-0.0.4" - sources."mime-1.6.0" - sources."minimatch-3.1.2" - sources."minimist-0.0.8" - sources."mkdirp-0.5.1" - sources."moment-2.29.4" - sources."mooremachine-2.3.0" - sources."mute-stream-0.0.8" - sources."mv-2.1.1" - sources."nan-2.17.0" - sources."ncp-2.0.0" - sources."once-1.3.2" - sources."path-is-absolute-1.0.1" - sources."precond-0.2.3" - sources."process-nextick-args-2.0.1" - sources."pseudomap-1.0.2" - sources."read-1.0.7" - (sources."readable-stream-2.3.8" // { - dependencies = [ - sources."safe-buffer-5.1.2" - ]; - }) - (sources."restify-clients-1.5.2" // { - dependencies = [ - sources."assert-plus-1.0.0" - (sources."restify-errors-3.1.0" // { - dependencies = [ - sources."assert-plus-0.2.0" - sources."lodash-3.10.1" - ]; - }) - ]; - }) - (sources."restify-errors-3.0.0" // { - dependencies = [ - sources."assert-plus-0.1.5" - sources."lodash-3.10.1" - ]; - }) - sources."rimraf-2.4.4" - sources."safe-buffer-5.2.1" - sources."safe-json-stringify-1.2.0" - sources."safer-buffer-2.1.2" - sources."semver-5.1.0" - (sources."smartdc-auth-2.5.7" // { - dependencies = [ - sources."assert-plus-1.0.0" - (sources."dashdash-1.10.1" // { - dependencies = [ - sources."assert-plus-0.1.5" - ]; - }) - sources."extsprintf-1.0.0" - sources."json-schema-0.2.2" - (sources."jsprim-0.3.0" // { - dependencies = [ - sources."verror-1.3.3" - ]; - }) - sources."once-1.3.0" - sources."vasync-1.4.3" - sources."verror-1.1.0" - ]; - }) - (sources."sshpk-1.17.0" // { - dependencies = [ - sources."assert-plus-1.0.0" - ]; - }) - (sources."sshpk-agent-1.7.0" // { - dependencies = [ - sources."assert-plus-1.0.0" - sources."sshpk-1.14.2" - ]; - }) - (sources."string_decoder-1.1.1" // { - dependencies = [ - sources."safe-buffer-5.1.2" - ]; - }) - sources."strsplit-1.0.0" - (sources."tabula-1.10.0" // { - dependencies = [ - sources."assert-plus-1.0.0" - ]; - }) - sources."tunnel-agent-0.6.0" - sources."tweetnacl-0.14.5" - sources."util-deprecate-1.0.2" - sources."uuid-3.4.0" - (sources."vasync-1.6.3" // { - dependencies = [ - sources."extsprintf-1.2.0" - sources."verror-1.6.0" - ]; - }) - (sources."verror-1.10.0" // { - dependencies = [ - sources."assert-plus-1.0.0" - sources."core-util-is-1.0.2" - sources."extsprintf-1.4.1" - ]; - }) - (sources."vstream-0.1.0" // { - dependencies = [ - sources."assert-plus-0.1.5" - sources."extsprintf-1.2.0" - ]; - }) - (sources."watershed-0.3.4" // { - dependencies = [ - sources."readable-stream-1.0.2" - ]; - }) - sources."which-1.2.4" - sources."wordwrap-1.0.0" - sources."wrappy-1.0.2" - sources."yallist-2.1.2" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "Triton CLI and client (https://www.tritondatacenter.com/)"; - homepage = "https://github.com/TritonDataCenter/node-triton"; - license = "MPL-2.0"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; tsun = nodeEnv.buildNodePackage { name = "tsun"; packageName = "tsun"; diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix index 11ab1f8b5475..d31262267ab3 100644 --- a/pkgs/development/node-packages/overrides.nix +++ b/pkgs/development/node-packages/overrides.nix @@ -560,14 +560,6 @@ final: prev: { ''; }; - triton = prev.triton.override (oldAttrs: { - nativeBuildInputs = [ pkgs.installShellFiles ]; - postInstall = '' - installShellCompletion --cmd triton --bash <($out/bin/triton completion) - ''; - meta = oldAttrs.meta // { maintainers = with lib.maintainers; [ teutat3s ]; }; - }); - ts-node = prev.ts-node.override { nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ]; postInstall = '' diff --git a/pkgs/tools/admin/triton/default.nix b/pkgs/tools/admin/triton/default.nix new file mode 100644 index 000000000000..d5841e924571 --- /dev/null +++ b/pkgs/tools/admin/triton/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +, installShellFiles +, testers +, triton +}: + +buildNpmPackage rec { + pname = "triton"; + version = "7.15.4"; + + src = fetchFromGitHub { + owner = "TritonDataCenter"; + repo = "node-triton"; + rev = version; + hash = "sha256-RjYJT8Iw9JZzvd2d9zh2CS27qUx12nDi12k+YuTh7tk="; + }; + + npmDepsHash = "sha256-2ZTTgJ4LzmlfFoNNNPrrmna5pbREshdw5x9w5N7nasc="; + + dontBuild = true; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = '' + installShellCompletion --cmd triton --bash <($out/bin/triton completion) + # Strip timestamp from generated bash completion + sed -i '/Bash completion generated.*/d' $out/share/bash-completion/completions/triton.bash + ''; + + passthru = { + tests.version = testers.testVersion { + package = triton; + }; + }; + + meta = with lib; { + description = "TritonDataCenter Client CLI and Node.js SDK"; + homepage = "https://github.com/TritonDataCenter/node-triton"; + license = licenses.mpl20; + maintainers = with maintainers; [ teutat3s ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2dcf2ad74bee..4dd79b54eaca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13080,7 +13080,7 @@ with pkgs; trickle = callPackage ../tools/networking/trickle { }; - inherit (nodePackages) triton; + triton = callPackage ../tools/admin/triton { }; triggerhappy = callPackage ../tools/inputmethods/triggerhappy { }; From 60737bc2d10325f71b0cbe3ff829265bc5c81c6b Mon Sep 17 00:00:00 2001 From: teutat3s <10206665+teutat3s@users.noreply.github.com> Date: Fri, 5 May 2023 19:51:54 +0200 Subject: [PATCH 45/80] nodePackages.manta: convert to buildNpmPackage Renamed package to node-manta, because manta is already taken --- pkgs/development/node-packages/aliases.nix | 1 + .../node-packages/node-packages.json | 1 - .../node-packages/node-packages.nix | 192 - pkgs/development/node-packages/overrides.nix | 14 - pkgs/tools/admin/manta/default.nix | 65 + pkgs/tools/admin/manta/package-lock.json | 3477 +++++++++++++++++ pkgs/tools/admin/manta/source.json | 6 + pkgs/tools/admin/manta/update.sh | 25 + pkgs/top-level/all-packages.nix | 2 + 9 files changed, 3576 insertions(+), 207 deletions(-) create mode 100644 pkgs/tools/admin/manta/default.nix create mode 100644 pkgs/tools/admin/manta/package-lock.json create mode 100644 pkgs/tools/admin/manta/source.json create mode 100755 pkgs/tools/admin/manta/update.sh diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix index 3fc7a3d82e67..7e244374afb3 100644 --- a/pkgs/development/node-packages/aliases.nix +++ b/pkgs/development/node-packages/aliases.nix @@ -37,5 +37,6 @@ mapAliases { "@antora/cli" = pkgs.antora; "@githubnext/github-copilot-cli" = pkgs.github-copilot-cli; # Added 2023-05-02 "@nestjs/cli" = pkgs.nest-cli; + manta = pkgs.node-manta; # Added 2023-05-06 trito = pkgs.triton; # Added 2023-05-06 } diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json index 7f17c3967293..479694c17f6a 100644 --- a/pkgs/development/node-packages/node-packages.json +++ b/pkgs/development/node-packages/node-packages.json @@ -214,7 +214,6 @@ , "lua-fmt" , "lv_font_conv" , "madoko" -, "manta" , "markdownlint-cli" , "markdownlint-cli2" , "markdown-link-check" diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix index db373c55a142..df028896ec04 100644 --- a/pkgs/development/node-packages/node-packages.nix +++ b/pkgs/development/node-packages/node-packages.nix @@ -126368,198 +126368,6 @@ in bypassCache = true; reconstructLock = true; }; - manta = nodeEnv.buildNodePackage { - name = "manta"; - packageName = "manta"; - version = "5.3.2"; - src = fetchurl { - url = "https://registry.npmjs.org/manta/-/manta-5.3.2.tgz"; - sha512 = "Vsgmc7hZbra1oicuHH9e5UNkcVyRJiH+Y4uvpTW3OQ60NhUAbv3V+re3ZtyN51MH3QJ9WNgkMAfR8dZ3Sv5gCw=="; - }; - dependencies = [ - sources."ansi-regex-4.1.1" - sources."ansi-styles-3.2.1" - sources."asn1-0.2.6" - sources."assert-plus-1.0.0" - sources."backoff-2.3.0" - sources."balanced-match-1.0.2" - sources."bcrypt-pbkdf-1.0.2" - sources."block-stream-0.0.9" - sources."brace-expansion-1.1.11" - sources."bunyan-1.8.15" - sources."camelcase-5.3.1" - sources."cliui-5.0.0" - sources."clone-0.1.19" - sources."cmdln-4.1.2" - sources."color-convert-1.9.3" - sources."color-name-1.1.3" - sources."concat-map-0.0.1" - sources."core-util-is-1.0.2" - sources."dashdash-1.14.1" - sources."decamelize-1.2.0" - sources."dtrace-provider-0.8.8" - sources."ecc-jsbn-0.1.2" - sources."emoji-regex-7.0.3" - sources."extsprintf-1.4.1" - sources."fast-safe-stringify-1.2.3" - sources."find-up-3.0.0" - sources."fstream-1.0.12" - sources."fuzzyset.js-0.0.1" - sources."get-caller-file-2.0.5" - sources."getpass-0.1.7" - sources."glob-6.0.4" - sources."graceful-fs-4.2.11" - sources."hogan.js-2.0.0" - (sources."http-signature-1.3.6" // { - dependencies = [ - sources."extsprintf-1.3.0" - sources."jsprim-2.0.2" - sources."verror-1.10.0" - ]; - }) - sources."inflight-1.0.6" - sources."inherits-2.0.4" - sources."is-fullwidth-code-point-2.0.0" - sources."isarray-0.0.1" - sources."jsbn-0.1.1" - sources."json-schema-0.4.0" - (sources."jsprim-1.4.2" // { - dependencies = [ - sources."extsprintf-1.3.0" - sources."verror-1.10.0" - ]; - }) - sources."keep-alive-agent-0.0.1" - sources."locate-path-3.0.0" - sources."lodash-4.17.21" - (sources."lomstream-1.1.1" // { - dependencies = [ - sources."assert-plus-0.1.5" - sources."extsprintf-1.3.0" - ]; - }) - sources."lru-cache-4.1.5" - sources."lstream-0.0.4" - sources."mime-2.4.7" - sources."minimatch-3.1.2" - sources."minimist-1.2.8" - sources."mkdirp-0.5.6" - sources."moment-2.29.4" - (sources."mooremachine-2.3.0" // { - dependencies = [ - sources."assert-plus-0.2.0" - ]; - }) - sources."mv-2.1.1" - sources."nan-2.17.0" - sources."ncp-2.0.0" - sources."once-1.4.0" - sources."p-limit-2.3.0" - sources."p-locate-3.0.0" - sources."p-try-2.2.0" - sources."path-exists-3.0.0" - sources."path-is-absolute-1.0.1" - sources."path-platform-0.0.1" - sources."precond-0.2.3" - sources."process-nextick-args-2.0.1" - (sources."progbar-1.2.1" // { - dependencies = [ - sources."readable-stream-1.0.34" - ]; - }) - sources."pseudomap-1.0.2" - sources."readable-stream-1.1.14" - sources."require-directory-2.1.1" - sources."require-main-filename-2.0.0" - (sources."restify-clients-1.6.0" // { - dependencies = [ - sources."backoff-2.5.0" - sources."mime-1.6.0" - sources."uuid-3.4.0" - ]; - }) - (sources."restify-errors-3.1.0" // { - dependencies = [ - sources."assert-plus-0.2.0" - sources."lodash-3.10.1" - ]; - }) - sources."rimraf-2.4.5" - sources."safe-buffer-5.2.1" - sources."safe-json-stringify-1.2.0" - sources."safer-buffer-2.1.2" - sources."semver-5.7.1" - sources."set-blocking-2.0.0" - sources."showdown-1.9.1" - (sources."smartdc-auth-2.5.9" // { - dependencies = [ - sources."bunyan-1.8.12" - sources."clone-0.1.5" - (sources."dashdash-1.10.1" // { - dependencies = [ - sources."assert-plus-0.1.5" - ]; - }) - sources."once-1.3.0" - sources."vasync-2.2.1" - sources."verror-1.10.0" - ]; - }) - sources."sshpk-1.17.0" - (sources."sshpk-agent-1.8.1" // { - dependencies = [ - sources."isarray-1.0.0" - sources."readable-stream-2.3.8" - sources."safe-buffer-5.1.2" - sources."sshpk-1.16.1" - sources."string_decoder-1.1.1" - ]; - }) - sources."string-width-3.1.0" - sources."string_decoder-0.10.31" - sources."strip-ansi-5.2.0" - sources."strsplit-1.0.0" - sources."tar-2.2.2" - sources."tunnel-agent-0.6.0" - sources."tweetnacl-0.14.5" - sources."util-deprecate-1.0.2" - sources."uuid-2.0.3" - (sources."vasync-1.6.4" // { - dependencies = [ - sources."extsprintf-1.2.0" - sources."verror-1.6.0" - ]; - }) - sources."verror-1.10.1" - (sources."vstream-0.1.0" // { - dependencies = [ - sources."assert-plus-0.1.5" - sources."extsprintf-1.2.0" - ]; - }) - (sources."watershed-0.3.4" // { - dependencies = [ - sources."readable-stream-1.0.2" - ]; - }) - sources."which-module-2.0.1" - sources."wrap-ansi-5.1.0" - sources."wrappy-1.0.2" - sources."y18n-4.0.3" - sources."yallist-2.1.2" - sources."yargs-14.2.3" - sources."yargs-parser-15.0.3" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "Manta Client API"; - homepage = "http://apidocs.tritondatacenter.com/manta"; - license = "MIT"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; markdownlint-cli = nodeEnv.buildNodePackage { name = "markdownlint-cli"; packageName = "markdownlint-cli"; diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix index d31262267ab3..3a7f33569deb 100644 --- a/pkgs/development/node-packages/overrides.nix +++ b/pkgs/development/node-packages/overrides.nix @@ -280,20 +280,6 @@ final: prev: { ''; }; - manta = prev.manta.override ( oldAttrs: { - nativeBuildInputs = with pkgs; [ nodejs_14 installShellFiles ]; - postInstall = '' - # create completions, following upstream procedure https://github.com/joyent/node-manta/blob/v5.2.3/Makefile#L85-L91 - completion_cmds=$(find ./bin -type f -printf "%f\n") - - node ./lib/create_client.js - for cmd in $completion_cmds; do - installShellCompletion --cmd $cmd --bash <(./bin/$cmd --completion) - done - ''; - meta = oldAttrs.meta // { maintainers = with lib.maintainers; [ teutat3s ]; }; - }); - mermaid-cli = prev."@mermaid-js/mermaid-cli".override ( if stdenv.isDarwin then {} diff --git a/pkgs/tools/admin/manta/default.nix b/pkgs/tools/admin/manta/default.nix new file mode 100644 index 000000000000..53b1e5ebd199 --- /dev/null +++ b/pkgs/tools/admin/manta/default.nix @@ -0,0 +1,65 @@ +{ lib +, buildNpmPackage +, fetchurl +, nodejs +, installShellFiles +, testers +, node-manta +}: + +let + source = lib.importJSON ./source.json; +in +buildNpmPackage rec { + pname = "manta"; + inherit (source) version; + + src = fetchurl { + url = "https://registry.npmjs.org/${pname}/-/${source.filename}"; + hash = source.integrity; + }; + + npmDepsHash = source.deps; + + dontBuild = true; + + nativeBuildInputs = [ nodejs installShellFiles ]; + + postPatch = '' + # Use generated package-lock.json as upstream does not provide one + ln -s ${./package-lock.json} package-lock.json + ''; + + postInstall = '' + ln -s ./lib/node_modules/manta/bin $out/bin + ''; + + postFixup = '' + # create completions, following upstream procedure https://github.com/joyent/node-manta/blob/v5.3.2/Makefile#L85-L91 + cmds=$(find ./bin/ -type f -printf "%f\n") + + node $out/lib/node_modules/manta/lib/create_client.js + + for cmd in $cmds; do + installShellCompletion --cmd $cmd --bash <($out/bin/$cmd --completion) + + # Strip timestamp from generated bash completion + sed -i '/Bash completion generated.*/d' $out/share/bash-completion/completions/$cmd.bash + done + ''; + + passthru = { + tests.version = testers.testVersion { + package = node-manta; + }; + updateScript = ./update.sh; + }; + + meta = with lib; { + description = "Manta Object-Storage Client CLIs and Node.js SDK"; + homepage = "https://github.com/TritonDataCenter/node-manta"; + license = licenses.mit; + maintainers = with maintainers; [ teutat3s ]; + mainProgram = "mls"; + }; +} diff --git a/pkgs/tools/admin/manta/package-lock.json b/pkgs/tools/admin/manta/package-lock.json new file mode 100644 index 000000000000..69665b044695 --- /dev/null +++ b/pkgs/tools/admin/manta/package-lock.json @@ -0,0 +1,3477 @@ +{ + "name": "manta", + "version": "5.3.2", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "manta", + "version": "5.3.2", + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "backoff": "~2.3.0", + "bunyan": "^1.8.1", + "clone": "~0.1.11", + "cmdln": "4.1.2", + "dashdash": "1.14.1", + "extsprintf": "^1.3.0", + "hogan.js": "~2.0.0", + "jsprim": "^1.3.0", + "lomstream": "^1.1.0", + "lstream": "~0.0.4", + "mime": "~2.4.4", + "moment": "^2.22.2", + "once": "~1.4.0", + "path-platform": "~0.0.1", + "progbar": "^1.2.1", + "readable-stream": "~1.1.9", + "restify-clients": "~1.6.0", + "showdown": "~1.9.1", + "smartdc-auth": "^2.4.1", + "strsplit": "1.0.0", + "tar": "~2.2.1", + "uuid": "~2.0.2", + "vasync": "^1.6.4", + "verror": "^1.6.1", + "watershed": "^0.3.1" + }, + "bin": { + "mchattr": "bin/mchattr", + "mchmod": "bin/mchmod", + "mfind": "bin/mfind", + "mget": "bin/mget", + "minfo": "bin/minfo", + "mjob": "bin/mjob", + "mln": "bin/mln", + "mlogin": "bin/mlogin", + "mls": "bin/mls", + "mmd5": "bin/mmd5", + "mmkdir": "bin/mmkdir", + "mmpu": "bin/mmpu", + "mput": "bin/mput", + "mrm": "bin/mrm", + "mrmdir": "bin/mrmdir", + "msign": "bin/msign", + "muntar": "bin/muntar" + }, + "devDependencies": { + "forkexec": "^1.0.0", + "semver": "^6.3.0", + "tap": "^12.7.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", + "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/append-transform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", + "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "dev": true, + "dependencies": { + "default-require-extensions": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/backoff": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.3.0.tgz", + "integrity": "sha512-ljr33cUQ/vyXE/60QuRO+WKGW4PzQ5OTWNXPWQwOTx5gh43q0pZocaVyXoU2gvFtasMIdIohdm9s01qoT6IJBQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bind-obj-methods": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-2.0.2.tgz", + "integrity": "sha512-bUkRdEOppT1Xg/jG0+bp0JSjUD9U0r7skxb/42WeBUjfBpW6COQTIgQmKX5J2Z3aMXcORKgN2N+d7IQwTK3pag==", + "dev": true + }, + "node_modules/block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha512-OorbnJVPII4DuUKbjARAe8u8EfqOmkEEaSFIyoQ7OjTHn6kafxWl0wLgoZ2rXaYd7MyLcDaU4TmhfxtwgcccMQ==", + "dependencies": { + "inherits": "~2.0.0" + }, + "engines": { + "node": "0.4 || >=0.5.8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bunyan": { + "version": "1.8.15", + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.15.tgz", + "integrity": "sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==", + "engines": [ + "node >=0.10.0" + ], + "bin": { + "bunyan": "bin/bunyan" + }, + "optionalDependencies": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "node_modules/caching-transform": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", + "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", + "dev": true, + "dependencies": { + "hasha": "^3.0.0", + "make-dir": "^2.0.0", + "package-hash": "^3.0.0", + "write-file-atomic": "^2.4.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/capture-stack-trace": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.2.tgz", + "integrity": "sha512-X/WM2UQs6VMHUtjUDnZTRI+i1crWteJySFzr9UpGoQa4WQffXVTTXuekjl7TjZRlcF2XfjgITT0HxZ9RnxeT0w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/clean-yaml-object": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz", + "integrity": "sha512-3yONmlN9CSAkzNwnRCiJQ7Q2xK5mWuEfL3PuTZcAUzhObbXsfsnMptJzXwz93nc5zn9V9TwCVMmV7w4xsm43dw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz", + "integrity": "sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==", + "engines": { + "node": "*" + } + }, + "node_modules/cmdln": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/cmdln/-/cmdln-4.1.2.tgz", + "integrity": "sha512-pOVvOB8UoEwVY1by82y9RL2756NZbqd7qxmhP7PqOLFnA9HsoS+MxoaOKg39d/42/VVY5r+9BP4asl3+VBDVMw==", + "engines": [ + "node >=0.8.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "dashdash": "^1.14.1", + "extsprintf": "^1.2.0", + "fuzzyset.js": "^0.0.1", + "verror": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/coveralls": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.1.1.tgz", + "integrity": "sha512-+dxnG2NHncSD1NrqbSM3dn/lE57O6Qf/koe9+I7c+wzkqRmEvcp0kgJdxKInzYzkICKkFMZsX3Vct3++tsF9ww==", + "dev": true, + "dependencies": { + "js-yaml": "^3.13.1", + "lcov-parse": "^1.0.0", + "log-driver": "^1.2.7", + "minimist": "^1.2.5", + "request": "^2.88.2" + }, + "bin": { + "coveralls": "bin/coveralls.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cp-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", + "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "make-dir": "^2.0.0", + "nested-error-stacks": "^2.0.0", + "pify": "^4.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-require-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", + "integrity": "sha512-B0n2zDIXpzLzKeoEozorDSa1cHc1t0NjmxP0zuAxbizNU2MBqYJJKYXrrFdKuQliojXynrxgd7l4ahfg/+aA5g==", + "dev": true, + "dependencies": { + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha512-VzVc42hMZbYU9Sx/ltb7KYuQ6pqAw+cbFWVy4XKdkuEL2CFaRLGEnISPs7YdzaUGpi+CpIqvRmu7hPQ4T7EQ5w==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/dtrace-provider": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz", + "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==", + "hasInstallScript": true, + "dependencies": { + "nan": "^2.14.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/events-to-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", + "integrity": "sha512-inRWzRY7nG+aXZxBzEqYKB3HPgwflZRopAjDCHv0whhRx+MTUr1ei0ICZUypdyE0HRm4L2d5VEcIqLD6yl+BFA==", + "dev": true + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extsprintf": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-safe-stringify": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.2.3.tgz", + "integrity": "sha512-QJYT/i0QYoiZBQ71ivxdyTqkwKkQ0oxACXHYxH2zYHJEgzi2LsbjgvtzTbLi1SZcF190Db2YP7I7eTsU2egOlw==" + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha512-3TOY+4TKV0Ml83PXJQY+JFQaHNV38lzQDIzzXYg1kWdBLenGgoZhAs0CKgzI31vi2pWEpQMq/Yi4bpKwCPkw7g==", + "dev": true, + "dependencies": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/forkexec": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/forkexec/-/forkexec-1.1.1.tgz", + "integrity": "sha512-HB4TyHa5EXf73bfCM4E71SZKtckL5L9OsltwXBjJvyK2+cM7CSyIOlWIBrYkHacjpeNvWsMntRAgbKLti4/qcA==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "verror": "^1.6.0" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-exists-cached": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", + "integrity": "sha512-kSxoARUDn4F2RPXX48UXnaFKwVU7Ivd/6qpzZL29MCDmr9sTvybv4gFCp+qaI4fM9m0z9fgz/yJvi56GAz+BZg==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dependencies": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function-loop": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.2.tgz", + "integrity": "sha512-Iw4MzMfS3udk/rqxTiDDCllhGwlOrsr50zViTOO/W6lS/9y6B1J0BD2VZzrnWUYBJsl3aeqjgR5v7bWWhZSYbA==", + "dev": true + }, + "node_modules/fuzzyset.js": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/fuzzyset.js/-/fuzzyset.js-0.0.1.tgz", + "integrity": "sha512-/FAzX0w4Zd4PaVMM06wSJfDfdkYmIqZs4c6iCUc2icEL8nz6VJqyqlCy6InPZInjf6HadfhkFxYd2a0RDZ3Htg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasha": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", + "integrity": "sha512-w0Kz8lJFBoyaurBiNrIvxPqr/gJ6fOfSkpAPOepN3oECqGJag37xPbOv57izi/KP8auHgNYxn5fXtAb+1LsJ6w==", + "dev": true, + "dependencies": { + "is-stream": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hogan.js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-2.0.0.tgz", + "integrity": "sha512-urTqVvefaiu6ZqpIVQklkbu6tuqUQSv0pfgnG02ibeAC4ZFG0Rj2uDjH45eUcIEyLFjPsh1mxgeqd9BYldWrgg==", + "bin": { + "hulk": "bin/hulk" + }, + "engines": { + "node": "*" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/http-signature/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/http-signature/node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/http-signature/node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/http-signature/node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", + "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "dev": true, + "dependencies": { + "append-transform": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsprim/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/jsprim/node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/jsprim/node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/keep-alive-agent": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz", + "integrity": "sha512-fF6aj9/XFwJiE/4zihw/ZdXg+KeyU4nFvmutF+PkAVadSGqP298+Zm6IzWFzgeDBgvLk3o8boBxNtd1g5Kdjfg==" + }, + "node_modules/lcov-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-1.0.0.tgz", + "integrity": "sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ==", + "dev": true, + "bin": { + "lcov-parse": "bin/cli.js" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true + }, + "node_modules/log-driver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", + "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", + "dev": true, + "engines": { + "node": ">=0.8.6" + } + }, + "node_modules/lomstream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/lomstream/-/lomstream-1.1.1.tgz", + "integrity": "sha512-G2UKFT23/uueUnpUWYwB+uOlqcLvF6r1vNsMgTR6roJPpvpFQkgG75bkpAy/XYvaLpGs8XSgS24CUKC92Ap+jg==", + "dependencies": { + "assert-plus": "0.1.5", + "extsprintf": "1.3.0", + "vstream": "0.1.0" + } + }, + "node_modules/lomstream/node_modules/assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha512-brU24g7ryhRwGCI2y+1dGQmQXiZF7TtIj583S96y0jjdajIe6wn8BuXyELYhvD22dtIxDQVFk04YTJwwdwOYJw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/lomstream/node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/lstream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/lstream/-/lstream-0.0.4.tgz", + "integrity": "sha512-usI61rjXiD5YoITGpWxUGe/AjYEwpKlQISNDgQ3D3DrWDcdX4A5Pu1xrmh7E1r65I/snMj9tpqRJgJRktOb00Q==", + "dependencies": { + "readable-stream": ">= 1.0.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/mime": { + "version": "2.4.7", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", + "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, + "node_modules/mooremachine": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/mooremachine/-/mooremachine-2.3.0.tgz", + "integrity": "sha512-IrhznRheWtDcT/TEL3cqaT4UJOqc5G3K8TnGq29PRXZil+sWGPkcM6SHVUZVirTKFKceuCadfyDMjmRoXCN21A==", + "dependencies": { + "assert-plus": ">=0.2.0 <0.3.0" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "dtrace-provider": "~0.8" + } + }, + "node_modules/mooremachine/node_modules/assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mv": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", + "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", + "optional": true, + "dependencies": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" + }, + "node_modules/ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", + "optional": true, + "bin": { + "ncp": "bin/ncp" + } + }, + "node_modules/nested-error-stacks": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz", + "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/nyc": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", + "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", + "dev": true, + "dependencies": { + "archy": "^1.0.0", + "caching-transform": "^3.0.2", + "convert-source-map": "^1.6.0", + "cp-file": "^6.2.0", + "find-cache-dir": "^2.1.0", + "find-up": "^3.0.0", + "foreground-child": "^1.5.6", + "glob": "^7.1.3", + "istanbul-lib-coverage": "^2.0.5", + "istanbul-lib-hook": "^2.0.7", + "istanbul-lib-instrument": "^3.3.0", + "istanbul-lib-report": "^2.0.8", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^2.2.4", + "js-yaml": "^3.13.1", + "make-dir": "^2.1.0", + "merge-source-map": "^1.1.0", + "resolve-from": "^4.0.0", + "rimraf": "^2.6.3", + "signal-exit": "^3.0.2", + "spawn-wrap": "^1.4.2", + "test-exclude": "^5.2.3", + "uuid": "^3.3.2", + "yargs": "^13.2.2", + "yargs-parser": "^13.0.0" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/nyc/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/nyc/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/nyc/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/own-or": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", + "integrity": "sha512-NfZr5+Tdf6MB8UI9GLvKRs4cXY8/yB0w3xtt84xFdWy8hkGjn+JFc60VhzS/hFRfbyxFcGYMTjnF4Me+RbbqrA==", + "dev": true + }, + "node_modules/own-or-env": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.2.tgz", + "integrity": "sha512-NQ7v0fliWtK7Lkb+WdFqe6ky9XAzYmlkXthQrBbzlYbmFKoAYbDDcwmOm6q8kOuwSRXW8bdL5ORksploUJmWgw==", + "dev": true, + "dependencies": { + "own-or": "^1.0.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", + "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^3.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-platform": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.0.1.tgz", + "integrity": "sha512-ydK1VKZFYwy0mT2JvimJfxt5z6Z6sjBbLfsFMoJczbwZ/ul0AjgpXLHinUzclf4/XYC8mtsWGuFERZ95Rnm8wA==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-type/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/precond": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz", + "integrity": "sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/progbar": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/progbar/-/progbar-1.2.1.tgz", + "integrity": "sha512-iEb0ZXmdQ24Pphdwa8+LbH75hMpuCMlPnsFUa3zHzDQj4kq4q72VGuD2pe3nwauKjxKgq3U0M9tCoLes6ISltw==", + "dependencies": { + "assert-plus": "^1.0.0", + "extsprintf": "^1.4.0", + "readable-stream": "~1.0.27-1" + } + }, + "node_modules/progbar/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "dev": true, + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request/node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/request/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restify-clients": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/restify-clients/-/restify-clients-1.6.0.tgz", + "integrity": "sha512-q5kF/KHkwC10PhEjZkgQnWCIVCq5rlKF+fbqjl51e28ArkztJNI5czFzwCd/4Qz3HRrfwidk1XcAKLxY75dT6w==", + "dependencies": { + "assert-plus": "^1.0.0", + "backoff": "^2.4.1", + "bunyan": "^1.8.3", + "fast-safe-stringify": "^1.1.3", + "keep-alive-agent": "0.0.1", + "lodash": "^4.7.0", + "lru-cache": "^4.0.1", + "mime": "^1.3.4", + "once": "^1.3.2", + "restify-errors": "^3.1.0", + "semver": "^5.0.1", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.1" + }, + "optionalDependencies": { + "dtrace-provider": "^0.8.3" + } + }, + "node_modules/restify-clients/node_modules/backoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz", + "integrity": "sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA==", + "dependencies": { + "precond": "0.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/restify-clients/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/restify-clients/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/restify-clients/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/restify-errors": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restify-errors/-/restify-errors-3.1.0.tgz", + "integrity": "sha512-4RDQs4zirMPXH03y5LKIFoAs+LvO9HTd5Ig4KfD5h4yRtTC5aWK/F2L1g9O2CSjTsgNIc+d0ib0f1rSob3FjNg==", + "dependencies": { + "assert-plus": "^0.2.0", + "lodash": "^3.10.1", + "verror": "^1.6.0" + } + }, + "node_modules/restify-errors/node_modules/assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/restify-errors/node_modules/lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ==" + }, + "node_modules/rimraf": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", + "dependencies": { + "glob": "^6.0.1" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "optional": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/showdown": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/showdown/-/showdown-1.9.1.tgz", + "integrity": "sha512-9cGuS382HcvExtf5AHk7Cb4pAeQQ+h0eTr33V1mu+crYWV4KvWAw6el92bDrqGEk5d46Ai/fhbEUwqJ/mTCNEA==", + "dependencies": { + "yargs": "^14.2" + }, + "bin": { + "showdown": "bin/showdown.js" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/smartdc-auth": { + "version": "2.5.9", + "resolved": "https://registry.npmjs.org/smartdc-auth/-/smartdc-auth-2.5.9.tgz", + "integrity": "sha512-tSVRtJPzbFY4Ak8n4bb9nkjyGsFz+db+X+KJUDhojgZkzPXEVaPBgKsnXdrvRyBiOR6geZtqi1LKMRJ8ku8d1g==", + "dependencies": { + "assert-plus": "^1.0.0", + "bunyan": "1.8.12", + "clone": "0.1.5", + "dashdash": "1.10.1", + "http-signature": "^1.0.2", + "once": "1.3.0", + "sshpk": "^1.13.2", + "sshpk-agent": "^1.3.0", + "vasync": "^2.2.1" + }, + "bin": { + "sdc-curl": "bin/sdc-curl" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/smartdc-auth/node_modules/bunyan": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz", + "integrity": "sha512-dmDUbGHeGcvCDLRFOscZkwx1ZO/aFz3bJOCi5nCgzdhFGPxwK+y5AcDBnqagNGlJZ7lje/l6JUEz9mQcutttdg==", + "engines": [ + "node >=0.10.0" + ], + "bin": { + "bunyan": "bin/bunyan" + }, + "optionalDependencies": { + "dtrace-provider": "~0.8", + "moment": "^2.10.6", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "node_modules/smartdc-auth/node_modules/clone": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.1.5.tgz", + "integrity": "sha512-icqCXhZwHg0fpiRngRxgxhehGAnrnaIM5whGwpjyajCqx5bqonZW1SsRRWutDV/LXDMqbgEx6EC07vQG24pVbQ==", + "engines": { + "node": "*" + } + }, + "node_modules/smartdc-auth/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/smartdc-auth/node_modules/dashdash": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.10.1.tgz", + "integrity": "sha512-hu/OyjwJnarCHKBL1eM4ZaRn00dwRwfSOR316vE5IO7PO4iM+xMx6xOY2g76yRwq+OHBrmb5oh74tVr27piJTQ==", + "dependencies": { + "assert-plus": "0.1.x" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/smartdc-auth/node_modules/dashdash/node_modules/assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha512-brU24g7ryhRwGCI2y+1dGQmQXiZF7TtIj583S96y0jjdajIe6wn8BuXyELYhvD22dtIxDQVFk04YTJwwdwOYJw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/smartdc-auth/node_modules/once": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.0.tgz", + "integrity": "sha512-A31oqbdEQnnhkjIXJ6QKcgO9eN8Xe+dVAQqlFLAmri0Y5s11pUadCihT2popU2WLd5CbbnD2ZVkbEJsR/8JHvA==" + }, + "node_modules/smartdc-auth/node_modules/vasync": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vasync/-/vasync-2.2.1.tgz", + "integrity": "sha512-Hq72JaTpcTFdWiNA4Y22Amej2GH3BFmBaKPPlDZ4/oC8HNn2ISHLkFrJU4Ds8R3jcUi7oo5Y9jcMHKjES+N9wQ==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "verror": "1.10.0" + } + }, + "node_modules/smartdc-auth/node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spawn-wrap": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", + "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", + "dev": true, + "dependencies": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } + }, + "node_modules/spawn-wrap/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/spawn-wrap/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk-agent": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sshpk-agent/-/sshpk-agent-1.8.1.tgz", + "integrity": "sha512-YzAzemVrXEf1OeZUpveXLeYUT5VVw/I5gxLeyzq1aMS3pRvFvCeaGliNFjKR3VKtGXRqF9WamqKwYadIG6vStQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "dashdash": "^1.14.1", + "getpass": "^0.1.7", + "mooremachine": "^2.0.1", + "readable-stream": "^2.1.4", + "sshpk": ">=1.14.1 < 1.17.0", + "verror": "^1.10.0" + }, + "bin": { + "sshpk-agent": "bin/sshpk-agent" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk-agent/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/sshpk-agent/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/sshpk-agent/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/sshpk-agent/node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sshpk-agent/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strsplit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strsplit/-/strsplit-1.0.0.tgz", + "integrity": "sha512-efXqQImOEC0nyQqFzPUqa7NvF4B0ZPW2YM5nS+uXTB76sQt002brfZWQo/NSkAt771RTvv/brVQqtxJL7UBHMw==" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tap": { + "version": "12.7.0", + "resolved": "https://registry.npmjs.org/tap/-/tap-12.7.0.tgz", + "integrity": "sha512-SjglJmRv0pqrQQ7d5ZBEY8ZOqv3nYDBXEX51oyycOH7piuhn82JKT/yDNewwmOsodTD/RZL9MccA96EjDgK+Eg==", + "dev": true, + "dependencies": { + "bind-obj-methods": "^2.0.0", + "browser-process-hrtime": "^1.0.0", + "capture-stack-trace": "^1.0.0", + "clean-yaml-object": "^0.1.0", + "color-support": "^1.1.0", + "coveralls": "^3.0.2", + "domain-browser": "^1.2.0", + "esm": "^3.2.5", + "foreground-child": "^1.3.3", + "fs-exists-cached": "^1.0.0", + "function-loop": "^1.0.1", + "glob": "^7.1.3", + "isexe": "^2.0.0", + "js-yaml": "^3.13.1", + "minipass": "^2.3.5", + "mkdirp": "^0.5.1", + "nyc": "^14.0.0", + "opener": "^1.5.1", + "os-homedir": "^1.0.2", + "own-or": "^1.0.0", + "own-or-env": "^1.0.1", + "rimraf": "^2.6.3", + "signal-exit": "^3.0.0", + "source-map-support": "^0.5.10", + "stack-utils": "^1.0.2", + "tap-mocha-reporter": "^3.0.9", + "tap-parser": "^7.0.0", + "tmatch": "^4.0.0", + "trivial-deferred": "^1.0.1", + "ts-node": "^8.0.2", + "tsame": "^2.0.1", + "typescript": "^3.3.3", + "write-file-atomic": "^2.4.2", + "yapool": "^1.0.0" + }, + "bin": { + "tap": "bin/run.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tap-mocha-reporter": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-3.0.9.tgz", + "integrity": "sha512-VO07vhC9EG27EZdOe7bWBj1ldbK+DL9TnRadOgdQmiQOVZjFpUEQuuqO7+rNSO2kfmkq5hWeluYXDWNG/ytXTQ==", + "dev": true, + "dependencies": { + "color-support": "^1.1.0", + "debug": "^2.1.3", + "diff": "^1.3.2", + "escape-string-regexp": "^1.0.3", + "glob": "^7.0.5", + "js-yaml": "^3.3.1", + "tap-parser": "^5.1.0", + "unicode-length": "^1.0.0" + }, + "bin": { + "tap-mocha-reporter": "index.js" + }, + "optionalDependencies": { + "readable-stream": "^2.1.5" + } + }, + "node_modules/tap-mocha-reporter/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/tap-mocha-reporter/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tap-mocha-reporter/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "optional": true + }, + "node_modules/tap-mocha-reporter/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/tap-mocha-reporter/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "optional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/tap-mocha-reporter/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "optional": true + }, + "node_modules/tap-mocha-reporter/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/tap-mocha-reporter/node_modules/tap-parser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-5.4.0.tgz", + "integrity": "sha512-BIsIaGqv7uTQgTW1KLTMNPSEQf4zDDPgYOBRdgOfuB+JFOLRBfEu6cLa/KvMvmqggu1FKXDfitjLwsq4827RvA==", + "dev": true, + "dependencies": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7" + }, + "bin": { + "tap-parser": "bin/cmd.js" + }, + "optionalDependencies": { + "readable-stream": "^2" + } + }, + "node_modules/tap-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-7.0.0.tgz", + "integrity": "sha512-05G8/LrzqOOFvZhhAk32wsGiPZ1lfUrl+iV7+OkKgfofZxiceZWMHkKmow71YsyVQ8IvGBP2EjcIjE5gL4l5lA==", + "dev": true, + "dependencies": { + "events-to-array": "^1.0.1", + "js-yaml": "^3.2.7", + "minipass": "^2.2.0" + }, + "bin": { + "tap-parser": "bin/cmd.js" + } + }, + "node_modules/tap/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tap/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "deprecated": "This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.", + "dependencies": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "node_modules/test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "dependencies": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tmatch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tmatch/-/tmatch-4.0.0.tgz", + "integrity": "sha512-Ynn2Gsp+oCvYScQXeV+cCs7citRDilq0qDXA6tuvFwDgiYyyaq7D5vKUlAPezzZR5NDobc/QMeN6e5guOYmvxg==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/trivial-deferred": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.1.2.tgz", + "integrity": "sha512-vDPiDBC3hyP6O4JrJYMImW3nl3c03Tsj9fEXc7Qc/XKa1O7gf5ZtFfIR/E0dun9SnDHdwjna1Z2rSzYgqpxh/g==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ts-node": { + "version": "8.10.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", + "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==", + "dev": true, + "dependencies": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.17", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "typescript": ">=2.7" + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/tsame": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tsame/-/tsame-2.0.1.tgz", + "integrity": "sha512-jxyxgKVKa4Bh5dPcO42TJL22lIvfd9LOVJwdovKOnJa4TLLrHxquK+DlGm4rkGmrcur+GRx+x4oW00O2pY/fFw==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unicode-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", + "integrity": "sha512-rZKNhIqioUp7H49afr26tivLDCvUSqOXwmwEEnsCwnPX67S1CYbOL45Y5IP3K/XHN73/lg21HlrB8SNlYXKQTg==", + "dev": true, + "dependencies": { + "punycode": "^1.3.2", + "strip-ansi": "^3.0.1" + } + }, + "node_modules/unicode-length/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha512-FULf7fayPdpASncVy4DLh3xydlXEJJpvIELjYjNeQWYUZ9pclcpvCZSr2gkmN2FrrGcI7G/cJsIEwk5/8vfXpg==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details." + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vasync": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/vasync/-/vasync-1.6.4.tgz", + "integrity": "sha512-3oQMomVgQgHzNe5iKuT8PGOhMCQcg1wfh00Nh/Kl39ERdTlw/uNS7kbrhEraDMDKWHdDdc0iBFahPEd/Ft2b+A==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "verror": "1.6.0" + } + }, + "node_modules/vasync/node_modules/extsprintf": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz", + "integrity": "sha512-T3PYC6HucmF4OfunfZb5d1nRvTSvWYhsr/Og33HANcCuCtGPUtWVyt/tTs8SU9sR0SGh5Z/xQCuX/D72ph2H+A==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/vasync/node_modules/verror": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz", + "integrity": "sha512-bIOaZx4+Bf6a7sIORfmYnyKLDLk/lhVym6rjYlq+vkitYKnhFmUpmPpDTCltWFrUTlGKs6sCeoDWfMA0oOOneA==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "extsprintf": "1.2.0" + } + }, + "node_modules/verror": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.1.tgz", + "integrity": "sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/vstream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/vstream/-/vstream-0.1.0.tgz", + "integrity": "sha512-WHV31NZp7EP0JHFPWzhuHuo4+MaHcrTyZZucsCW+wFuF3OQ3mJsOBSfJTqkG53ZN1jdjkfxitbOFLy8pNyKyDA==", + "dependencies": { + "assert-plus": "0.1.5", + "extsprintf": "1.2.0" + } + }, + "node_modules/vstream/node_modules/assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha512-brU24g7ryhRwGCI2y+1dGQmQXiZF7TtIj583S96y0jjdajIe6wn8BuXyELYhvD22dtIxDQVFk04YTJwwdwOYJw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/vstream/node_modules/extsprintf": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz", + "integrity": "sha512-T3PYC6HucmF4OfunfZb5d1nRvTSvWYhsr/Og33HANcCuCtGPUtWVyt/tTs8SU9sR0SGh5Z/xQCuX/D72ph2H+A==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/watershed": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/watershed/-/watershed-0.3.4.tgz", + "integrity": "sha512-/lRBpLn2TvEwrIW5i35ZCpb+SIq4VWq4c1yxN311we+E4eXRW7EB5nybrv4fJEuBmgqyqVkT2gtQ6Zqu+u66mA==", + "engines": [ + "node >=0.8.0" + ], + "dependencies": { + "dtrace-provider": "~0.8", + "readable-stream": "1.0.2" + } + }, + "node_modules/watershed/node_modules/readable-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.2.tgz", + "integrity": "sha512-El0AJ9aGxDbvoPzWx9rlD84bzmrhdoxytBbN4R4+fb9Wjx2UHdY9ghDTQPIFYw/eL7KwaKgyrTv2iH6IvCk3Ig==" + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" + }, + "node_modules/yapool": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", + "integrity": "sha512-RONBZndo8Lo8pKPfORRxr2DIk2NZKIml654o4kaIu7RXVxQCKsAN6AqrcoZsI3h+2H5YO2mD/04Wy4LbAgd+Pg==", + "dev": true + }, + "node_modules/yargs": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", + "dependencies": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + } + } +} diff --git a/pkgs/tools/admin/manta/source.json b/pkgs/tools/admin/manta/source.json new file mode 100644 index 000000000000..d58f96bb9e15 --- /dev/null +++ b/pkgs/tools/admin/manta/source.json @@ -0,0 +1,6 @@ +{ + "version": "5.3.2", + "integrity": "sha512-Vsgmc7hZbra1oicuHH9e5UNkcVyRJiH+Y4uvpTW3OQ60NhUAbv3V+re3ZtyN51MH3QJ9WNgkMAfR8dZ3Sv5gCw==", + "filename": "manta-5.3.2.tgz", + "deps": "sha256-npoCp4PSgv1gK6PziQZINkHUfqxTu8sBbYR/HRu98KA=" +} diff --git a/pkgs/tools/admin/manta/update.sh b/pkgs/tools/admin/manta/update.sh new file mode 100755 index 000000000000..6aa03bb3553a --- /dev/null +++ b/pkgs/tools/admin/manta/update.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env nix-shell +#! nix-shell -i bash -p nodejs libarchive prefetch-npm-deps moreutils +# shellcheck shell=bash + +set -exuo pipefail + +cd -- "$(dirname -- "${BASH_SOURCE[0]}")" + +TMPDIR="$(mktemp -d)" +trap 'rm -r -- "$TMPDIR"' EXIT + +pushd -- "$TMPDIR" +npm pack manta --json | jq '.[0] | { version, integrity, filename }' > source.json +bsdtar -x -f "$(jq -r .filename source.json)" + +pushd package +npm install --package-lock-only +popd + +DEPS="$(prefetch-npm-deps package/package-lock.json)" +jq ".deps = \"$DEPS\"" source.json | sponge source.json + +popd + +cp -t . -- "$TMPDIR/source.json" "$TMPDIR/package/package-lock.json" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4dd79b54eaca..7d0016eda0a2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13080,6 +13080,8 @@ with pkgs; trickle = callPackage ../tools/networking/trickle { }; + node-manta = callPackage ../tools/admin/manta { }; + triton = callPackage ../tools/admin/triton { }; triggerhappy = callPackage ../tools/inputmethods/triggerhappy { }; From 91158208e405f8cd0ec42fd5a35c0169254b02c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Sat, 6 May 2023 17:51:37 +0200 Subject: [PATCH 46/80] nodePackages.aliases: add missing date comments --- pkgs/development/node-packages/aliases.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix index 7e244374afb3..6bf783185d8a 100644 --- a/pkgs/development/node-packages/aliases.nix +++ b/pkgs/development/node-packages/aliases.nix @@ -34,9 +34,9 @@ let in mapAliases { - "@antora/cli" = pkgs.antora; + "@antora/cli" = pkgs.antora; # Added 2023-05-06 "@githubnext/github-copilot-cli" = pkgs.github-copilot-cli; # Added 2023-05-02 - "@nestjs/cli" = pkgs.nest-cli; + "@nestjs/cli" = pkgs.nest-cli; # Added 2023-05-06 manta = pkgs.node-manta; # Added 2023-05-06 trito = pkgs.triton; # Added 2023-05-06 } From e7e64233c9078f03de13a6d8750c1daaa673a0c2 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 7 Feb 2023 20:39:56 +0100 Subject: [PATCH 47/80] lib/tests/modules.sh: Unload implicit modules I had some trouble understanding this. Let's try to keep new tests a bit more stateless and explicit. --- lib/tests/modules.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index c1cf0a94a1b3..2af58ff5db9f 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -166,6 +166,7 @@ checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*' checkConfigOutput '^true$' "$@" ./define-module-check.nix # Check coerced value. +set -- checkConfigOutput '^"42"$' config.value ./declare-coerced-value.nix checkConfigOutput '^"24"$' config.value ./declare-coerced-value.nix ./define-value-string.nix checkConfigError 'A definition for option .* is not.*string or signed integer convertible to it.*. Definition values:\n\s*- In .*: \[ \]' config.value ./declare-coerced-value.nix ./define-value-list.nix From fe1527939038ac964df2028e6b90c35121db9955 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 13 Feb 2023 10:51:50 +0100 Subject: [PATCH 48/80] lib/modules.nix: Use explicit exports --- lib/modules.nix | 56 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/lib/modules.nix b/lib/modules.nix index 9c3e2085e378..de03b50e2698 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -63,10 +63,6 @@ let decls )); -in - -rec { - /* Evaluate a set of modules. The result is a set with the attributes: @@ -1218,4 +1214,56 @@ rec { _file = file; config = lib.importTOML file; }; + +in +{ + inherit + applyModuleArgsIfFunction + collectModules + defaultOrderPriority + defaultOverridePriority + defaultPriority + dischargeProperties + doRename + evalModules + evalOptionValue + filterOverrides + filterOverrides' + fixMergeModules + fixupOptionType + importJSON + importTOML + mergeDefinitions + mergeModules + mergeModules' + mergeOptionDecls + mkAfter + mkAliasAndWrapDefinitions + mkAliasAndWrapDefsWithPriority + mkAliasDefinitions + mkAliasIfDef + mkAliasOptionModule + mkAliasOptionModuleMD + mkAssert + mkBefore + mkChangedOptionModule + mkDefault + mkDerivedConfig + mkFixStrictness + mkForce + mkIf + mkImageMediaOverride + mkMerge + mkMergedOptionModule + mkOptionDefault + mkOrder + mkOverride + mkRemovedOptionModule + mkRenamedOptionModule + mkRenamedOptionModuleWith + mkVMOverride + pushDownProperties + setDefaultModuleLocation + sortProperties + unifyModuleSyntax; } From 3633bf98be70af326056ebc87a9adedd0e8a24c7 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 13 Feb 2023 11:09:35 +0100 Subject: [PATCH 49/80] lib/modules.nix: Make some functions private The supposedly public nature of these functions has been holding back module system maintenance, while usages of these functions are expected to be rare. If used anywhere, presumably they're emulating module system behavior because some use case isn't supported properly. We should try to support such a use case directly, if it even exists. --- lib/modules.nix | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/lib/modules.nix b/lib/modules.nix index de03b50e2698..0a842aa0063e 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -1215,28 +1215,41 @@ let config = lib.importTOML file; }; + private = lib.mapAttrs + (k: lib.warn "External use of `lib.modules.${k}` is deprecated. If your use case isn't covered by non-deprecated functions, we'd like to know more and perhaps support your use case well, instead of providing access to these low level functions. In this case please open an issue in https://github.com/nixos/nixpkgs/issues/.") + { + inherit + applyModuleArgsIfFunction + collectModules + dischargeProperties + evalOptionValue + mergeModules + mergeModules' + pushDownProperties + unifyModuleSyntax + ; + }; + in +private // { + # NOTE: not all of these functions are necessarily public interfaces; some + # are just needed by types.nix, but are not meant to be consumed + # externally. inherit - applyModuleArgsIfFunction - collectModules defaultOrderPriority defaultOverridePriority defaultPriority - dischargeProperties doRename evalModules - evalOptionValue filterOverrides filterOverrides' fixMergeModules - fixupOptionType + fixupOptionType # should be private? importJSON importTOML mergeDefinitions - mergeModules - mergeModules' - mergeOptionDecls + mergeOptionDecls # should be private? mkAfter mkAliasAndWrapDefinitions mkAliasAndWrapDefsWithPriority @@ -1262,8 +1275,6 @@ in mkRenamedOptionModule mkRenamedOptionModuleWith mkVMOverride - pushDownProperties setDefaultModuleLocation - sortProperties - unifyModuleSyntax; + sortProperties; } From b8ff2807a29861236a7ac3ed01c4565ba725e1b1 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 24 Oct 2022 14:30:19 +0200 Subject: [PATCH 50/80] lib/modules: Add class concept to check imports This improves the error message when an incompatible module is imported. --- lib/modules.nix | 26 ++++++++++++--- lib/tests/modules.sh | 5 +++ lib/tests/modules/class-check.nix | 34 ++++++++++++++++++++ lib/tests/modules/module-class-is-darwin.nix | 4 +++ lib/tests/modules/module-class-is-nixos.nix | 4 +++ 5 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 lib/tests/modules/class-check.nix create mode 100644 lib/tests/modules/module-class-is-darwin.nix create mode 100644 lib/tests/modules/module-class-is-nixos.nix diff --git a/lib/modules.nix b/lib/modules.nix index 0a842aa0063e..1e8f085e6f4f 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -105,6 +105,10 @@ let # when resolving module structure (like in imports). For everything else, # there's _module.args. If specialArgs.modulesPath is defined it will be # used as the base path for disabledModules. + # + # `specialArgs.class`: + # A nominal type for modules. When set and non-null, this adds a check to + # make sure that only compatible modules are imported. specialArgs ? {} , # This would be remove in the future, Prefer _module.args option instead. args ? {} @@ -256,6 +260,7 @@ let merged = let collected = collectModules + (specialArgs.class or null) (specialArgs.modulesPath or "") (regularModules ++ [ internalModule ]) ({ inherit lib options config specialArgs; } // specialArgs); @@ -349,11 +354,11 @@ let }; in result; - # collectModules :: (modulesPath: String) -> (modules: [ Module ]) -> (args: Attrs) -> [ Module ] + # collectModules :: (class: String) -> (modulesPath: String) -> (modules: [ Module ]) -> (args: Attrs) -> [ Module ] # # Collects all modules recursively through `import` statements, filtering out # all modules in disabledModules. - collectModules = let + collectModules = class: let # Like unifyModuleSyntax, but also imports paths and calls functions if necessary loadModule = args: fallbackFile: fallbackKey: m: @@ -364,6 +369,17 @@ let throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}" else unifyModuleSyntax (toString m) (toString m) (applyModuleArgsIfFunction (toString m) (import m) args); + checkModule = + if class != null + then + m: + if m.class != null -> m.class == class + then m + else + throw "The module ${m._file or m.key} was imported into ${class} instead of ${m.class}." + else + m: m; + /* Collects all modules recursively into the form @@ -397,7 +413,7 @@ let }; in parentFile: parentKey: initialModules: args: collectResults (imap1 (n: x: let - module = loadModule args parentFile "${parentKey}:anon-${toString n}" x; + module = checkModule (loadModule args parentFile "${parentKey}:anon-${toString n}" x); collectedImports = collectStructuredModules module._file module.key module.imports args; in { key = module.key; @@ -461,7 +477,7 @@ let else config; in if m ? config || m ? options then - let badAttrs = removeAttrs m ["_file" "key" "disabledModules" "imports" "options" "config" "meta" "freeformType"]; in + let badAttrs = removeAttrs m ["_file" "key" "disabledModules" "imports" "options" "config" "meta" "freeformType" "class"]; in if badAttrs != {} then throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'. This is caused by introducing a top-level `config' or `options' attribute. Add configuration attributes immediately on the top level instead, or move all of them (namely: ${toString (attrNames badAttrs)}) into the explicit `config' attribute." else @@ -471,6 +487,7 @@ let imports = m.imports or []; options = m.options or {}; config = addFreeformType (addMeta (m.config or {})); + class = m.class or null; } else # shorthand syntax @@ -481,6 +498,7 @@ let imports = m.require or [] ++ m.imports or []; options = {}; config = addFreeformType (removeAttrs m ["_file" "key" "disabledModules" "require" "imports" "freeformType"]); + class = m.class or null; }; applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }: if isFunction f then diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 2af58ff5db9f..073dc6054860 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -360,6 +360,11 @@ checkConfigOutput 'ok' config.freeformItems.foo.bar ./adhoc-freeformType-survive # because of an `extendModules` bug, issue 168767. checkConfigOutput '^1$' config.sub.specialisation.value ./extendModules-168767-imports.nix +# Class checks +checkConfigOutput '^{ }$' config.ok.config ./class-check.nix +checkConfigError 'The module .*/module-class-is-darwin.nix was imported into nixos instead of darwin.' config.fail.config ./class-check.nix +checkConfigError 'The module foo.nix#darwinModules.default was imported into nixos instead of darwin.' config.fail-anon.config ./class-check.nix + # doRename works when `warnings` does not exist. checkConfigOutput '^1234$' config.c.d.e ./doRename-basic.nix # doRename adds a warning. diff --git a/lib/tests/modules/class-check.nix b/lib/tests/modules/class-check.nix new file mode 100644 index 000000000000..6e02f8c30920 --- /dev/null +++ b/lib/tests/modules/class-check.nix @@ -0,0 +1,34 @@ +{ lib, ... }: { + config = { + _module.freeformType = lib.types.anything; + ok = + lib.evalModules { + specialArgs.class = "nixos"; + modules = [ + ./module-class-is-nixos.nix + ]; + }; + + fail = + lib.evalModules { + specialArgs.class = "nixos"; + modules = [ + ./module-class-is-nixos.nix + ./module-class-is-darwin.nix + ]; + }; + + fail-anon = + lib.evalModules { + specialArgs.class = "nixos"; + modules = [ + ./module-class-is-nixos.nix + { _file = "foo.nix#darwinModules.default"; + class = "darwin"; + imports = []; + } + ]; + }; + + }; +} diff --git a/lib/tests/modules/module-class-is-darwin.nix b/lib/tests/modules/module-class-is-darwin.nix new file mode 100644 index 000000000000..d8b60203f707 --- /dev/null +++ b/lib/tests/modules/module-class-is-darwin.nix @@ -0,0 +1,4 @@ +{ + class = "darwin"; + config = {}; +} diff --git a/lib/tests/modules/module-class-is-nixos.nix b/lib/tests/modules/module-class-is-nixos.nix new file mode 100644 index 000000000000..04b6e860e890 --- /dev/null +++ b/lib/tests/modules/module-class-is-nixos.nix @@ -0,0 +1,4 @@ +{ + class = "nixos"; + config = {}; +} From 58f385f68005a6fed7b526ee2c19fef11d87038c Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 7 Feb 2023 20:41:29 +0100 Subject: [PATCH 51/80] lib/modules: Check against importing things with a _type --- lib/modules.nix | 9 ++++++++- lib/tests/modules.sh | 4 ++++ lib/tests/modules/define-enable-with-top-level-mkIf.nix | 5 +++++ lib/tests/modules/module-imports-_type-check.nix | 3 +++ 4 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 lib/tests/modules/define-enable-with-top-level-mkIf.nix create mode 100644 lib/tests/modules/module-imports-_type-check.nix diff --git a/lib/modules.nix b/lib/modules.nix index 1e8f085e6f4f..8233b4b9e84e 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -362,8 +362,15 @@ let # Like unifyModuleSyntax, but also imports paths and calls functions if necessary loadModule = args: fallbackFile: fallbackKey: m: - if isFunction m || isAttrs m then + if isFunction m then unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgsIfFunction fallbackKey m args) + else if isAttrs m then + if m._type or "module" == "module" then + unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgsIfFunction fallbackKey m args) + else if m._type == "if" || m._type == "override" then + loadModule args fallbackFile fallbackKey { config = m; } + else + throw "Could not load a value as a module, because it is of type ${lib.strings.escapeNixString m._type}${lib.optionalString (fallbackFile != null) ", in file ${toString fallbackFile}."}" else if isList m then let defs = [{ file = fallbackFile; value = m; }]; in throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}" diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 073dc6054860..4da0cb38f685 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -365,6 +365,10 @@ checkConfigOutput '^{ }$' config.ok.config ./class-check.nix checkConfigError 'The module .*/module-class-is-darwin.nix was imported into nixos instead of darwin.' config.fail.config ./class-check.nix checkConfigError 'The module foo.nix#darwinModules.default was imported into nixos instead of darwin.' config.fail-anon.config ./class-check.nix +# _type check +checkConfigError 'Could not load a value as a module, because it is of type "flake", in file .*/module-imports-_type-check.nix' config.ok.config ./module-imports-_type-check.nix +checkConfigOutput '^true$' "$@" config.enable ./declare-enable.nix ./define-enable-with-top-level-mkIf.nix + # doRename works when `warnings` does not exist. checkConfigOutput '^1234$' config.c.d.e ./doRename-basic.nix # doRename adds a warning. diff --git a/lib/tests/modules/define-enable-with-top-level-mkIf.nix b/lib/tests/modules/define-enable-with-top-level-mkIf.nix new file mode 100644 index 000000000000..4909c16d82b4 --- /dev/null +++ b/lib/tests/modules/define-enable-with-top-level-mkIf.nix @@ -0,0 +1,5 @@ +{ lib, ... }: +# I think this might occur more realistically in a submodule +{ + imports = [ (lib.mkIf true { enable = true; }) ]; +} diff --git a/lib/tests/modules/module-imports-_type-check.nix b/lib/tests/modules/module-imports-_type-check.nix new file mode 100644 index 000000000000..1e29c469daa5 --- /dev/null +++ b/lib/tests/modules/module-imports-_type-check.nix @@ -0,0 +1,3 @@ +{ + imports = [ { _type = "flake"; } ]; +} From 2e689d58cbbe6b7047bb132dc79097016e606dd0 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 7 Feb 2023 20:51:17 +0100 Subject: [PATCH 52/80] lib/modules: Improve error when a configuration is imported This is appears to be a fairly common mistake for beginners who want to build larger things from the system configurations, such as NixOps networks, etc. Further explanation seems appropriate. --- lib/modules.nix | 1 + lib/tests/modules.sh | 1 + lib/tests/modules/import-configuration.nix | 12 ++++++++++++ 3 files changed, 14 insertions(+) create mode 100644 lib/tests/modules/import-configuration.nix diff --git a/lib/modules.nix b/lib/modules.nix index 8233b4b9e84e..3bcd8d280b74 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -347,6 +347,7 @@ let }; result = withWarnings { + _type = "configuration"; options = checked options; config = checked (removeAttrs config [ "_module" ]); _module = checked (config._module); diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 4da0cb38f685..d12e503c4b1d 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -368,6 +368,7 @@ checkConfigError 'The module foo.nix#darwinModules.default was imported into nix # _type check checkConfigError 'Could not load a value as a module, because it is of type "flake", in file .*/module-imports-_type-check.nix' config.ok.config ./module-imports-_type-check.nix checkConfigOutput '^true$' "$@" config.enable ./declare-enable.nix ./define-enable-with-top-level-mkIf.nix +checkConfigError 'Could not load a value as a module, because it is of type "configuration", in file .*/import-configuration.nix' config ./import-configuration.nix # doRename works when `warnings` does not exist. checkConfigOutput '^1234$' config.c.d.e ./doRename-basic.nix diff --git a/lib/tests/modules/import-configuration.nix b/lib/tests/modules/import-configuration.nix new file mode 100644 index 000000000000..a2a32bbee4ca --- /dev/null +++ b/lib/tests/modules/import-configuration.nix @@ -0,0 +1,12 @@ +{ lib, ... }: +let + myconf = lib.evalModules { modules = [ { } ]; }; +in +{ + imports = [ + # We can't do this. A configuration is not equal to its set of a modules. + # Equating those would lead to a mess, as specialArgs, anonymous modules + # that can't be deduplicated, and possibly more come into play. + myconf + ]; +} From 9714487f743d0ac9aec50a5513cb89a97932d4a6 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Tue, 7 Feb 2023 21:13:06 +0100 Subject: [PATCH 53/80] lib/modules: Explain that a configuration can't be loaded as a module --- lib/modules.nix | 7 ++++++- lib/tests/modules.sh | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/modules.nix b/lib/modules.nix index 3bcd8d280b74..cb8f5cd198e6 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -371,7 +371,12 @@ let else if m._type == "if" || m._type == "override" then loadModule args fallbackFile fallbackKey { config = m; } else - throw "Could not load a value as a module, because it is of type ${lib.strings.escapeNixString m._type}${lib.optionalString (fallbackFile != null) ", in file ${toString fallbackFile}."}" + throw ( + "Could not load a value as a module, because it is of type ${lib.strings.escapeNixString m._type}" + + lib.optionalString (fallbackFile != unknownModule) ", in file ${toString fallbackFile}." + + lib.optionalString (m._type == "configuration") " If you do intend to import this configuration, please only import the modules that make up the configuration. You may have to create a `let` binding, file or attribute to give yourself access to the relevant modules.\nWhile loading a configuration into the module system is a very sensible idea, it can not be done cleanly in practice." + # Extended explanation: That's because a finalized configuration is more than just a set of modules. For instance, it has its own `specialArgs` that, by the nature of `specialArgs` can't be loaded through `imports` or the the `modules` argument. So instead, we have to ask you to extract the relevant modules and use those instead. This way, we keep the module system comparatively simple, and hopefully avoid a bad surprise down the line. + ) else if isList m then let defs = [{ file = fallbackFile; value = m; }]; in throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}" diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index d12e503c4b1d..c2a8e566cb8c 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -368,7 +368,7 @@ checkConfigError 'The module foo.nix#darwinModules.default was imported into nix # _type check checkConfigError 'Could not load a value as a module, because it is of type "flake", in file .*/module-imports-_type-check.nix' config.ok.config ./module-imports-_type-check.nix checkConfigOutput '^true$' "$@" config.enable ./declare-enable.nix ./define-enable-with-top-level-mkIf.nix -checkConfigError 'Could not load a value as a module, because it is of type "configuration", in file .*/import-configuration.nix' config ./import-configuration.nix +checkConfigError 'Could not load a value as a module, because it is of type "configuration", in file .*/import-configuration.nix.*please only import the modules that make up the configuration.*' config ./import-configuration.nix # doRename works when `warnings` does not exist. checkConfigOutput '^1234$' config.c.d.e ./doRename-basic.nix From 439f6790bd6e133c125935a8a2007227f671a360 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 13 Feb 2023 11:12:46 +0100 Subject: [PATCH 54/80] lib/modules.nix: Restore old collectModules interface --- lib/modules.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/modules.nix b/lib/modules.nix index cb8f5cd198e6..44155913e564 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -1251,7 +1251,6 @@ let { inherit applyModuleArgsIfFunction - collectModules dischargeProperties evalOptionValue mergeModules @@ -1259,6 +1258,7 @@ let pushDownProperties unifyModuleSyntax ; + collectModules = collectModules null; }; in From 06ca78663c912eb62075ad4aea1f24c7f35cb0c3 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Fri, 31 Mar 2023 11:18:43 +0200 Subject: [PATCH 55/80] lib/modules.nix: Refactor: evaluate applyModuleArgsIfFunction in attrs case --- lib/modules.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/modules.nix b/lib/modules.nix index 44155913e564..3b64afddaf5c 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -367,7 +367,7 @@ let unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgsIfFunction fallbackKey m args) else if isAttrs m then if m._type or "module" == "module" then - unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgsIfFunction fallbackKey m args) + unifyModuleSyntax fallbackFile fallbackKey m else if m._type == "if" || m._type == "override" then loadModule args fallbackFile fallbackKey { config = m; } else From 1f4a58ef038184eaf4757e96ec1f09b08a01c8ab Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Fri, 31 Mar 2023 11:25:44 +0200 Subject: [PATCH 56/80] lib/modules.nix: Refactor: extract applyModuleArgs --- lib/modules.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/modules.nix b/lib/modules.nix index 3b64afddaf5c..9377c2e1e9dc 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -364,7 +364,7 @@ let # Like unifyModuleSyntax, but also imports paths and calls functions if necessary loadModule = args: fallbackFile: fallbackKey: m: if isFunction m then - unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgsIfFunction fallbackKey m args) + unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgs fallbackKey m args) else if isAttrs m then if m._type or "module" == "module" then unifyModuleSyntax fallbackFile fallbackKey m @@ -514,7 +514,10 @@ let class = m.class or null; }; - applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }: if isFunction f then + applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }: + if isFunction f then applyModuleArgs key f args else f; + + applyModuleArgs = key: f: args@{ config, options, lib, ... }: let # Module arguments are resolved in a strict manner when attribute set # deconstruction is used. As the arguments are now defined with the @@ -538,9 +541,7 @@ let # context on the explicit arguments of "args" too. This update # operator is used to make the "args@{ ... }: with args.lib;" notation # works. - in f (args // extraArgs) - else - f; + in f (args // extraArgs); /* Merge a list of modules. This will recurse over the option declarations in all modules, combining them into a single set. From 84b1b017026bb1d0a37a8d3ef553f073225b4e8d Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 10 Apr 2023 17:26:25 +0200 Subject: [PATCH 57/80] lib/modules: Only interpret class declaration in non-shorthand mode This is to avoid stealing keys from submodules. `class` might be common enough that reinterpreting existing `class` attributes in configurations as a declaration leads to fairly widespread problems. --- lib/modules.nix | 2 +- lib/tests/modules.sh | 2 ++ lib/tests/modules/class-check.nix | 1 + .../define-freeform-keywords-shorthand.nix | 15 +++++++++++++++ 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 lib/tests/modules/define-freeform-keywords-shorthand.nix diff --git a/lib/modules.nix b/lib/modules.nix index 9377c2e1e9dc..4533252c60e2 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -511,7 +511,7 @@ let imports = m.require or [] ++ m.imports or []; options = {}; config = addFreeformType (removeAttrs m ["_file" "key" "disabledModules" "require" "imports" "freeformType"]); - class = m.class or null; + class = null; }; applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }: diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index c2a8e566cb8c..116a0778aebc 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -255,6 +255,8 @@ checkConfigError 'A definition for option .* is not of type .*' \ ## Freeform modules # Assigning without a declared option should work checkConfigOutput '^"24"$' config.value ./freeform-attrsOf.nix ./define-value-string.nix +# Shorthand modules interpret `meta` and `class` as config items +checkConfigOutput '^true$' options._module.args.value.result ./freeform-attrsOf.nix ./define-freeform-keywords-shorthand.nix # No freeform assignments shouldn't make it error checkConfigOutput '^{ }$' config ./freeform-attrsOf.nix # but only if the type matches diff --git a/lib/tests/modules/class-check.nix b/lib/tests/modules/class-check.nix index 6e02f8c30920..f492c844abfb 100644 --- a/lib/tests/modules/class-check.nix +++ b/lib/tests/modules/class-check.nix @@ -25,6 +25,7 @@ ./module-class-is-nixos.nix { _file = "foo.nix#darwinModules.default"; class = "darwin"; + config = {}; imports = []; } ]; diff --git a/lib/tests/modules/define-freeform-keywords-shorthand.nix b/lib/tests/modules/define-freeform-keywords-shorthand.nix new file mode 100644 index 000000000000..8de1ec6a7475 --- /dev/null +++ b/lib/tests/modules/define-freeform-keywords-shorthand.nix @@ -0,0 +1,15 @@ +{ config, ... }: { + class = { "just" = "data"; }; + a = "one"; + b = "two"; + meta = "meta"; + + _module.args.result = + let r = builtins.removeAttrs config [ "_module" ]; + in builtins.trace (builtins.deepSeq r r) (r == { + a = "one"; + b = "two"; + class = { "just" = "data"; }; + meta = "meta"; + }); +} From 79703eef083d70046873dbb86f08e2ff08f58197 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 10 Apr 2023 17:55:34 +0200 Subject: [PATCH 58/80] nixos,nixpkgs: Add module classes This allows modules that declare their class to be checked. While that's not most user modules, frameworks can take advantage of this by setting declaring the module class for their users. That way, the mistake of importing a module into the wrong hierarchy can be reported more clearly in some cases. --- doc/doc-support/default.nix | 5 ++++- nixos/lib/eval-cacheable-options.nix | 1 + nixos/lib/eval-config-minimal.nix | 4 +++- nixos/lib/testing/default.nix | 5 ++++- nixos/modules/misc/documentation.nix | 1 + pkgs/top-level/default.nix | 1 + 6 files changed, 14 insertions(+), 3 deletions(-) diff --git a/doc/doc-support/default.nix b/doc/doc-support/default.nix index bea3e12a70b3..67195a4a58b0 100644 --- a/doc/doc-support/default.nix +++ b/doc/doc-support/default.nix @@ -45,7 +45,10 @@ let # NB: This file describes the Nixpkgs manual, which happens to use module # docs infra originally developed for NixOS. optionsDoc = pkgs.nixosOptionsDoc { - inherit (pkgs.lib.evalModules { modules = [ ../../pkgs/top-level/config.nix ]; }) options; + inherit (pkgs.lib.evalModules { + modules = [ ../../pkgs/top-level/config.nix ]; + specialArgs.class = "nixpkgsConfig"; + }) options; documentType = "none"; transformOptions = opt: opt // { diff --git a/nixos/lib/eval-cacheable-options.nix b/nixos/lib/eval-cacheable-options.nix index c3ba2ce66375..d26967ebe09b 100644 --- a/nixos/lib/eval-cacheable-options.nix +++ b/nixos/lib/eval-cacheable-options.nix @@ -33,6 +33,7 @@ let ]; specialArgs = { inherit config pkgs utils; + class = "nixos"; }; }; docs = import "${nixosPath}/doc/manual" { diff --git a/nixos/lib/eval-config-minimal.nix b/nixos/lib/eval-config-minimal.nix index d45b9ffd4261..7e28f4305127 100644 --- a/nixos/lib/eval-config-minimal.nix +++ b/nixos/lib/eval-config-minimal.nix @@ -40,7 +40,9 @@ let inherit prefix modules; specialArgs = { modulesPath = builtins.toString ../modules; - } // specialArgs; + } // specialArgs // { + class = "nixos"; + }; }; in diff --git a/nixos/lib/testing/default.nix b/nixos/lib/testing/default.nix index 9d4f9dbc43d7..1bd6278ce684 100644 --- a/nixos/lib/testing/default.nix +++ b/nixos/lib/testing/default.nix @@ -1,7 +1,10 @@ { lib }: let - evalTest = module: lib.evalModules { modules = testModules ++ [ module ]; }; + evalTest = module: lib.evalModules { + modules = testModules ++ [ module ]; + specialArgs.class = "nixosTest"; + }; runTest = module: (evalTest ({ config, ... }: { imports = [ module ]; result = config.test; })).config.result; testModules = [ diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index e0c6af4abe10..1821dd866cb1 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -39,6 +39,7 @@ let _module.check = false; } ] ++ docModules.eager; specialArgs = specialArgs // { + class = "nixos"; pkgs = scrubDerivations "pkgs" pkgs; # allow access to arbitrary options for eager modules, eg for getting # option types from lazy modules diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix index b32aabc3a1fd..f54ce84aedad 100644 --- a/pkgs/top-level/default.nix +++ b/pkgs/top-level/default.nix @@ -82,6 +82,7 @@ in let config = config1; }) ]; + specialArgs.class = "nixpkgsConfig"; }; # take all the rest as-is From ee1e14be0c8789745986698950e32f5946a7d272 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 10 Apr 2023 18:45:16 +0200 Subject: [PATCH 59/80] doc: Add Module System chapter start --- doc/manual.xml | 4 ++ doc/module-system/module-system.chapter.md | 69 ++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 doc/module-system/module-system.chapter.md diff --git a/doc/manual.xml b/doc/manual.xml index 8aca36017684..de3d40f553c0 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -12,7 +12,11 @@ + + + Nixpkgs <code>lib</code> + Standard environment diff --git a/doc/module-system/module-system.chapter.md b/doc/module-system/module-system.chapter.md new file mode 100644 index 000000000000..34214a85148a --- /dev/null +++ b/doc/module-system/module-system.chapter.md @@ -0,0 +1,69 @@ +# Module System {#module-system} + +## Introduction {#module-system-introduction} + +The module system is a language for handling configuration, implemented as a Nix library. + +Compared to plain Nix, it adds documentation, type checking and composition or extensibility. + +NOTE: This chapter is new and not complete yet. For a gentle introduction to the module system, in the context of NixOS, see [Writing NixOS Modules](https://nixos.org/manual/nixos/unstable/index.html#sec-writing-modules) in the NixOS manual. + +## `lib.evalModules` {#module-system-lib-evalModules} + +Evaluate a set of modules. The result is a set with the attributes: + +### Parameters {#module-system-lib-evalModules-parameters} + +#### `modules` {#module-system-lib-evalModules-param-modules} + +A list of modules. These are merged together using various methods to form the final configuration. + +#### `specialArgs` {#module-system-lib-evalModules-param-specialArgs} + +An attribute set of module arguments that can be used in `imports`. + +This is in contrast to `config._module.args`, which is only available within the module fixpoint, which does not exist before all imports are resolved. + +#### `specialArgs.class` {#module-system-lib-evalModules-param-specialArgs-class} + +If the `class` attribute is set in `specialArgs`, the module system will rejected modules with a different `class`. + +This improves the error message that users will encounter when they import an incompatible module that was designed for a different class of configurations. + +The `class` value should be in camelcase, and, if applicable, it should match the prefix of the attributes used in (experimental) flakes. Some examples are: + + - `nixos`: NixOS modules + - `nixosTest`: modules that constitute a [NixOS VM test](https://nixos.org/manual/nixos/stable/index.html#sec-nixos-tests) + +#### `prefix` {#module-system-lib-evalModules-param-prefix} + +A list of strings representing the location at or below which all options are evaluated. This is used by `types.submodule` to improve error reporting and find the implicit `name` module argument. + +### Return value {#module-system-lib-evalModules-return-value} + +#### `options` {#module-system-lib-evalModules-return-value-options} + +The nested set of all option declarations. + +#### `config` {#module-system-lib-evalModules-return-value-config} + +The nested set of all option values. + +#### `type` {#module-system-lib-evalModules-return-value-type} + +A module system type representing the module set as a submodule, to be extended by configuration from the containing module set. + +This is also available as the module argument `moduleType`. + +#### `extendModules` {#module-system-lib-evalModules-return-value-extendModules} + +A function similar to `evalModules` but building on top of the module set. Its arguments, `modules` and `specialArgs` are added to the existing values. + +Using `extendModules` a few times has no performance impact as long as you only reference the final `options` and `config`. +If you do reference multiple `config` (or `options`) from before and after `extendModules`, performance is the same as with multiple `evalModules` invocations, because the new modules' ability to override existing configuration fundamentally requires a new fixpoint to be constructed. + +This is also available as a module argument. + +#### `_module` {#module-system-lib-evalModules-return-value-_module} + +A portion of the configuration tree which is elided from `config`. It contains some values that are mostly internal to the module system implementation. From 03a465f0489ce35c86606dd5ef7dffa877c91dde Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sat, 6 May 2023 18:32:12 +0200 Subject: [PATCH 60/80] fixup! doc: Add Module System chapter start --- doc/module-system/module-system.chapter.md | 46 ++++++++++++++-------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/doc/module-system/module-system.chapter.md b/doc/module-system/module-system.chapter.md index 34214a85148a..2f19096577fd 100644 --- a/doc/module-system/module-system.chapter.md +++ b/doc/module-system/module-system.chapter.md @@ -6,34 +6,39 @@ The module system is a language for handling configuration, implemented as a Nix Compared to plain Nix, it adds documentation, type checking and composition or extensibility. -NOTE: This chapter is new and not complete yet. For a gentle introduction to the module system, in the context of NixOS, see [Writing NixOS Modules](https://nixos.org/manual/nixos/unstable/index.html#sec-writing-modules) in the NixOS manual. +::: {.note} +This chapter is new and not complete yet. For a gentle introduction to the module system, in the context of NixOS, see [Writing NixOS Modules](https://nixos.org/manual/nixos/unstable/index.html#sec-writing-modules) in the NixOS manual. +::: + ## `lib.evalModules` {#module-system-lib-evalModules} -Evaluate a set of modules. The result is a set with the attributes: +Evaluate a set of modules. This function is typically only used once per application (e.g. once in NixOS, once in Home Manager, ...). ### Parameters {#module-system-lib-evalModules-parameters} #### `modules` {#module-system-lib-evalModules-param-modules} -A list of modules. These are merged together using various methods to form the final configuration. +A list of modules. These are merged together to form the final configuration. + #### `specialArgs` {#module-system-lib-evalModules-param-specialArgs} An attribute set of module arguments that can be used in `imports`. -This is in contrast to `config._module.args`, which is only available within the module fixpoint, which does not exist before all imports are resolved. +This is in contrast to `config._module.args`, which is only available after all `imports` have been resolved. #### `specialArgs.class` {#module-system-lib-evalModules-param-specialArgs-class} -If the `class` attribute is set in `specialArgs`, the module system will rejected modules with a different `class`. +If the `class` attribute is set in `specialArgs`, the module system will reject modules with a different `class`. -This improves the error message that users will encounter when they import an incompatible module that was designed for a different class of configurations. +The `class` value should be in lower [camel case](https://en.wikipedia.org/wiki/Camel_case). -The `class` value should be in camelcase, and, if applicable, it should match the prefix of the attributes used in (experimental) flakes. Some examples are: +If applicable, the `class` should match the "prefix" of the attributes used in (experimental) [flakes](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#description). Some examples are: - - `nixos`: NixOS modules + - `nixos` as in `flake.nixosModules` - `nixosTest`: modules that constitute a [NixOS VM test](https://nixos.org/manual/nixos/stable/index.html#sec-nixos-tests) + #### `prefix` {#module-system-lib-evalModules-param-prefix} @@ -41,29 +46,38 @@ A list of strings representing the location at or below which all options are ev ### Return value {#module-system-lib-evalModules-return-value} +The result is an attribute set with the following attributes: + #### `options` {#module-system-lib-evalModules-return-value-options} -The nested set of all option declarations. +The nested attribute set of all option declarations. #### `config` {#module-system-lib-evalModules-return-value-config} -The nested set of all option values. +The nested attribute set of all option values. #### `type` {#module-system-lib-evalModules-return-value-type} -A module system type representing the module set as a submodule, to be extended by configuration from the containing module set. +A module system type. This type is an instance of `types.submoduleWith` containing the current [`modules`](#module-system-lib-evalModules-param-modules). -This is also available as the module argument `moduleType`. +The option definitions that are typed with this type will extend the current set of modules, like [`extendModules`](#module-system-lib-evalModules-return-value-extendModules). + +However, the value returned from the type is just the [`config`](#module-system-lib-evalModules-return-value-config), like any submodule. + +This type is also available to the [`modules`](#module-system-lib-evalModules-param-modules) as the module argument `moduleType`. #### `extendModules` {#module-system-lib-evalModules-return-value-extendModules} -A function similar to `evalModules` but building on top of the module set. Its arguments, `modules` and `specialArgs` are added to the existing values. +A function similar to `evalModules` but building on top of the already passed [`modules`](#module-system-lib-evalModules-param-modules). Its arguments, `modules` and `specialArgs` are added to the existing values. -Using `extendModules` a few times has no performance impact as long as you only reference the final `options` and `config`. -If you do reference multiple `config` (or `options`) from before and after `extendModules`, performance is the same as with multiple `evalModules` invocations, because the new modules' ability to override existing configuration fundamentally requires a new fixpoint to be constructed. +The real work of module evaluation happens while computing the values in `config` and `options`, so multiple invocations of `extendModules` have a particularly small cost, as long as only the final `config` and `options` are evaluated. -This is also available as a module argument. +If you do reference multiple `config` (or `options`) from before and after `extendModules`, evaluation performance is the same as with multiple `evalModules` invocations, because the new modules' ability to override existing configuration fundamentally requires constructing a new `config` and `options` fixpoint. + +This functionality is also available to modules as the `extendModules` module argument. #### `_module` {#module-system-lib-evalModules-return-value-_module} A portion of the configuration tree which is elided from `config`. It contains some values that are mostly internal to the module system implementation. + + From 73f584c3cc20015bfd1c4c72ebc6240897c10e48 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 16 Apr 2023 19:03:05 +0200 Subject: [PATCH 61/80] lib/modules.nix: Deduplicate documentation `file://./..` looks redundant, but makes the url clickable in vscode. --- lib/modules.nix | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/lib/modules.nix b/lib/modules.nix index 4533252c60e2..e83d5b6d1cae 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -63,35 +63,8 @@ let decls )); - /* - Evaluate a set of modules. The result is a set with the attributes: - - ‘options’: The nested set of all option declarations, - - ‘config’: The nested set of all option values. - - ‘type’: A module system type representing the module set as a submodule, - to be extended by configuration from the containing module set. - - This is also available as the module argument ‘moduleType’. - - ‘extendModules’: A function similar to ‘evalModules’ but building on top - of the module set. Its arguments, ‘modules’ and ‘specialArgs’ are - added to the existing values. - - Using ‘extendModules’ a few times has no performance impact as long - as you only reference the final ‘options’ and ‘config’. - If you do reference multiple ‘config’ (or ‘options’) from before and - after ‘extendModules’, performance is the same as with multiple - ‘evalModules’ invocations, because the new modules' ability to - override existing configuration fundamentally requires a new - fixpoint to be constructed. - - This is also available as a module argument. - - ‘_module’: A portion of the configuration tree which is elided from - ‘config’. It contains some values that are mostly internal to the - module system implementation. + /* See https://nixos.org/manual/nixpkgs/unstable/#module-system-lib-evalModules + or file://./../doc/module-system/module-system.chapter.md !!! Please think twice before adding to this argument list! The more that is specified here instead of in the modules themselves the harder From 5fac39307dc75586d93e69920c4b837e277f0c85 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 16 Apr 2023 19:25:09 +0200 Subject: [PATCH 62/80] module-system.chapter.md: Add mental model to `type` and `extendModules` --- doc/module-system/module-system.chapter.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/module-system/module-system.chapter.md b/doc/module-system/module-system.chapter.md index 2f19096577fd..2f9716c89dbc 100644 --- a/doc/module-system/module-system.chapter.md +++ b/doc/module-system/module-system.chapter.md @@ -64,12 +64,17 @@ The option definitions that are typed with this type will extend the current set However, the value returned from the type is just the [`config`](#module-system-lib-evalModules-return-value-config), like any submodule. +If you're familiar with prototype inheritance, you can think of this `evalModules` invocation as the prototype, and usages of this type as the instances. + This type is also available to the [`modules`](#module-system-lib-evalModules-param-modules) as the module argument `moduleType`. + #### `extendModules` {#module-system-lib-evalModules-return-value-extendModules} A function similar to `evalModules` but building on top of the already passed [`modules`](#module-system-lib-evalModules-param-modules). Its arguments, `modules` and `specialArgs` are added to the existing values. +If you're familiar with prototype inheritance, you can think of the current, actual `evalModules` invocation as the prototype, and the return value of `extendModules` as the instance. + The real work of module evaluation happens while computing the values in `config` and `options`, so multiple invocations of `extendModules` have a particularly small cost, as long as only the final `config` and `options` are evaluated. If you do reference multiple `config` (or `options`) from before and after `extendModules`, evaluation performance is the same as with multiple `evalModules` invocations, because the new modules' ability to override existing configuration fundamentally requires constructing a new `config` and `options` fixpoint. From 8f02e95aff2b9cb94470ec379e2a3f55858cb03d Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Sun, 16 Apr 2023 19:44:18 +0200 Subject: [PATCH 63/80] module-system.chapter.md: Elaborate on extendModules performance --- doc/module-system/module-system.chapter.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/module-system/module-system.chapter.md b/doc/module-system/module-system.chapter.md index 2f9716c89dbc..9a24ab70c6c1 100644 --- a/doc/module-system/module-system.chapter.md +++ b/doc/module-system/module-system.chapter.md @@ -75,11 +75,20 @@ A function similar to `evalModules` but building on top of the already passed [` If you're familiar with prototype inheritance, you can think of the current, actual `evalModules` invocation as the prototype, and the return value of `extendModules` as the instance. +This functionality is also available to modules as the `extendModules` module argument. + +::: {.note} + +**Evaluation Performance** + +`extendModules` returns a configuration that shares very little with the original `evalModules` invocation, because the module arguments may be different. + +So if you have a configuration that has been (or will be) largely evaluated, almost none of the computation is shared with the configuration returned by `extendModules`. + The real work of module evaluation happens while computing the values in `config` and `options`, so multiple invocations of `extendModules` have a particularly small cost, as long as only the final `config` and `options` are evaluated. If you do reference multiple `config` (or `options`) from before and after `extendModules`, evaluation performance is the same as with multiple `evalModules` invocations, because the new modules' ability to override existing configuration fundamentally requires constructing a new `config` and `options` fixpoint. - -This functionality is also available to modules as the `extendModules` module argument. +::: #### `_module` {#module-system-lib-evalModules-return-value-_module} From 8054785157119ea12e526481924d6676427904bb Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 17 Apr 2023 19:48:53 +0200 Subject: [PATCH 64/80] lib/modules: Move class out of specialArgs --- doc/doc-support/default.nix | 2 +- doc/module-system/module-system.chapter.md | 6 ++--- lib/modules.nix | 26 ++++++++++++++++------ lib/tests/modules/class-check.nix | 6 ++--- lib/types.nix | 10 +++++++-- nixos/lib/eval-config-minimal.nix | 5 ++--- nixos/lib/testing/default.nix | 2 +- nixos/modules/misc/documentation.nix | 2 +- pkgs/top-level/default.nix | 2 +- 9 files changed, 39 insertions(+), 22 deletions(-) diff --git a/doc/doc-support/default.nix b/doc/doc-support/default.nix index 67195a4a58b0..cfa7cbdc8283 100644 --- a/doc/doc-support/default.nix +++ b/doc/doc-support/default.nix @@ -47,7 +47,7 @@ let optionsDoc = pkgs.nixosOptionsDoc { inherit (pkgs.lib.evalModules { modules = [ ../../pkgs/top-level/config.nix ]; - specialArgs.class = "nixpkgsConfig"; + class = "nixpkgsConfig"; }) options; documentType = "none"; transformOptions = opt: diff --git a/doc/module-system/module-system.chapter.md b/doc/module-system/module-system.chapter.md index 9a24ab70c6c1..51e600d75640 100644 --- a/doc/module-system/module-system.chapter.md +++ b/doc/module-system/module-system.chapter.md @@ -28,11 +28,11 @@ An attribute set of module arguments that can be used in `imports`. This is in contrast to `config._module.args`, which is only available after all `imports` have been resolved. -#### `specialArgs.class` {#module-system-lib-evalModules-param-specialArgs-class} +#### `class` {#module-system-lib-evalModules-param-class} -If the `class` attribute is set in `specialArgs`, the module system will reject modules with a different `class`. +If the `class` attribute is set and non-`null`, the module system will reject `imports` with a different `class`. -The `class` value should be in lower [camel case](https://en.wikipedia.org/wiki/Camel_case). +The `class` value should be a string in lower [camel case](https://en.wikipedia.org/wiki/Camel_case). If applicable, the `class` should match the "prefix" of the attributes used in (experimental) [flakes](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake.html#description). Some examples are: diff --git a/lib/modules.nix b/lib/modules.nix index e83d5b6d1cae..3550ebddaeac 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -78,13 +78,13 @@ let # when resolving module structure (like in imports). For everything else, # there's _module.args. If specialArgs.modulesPath is defined it will be # used as the base path for disabledModules. - # - # `specialArgs.class`: + specialArgs ? {} + , # `class`: # A nominal type for modules. When set and non-null, this adds a check to # make sure that only compatible modules are imported. - specialArgs ? {} - , # This would be remove in the future, Prefer _module.args option instead. - args ? {} + # This would be remove in the future, Prefer _module.args option instead. + class ? null + , args ? {} , # This would be remove in the future, Prefer _module.check option instead. check ? true }: @@ -220,6 +220,16 @@ let within a configuration, but can be used in module imports. ''; }; + + _module.class = mkOption { + readOnly = true; + internal = true; + description = lib.mdDoc '' + If the `class` attribute is set and non-`null`, the module system will reject `imports` with a different `class`. + + This option contains the expected `class` attribute of the current module evaluation. + ''; + }; }; config = { @@ -227,13 +237,14 @@ let inherit extendModules; moduleType = type; }; + _module.class = class; _module.specialArgs = specialArgs; }; }; merged = let collected = collectModules - (specialArgs.class or null) + class (specialArgs.modulesPath or "") (regularModules ++ [ internalModule ]) ({ inherit lib options config specialArgs; } // specialArgs); @@ -310,13 +321,14 @@ let prefix ? [], }: evalModules (evalModulesArgs // { + inherit class; modules = regularModules ++ modules; specialArgs = evalModulesArgs.specialArgs or {} // specialArgs; prefix = extendArgs.prefix or evalModulesArgs.prefix or []; }); type = lib.types.submoduleWith { - inherit modules specialArgs; + inherit modules specialArgs class; }; result = withWarnings { diff --git a/lib/tests/modules/class-check.nix b/lib/tests/modules/class-check.nix index f492c844abfb..02d1431cc88b 100644 --- a/lib/tests/modules/class-check.nix +++ b/lib/tests/modules/class-check.nix @@ -3,7 +3,7 @@ _module.freeformType = lib.types.anything; ok = lib.evalModules { - specialArgs.class = "nixos"; + class = "nixos"; modules = [ ./module-class-is-nixos.nix ]; @@ -11,7 +11,7 @@ fail = lib.evalModules { - specialArgs.class = "nixos"; + class = "nixos"; modules = [ ./module-class-is-nixos.nix ./module-class-is-darwin.nix @@ -20,7 +20,7 @@ fail-anon = lib.evalModules { - specialArgs.class = "nixos"; + class = "nixos"; modules = [ ./module-class-is-nixos.nix { _file = "foo.nix#darwinModules.default"; diff --git a/lib/types.nix b/lib/types.nix index 666e6502d161..e0da18a2febb 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -696,6 +696,7 @@ rec { , specialArgs ? {} , shorthandOnlyDefinesConfig ? false , description ? null + , class ? null }@attrs: let inherit (lib.modules) evalModules; @@ -707,7 +708,7 @@ rec { ) defs; base = evalModules { - inherit specialArgs; + inherit class specialArgs; modules = [{ # This is a work-around for the fact that some sub-modules, # such as the one included in an attribute set, expects an "args" @@ -762,9 +763,14 @@ rec { functor = defaultFunctor name // { type = types.submoduleWith; payload = { - inherit modules specialArgs shorthandOnlyDefinesConfig description; + inherit modules class specialArgs shorthandOnlyDefinesConfig description; }; binOp = lhs: rhs: { + class = + if lhs.class == null then rhs.class + else if rhs.class == null then lhs.class + else if lhs.class == rhs.class then lhs.class + else throw "A submoduleWith option is declared multiple times with conflicting class values \"${toString lhs.class}\" and \"${toString rhs.class}\"."; modules = lhs.modules ++ rhs.modules; specialArgs = let intersecting = builtins.intersectAttrs lhs.specialArgs rhs.specialArgs; diff --git a/nixos/lib/eval-config-minimal.nix b/nixos/lib/eval-config-minimal.nix index 7e28f4305127..036389121973 100644 --- a/nixos/lib/eval-config-minimal.nix +++ b/nixos/lib/eval-config-minimal.nix @@ -38,11 +38,10 @@ let # is experimental. lib.evalModules { inherit prefix modules; + class = "nixos"; specialArgs = { modulesPath = builtins.toString ../modules; - } // specialArgs // { - class = "nixos"; - }; + } // specialArgs; }; in diff --git a/nixos/lib/testing/default.nix b/nixos/lib/testing/default.nix index 1bd6278ce684..a89f734b1e64 100644 --- a/nixos/lib/testing/default.nix +++ b/nixos/lib/testing/default.nix @@ -3,7 +3,7 @@ let evalTest = module: lib.evalModules { modules = testModules ++ [ module ]; - specialArgs.class = "nixosTest"; + class = "nixosTest"; }; runTest = module: (evalTest ({ config, ... }: { imports = [ module ]; result = config.test; })).config.result; diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index 1821dd866cb1..31486a2216ad 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -38,8 +38,8 @@ let modules = [ { _module.check = false; } ] ++ docModules.eager; + class = "nixos"; specialArgs = specialArgs // { - class = "nixos"; pkgs = scrubDerivations "pkgs" pkgs; # allow access to arbitrary options for eager modules, eg for getting # option types from lazy modules diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix index f54ce84aedad..ba00e78ce2e6 100644 --- a/pkgs/top-level/default.nix +++ b/pkgs/top-level/default.nix @@ -82,7 +82,7 @@ in let config = config1; }) ]; - specialArgs.class = "nixpkgsConfig"; + class = "nixpkgsConfig"; }; # take all the rest as-is From 7459c024950282da952d43762ad93ff30995cc6a Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 17 Apr 2023 20:00:07 +0200 Subject: [PATCH 65/80] lib/tests/modules.sh: Add submodule + class tests --- lib/tests/modules.sh | 9 ++++++- lib/tests/modules/class-check.nix | 41 +++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 116a0778aebc..8f4553464ad0 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -362,11 +362,18 @@ checkConfigOutput 'ok' config.freeformItems.foo.bar ./adhoc-freeformType-survive # because of an `extendModules` bug, issue 168767. checkConfigOutput '^1$' config.sub.specialisation.value ./extendModules-168767-imports.nix -# Class checks +# Class checks, evalModules checkConfigOutput '^{ }$' config.ok.config ./class-check.nix checkConfigError 'The module .*/module-class-is-darwin.nix was imported into nixos instead of darwin.' config.fail.config ./class-check.nix checkConfigError 'The module foo.nix#darwinModules.default was imported into nixos instead of darwin.' config.fail-anon.config ./class-check.nix +# Class checks, submoduleWith +checkConfigOutput '^{ }$' config.sub.nixosOk ./class-check.nix +checkConfigError 'The module .*/module-class-is-darwin.nix was imported into nixos instead of darwin.' config.sub.nixosFail.config ./class-check.nix + +# submoduleWith type merge with different class +checkConfigError 'error: A submoduleWith option is declared multiple times with conflicting class values "darwin" and "nixos".' config.sub.mergeFail.config ./class-check.nix + # _type check checkConfigError 'Could not load a value as a module, because it is of type "flake", in file .*/module-imports-_type-check.nix' config.ok.config ./module-imports-_type-check.nix checkConfigOutput '^true$' "$@" config.enable ./declare-enable.nix ./define-enable-with-top-level-mkIf.nix diff --git a/lib/tests/modules/class-check.nix b/lib/tests/modules/class-check.nix index 02d1431cc88b..7874d0e28ec7 100644 --- a/lib/tests/modules/class-check.nix +++ b/lib/tests/modules/class-check.nix @@ -1,4 +1,43 @@ { lib, ... }: { + options = { + sub = { + nixosOk = lib.mkOption { + type = lib.types.submoduleWith { + class = "nixos"; + modules = [ ]; + }; + }; + # Same but will have bad definition + nixosFail = lib.mkOption { + type = lib.types.submoduleWith { + class = "nixos"; + modules = [ ]; + }; + }; + + mergeFail = lib.mkOption { + type = lib.types.submoduleWith { + class = "nixos"; + modules = [ ]; + }; + default = { }; + }; + }; + }; + imports = [ + { + options = { + sub = { + mergeFail = lib.mkOption { + type = lib.types.submoduleWith { + class = "darwin"; + modules = [ ]; + }; + }; + }; + }; + } + ]; config = { _module.freeformType = lib.types.anything; ok = @@ -31,5 +70,7 @@ ]; }; + sub.nixosOk = { config = {}; class = "nixos"; }; + sub.nixosFail = { imports = [ ./module-class-is-darwin.nix ]; }; }; } From fd88c79418bbb26758a89d111f136abdc8825acd Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 17 Apr 2023 20:14:07 +0200 Subject: [PATCH 66/80] lib.modules: Change class declaration in module to _class --- doc/module-system/module-system.chapter.md | 2 +- lib/modules.nix | 12 ++++++------ lib/tests/modules/class-check.nix | 4 ++-- lib/tests/modules/module-class-is-darwin.nix | 2 +- lib/tests/modules/module-class-is-nixos.nix | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/module-system/module-system.chapter.md b/doc/module-system/module-system.chapter.md index 51e600d75640..714d8f67cfe2 100644 --- a/doc/module-system/module-system.chapter.md +++ b/doc/module-system/module-system.chapter.md @@ -30,7 +30,7 @@ This is in contrast to `config._module.args`, which is only available after all #### `class` {#module-system-lib-evalModules-param-class} -If the `class` attribute is set and non-`null`, the module system will reject `imports` with a different `class`. +If the `class` attribute is set and non-`null`, the module system will reject `imports` with a different `_class` declaration. The `class` value should be a string in lower [camel case](https://en.wikipedia.org/wiki/Camel_case). diff --git a/lib/modules.nix b/lib/modules.nix index 3550ebddaeac..c6d178e7ff9a 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -371,10 +371,10 @@ let if class != null then m: - if m.class != null -> m.class == class + if m._class != null -> m._class == class then m else - throw "The module ${m._file or m.key} was imported into ${class} instead of ${m.class}." + throw "The module ${m._file or m.key} was imported into ${class} instead of ${m._class}." else m: m; @@ -475,28 +475,28 @@ let else config; in if m ? config || m ? options then - let badAttrs = removeAttrs m ["_file" "key" "disabledModules" "imports" "options" "config" "meta" "freeformType" "class"]; in + let badAttrs = removeAttrs m ["_class" "_file" "key" "disabledModules" "imports" "options" "config" "meta" "freeformType"]; in if badAttrs != {} then throw "Module `${key}' has an unsupported attribute `${head (attrNames badAttrs)}'. This is caused by introducing a top-level `config' or `options' attribute. Add configuration attributes immediately on the top level instead, or move all of them (namely: ${toString (attrNames badAttrs)}) into the explicit `config' attribute." else { _file = toString m._file or file; + _class = m._class or null; key = toString m.key or key; disabledModules = m.disabledModules or []; imports = m.imports or []; options = m.options or {}; config = addFreeformType (addMeta (m.config or {})); - class = m.class or null; } else # shorthand syntax lib.throwIfNot (isAttrs m) "module ${file} (${key}) does not look like a module." { _file = toString m._file or file; + _class = m._class or null; key = toString m.key or key; disabledModules = m.disabledModules or []; imports = m.require or [] ++ m.imports or []; options = {}; - config = addFreeformType (removeAttrs m ["_file" "key" "disabledModules" "require" "imports" "freeformType"]); - class = null; + config = addFreeformType (removeAttrs m ["_class" "_file" "key" "disabledModules" "require" "imports" "freeformType"]); }; applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }: diff --git a/lib/tests/modules/class-check.nix b/lib/tests/modules/class-check.nix index 7874d0e28ec7..293fd4abd628 100644 --- a/lib/tests/modules/class-check.nix +++ b/lib/tests/modules/class-check.nix @@ -63,14 +63,14 @@ modules = [ ./module-class-is-nixos.nix { _file = "foo.nix#darwinModules.default"; - class = "darwin"; + _class = "darwin"; config = {}; imports = []; } ]; }; - sub.nixosOk = { config = {}; class = "nixos"; }; + sub.nixosOk = { _class = "nixos"; }; sub.nixosFail = { imports = [ ./module-class-is-darwin.nix ]; }; }; } diff --git a/lib/tests/modules/module-class-is-darwin.nix b/lib/tests/modules/module-class-is-darwin.nix index d8b60203f707..bacf45626d71 100644 --- a/lib/tests/modules/module-class-is-darwin.nix +++ b/lib/tests/modules/module-class-is-darwin.nix @@ -1,4 +1,4 @@ { - class = "darwin"; + _class = "darwin"; config = {}; } diff --git a/lib/tests/modules/module-class-is-nixos.nix b/lib/tests/modules/module-class-is-nixos.nix index 04b6e860e890..6d62feedae48 100644 --- a/lib/tests/modules/module-class-is-nixos.nix +++ b/lib/tests/modules/module-class-is-nixos.nix @@ -1,4 +1,4 @@ { - class = "nixos"; + _class = "nixos"; config = {}; } From 4c7aa7d831aa691a7331967a4a839b1088a48493 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 17 Apr 2023 21:52:04 +0200 Subject: [PATCH 67/80] doc/module-system: `_module` is not internal --- doc/module-system/module-system.chapter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/module-system/module-system.chapter.md b/doc/module-system/module-system.chapter.md index 714d8f67cfe2..9df7a1672a63 100644 --- a/doc/module-system/module-system.chapter.md +++ b/doc/module-system/module-system.chapter.md @@ -92,6 +92,6 @@ If you do reference multiple `config` (or `options`) from before and after `exte #### `_module` {#module-system-lib-evalModules-return-value-_module} -A portion of the configuration tree which is elided from `config`. It contains some values that are mostly internal to the module system implementation. +A portion of the configuration tree which is elided from `config`. From 89491bef8dc72496812d94c32b5fdd962cbbe1f6 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 27 Apr 2023 19:50:20 +0200 Subject: [PATCH 68/80] lib.modules: in evalModules return move _module.class -> configurationClass --- doc/module-system/module-system.chapter.md | 8 ++++++++ lib/modules.nix | 12 +----------- lib/tests/modules.sh | 1 + 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/doc/module-system/module-system.chapter.md b/doc/module-system/module-system.chapter.md index 9df7a1672a63..b82a546e4aa6 100644 --- a/doc/module-system/module-system.chapter.md +++ b/doc/module-system/module-system.chapter.md @@ -95,3 +95,11 @@ If you do reference multiple `config` (or `options`) from before and after `exte A portion of the configuration tree which is elided from `config`. + +#### `_type` {#module-system-lib-evalModules-return-value-_type} + +A nominal type marker, always `"configuration"`. + +#### `configurationClass` {#module-system-lib-evalModules-return-value-_configurationClass} + +Equal to the [`class` parameter](#module-system-lib-evalModules-param-class). diff --git a/lib/modules.nix b/lib/modules.nix index c6d178e7ff9a..5e7f5d7a86d4 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -220,16 +220,6 @@ let within a configuration, but can be used in module imports. ''; }; - - _module.class = mkOption { - readOnly = true; - internal = true; - description = lib.mdDoc '' - If the `class` attribute is set and non-`null`, the module system will reject `imports` with a different `class`. - - This option contains the expected `class` attribute of the current module evaluation. - ''; - }; }; config = { @@ -237,7 +227,6 @@ let inherit extendModules; moduleType = type; }; - _module.class = class; _module.specialArgs = specialArgs; }; }; @@ -337,6 +326,7 @@ let config = checked (removeAttrs config [ "_module" ]); _module = checked (config._module); inherit extendModules type; + configurationClass = class; }; in result; diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 8f4553464ad0..0aac5b946a3b 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -364,6 +364,7 @@ checkConfigOutput '^1$' config.sub.specialisation.value ./extendModules-168767-i # Class checks, evalModules checkConfigOutput '^{ }$' config.ok.config ./class-check.nix +checkConfigOutput '"nixos"' config.ok.configurationClass ./class-check.nix checkConfigError 'The module .*/module-class-is-darwin.nix was imported into nixos instead of darwin.' config.fail.config ./class-check.nix checkConfigError 'The module foo.nix#darwinModules.default was imported into nixos instead of darwin.' config.fail-anon.config ./class-check.nix From eab660d91e5d7a2796bc6e4b94b5939ed593db29 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Thu, 27 Apr 2023 20:03:44 +0200 Subject: [PATCH 69/80] lib.modules: configurationClass -> class This simplifies the documentation. `configuration` is implied by `_type`. --- doc/module-system/module-system.chapter.md | 4 ++-- lib/modules.nix | 2 +- lib/tests/modules.sh | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/module-system/module-system.chapter.md b/doc/module-system/module-system.chapter.md index b82a546e4aa6..927f66073748 100644 --- a/doc/module-system/module-system.chapter.md +++ b/doc/module-system/module-system.chapter.md @@ -100,6 +100,6 @@ A portion of the configuration tree which is elided from `config`. A nominal type marker, always `"configuration"`. -#### `configurationClass` {#module-system-lib-evalModules-return-value-_configurationClass} +#### `class` {#module-system-lib-evalModules-return-value-_configurationClass} -Equal to the [`class` parameter](#module-system-lib-evalModules-param-class). +The [`class` argument](#module-system-lib-evalModules-param-class). diff --git a/lib/modules.nix b/lib/modules.nix index 5e7f5d7a86d4..4dc8c663b2fe 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -326,7 +326,7 @@ let config = checked (removeAttrs config [ "_module" ]); _module = checked (config._module); inherit extendModules type; - configurationClass = class; + class = class; }; in result; diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 0aac5b946a3b..45c247cbbea6 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -364,7 +364,7 @@ checkConfigOutput '^1$' config.sub.specialisation.value ./extendModules-168767-i # Class checks, evalModules checkConfigOutput '^{ }$' config.ok.config ./class-check.nix -checkConfigOutput '"nixos"' config.ok.configurationClass ./class-check.nix +checkConfigOutput '"nixos"' config.ok.class ./class-check.nix checkConfigError 'The module .*/module-class-is-darwin.nix was imported into nixos instead of darwin.' config.fail.config ./class-check.nix checkConfigError 'The module foo.nix#darwinModules.default was imported into nixos instead of darwin.' config.fail-anon.config ./class-check.nix From 03ad8569fd648be154c4258d8d3c02ee7e28bed6 Mon Sep 17 00:00:00 2001 From: Jack Leightcap Date: Sat, 6 May 2023 12:35:27 -0400 Subject: [PATCH 70/80] verilog-12.0: temp disable regression test suite Signed-off-by: Jack Leightcap --- pkgs/applications/science/electronics/verilog/default.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix index 485bc27e801c..bf55ec982ca5 100644 --- a/pkgs/applications/science/electronics/verilog/default.nix +++ b/pkgs/applications/science/electronics/verilog/default.nix @@ -44,8 +44,13 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + # NOTE(jleightcap): the `make check` target only runs a "Hello, World"-esque sanity check. + # the tests in the doInstallCheck phase run a full regression test suite. + # however, these tests currently fail upstream on aarch64 + # (see https://github.com/steveicarus/iverilog/issues/917) + # so disable the full suite for now. doCheck = true; - doInstallCheck = true; + doInstallCheck = false; nativeInstallCheckInputs = [ perl From ff573fb2adc8fb9baa67308843c04e2f8f4d0db4 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Sat, 6 May 2023 17:55:02 +0100 Subject: [PATCH 71/80] tandoor-recipes: frontend: 'nodejs_16' -> 'nodejs' --- pkgs/applications/misc/tandoor-recipes/frontend.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/misc/tandoor-recipes/frontend.nix b/pkgs/applications/misc/tandoor-recipes/frontend.nix index 2050d062d6a6..98da59a1d299 100644 --- a/pkgs/applications/misc/tandoor-recipes/frontend.nix +++ b/pkgs/applications/misc/tandoor-recipes/frontend.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchYarnDeps, fixup_yarn_lock, callPackage, nodejs_16 }: +{ stdenv, fetchYarnDeps, fixup_yarn_lock, callPackage, nodejs }: let common = callPackage ./common.nix { }; in @@ -15,9 +15,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ fixup_yarn_lock - # Use Node JS 16 because of @achrinza/node-ipc@9.2.2 - nodejs_16 - nodejs_16.pkgs.yarn + nodejs + nodejs.pkgs.yarn ]; configurePhase = '' From 4fdd191d657239832938a58cf008f4f3f1e28f05 Mon Sep 17 00:00:00 2001 From: Jack Leightcap Date: Sat, 6 May 2023 13:06:47 -0400 Subject: [PATCH 72/80] verilog-12.0: installCheckPhase on supported arch Signed-off-by: Jack Leightcap --- pkgs/applications/science/electronics/verilog/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix index bf55ec982ca5..0a93759947d7 100644 --- a/pkgs/applications/science/electronics/verilog/default.nix +++ b/pkgs/applications/science/electronics/verilog/default.nix @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { # (see https://github.com/steveicarus/iverilog/issues/917) # so disable the full suite for now. doCheck = true; - doInstallCheck = false; + doInstallCheck = !stdenv.isAarch64; nativeInstallCheckInputs = [ perl From dd6726df6cc90532300cdac87ad229cc30d9e8ad Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sat, 6 May 2023 11:03:01 +0100 Subject: [PATCH 73/80] realesrgan-ncnn-vulkan: drop redundant libgcc dependency `libgcc` should normally be provided by `gcc` `stdenv` directly. Checked with `diffoscope` that final output did not change. While at it added all platforms to supported list. --- pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix b/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix index b41f2cc49d45..d7abf3787e4a 100644 --- a/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix +++ b/pkgs/tools/graphics/realesrgan-ncnn-vulkan/default.nix @@ -7,7 +7,6 @@ , vulkan-headers , vulkan-loader , glslang -, libgcc , libwebp , ncnn }: @@ -44,8 +43,7 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ cmake ]; - buildInputs = [ vulkan-headers vulkan-loader glslang libwebp ncnn ] - ++ lib.optional (!stdenv.isDarwin) libgcc; + buildInputs = [ vulkan-headers vulkan-loader glslang libwebp ncnn ]; postPatch = '' substituteInPlace main.cpp --replace REPLACE_MODELS $out/share/models @@ -62,5 +60,6 @@ stdenv.mkDerivation rec { homepage = "https://github.com/xinntao/Real-ESRGAN-ncnn-vulkan"; license = licenses.mit; maintainers = with maintainers; [ tilcreator ]; + platforms = platforms.all; }; } From 567490160158d4ffe870a62ae8ed58c271279a67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 6 May 2023 21:41:14 +0200 Subject: [PATCH 74/80] Revert "nixos/qemu-vm: fix diskless VMs" --- nixos/modules/virtualisation/qemu-vm.nix | 27 +++++++----------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index b3f5bc7514c2..5f6bf4b39e97 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -272,7 +272,7 @@ let suggestedRootDevice = { "efi_bootloading_with_default_fs" = "${cfg.bootLoaderDevice}2"; "legacy_bootloading_with_default_fs" = "${cfg.bootLoaderDevice}1"; - "direct_boot_with_default_fs" = lookupDriveDeviceName "root" cfg.qemu.drives; + "direct_boot_with_default_fs" = cfg.bootLoaderDevice; # This will enforce a NixOS module type checking error # to ask explicitly the user to set a rootDevice. # As it will look like `rootDevice = lib.mkDefault null;` after @@ -344,14 +344,14 @@ in virtualisation.bootLoaderDevice = mkOption { - type = types.nullOr types.path; - default = if cfg.useBootLoader then lookupDriveDeviceName "root" cfg.qemu.drives else null; - defaultText = literalExpression ''if cfg.useBootLoader then lookupDriveDeviceName "root" cfg.qemu.drives else null;''; + type = types.path; + default = lookupDriveDeviceName "root" cfg.qemu.drives; + defaultText = literalExpression ''lookupDriveDeviceName "root" cfg.qemu.drives''; example = "/dev/vda"; description = lib.mdDoc '' The disk to be used for the boot filesystem. - By default, it is the same disk as the root filesystem if you use a bootloader, otherwise it's null. + By default, it is the same disk as the root filesystem. ''; }; @@ -862,16 +862,6 @@ in Invalid virtualisation.forwardPorts..guest.address: The address must be in the default VLAN (10.0.2.0/24). ''; - } - { assertion = cfg.useBootLoader -> cfg.diskImage != null; - message = - '' - Currently, bootloaders cannot be used with a tmpfs disk image. - It would require some rework in the boot configuration mechanism - to detect the proper boot partition in UEFI scenarios for example. - - If you are interested into this feature, please open an issue or open a pull request. - ''; } ])); @@ -899,8 +889,7 @@ in # legacy and UEFI. In order to avoid this, we have to put "nodev" to force UEFI-only installs. # Otherwise, we set the proper bootloader device for this. # FIXME: make a sense of this mess wrt to multiple ESP present in the system, probably use boot.efiSysMountpoint? - boot.loader.grub.enable = cfg.useBootLoader; - boot.loader.grub.device = mkIf cfg.useBootLoader (mkVMOverride (if cfg.useEFIBoot then "nodev" else cfg.bootLoaderDevice)); + boot.loader.grub.device = mkVMOverride (if cfg.useEFIBoot then "nodev" else cfg.bootLoaderDevice); boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}"; virtualisation.rootDevice = mkDefault suggestedRootDevice; @@ -908,13 +897,13 @@ in boot.loader.supportsInitrdSecrets = mkIf (!cfg.useBootLoader) (mkVMOverride false); - boot.initrd.extraUtilsCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable && cfg.diskImage != null) + boot.initrd.extraUtilsCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable) '' # We need mke2fs in the initrd. copy_bin_and_libs ${pkgs.e2fsprogs}/bin/mke2fs ''; - boot.initrd.postDeviceCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable && cfg.diskImage != null) + boot.initrd.postDeviceCommands = lib.mkIf (cfg.useDefaultFilesystems && !config.boot.initrd.systemd.enable) '' # If the disk image appears to be empty, run mke2fs to # initialise. From dc178938187c3d9af2cfddb48d975306db070936 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 6 May 2023 20:51:54 +0000 Subject: [PATCH 75/80] python310Packages.pyglet: 2.0.4 -> 2.0.6 --- pkgs/development/python-modules/pyglet/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix index cddd855bec52..2c7ba46d0aba 100644 --- a/pkgs/development/python-modules/pyglet/default.nix +++ b/pkgs/development/python-modules/pyglet/default.nix @@ -18,13 +18,13 @@ }: buildPythonPackage rec { - version = "2.0.4"; + version = "2.0.6"; pname = "pyglet"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-+JGAjBv2XHzFExsLJrBH6uXPN8fiUycJZKxLLwFHdPI="; + hash = "sha256-b5PyvebfgYCH4bXZEDMIbLL7aJwSILYyxG0fxKZoWgA="; extension = "zip"; }; From 81f5131292ebf17115c2367fe02e15ff3b59738a Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Mon, 24 Apr 2023 15:22:04 +0200 Subject: [PATCH 76/80] yatas: 1.3.3 -> 1.5.1 --- pkgs/tools/security/yatas/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/yatas/default.nix b/pkgs/tools/security/yatas/default.nix index d42068fe687c..057f0c7b18b4 100644 --- a/pkgs/tools/security/yatas/default.nix +++ b/pkgs/tools/security/yatas/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "yatas"; - version = "1.3.3"; + version = "1.5.1"; src = fetchFromGitHub { owner = "padok-team"; repo = "YATAS"; rev = "refs/tags/v${version}"; - hash = "sha256-BjcqEO+rDEjPttGgTH07XyQKLcs/O+FarKTWjqXWQOo="; + hash = "sha256-gw4aZ7SLUz5WLUb1z4zDtI6Ca0tEWhE5wobp5NRvjkg="; }; - vendorHash = "sha256-QOFt9h4Hdt+Mx82yw4mjAoyUXHeprvjRoLYLBnihwJo="; + vendorHash = "sha256-zp5EVJe5Q6o6C0CZ8u+oEFEOy0NU5SgVN+cSc6A/jZ4="; meta = with lib; { description = "Tool to audit AWS infrastructure for misconfiguration or potential security issues"; From 835f5860a7992c50043139f8ab6ff4bc4bbed0ec Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 6 May 2023 23:53:02 +0200 Subject: [PATCH 77/80] quark-engine: 23.2.1 -> 23.4.1 Changelog: https://github.com/quark-engine/quark-engine/releases/tag/v23.4.1 --- pkgs/tools/security/quark-engine/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/quark-engine/default.nix b/pkgs/tools/security/quark-engine/default.nix index 12e226c1ede0..82628019b4ee 100644 --- a/pkgs/tools/security/quark-engine/default.nix +++ b/pkgs/tools/security/quark-engine/default.nix @@ -6,14 +6,14 @@ python3.pkgs.buildPythonApplication rec { pname = "quark-engine"; - version = "23.2.1"; + version = "23.4.1"; format = "setuptools"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "refs/tags/v${version}"; - sha256 = "sha256-9WrOyBOoSif1P67Z19HW56RvsojoubeT58P0rM18XSk="; + sha256 = "sha256-YOI768QNAgqUy3Vc2kyJCUeJE7j0PyP5BOUelhvyHgU="; }; propagatedBuildInputs = with python3.pkgs; [ From d512a7a0840639657ba9194c75cfd5c5900578a6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 7 May 2023 00:04:26 +0200 Subject: [PATCH 78/80] feroxbuster: 2.9.5 -> 2.10.0 Changelog: https://github.com/epi052/feroxbuster/releases/tag/v2.10.0 --- pkgs/tools/security/feroxbuster/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/feroxbuster/default.nix b/pkgs/tools/security/feroxbuster/default.nix index c84037032a49..09f14d6799a4 100644 --- a/pkgs/tools/security/feroxbuster/default.nix +++ b/pkgs/tools/security/feroxbuster/default.nix @@ -9,13 +9,13 @@ rustPlatform.buildRustPackage rec { pname = "feroxbuster"; - version = "2.9.5"; + version = "2.10.0"; src = fetchFromGitHub { owner = "epi052"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-+cjRfuUspq9eE5PsYgha0Vj1ELHjTUxxdM7yR3L9T2k="; + hash = "sha256-u2c+s5kCAYOKwl5eb1zY7xdl4pD6eAjiyRj6JFkA07M="; }; # disable linker overrides on aarch64-linux @@ -23,7 +23,7 @@ rustPlatform.buildRustPackage rec { rm .cargo/config ''; - cargoHash = "sha256-yd97iiKjMIlMhilU0L1yngNIKptv4I0nEIKWRfhx/40="; + cargoHash = "sha256-rPFj53KQkucz1/yAr6U2nk6gTdxcBxyRHVqGeawBYZU="; OPENSSL_NO_VENDOR = true; From a93d719d323593a6be3b4ca5c88df46969deb972 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 6 May 2023 22:07:20 +0000 Subject: [PATCH 79/80] python310Packages.pyphen: 0.13.2 -> 0.14.0 --- pkgs/development/python-modules/pyphen/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyphen/default.nix b/pkgs/development/python-modules/pyphen/default.nix index 81d4aa5b1c2f..a1e4b81c6ae2 100644 --- a/pkgs/development/python-modules/pyphen/default.nix +++ b/pkgs/development/python-modules/pyphen/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "pyphen"; - version = "0.13.2"; + version = "0.14.0"; format = "pyproject"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-hH9XoEOlhAjyRnCuAYT/bt+1/VcxdDIIIowCjdxRRDg="; + hash = "sha256-WWyLO+HBpwQRul9lF9nM/jCDx1iuK5SkXycHNG2OZvo="; }; nativeBuildInputs = [ From 69f74d76d5ac481279eb156fda6cf599e0154c70 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 7 May 2023 00:29:29 +0200 Subject: [PATCH 80/80] python311Packages.onvif-zeep-async: 2.1.1 -> 2.1.4 --- pkgs/development/python-modules/onvif-zeep-async/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/onvif-zeep-async/default.nix b/pkgs/development/python-modules/onvif-zeep-async/default.nix index e0eef809ba98..d66d77fc77e7 100644 --- a/pkgs/development/python-modules/onvif-zeep-async/default.nix +++ b/pkgs/development/python-modules/onvif-zeep-async/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "onvif-zeep-async"; - version = "2.1.1"; + version = "2.1.4"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-y4o3zsLacbOVLZpa3mljdXuzVEGRzkc+Be6pt+UMLrA="; + hash = "sha256-F8NqdEYz38mWSfOQ9oIjQccaGkON8skqm+ItQD71CPo="; }; propagatedBuildInputs = [