From e811e7b8dca2834cea8f17378a83c6cc3c1f4662 Mon Sep 17 00:00:00 2001 From: Default email Date: Sun, 23 Jan 2022 03:10:13 +0100 Subject: [PATCH] Project import generated by Copybara. GitOrigin-RevId: 689b76bcf36055afdeb2e9852f5ecdd2bf483f87 --- third_party/nixpkgs/flake.nix | 6 +- .../nixpkgs/maintainers/maintainer-list.nix | 11 + .../from_md/release-notes/rl-2205.section.xml | 13 + .../manual/release-notes/rl-2205.section.md | 5 + .../nixos/modules/misc/documentation.nix | 76 +- .../nixpkgs/nixos/modules/misc/nixpkgs.nix | 2 + .../modules/services/databases/redis.nix | 12 +- .../nixos/modules/services/mail/dovecot.nix | 55 +- third_party/nixpkgs/nixos/tests/all-tests.nix | 3 +- .../nixpkgs/nixos/tests/boot-stage1.nix | 2 + .../nixpkgs/nixos/tests/mysql/common.nix | 10 + .../mysql/mariadb-galera-mariabackup.nix | 233 ------ .../tests/mysql/mariadb-galera-rsync.nix | 226 ----- .../nixos/tests/mysql/mariadb-galera.nix | 250 ++++++ .../nixos/tests/mysql/mysql-autobackup.nix | 71 +- .../nixos/tests/mysql/mysql-backup.nix | 118 +-- .../nixos/tests/mysql/mysql-replication.nix | 164 ++-- .../nixpkgs/nixos/tests/mysql/mysql.nix | 340 +++----- .../pkgs/applications/audio/praat/default.nix | 4 +- .../applications/audio/qjackctl/default.nix | 4 +- .../applications/audio/qpwgraph/default.nix | 4 +- .../applications/audio/qtractor/default.nix | 4 +- .../applications/graphics/drawio/default.nix | 10 +- .../applications/misc/googleearth/default.nix | 106 --- .../applications/misc/pdfstudio/default.nix | 112 ++- .../pkgs/applications/misc/scli/default.nix | 4 +- .../browsers/chromium/upstream-info.json | 18 +- .../browsers/firefox-bin/release_sources.nix | 786 +++++++++--------- .../browsers/google-chrome/default.nix | 5 +- .../networking/cluster/argocd/default.nix | 6 +- .../networking/flexget/default.nix | 4 +- .../signal-desktop/default.nix | 4 +- .../version-management/src/default.nix | 28 +- .../kodi/addons/arteplussept/default.nix | 3 +- .../virtualization/firecracker/default.nix | 10 +- .../apps/elementary-calendar/default.nix | 8 +- .../development/compilers/avra/default.nix | 27 +- .../development/compilers/gavrasm/default.nix | 17 +- .../compilers/lingua-franca/default.nix | 4 +- .../development/libraries/assimp/default.nix | 11 +- .../libraries/libgroove/default.nix | 33 - .../libgroove/no-warnings-as-errors.patch | 15 - .../development/libraries/libgsf/default.nix | 4 +- .../libraries/umockdev/default.nix | 4 +- .../libraries/webkitgtk/default.nix | 4 +- .../development/libraries/wolfssl/default.nix | 10 + .../nim-packages/jsony/default.nix | 22 + .../azure-mgmt-subscription/default.nix | 4 +- .../python-modules/django-anymail/default.nix | 4 +- .../python-modules/dogpile-cache/default.nix | 4 +- .../python-modules/downloader-cli/default.nix | 4 +- .../python-modules/dufte/default.nix | 11 +- .../python-modules/green/default.nix | 4 +- .../python-modules/ibis-framework/default.nix | 126 ++- .../imbalanced-learn/default.nix | 4 +- .../internetarchive/default.nix | 4 +- .../python-modules/ipwhl/default.nix | 28 + .../python-modules/launchpadlib/default.nix | 4 +- .../python-modules/liquidctl/default.nix | 4 +- .../python-modules/orjson/default.nix | 6 +- .../python-modules/pip/default.nix | 5 + .../python-modules/pymazda/default.nix | 11 +- .../python-modules/pywayland/default.nix | 4 +- .../snowflake-connector-python/default.nix | 4 +- .../sphinx-inline-tabs/default.nix | 4 +- .../python-modules/stripe/default.nix | 4 +- .../python-modules/svglib/default.nix | 4 +- .../python-modules/tern/default.nix | 4 +- .../python-modules/teslajsonpy/default.nix | 4 +- .../python-modules/tinydb/default.nix | 4 +- .../python-modules/types-futures/default.nix | 4 +- .../python-modules/types-protobuf/default.nix | 4 +- .../python-modules/types-urllib3/default.nix | 4 +- .../python-modules/vertica-python/default.nix | 4 +- .../python-modules/wrf-python/default.nix | 4 +- .../youtube-search-python/default.nix | 4 +- .../python-modules/zigpy-znp/default.nix | 4 +- .../python-modules/zstandard/default.nix | 4 +- .../development/tools/ddosify/default.nix | 4 +- .../tools/misc/clojure-lsp/default.nix | 18 +- .../pkgs/development/tools/rgp/default.nix | 6 +- .../development/tools/sentry-cli/default.nix | 6 +- .../development/tools/skaffold/default.nix | 9 +- .../development/tools/vultr-cli/default.nix | 4 +- .../pkgs/development/tools/yq-go/default.nix | 6 +- .../nixpkgs/pkgs/games/r2mod_cli/default.nix | 4 +- .../nixpkgs/pkgs/misc/uboot/default.nix | 7 + .../pkgs/misc/vim-plugins/generated.nix | 208 ++--- .../pkgs/misc/vim-plugins/overrides.nix | 2 +- .../pkgs/misc/vim-plugins/vim-plugin-names | 3 +- .../os-specific/linux/udisks/2-default.nix | 4 +- .../pkgs/servers/hqplayerd/default.nix | 6 +- .../nixpkgs/pkgs/servers/miniflux/default.nix | 6 +- .../servers/monitoring/riemann/default.nix | 4 +- .../nixpkgs/pkgs/servers/mpd/default.nix | 3 +- .../nixpkgs/pkgs/servers/nitter/default.nix | 15 +- .../pkgs/servers/sql/mariadb/default.nix | 124 +-- .../pkgs/servers/tailscale/default.nix | 4 +- .../nixpkgs/pkgs/servers/traefik/default.nix | 6 +- .../nixpkgs/pkgs/shells/nushell/default.nix | 6 +- third_party/nixpkgs/pkgs/test/vim/default.nix | 2 +- .../pkgs/tools/admin/mycli/default.nix | 4 +- .../tools/audio/headsetcontrol/default.nix | 44 + .../pkgs/tools/misc/diffoscope/default.nix | 4 +- .../tools/misc/mongodb-compass/default.nix | 4 +- .../nixpkgs/pkgs/tools/misc/nncp/default.nix | 4 +- .../nixpkgs/pkgs/tools/misc/skim/default.nix | 3 + .../nixpkgs/pkgs/tools/misc/snore/default.nix | 4 +- .../pkgs/tools/misc/steampipe/default.nix | 6 +- .../pkgs/tools/misc/yt-dlp/default.nix | 4 +- .../pkgs/tools/networking/pcapc/default.nix | 21 +- .../pkgs/tools/security/jwt-cli/default.nix | 6 +- .../pkgs/tools/system/tuptime/default.nix | 10 +- .../nixpkgs/pkgs/top-level/aliases.nix | 2 + .../nixpkgs/pkgs/top-level/all-packages.nix | 53 +- third_party/nixpkgs/pkgs/top-level/config.nix | 14 + .../nixpkgs/pkgs/top-level/nim-packages.nix | 2 + .../pkgs/top-level/python-packages.nix | 2 + .../nixpkgs/pkgs/top-level/ruby-packages.nix | 320 ++++--- 119 files changed, 2099 insertions(+), 2020 deletions(-) create mode 100644 third_party/nixpkgs/nixos/tests/mysql/common.nix delete mode 100644 third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix delete mode 100644 third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-rsync.nix create mode 100644 third_party/nixpkgs/nixos/tests/mysql/mariadb-galera.nix delete mode 100644 third_party/nixpkgs/pkgs/applications/misc/googleearth/default.nix delete mode 100644 third_party/nixpkgs/pkgs/development/libraries/libgroove/default.nix delete mode 100644 third_party/nixpkgs/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch create mode 100644 third_party/nixpkgs/pkgs/development/nim-packages/jsony/default.nix create mode 100644 third_party/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix create mode 100644 third_party/nixpkgs/pkgs/tools/audio/headsetcontrol/default.nix diff --git a/third_party/nixpkgs/flake.nix b/third_party/nixpkgs/flake.nix index 29dffa9fa4..39553cde0a 100644 --- a/third_party/nixpkgs/flake.nix +++ b/third_party/nixpkgs/flake.nix @@ -48,6 +48,10 @@ system.nixos.versionSuffix = ".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}"; system.nixos.revision = final.mkIf (self ? rev) self.rev; + + # NOTE: This assumes that `nixpkgs.config` is _not_ used when + # nixpkgs.pkgs is set OR _module.args.pkgs is set. + nixpkgs.config.path = self.outPath; } ]; }); @@ -62,7 +66,7 @@ }).nixos.manual.x86_64-linux; }; - legacyPackages = forAllSystems (system: import ./. { inherit system; }); + legacyPackages = forAllSystems (system: import ./. { inherit system; config.path = self.outPath; }); nixosModules = { notDetected = import ./nixos/modules/installer/scan/not-detected.nix; diff --git a/third_party/nixpkgs/maintainers/maintainer-list.nix b/third_party/nixpkgs/maintainers/maintainer-list.nix index db182861c7..12c684640b 100644 --- a/third_party/nixpkgs/maintainers/maintainer-list.nix +++ b/third_party/nixpkgs/maintainers/maintainer-list.nix @@ -6800,6 +6800,17 @@ fingerprint = "CC50 F82C 985D 2679 0703 AF15 19B0 82B3 DEFE 5451"; }]; }; + leixb = { + email = "abone9999+nixpkgs@gmail.com"; + matrix = "@leix_b:matrix.org"; + github = "LeixB"; + githubId = 17183803; + name = "Aleix Boné"; + keys = [{ + longkeyid = "rsa4096/0xFC035BB2BB28E15D"; + fingerprint = "63D3 F436 EDE8 7E1F 1292 24AF FC03 5BB2 BB28 E15D"; + }]; + }; lejonet = { email = "daniel@kuehn.se"; github = "lejonet"; diff --git a/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 9a7b16b464..fc4073c493 100644 --- a/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -534,6 +534,19 @@ will now correctly remove those domains during rebuild/renew. + + + MariaDB is now offered in several versions, not just the + newest one. So if you have a need for running MariaDB 10.4 for + example, you can now just set + services.mysql.package = pkgs.mariadb_104;. + In general, it is recommended to run the newest version, to + get the newest features, while sticking with an LTS version + will most likely provide a more stable experience. Sometimes + software is also incompatible with the newest version of + MariaDB. + + The option diff --git a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2205.section.md b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2205.section.md index 747fcacff1..dee532e77d 100644 --- a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2205.section.md @@ -184,6 +184,11 @@ In addition to numerous new and upgraded packages, this release has the followin - Removing domains from `security.acme.certs._name_.extraDomainNames` will now correctly remove those domains during rebuild/renew. +- MariaDB is now offered in several versions, not just the newest one. + So if you have a need for running MariaDB 10.4 for example, you can now just set `services.mysql.package = pkgs.mariadb_104;`. + In general, it is recommended to run the newest version, to get the newest features, while sticking with an LTS version will most likely provide a more stable experience. + Sometimes software is also incompatible with the newest version of MariaDB. + - The option [programs.ssh.enableAskPassword](#opt-programs.ssh.enableAskPassword) was added, decoupling the setting of `SSH_ASKPASS` from diff --git a/third_party/nixpkgs/nixos/modules/misc/documentation.nix b/third_party/nixpkgs/nixos/modules/misc/documentation.nix index b7746ddc21..2afa43a3fe 100644 --- a/third_party/nixpkgs/nixos/modules/misc/documentation.nix +++ b/third_party/nixpkgs/nixos/modules/misc/documentation.nix @@ -61,17 +61,85 @@ let in scrubbedEval.options; baseOptionsJSON = let - filter = + filterIntoStore = builtins.filterSource (n: t: (t == "directory" -> baseNameOf n != "tests") && (t == "file" -> hasSuffix ".nix" n) ); + + # Figure out if Nix runs in pure evaluation mode. May return true in + # impure mode, but this is highly unlikely. + # We need to know because of https://github.com/NixOS/nix/issues/1888 + # and https://github.com/NixOS/nix/issues/5868 + isPureEval = builtins.getEnv "PATH" == "" && builtins.getEnv "_" == ""; + + # Return a nixpkgs subpath with minimal copying. + # + # The sources for the base options json derivation can come in one of + # two forms: + # - single source: a store path with all of nixpkgs, postfix with + # subpaths to access various directories. This has the benefit of + # not creating copies of these subtrees in the Nix store, but + # can cause unnecessary rebuilds if you update the Nixpkgs `pkgs` + # tree often. + # - split sources: multiple store paths with subdirectories of + # nixpkgs that exclude the bulk of the pkgs directory. + # This requires more copying and hashing during evaluation but + # requires fewer files to be copied. This method produces fewer + # unnecessary rebuilds of the base options json. + # + # Flake + # + # Flakes always put a copy of the full nixpkgs sources in the store, + # so we can use the "single source" method. This method is ideal + # for using nixpkgs as a dependency, as the base options json will be + # substitutable from cache.nixos.org. + # + # This requires that the `self.outPath` is wired into `pkgs` correctly, + # which is done for you if `pkgs` comes from the `lib.nixosSystem` or + # `legacyPackages` flake attributes. + # + # Other Nixpkgs invocation + # + # If you do not use the known-correct flake attributes, but rather + # invoke Nixpkgs yourself, set `config.path` to the correct path value, + # e.g. `import nixpkgs { config.path = nixpkgs; }`. + # + # Choosing between single or split source paths + # + # We make assumptions based on the type and contents of `pkgs.path`. + # By passing a different `config.path` to Nixpkgs, you can influence + # how your documentation cache is evaluated and rebuilt. + # + # Single source + # - If pkgs.path is a string containing a store path, the code has no + # choice but to create this store path, if it hasn't already been. + # We assume that the "single source" method is most efficient. + # - If pkgs.path is a path value containing that is a store path, + # we try to convert it to a string with context without copying. + # This occurs for example when nixpkgs was fetched and using its + # default `config.path`, which is `./.`. + # Nix currently does not allow this conversion when evaluating in + # pure mode. If the conversion is not possible, we use the + # "split source" method. + # + # Split source + # - If pkgs.path is a path value that is not a store path, we assume + # that it's unlikely for all of nixpkgs to end up in the store for + # other reasons and try to keep both the copying and rebuilds low. + pull = + if builtins.typeOf pkgs.path == "string" && isStorePath pkgs.path then + dir: "${pkgs.path}/${dir}" + else if !isPureEval && isStorePath pkgs.path then + dir: "${builtins.storePath pkgs.path}/${dir}" + else + dir: filterIntoStore "${toString pkgs.path}/${dir}"; in pkgs.runCommand "lazy-options.json" { - libPath = filter "${toString pkgs.path}/lib"; - pkgsLibPath = filter "${toString pkgs.path}/pkgs/pkgs-lib"; - nixosPath = filter "${toString pkgs.path}/nixos"; + libPath = pull "lib"; + pkgsLibPath = pull "pkgs/pkgs-lib"; + nixosPath = pull "nixos"; modules = map (p: ''"${removePrefix "${modulesPath}/" (toString p)}"'') docModules.lazy; } '' export NIX_STORE_DIR=$TMPDIR/store diff --git a/third_party/nixpkgs/nixos/modules/misc/nixpkgs.nix b/third_party/nixpkgs/nixos/modules/misc/nixpkgs.nix index 69967c8a76..14dd1d816d 100644 --- a/third_party/nixpkgs/nixos/modules/misc/nixpkgs.nix +++ b/third_party/nixpkgs/nixos/modules/misc/nixpkgs.nix @@ -59,6 +59,8 @@ let inherit (cfg) config overlays localSystem crossSystem; }; + # NOTE: flake.nix assumes that nixpkgs.config is only used with ../../.. + # as nixpkgs.config.path should be equivalent to ../../.. finalPkgs = if opt.pkgs.isDefined then cfg.pkgs.appendOverlays cfg.overlays else defaultPkgs; in diff --git a/third_party/nixpkgs/nixos/modules/services/databases/redis.nix b/third_party/nixpkgs/nixos/modules/services/databases/redis.nix index c551363539..e0269a962f 100644 --- a/third_party/nixpkgs/nixos/modules/services/databases/redis.nix +++ b/third_party/nixpkgs/nixos/modules/services/databases/redis.nix @@ -87,8 +87,12 @@ in { port = mkOption { type = types.port; - default = 6379; - description = "The port for Redis to listen to."; + default = if name == "" then 6379 else 0; + defaultText = literalExpression ''if name == "" then 6379 else 0''; + description = '' + The TCP port to accept connections. + If port 0 is specified Redis will not listen on a TCP socket. + ''; }; openFirewall = mkOption { @@ -102,7 +106,7 @@ in { bind = mkOption { type = with types; nullOr str; default = if name == "" then "127.0.0.1" else null; - defaultText = "127.0.0.1 or null if name != \"\""; + defaultText = literalExpression ''if name == "" then "127.0.0.1" else null''; description = '' The IP interface to bind to. null means "all interfaces". @@ -253,7 +257,7 @@ in { }; config.settings = mkMerge [ { - port = if config.bind == null then 0 else config.port; + port = config.port; daemonize = false; supervised = "systemd"; loglevel = config.logLevel; diff --git a/third_party/nixpkgs/nixos/modules/services/mail/dovecot.nix b/third_party/nixpkgs/nixos/modules/services/mail/dovecot.nix index c39827c5b8..a8c1f17678 100644 --- a/third_party/nixpkgs/nixos/modules/services/mail/dovecot.nix +++ b/third_party/nixpkgs/nixos/modules/services/mail/dovecot.nix @@ -38,7 +38,7 @@ let ssl_cert = <${cfg.sslServerCert} ssl_key = <${cfg.sslServerKey} ${optionalString (cfg.sslCACert != null) ("ssl_ca = <" + cfg.sslCACert)} - ssl_dh = <${config.security.dhparams.params.dovecot2.path} + ${optionalString cfg.enableDHE ''ssl_dh = <${config.security.dhparams.params.dovecot2.path}''} disable_plaintext_auth = yes '' ) @@ -169,25 +169,13 @@ in ]; options.services.dovecot2 = { - enable = mkEnableOption "Dovecot 2.x POP3/IMAP server"; + enable = mkEnableOption "the dovecot 2.x POP3/IMAP server"; - enablePop3 = mkOption { - type = types.bool; - default = false; - description = "Start the POP3 listener (when Dovecot is enabled)."; - }; + enablePop3 = mkEnableOption "starting the POP3 listener (when Dovecot is enabled)."; - enableImap = mkOption { - type = types.bool; - default = true; - description = "Start the IMAP listener (when Dovecot is enabled)."; - }; + enableImap = mkEnableOption "starting the IMAP listener (when Dovecot is enabled)." // { default = true; }; - enableLmtp = mkOption { - type = types.bool; - default = false; - description = "Start the LMTP listener (when Dovecot is enabled)."; - }; + enableLmtp = mkEnableOption "starting the LMTP listener (when Dovecot is enabled)."; protocols = mkOption { type = types.listOf types.str; @@ -279,13 +267,9 @@ in description = "Default group to store mail for virtual users."; }; - createMailUser = mkOption { - type = types.bool; - default = true; - description = ''Whether to automatically create the user - given in and the group - given in .''; - }; + createMailUser = mkEnableOption ''automatically creating the user + given in and the group + given in .'' // { default = true; }; modules = mkOption { type = types.listOf types.package; @@ -316,11 +300,9 @@ in description = "Path to the server's private key."; }; - enablePAM = mkOption { - type = types.bool; - default = true; - description = "Whether to create a own Dovecot PAM service and configure PAM user logins."; - }; + enablePAM = mkEnableOption "creating a own Dovecot PAM service and configure PAM user logins." // { default = true; }; + + enableDHE = mkEnableOption "enable ssl_dh and generation of primes for the key exchange." // { default = true; }; sieveScripts = mkOption { type = types.attrsOf types.path; @@ -328,11 +310,7 @@ in description = "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc."; }; - showPAMFailure = mkOption { - type = types.bool; - default = false; - description = "Show the PAM failure message on authentication error (useful for OTPW)."; - }; + showPAMFailure = mkEnableOption "showing the PAM failure message on authentication error (useful for OTPW)."; mailboxes = mkOption { type = with types; coercedTo @@ -348,12 +326,7 @@ in description = "Configure mailboxes and auto create or subscribe them."; }; - enableQuota = mkOption { - type = types.bool; - default = false; - example = true; - description = "Whether to enable the dovecot quota service."; - }; + enableQuota = mkEnableOption "the dovecot quota service."; quotaPort = mkOption { type = types.str; @@ -376,7 +349,7 @@ in config = mkIf cfg.enable { security.pam.services.dovecot2 = mkIf cfg.enablePAM {}; - security.dhparams = mkIf (cfg.sslServerCert != null) { + security.dhparams = mkIf (cfg.sslServerCert != null && cfg.enableDHE) { enable = true; params.dovecot2 = {}; }; diff --git a/third_party/nixpkgs/nixos/tests/all-tests.nix b/third_party/nixpkgs/nixos/tests/all-tests.nix index 940ae11ddd..93950277c2 100644 --- a/third_party/nixpkgs/nixos/tests/all-tests.nix +++ b/third_party/nixpkgs/nixos/tests/all-tests.nix @@ -268,8 +268,7 @@ in mailcatcher = handleTest ./mailcatcher.nix {}; mailhog = handleTest ./mailhog.nix {}; man = handleTest ./man.nix {}; - mariadb-galera-mariabackup = handleTest ./mysql/mariadb-galera-mariabackup.nix {}; - mariadb-galera-rsync = handleTest ./mysql/mariadb-galera-rsync.nix {}; + mariadb-galera = handleTest ./mysql/mariadb-galera.nix {}; matomo = handleTest ./matomo.nix {}; matrix-appservice-irc = handleTest ./matrix-appservice-irc.nix {}; matrix-conduit = handleTest ./matrix-conduit.nix {}; diff --git a/third_party/nixpkgs/nixos/tests/boot-stage1.nix b/third_party/nixpkgs/nixos/tests/boot-stage1.nix index ce86fc5f49..756decd203 100644 --- a/third_party/nixpkgs/nixos/tests/boot-stage1.nix +++ b/third_party/nixpkgs/nixos/tests/boot-stage1.nix @@ -33,6 +33,8 @@ import ./make-test-python.nix ({ pkgs, ... }: { #include #endif + MODULE_LICENSE("GPL"); + struct task_struct *canaryTask; static int kcanary(void *nothing) diff --git a/third_party/nixpkgs/nixos/tests/mysql/common.nix b/third_party/nixpkgs/nixos/tests/mysql/common.nix new file mode 100644 index 0000000000..968253d109 --- /dev/null +++ b/third_party/nixpkgs/nixos/tests/mysql/common.nix @@ -0,0 +1,10 @@ +{ lib, pkgs }: { + mariadbPackages = lib.filterAttrs (n: _: lib.hasPrefix "mariadb" n) (pkgs.callPackage ../../../pkgs/servers/sql/mariadb { + inherit (pkgs.darwin) cctools; + inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices; + }); + mysqlPackage = { + inherit (pkgs) mysql57 mysql80; + }; + mkTestName = pkg: "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor pkg.version)}"; +} diff --git a/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix b/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix deleted file mode 100644 index 10682c361d..0000000000 --- a/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-mariabackup.nix +++ /dev/null @@ -1,233 +0,0 @@ -import ./../make-test-python.nix ({ pkgs, ...} : - -let - mysqlenv-common = pkgs.buildEnv { name = "mysql-path-env-common"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ bash gawk gnutar inetutils which ]; }; - mysqlenv-mariabackup = pkgs.buildEnv { name = "mysql-path-env-mariabackup"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ gzip iproute2 netcat procps pv socat ]; }; - - # Common user configuration - users = { ... }: - { - users.users.testuser = { - isSystemUser = true; - group = "testusers"; - }; - users.groups.testusers = { }; - }; - -in { - name = "mariadb-galera-mariabackup"; - meta = with pkgs.lib.maintainers; { - maintainers = [ izorkin ]; - }; - - # The test creates a Galera cluster with 3 nodes and is checking if mariabackup-based SST works. The cluster is tested by creating a DB and an empty table on one node, - # and checking the table's presence on the other node. - - nodes = { - galera_01 = - { pkgs, ... }: - { - imports = [ users ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.1.1"; prefixLength = 24; } - ]; - }; - extraHosts = '' - 192.168.1.1 galera_01 - 192.168.1.2 galera_02 - 192.168.1.3 galera_03 - ''; - firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; - firewall.allowedUDPPorts = [ 4567 ]; - }; - systemd.services.mysql = with pkgs; { - path = [ mysqlenv-common mysqlenv-mariabackup ]; - }; - services.mysql = { - enable = true; - package = pkgs.mariadb; - ensureDatabases = [ "testdb" ]; - ensureUsers = [{ - name = "testuser"; - ensurePermissions = { - "testdb.*" = "ALL PRIVILEGES"; - }; - }]; - initialScript = pkgs.writeText "mariadb-init.sql" '' - GRANT ALL PRIVILEGES ON *.* TO 'check_repl'@'localhost' IDENTIFIED BY 'check_pass' WITH GRANT OPTION; - FLUSH PRIVILEGES; - ''; - settings = { - mysqld = { - bind_address = "0.0.0.0"; - }; - galera = { - wsrep_on = "ON"; - wsrep_debug = "NONE"; - wsrep_retry_autocommit = "3"; - wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so"; - wsrep_cluster_address = "gcomm://"; - wsrep_cluster_name = "galera"; - wsrep_node_address = "192.168.1.1"; - wsrep_node_name = "galera_01"; - wsrep_sst_method = "mariabackup"; - wsrep_sst_auth = "check_repl:check_pass"; - binlog_format = "ROW"; - enforce_storage_engine = "InnoDB"; - innodb_autoinc_lock_mode = "2"; - }; - }; - }; - }; - - galera_02 = - { pkgs, ... }: - { - imports = [ users ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.1.2"; prefixLength = 24; } - ]; - }; - extraHosts = '' - 192.168.1.1 galera_01 - 192.168.1.2 galera_02 - 192.168.1.3 galera_03 - ''; - firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; - firewall.allowedUDPPorts = [ 4567 ]; - }; - systemd.services.mysql = with pkgs; { - path = [ mysqlenv-common mysqlenv-mariabackup ]; - }; - services.mysql = { - enable = true; - package = pkgs.mariadb; - settings = { - mysqld = { - bind_address = "0.0.0.0"; - }; - galera = { - wsrep_on = "ON"; - wsrep_debug = "NONE"; - wsrep_retry_autocommit = "3"; - wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so"; - wsrep_cluster_address = "gcomm://galera_01,galera_02,galera_03"; - wsrep_cluster_name = "galera"; - wsrep_node_address = "192.168.1.2"; - wsrep_node_name = "galera_02"; - wsrep_sst_method = "mariabackup"; - wsrep_sst_auth = "check_repl:check_pass"; - binlog_format = "ROW"; - enforce_storage_engine = "InnoDB"; - innodb_autoinc_lock_mode = "2"; - }; - }; - }; - }; - - galera_03 = - { pkgs, ... }: - { - imports = [ users ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.1.3"; prefixLength = 24; } - ]; - }; - extraHosts = '' - 192.168.1.1 galera_01 - 192.168.1.2 galera_02 - 192.168.1.3 galera_03 - ''; - firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; - firewall.allowedUDPPorts = [ 4567 ]; - }; - systemd.services.mysql = with pkgs; { - path = [ mysqlenv-common mysqlenv-mariabackup ]; - }; - services.mysql = { - enable = true; - package = pkgs.mariadb; - settings = { - mysqld = { - bind_address = "0.0.0.0"; - }; - galera = { - wsrep_on = "ON"; - wsrep_debug = "NONE"; - wsrep_retry_autocommit = "3"; - wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so"; - wsrep_cluster_address = "gcomm://galera_01,galera_02,galera_03"; - wsrep_cluster_name = "galera"; - wsrep_node_address = "192.168.1.3"; - wsrep_node_name = "galera_03"; - wsrep_sst_method = "mariabackup"; - wsrep_sst_auth = "check_repl:check_pass"; - binlog_format = "ROW"; - enforce_storage_engine = "InnoDB"; - innodb_autoinc_lock_mode = "2"; - }; - }; - }; - }; - }; - - testScript = '' - galera_01.start() - galera_01.wait_for_unit("mysql") - galera_01.wait_for_open_port(3306) - galera_01.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" - ) - galera_01.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (37);'" - ) - galera_02.start() - galera_02.wait_for_unit("mysql") - galera_02.wait_for_open_port(3306) - galera_03.start() - galera_03.wait_for_unit("mysql") - galera_03.wait_for_open_port(3306) - galera_02.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37" - ) - galera_02.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" - ) - galera_02.succeed("systemctl stop mysql") - galera_01.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (38);'" - ) - galera_03.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" - ) - galera_01.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (39);'" - ) - galera_02.succeed("systemctl start mysql") - galera_02.wait_for_open_port(3306) - galera_02.succeed( - "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'" - ) - galera_03.succeed( - "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'" - ) - galera_01.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 39" - ) - galera_02.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 38" - ) - galera_03.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37" - ) - galera_01.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'") - galera_02.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'") - galera_03.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'") - ''; -}) diff --git a/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-rsync.nix b/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-rsync.nix deleted file mode 100644 index 701e01e887..0000000000 --- a/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera-rsync.nix +++ /dev/null @@ -1,226 +0,0 @@ -import ./../make-test-python.nix ({ pkgs, ...} : - -let - mysqlenv-common = pkgs.buildEnv { name = "mysql-path-env-common"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ bash gawk gnutar inetutils which ]; }; - mysqlenv-rsync = pkgs.buildEnv { name = "mysql-path-env-rsync"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ lsof procps rsync stunnel ]; }; - - # Common user configuration - users = { ... }: - { - users.users.testuser = { - isSystemUser = true; - group = "testusers"; - }; - users.groups.testusers = { }; - }; - -in { - name = "mariadb-galera-rsync"; - meta = with pkgs.lib.maintainers; { - maintainers = [ izorkin ]; - }; - - # The test creates a Galera cluster with 3 nodes and is checking if rsync-based SST works. The cluster is tested by creating a DB and an empty table on one node, - # and checking the table's presence on the other node. - - nodes = { - galera_04 = - { pkgs, ... }: - { - imports = [ users ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.1"; prefixLength = 24; } - ]; - }; - extraHosts = '' - 192.168.2.1 galera_04 - 192.168.2.2 galera_05 - 192.168.2.3 galera_06 - ''; - firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; - firewall.allowedUDPPorts = [ 4567 ]; - }; - systemd.services.mysql = with pkgs; { - path = [ mysqlenv-common mysqlenv-rsync ]; - }; - services.mysql = { - enable = true; - package = pkgs.mariadb; - ensureDatabases = [ "testdb" ]; - ensureUsers = [{ - name = "testuser"; - ensurePermissions = { - "testdb.*" = "ALL PRIVILEGES"; - }; - }]; - settings = { - mysqld = { - bind_address = "0.0.0.0"; - }; - galera = { - wsrep_on = "ON"; - wsrep_debug = "NONE"; - wsrep_retry_autocommit = "3"; - wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so"; - wsrep_cluster_address = "gcomm://"; - wsrep_cluster_name = "galera-rsync"; - wsrep_node_address = "192.168.2.1"; - wsrep_node_name = "galera_04"; - wsrep_sst_method = "rsync"; - binlog_format = "ROW"; - enforce_storage_engine = "InnoDB"; - innodb_autoinc_lock_mode = "2"; - }; - }; - }; - }; - - galera_05 = - { pkgs, ... }: - { - imports = [ users ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.2"; prefixLength = 24; } - ]; - }; - extraHosts = '' - 192.168.2.1 galera_04 - 192.168.2.2 galera_05 - 192.168.2.3 galera_06 - ''; - firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; - firewall.allowedUDPPorts = [ 4567 ]; - }; - systemd.services.mysql = with pkgs; { - path = [ mysqlenv-common mysqlenv-rsync ]; - }; - services.mysql = { - enable = true; - package = pkgs.mariadb; - settings = { - mysqld = { - bind_address = "0.0.0.0"; - }; - galera = { - wsrep_on = "ON"; - wsrep_debug = "NONE"; - wsrep_retry_autocommit = "3"; - wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so"; - wsrep_cluster_address = "gcomm://galera_04,galera_05,galera_06"; - wsrep_cluster_name = "galera-rsync"; - wsrep_node_address = "192.168.2.2"; - wsrep_node_name = "galera_05"; - wsrep_sst_method = "rsync"; - binlog_format = "ROW"; - enforce_storage_engine = "InnoDB"; - innodb_autoinc_lock_mode = "2"; - }; - }; - }; - }; - - galera_06 = - { pkgs, ... }: - { - imports = [ users ]; - networking = { - interfaces.eth1 = { - ipv4.addresses = [ - { address = "192.168.2.3"; prefixLength = 24; } - ]; - }; - extraHosts = '' - 192.168.2.1 galera_04 - 192.168.2.2 galera_05 - 192.168.2.3 galera_06 - ''; - firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; - firewall.allowedUDPPorts = [ 4567 ]; - }; - systemd.services.mysql = with pkgs; { - path = [ mysqlenv-common mysqlenv-rsync ]; - }; - services.mysql = { - enable = true; - package = pkgs.mariadb; - settings = { - mysqld = { - bind_address = "0.0.0.0"; - }; - galera = { - wsrep_on = "ON"; - wsrep_debug = "NONE"; - wsrep_retry_autocommit = "3"; - wsrep_provider = "${pkgs.mariadb-galera}/lib/galera/libgalera_smm.so"; - wsrep_cluster_address = "gcomm://galera_04,galera_05,galera_06"; - wsrep_cluster_name = "galera-rsync"; - wsrep_node_address = "192.168.2.3"; - wsrep_node_name = "galera_06"; - wsrep_sst_method = "rsync"; - binlog_format = "ROW"; - enforce_storage_engine = "InnoDB"; - innodb_autoinc_lock_mode = "2"; - }; - }; - }; - }; - }; - - testScript = '' - galera_04.start() - galera_04.wait_for_unit("mysql") - galera_04.wait_for_open_port(3306) - galera_04.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" - ) - galera_04.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (41);'" - ) - galera_05.start() - galera_05.wait_for_unit("mysql") - galera_05.wait_for_open_port(3306) - galera_06.start() - galera_06.wait_for_unit("mysql") - galera_06.wait_for_open_port(3306) - galera_05.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41" - ) - galera_05.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" - ) - galera_05.succeed("systemctl stop mysql") - galera_04.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (42);'" - ) - galera_06.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" - ) - galera_04.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (43);'" - ) - galera_05.succeed("systemctl start mysql") - galera_05.wait_for_open_port(3306) - galera_05.succeed( - "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'" - ) - galera_06.succeed( - "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'" - ) - galera_04.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 43" - ) - galera_05.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 42" - ) - galera_06.succeed( - "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41" - ) - galera_04.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'") - galera_05.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'") - galera_06.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'") - ''; -}) diff --git a/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera.nix b/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera.nix new file mode 100644 index 0000000000..c9962f49c0 --- /dev/null +++ b/third_party/nixpkgs/nixos/tests/mysql/mariadb-galera.nix @@ -0,0 +1,250 @@ +{ + system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../../.. { inherit system config; }, + lib ? pkgs.lib +}: + +let + inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages; + + makeTest = import ./../make-test-python.nix; + + # Common user configuration + makeGaleraTest = { + mariadbPackage, + name ? mkTestName mariadbPackage, + galeraPackage ? pkgs.mariadb-galera + }: makeTest { + name = "${name}-galera-mariabackup"; + meta = with pkgs.lib.maintainers; { + maintainers = [ izorkin ajs124 das_j ]; + }; + + # The test creates a Galera cluster with 3 nodes and is checking if mariabackup-based SST works. The cluster is tested by creating a DB and an empty table on one node, + # and checking the table's presence on the other node. + nodes = let + mkGaleraNode = { + id, + method + }: let + address = "192.168.1.${toString id}"; + isFirstClusterNode = id == 1 || id == 4; + in { + users = { + users.testuser = { + isSystemUser = true; + group = "testusers"; + }; + groups.testusers = { }; + }; + + networking = { + interfaces.eth1 = { + ipv4.addresses = [ + { inherit address; prefixLength = 24; } + ]; + }; + extraHosts = lib.concatMapStringsSep "\n" (i: "192.168.1.${toString i} galera_0${toString i}") (lib.range 1 6); + firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ]; + firewall.allowedUDPPorts = [ 4567 ]; + }; + systemd.services.mysql = with pkgs; { + path = with pkgs; [ + bash + gawk + gnutar + gzip + inetutils + iproute2 + netcat + procps + pv + rsync + socat + stunnel + which + ]; + }; + services.mysql = { + enable = true; + package = mariadbPackage; + ensureDatabases = lib.mkIf isFirstClusterNode [ "testdb" ]; + ensureUsers = lib.mkIf isFirstClusterNode [{ + name = "testuser"; + ensurePermissions = { + "testdb.*" = "ALL PRIVILEGES"; + }; + }]; + initialScript = lib.mkIf isFirstClusterNode (pkgs.writeText "mariadb-init.sql" '' + GRANT ALL PRIVILEGES ON *.* TO 'check_repl'@'localhost' IDENTIFIED BY 'check_pass' WITH GRANT OPTION; + FLUSH PRIVILEGES; + ''); + settings = { + mysqld = { + bind_address = "0.0.0.0"; + }; + galera = { + wsrep_on = "ON"; + wsrep_debug = "NONE"; + wsrep_retry_autocommit = "3"; + wsrep_provider = "${galeraPackage}/lib/galera/libgalera_smm.so"; + wsrep_cluster_address = "gcomm://" + + lib.optionalString (id == 2 || id == 3) "galera_01,galera_02,galera_03" + + lib.optionalString (id == 5 || id == 6) "galera_04,galera_05,galera_06"; + wsrep_cluster_name = "galera"; + wsrep_node_address = address; + wsrep_node_name = "galera_0${toString id}"; + wsrep_sst_method = method; + wsrep_sst_auth = "check_repl:check_pass"; + binlog_format = "ROW"; + enforce_storage_engine = "InnoDB"; + innodb_autoinc_lock_mode = "2"; + }; + }; + }; + }; + in { + galera_01 = mkGaleraNode { + id = 1; + method = "mariabackup"; + }; + + galera_02 = mkGaleraNode { + id = 2; + method = "mariabackup"; + }; + + galera_03 = mkGaleraNode { + id = 3; + method = "mariabackup"; + }; + + galera_04 = mkGaleraNode { + id = 4; + method = "rsync"; + }; + + galera_05 = mkGaleraNode { + id = 5; + method = "rsync"; + }; + + galera_06 = mkGaleraNode { + id = 6; + method = "rsync"; + }; + + }; + + testScript = '' + galera_01.start() + galera_01.wait_for_unit("mysql") + galera_01.wait_for_open_port(3306) + galera_01.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" + ) + galera_01.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (37);'" + ) + galera_02.start() + galera_02.wait_for_unit("mysql") + galera_02.wait_for_open_port(3306) + galera_03.start() + galera_03.wait_for_unit("mysql") + galera_03.wait_for_open_port(3306) + galera_02.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37" + ) + galera_02.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" + ) + galera_02.succeed("systemctl stop mysql") + galera_01.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (38);'" + ) + galera_03.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" + ) + galera_01.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (39);'" + ) + galera_02.succeed("systemctl start mysql") + galera_02.wait_for_open_port(3306) + galera_02.succeed( + "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'" + ) + galera_03.succeed( + "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'" + ) + galera_01.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 39" + ) + galera_02.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 38" + ) + galera_03.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37" + ) + galera_01.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'") + galera_02.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'") + galera_03.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'") + galera_01.crash() + galera_02.crash() + galera_03.crash() + + galera_04.start() + galera_04.wait_for_unit("mysql") + galera_04.wait_for_open_port(3306) + galera_04.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" + ) + galera_04.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (41);'" + ) + galera_05.start() + galera_05.wait_for_unit("mysql") + galera_05.wait_for_open_port(3306) + galera_06.start() + galera_06.wait_for_unit("mysql") + galera_06.wait_for_open_port(3306) + galera_05.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41" + ) + galera_05.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" + ) + galera_05.succeed("systemctl stop mysql") + galera_04.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (42);'" + ) + galera_06.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'" + ) + galera_04.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (43);'" + ) + galera_05.succeed("systemctl start mysql") + galera_05.wait_for_open_port(3306) + galera_05.succeed( + "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'" + ) + galera_06.succeed( + "sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'" + ) + galera_04.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 43" + ) + galera_05.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 42" + ) + galera_06.succeed( + "sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41" + ) + galera_04.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'") + galera_05.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'") + galera_06.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'") + ''; + }; +in + lib.mapAttrs (_: mariadbPackage: makeGaleraTest { inherit mariadbPackage; }) mariadbPackages diff --git a/third_party/nixpkgs/nixos/tests/mysql/mysql-autobackup.nix b/third_party/nixpkgs/nixos/tests/mysql/mysql-autobackup.nix index b0ec7daaf0..101122f7bd 100644 --- a/third_party/nixpkgs/nixos/tests/mysql/mysql-autobackup.nix +++ b/third_party/nixpkgs/nixos/tests/mysql/mysql-autobackup.nix @@ -1,38 +1,53 @@ -import ./../make-test-python.nix ({ pkgs, lib, ... }: - { - name = "automysqlbackup"; - meta.maintainers = [ lib.maintainers.aanderse ]; + system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../../.. { inherit system config; }, + lib ? pkgs.lib +}: - machine = - { pkgs, ... }: - { - services.mysql.enable = true; - services.mysql.package = pkgs.mariadb; - services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; +let + inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages; + + makeTest = import ./../make-test-python.nix; + + makeAutobackupTest = { + package, + name ? mkTestName package, + }: makeTest { + name = "${name}-automysqlbackup"; + meta.maintainers = [ lib.maintainers.aanderse ]; + + machine = { + services.mysql = { + inherit package; + enable = true; + initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; + }; services.automysqlbackup.enable = true; }; - testScript = '' - start_all() + testScript = '' + start_all() - # Need to have mysql started so that it can be populated with data. - machine.wait_for_unit("mysql.service") + # Need to have mysql started so that it can be populated with data. + machine.wait_for_unit("mysql.service") - with subtest("Wait for testdb to be fully populated (5 rows)."): - machine.wait_until_succeeds( - "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" - ) + with subtest("Wait for testdb to be fully populated (5 rows)."): + machine.wait_until_succeeds( + "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) - with subtest("Do a backup and wait for it to start"): - machine.start_job("automysqlbackup.service") - machine.wait_for_job("automysqlbackup.service") + with subtest("Do a backup and wait for it to start"): + machine.start_job("automysqlbackup.service") + machine.wait_for_job("automysqlbackup.service") - with subtest("wait for backup file and check that data appears in backup"): - machine.wait_for_file("/var/backup/mysql/daily/testdb") - machine.succeed( - "${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello" - ) - ''; -}) + with subtest("wait for backup file and check that data appears in backup"): + machine.wait_for_file("/var/backup/mysql/daily/testdb") + machine.succeed( + "${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello" + ) + ''; + }; +in + lib.mapAttrs (_: package: makeAutobackupTest { inherit package; }) mariadbPackages diff --git a/third_party/nixpkgs/nixos/tests/mysql/mysql-backup.nix b/third_party/nixpkgs/nixos/tests/mysql/mysql-backup.nix index 269fddc66e..9335b23332 100644 --- a/third_party/nixpkgs/nixos/tests/mysql/mysql-backup.nix +++ b/third_party/nixpkgs/nixos/tests/mysql/mysql-backup.nix @@ -1,56 +1,72 @@ -# Test whether mysqlBackup option works -import ./../make-test-python.nix ({ pkgs, ... } : { - name = "mysql-backup"; - meta = with pkgs.lib.maintainers; { - maintainers = [ rvl ]; - }; +{ + system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../../.. { inherit system config; }, + lib ? pkgs.lib +}: - nodes = { - master = { pkgs, ... }: { - services.mysql = { - enable = true; - initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; - package = pkgs.mariadb; - }; +let + inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages; - services.mysqlBackup = { - enable = true; - databases = [ "doesnotexist" "testdb" ]; + makeTest = import ./../make-test-python.nix; + + makeBackupTest = { + package, + name ? mkTestName package + }: makeTest { + name = "${name}-backup"; + meta = with pkgs.lib.maintainers; { + maintainers = [ rvl ]; + }; + + nodes = { + master = { pkgs, ... }: { + services.mysql = { + inherit package; + enable = true; + initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; + }; + + services.mysqlBackup = { + enable = true; + databases = [ "doesnotexist" "testdb" ]; + }; }; }; + + testScript = '' + start_all() + + # Delete backup file that may be left over from a previous test run. + # This is not needed on Hydra but useful for repeated local test runs. + master.execute("rm -f /var/backup/mysql/testdb.gz") + + # Need to have mysql started so that it can be populated with data. + master.wait_for_unit("mysql.service") + + # Wait for testdb to be fully populated (5 rows). + master.wait_until_succeeds( + "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) + + # Do a backup and wait for it to start + master.start_job("mysql-backup.service") + master.wait_for_unit("mysql-backup.service") + + # wait for backup to fail, because of database 'doesnotexist' + master.wait_until_fails("systemctl is-active -q mysql-backup.service") + + # wait for backup file and check that data appears in backup + master.wait_for_file("/var/backup/mysql/testdb.gz") + master.succeed( + "${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello" + ) + + # Check that a failed backup is logged + master.succeed( + "journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null" + ) + ''; }; - - testScript = '' - start_all() - - # Delete backup file that may be left over from a previous test run. - # This is not needed on Hydra but useful for repeated local test runs. - master.execute("rm -f /var/backup/mysql/testdb.gz") - - # Need to have mysql started so that it can be populated with data. - master.wait_for_unit("mysql.service") - - # Wait for testdb to be fully populated (5 rows). - master.wait_until_succeeds( - "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" - ) - - # Do a backup and wait for it to start - master.start_job("mysql-backup.service") - master.wait_for_unit("mysql-backup.service") - - # wait for backup to fail, because of database 'doesnotexist' - master.wait_until_fails("systemctl is-active -q mysql-backup.service") - - # wait for backup file and check that data appears in backup - master.wait_for_file("/var/backup/mysql/testdb.gz") - master.succeed( - "${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello" - ) - - # Check that a failed backup is logged - master.succeed( - "journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null" - ) - ''; -}) +in + lib.mapAttrs (_: package: makeBackupTest { inherit package; }) mariadbPackages diff --git a/third_party/nixpkgs/nixos/tests/mysql/mysql-replication.nix b/third_party/nixpkgs/nixos/tests/mysql/mysql-replication.nix index a52372ca47..f6014019bd 100644 --- a/third_party/nixpkgs/nixos/tests/mysql/mysql-replication.nix +++ b/third_party/nixpkgs/nixos/tests/mysql/mysql-replication.nix @@ -1,91 +1,101 @@ -import ./../make-test-python.nix ({ pkgs, ...} : +{ + system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../../.. { inherit system config; }, + lib ? pkgs.lib +}: let + inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages; + replicateUser = "replicate"; replicatePassword = "secret"; -in -{ - name = "mysql-replication"; - meta = with pkgs.lib.maintainers; { - maintainers = [ eelco shlevy ]; - }; + makeTest = import ./../make-test-python.nix; - nodes = { - master = - { pkgs, ... }: + makeReplicationTest = { + package, + name ? mkTestName package, + }: makeTest { + name = "${name}-replication"; + meta = with pkgs.lib.maintainers; { + maintainers = [ ajs124 das_j ]; + }; - { - services.mysql.enable = true; - services.mysql.package = pkgs.mariadb; - services.mysql.replication.role = "master"; - services.mysql.replication.slaveHost = "%"; - services.mysql.replication.masterUser = replicateUser; - services.mysql.replication.masterPassword = replicatePassword; - services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; + nodes = { + primary = { + services.mysql = { + inherit package; + enable = true; + replication.role = "master"; + replication.slaveHost = "%"; + replication.masterUser = replicateUser; + replication.masterPassword = replicatePassword; + initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; + }; networking.firewall.allowedTCPPorts = [ 3306 ]; }; - slave1 = - { pkgs, nodes, ... }: - - { - services.mysql.enable = true; - services.mysql.package = pkgs.mariadb; - services.mysql.replication.role = "slave"; - services.mysql.replication.serverId = 2; - services.mysql.replication.masterHost = nodes.master.config.networking.hostName; - services.mysql.replication.masterUser = replicateUser; - services.mysql.replication.masterPassword = replicatePassword; + secondary1 = { nodes, ... }: { + services.mysql = { + inherit package; + enable = true; + replication.role = "slave"; + replication.serverId = 2; + replication.masterHost = nodes.primary.config.networking.hostName; + replication.masterUser = replicateUser; + replication.masterPassword = replicatePassword; + }; }; - slave2 = - { pkgs, nodes, ... }: - - { - services.mysql.enable = true; - services.mysql.package = pkgs.mariadb; - services.mysql.replication.role = "slave"; - services.mysql.replication.serverId = 3; - services.mysql.replication.masterHost = nodes.master.config.networking.hostName; - services.mysql.replication.masterUser = replicateUser; - services.mysql.replication.masterPassword = replicatePassword; + secondary2 = { nodes, ... }: { + services.mysql = { + inherit package; + enable = true; + replication.role = "slave"; + replication.serverId = 3; + replication.masterHost = nodes.primary.config.networking.hostName; + replication.masterUser = replicateUser; + replication.masterPassword = replicatePassword; + }; }; + }; + + testScript = '' + primary.start() + primary.wait_for_unit("mysql") + primary.wait_for_open_port(3306) + # Wait for testdb to be fully populated (5 rows). + primary.wait_until_succeeds( + "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) + + secondary1.start() + secondary2.start() + secondary1.wait_for_unit("mysql") + secondary1.wait_for_open_port(3306) + secondary2.wait_for_unit("mysql") + secondary2.wait_for_open_port(3306) + + # wait for replications to finish + secondary1.wait_until_succeeds( + "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) + secondary2.wait_until_succeeds( + "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" + ) + + secondary2.succeed("systemctl stop mysql") + primary.succeed( + "echo 'insert into testdb.tests values (123, 456);' | sudo -u mysql mysql -u mysql -N" + ) + secondary2.succeed("systemctl start mysql") + secondary2.wait_for_unit("mysql") + secondary2.wait_for_open_port(3306) + secondary2.wait_until_succeeds( + "echo 'select * from testdb.tests where Id = 123;' | sudo -u mysql mysql -u mysql -N | grep 456" + ) + ''; }; - - testScript = '' - master.start() - master.wait_for_unit("mysql") - master.wait_for_open_port(3306) - # Wait for testdb to be fully populated (5 rows). - master.wait_until_succeeds( - "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" - ) - - slave1.start() - slave2.start() - slave1.wait_for_unit("mysql") - slave1.wait_for_open_port(3306) - slave2.wait_for_unit("mysql") - slave2.wait_for_open_port(3306) - - # wait for replications to finish - slave1.wait_until_succeeds( - "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" - ) - slave2.wait_until_succeeds( - "sudo -u mysql mysql -u mysql -D testdb -N -B -e 'select count(id) from tests' | grep -q 5" - ) - - slave2.succeed("systemctl stop mysql") - master.succeed( - "echo 'insert into testdb.tests values (123, 456);' | sudo -u mysql mysql -u mysql -N" - ) - slave2.succeed("systemctl start mysql") - slave2.wait_for_unit("mysql") - slave2.wait_for_open_port(3306) - slave2.wait_until_succeeds( - "echo 'select * from testdb.tests where Id = 123;' | sudo -u mysql mysql -u mysql -N | grep 456" - ) - ''; -}) +in + lib.mapAttrs (_: package: makeReplicationTest { inherit package; }) mariadbPackages diff --git a/third_party/nixpkgs/nixos/tests/mysql/mysql.nix b/third_party/nixpkgs/nixos/tests/mysql/mysql.nix index 2ac2b34a18..a5e42f85a7 100644 --- a/third_party/nixpkgs/nixos/tests/mysql/mysql.nix +++ b/third_party/nixpkgs/nixos/tests/mysql/mysql.nix @@ -1,221 +1,149 @@ -import ./../make-test-python.nix ({ pkgs, ...}: - +{ + system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../../.. { inherit system config; }, + lib ? pkgs.lib +}: let + inherit (import ./common.nix { inherit pkgs lib; }) mkTestName mariadbPackages mysqlPackages; + + makeTest = import ./../make-test-python.nix; # Setup common users - users = { ... }: - { - users.groups.testusers = { }; - - users.users.testuser = { - isSystemUser = true; - group = "testusers"; + makeMySQLTest = { + package, + name ? mkTestName package, + useSocketAuth ? true, + hasMroonga ? true, + hasRocksDB ? true + }: makeTest { + inherit name; + meta = with lib.maintainers; { + maintainers = [ ajs124 das_j ]; }; - users.users.testuser2 = { - isSystemUser = true; - group = "testusers"; - }; - }; + nodes = { + ${name} = + { pkgs, ... }: { -in + users = { + groups.testusers = { }; -{ - name = "mysql"; - meta = with pkgs.lib.maintainers; { - maintainers = [ eelco shlevy ]; - }; + users.testuser = { + isSystemUser = true; + group = "testusers"; + }; - nodes = { - mysql57 = - { pkgs, ... }: - - { - imports = [ users ]; - - services.mysql.enable = true; - services.mysql.initialDatabases = [ - { name = "testdb3"; schema = ./testdb.sql; } - ]; - # note that using pkgs.writeText here is generally not a good idea, - # as it will store the password in world-readable /nix/store ;) - services.mysql.initialScript = pkgs.writeText "mysql-init.sql" '' - CREATE USER 'testuser3'@'localhost' IDENTIFIED BY 'secure'; - GRANT ALL PRIVILEGES ON testdb3.* TO 'testuser3'@'localhost'; - ''; - services.mysql.ensureDatabases = [ "testdb" "testdb2" ]; - services.mysql.ensureUsers = [{ - name = "testuser"; - ensurePermissions = { - "testdb.*" = "ALL PRIVILEGES"; + users.testuser2 = { + isSystemUser = true; + group = "testusers"; + }; }; - } { - name = "testuser2"; - ensurePermissions = { - "testdb2.*" = "ALL PRIVILEGES"; - }; - }]; - services.mysql.package = pkgs.mysql57; - }; - mysql80 = - { pkgs, ... }: + services.mysql = { + enable = true; + initialDatabases = [ + { name = "testdb3"; schema = ./testdb.sql; } + ]; + # note that using pkgs.writeText here is generally not a good idea, + # as it will store the password in world-readable /nix/store ;) + initialScript = pkgs.writeText "mysql-init.sql" (if (!useSocketAuth) then '' + CREATE USER 'testuser3'@'localhost' IDENTIFIED BY 'secure'; + GRANT ALL PRIVILEGES ON testdb3.* TO 'testuser3'@'localhost'; + '' else '' + ALTER USER root@localhost IDENTIFIED WITH unix_socket; + DELETE FROM mysql.user WHERE password = ''' AND plugin = '''; + DELETE FROM mysql.user WHERE user = '''; + FLUSH PRIVILEGES; + ''); - { - imports = [ users ]; - - services.mysql.enable = true; - services.mysql.initialDatabases = [ - { name = "testdb3"; schema = ./testdb.sql; } - ]; - # note that using pkgs.writeText here is generally not a good idea, - # as it will store the password in world-readable /nix/store ;) - services.mysql.initialScript = pkgs.writeText "mysql-init.sql" '' - CREATE USER 'testuser3'@'localhost' IDENTIFIED BY 'secure'; - GRANT ALL PRIVILEGES ON testdb3.* TO 'testuser3'@'localhost'; - ''; - services.mysql.ensureDatabases = [ "testdb" "testdb2" ]; - services.mysql.ensureUsers = [{ - name = "testuser"; - ensurePermissions = { - "testdb.*" = "ALL PRIVILEGES"; - }; - } { - name = "testuser2"; - ensurePermissions = { - "testdb2.*" = "ALL PRIVILEGES"; - }; - }]; - services.mysql.package = pkgs.mysql80; - }; - - mariadb = - { pkgs, ... }: - - { - imports = [ users ]; - - services.mysql.enable = true; - services.mysql.initialScript = pkgs.writeText "mariadb-init.sql" '' - ALTER USER root@localhost IDENTIFIED WITH unix_socket; - DELETE FROM mysql.user WHERE password = ''' AND plugin = '''; - DELETE FROM mysql.user WHERE user = '''; - FLUSH PRIVILEGES; - ''; - services.mysql.ensureDatabases = [ "testdb" "testdb2" ]; - services.mysql.ensureUsers = [{ - name = "testuser"; - ensurePermissions = { - "testdb.*" = "ALL PRIVILEGES"; - }; - } { - name = "testuser2"; - ensurePermissions = { - "testdb2.*" = "ALL PRIVILEGES"; - }; - }]; - services.mysql.settings = { - mysqld = { - plugin-load-add = [ "ha_mroonga.so" "ha_rocksdb.so" ]; + ensureDatabases = [ "testdb" "testdb2" ]; + ensureUsers = [{ + name = "testuser"; + ensurePermissions = { + "testdb.*" = "ALL PRIVILEGES"; + }; + } { + name = "testuser2"; + ensurePermissions = { + "testdb2.*" = "ALL PRIVILEGES"; + }; + }]; + package = package; + settings = { + mysqld = { + plugin-load-add = lib.optional hasMroonga "ha_mroonga.so" + ++ lib.optional hasRocksDB "ha_rocksdb.so"; + }; + }; }; }; - services.mysql.package = pkgs.mariadb; - }; + mariadb = { + }; + }; + + testScript = '' + start_all() + + machine = ${name} + machine.wait_for_unit("mysql") + machine.succeed( + "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser" + ) + # Ensure testuser2 is not able to insert into testdb as mysql testuser2 + machine.fail( + "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser2" + ) + # Ensure testuser2 is not able to authenticate as mysql testuser + machine.fail( + "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42" + ) + + ${lib.optionalString hasMroonga '' + # Check if Mroonga plugin works + machine.succeed( + "echo 'use testdb; create table mroongadb (test_id INT, PRIMARY KEY (test_id)) ENGINE = Mroonga;' | sudo -u testuser mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; insert into mroongadb values (25);' | sudo -u testuser mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; select test_id from mroongadb;' | sudo -u testuser mysql -u testuser -N | grep 25" + ) + machine.succeed( + "echo 'use testdb; drop table mroongadb;' | sudo -u testuser mysql -u testuser" + ) + ''} + + ${lib.optionalString hasRocksDB '' + # Check if RocksDB plugin works + machine.succeed( + "echo 'use testdb; create table rocksdb (test_id INT, PRIMARY KEY (test_id)) ENGINE = RocksDB;' | sudo -u testuser mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; insert into rocksdb values (28);' | sudo -u testuser mysql -u testuser" + ) + machine.succeed( + "echo 'use testdb; select test_id from rocksdb;' | sudo -u testuser mysql -u testuser -N | grep 28" + ) + machine.succeed( + "echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser" + ) + ''} + ''; }; - - testScript = '' - start_all() - - mysql57.wait_for_unit("mysql") - mysql57.succeed( - "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser" - ) - mysql57.succeed( - "echo 'use testdb; insert into tests values (41);' | sudo -u testuser mysql -u testuser" - ) - # Ensure testuser2 is not able to insert into testdb as mysql testuser2 - mysql57.fail( - "echo 'use testdb; insert into tests values (22);' | sudo -u testuser2 mysql -u testuser2" - ) - # Ensure testuser2 is not able to authenticate as mysql testuser - mysql57.fail( - "echo 'use testdb; insert into tests values (22);' | sudo -u testuser2 mysql -u testuser" - ) - mysql57.succeed( - "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 41" - ) - mysql57.succeed( - "echo 'use testdb3; select * from tests;' | mysql -u testuser3 --password=secure -N | grep 4" - ) - - mysql80.wait_for_unit("mysql") - mysql80.succeed( - "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser" - ) - mysql80.succeed( - "echo 'use testdb; insert into tests values (41);' | sudo -u testuser mysql -u testuser" - ) - # Ensure testuser2 is not able to insert into testdb as mysql testuser2 - mysql80.fail( - "echo 'use testdb; insert into tests values (22);' | sudo -u testuser2 mysql -u testuser2" - ) - # Ensure testuser2 is not able to authenticate as mysql testuser - mysql80.fail( - "echo 'use testdb; insert into tests values (22);' | sudo -u testuser2 mysql -u testuser" - ) - mysql80.succeed( - "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 41" - ) - mysql80.succeed( - "echo 'use testdb3; select * from tests;' | mysql -u testuser3 --password=secure -N | grep 4" - ) - - mariadb.wait_for_unit("mysql") - mariadb.succeed( - "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser" - ) - mariadb.succeed( - "echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser" - ) - # Ensure testuser2 is not able to insert into testdb as mysql testuser2 - mariadb.fail( - "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser2" - ) - # Ensure testuser2 is not able to authenticate as mysql testuser - mariadb.fail( - "echo 'use testdb; insert into tests values (23);' | sudo -u testuser2 mysql -u testuser" - ) - mariadb.succeed( - "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42" - ) - - # Check if Mroonga plugin works - mariadb.succeed( - "echo 'use testdb; create table mroongadb (test_id INT, PRIMARY KEY (test_id)) ENGINE = Mroonga;' | sudo -u testuser mysql -u testuser" - ) - mariadb.succeed( - "echo 'use testdb; insert into mroongadb values (25);' | sudo -u testuser mysql -u testuser" - ) - mariadb.succeed( - "echo 'use testdb; select test_id from mroongadb;' | sudo -u testuser mysql -u testuser -N | grep 25" - ) - mariadb.succeed( - "echo 'use testdb; drop table mroongadb;' | sudo -u testuser mysql -u testuser" - ) - - # Check if RocksDB plugin works - mariadb.succeed( - "echo 'use testdb; create table rocksdb (test_id INT, PRIMARY KEY (test_id)) ENGINE = RocksDB;' | sudo -u testuser mysql -u testuser" - ) - mariadb.succeed( - "echo 'use testdb; insert into rocksdb values (28);' | sudo -u testuser mysql -u testuser" - ) - mariadb.succeed( - "echo 'use testdb; select test_id from rocksdb;' | sudo -u testuser mysql -u testuser -N | grep 28" - ) - mariadb.succeed( - "echo 'use testdb; drop table rocksdb;' | sudo -u testuser mysql -u testuser" - ) - ''; -}) +in + lib.mapAttrs (_: package: makeMySQLTest { + inherit package; + hasRocksDB = false; hasMroonga = false; + }) mysqlPackages + // (lib.mapAttrs (_: package: makeMySQLTest { + inherit package; + }) mariadbPackages) diff --git a/third_party/nixpkgs/pkgs/applications/audio/praat/default.nix b/third_party/nixpkgs/pkgs/applications/audio/praat/default.nix index 3fd0619ec2..89d5370fd0 100644 --- a/third_party/nixpkgs/pkgs/applications/audio/praat/default.nix +++ b/third_party/nixpkgs/pkgs/applications/audio/praat/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "praat"; - version = "6.2.03"; + version = "6.2.04"; src = fetchFromGitHub { owner = "praat"; repo = "praat"; rev = "v${version}"; - sha256 = "sha256-0WTbLEPEqPm7BI02mjlwcsewkrmIsHtNlhccqK1d6SI="; + sha256 = "sha256-xzEgj4pjW+y46CXtVq4myHKX6DImCibsUz8m0G6F+YQ="; }; configurePhase = '' diff --git a/third_party/nixpkgs/pkgs/applications/audio/qjackctl/default.nix b/third_party/nixpkgs/pkgs/applications/audio/qjackctl/default.nix index 1d5edf892c..6c7bfff86b 100644 --- a/third_party/nixpkgs/pkgs/applications/audio/qjackctl/default.nix +++ b/third_party/nixpkgs/pkgs/applications/audio/qjackctl/default.nix @@ -5,7 +5,7 @@ }: mkDerivation rec { - version = "0.9.5"; + version = "0.9.6"; pname = "qjackctl"; # some dependencies such as killall have to be installed additionally @@ -14,7 +14,7 @@ mkDerivation rec { owner = "rncbc"; repo = "qjackctl"; rev = "${pname}_${lib.replaceChars ["."] ["_"] version}"; - sha256 = "sha256-20oy3R0gbVXO3Da80cTYXu+BG8OfVNRLtAwHk8nRFJk="; + sha256 = "sha256-8oVnUe+/y4p1WeHMEhKMIl0/ax3PT0pN4f1UJaBmZBw="; }; buildInputs = [ diff --git a/third_party/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix b/third_party/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix index f805a2d345..c92e9cf7a4 100644 --- a/third_party/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix +++ b/third_party/nixpkgs/pkgs/applications/audio/qpwgraph/default.nix @@ -5,14 +5,14 @@ mkDerivation rec { pname = "qpwgraph"; - version = "0.1.1"; + version = "0.2.0"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "rncbc"; repo = "qpwgraph"; rev = "v${version}"; - sha256 = "sha256-r3FoAV0wah9fwnqyMyu8927c4Uj0zZoQNvLoXP5AP/E="; + sha256 = "sha256-SGx80fMFomNEa/jgH8Yeof+f7zXCDxx3Yqd0GxHZGMw="; }; nativeBuildInputs = [ cmake pkg-config ]; diff --git a/third_party/nixpkgs/pkgs/applications/audio/qtractor/default.nix b/third_party/nixpkgs/pkgs/applications/audio/qtractor/default.nix index 13d415ec1e..71d628d322 100644 --- a/third_party/nixpkgs/pkgs/applications/audio/qtractor/default.nix +++ b/third_party/nixpkgs/pkgs/applications/audio/qtractor/default.nix @@ -30,11 +30,11 @@ mkDerivation rec { pname = "qtractor"; - version = "0.9.24"; + version = "0.9.25"; src = fetchurl { url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz"; - sha256 = "sha256-YTT7ko5HjKrZ8DKU3L06EI7bZeBtvPl21pqUf6EaeS4="; + sha256 = "sha256-cKXHH7rugTJ5D7MDJmr/fX6p209wyGMQvSLbv5T0KXU="; }; nativeBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/applications/graphics/drawio/default.nix b/third_party/nixpkgs/pkgs/applications/graphics/drawio/default.nix index e229302bf5..54efd0bf13 100644 --- a/third_party/nixpkgs/pkgs/applications/graphics/drawio/default.nix +++ b/third_party/nixpkgs/pkgs/applications/graphics/drawio/default.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "drawio"; - version = "16.1.2"; + version = "16.4.0"; src = fetchurl { url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm"; - sha256 = "b86ff3f77b17e7da66979fe8ea878685c0018273f5d0302f10d3094d502452ee"; + sha256 = "624f776478b6960adb1be565077f79aed72c95de5e995fc1216b78978c9c6857"; }; nativeBuildInputs = [ @@ -86,6 +86,12 @@ stdenv.mkDerivation rec { --replace /opt/drawio/drawio $out/bin/drawio ''; + doInstallCheckPhase = true; + + installCheckPhase = '' + $out/bin/drawio --help > /dev/null + ''; + meta = with lib; { description = "A desktop application for creating diagrams"; homepage = "https://about.draw.io/"; diff --git a/third_party/nixpkgs/pkgs/applications/misc/googleearth/default.nix b/third_party/nixpkgs/pkgs/applications/misc/googleearth/default.nix deleted file mode 100644 index edf1fc54ba..0000000000 --- a/third_party/nixpkgs/pkgs/applications/misc/googleearth/default.nix +++ /dev/null @@ -1,106 +0,0 @@ -{ lib, stdenv, fetchurl, glibc, libGLU, libGL, freetype, glib, libSM, libICE, libXi, libXv -, libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11 -, zlib, fontconfig, dpkg, libproxy, libxml2, gst_all_1, dbus }: - -let - arch = - if stdenv.hostPlatform.system == "x86_64-linux" then "amd64" - else if stdenv.hostPlatform.system == "i686-linux" then "i386" - else throw "Unsupported system ${stdenv.hostPlatform.system}"; - sha256 = - if arch == "amd64" - then "0dwnppn5snl5bwkdrgj4cyylnhngi0g66fn2k41j3dvis83x24k6" - else "0gndbxrj3kgc2dhjqwjifr3cl85hgpm695z0wi01wvwzhrjqs0l2"; - version = "7.1.8.3036"; - fullPath = lib.makeLibraryPath [ - glibc - glib - stdenv.cc.cc - libSM - libICE - libXi - libXv - libGLU libGL - libXrender - libXrandr - libXfixes - libXcursor - libXinerama - freetype - libXext - libX11 - zlib - fontconfig - libproxy - libxml2 - dbus - gst_all_1.gstreamer - gst_all_1.gst-plugins-base - ]; -in -stdenv.mkDerivation rec { - pname = "googleearth"; - inherit version; - src = fetchurl { - url = "https://dl.google.com/linux/earth/deb/pool/main/g/google-earth-stable/google-earth-stable_${version}-r0_${arch}.deb"; - inherit sha256; - }; - - phases = [ "unpackPhase" "installPhase" "checkPhase" ]; - - doCheck = true; - - buildInputs = [ dpkg ]; - - unpackPhase = '' - dpkg-deb -x ${src} ./ - ''; - - installPhase ='' - mkdir $out - mv usr/* $out/ - rmdir usr - mv * $out/ - rm $out/bin/google-earth $out/opt/google/earth/free/googleearth - - # patch and link googleearth binary - ln -s $out/opt/google/earth/free/googleearth-bin $out/bin/googleearth - patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${fullPath}:\$ORIGIN" \ - $out/opt/google/earth/free/googleearth-bin - - # patch and link gpsbabel binary - ln -s $out/opt/google/earth/free/gpsbabel $out/bin/gpsbabel - patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ - --set-rpath "${fullPath}:\$ORIGIN" \ - $out/opt/google/earth/free/gpsbabel - - # patch libraries - for a in $out/opt/google/earth/free/*.so* ; do - patchelf --set-rpath "${fullPath}:\$ORIGIN" $a - done - - # Add desktop config file and icons - mkdir -p $out/share/{applications,icons/hicolor/{16x16,22x22,24x24,32x32,48x48,64x64,128x128,256x256}/apps,pixmaps} - ln -s $out/opt/google/earth/free/google-earth.desktop $out/share/applications/google-earth.desktop - sed -i -e "s|Exec=.*|Exec=$out/bin/googleearth|g" $out/opt/google/earth/free/google-earth.desktop - for size in 16 22 24 32 48 64 128 256; do - ln -s $out/opt/google/earth/free/product_logo_"$size".png $out/share/icons/hicolor/"$size"x"$size"/apps/google-earth.png - done - ln -s $out/opt/google/earth/free/product_logo_256.png $out/share/pixmaps/google-earth.png - ''; - - checkPhase = '' - $out/bin/gpsbabel -V > /dev/null - ''; - - dontPatchELF = true; - - meta = with lib; { - description = "A world sphere viewer"; - homepage = "http://earth.google.com"; - license = licenses.unfree; - maintainers = with maintainers; [ markus1189 ]; - platforms = platforms.linux; - }; -} diff --git a/third_party/nixpkgs/pkgs/applications/misc/pdfstudio/default.nix b/third_party/nixpkgs/pkgs/applications/misc/pdfstudio/default.nix index 16ded8e2e8..6b93cfb19c 100644 --- a/third_party/nixpkgs/pkgs/applications/misc/pdfstudio/default.nix +++ b/third_party/nixpkgs/pkgs/applications/misc/pdfstudio/default.nix @@ -1,82 +1,77 @@ -{ stdenv, - lib, - makeWrapper, - fetchurl, - dpkg, - makeDesktopItem, - copyDesktopItems, - autoPatchelfHook, - gst_all_1, - sane-backends, - xorg, - gnome2, - alsa-lib, - libgccjit, - jdk11 - }: +{ stdenv +, lib +, fetchurl +, libgccjit +, dpkg +, makeDesktopItem +, copyDesktopItems +, autoPatchelfHook +, sane-backends +, jdk11 +}: -let - year = "2021"; - major = "1"; - minor = "2"; -in stdenv.mkDerivation rec { +# See also package 'pdfstudioviewer' +# Differences are ${pname}, Download directory name (PDFStudio / PDFStudioViewer), +# sha256, and libgccjit (not needed for PDFStudioViewer) +let year = "2021"; +in +stdenv.mkDerivation rec { pname = "pdfstudio"; - version = "${year}.${major}.${minor}"; - autoPatchelfIgnoreMissingDeps = true; + version = "${year}.1.2"; + strictDeps = true; src = fetchurl { - url = "https://download.qoppa.com/${pname}/v${year}/PDFStudio_v${year}_${major}_${minor}_linux64.deb"; + url = "https://download.qoppa.com/${pname}/v${year}/PDFStudio_v${ + builtins.replaceStrings [ "." ] [ "_" ] version + }_linux64.deb"; sha256 = "1188ll2qz58rr2slavqxisbz4q3fdzidpasb1p33926z0ym3rk45"; }; - nativeBuildInputs = [ - gst_all_1.gst-libav - sane-backends - xorg.libXxf86vm - xorg.libXtst - gnome2.libgtkhtml - alsa-lib - libgccjit - autoPatchelfHook - makeWrapper - dpkg - copyDesktopItems - jdk11 # only for unpacking .jar.pack files + buildInputs = [ + libgccjit #for libstdc++.so.6 and libgomp.so.1 + sane-backends #for libsane.so.1 + jdk11 ]; - desktopItems = [(makeDesktopItem { - name = "${pname}${year}"; - desktopName = "PDF Studio"; - genericName = "View and edit PDF files"; - exec = "${pname} %f"; - icon = "${pname}${year}"; - comment = "Views and edits PDF files"; - mimeType = "application/pdf"; - categories = "Office"; - type = "Application"; - terminal = false; - })]; + nativeBuildInputs = [ + autoPatchelfHook + dpkg + copyDesktopItems + ]; + + desktopItems = [ + (makeDesktopItem { + name = "${pname}${year}"; + desktopName = "PDF Studio"; + genericName = "View and edit PDF files"; + exec = "${pname} %f"; + icon = "${pname}${year}"; + comment = "Views and edits PDF files"; + mimeType = "application/pdf"; + categories = "Office"; + type = "Application"; + terminal = false; + }) + ]; unpackPhase = "dpkg-deb -x $src ."; - dontConfigure = true; dontBuild = true; + postPatch = '' + substituteInPlace opt/${pname}${year}/${pname}${year} --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}" + substituteInPlace opt/${pname}${year}/updater --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}" + ''; + installPhase = '' runHook preInstall mkdir -p $out/bin mkdir -p $out/share - mkdir -p $out/share/applications mkdir -p $out/share/pixmaps cp -r opt/${pname}${year} $out/share/ + rm -rf $out/share/${pname}${year}/jre ln -s $out/share/${pname}${year}/.install4j/${pname}${year}.png $out/share/pixmaps/ - makeWrapper $out/share/${pname}${year}/${pname}${year} $out/bin/${pname} - - #Unpack jar files. Otherwise pdfstudio does this and fails due to read-only FS. - for pfile in $out/share/${pname}${year}/jre/lib/{,ext/}*.jar.pack; do - jar_file=`echo "$pfile" | awk '{ print substr($0,1,length($0)-5) }'` - unpack200 -r "$pfile" "$jar_file" - done + ln -s $out/share/${pname}${year}/${pname}${year} $out/bin/${pname} runHook postInstall ''; @@ -86,6 +81,7 @@ in stdenv.mkDerivation rec { description = "An easy to use, full-featured PDF editing software"; license = licenses.unfree; platforms = platforms.linux; + mainProgram = pname; maintainers = [ maintainers.pwoelfel ]; }; } diff --git a/third_party/nixpkgs/pkgs/applications/misc/scli/default.nix b/third_party/nixpkgs/pkgs/applications/misc/scli/default.nix index 3809283e62..7b513a67e6 100644 --- a/third_party/nixpkgs/pkgs/applications/misc/scli/default.nix +++ b/third_party/nixpkgs/pkgs/applications/misc/scli/default.nix @@ -8,13 +8,13 @@ python3.pkgs.buildPythonApplication rec { pname = "scli"; - version = "0.6.5"; + version = "0.6.6"; src = fetchFromGitHub { owner = "isamert"; repo = pname; rev = "v${version}"; - sha256 = "1lykxkqscvpzb7bvl8kfaf23mjhr2kaaqdg0756xx4z1m0smpkgy"; + sha256 = "16hfp8dn270amrilvv3sjqhq2x295kw0cxszf63jh405z3ql834g"; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json index 1eaa5e01d1..981861d6a2 100644 --- a/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,9 +19,9 @@ } }, "beta": { - "version": "98.0.4758.54", - "sha256": "0w3pvp23y0vyj9p7j6nfxgnnzc5jyjn65k1khx0i333hs97vidbc", - "sha256bin64": "1qxkqw45jzcrg2ziqh4npg19a52b5j1hvag4n5qlrq4bfblsbwwh", + "version": "98.0.4758.66", + "sha256": "06hdd2cy6mdiiwbrn2jawmcidxbf46z9wyklkm3mmzbrj1xrh0gd", + "sha256bin64": "0r1lmgvvxb1h6p20gzp8qwdfs4czvqyg6bgp4wb2aax1n0448rbr", "deps": { "gn": { "version": "2021-12-07", @@ -32,15 +32,15 @@ } }, "dev": { - "version": "99.0.4818.0", - "sha256": "1k8xzmybrmwgcyg4n7x3gj486rpwic17m6i5ij9nmfzcxx7fbwlm", - "sha256bin64": "1jfqmv94ami3n6hzp9ycczqv3lh3wijsf555mg62rv4rdvw5adm6", + "version": "99.0.4840.0", + "sha256": "0l1azyd7an8nw2gjnn313gn6sljvw6lbd9g59s7d59lpn2bmbc7j", + "sha256bin64": "145qjhdmi39aaw0a3sarlgi67rjhik1xbm62rw7ba0wgnrbvvrjb", "deps": { "gn": { - "version": "2022-01-07", + "version": "2022-01-10", "url": "https://gn.googlesource.com/gn", - "rev": "f1b1412521b41e47118b29863224171e434a27a2", - "sha256": "1cxq991by7sa5k1hvb5xx98bfqgq7rdbw3cawhyyqq91a521wsb7" + "rev": "80a40b07305373617eba2d5878d353532af77da3", + "sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv" } } }, diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix index 440d54d88a..5734dfe9f0 100644 --- a/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix +++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix @@ -1,985 +1,985 @@ { - version = "96.0.1"; + version = "96.0.2"; sources = [ - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ach/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ach/firefox-96.0.2.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha256 = "70d4f4ddc319315a3cae8be4174d8b80e1cde3902dee0f0ff9804b0bc0a68d4a"; + sha256 = "b7120e412b7c111f8d136a93aea6f426770cf58319e7b410a4eddc4698e052aa"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/af/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/af/firefox-96.0.2.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha256 = "cda4d331d55fdfebbe75d54469ca929563f1ba613026b50ac4371de001ac67e7"; + sha256 = "b3068543e15fdf9c0f9cc6bf7407baded25ad4154f1c2034d9a00d91b5a68c11"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/an/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/an/firefox-96.0.2.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha256 = "264f6ec85ada427027d529de8f9c5d69082e1c7306d79734cc208ccbeb771269"; + sha256 = "6a74fe71edde4d2c47010dd0fdc7d33471ca31cb29b5a145bcdb30018a5e364c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ar/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ar/firefox-96.0.2.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "4d1893dc040fa7c0409fc5f6cbccc36676da8d04ebf8e7b0bdda50a65da6d5ee"; + sha256 = "be9c0fc67c7f3997e8c9b25dae08b9310c435caf60fc4eba6eef1ac0b2717aa9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ast/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ast/firefox-96.0.2.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "0c9c0597b4a78fb7b704ee7791c9e76b11a2ffa390c24aef65b4e1bdaa546d39"; + sha256 = "9a0e4231595413451039d598ac1dcfefa76784741f59b99a904c65b401786a6d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/az/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/az/firefox-96.0.2.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha256 = "155b331f614b9de671fd945ef186815afbbcfeb671bb2510d07e11858c74d500"; + sha256 = "41f3fc81dfdf6b151763a15686f7ee3aab6814b35835502180dc2e2f229feda6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/be/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/be/firefox-96.0.2.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha256 = "eb0e1589ddd53edb1cc058521a35448dbb55adf4a774906877936ac984e3c2a6"; + sha256 = "e6b32fa0e50d3c5694e6bad54e86f78d78fcc9c3e2ae83545e6dc1f42044ce30"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/bg/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/bg/firefox-96.0.2.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "d59d7dada004276c55f4b0a9a4ac86b0ffbe5d565e7a2d4a0c23831c20e78e3a"; + sha256 = "b89cca59abc9566b07ac04796d3955df76dd31a3e99f2b28a8fd91a3197b2fb8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/bn/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/bn/firefox-96.0.2.tar.bz2"; locale = "bn"; arch = "linux-x86_64"; - sha256 = "6537a4d874707fc4fad3d5deaa5459bd9dd783caae8f927ae8b2d8d74dff9e93"; + sha256 = "e837daeb90214878ab4bb230955fcb67cbdfe4738ee6b93e41972d6789cb0713"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/br/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/br/firefox-96.0.2.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha256 = "7a50bba797980b9413b8ea1ae6b69b59aa329a43f15a5534cfbeb242c687bca1"; + sha256 = "acc80a336e85db0a4648f4cb6a389645647ac3a01920bd301953b6f80faee7fd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/bs/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/bs/firefox-96.0.2.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha256 = "a3ffb0724a224ecc211299b034d79bd9a211abdb541cf6f7d4e8e0a46aca64a8"; + sha256 = "8be349dbb749401c23fa5679764372d536486ccc85950fed6d1818eeeb9df9c3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ca-valencia/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ca-valencia/firefox-96.0.2.tar.bz2"; locale = "ca-valencia"; arch = "linux-x86_64"; - sha256 = "fcfd42f15782b50304627f10f6e65a4f1a0aac24969c101cfbfc4b1a26513eca"; + sha256 = "246d56a18b93e956299b0d9e4c3bcd37e33b08981cbf949f23999746da81ba2b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ca/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ca/firefox-96.0.2.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "8a3072d642dbfa2ccd2a9de29a00fd81dbfbf5a94f21120565b9db6a8a9a8d51"; + sha256 = "7e4076f7f4ce566f1900850c04ca314cbd3e2ac0490d1e93e6fc2d405936f66c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/cak/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/cak/firefox-96.0.2.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "bbc92e25947151f260bbea5bf81450958f1acf43c833ade6499e1de067156a40"; + sha256 = "e0f3494fbd1c4ec6ba9993b9ef6fe6d5d8659034533afdeed8a539bad20451b6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/cs/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/cs/firefox-96.0.2.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "276853dbe6865fa300059c32041cffa881dbd29012d6dfbc7516c3e5acdfe255"; + sha256 = "8bd32a17696fc93fddb14efa1ae60d98aa267f84482ec110c697cba380fc254f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/cy/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/cy/firefox-96.0.2.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "2a623edf9e2ca82e9c36adc115e07b1d931c6639f8416f4431033a76cb12028b"; + sha256 = "761c62b1cd57d7c2e35195232fd094181c18f0ea10c5f4ae3ecc35f40d4061ca"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/da/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/da/firefox-96.0.2.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha256 = "8a23f262babcee651a69dc3f8089328af81a41d324039bcf4d9ffda00bf3b1a8"; + sha256 = "b08494880033516192c61fce66a64cc7dbebcaec595a089a24f2f7cd55f89396"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/de/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/de/firefox-96.0.2.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha256 = "1391338182f044f4d95b6087eefd08bfb3854f8ef8e1f95749668d6d567e8deb"; + sha256 = "71459eef80ae2003549422041ab7741668497de3ccf36680037cdf3eb7cddc6b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/dsb/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/dsb/firefox-96.0.2.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "79515b5ae599f4319e35861f014e26fa87ed007a39c269226e5887bdabd8a134"; + sha256 = "7c9e4aaf9874846eb403260ca20f05b3d02e9b0b125e106fb8bc77c8abcaaebd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/el/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/el/firefox-96.0.2.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha256 = "fa35e87c066122bd077bcee9e32e48c49a6db421ab3ef4c4d42fe82c7d57b147"; + sha256 = "d7180afa9621488ba28bd7ada933451e11e080f74d6925d7b9d6edb7dbba3dfc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/en-CA/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/en-CA/firefox-96.0.2.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "e1a0d585985c1d26db396649aaf7ea39cebec749fb42a053e44032b280fa4f45"; + sha256 = "26d179040167f5ae244a7c7f040ea8114ca8094b0394bb25e092e93496ca545b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/en-GB/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/en-GB/firefox-96.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "6cd3f585661194ebfe76fc7fa90ff8cfa173fae0304189376b291c3c398ae6c1"; + sha256 = "6c53b1227cf43e1a8cf2cc0a4255efe28a852b395f8c9504f1c63ebd9ee1baae"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/en-US/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/en-US/firefox-96.0.2.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "85143f6936bd6d5b2f55907ed6e84a91cf69bb57aa2b4427a07cf3e3e670bd30"; + sha256 = "ae8aad9fddd1e3b28da71a0811eda5dff49593371d5e3f6b8852835bdf43bced"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/eo/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/eo/firefox-96.0.2.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha256 = "e1881f2c785cbdd019d08aedc6a721a36679d490d3071b93da155de11c223c5b"; + sha256 = "e8e4a44511a5b0855b430063a2f6413603eda572e6f6567835fe7dbdfa4428ff"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/es-AR/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/es-AR/firefox-96.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "9bcd3ffbbaf67b74319026abba5a55c0e84810e980667a4a65abaa29c61e15ba"; + sha256 = "3e18ce4633e66f51a2e89028cdb60cb68f01dea799590bf38ff663957ef7900a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/es-CL/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/es-CL/firefox-96.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha256 = "0e57734b563435602bd470a74771331bea0f68bf12de70ae1fec2c72fb3a8dc6"; + sha256 = "8456b5c6a474221679a26803cebb1be001e97c195a3bd322f8c8996c1e8f2258"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/es-ES/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/es-ES/firefox-96.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "ab4a5dba1eba3cf149830f055df87c9aea4a8d97485311243d20f20686b5c050"; + sha256 = "28cc54e6d1f540a139ad1cd5961799326c526ffd13bc611c2f276cf3853e8d5d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/es-MX/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/es-MX/firefox-96.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "15d791514c92f5c676c8a72cf423c34f5dc491029ae9c1897907d4e945b3f441"; + sha256 = "0796ca6961f66801162f44022704c921671066ce044514489bdf3a784c517b33"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/et/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/et/firefox-96.0.2.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha256 = "a3189afcbdd64a4491868712cabc80c26b8c67dab8fe41b20b47d8300e275b21"; + sha256 = "fc8f8b3ed9dff593a3b6968b86364c516a910601c1d6576b160ccf9ca51d0adf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/eu/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/eu/firefox-96.0.2.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "77736b1d377ea03ad43e8537aab2e5482d894082e351bbd066ba1211bdfebb59"; + sha256 = "1950fa86d15392b76b51a76ece16b9fae1fab449c7883cc6232e30bff75aa46f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/fa/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/fa/firefox-96.0.2.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha256 = "230def61e09988d4a53af2245f59da9197a9f2e29cf88665f002d9091db34ce0"; + sha256 = "8a7bc2e996ae85f7478792eef2ab9e0c2e67f845e8f89cebb8923a24f84c5dea"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ff/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ff/firefox-96.0.2.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha256 = "94fe353aa805eaef97eb1e873148eef2ab1cbf0aaec0d63fb67e2e16c043f950"; + sha256 = "158ead011e5e65f84f7f2801760331d157008cfc2916bb50ee3dfe65c5c78bc2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/fi/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/fi/firefox-96.0.2.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "37dbe7c39420f31941b7a7e023973b20e3bf538a595e3e21a81a82a1acd7f8e4"; + sha256 = "1472f32f694fd2e41b08c6be8cfdb35078a019c29ff03c39b141d0c69266e909"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/fr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/fr/firefox-96.0.2.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "9f4467c200ac3490bc9e97f814937a2c2083e133b72903ba158e3fcd275f7233"; + sha256 = "b630159914423bf066f7b5ba22524731ab69e05a96f00f11c803b1aa91e24dd6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/fy-NL/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/fy-NL/firefox-96.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "bea6f5cb0ef7a99823929156cc207c585a9bcba2d9554f749c5afa790f6d27c3"; + sha256 = "85c3e5a6bfcf6275334878ecbba0feed4c56033e2874dba1ee322d37f157de98"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ga-IE/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ga-IE/firefox-96.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "565c18b8a738f62b944891a472a3fd94300a3efa3b03f43896502c12b33d0d5b"; + sha256 = "57dec3d400e4525d65e3867c6e128010ca8b9017167e41a5ebfb70fc6041576e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/gd/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/gd/firefox-96.0.2.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "1af3f52d4ff3fe78e4abb7a26f52725f38214ff1dc7dc50a8b39daf2dcd250c0"; + sha256 = "d40c385478802645530b18d5340e7a37daec86fcbb265df224869bf944c0aaf1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/gl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/gl/firefox-96.0.2.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "72108446cdf29444694e4cb52f46366eb6749e51c082d25126d768d5b867be7d"; + sha256 = "7c9c4974907567315bec93adc4985367a5773cfbfeb39fb31270b6c21f346ab2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/gn/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/gn/firefox-96.0.2.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha256 = "9ac9c828a27ba7660642b1392dcf7955c323e0e4eb9e7634a3a959cc0c62125d"; + sha256 = "33f2312e3368ee5bbd09ad397a16d5b1b376b91d75433575b8ed7d995d263ef9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/gu-IN/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/gu-IN/firefox-96.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha256 = "3ea6ee8dd0e20229f70438172d8dbe1e8aca98776e28d6666cdd0f53c746397a"; + sha256 = "bde662d7941d6afdadd84ad8c8b66e6463a7d7e20af7c6afda7b4f4a9ff23538"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/he/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/he/firefox-96.0.2.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha256 = "b94fa7d26c8da38d5ee20cdc0b36f7c6a8e0186a9dc4cda359174dabfa337756"; + sha256 = "d983738db39c773b3d9edb942d9ed6b202943fbcd58f94c21d7968c0d4526354"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/hi-IN/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/hi-IN/firefox-96.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha256 = "38e7f9d934e5556a1f51d6f5fe1f0f7df6afc3620ca79b187df4e74f4bc62d83"; + sha256 = "9c5ca38a1ed0e7f20606e9e67139625f9c3896eb95f9f9f6c07271e1eb231cfd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/hr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/hr/firefox-96.0.2.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "ee77fae1f428b90bfbb9f6cd5310d5268c0fd0a27c927cea16d4dbd38d0ffbb8"; + sha256 = "3c372a95a03d12fc53f171de4a652ec083efede32d954c1a5aedb2c699000d35"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/hsb/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/hsb/firefox-96.0.2.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "a4cb2e444c0977abb2cb14030040768612837f1bc4959ab3bcec407f79092005"; + sha256 = "1c68037a98166e5c1332c45e1c583cbe266baa88373d921656722bd9846423c3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/hu/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/hu/firefox-96.0.2.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "58acba6ec61a290540cebf5d21c7e422e17d4039a26a0ed66324fb809eee2255"; + sha256 = "4a0b9577dfd5be293ca64d7311fbcb0cbd46d9b300bcfbe8fc89ac7726f6b71b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/hy-AM/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/hy-AM/firefox-96.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "47fc6a81998d126745522c681244f94ff05c0c1781b35df16cdd4798e02504ca"; + sha256 = "1b3c910074db508b7ff0fe120cc1ac52bdeb36d6ec5f2bc931bd42ce81aa5ff3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ia/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ia/firefox-96.0.2.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha256 = "9488d6dd3ef74028cbe6c68c7e77b5431a7c19c64abd6f17164b2c9bcb2f603c"; + sha256 = "9954901a886af4e290e64bbb6f6787436182850dc29f5e246c9a53b1df10ff8e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/id/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/id/firefox-96.0.2.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha256 = "545cd0471c933319685b0d7c78aee65587106c6054919ccd0537694f7366a33d"; + sha256 = "6f8452d04dfdfdd013c18db31f88934203c6d3321b34d6d92dcc393ef9cce523"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/is/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/is/firefox-96.0.2.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha256 = "a0d36e32cdca56d2602f1e875836ed626e1986a59e15016c5a7581755824112b"; + sha256 = "fbdb3b7fa4ac13e654d5b1be90a7558c0912bf6288ce4c3d0214a4cf53768a45"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/it/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/it/firefox-96.0.2.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha256 = "9b2c57944db6c50b99ce3b4d28dbbafc1fc6ae373ae0dc5e340d8a01999c9ec0"; + sha256 = "7e9ef17a0a854a1616d37fa684bcc8f9447cb98eac9232b70adcdc3d61d3e558"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ja/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ja/firefox-96.0.2.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "999854c3fbded0359ca01e965161f9b036de2ecb614ed01cfbae4a664feba774"; + sha256 = "b278b661cfba935010b827564ba4229350b692e5a0cc6f04536fe38d16c6f37a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ka/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ka/firefox-96.0.2.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "e89a4fe08e96e5e0bf05278055df4889e0e8896e069f7ff8365d88911935285a"; + sha256 = "0dec6bd016fa636a1422a4d705bf5813e2d717c865eb1c5e1bcaf539980be89c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/kab/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/kab/firefox-96.0.2.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "aa07f94c15e9070dad736ab3c0575f04e1b4d97a8c883eb089416983a07cbf2b"; + sha256 = "9789005dc9c6e708fbcd5b0dc1d41ae92703f8aca99e77a5b9ff82ec5e901810"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/kk/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/kk/firefox-96.0.2.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "a7aa1ea4c80c7b2fc206acf56f3ac5f8c7446e1ff936d00f42cf3600fe5c6939"; + sha256 = "2f8265737bd4e9f77e346caf56fc442c243e4183a6d679b1dc2a602617b94741"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/km/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/km/firefox-96.0.2.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha256 = "001a90e9a2b9a007006e58774ed128bd32cd3478a96e6b46f0aff8405f394b48"; + sha256 = "25181612508656ba6ea558d3085e31860bfc70196d0011478885cc46af1e310e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/kn/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/kn/firefox-96.0.2.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha256 = "d1482ad282633ce66de08a2b4418c9a8b389fd191b064aeaee392067c3f83114"; + sha256 = "d8383e317ba7e9c599b87ebfe15dbe0fd45580fe8faa155e62ad466d883a405d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ko/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ko/firefox-96.0.2.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "a8e59148929054648b4f69d4fef5465a840c75bc4bf3c534c38caebc0cadb317"; + sha256 = "64a359934fc21a3d3d4c6447fc3b869ddf017356d1dd23ee9c71cafcde7e80bf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/lij/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/lij/firefox-96.0.2.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha256 = "4f10b104007eab4b39a61a017279d93fc899816dad62c4f25dcd2ba801f4673b"; + sha256 = "372f106a7c5b0f1499c5562b51918e9ea349018c7716677629ea984f185eb27a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/lt/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/lt/firefox-96.0.2.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "2c7a57aa8f16d98bea028617eaffae301f73a079486b444120948576c475b90d"; + sha256 = "05b0f431719ab8cb7df2e803d824bd42c0b30107010bb037343852c265460cd4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/lv/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/lv/firefox-96.0.2.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "62dc979eb6471fe4195cc18b6c3ff9abaec733fbf69071660bc5028d466f95b8"; + sha256 = "946f16a920a0581c7a201b3228c15014d92ea94c2c6ed9d833170e4b9d029b20"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/mk/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/mk/firefox-96.0.2.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha256 = "4226dc59168d66efb2d8d71f4232817b4c37a6b1a894767e833bc31cd0cd336f"; + sha256 = "c8fd718b2e61971795d7dedb687821d5a46c0eb88c0af67bff3272c03395660b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/mr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/mr/firefox-96.0.2.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha256 = "22a27cb41410cda65307215c7388ee0af259f267e7d569d961b71a99a5285b0f"; + sha256 = "515b7b538e487c23e25eeb59d414a8a5b54cefa8f7bb4924be6327c8f9b9edf7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ms/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ms/firefox-96.0.2.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "a2ccf8df0396b342b4fd65dd8361a5de54be08e7bdd79db214457c2f85f221cf"; + sha256 = "3a6af28c127183f75fdfbb4484d32230c4639ef8c7890d6786525900552b0ed2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/my/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/my/firefox-96.0.2.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha256 = "47a8e92f9095f532969f8a78634f157cfbd04b2fe2562baf303ee1c41dc48980"; + sha256 = "1aca62c666431d987940852d1cda29281e30846e38a3855babd7230eaf7db5fa"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/nb-NO/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/nb-NO/firefox-96.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "293900e86ccf9000ecc8344248e12cf2b1671b1f2543f60cb9f58b20a980f071"; + sha256 = "04ed45b20776d517a08496bbe300d46c85c9a5c2ecbb74b03b0f22584ed506cd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ne-NP/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ne-NP/firefox-96.0.2.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha256 = "c8e80531dc2ac9ea11a531075ca44cfdce829bed85c3fe10686ff7e89f0443f5"; + sha256 = "7a921f5c2667fe21cf62596e5eba8152c0c68abb3e81aaa25d4cb134ca9efc1b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/nl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/nl/firefox-96.0.2.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "5d96b46954b4b92927878f34c0f4c6af90838003ec99156e1bb29c265543ddb9"; + sha256 = "6379dcfb0c3a739dc65314531a425f03483f2b2b2359d89ddc8924d74a349743"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/nn-NO/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/nn-NO/firefox-96.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "a2132947de63a8e825c2cff3e0855bb23dbab4ef0a654c6c2d8f8c196f4cd7bc"; + sha256 = "2872e3a05a7cb5dcc974f0f11b785207d21c76932958d6c6b0f3da73f73e4351"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/oc/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/oc/firefox-96.0.2.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha256 = "23b7a65a3e0e8a527acdd209f7ff3cd241766cfac6402c4b4b5f2ed7ad6a9f92"; + sha256 = "9ee1a08401c0a605ba42d90c3c4e297a4f295357faa82bf7b99950cfe6bbfa16"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/pa-IN/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/pa-IN/firefox-96.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "0433a761dcce926f09f8c8ca7e8a22d0fef7636790e41f819221e1896edeeb1e"; + sha256 = "97f250aac0f6e096bcaebbe50e3482554454746eb73868e323fce73e72781464"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/pl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/pl/firefox-96.0.2.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "884af417358344acf53296631dc4516320908b328103da968dc2c77319ea5414"; + sha256 = "3e1a7c882c02907e39b6bdc4f21899bcfd3ec21c66425727f8db0d3e897ba8fd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/pt-BR/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/pt-BR/firefox-96.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "53453485e7e3d63b436407f1c48b54f3ef6f24211bf5511e9c2a8b187b1b4bf7"; + sha256 = "ad31fd6dfd33647cfc2c886b99f06d868c9de3684d601ad39a0e16ad42fa98a7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/pt-PT/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/pt-PT/firefox-96.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "0550a2585e80c3ade74fbd0e238c29d23d1648ab319e909067214997114938c8"; + sha256 = "5a61590a49cebcac6ee9b6bdca80adf77458aa49eaaa989dd82bebfcdce6da1e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/rm/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/rm/firefox-96.0.2.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "51c246cc1b14961717fec7b8f5b9b38f11fc8883423b16d22916b8896a71dcc1"; + sha256 = "f03d956145c0780500c4eb5bc244f85ef826fe02606ac3df666f70bf6c8a28fd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ro/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ro/firefox-96.0.2.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "5eed24710606a6d9ae46e5086fb935b02eab1191c21fd699eb5161f9a28cbb1c"; + sha256 = "42c514d296923177bf9b19a961a6cc322f5c3970dd42de583dc630320daa139a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ru/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ru/firefox-96.0.2.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "5202a0413f66666b167366093dfc1909b0797082f308365168050e5d4e9f0a8c"; + sha256 = "90247a6c685b3bbae9a1073b9003239d5185927c68e75b3399b27af1c3702ed5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/sco/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/sco/firefox-96.0.2.tar.bz2"; locale = "sco"; arch = "linux-x86_64"; - sha256 = "66d3538be4f4225b65f4950a3df600ccb96c0869a134f72573d3c7c085f97045"; + sha256 = "c7d3799d03df9e50e57b1e2264196962146ca9bb953c8a2610ad62927426d07a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/si/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/si/firefox-96.0.2.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha256 = "b8ae8c7e6c02178e4e56ca62c67008978d05f5c40331bf011c8f68f27d001d61"; + sha256 = "2e27aa9eb0eba899a27d12a1d6ef63776365c06bafbfd6d3aa3c3ce2418de05e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/sk/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/sk/firefox-96.0.2.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "32a7105c6ebd64511ce219e6fe07739ae801bf52d133a0c3e539acbc70d9fded"; + sha256 = "1e4ca0a7d7c11444a31de6dff04ef4a98ad92e6cd30187c7287c01d570bdfa48"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/sl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/sl/firefox-96.0.2.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "86b1a61a910b5e5f1c57f5eed53a9718e2c0831dec351864c3c47f8fe0c21963"; + sha256 = "59307696ffb8727e95cb2e390e3d00c31a590cb0d5bf5b860dc516085ae57755"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/son/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/son/firefox-96.0.2.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha256 = "2b090616040bbdc5192e853fd126a0d71fcb5a8b30a31b693273d0aa1581d359"; + sha256 = "4b1c5a2a46570913fd6784e91f2b55db39666fcebdaa2b56684e6f1d674a4abc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/sq/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/sq/firefox-96.0.2.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "21f2b20f6c035b9fd016be0c56c6bf24e6953aba3b7e045181c9f39be28855c8"; + sha256 = "ef1bc449a6649e8476beddec58ca363601b1ff09a27ad053a0c576e7f9375dc7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/sr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/sr/firefox-96.0.2.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "c508f033013d38d53b61ae15a8cac454d3710861d1cd3434edb830440ea5e160"; + sha256 = "76e5cff9bc3001c7ae66b3971ee6b526ca52a04654b98bfa8f027200329123bb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/sv-SE/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/sv-SE/firefox-96.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "a99c21af9e34f737e406c13ee906ccdc71199f5a9540a116b2c706af2bc8d3fd"; + sha256 = "efcf35ec4f65496f4e1b81cd0fb6ebbbf460dfd5257ccf44d75547d4474f8f23"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/szl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/szl/firefox-96.0.2.tar.bz2"; locale = "szl"; arch = "linux-x86_64"; - sha256 = "2a17020d2c8dc36efcbec724af7dd0ac92946ce68052ae5a839c3c5727433c25"; + sha256 = "e62f290ab601c5b4899de0115a476a6e5c6fe854a89c2555a059de0e9ad4f446"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ta/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ta/firefox-96.0.2.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha256 = "db6a6434846451666263dc805a42dc579eaccd15dfc73379609046dbb1c65067"; + sha256 = "7eba2c9394ea70e3cb1d56e1e1ac0c3d2e423fef6b6ae523962ac5f13f93f0c1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/te/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/te/firefox-96.0.2.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha256 = "3621ba6af69fe808027243a27e4af59c797bc0baeeb5bc880027dbc25ecbbd90"; + sha256 = "f66730392b3a7ca2480b997288ef3502636722314731a33e930d30490c762715"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/th/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/th/firefox-96.0.2.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha256 = "b4bd33654822a3ec1c45ea99256141458ed0c139107bf916d635fc5a99a1eb3a"; + sha256 = "9dcbc894d4cbccf0132808d56a4b1f45242bfb439d9219315ca72839ea46c5b4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/tl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/tl/firefox-96.0.2.tar.bz2"; locale = "tl"; arch = "linux-x86_64"; - sha256 = "0136cecd5adec6cdd0b616e788c2bc8ed3d741c89fad3a1d19a3ddac40658e1f"; + sha256 = "461a6e1f9107973da675594cbde1c3371f3636eb7f0bc1287f162f6b8e6b7823"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/tr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/tr/firefox-96.0.2.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "3cd4f0375d20d012571422b35369c9a0e8350c2b3949f054b04ebec6e0000e29"; + sha256 = "d3dabac4567b81f988d209c094b7e80db12465f62622c21332d7f05e4e26fedd"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/trs/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/trs/firefox-96.0.2.tar.bz2"; locale = "trs"; arch = "linux-x86_64"; - sha256 = "cc11b387a1b2c0d0f1fd6ed4f18308eb5613d2c409cfb9eac9a0bbab9fd2d33c"; + sha256 = "0978b21a644764974d2bba3a532d3ab5f9ac66127cc51d9b0411016c6778c696"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/uk/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/uk/firefox-96.0.2.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "e6e090894c2d0926db5681fcfc875424f48002e24aac05c283a51e847eb5df6b"; + sha256 = "f42e4a326aa1aeb2e2d82bf2ecc7c8d38fcbd613e090736a047f4f715f955727"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/ur/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/ur/firefox-96.0.2.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha256 = "7b83962242d1b8550471ac607985da427e7bd839742e12fcce972bfa5e328f1d"; + sha256 = "bf863ace693a73a187867600ced36a26e9236ae94b753a3c8c6f20801b49f2b0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/uz/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/uz/firefox-96.0.2.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "46f7e4509fd9bede934501e7e1175912b46c25435494483c3190344f1c497da9"; + sha256 = "89044b270b36a97b9d39350ea20df1d1cdd19628f048a4fb908316a9b081393c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/vi/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/vi/firefox-96.0.2.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "2c0fbaba7c78581e6f6810c4eba677e4d36c567dfae379a38cfc21ffcc8f436f"; + sha256 = "a983b8b260feb7777e55fc3022a130d7eac1e70c2d2472759009d3154ef208c3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/xh/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/xh/firefox-96.0.2.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha256 = "3e955c713ab04ea673e284a1e7a8bebd5203ad68163a0d2c1e20e4134a1255d1"; + sha256 = "ccf3c8ec1c3aa9401693398deb82ae3a5bb3d4b085406f4f9986267309e04972"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/zh-CN/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/zh-CN/firefox-96.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "85ec531c5ad72cf4737b1e09bea9cce39b103394ba4d1e4733a36f93c366f789"; + sha256 = "3dfa8a328952a2072431d8b532c0c47312e35bf7dea70c45344fe5198a2fc1e7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-x86_64/zh-TW/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-x86_64/zh-TW/firefox-96.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "6bf84541ff65a62039f381b134668325084647a257a7fde599eab5dcd6ad3e76"; + sha256 = "d9028ad8fa1467c8ad16d16d758d9039cbad8c9de03f8c730680e82d95ad49e1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ach/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ach/firefox-96.0.2.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha256 = "7e9f42a17de2309cf2bb0c2db66149293837a2ca8bc5314962cc68bd5f00017c"; + sha256 = "117b128a7a24f7b582ef47afe4f1277f8c41e56cc2dabefa9e2761985a922c4a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/af/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/af/firefox-96.0.2.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha256 = "a0ddd7fcc61ebccad2ac697d172cd02936c9d34ce96085415255a0282433cc79"; + sha256 = "4d7e19a89324ccbc740f1466b425a7ee8643c61c2b912e8c1682d26ed2161b8a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/an/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/an/firefox-96.0.2.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha256 = "7583e32095726fd623631b88504ec59911c56ee7f6742434a3efee1209e96cd8"; + sha256 = "025f3022d2d1147c0d34ecdee4b5cc569e9ed4a0bf06f1d6ab57ec897bd1ecfb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ar/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ar/firefox-96.0.2.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha256 = "57719f2beabbfb0ae0a12c8250c60edfebefddf58764e579d658ed58c3709f91"; + sha256 = "551fd200855a19e9a6f340143112011e02b148e01ab1e7fefaeedbeb9db6e464"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ast/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ast/firefox-96.0.2.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha256 = "e3e71ac1ab5cadffd6083e243d2a4a69d743a3749e6ac7d972eae4b3f6e2825d"; + sha256 = "b0268f0f8ef786c7ae565bdda7bc18c40abe0c88a697c477532dad777540db3c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/az/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/az/firefox-96.0.2.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha256 = "8d0c2a638e0f025f81b7958ac6775d35a6d46a85e8dd72e567f78cf3df354e65"; + sha256 = "69b7da590e9788548fe4acf2441780ad9aed2e896f799f9f38e9e49b8613400b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/be/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/be/firefox-96.0.2.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha256 = "a8e06cdcd987d0001b69e48297beeb8e7d056ee526f9293f27e16578978a3ad0"; + sha256 = "1b96a70a6dc272e5a97df6a83598baf3065c54b02286a77df1cf459b750fe400"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/bg/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/bg/firefox-96.0.2.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha256 = "96eeafd9d1c17028b1eea7f67ca9da2e13f05ba07b846121d06a9ce9a5722bc8"; + sha256 = "06f3e54d8a0dac7fd696c9e205d57dcc7ff3bf61be8afe0e125ed94b6cfb0dc2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/bn/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/bn/firefox-96.0.2.tar.bz2"; locale = "bn"; arch = "linux-i686"; - sha256 = "a44d8004516d0e74343df7cbfa636ed6f1675fb7fd64a49b0fd74644675513b1"; + sha256 = "f6e416409075720bd440163a5f852a8b9e34684de966fe7675733dcd3cf1b9eb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/br/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/br/firefox-96.0.2.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha256 = "40219b7179fe5e93cf81632647adc5227f141062419559a13e2c96adb619edf2"; + sha256 = "8d9ab421a13aaf130b2487e3b2ff0a4c68da19ccc019ebaea9fbc506ccc02ac9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/bs/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/bs/firefox-96.0.2.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha256 = "1a260fabd6fa3d200bcac7d59523fdd03ee7a2100386848d273c98871a9a8cd6"; + sha256 = "3348a5431c072589366e2226b096c24c5c206dfd088f475f6814b56a674ba8a1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ca-valencia/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ca-valencia/firefox-96.0.2.tar.bz2"; locale = "ca-valencia"; arch = "linux-i686"; - sha256 = "0fda5a630ffae654a761361620989fdad3e395758c6ca453f7181d5594a9f430"; + sha256 = "38c46aa9998c09a5498115c2747bae7af74e79aba3e84ae8030979eb566e67a6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ca/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ca/firefox-96.0.2.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha256 = "6304b319a9da49492dea2a268719f6bcfd1b57313fe22a57d104c693e465b237"; + sha256 = "5e1f0a52844e54f689ddd8d101a1a35373aff57d2123bd764808c5e6e00f9a33"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/cak/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/cak/firefox-96.0.2.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha256 = "ac93bef164ede21d362db4c130ca2182239681d32aa41ceecc6040321521ac1a"; + sha256 = "0bdd0ff060093c85c3dc4ac690b4e8e094165da76c1cc32df0ce2bd738f6d629"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/cs/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/cs/firefox-96.0.2.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha256 = "6ddafa9c714bac65e5a06bf459e62ba95287d540a891921d0054d485617984e2"; + sha256 = "7adf999a82970a477e174b06bd20d0454a72fffa8e3ee3f21e72d02850069918"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/cy/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/cy/firefox-96.0.2.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha256 = "247e05e6ebca3213b837dfc9d5b5cb00154eb86bb097a1c8cfa1e76f181f1492"; + sha256 = "b8aec416d144b49395230194f056bb1749a5056adaabb132ff95da7bb653cde6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/da/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/da/firefox-96.0.2.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha256 = "e66dac7ac62ab4337b78f1bf9565044a064e88a3a5ca48a41ceb6a6288e0f25e"; + sha256 = "6f1ef67a6394380d948e0365610e81e2fc0ccf850d6167f90c258c26cc363598"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/de/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/de/firefox-96.0.2.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha256 = "6b6de662320063cb030977f6c9375dfa9e5c218686333ebaff00f4ba9626ac01"; + sha256 = "efd33ca5b825d9d62380f28a0ce6f9e4d1413570eddb94922522e8ac5272b8f3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/dsb/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/dsb/firefox-96.0.2.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha256 = "903ee6402b4f37b87ba0ff39a7c3a903cf29555c11796021e98646b4d1584ab9"; + sha256 = "b426f1945115787abafd1d91dea98e1e5b420a017cc596392cd4df7d246eb580"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/el/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/el/firefox-96.0.2.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha256 = "4b023b27b2c575f984c43308a13c86156da437bb8fd7085da3616494b39eac37"; + sha256 = "8b9882be7db1ed6442e46fb47d8615ff1f408d95472cc40b96b44f0626907983"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/en-CA/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/en-CA/firefox-96.0.2.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "3dd23a34cfee05b0de52a50d1c0bdaef69406425bc373571e3327424a301b42d"; + sha256 = "d73debdbd205a77d813570072c900251da002ad829b62bda7921e8ae2b749876"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/en-GB/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/en-GB/firefox-96.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "ba26bc03bbd97169e683460ddc77cbd0404bc24f83d66b2b3c1bc1b5f0f4f993"; + sha256 = "a523d57d573b59c1ca4be7912c2a84b77db89f50417d7064f041474fe270d95a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/en-US/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/en-US/firefox-96.0.2.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha256 = "1108c32b4a4de68a056c44b1676db1642916ff310612b4683c126ccfc0f14cec"; + sha256 = "0bfaf456bdcfa41e0ca4c45718734a70fac419f29edec41d3357708f38813240"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/eo/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/eo/firefox-96.0.2.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha256 = "76595cb29d2d773e37e251a292c6c9dd7d5c6491c16e75fdafa638a8f753054c"; + sha256 = "1223972105ead68b14903d9bd081fb23fdaa4cd6cfb8eef970253e64b467f141"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/es-AR/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/es-AR/firefox-96.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "6f44be9c4450b438b4a1651a7190fa32aaa9a43f5fe58353f83ef7eb218a1fa7"; + sha256 = "268fa9d6a476dbed0f2f20ad32d3de8784159dbbfeb8fab67f22088167b3ebe6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/es-CL/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/es-CL/firefox-96.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha256 = "168a389fe8a5d2b9c8898e740a13f8f48a6e7f57cc1e1cd998a8a9d26b9534d6"; + sha256 = "7c0b04a76748c77f78e629b4ece02ba8c9b237c229f699584408deb975a618cc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/es-ES/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/es-ES/firefox-96.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "762c5910b1fc6e2e64fb14326b7da6bbb1106a3bba45821d1cb7908d484d03a8"; + sha256 = "59d9a063c4e072f7db25fca31b2ea93bc660a5290bf0a52b6936e3b7f6526708"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/es-MX/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/es-MX/firefox-96.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha256 = "d215acff39e7e2d31fc0b02f820209b2874c6d75760a888abc880da2a4aa7cd7"; + sha256 = "f9ea0cdb41fba2b058df9a8547fa626f368c820de40a07a5630e46c751f09e0d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/et/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/et/firefox-96.0.2.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha256 = "e9ee93c11644179d9032e042bf00d9620536b846611e7b3bb9924228ea26a47c"; + sha256 = "9dd85d7102378cbdf2a8307fadfc3c875ac7586aff93592a026fec03d924cc76"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/eu/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/eu/firefox-96.0.2.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha256 = "3de1a6e07db385fce85ebdf8ed4299e5d8e95578f4e00e69abd62a24fd4ce769"; + sha256 = "fb7de46ac3086baa493410aa184fe2e8af2dcc74d516f702a019bd091cf93563"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/fa/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/fa/firefox-96.0.2.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha256 = "8d3ed0432dffd19b8b5b02ebe7bc71e6b9119a1cd8db2d8bade391286ea5da7b"; + sha256 = "f2036970faecc4e37e80fb8a128aa35ad260ed6774d42b4f1b797e63dbe756fb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ff/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ff/firefox-96.0.2.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha256 = "3daca20b3c0710a5bc587bd087fc98d261a1d8bfb8b81a13ab8bd770f1e02619"; + sha256 = "b4d4cab79e00bed477a26da373e134fe319ea296c46ebcf20e5e92622a241bc8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/fi/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/fi/firefox-96.0.2.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha256 = "eb28ffcc96735a3d5b2e1e63b496fbec142bdde057140bbf4885e3b6dfba967d"; + sha256 = "8185c38f9511b0b38a15679c8e4965d29a6f3f0dee94f1c3c7b51d1f46e175c4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/fr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/fr/firefox-96.0.2.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha256 = "98cf0c26f0a81c240dded3e4e4ec1ae4fc14b6944ced9f6cf196e568f4fa8b52"; + sha256 = "9ca5fa4bb1ad4329ba16e3926d78d59012f5c602f076fdcb302714e843dd2d1a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/fy-NL/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/fy-NL/firefox-96.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "ed035b9763ff6d3a3bb9e6f283df2c6c7758e0dbc80124626822fb802b086215"; + sha256 = "4f3e48689490a883f68e5501759d31f7f415897aff6bc435265ec1ceff4868c5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ga-IE/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ga-IE/firefox-96.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "96e22258417ae821ba19961da62158454d4d5b6882cab908da3dc2875ed6e4cd"; + sha256 = "0b6eba35cf420252b9864b51785f9ad3122fce63e73dfea103619c6a4e9b2ea0"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/gd/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/gd/firefox-96.0.2.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha256 = "6162712f9875132025088bd1d5b7288eb768cb9d666b85c37a75bd29bfa97c6c"; + sha256 = "62d500428de85366503c11beb87370d67bbf0cc26a3396ec22535f6e7c731fcc"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/gl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/gl/firefox-96.0.2.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha256 = "eb90f192145ff258876c35c1cad609b547f1b4ae2e0819148908575092da6fce"; + sha256 = "cbbdc4165500ab3dcb10035b3fcbef5ca84612b8972821f2a9c974c55bf2de2d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/gn/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/gn/firefox-96.0.2.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha256 = "4d954ad5adea89cedc31d4bd3ee06c31718c8be69e8df4fb734cb9fa0fc6666f"; + sha256 = "376ef506f3197384d4f93bf0e9c535181c82014190c881b0d61c957016b455a5"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/gu-IN/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/gu-IN/firefox-96.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha256 = "a3ddf64b28b0309d8c3c60a31a301cac34c70868a83517a418f68a06780d50de"; + sha256 = "a2c77948f281162c8d430f5b5e3ccb1cd787e2b57177987a2b1a55c2f4c6c617"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/he/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/he/firefox-96.0.2.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha256 = "949d9dd58b170902e43a232931ae366bf2ad2d753b4dee7ddec728db4c5c2cd7"; + sha256 = "89cd9df5f34c129e9cb6d8a2c5cd964608f798a878aa2b695df00f8132fc12a2"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/hi-IN/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/hi-IN/firefox-96.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha256 = "0440859bdd04fe66811f59e0f00475bf1840a42e4af6887a70e510bbd33bc238"; + sha256 = "aab1f42deaa1cfecc31e3c7cb5f604da1856363f230ec61b921397838fd86b48"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/hr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/hr/firefox-96.0.2.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha256 = "ae452061984ae42e20b43a1c6dd2b843561f3df0a700dfcfc3a6eab1e607bbbe"; + sha256 = "bd585129e356ef3777358a38a86ae8452a5b86abdd9b28778d12ed73564561a4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/hsb/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/hsb/firefox-96.0.2.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha256 = "722a3f671c3ca0d9f8e894bc7150a247ce45a011db199af029354ad03b2e6961"; + sha256 = "6895520f5a675d5234b1556823684c6e26b7fa68b92b63931f28995face794ba"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/hu/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/hu/firefox-96.0.2.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha256 = "df5c83b65ebed8894c2046c6649326927f719cf754e05a90050201947aedc2c9"; + sha256 = "ebfe02bac09e691ef4dc2b2c4e9710816d629b30bfc9a799f47adb81a9df1ce7"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/hy-AM/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/hy-AM/firefox-96.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "30119473a01cb79fca861bcb3d4b8edd8920367267fa356dc2349f10556fc58b"; + sha256 = "fa1bd0398ab30da697189fb5ac3ecc641bb63c42917259234e11e4fc1d1f8710"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ia/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ia/firefox-96.0.2.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha256 = "7ffb03fe4afc58757afc7172cc58a99f88fd1f0b715ce065a4e0c05ec77d4e58"; + sha256 = "f981b9d9e290fd2efd8627a0f5e831de59d4d62833c0e5dd4c2f249791233d51"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/id/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/id/firefox-96.0.2.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha256 = "069409053f3ed5c4d3cb3201335d9f535c84ddb38bac2e00612c1ff3b9bd5294"; + sha256 = "e8b5511d6e24e783677a4e4766151943283ae9b6b7047cf380ab33d7d557de80"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/is/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/is/firefox-96.0.2.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha256 = "1a85a73f85fa25d1028c481e5e615fb0295a143e4cac2662e601e0ba01fdf6db"; + sha256 = "3e2eb36a19c5cbf69d958d7f19c0938039f1c26fc94ddd33696316cd709f5298"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/it/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/it/firefox-96.0.2.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha256 = "0fdc8b691c06764ca4fbcb6f14dad02b095542e29d262c73916e6410b65c2b2b"; + sha256 = "0365c8a8395cba72a2f57a65034c00c87e1dd392efb4bcf073812efc49713225"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ja/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ja/firefox-96.0.2.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha256 = "407b36c40f3c3a83232b59569edbbf75e25cea2d8ca6819b4ab89ba2b950ef06"; + sha256 = "6c3d8d2f71b3e1d0d5e270008dcd53ada5106b3f5239d2f2039eadf03b9dc076"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ka/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ka/firefox-96.0.2.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha256 = "21f718a2a2f1b69b49b4551382c9946ce4b5f98758c5d36e2bd14864ffcb95d4"; + sha256 = "a63591cd5b0ff79c2ab0baf125cdbfff0baac178dbb8fec5d50c313e2d63a4d4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/kab/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/kab/firefox-96.0.2.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha256 = "fe5978a2f22f87fbd79dbbb8b30885e67011c5d264ea59b36449dc72e93e26ec"; + sha256 = "80e09564908adc6fd6219ffd58ff2e4f91da04a42ba2535014526317fb63763f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/kk/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/kk/firefox-96.0.2.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha256 = "7202218b736e5754134ea7f233748a108006b78a866abb009ed5f69049e3e2e4"; + sha256 = "382fdf810ea304cfb12d8d19c28e407a404c75bf09770b882abdad3c5d101eb8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/km/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/km/firefox-96.0.2.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha256 = "1a5ac6c5c8060187210a9b3edf827fec7581b7120c0844432d7e000ec6ab0d7b"; + sha256 = "2ff261744a3d3466086d175c860b7a7565848870e77bbd8af93bb1f0b7b1baea"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/kn/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/kn/firefox-96.0.2.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha256 = "a9f44a276a63e95e8bfb560306bbe063bd490b4a292d1c890e34993b4922e32e"; + sha256 = "bdd6864ae5fa723f47d029a0f0d8265c865b7635d33aaed9003f26d4962ba34f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ko/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ko/firefox-96.0.2.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha256 = "087ebdad604bdbc1217101abb46792e87ad8e699b9de46c89c76bbf09eab9fd8"; + sha256 = "643a9b2ed25c15a3e2139af4cb80e249dd8da3719a36cc3d21549fd36de8631c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/lij/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/lij/firefox-96.0.2.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha256 = "18658b4702781932656955581ad8274485df0cece8ea10a42351b6434ea70248"; + sha256 = "326260fd6b0a996016cdbc0668cbd819199cc9f39584eb81e46182032b2e4175"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/lt/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/lt/firefox-96.0.2.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha256 = "54b39021bea1cc0df72b2987f5e7f4bd22c70fee6321c0019f4f8c289ff726a7"; + sha256 = "7888d9db18476a8f5d1e6bc69159b80266bd0bc58e302c66b3aecc6bb304871a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/lv/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/lv/firefox-96.0.2.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha256 = "ff98715d29da51180c243b5430e2b1f00195173f671371fe1ac48878e8522169"; + sha256 = "6c6eb3f523fbcee8342de1d0a159afa8a182621bd126e030ae0bf663fc7341ef"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/mk/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/mk/firefox-96.0.2.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha256 = "805244fa550ca460bbd2b579953e37e8c5ae80a1bc476b8f7ca88ce3efb44145"; + sha256 = "d86c29d3a883d7caa7b6d5eacd43dbd7c25ec2cb01f8cd6a2a81da794bb4e7e4"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/mr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/mr/firefox-96.0.2.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha256 = "1115ed83e193a5b07235d329294ebe40e89eb51e4ce12ae8a1e9b4f532f15843"; + sha256 = "d2af69b599ef0793361909104e7ad7889f86789e534dfee13b977a044802a834"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ms/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ms/firefox-96.0.2.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha256 = "b0f63831385a3861328d87204658355d15c613d21a845c5c8dc9a1c10bbc4a87"; + sha256 = "8876f2df083506768b674e20d43e4da2c0d54f717fc4df306c3386548ae42921"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/my/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/my/firefox-96.0.2.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha256 = "8f2ce2941ed3699bc3391a772feb487bd3db8b725712e00017041ea144dad260"; + sha256 = "ce16c5c94d81c3d0b7cd763123c97ef8e56bcd01ddebb616ebd1ab77d37f1650"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/nb-NO/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/nb-NO/firefox-96.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "62b2d55a7d93960136630098990f7d9bf3201adb2f83674d65c1a01f9e880661"; + sha256 = "c56b6baf9439af5612e4b141d3af24bc12b256e93f13775f3e6d98065bea079b"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ne-NP/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ne-NP/firefox-96.0.2.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha256 = "d9e9ebe109510bc7c682c70302d8513d1485892903c2415ce380664c64958f37"; + sha256 = "8c9dca9eb2f824697a66cedf1f3b92ab94b312b1463fa72596962b7aaa93cfb6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/nl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/nl/firefox-96.0.2.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha256 = "3c2a208fd8041087ab7c27043c4b30b2f46fc37db63dc20d9a3e7583b53add32"; + sha256 = "b20a48a30c36750578b1365837be5bdb190f338a046c47748890edf96c4cd661"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/nn-NO/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/nn-NO/firefox-96.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "c17cb0d640544e6ff18b88c011f3f1cb2ff38b0100265dd171f80415fb33941b"; + sha256 = "9b7c79689c11d95acecb34a9a8022bf197384dc79b229fe3e648f92e08ab58bb"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/oc/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/oc/firefox-96.0.2.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha256 = "f26d24a2d9e00cfa2d6f6e0292ae9c8e47764e686aba7bc8202e04a7a2ac2455"; + sha256 = "f2df32774438f105d67a80e8c3c0ef72b0606dbad796b34ae60f48942ab755b6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/pa-IN/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/pa-IN/firefox-96.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "98c13f5a1164bc6c0545f1134ab4f8a114e6ec317de3a78f1116e42cca10bb90"; + sha256 = "d5e66f3c0f9c3a554f7c9254f46f15e2e087e1ece1a6cd946df03cc1067b42a1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/pl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/pl/firefox-96.0.2.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha256 = "8da390aceebd3f8ada061b955ec4f2e0b50c3e550f3fe966a0621daf19a7362d"; + sha256 = "5eb5863b680e85e322d92cabed13683264d1503e596ef604cd60ee6c9a2c30ff"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/pt-BR/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/pt-BR/firefox-96.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "9b704bd207ec1d046e21d351e7110f01e7057350fac100b2f4afe8e92d94d5a1"; + sha256 = "b1f14be92a6e861fc7dc04274d9260d863fad697ea3bd5b39f2254430ca5999c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/pt-PT/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/pt-PT/firefox-96.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "32610508fd9ff1b4d902f8584c9bfdcbce34ba74e2282a67195e5107043a86a6"; + sha256 = "e72d8c50059ca2b87f7f75d53dd8c3e8523792326ac1b245c012353a11244023"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/rm/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/rm/firefox-96.0.2.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha256 = "382dc90854525ad799b558544b6a40fe1fc9abeaa2bb231d6f7a043b99dd93c6"; + sha256 = "47809c62aa91491b0856c1d775f700197d7b97b6b26d1ac2e41cdcbcedbe25a8"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ro/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ro/firefox-96.0.2.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha256 = "2847b9c8a97d7907720b0b5d672d5eea697f34acad777da2003ff7550481d713"; + sha256 = "5517806008befa780195a69a8f5a0b1f0c21b9e93ab2acddc6defa58bcd5ca23"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ru/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ru/firefox-96.0.2.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha256 = "f5c0e7c12a8d6e5213cbebc929272c057617e0dfa35d999196528fafde2ab2f1"; + sha256 = "6a2050e7b67aa42b5deaf2455daaee8294cd987c5b7bbc95f6055e7c767c29f6"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/sco/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/sco/firefox-96.0.2.tar.bz2"; locale = "sco"; arch = "linux-i686"; - sha256 = "50809c7b9a01e970a95dfd798bd4a8d3830be773feeadb53384f79647621812f"; + sha256 = "e6a0ad3eeebde291d3196ea98704708bf23f22ee51df05c6d3e8170a97be7003"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/si/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/si/firefox-96.0.2.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha256 = "41995afb9efda0e8dfb55b4ebf50efbdf19312e0a51925385cf6a4443fd87648"; + sha256 = "61d878e6e91a4aeced23cbdab43362fa12ff378b1f71eaa334fb052894cff070"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/sk/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/sk/firefox-96.0.2.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha256 = "55827591e4780395b8bd61cd3f012f28adb7b16f4947ea5a11d8baead58adb12"; + sha256 = "8cf44c88119dcc189e3792aa0da589f539b7986cb909c690262ca27d8f354cdf"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/sl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/sl/firefox-96.0.2.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha256 = "92294aa987214638a26d04df3172810840e4e3ee376a701f0e13449a86cc8dad"; + sha256 = "36799bbf527451d66dbbe93c9c59ca2f2b57c9a7541ba5ca26169eccdce67e76"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/son/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/son/firefox-96.0.2.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha256 = "44f20f8e5ebaafd172c2c1aae53c84fdc431e8a75e16ac92f0d780d658744ffb"; + sha256 = "a40fdc44a5dc12fe62a4a86d88c2ce970bb95d20d8b9f99f6826339ed286129f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/sq/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/sq/firefox-96.0.2.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha256 = "51a815d555d1fe2f4381b9e24959e654e86c5d2db331bfc37f6eafd659a6a8a6"; + sha256 = "b40fb49c73b5d1d6c0784b94f99bfb9804c0c5dfb40f579dc58ecb3e1625733a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/sr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/sr/firefox-96.0.2.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha256 = "9f5413c7ea5c1cc1fa4d8830b70d7ea0ff7f5111eef0097a4597f408c51bea0b"; + sha256 = "6f91b48edc1a158c0d3e9413771d4de8086bfc271ce353a7af5849f9ca8ae969"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/sv-SE/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/sv-SE/firefox-96.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "7ff0f61d652b0c465401bd00fbe92685582e00516eddd84724ad3eaf7e327ab6"; + sha256 = "24e91611cbeaf0f4276e92f7f2eb8fec2138daef6928ae0520fbac941eb80a67"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/szl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/szl/firefox-96.0.2.tar.bz2"; locale = "szl"; arch = "linux-i686"; - sha256 = "b8a21ac4fcff9551249959ebf55a168a8ad8cc30be212563ed68bd3f93283fb9"; + sha256 = "3ae32ba0b3543f09f3420d049818fac9cb1640585d7a28f1dd6716bc2f7254d3"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ta/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ta/firefox-96.0.2.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha256 = "9fd00bf87c76747832a1930c4ce526d6e280b86c5634e1b132791fbda70e9e4d"; + sha256 = "f5c15f7ed3794950b59ecc53a1131225b47a9ca80b511a4ad6d8102c59fc1f2d"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/te/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/te/firefox-96.0.2.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha256 = "332357b136ca53f54c5fffde603d6fb1fc4d1837b73d87717df227b490ba37a6"; + sha256 = "d57ec26edb702f4e266f312f58301291e8591f27e1b192271abb02eb1c0b2b98"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/th/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/th/firefox-96.0.2.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha256 = "1ad3f1b9f54af9e039d094e6039f77c7a3ccdfbf70b2178893bb4a91de74357d"; + sha256 = "2f8c857dc7a76dd6b67227db7c4e96a46731e62c94ecb4aea9fc0db02d564550"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/tl/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/tl/firefox-96.0.2.tar.bz2"; locale = "tl"; arch = "linux-i686"; - sha256 = "2ad07a41fd029ba2d2cf84ba392e6a3ddca5df8f9ed81dd4b4d1dfe592f2f048"; + sha256 = "5c32180b070711556389f075b4534af36512402b27d1b830b7ff61b6ac6dd6de"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/tr/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/tr/firefox-96.0.2.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha256 = "dd3dd66c7933dbd1177b7e2f435d654b4d500698536bcb41b46711f717fdb319"; + sha256 = "bae06b7dd30733e5577e115f38422d19446da1b0688285f7c42dad67541ab99e"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/trs/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/trs/firefox-96.0.2.tar.bz2"; locale = "trs"; arch = "linux-i686"; - sha256 = "2ad69a163f840f6be6bc6900bb7a782b7d4e851ac9f5499d2ed95eeb9aa7db20"; + sha256 = "abfda71628b8e1e2bde86313a40d6020af23375a35d5ca358b913018eaabf48c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/uk/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/uk/firefox-96.0.2.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha256 = "121946a0f845e7ed7735e5c59c1be45937052c34c7e424acb11128227d39f254"; + sha256 = "b3e5b473ef65142c874db372f0e91d9bccb98cdd036b6836d152763e3da9e91f"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/ur/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/ur/firefox-96.0.2.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha256 = "e9b4b2281f9ce81065bc6a23313f545cd05966cfb6fefafbcb7ef03111ea72e4"; + sha256 = "9cab179f8d78ff1e560b8abfe16a9c706196edadbe89533fd5fdf249922c978c"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/uz/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/uz/firefox-96.0.2.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha256 = "d8c224173410e8c1715e9ec36cafc055c75e56f7915c656cca9767ad0549f914"; + sha256 = "69f13464ba86fe89e601752dbb0a65f3c9f2d1316708830ec049f0b98933e4b1"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/vi/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/vi/firefox-96.0.2.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha256 = "0005d0f255e02cbe00395028989e6a8f500017c1e4e97541fff0a65d5f1455a5"; + sha256 = "87fbc304b7a1da8b27cc2b1e3d15c6206293bdc3d535a98afcc9020b5ed205d9"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/xh/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/xh/firefox-96.0.2.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha256 = "b987fd9b99a87fadf1103a83eba1758b2c326858e5d806cfce8c4737887edae1"; + sha256 = "cdcc87ed3e583f4a1720fe3fc8a9fa4d1241e999cd334c6caa9cf7692901807a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/zh-CN/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/zh-CN/firefox-96.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "0c779c6d1e4556c032ac8f086dabe322c7b05b5f10357f82f39fe8e6090b9a28"; + sha256 = "4c19940887575f104a1f54a7cfdf98899894a51242cd3fe619512114fd8cc22a"; } - { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.1/linux-i686/zh-TW/firefox-96.0.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.2/linux-i686/zh-TW/firefox-96.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "45c9a7eb698491ba67618b3649e22357d999e0e292d71bbcad7a19a0cc4d6f9c"; + sha256 = "0da0137f4abf987b7e8f20e49d6b04ba83f6f54e16d3fe9cb57ec2be8a6e6902"; } ]; } diff --git a/third_party/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix b/third_party/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix index 33a9e9f865..e93ea8ca66 100644 --- a/third_party/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix +++ b/third_party/nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix @@ -44,7 +44,7 @@ , libvaSupport ? true, libva # For Vulkan support (--enable-features=Vulkan) -, vulkanSupport ? true, vulkan-loader +, addOpenGLRunpath }: with lib; @@ -70,7 +70,6 @@ let libxkbcommon pipewire wayland ] ++ optional pulseSupport libpulseaudio ++ optional libvaSupport libva - ++ optional vulkanSupport vulkan-loader ++ [ gtk3 ]; suffix = if channel != "stable" then "-" + channel else ""; @@ -143,7 +142,7 @@ in stdenv.mkDerivation { makeWrapper "$out/share/google/$appname/google-$appname" "$exe" \ --prefix LD_LIBRARY_PATH : "$rpath" \ --prefix PATH : "$binpath" \ - --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addOpenGLRunpath.driverLink}/share" \ --add-flags ${escapeShellArg commandLineArgs} for elf in $out/share/google/$appname/{chrome,chrome-sandbox,${crashpadHandlerBinary},nacl_helper}; do diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix index 6d1cfa4f73..a42c3380e6 100644 --- a/third_party/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix +++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/argocd/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "argocd"; - version = "2.2.2"; - commit = "03b17e0233e64787ffb5fcf65c740cc2a20822ba"; + version = "2.2.3"; + commit = "afbd59ba636cfd999fe6ead8a84323413882e230"; tag = "v${version}"; src = fetchFromGitHub { owner = "argoproj"; repo = "argo-cd"; rev = tag; - sha256 = "sha256-xExtGKM3iNgX849xmLcgIwRbXJSJnGDuVhRMkti+Mkc="; + sha256 = "sha256-Lw4/VmwD/IF2GEFzQP1kerXrST1kvWvG2nr/br/tO0w="; }; vendorSha256 = "sha256-BVhts+gOM6nhcR1lkFzy7OJnainLXw5YdeseBBRF2xE="; diff --git a/third_party/nixpkgs/pkgs/applications/networking/flexget/default.nix b/third_party/nixpkgs/pkgs/applications/networking/flexget/default.nix index 0136366423..764e23ca51 100644 --- a/third_party/nixpkgs/pkgs/applications/networking/flexget/default.nix +++ b/third_party/nixpkgs/pkgs/applications/networking/flexget/default.nix @@ -2,14 +2,14 @@ python3Packages.buildPythonApplication rec { pname = "flexget"; - version = "3.2.8"; + version = "3.2.11"; # Fetch from GitHub in order to use `requirements.in` src = fetchFromGitHub { owner = "flexget"; repo = "flexget"; rev = "v${version}"; - sha256 = "0hr19f678pyd7mnzclfv7imh9s2m01k92dza1csyfacclvri8m07"; + sha256 = "1l9xy8k0imfdg4r03k659f85z945bksx672gqhkchf2svi2vnvql"; }; postPatch = '' diff --git a/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index a874d60f13..f1bcd10127 100644 --- a/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/third_party/nixpkgs/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -24,7 +24,7 @@ let in stdenv.mkDerivation rec { pname = "signal-desktop"; - version = "5.27.0"; # Please backport all updates to the stable channel. + version = "5.27.1"; # Please backport all updates to the stable channel. # All releases have a limited lifetime and "expire" 90 days after the release. # When releases "expire" the application becomes unusable until an update is # applied. The expiration date for the current release can be extracted with: @@ -34,7 +34,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "1agxn4fcgln5lsccvw5b7g2psv6nv2y7qm5df201c9pbwjak74nm"; + sha256 = "0z0v7q0rpxdx7ic78jv7wp1hq8nrfp51jjdr6d85x0hsfdj0z1mc"; }; nativeBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/applications/version-management/src/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/src/default.nix index 1735449e3f..a39a1fd79d 100644 --- a/third_party/nixpkgs/pkgs/applications/version-management/src/default.nix +++ b/third_party/nixpkgs/pkgs/applications/version-management/src/default.nix @@ -1,16 +1,30 @@ -{ lib, stdenv, fetchurl, python2, rcs, git, makeWrapper }: +{ lib +, stdenv +, fetchurl +, python +, rcs +, git +, makeWrapper +}: stdenv.mkDerivation rec { pname = "src"; - version = "1.28"; + version = "1.29"; src = fetchurl { url = "http://www.catb.org/~esr/src/${pname}-${version}.tar.gz"; - sha256 = "1fkr5z3mlj13djz9w1sb644wc7r1fywz52qq97byw1yyw0bqyi7f"; + sha256 = "sha256-Tc+qBhLtC9u23BrqVniAprAV8YhXELvbMn+XxN5BQkE="; }; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ python2 rcs git ]; + nativeBuildInputs = [ + makeWrapper + ]; + + buildInputs = [ + python + rcs + git + ]; preConfigure = '' patchShebangs . @@ -24,6 +38,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + homepage = "http://www.catb.org/esr/src/"; description = "Simple single-file revision control"; longDescription = '' SRC, acronym of Simple Revision Control, is RCS/SCCS reloaded with a @@ -33,10 +48,9 @@ stdenv.mkDerivation rec { will seem familiar to Subversion/Git/hg users, and no binary blobs anywhere. ''; - homepage = "http://www.catb.org/esr/src/"; changelog = "https://gitlab.com/esr/src/raw/${version}/NEWS"; license = licenses.bsd2; - platforms = platforms.all; maintainers = with maintainers; [ calvertvl AndersonTorres ]; + inherit (python.meta) platforms; }; } diff --git a/third_party/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix b/third_party/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix index 51fda8098f..bec74dd46a 100644 --- a/third_party/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix +++ b/third_party/nixpkgs/pkgs/applications/video/kodi/addons/arteplussept/default.nix @@ -1,4 +1,4 @@ -{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, xbmcswift2 }: +{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, requests, xbmcswift2 }: buildKodiAddon rec { pname = "arteplussept"; @@ -11,6 +11,7 @@ buildKodiAddon rec { }; propagatedBuildInputs = [ + dateutil requests xbmcswift2 ]; diff --git a/third_party/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix b/third_party/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix index 78720034ea..a3ef59e8e9 100644 --- a/third_party/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix +++ b/third_party/nixpkgs/pkgs/applications/virtualization/firecracker/default.nix @@ -1,7 +1,7 @@ { fetchurl, lib, stdenv }: let - version = "0.24.5"; + version = "0.25.2"; suffix = { x86_64-linux = "x86_64"; @@ -22,15 +22,15 @@ stdenv.mkDerivation { sourceRoot = "."; src = dlbin { - x86_64-linux = "sha256-drcm2kz2csuJqr8Oqs0r1BrxgPHOyuwC2S+99MhbMjA="; - aarch64-linux = "sha256-x8RoBmgY3HRUOLw8YzEwQfQuT83zGfBHHWu88b4i05o="; + x86_64-linux = "sha256-ZzlPq+Q9XfWQJr+7nKS0e6bfKwYNfpMHSiBIKeOr/s4="; + aarch64-linux = "sha256-75UC+HeVUfUk1HRvTJsOHbHHkgr6me1OtxDF7lahf68="; }; dontConfigure = true; buildPhase = '' - mv release-v${version}/firecracker-v${version}-${suffix} firecracker - mv release-v${version}/jailer-v${version}-${suffix} jailer + mv release-v${version}-${suffix}/firecracker-v${version}-${suffix} firecracker + mv release-v${version}-${suffix}/jailer-v${version}-${suffix} jailer chmod +x firecracker jailer ''; diff --git a/third_party/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/third_party/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix index c7c5becd70..8cb9dcd18c 100644 --- a/third_party/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix +++ b/third_party/nixpkgs/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix @@ -28,15 +28,13 @@ stdenv.mkDerivation rec { pname = "elementary-calendar"; - version = "6.0.3"; - - repoName = "calendar"; + version = "6.1.0"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "calendar"; rev = version; - sha256 = "sha256-+RQUiJLuCIbmcbtsOCfF9HYFrxtldZMbg2vg/a/IOaY="; + sha256 = "sha256-LaVJ7QLc0UdSLgLIuHP4Anc7kPUelZW9PnIWuqKGtEQ="; }; nativeBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/compilers/avra/default.nix b/third_party/nixpkgs/pkgs/development/compilers/avra/default.nix index 30fd5f52d1..f3bc33516a 100644 --- a/third_party/nixpkgs/pkgs/development/compilers/avra/default.nix +++ b/third_party/nixpkgs/pkgs/development/compilers/avra/default.nix @@ -1,28 +1,23 @@ -{ lib, stdenv, fetchurl, autoconf, automake }: +{ lib, stdenv, fetchFromGitHub }: + stdenv.mkDerivation rec { pname = "avra"; - version = "1.3.0"; + version = "1.4.2"; - src = fetchurl { - url = "mirror://sourceforge/avra/avra-${version}.tar.bz2"; - sha256 = "04lp0k0h540l5pmnaai07637f0p4zi766v6sfm7cryfaca3byb56"; + src = fetchFromGitHub { + owner = "Ro5bert"; + repo = pname; + rev = version; + hash = "sha256-joOj89WZ9Si5fcu1w1VHj5fOcnB9N2313Yb29A+nCCY="; }; - buildInputs = [ autoconf automake ]; + makeFlags = [ "PREFIX=${placeholder "out"}" ]; - preConfigure = '' - cd src/ - - aclocal - autoconf - - touch NEWS README AUTHORS ChangeLog - automake -a - ''; + doCheck = true; meta = with lib; { description = "Assembler for the Atmel AVR microcontroller family"; - homepage = "http://avra.sourceforge.net/"; + homepage = "https://github.com/Ro5bert/avra"; license = licenses.gpl2Plus; platforms = platforms.all; }; diff --git a/third_party/nixpkgs/pkgs/development/compilers/gavrasm/default.nix b/third_party/nixpkgs/pkgs/development/compilers/gavrasm/default.nix index 6bd813b56c..0a969a80c1 100644 --- a/third_party/nixpkgs/pkgs/development/compilers/gavrasm/default.nix +++ b/third_party/nixpkgs/pkgs/development/compilers/gavrasm/default.nix @@ -1,36 +1,45 @@ { lib, stdenv, fetchzip, fpc , lang ? "en" } : + assert lib.assertOneOf "lang" lang ["cn" "de" "en" "fr" "tr"]; + stdenv.mkDerivation rec { pname = "gavrasm"; - version = "4.5"; + version = "5.1"; + flatVersion = lib.strings.replaceStrings ["."] [""] version; src = fetchzip { - url ="http://www.avr-asm-tutorial.net/gavrasm/v45/gavrasm_sources_lin_45.zip"; - sha256 = "1f5g5ran74pznwj4g7vfqh2qhymaj3p26f2lvzbmlwq447iid52c"; + url = "http://www.avr-asm-tutorial.net/gavrasm/v${flatVersion}/gavrasm_sources_lin_${flatVersion}.zip"; + sha256 = "0k94f8k4980wvhx3dpl1savpx4wqv9r5090l0skg2k8vlhsv58gf"; stripRoot=false; }; nativeBuildInputs = [ fpc ]; configurePhase = '' + runHook preConfigure cp gavrlang_${lang}.pas gavrlang.pas + runHook postConfigure ''; buildPhase = '' + runHook preBuild fpc gavrasm.pas + runHook postBuild ''; installPhase = '' + runHook preInstall mkdir -p $out/bin cp gavrasm $out/bin mkdir -p $out/doc cp instr.asm $out/doc cp ReadMe.Txt $out/doc cp LiesMich.Txt $out/doc + runHook postInstall ''; meta = with lib; { - homepage = "http://www.avr-asm-tutorial.net/gavrasm"; + homepage = "http://www.avr-asm-tutorial.net/gavrasm/"; description = "AVR Assembler for ATMEL AVR-Processors"; license = licenses.unfree; maintainers = with maintainers; [ mafo ]; diff --git a/third_party/nixpkgs/pkgs/development/compilers/lingua-franca/default.nix b/third_party/nixpkgs/pkgs/development/compilers/lingua-franca/default.nix index b843fd5e85..bb25853ee3 100644 --- a/third_party/nixpkgs/pkgs/development/compilers/lingua-franca/default.nix +++ b/third_party/nixpkgs/pkgs/development/compilers/lingua-franca/default.nix @@ -7,8 +7,8 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "revol-xut"; repo = "lingua-franca-nix-releases"; - rev = "11c6d5297cd63bf0b365a68c5ca31ec80083bd05"; - sha256 = "DgxunzC8Ep0WdwChDHWgG5QJbJZ8UgQRXtP1HZqL9Jg="; + rev = "d37bbfa530f0189c3e86ce0191134cdf42c6aec7"; + sha256 = "/qMBOjffvShCPcbh9rJ7aVgdgZQ1hilHakjLyEhSmgs="; }; buildInputs = [ jdk11_headless ]; diff --git a/third_party/nixpkgs/pkgs/development/libraries/assimp/default.nix b/third_party/nixpkgs/pkgs/development/libraries/assimp/default.nix index a98242f9c7..804c97ffd7 100644 --- a/third_party/nixpkgs/pkgs/development/libraries/assimp/default.nix +++ b/third_party/nixpkgs/pkgs/development/libraries/assimp/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, cmake, boost, zlib }: +{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, zlib }: stdenv.mkDerivation rec { pname = "assimp"; @@ -12,6 +12,15 @@ stdenv.mkDerivation rec { hash = "sha256-GNSfaP8O5IsjGwtC3DFaV4OiMMUXIcmHmz+5TCT/HP8="; }; + patches = [ + # Fix include directory with split outputs + # https://github.com/assimp/assimp/pull/4337 + (fetchpatch { + url = "https://github.com/assimp/assimp/commit/5dcaf445c3da079cf43890a0688428a7e1de0b30.patch"; + sha256 = "sha256-KwqTAoDPkhFq469+VaUuGoqfymu2bWLG9W3BvFvyU5I="; + }) + ]; + nativeBuildInputs = [ cmake ]; buildInputs = [ boost zlib ]; diff --git a/third_party/nixpkgs/pkgs/development/libraries/libgroove/default.nix b/third_party/nixpkgs/pkgs/development/libraries/libgroove/default.nix deleted file mode 100644 index f14524df0d..0000000000 --- a/third_party/nixpkgs/pkgs/development/libraries/libgroove/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, ffmpeg_3, SDL2, chromaprint, libebur128 }: - -stdenv.mkDerivation rec { - version = "4.3.0"; - pname = "libgroove"; - - src = fetchFromGitHub { - owner = "andrewrk"; - repo = "libgroove"; - rev = version; - sha256 = "1la9d9kig50mc74bxvhx6hzqv0nrci9aqdm4k2j4q0s1nlfgxipd"; - }; - - patches = [ - ./no-warnings-as-errors.patch - (fetchpatch { - name = "update-for-ffmpeg-3.0.patch"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-update-for-ffmpeg-3.0.patch?h=libgroove&id=a9f3bd2a5afd3227733414a5d54c7a2aa0a1249e"; - sha256 = "0800drk9df1kwbv80f2ffv77xk888249fk0d961rp2a305hvyrk0"; - }) - ]; - - nativeBuildInputs = [ cmake ]; - buildInputs = [ ffmpeg_3 SDL2 chromaprint libebur128 ]; - - meta = with lib; { - description = "Streaming audio processing library"; - homepage = "https://github.com/andrewrk/libgroove"; - license = licenses.mit; - platforms = platforms.unix; - maintainers = with maintainers; [ andrewrk ]; - }; -} diff --git a/third_party/nixpkgs/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch b/third_party/nixpkgs/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch deleted file mode 100644 index 86a8a93576..0000000000 --- a/third_party/nixpkgs/pkgs/development/libraries/libgroove/no-warnings-as-errors.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a1e8541..6bc9c30 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -135,8 +135,8 @@ configure_file ( - "${PROJECT_BINARY_DIR}/config.h" - ) - --set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L") --set(EXAMPLE_CFLAGS "${C99_C_FLAGS} -pedantic -Werror -Wall -g") -+set(LIB_CFLAGS "${C99_C_FLAGS} -pedantic -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L") -+set(EXAMPLE_CFLAGS "${C99_C_FLAGS} -pedantic -Wall -g") - set(EXAMPLE_INCLUDES "${PROJECT_SOURCE_DIR}") - - add_library(groove SHARED ${LIBGROOVE_SOURCES} ${LIBGROOVE_HEADERS}) diff --git a/third_party/nixpkgs/pkgs/development/libraries/libgsf/default.nix b/third_party/nixpkgs/pkgs/development/libraries/libgsf/default.nix index 1ccc5d7789..1850da7e64 100644 --- a/third_party/nixpkgs/pkgs/development/libraries/libgsf/default.nix +++ b/third_party/nixpkgs/pkgs/development/libraries/libgsf/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { pname = "libgsf"; - version = "1.14.47"; + version = "1.14.48"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "0kbpp9ksl7977xiga37sk1gdw1r039v6zviqznl7alvvg39yp26i"; + sha256 = "/4bX8dRt0Ovvt72DCnSkHbZDYrmHv4hT//arTBEyuDc="; }; nativeBuildInputs = [ pkg-config intltool libintl ]; diff --git a/third_party/nixpkgs/pkgs/development/libraries/umockdev/default.nix b/third_party/nixpkgs/pkgs/development/libraries/umockdev/default.nix index f85834e852..b00177960d 100644 --- a/third_party/nixpkgs/pkgs/development/libraries/umockdev/default.nix +++ b/third_party/nixpkgs/pkgs/development/libraries/umockdev/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "umockdev"; - version = "0.17.5"; + version = "0.17.6"; outputs = [ "bin" "out" "dev" "devdoc" ]; src = fetchurl { url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-9mNKYFiQtzkBTQEuVWIfR9+e2jAqDszlHGMEQpcRe8U="; + sha256 = "sha256-X60zN3orHU8lOfRVCfbHTdrleKxB7ILCIGvXSZLdoSk="; }; nativeBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix b/third_party/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix index d8b7bbc6d6..e9026d46bc 100644 --- a/third_party/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix +++ b/third_party/nixpkgs/pkgs/development/libraries/webkitgtk/default.nix @@ -64,7 +64,7 @@ assert enableGeoLocation -> geoclue2 != null; stdenv.mkDerivation rec { pname = "webkitgtk"; - version = "2.34.3"; + version = "2.34.4"; outputs = [ "out" "dev" ]; @@ -72,7 +72,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz"; - sha256 = "sha256-DS83qjLiGjbk3Vpc565c4nQ1wp1oA7liuMkMsMxJxS0="; + sha256 = "sha256-l19QGRmbp2mRkYNc914BoYuU47zQEH2nOJ1N3LGrpAY="; }; patches = lib.optionals stdenv.isLinux [ diff --git a/third_party/nixpkgs/pkgs/development/libraries/wolfssl/default.nix b/third_party/nixpkgs/pkgs/development/libraries/wolfssl/default.nix index d2735f34b7..4cfd2548b5 100644 --- a/third_party/nixpkgs/pkgs/development/libraries/wolfssl/default.nix +++ b/third_party/nixpkgs/pkgs/development/libraries/wolfssl/default.nix @@ -2,6 +2,7 @@ , stdenv , fetchFromGitHub , autoreconfHook +, openssl }: stdenv.mkDerivation rec { @@ -15,6 +16,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-/noS5cn8lllWoGyZ9QyjRmdiR6LXzfT4lYGEt+0+Bdw="; }; + postPatch = '' + patchShebangs ./scripts + # ocsp tests require network access + sed -i -e '/ocsp\.test/d' -e '/ocsp-stapling\.test/d' scripts/include.am + ''; + # Almost same as Debian but for now using --enable-all --enable-reproducible-build instead of --enable-distro to ensure options.h gets installed configureFlags = [ "--enable-all" @@ -36,6 +43,9 @@ stdenv.mkDerivation rec { autoreconfHook ]; + doCheck = true; + checkInputs = [ openssl ]; + postInstall = '' # fix recursive cycle: # wolfssl-config points to dev, dev propagates bin diff --git a/third_party/nixpkgs/pkgs/development/nim-packages/jsony/default.nix b/third_party/nixpkgs/pkgs/development/nim-packages/jsony/default.nix new file mode 100644 index 0000000000..9a4808e363 --- /dev/null +++ b/third_party/nixpkgs/pkgs/development/nim-packages/jsony/default.nix @@ -0,0 +1,22 @@ +{ lib, buildNimPackage, fetchFromGitHub }: + +buildNimPackage rec { + pname = "jsony"; + version = "1.1.3"; + + src = fetchFromGitHub { + owner = "treeform"; + repo = pname; + rev = version; + hash = "sha256-jtUCoqwCmE536Kpv/vZxGgqiHyReZf1WOiBdUzmMhM4="; + }; + + doCheck = true; + + meta = with lib; + src.meta // { + description = "A loose, direct to object json parser with hooks"; + license = [ licenses.mit ]; + maintainers = [ maintainers.erdnaxe ]; + }; +} diff --git a/third_party/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix index 64dcf44345..71257c46c4 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/azure-mgmt-subscription/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "azure-mgmt-subscription"; - version = "2.0.0"; + version = "3.0.0"; src = fetchPypi { inherit pname version; extension = "zip"; - sha256 = "70ec6e3395549c434bfd981f8f76cb8b6863339bad9b31924c1510af661dbf45"; + sha256 = "157bd9123a5814473a9cd131832ea614c478548722ec01f47b35d778dc307d55"; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix index 06dd78989f..86134f9d17 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix @@ -12,13 +12,13 @@ buildPythonPackage rec { pname = "django-anymail"; - version = "8.4"; + version = "8.5"; src = fetchFromGitHub { owner = "anymail"; repo = pname; rev = "v${version}"; - sha256 = "08ac24hrafkk1jg3milfjky3qni1cz5qggp1rgzq9r7ina4akjma"; + sha256 = "1p2c7hf9baxr8khk8h7y8d38imw4zm920dgd9nbda18vlh7gpbcf"; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix index 5b89c6bdb9..66e5d5d546 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "dogpile-cache"; - version = "1.1.4"; + version = "1.1.5"; disabled = pythonOlder "3.6"; src = fetchPypi { pname = "dogpile.cache"; inherit version; - sha256 = "ea09bebf24bb7c028caf98963785fe9ad0bd397305849a3303bc5380d468d813"; + sha256 = "0f01bdc329329a8289af9705ff40fadb1f82a28c336f3174e12142b70d31c756"; }; preCheck = '' diff --git a/third_party/nixpkgs/pkgs/development/python-modules/downloader-cli/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/downloader-cli/default.nix index e0c25c77e5..9d99709c91 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/downloader-cli/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/downloader-cli/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "downloader-cli"; - version = "0.3.1"; + version = "0.3.2"; src = fetchFromGitHub { owner = "deepjyoti30"; repo = pname; rev = version; - sha256 = "0gbbjxb9vf5g890cls3mwzl8lmcn6jkpgm5cbrif740mn2b4q228"; + sha256 = "0hjwy3qa6al6p35pv01sdl3szh7asf6vlmhwjbkpppn4zi239k0y"; }; propagatedBuildInputs = [ urllib3 ]; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/dufte/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/dufte/default.nix index b9a96cbc82..0062803768 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/dufte/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/dufte/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "dufte"; - version = "0.2.27"; + version = "0.2.29"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "nschloe"; repo = pname; rev = version; - sha256 = "1i68h224hx9clxj3l0rd2yigsi6fqsr3x10vj5hf3j6s69iah7r3"; + sha256 = "0ccsmpj160xj6w503a948aw8icj55mw9414xnmijmmjvlwhm0p48"; }; format = "pyproject"; @@ -28,6 +28,13 @@ buildPythonPackage rec { importlib-metadata ]; + preCheck = '' + export HOME=$(mktemp -d) + mkdir -p $HOME/.config/matplotlib + echo "backend: ps" > $HOME/.config/matplotlib/matplotlibrc + ln -s $HOME/.config/matplotlib $HOME/.matplotlib + ''; + checkInputs = [ pytestCheckHook ]; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/green/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/green/default.nix index f0e2e093dc..ccff2f21e1 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/green/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/green/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "green"; - version = "3.4.0"; + version = "3.4.1"; format = "setuptools"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - sha256 = "6325681c94afd0f225c7ea2dcfedfde88c859d60da384d54c9ee70b91e434b14"; + sha256 = "5dda2d2a277012227011f8f21523d70a550ebe5d47cc890fa16b9fcd9a91da53"; }; patches = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix index 1627159e6f..17f4553297 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix @@ -1,10 +1,23 @@ -{ lib, buildPythonPackage, fetchPypi, fetchpatch, isPy27, pythonAtLeast +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, pytestCheckHook +, atpublic +, cached-property +, clickhouse-driver +, click +, dask , graphviz +, importlib-metadata , multipledispatch , numpy , pandas +, parsy , pyarrow , pytest +, pytest-mock +, pytest-xdist , pytz , regex , requests @@ -12,54 +25,117 @@ , tables , toolz }: +let + # ignore tests for which dependencies are not available + backends = [ + "csv" + "dask" + "hdf5" + "pandas" + "parquet" + "sqlite" + ]; + + backendsString = lib.concatStringsSep " " backends; + + ibisTestingData = fetchFromGitHub { + owner = "ibis-project"; + repo = "testing-data"; + rev = "743201a35c6b968cf55b054f9d28949ea15d1f0a"; + sha256 = "sha256-xuSE6wHP3aF8lnEE2SuFbTRBu49ecRmc1F3HPcszptI="; + }; +in buildPythonPackage rec { pname = "ibis-framework"; - version = "1.3.0"; - disabled = isPy27 || pythonAtLeast "3.8"; + version = "2.1.1"; + disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - sha256 = "1my94a11jzg1hv6ln8wxklbqrg6z5l2l77vr89aq0829yyxacmv7"; + src = fetchFromGitHub { + repo = "ibis"; + owner = "ibis-project"; + rev = version; + sha256 = "sha256-n3fR6wvcSfIo7760seB+5SxtoYSqQmqkzZ9VlNQF200="; }; - patches = [ - # fix tests for pandas 1.1 - (fetchpatch { - url = "https://github.com/ibis-project/ibis/commit/53ef3cefc4ae90d61f3612310cb36da2bcd11305.diff"; - sha256 = "1i5yjmqridjqpggiinsjaz5spcxca5bd48vy7a0mj4mm1b5flw2m"; - }) - ]; - propagatedBuildInputs = [ + atpublic + cached-property + clickhouse-driver + dask + graphviz multipledispatch numpy pandas + parsy + pyarrow pytz regex - toolz - sqlalchemy requests - graphviz + sqlalchemy tables - pyarrow - ]; + toolz + ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ]; checkInputs = [ + pytestCheckHook + click pytest + pytest-mock + pytest-xdist ]; - # ignore tests which require test dataset, or frameworks not available - checkPhase = '' - pytest ibis \ - --ignore=ibis/tests/all \ - --ignore=ibis/{sql,spark} + # these tests are broken upstream: https://github.com/ibis-project/ibis/issues/3291 + disabledTests = [ + "test_summary_numeric" + "test_summary_non_numeric" + "test_batting_most_hits" + "test_join_with_window_function" + "test_where_long" + "test_quantile_groupby" + "test_summary_numeric" + "test_summary_numeric_group_by" + "test_summary_non_numeric" + "test_searched_case_column" + "test_simple_case_column" + "test_summary_non_numeric_group_by" + ]; + + pytestFlagsArray = [ + "--numprocesses $NIX_BUILD_CORES" + "ibis/tests" + "ibis/backends/tests" + "ibis/backends/{${lib.concatStringsSep "," backends}}/tests" + ]; + + preCheck = '' + set -euo pipefail + + export IBIS_TEST_DATA_DIRECTORY + IBIS_TEST_DATA_DIRECTORY="$(mktemp -d)" + + # copy the test data to a writable directory + cp -r ${ibisTestingData}/* "$IBIS_TEST_DATA_DIRECTORY" + + find "$IBIS_TEST_DATA_DIRECTORY" -type d -exec chmod u+rwx {} + + find "$IBIS_TEST_DATA_DIRECTORY" -type f -exec chmod u+rw {} + + + # load data + for backend in ${backendsString}; do + python ci/datamgr.py "$backend" & + done + + wait + + export PYTEST_BACKENDS="${backendsString}" ''; + pythonImportsCheck = [ "ibis" ] ++ (map (backend: "ibis.backends.${backend}") backends); + meta = with lib; { description = "Productivity-centric Python Big Data Framework"; homepage = "https://github.com/ibis-project/ibis"; license = licenses.asl20; - maintainers = [ maintainers.costrouc ]; + maintainers = with maintainers; [ costrouc cpcloud ]; }; } diff --git a/third_party/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix index bb29504d63..b1e5e91975 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/imbalanced-learn/default.nix @@ -9,12 +9,12 @@ buildPythonPackage rec { pname = "imbalanced-learn"; - version = "0.8.1"; + version = "0.9.0"; disabled = isPy27; # scikit-learn>=0.21 doesn't work on python2 src = fetchPypi { inherit pname version; - sha256 = "eaf576b1ba3523a0facf3aaa483ca17e326301e53e7678c54d73b7e0250edd43"; + sha256 = "836a4c137cc3c10310d4f6cd5ec34600ff488d7f8c243a997c3f9b551c91d0b2"; }; propagatedBuildInputs = [ scikit-learn ]; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix index b878929060..d197ba9691 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/internetarchive/default.nix @@ -20,11 +20,11 @@ buildPythonPackage rec { pname = "internetarchive"; - version = "2.2.0"; + version = "2.3.0"; src = fetchPypi { inherit pname version; - sha256 = "ebd11ecd038c71e75a3aef8d87750b46480169ecaefb23074c4ae48440bf2836"; + sha256 = "fa89dc4be3e0a0aee24810a4a754e24adfd07edf710c645b4f642422c6078b8d"; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix new file mode 100644 index 0000000000..1b8b7f002a --- /dev/null +++ b/third_party/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix @@ -0,0 +1,28 @@ +{ lib, buildPythonPackage, pythonOlder, fetchFromSourcehut +, ipfs, packaging, tomli }: + +buildPythonPackage rec { + pname = "ipwhl"; + version = "1.0.0"; + format = "flit"; + disabled = pythonOlder "3.6"; + + src = fetchFromSourcehut { + owner = "~cnx"; + repo = "ipwhl-utils"; + rev = version; + sha256 = "sha256-KstwdmHpn4ypBNpX56NeStqdzy5RElMTW1oR2hCtJ7c="; + }; + + buildInputs = [ ipfs ]; + propagatedBuildInputs = [ packaging tomli ]; + doCheck = false; # there's no test + pythonImportsCheck = [ "ipwhl" ]; + + meta = with lib; { + description = "Utilities for the InterPlanetary Wheels"; + homepage = "https://git.sr.ht/~cnx/ipwhl-utils"; + license = licenses.agpl3Plus; + maintainers = [ maintainers.McSinyx ]; + }; +} diff --git a/third_party/nixpkgs/pkgs/development/python-modules/launchpadlib/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/launchpadlib/default.nix index a9f2923bd0..a5fabd195d 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/launchpadlib/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/launchpadlib/default.nix @@ -15,11 +15,11 @@ buildPythonPackage rec { pname = "launchpadlib"; - version = "1.10.15.1"; + version = "1.10.16"; src = fetchPypi { inherit pname version; - sha256 = "4891f5b0c9bafbbb78aa06eeba1635629663c6aa80f621bcd1fc1057c8dd14b5"; + sha256 = "0df4b13936f988afd0ee485f40fa6922eab783b48c38ca0108cb73c8788fca80"; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix index 66a1a5f61f..ddf73ee56b 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "liquidctl"; - version = "1.8.0"; + version = "1.8.1"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-N0Ebd0zIHFmuiIozkAy4SV3o8rFA1wmrGd+dJo8jdk0="; + sha256 = "0cl1xg3rqpn4yjflwcz667pwfjnbq0g41pkg2nak7x9mxqnbdk70"; }; nativeBuildInputs = [ installShellFiles ]; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/orjson/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/orjson/default.nix index 1a4628ffed..98fc412869 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/orjson/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/orjson/default.nix @@ -15,20 +15,20 @@ buildPythonPackage rec { pname = "orjson"; - version = "3.6.5"; + version = "3.6.6"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "ijl"; repo = pname; rev = version; - sha256 = "1f8gc62w4hncrz8xkfw730cfqnk5433qswz3rba3pvvd7ldj5658"; + sha256 = "00s8pwvq830h2y77pwx1i2vfvnzisvp41qhzqcp1piyc3pwxfc13"; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - sha256 = "0jlhzdnfyk7hnn74rz9zbx51sdjs6rwlzfl1g62h58x28xh6m6gb"; + sha256 = "0l1zvkr06kwclgxy1qz9fxa1gjrpf5nnx6hb12j4ymyyxpcmn8rz"; }; format = "pyproject"; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pip/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pip/default.nix index c9dadd091b..2ddba8f363 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/pip/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/pip/default.nix @@ -7,6 +7,9 @@ , virtualenv , pretend , pytest + +# coupled downsteam dependencies +, pip-tools }: buildPythonPackage rec { @@ -32,6 +35,8 @@ buildPythonPackage rec { # Pip wants pytest, but tests are not distributed doCheck = false; + passthru.tests = { inherit pip-tools; }; + meta = { description = "The PyPA recommended tool for installing Python packages"; license = with lib.licenses; [ mit ]; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pymazda/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pymazda/default.nix index f6fdd60a38..b153b14c5f 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/pymazda/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/pymazda/default.nix @@ -8,12 +8,14 @@ buildPythonPackage rec { pname = "pymazda"; - version = "0.3.0"; + version = "0.3.1"; + format = "setuptools"; + disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "sha256-D0odz4GkKvjuafhEGlHtRnO8lk4rV9y3imaHl7jXqJw="; + sha256 = "eb4b275bcdfbf947e00b27c20dfc8ebcedfc1fb1252449141eccb5c39d782440"; }; propagatedBuildInputs = [ @@ -23,7 +25,10 @@ buildPythonPackage rec { # Project has no tests doCheck = false; - pythonImportsCheck = [ "pymazda" ]; + + pythonImportsCheck = [ + "pymazda" + ]; meta = with lib; { description = "Python client for interacting with the MyMazda API"; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pywayland/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pywayland/default.nix index b1c9c434d8..f1dbd72cef 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/pywayland/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/pywayland/default.nix @@ -10,11 +10,11 @@ buildPythonPackage rec { pname = "pywayland"; - version = "0.4.8"; + version = "0.4.9"; src = fetchPypi { inherit pname version; - sha256 = "abby4o9LmiRZwNkPhYfFOWgRtxU8e5CURQnutz6cWjQ="; + sha256 = "EJ/Ul1ZpIQa5Mw6UmkRi7GC+b+mCMqhto6EsfNjpCdg="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix index c157a6a213..d13fbfb788 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix @@ -24,12 +24,12 @@ buildPythonPackage rec { pname = "snowflake-connector-python"; - version = "2.7.2"; + version = "2.7.3"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "b2f8f360750eefa98be09ff53c130381646f8dfc8c6e4a705387676210ff8578"; + sha256 = "026562392d8733bdfaddcd5ec1537a139940df46a3a225849a36c71c1bf3e61c"; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix index f5cf0fbd3b..0dd855fee2 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix @@ -6,14 +6,14 @@ buildPythonPackage rec { pname = "sphinx-inline-tabs"; - version = "2021.08.17.beta10"; + version = "2022.01.02.beta11"; format = "flit"; src = fetchFromGitHub { owner = "pradyunsg"; repo = "sphinx-inline-tabs"; rev = version; - sha256 = "sha256-T3OqK0eXNiBs2zQURCSPLc8aIyf2an32UyDh4qSmxQ4="; + sha256 = "sha256-k2nOidUk87EZbFsqQ7zr/4eHk+T7wUOYimjbllfneUM="; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/stripe/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/stripe/default.nix index 4acad30ea3..c808fe6acd 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/stripe/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/stripe/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "stripe"; - version = "2.64.0"; + version = "2.65.0"; src = fetchPypi { inherit pname version; - sha256 = "2f4b2175046104e4fcd8a2689a68bb9828a857814126d2ed13772cf2554fb93e"; + sha256 = "2e55d4d7262085de9cef2228f14581925c35350ba58a332352b1ec9e19a7b7a6"; }; propagatedBuildInputs = [ requests ]; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/svglib/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/svglib/default.nix index 1bc1e58f1a..9a0cf1a30f 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/svglib/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/svglib/default.nix @@ -12,11 +12,11 @@ buildPythonPackage rec { pname = "svglib"; - version = "1.1.0"; + version = "1.2.0"; src = fetchPypi { inherit pname version; - sha256 = "520ee5290ee2ebeebd20ca0d7d995c08c903b364fcf515826bab43a1288d422e"; + sha256 = "33f075dc853807e56e92d6dc404104c6ccc7fb5388d96ab943d7b349b1c924c7"; }; disabled = !isPy3k; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/tern/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/tern/default.nix index e49ff64014..2e7aa70862 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/tern/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/tern/default.nix @@ -17,11 +17,11 @@ buildPythonPackage rec { pname = "tern"; - version = "2.9.0"; + version = "2.9.1"; src = fetchPypi { inherit pname version; - sha256 = "9cb509dba91718feecefd302388a89d4782454f6613e8f931ec8de87a6594de0"; + sha256 = "c7ce55a500061e1160b040e75dc38d0eccc790a2b70fa3b7ad1b4fb715c18fc9"; }; preBuild = '' diff --git a/third_party/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix index d1e07df211..132e0810d3 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "teslajsonpy"; - version = "1.5.0"; + version = "1.6.0"; format = "pyproject"; disabled = pythonOlder "3.6"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "zabuldon"; repo = pname; rev = "v${version}"; - sha256 = "sha256-5ZGj3ZS+KGtnlphyUF1xb9e2XuHa4qbOWWtyzZwP1RM="; + sha256 = "1jxdfk2ka131spnfkl35lnzvkgwgsbs5xl3hsjj03q1nfjcqvx9l"; }; nativeBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/tinydb/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/tinydb/default.nix index 958624f809..0e7bcb303f 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/tinydb/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/tinydb/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "tinydb"; - version = "4.5.2"; + version = "4.6.1"; disabled = pythonOlder "3.5"; format = "pyproject"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "msiemens"; repo = pname; rev = "v${version}"; - sha256 = "0gyc9rk1adw4gynwnv4kfas0hxv1cql0sm5b3fsms39088ha894l"; + sha256 = "17m8g6xzwa0k8qb4k4p9hjcyv58gmxz1lkvr2ckc5csa0ydvv91a"; }; nativeBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/types-futures/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/types-futures/default.nix index 4fb312a2e0..e56cbb62b3 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/types-futures/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/types-futures/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "types-futures"; - version = "3.3.2"; + version = "3.3.7"; src = fetchPypi { inherit pname version; - sha256 = "f47bf00704ef8ff05726a7e86fcf0986de998992fbdd880986121baa8b7184bf"; + sha256 = "d286db818fb67e3ce5c28acd9058c067329b91865acc443ac3cf91497fa36f05"; }; meta = with lib; { diff --git a/third_party/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix index 104bcefcd7..d4708e5870 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "types-protobuf"; - version = "3.18.4"; + version = "3.19.5"; format = "setuptools"; src = fetchPypi { inherit pname version; - sha256 = "2aed45e5257e9adebce306637179bfa111d42ecdd523e2a13d30cf8b2ee3cc84"; + sha256 = "9e3d954de5f5693817514b8da3476daa22f035d2b8060217c78c3831a1a49c23"; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/types-urllib3/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/types-urllib3/default.nix index 78c3e9ae42..5224b57d6c 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/types-urllib3/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/types-urllib3/default.nix @@ -5,12 +5,12 @@ buildPythonPackage rec { pname = "types-urllib3"; - version = "1.26.4"; + version = "1.26.7"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-NcF74J4bzvOx4hAcUXK5fNt4MwkVlzx0H0wZedhAXvk="; + hash = "sha256-z9H7vkuppgXtFIKUAIqsinuLdHJlHRzDV9UHrlli49I="; }; # Module doesn't have tests diff --git a/third_party/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix index cc6655a3b6..a456c5232d 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix @@ -2,11 +2,11 @@ buildPythonPackage rec { pname = "vertica-python"; - version = "1.0.2"; + version = "1.0.3"; src = fetchPypi { inherit pname version; - sha256 = "ce0abfc5909d06031dc612ec321d7f75df50bcb47a31e14e882a299cea2ea7a3"; + sha256 = "cfe1794c5ba9fdfbd470a55d82f60c2e08e129828367753bf64199a58a539bc2"; }; propagatedBuildInputs = [ future python-dateutil six ]; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix index 29279cc1a4..94234b2626 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/wrf-python/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "wrf-python"; - version = "1.3.2"; + version = "1.3.2.6"; src = fetchFromGitHub { owner = "NCAR"; repo = "wrf-python"; rev = version; - sha256 = "1rklkki54z5392cpwwy78bnmsy2ghc187l3j7nv0rzn6jk5bvyi7"; + sha256 = "046kflai71r7xrmdw6jn0ifn5656wj9gpnwlgxkx430dgk7zbc2y"; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix index 7166e29c36..60743071cd 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/youtube-search-python/default.nix @@ -2,13 +2,13 @@ buildPythonPackage rec { pname = "youtube-search-python"; - version = "1.5.3"; + version = "1.6.0"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "4bc39224d1f0915692101a7739289c41173de2eb88b445aabc7be284802b7489"; + sha256 = "57efe3ac32bdedc8378d907b230191a7de3ed22d0359d7b55d8355039231f974"; }; propagatedBuildInputs = [ httpx ]; diff --git a/third_party/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix index 8a3bd0e41f..31a45ab644 100644 --- a/third_party/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "zigpy-znp"; - version = "0.6.4"; + version = "0.7.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "zigpy"; repo = pname; rev = "v${version}"; - sha256 = "0hz483wqzpdaap96gbjasisxd4wy8f4lslnspcvzqcf4dy1mxln6"; + sha256 = "0h6dclz4q4lvmapzpslh8kb0aihdjddbkxc4zc981glbip89li5w"; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/development/python-modules/zstandard/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/zstandard/default.nix index 5d2066f45f..856ca0ee02 100755 --- a/third_party/nixpkgs/pkgs/development/python-modules/zstandard/default.nix +++ b/third_party/nixpkgs/pkgs/development/python-modules/zstandard/default.nix @@ -7,11 +7,11 @@ buildPythonPackage rec { pname = "zstandard"; - version = "0.16.0"; + version = "0.17.0"; src = fetchPypi { inherit pname version; - sha256 = "eaae2d3e8fdf8bfe269628385087e4b648beef85bb0c187644e7df4fb0fe9046"; + sha256 = "fa9194cb91441df7242aa3ddc4cb184be38876cb10dd973674887f334bafbfb6"; }; propagatedNativeBuildInputs = [ cffi ]; diff --git a/third_party/nixpkgs/pkgs/development/tools/ddosify/default.nix b/third_party/nixpkgs/pkgs/development/tools/ddosify/default.nix index 509dabb0b0..61d8ea77f3 100644 --- a/third_party/nixpkgs/pkgs/development/tools/ddosify/default.nix +++ b/third_party/nixpkgs/pkgs/development/tools/ddosify/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "ddosify"; - version = "0.7.1"; + version = "0.7.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - sha256 = "sha256-QzNMUeA9oOZaNZDGf9TXloZ5r2prDHTRX1wso3fSetc="; + sha256 = "sha256-QLJB2WcnguknEMdgwJzltp++mJCL4cFOWU568aTk0sc="; }; vendorSha256 = "sha256-TY8shTb77uFm8/yCvlIncAfq7brWgnH/63W+hj1rvqg="; diff --git a/third_party/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix b/third_party/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix index f0533dd84a..7bf32a13ce 100644 --- a/third_party/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix +++ b/third_party/nixpkgs/pkgs/development/tools/misc/clojure-lsp/default.nix @@ -2,21 +2,21 @@ buildGraalvmNativeImage rec { pname = "clojure-lsp"; - version = "2022.01.03-19.46.10"; + version = "2022.01.22-01.31.09"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-BbhT4I4M7PwHHFwNDNY4mJxsreJVOEwlValZTgS0Zs8="; + sha256 = "sha256-xQSOJRKKjX3AfQsYe4UNhFlLgWPkoY8NOPXCO1oc3BI="; }; jar = fetchurl { - url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp.jar"; - sha256 = "sha256-QG9Z4wkzh1kaX44oee325BvY2XqXRo4iBjY5LPnkLBQ="; + url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar"; + sha256 = "sha256-le0+ZmGyhM/UfGUV05FHyx5PlARxL/T2aC8UhiPYjxw"; }; - # https://github.com/clojure-lsp/clojure-lsp/blob/2021.11.02-15.24.47/graalvm/native-unix-compile.sh#L18-L27 + # https://github.com/clojure-lsp/clojure-lsp/blob/2022.01.22-01.31.09/cli/graalvm/native-unix-compile.sh#L18-L27 # Needs to be inject on `nativeImageBuildArgs` inside shell environment, # otherwise we can't expand to the value set in `mktemp -d` call preBuild = '' @@ -50,12 +50,12 @@ buildGraalvmNativeImage rec { latest_version=$(curl -s https://api.github.com/repos/clojure-lsp/clojure-lsp/releases/latest | jq --raw-output .tag_name) - old_jar_hash=$(nix-instantiate --eval --strict -A "clojure-lsp.jar.drvAttrs.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g') + old_jar_hash=$(nix-instantiate --eval --strict -A "clojure-lsp-standalone.jar.drvAttrs.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g') - curl -o clojure-lsp.jar -sL https://github.com/clojure-lsp/clojure-lsp/releases/download/$latest_version/clojure-lsp.jar - new_jar_hash=$(nix-hash --flat --type sha256 clojure-lsp.jar | sed -re 's|[+]|\\&|g') + curl -o clojure-lsp.jar -sL https://github.com/clojure-lsp/clojure-lsp/releases/download/$latest_version/clojure-lsp-standalone.jar + new_jar_hash=$(nix-hash --flat --type sha256 clojure-lsp-standalone.jar | sed -re 's|[+]|\\&|g') - rm -f clojure-lsp.jar + rm -f clojure-lsp-standalone.jar nixFile=$(nix-instantiate --eval --strict -A "clojure-lsp.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/') diff --git a/third_party/nixpkgs/pkgs/development/tools/rgp/default.nix b/third_party/nixpkgs/pkgs/development/tools/rgp/default.nix index 7b8ac88de6..2ac48148c7 100644 --- a/third_party/nixpkgs/pkgs/development/tools/rgp/default.nix +++ b/third_party/nixpkgs/pkgs/development/tools/rgp/default.nix @@ -19,15 +19,15 @@ }: let - buildNum = "2021-06-30-819"; + buildNum = "2022-01-18-884"; in stdenv.mkDerivation rec { pname = "rgp"; - version = "1.11"; + version = "1.12"; src = fetchurl { url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz"; - sha256 = "ru+e/oY844x4nvSVRBrTGDdnzUOBhwkaIrnftBITyE8="; + sha256 = "88ot16N8XtRlDCP+zIaOqG5BuR0OyG/0u1NEXsun/nY="; }; nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; diff --git a/third_party/nixpkgs/pkgs/development/tools/sentry-cli/default.nix b/third_party/nixpkgs/pkgs/development/tools/sentry-cli/default.nix index c832f39b08..a3e1762162 100644 --- a/third_party/nixpkgs/pkgs/development/tools/sentry-cli/default.nix +++ b/third_party/nixpkgs/pkgs/development/tools/sentry-cli/default.nix @@ -9,13 +9,13 @@ }: rustPlatform.buildRustPackage rec { pname = "sentry-cli"; - version = "1.71.0"; + version = "1.72.0"; src = fetchFromGitHub { owner = "getsentry"; repo = "sentry-cli"; rev = version; - sha256 = "0iw6skcxnqqa0vj5q1ra855gxgjj9a26hj85nm9p49ai5l85bkgv"; + sha256 = "sha256-2Aj2Y0c8JR8s6Ek7sZfU+5RENkoCVSAxtOvkHilfb48="; }; doCheck = false; @@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ]; nativeBuildInputs = [ pkg-config ]; - cargoSha256 = "0n9354mm97z3n001airipq8k58i7lg20p2m9yfx9y0zhsagyhmj8"; + cargoSha256 = "sha256-sSIQ7Wa0otbq82WELxP3oFYa1FoaoZz2jCB59Ob6zNM="; meta = with lib; { homepage = "https://docs.sentry.io/cli/"; diff --git a/third_party/nixpkgs/pkgs/development/tools/skaffold/default.nix b/third_party/nixpkgs/pkgs/development/tools/skaffold/default.nix index 3f5f2f2277..2a6154927a 100644 --- a/third_party/nixpkgs/pkgs/development/tools/skaffold/default.nix +++ b/third_party/nixpkgs/pkgs/development/tools/skaffold/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "skaffold"; - version = "1.35.1"; + version = "1.35.2"; src = fetchFromGitHub { owner = "GoogleContainerTools"; repo = "skaffold"; rev = "v${version}"; - sha256 = "sha256-8Ye2eR9eB7oyYOo46OraOxfLOG/XphWJkk+xPzDthPU="; + sha256 = "sha256-s1gkfgpQhmXgbU0iGu71a+cMQsInGTf7GUb8h2SK9qs="; }; vendorSha256 = "sha256-jr4HEs2mTRPNAiV/OWUnjYyQ1uSUJfVOTNCRi/18tEo="; @@ -24,6 +24,11 @@ buildGoModule rec { nativeBuildInputs = [ installShellFiles ]; + doInstallCheck = true; + installCheckPhase = '' + $out/bin/skaffold version | grep ${version} > /dev/null + ''; + postInstall = '' installShellCompletion --cmd skaffold \ --bash <($out/bin/skaffold completion bash) \ diff --git a/third_party/nixpkgs/pkgs/development/tools/vultr-cli/default.nix b/third_party/nixpkgs/pkgs/development/tools/vultr-cli/default.nix index 2a0d881a9d..eb08ce7f0d 100644 --- a/third_party/nixpkgs/pkgs/development/tools/vultr-cli/default.nix +++ b/third_party/nixpkgs/pkgs/development/tools/vultr-cli/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "vultr-cli"; - version = "2.11.3"; + version = "2.12.0"; src = fetchFromGitHub { owner = "vultr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-UI7D5bvfyGsNa6Gd1XuFu1VgiIQJ/b0g6DQlsJbaocI="; + sha256 = "sha256-mT99flZAAhLSynD/8+fa74Mc3KK8pVs+OOFDYNSBzEE="; }; vendorSha256 = null; diff --git a/third_party/nixpkgs/pkgs/development/tools/yq-go/default.nix b/third_party/nixpkgs/pkgs/development/tools/yq-go/default.nix index 433aefb412..59ba7ca8db 100644 --- a/third_party/nixpkgs/pkgs/development/tools/yq-go/default.nix +++ b/third_party/nixpkgs/pkgs/development/tools/yq-go/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "yq-go"; - version = "4.16.2"; + version = "4.17.2"; src = fetchFromGitHub { owner = "mikefarah"; repo = "yq"; rev = "v${version}"; - sha256 = "sha256-qJZDFyBSiaS0cUcfEz1P+b5Z6Tb//KKWeYqNJpdOh9Q="; + sha256 = "sha256-jfb/r4Z8i23A0e4cJqZoG2TPXGVFOf64FfnZy/keAeQ="; }; - vendorSha256 = "sha256-6J+pHWiswDRxCFdRj/d+6+QLxEF207vTyfnPq5tP30o="; + vendorSha256 = "sha256-0eaD4oT6DyCWkJ0He4A7ysOEJD8CtFH6diQYBuEOoIk="; doCheck = false; diff --git a/third_party/nixpkgs/pkgs/games/r2mod_cli/default.nix b/third_party/nixpkgs/pkgs/games/r2mod_cli/default.nix index 169385576a..607a53579c 100644 --- a/third_party/nixpkgs/pkgs/games/r2mod_cli/default.nix +++ b/third_party/nixpkgs/pkgs/games/r2mod_cli/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "r2mod_cli"; - version = "1.2.0"; + version = "1.2.1"; src = fetchFromGitHub { owner = "Foldex"; repo = "r2mod_cli"; rev = "v${version}"; - sha256 = "sha256-VNqdVDBR6+eNOeUthPXLfz+0VoaNfSj4f04HLvjg6/0="; + sha256 = "sha256-FS9P/uTZU4d6zpM3TlEW6i6PLGHxqqO2fc8D7VsPCig="; }; buildInputs = [ bashInteractive ]; diff --git a/third_party/nixpkgs/pkgs/misc/uboot/default.nix b/third_party/nixpkgs/pkgs/misc/uboot/default.nix index dec567f1cc..e287066ddb 100644 --- a/third_party/nixpkgs/pkgs/misc/uboot/default.nix +++ b/third_party/nixpkgs/pkgs/misc/uboot/default.nix @@ -274,6 +274,13 @@ in { filesToInstall = ["u-boot-dtb.bin"]; }; + ubootOlimexA64Olinuxino = buildUBoot { + defconfig = "a64-olinuxino-emmc_defconfig"; + extraMeta.platforms = ["aarch64-linux"]; + BL31 = "${armTrustedFirmwareAllwinner}/bl31.bin"; + filesToInstall = ["u-boot-sunxi-with-spl.bin"]; + }; + ubootOrangePiPc = buildUBoot { defconfig = "orangepi_pc_defconfig"; extraMeta.platforms = ["armv7l-linux"]; diff --git a/third_party/nixpkgs/pkgs/misc/vim-plugins/generated.nix b/third_party/nixpkgs/pkgs/misc/vim-plugins/generated.nix index 88a2308ebd..3773494eec 100644 --- a/third_party/nixpkgs/pkgs/misc/vim-plugins/generated.nix +++ b/third_party/nixpkgs/pkgs/misc/vim-plugins/generated.nix @@ -485,12 +485,12 @@ final: prev: chadtree = buildVimPluginFrom2Nix { pname = "chadtree"; - version = "2022-01-20"; + version = "2022-01-22"; src = fetchFromGitHub { owner = "ms-jpq"; repo = "chadtree"; - rev = "67d739c993549aea6eaa1d50aa341f8e8e3ae91a"; - sha256 = "04zxjm5qzkp0ydvgyqidzzrbw76n554c9212xxm4a8mkwprx1wnj"; + rev = "e6fe7bcc3d354f7da68bea64c612eb2f78e959d1"; + sha256 = "0rq82dz1s7xshbdydah50vpzhakbzcbxkx4j5mgg5pwgbglaj9xj"; }; meta.homepage = "https://github.com/ms-jpq/chadtree/"; }; @@ -893,12 +893,12 @@ final: prev: coc-nvim = buildVimPluginFrom2Nix { pname = "coc.nvim"; - version = "2022-01-19"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "neoclide"; repo = "coc.nvim"; - rev = "3710b54c51ff8cf97fe6686dd6220734726c42bf"; - sha256 = "1fj2rn3mnf29hpfjc8vz3n1w6jm0z96xazmg83mv1l0lg44ffwkd"; + rev = "6a510523b0bf697bffe5ba77d0e404532fd92e65"; + sha256 = "1xp8zvj1wbywfgy2kgvqmxpw675wlmpjdgbqzmb53rjjhsb9w107"; }; meta.homepage = "https://github.com/neoclide/coc.nvim/"; }; @@ -1158,12 +1158,12 @@ final: prev: Coqtail = buildVimPluginFrom2Nix { pname = "Coqtail"; - version = "2022-01-03"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "whonore"; repo = "Coqtail"; - rev = "c8ffb3d358e85211b17dd18df6007e3be1bd2569"; - sha256 = "1y8gv10llnihpylzq9jca93g7gb0gf6rbr0pwhvirrvz514czfl8"; + rev = "cbe08b44bf2cba835c541f4b7eddc9f533dbe584"; + sha256 = "1g32297zkvdrmvjacwf6ig2q7whvzj8wzrxb71vzr9qskp0qx81v"; }; meta.homepage = "https://github.com/whonore/Coqtail/"; }; @@ -2039,12 +2039,12 @@ final: prev: friendly-snippets = buildVimPluginFrom2Nix { pname = "friendly-snippets"; - version = "2022-01-15"; + version = "2022-01-20"; src = fetchFromGitHub { owner = "rafamadriz"; repo = "friendly-snippets"; - rev = "d4f5c0507cfe4c67024f58c84ba982f7f5c71a7a"; - sha256 = "1g7q5a6c761a8y77081l0907qcyhvzd0mncqyg93p1r5jrbv1r9m"; + rev = "35bacce3c903dff2852e87a13196cad0dd166093"; + sha256 = "0inq7d48j4ck3zfkbvmi76xvis1sybk15mda23zfnm6zj0k3hjh1"; }; meta.homepage = "https://github.com/rafamadriz/friendly-snippets/"; }; @@ -2315,12 +2315,12 @@ final: prev: glow-nvim = buildVimPluginFrom2Nix { pname = "glow.nvim"; - version = "2022-01-09"; + version = "2022-01-20"; src = fetchFromGitHub { owner = "ellisonleao"; repo = "glow.nvim"; - rev = "42dcd3fff4052b41b241453880c6067dbfea55f6"; - sha256 = "140la8pli0jc3mi4zs91h8rvl989p2hw9gj12ag8zmizm1dic2il"; + rev = "df202bd09bab4b63f5f64857eb8f3411d46fdf11"; + sha256 = "1ndgrrlhw87vwy12fzvf5fhnjdsl9na1a3j4hj6slq9v48rkv87f"; }; meta.homepage = "https://github.com/ellisonleao/glow.nvim/"; }; @@ -2868,24 +2868,24 @@ final: prev: kanagawa-nvim = buildVimPluginFrom2Nix { pname = "kanagawa.nvim"; - version = "2022-01-17"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "rebelot"; repo = "kanagawa.nvim"; - rev = "a93be0c57248c552b3f7f91ffbb441c677e55d85"; - sha256 = "1cwmz2zzkci8jyrna7c3s4lw9a837adjjwpdh3ad7r4zjsjzim9a"; + rev = "e308a9e5e8b527d646bf485b9148db894a617560"; + sha256 = "07hky7mqz8zj21y0cvb7fadiv0fmxzkm6f2i490d85dj3i3njijv"; }; meta.homepage = "https://github.com/rebelot/kanagawa.nvim/"; }; kommentary = buildVimPluginFrom2Nix { pname = "kommentary"; - version = "2022-01-16"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "b3nj5m1n"; repo = "kommentary"; - rev = "91c8819ea264b77d63b96b16ed0cf90c4b97f87a"; - sha256 = "16k1yc9ihbrrcshjz8jv3b1jggr990vsx2pf6y24cfqp9srn9gda"; + rev = "a190d052fca4ce74ffddb1c87c87ccf15f9111d5"; + sha256 = "0p2hyqv73gn1lrzf8yi84cfj199jx8ix0llm4jykkxlyx3qprwq2"; }; meta.homepage = "https://github.com/b3nj5m1n/kommentary/"; }; @@ -2988,12 +2988,12 @@ final: prev: lean-nvim = buildVimPluginFrom2Nix { pname = "lean.nvim"; - version = "2022-01-19"; + version = "2022-01-20"; src = fetchFromGitHub { owner = "Julian"; repo = "lean.nvim"; - rev = "bfb370349b5ebc09aee8dd172fec382cfd10d74c"; - sha256 = "0lkcqvk235f51ki2f3mcs607ardk1wknfn0qgbp77ii77ycjnl93"; + rev = "8dc39f1ce00cf50890e7a55c3bc24017531338f7"; + sha256 = "18aywn1hkhpxc3fgy9xys5fjh0l69nrgdwaiy9fzfqy8d6fk3ssf"; }; meta.homepage = "https://github.com/Julian/lean.nvim/"; }; @@ -3132,12 +3132,12 @@ final: prev: lightspeed-nvim = buildVimPluginFrom2Nix { pname = "lightspeed.nvim"; - version = "2022-01-18"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "ggandor"; repo = "lightspeed.nvim"; - rev = "56a54e3c7b792cca41881b69960499952fdc29c2"; - sha256 = "0gvzg8p900wcf72nzvyky747ils22fnm5yrg47bv04dz49zsx6p2"; + rev = "428051b2e5212cea914510eb9eb979ec06d5b2e1"; + sha256 = "01s3v3jfmgyrmwkifnyfh0wlm1d5fdvfvya0564y76bj4sh2lpzw"; }; meta.homepage = "https://github.com/ggandor/lightspeed.nvim/"; }; @@ -3911,12 +3911,12 @@ final: prev: neorg = buildVimPluginFrom2Nix { pname = "neorg"; - version = "2022-01-20"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "nvim-neorg"; repo = "neorg"; - rev = "cf26a69a816feda4f47b265fd420f9cf4ea058b5"; - sha256 = "10rhpxl1106f7jd9n2n8kx5fv4d5icmqdlnfkdj7n82v1npj7igw"; + rev = "e8b8cb0a75a4ca2da6b5a9bec79cd2002ef03882"; + sha256 = "1nf74v4147jyc1cb3scvja49160wcjqvgppiq7whgili1ic8s1d6"; }; meta.homepage = "https://github.com/nvim-neorg/neorg/"; }; @@ -3983,12 +3983,12 @@ final: prev: neovim-ayu = buildVimPluginFrom2Nix { pname = "neovim-ayu"; - version = "2021-12-31"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "Shatur"; repo = "neovim-ayu"; - rev = "afac814359bb03fc5a1cb9d86a45d619a59ba7d9"; - sha256 = "1smcibp3akb9mdgvvvh5ny0avbn5lnb5scvv3d4g181c39nmx1y9"; + rev = "0bca6a4382e7cc5e26da8dce49e7f69abfb0e998"; + sha256 = "0pfrmzcs4vkxg74hzrp8g4kwb33m1r503c0b1yq25z33scqwc6hp"; }; meta.homepage = "https://github.com/Shatur/neovim-ayu/"; }; @@ -4163,24 +4163,24 @@ final: prev: nord-nvim = buildVimPluginFrom2Nix { pname = "nord.nvim"; - version = "2022-01-11"; + version = "2022-01-20"; src = fetchFromGitHub { owner = "shaunsingh"; repo = "nord.nvim"; - rev = "002d3fd2ad677b3a6f34b2f4dffbfff455abff11"; - sha256 = "0ylfx2d02r8ri015k5yd9gb78dwvc2sfpyw6krcqs07i0z7gaskz"; + rev = "2ec29eda54f5bbc8856794361847729b0f724095"; + sha256 = "1fz30h6nvgy71yc6ccn6m8wbc18kz29xm11zmsxc1qlp0a6j7c59"; }; meta.homepage = "https://github.com/shaunsingh/nord.nvim/"; }; nordic-nvim = buildVimPluginFrom2Nix { pname = "nordic.nvim"; - version = "2021-12-20"; + version = "2022-01-14"; src = fetchFromGitHub { owner = "andersevenrud"; repo = "nordic.nvim"; - rev = "c348fba712af0c15bfdf23b396fdcb0311dfbae9"; - sha256 = "17kmlc92wl1qya76kx9p2lq0v3n2503hlb1cf3kmys0d40xb8rsc"; + rev = "b97cc5faafb10edd8fb5b261423b2f917ba43e1b"; + sha256 = "0b1643j492v7pm9b1z6ana3pjvaf4dqz1zvbqnl5r0bmkl2bb4m4"; }; meta.homepage = "https://github.com/andersevenrud/nordic.nvim/"; }; @@ -4223,12 +4223,12 @@ final: prev: null-ls-nvim = buildVimPluginFrom2Nix { pname = "null-ls.nvim"; - version = "2022-01-19"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "jose-elias-alvarez"; repo = "null-ls.nvim"; - rev = "4d45075678db7442f4d78287efd11b08bd414bcd"; - sha256 = "0sr0y06cccdz8xa8dd0fqxm6yf243az0kri637q8l04b6z6x84bp"; + rev = "5213916f51a178287cf5162354f2f7c2c4e204bb"; + sha256 = "0v34s75srr2ds3jw100hjr2mwbycwhvrv6y02ddzmgw0bsqfgw9c"; }; meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/"; }; @@ -4257,6 +4257,18 @@ final: prev: meta.homepage = "https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/"; }; + catppuccin-nvim = buildVimPluginFrom2Nix { + pname = "catppuccin-nvim"; + version = "2022-01-21"; + src = fetchFromGitHub { + owner = "catppuccin"; + repo = "nvim"; + rev = "baf9a2c5d81f4336b0504e35c148482535dc2ac9"; + sha256 = "00nma5a4jybncm3dj388p03nd4kkpj11l1cmd1dfmnzd41iaia99"; + }; + meta.homepage = "https://github.com/catppuccin/nvim/"; + }; + nvim-ale-diagnostic = buildVimPluginFrom2Nix { pname = "nvim-ale-diagnostic"; version = "2021-11-06"; @@ -4595,12 +4607,12 @@ final: prev: nvim-lspconfig = buildVimPluginFrom2Nix { pname = "nvim-lspconfig"; - version = "2022-01-20"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "neovim"; repo = "nvim-lspconfig"; - rev = "58f260a603fc73ff537569ff2e81510554e54e38"; - sha256 = "1n7rhf60l9l1wbdmvwl871lq0dc0p6r7wdskmh530g0vch47kj0r"; + rev = "58d2ba6b968539a20d701be0bf98ae154456e265"; + sha256 = "04l70b5sl1c98gmk9s9zwa39gbp1w46ivwmyryr96g0znidh3ryk"; }; meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; }; @@ -4727,24 +4739,24 @@ final: prev: nvim-tree-lua = buildVimPluginFrom2Nix { pname = "nvim-tree.lua"; - version = "2021-12-24"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "kyazdani42"; repo = "nvim-tree.lua"; - rev = "0a2f6b0b6ba558a88c77a6b262af647760e6eca8"; - sha256 = "0svxndakxlin4jgmzmx7xj9ysbiy94hfszq89bv2qcxlkfxa78l0"; + rev = "2dfed89af7724f9e71d2fdbe3cde791a93e9b9e0"; + sha256 = "1842c6s3q8hd8cnnyniwjxkkl48zzdy7v2gx20fiacnf365vgzpc"; }; meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/"; }; nvim-treesitter = buildVimPluginFrom2Nix { pname = "nvim-treesitter"; - version = "2022-01-20"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter"; - rev = "f048886f828e369cac3b771071137b2c62ca29e4"; - sha256 = "1kifzwmwqjwkcfrpmv3kb00m1mjbnk3p2hdwpk7n1i90nqlix06d"; + rev = "3c462d362f49611c295e6c4870c97e2ae7f530cd"; + sha256 = "1sqr8q9mdggcwd2nm2wwdviad7nf9pzwxmv3wj7asnmw271a1n7b"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; }; @@ -4787,12 +4799,12 @@ final: prev: nvim-treesitter-textobjects = buildVimPluginFrom2Nix { pname = "nvim-treesitter-textobjects"; - version = "2022-01-19"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "nvim-treesitter"; repo = "nvim-treesitter-textobjects"; - rev = "c2e643b5db31e90f034c5412f38913523090378e"; - sha256 = "0yswhj8s6f6g8y5bc08zq6n806ybf8xpn4yp0m25phlrm1wwdd5c"; + rev = "5681ed6e8754efd3de748fadd14ce9b8f06c1fd7"; + sha256 = "0c3vj1lxp942qs0ghdp8m5ih1dxmnj8l14qjnh46dn5xrfxh73ss"; }; meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/"; }; @@ -4823,12 +4835,12 @@ final: prev: nvim-ts-rainbow = buildVimPluginFrom2Nix { pname = "nvim-ts-rainbow"; - version = "2022-01-20"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "p00f"; repo = "nvim-ts-rainbow"; - rev = "c758824b37868f0c6f9e41a0c22944372f6cfaea"; - sha256 = "0bhk0r7m84ab3fwkf6kg1icd30xajsyqnqwqqn3ny7zh48bic0qv"; + rev = "5470a3bb6e7ad316d63fab0951fd181ccfdc5716"; + sha256 = "1648zm3baqi9711r0ywpnj7a7c8giwy6bazbxhcwv0qsjnnm5n70"; }; meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/"; }; @@ -4871,12 +4883,12 @@ final: prev: nvim_context_vt = buildVimPluginFrom2Nix { pname = "nvim_context_vt"; - version = "2022-01-16"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "haringsrob"; repo = "nvim_context_vt"; - rev = "7d8cfce794b32c9d98097edbce2d20980921c6b6"; - sha256 = "1cnjcr4jrphsw0ybwy7093vk2mr59sk5fwvsvvsllrc1gc60f7gi"; + rev = "9cf62516d16114c935eeb9bbe57b02e39c3bfbd7"; + sha256 = "1fvsjfcfm83kvcfgps39j845pkh89s4vq2wk49a0qi5g8a8mjphx"; }; meta.homepage = "https://github.com/haringsrob/nvim_context_vt/"; }; @@ -4919,12 +4931,12 @@ final: prev: octo-nvim = buildVimPluginFrom2Nix { pname = "octo.nvim"; - version = "2022-01-19"; + version = "2022-01-20"; src = fetchFromGitHub { owner = "pwntester"; repo = "octo.nvim"; - rev = "781f175b210f4c825a8c7e4922d8113c227f6fa4"; - sha256 = "0w8zyv7h7frzbp23fvwarbaj08qi2i15kh2y1py3ms97nvbj1qxr"; + rev = "c2ea3cba7d34ce9bce9d1e1d9710ab4b2be7e651"; + sha256 = "126fq92v72ljmdxrdh384yck3kd4avmss37rcyfryzhzfrjj2gcj"; }; meta.homepage = "https://github.com/pwntester/octo.nvim/"; }; @@ -5461,12 +5473,12 @@ final: prev: refactoring-nvim = buildVimPluginFrom2Nix { pname = "refactoring.nvim"; - version = "2022-01-20"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "theprimeagen"; repo = "refactoring.nvim"; - rev = "fc5de4af62272864f947d4af3bdd87c4f28c371c"; - sha256 = "1pcllxlmk4d6n2rgcgj8vwghfxa1y8gxdmk7w9fnjc83dczfh8nd"; + rev = "4f63e903fbcfa5d17fdbe6ae9b03e0b09ab5af89"; + sha256 = "0krvp2q20f6iwk33www097c2i8ah9pls6j1lmbx92n437k6sj5gj"; }; meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/"; }; @@ -5641,12 +5653,12 @@ final: prev: SchemaStore-nvim = buildVimPluginFrom2Nix { pname = "SchemaStore.nvim"; - version = "2022-01-17"; + version = "2022-01-20"; src = fetchFromGitHub { owner = "b0o"; repo = "SchemaStore.nvim"; - rev = "3608a47a5910f35fdbebcc6a9a9f7869aaab2b76"; - sha256 = "1dlqqndrp3pkrq2b4fzjp6s7bl0h23si3sjga2136619hvhsic86"; + rev = "4d03a1db6d00e4a413e15d1e5f5b090a7bc5f4b6"; + sha256 = "1zwc9n3rwsq7cqz0mryl05zggzdgir8kwsgpvd64lxmf92xzs1mv"; }; meta.homepage = "https://github.com/b0o/SchemaStore.nvim/"; }; @@ -6087,12 +6099,12 @@ final: prev: surround-nvim = buildVimPluginFrom2Nix { pname = "surround.nvim"; - version = "2022-01-11"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "blackCauldron7"; repo = "surround.nvim"; - rev = "4ddbef573eba3a8f31ac8da72d495efca33caac0"; - sha256 = "0q4zfa5gvc7v01d431bar8dry55yyb5gmxphmjbx0xq2vai1fcbf"; + rev = "bc07f9d15535b76e464bc4e9e94702136a60b785"; + sha256 = "1j0jq44a5kqfpca3hwhx1jzwl79d3apii0j5b3l4kwhgjgvjwjdm"; }; meta.homepage = "https://github.com/blackCauldron7/surround.nvim/"; }; @@ -6389,12 +6401,12 @@ final: prev: telescope-github-nvim = buildVimPluginFrom2Nix { pname = "telescope-github.nvim"; - version = "2022-01-18"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "nvim-telescope"; repo = "telescope-github.nvim"; - rev = "abe424a49a5d3ba8532d4c245611874626795f24"; - sha256 = "1dyh2iiz2aqm43gwlm326n47bskm5g9skpb1l6s640x1zkhldimk"; + rev = "36df6b281eb3cb47494933a3dc44c874086fa688"; + sha256 = "1lra7c38m3amqgdlb4gnl3rnvszwzn0yv624v2h4lhax8nzzq85j"; }; meta.homepage = "https://github.com/nvim-telescope/telescope-github.nvim/"; }; @@ -6750,12 +6762,12 @@ final: prev: ultisnips = buildVimPluginFrom2Nix { pname = "ultisnips"; - version = "2022-01-17"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "SirVer"; repo = "ultisnips"; - rev = "016410284e41a67d2a29ca581ae016e56b66b000"; - sha256 = "0r988wimis7wx77zzvwqnzzyhq7rfnznvp9vr7vlwg5ilcy2mzy1"; + rev = "bc480c1aac4cb6237aa3316ab576e7a674f064ca"; + sha256 = "1xkw1m70fr4cqc4wjawzbrkkankbyi7ma61d727sqrigzaqk1zjh"; }; meta.homepage = "https://github.com/SirVer/ultisnips/"; }; @@ -7470,12 +7482,12 @@ final: prev: vim-clap = buildVimPluginFrom2Nix { pname = "vim-clap"; - version = "2022-01-17"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "liuchengxu"; repo = "vim-clap"; - rev = "7dfd2c779b7e4262a17ceb0b7491586e89a2a069"; - sha256 = "07v7czk68l5ab4lv9g51gm7lrd0p2wniyjf12d7zcnzja0ayhp22"; + rev = "7aa3959cad43302601d530671808f1b9cd1b5233"; + sha256 = "07298d5fzsg1jyvwiqpphn9add0ihvk0cdhmsvz3zvabh32mx8lz"; }; meta.homepage = "https://github.com/liuchengxu/vim-clap/"; }; @@ -9214,12 +9226,12 @@ final: prev: pname = "vim-markdown"; version = "2020-07-14"; src = fetchFromGitHub { - owner = "plasticboy"; + owner = "preservim"; repo = "vim-markdown"; rev = "8e5d86f7b85234d3d1b4207dceebc43a768ed5d4"; sha256 = "013vh2rnfifm5j56imar03rvchz68ll4lbgy9y8fbw7s9a0k6yaa"; }; - meta.homepage = "https://github.com/plasticboy/vim-markdown/"; + meta.homepage = "https://github.com/preservim/vim-markdown/"; }; vim-markdown-composer = buildVimPluginFrom2Nix { @@ -10605,12 +10617,12 @@ final: prev: vim-table-mode = buildVimPluginFrom2Nix { pname = "vim-table-mode"; - version = "2021-12-01"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "dhruvasagar"; repo = "vim-table-mode"; - rev = "c547471c0ed32b8511f62752974cde5277e13df4"; - sha256 = "1qdrd87b91013z1br67j1j45s4iva7ah1r52zkkr0sj0pbiiqh7r"; + rev = "9191af46b6bee8d3e3474c7f8ea134c800e55985"; + sha256 = "0szp8n82qmjwpm8skq3zqbmk0j9b269h86v7p6qlwdjnvr39hnis"; }; meta.homepage = "https://github.com/dhruvasagar/vim-table-mode/"; }; @@ -10846,12 +10858,12 @@ final: prev: vim-tpipeline = buildVimPluginFrom2Nix { pname = "vim-tpipeline"; - version = "2022-01-14"; + version = "2022-01-22"; src = fetchFromGitHub { owner = "vimpostor"; repo = "vim-tpipeline"; - rev = "021f2ebf017b32289ca9bd11b0e988315f34ea96"; - sha256 = "0pwf5bks7p3vj622vcab0rfxxkvh4lzn4f6l4wy92hccb1zv40ps"; + rev = "4190d800ec8e29e446c61011fee0dcec61f20199"; + sha256 = "0mq9mjypq101y593ji7biwvvqzbf5argwcdnpqzphk1ikldq3xh0"; }; meta.homepage = "https://github.com/vimpostor/vim-tpipeline/"; }; @@ -10906,12 +10918,12 @@ final: prev: vim-ultest = buildVimPluginFrom2Nix { pname = "vim-ultest"; - version = "2022-01-20"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "rcarriga"; repo = "vim-ultest"; - rev = "858fd9c1813c59f19f8d70e0b5883894987e8683"; - sha256 = "1fgj68ik71ci53r3wszjmm9cq3275hn9v6giyjizhzgyk1h2p8ac"; + rev = "00da9eacaf4396bdc11817f987c35e5d09486eb4"; + sha256 = "1r5zdwm20110mzwawxik563l4bw5zxhrpdsn0cgq04icp5gbbxrc"; }; meta.homepage = "https://github.com/rcarriga/vim-ultest/"; }; @@ -11038,12 +11050,12 @@ final: prev: vim-wakatime = buildVimPluginFrom2Nix { pname = "vim-wakatime"; - version = "2022-01-07"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "wakatime"; repo = "vim-wakatime"; - rev = "441f5c7ce8adce1d30403bca26ea5e6a3a2b82e4"; - sha256 = "1zflwz70iqfdrzlq9lvyi2awbj5s9s0daqx4rf4lkp58jb0q6jqr"; + rev = "e7f67547956667dd87c4c74bff2760567c3e3ab1"; + sha256 = "0v6kyjsw8ridyvvlwncprfz56iyk9rlsiva5k6sn5ir62cdwhipj"; }; meta.homepage = "https://github.com/wakatime/vim-wakatime/"; }; @@ -11326,12 +11338,12 @@ final: prev: vimspector = buildVimPluginFrom2Nix { pname = "vimspector"; - version = "2022-01-18"; + version = "2022-01-21"; src = fetchFromGitHub { owner = "puremourning"; repo = "vimspector"; - rev = "3ebb4be89735771d43d2c5109f2a46df8ebe10c5"; - sha256 = "1z4s6rmia8qp516c0ryizs0q69zlrfa7b7ps5ylbz6w504kywqmm"; + rev = "2588e4c8dec5bd6a6803d1c86b9e7354409b7d8b"; + sha256 = "07yv643amq7q8bpdqd5m806bw28yzjgpb2hrhnjnh0bj0fqxhkqb"; fetchSubmodules = true; }; meta.homepage = "https://github.com/puremourning/vimspector/"; diff --git a/third_party/nixpkgs/pkgs/misc/vim-plugins/overrides.nix b/third_party/nixpkgs/pkgs/misc/vim-plugins/overrides.nix index b8ab2f4331..db4f0057d6 100644 --- a/third_party/nixpkgs/pkgs/misc/vim-plugins/overrides.nix +++ b/third_party/nixpkgs/pkgs/misc/vim-plugins/overrides.nix @@ -752,7 +752,7 @@ self: super: { libiconv ]; - cargoSha256 = "sha256-LSDtjQxmK+Qe0OJXoEbWeIAqP7NxU+UtVPdL86Hpv5Y="; + cargoSha256 = "sha256-4VXXQjGmGGQXgfzSOvFnQS+iQjidj0FjaNKZ3VzBqw0="; }; in '' diff --git a/third_party/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names b/third_party/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names index 34b281229b..3286fbc779 100644 --- a/third_party/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names +++ b/third_party/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names @@ -63,6 +63,7 @@ buoto/gotests-vim camspiers/lens.vim camspiers/snap carlitux/deoplete-ternjs +catppuccin/nvim as catppuccin-nvim ccarpita/rtorrent-syntax-file cespare/vim-toml chaoren/vim-wordmotion @@ -617,7 +618,6 @@ PeterRincker/vim-argumentative petRUShka/vim-opencl phaazon/hop.nvim phanviet/vim-monokai-pro -plasticboy/vim-markdown Pocco81/TrueZen.nvim ponko2/deoplete-fish posva/vim-vue @@ -629,6 +629,7 @@ prabirshrestha/vim-lsp preservim/nerdcommenter preservim/nerdtree preservim/tagbar +preservim/vim-markdown preservim/vim-pencil preservim/vim-wordy preservim/vimux diff --git a/third_party/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix b/third_party/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix index e5a5ff971a..fd321d90cb 100644 --- a/third_party/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix +++ b/third_party/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoconf automake pkg-config libtool gettext which gobject-introspection - gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl util-linux + gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl ]; postPatch = lib.optionalString stdenv.hostPlatform.isMusl '' @@ -51,7 +51,7 @@ stdenv.mkDerivation rec { ''; buildInputs = [ - expat libgudev libblockdev acl systemd glib libatasmart polkit + expat libgudev libblockdev acl systemd glib libatasmart polkit util-linux ]; preConfigure = "NOCONFIGURE=1 ./autogen.sh"; diff --git a/third_party/nixpkgs/pkgs/servers/hqplayerd/default.nix b/third_party/nixpkgs/pkgs/servers/hqplayerd/default.nix index e38113525e..1f0fe88455 100644 --- a/third_party/nixpkgs/pkgs/servers/hqplayerd/default.nix +++ b/third_party/nixpkgs/pkgs/servers/hqplayerd/default.nix @@ -8,6 +8,7 @@ , gcc11 , gnome , gssdp +, lame , lib , libgmpris , llvmPackages_10 @@ -45,11 +46,11 @@ let in stdenv.mkDerivation rec { pname = "hqplayerd"; - version = "4.28.2-76"; + version = "4.29.1-80"; src = fetchurl { url = "https://www.signalyst.eu/bins/${pname}/fc34/${pname}-${version}sse42.fc34.x86_64.rpm"; - sha256 = "sha256-LWNC4tXDddkW1zFf99CQTZjXJq7EMWuDkxS8HJ9AGiY="; + sha256 = "sha256-TL5zq7fu7tLoWadmVDMXrE8oiVhHbggpmwWrIGRuAnI="; }; unpackPhase = '' @@ -67,6 +68,7 @@ stdenv.mkDerivation rec { gssdp gupnp_1_2 gupnp-av_0_12 + lame libgmpris llvmPackages_10.openmp mpg123 diff --git a/third_party/nixpkgs/pkgs/servers/miniflux/default.nix b/third_party/nixpkgs/pkgs/servers/miniflux/default.nix index 71f3e532da..57a554ff58 100644 --- a/third_party/nixpkgs/pkgs/servers/miniflux/default.nix +++ b/third_party/nixpkgs/pkgs/servers/miniflux/default.nix @@ -2,7 +2,7 @@ let pname = "miniflux"; - version = "2.0.34"; + version = "2.0.35"; in buildGoModule { inherit pname version; @@ -11,10 +11,10 @@ in buildGoModule { owner = pname; repo = "v2"; rev = version; - sha256 = "sha256-6fXmi0q6J1XyxEtOuKO8efkwLrfkMiqeKTHZPuoKYAs="; + sha256 = "sha256-tOainlvEB0O6yMzIm0df4r8D68swtjXBFUDsPcNc3uA="; }; - vendorSha256 = "sha256-P8ukjBrkPZ0n8HtfyEf2pG3DAXl7D10Ib+dmtwI4KqI="; + vendorSha256 = "sha256-dxtQAGlNOVO9NtuGbF6Nifa4QhnFGyHKhlDS3+V5HuM="; nativeBuildInputs = [ installShellFiles ]; diff --git a/third_party/nixpkgs/pkgs/servers/monitoring/riemann/default.nix b/third_party/nixpkgs/pkgs/servers/monitoring/riemann/default.nix index b07c8b82c4..d163cecfdd 100644 --- a/third_party/nixpkgs/pkgs/servers/monitoring/riemann/default.nix +++ b/third_party/nixpkgs/pkgs/servers/monitoring/riemann/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "riemann"; - version = "0.3.7"; + version = "0.3.8"; src = fetchurl { url = "https://github.com/riemann/riemann/releases/download/${version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-WpJsmb74RhMMKGdNHcYcG4TA+QgpliQ2Ae89JkIjaAo="; + sha256 = "sha256-MjTUrqdi9K71PhpLzR3lqdOiNM7Ilmh8HWf3BUOr+b0="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/third_party/nixpkgs/pkgs/servers/mpd/default.nix b/third_party/nixpkgs/pkgs/servers/mpd/default.nix index 8f1a407bf5..0833ede1bb 100644 --- a/third_party/nixpkgs/pkgs/servers/mpd/default.nix +++ b/third_party/nixpkgs/pkgs/servers/mpd/default.nix @@ -71,7 +71,6 @@ let # Commercial services qobuz = [ curl libgcrypt yajl ]; soundcloud = [ curl yajl ]; - tidal = [ curl yajl ]; # Client support libmpdclient = [ libmpdclient ]; # Tag support @@ -196,7 +195,7 @@ in "lame" "libsamplerate" "shout" "libmpdclient" "id3tag" "expat" "pcre" "yajl" "sqlite" - "soundcloud" "qobuz" "tidal" + "soundcloud" "qobuz" ] ++ lib.optionals stdenv.isLinux [ "alsa" "systemd" "syslog" "io_uring" ] ++ lib.optionals (!stdenv.isDarwin) [ diff --git a/third_party/nixpkgs/pkgs/servers/nitter/default.nix b/third_party/nixpkgs/pkgs/servers/nitter/default.nix index 5804d709b8..de51da4ca6 100644 --- a/third_party/nixpkgs/pkgs/servers/nitter/default.nix +++ b/third_party/nixpkgs/pkgs/servers/nitter/default.nix @@ -2,32 +2,29 @@ nimPackages.buildNimPackage rec { pname = "nitter"; - version = "unstable-2021-12-31"; + version = "unstable-2022-01-32"; nimBinOnly = true; src = fetchFromGitHub { owner = "zedeus"; repo = "nitter"; - rev = "9d117aa15b3c3238cee79acd45d655eeb0e46293"; - sha256 = "06hd3r1kgxx83sl5ss90r39v815xp2ki72fc8p64kid34mcn57cz"; + rev = "cdb4efadfeb5102b501c7ff79261fefc7327edb9"; + sha256 = "sha256-kNK0UQd1whkaZwj98b2JYtYwjUSE1qBcAYytqnSaK1o="; }; buildInputs = with nimPackages; [ jester karax sass - regex - unicodedb - unicodeplus - segmentation nimcrypto markdown packedjson supersnappy redpool - flatty - zippy redis + zippy + flatty + jsony ]; postBuild = '' diff --git a/third_party/nixpkgs/pkgs/servers/sql/mariadb/default.nix b/third_party/nixpkgs/pkgs/servers/sql/mariadb/default.nix index 82fdc2a3a3..3f1f3448da 100644 --- a/third_party/nixpkgs/pkgs/servers/sql/mariadb/default.nix +++ b/third_party/nixpkgs/pkgs/servers/sql/mariadb/default.nix @@ -2,8 +2,8 @@ # Native buildInputs components , bison, boost, cmake, fixDarwinDylibNames, flex, makeWrapper, pkg-config # Common components -, curl, libiconv, ncurses, openssl, pcre2 -, libkrb5, liburing, systemd +, curl, libiconv, ncurses, openssl, pcre, pcre2 +, libkrb5, libaio, liburing, systemd , CoreServices, cctools, perl , jemalloc, less # Server components @@ -14,36 +14,37 @@ , withStorageRocks ? true }: -with lib; - let # in mariadb # spans the whole file libExt = stdenv.hostPlatform.extensions.sharedLibrary; mytopEnv = perl.withPackages (p: with p; [ DBDmysql DBI TermReadKey ]); -mariadb = server // { - inherit client; # MariaDB Client - server = server; # MariaDB Server +mariadbPackage = packageSettings: (server packageSettings) // { + client = client packageSettings; # MariaDB Client + server = server packageSettings; # MariaDB Server }; -common = rec { # attributes common to both builds - version = "10.6.5"; +commonOptions = packageSettings: rec { # attributes common to both builds + inherit (packageSettings) version; src = fetchurl { url = "https://downloads.mariadb.com/MariaDB/mariadb-${version}/source/mariadb-${version}.tar.gz"; - sha256 = "sha256-4L4EBCjZpCqLtL0iG1Z/8lIs1vqJBjhic9pPA8XCCo8="; + inherit (packageSettings) sha256; }; nativeBuildInputs = [ cmake pkg-config ] - ++ optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames - ++ optional (!stdenv.hostPlatform.isDarwin) makeWrapper; + ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames + ++ lib.optional (!stdenv.hostPlatform.isDarwin) makeWrapper; buildInputs = [ - curl libiconv ncurses openssl pcre2 zlib - ] ++ optionals stdenv.hostPlatform.isLinux [ libkrb5 liburing systemd ] - ++ optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl ] - ++ optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ]; + curl libiconv ncurses openssl zlib + ] ++ (packageSettings.extraBuildInputs or []) + ++ lib.optionals stdenv.hostPlatform.isLinux ([ libkrb5 systemd ] + ++ (if (lib.versionOlder version "10.6") then [ libaio ] else [ liburing ])) + ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl ] + ++ lib.optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ] + ++ (if (lib.versionOlder version "10.5") then [ pcre ] else [ pcre2 ]); prePatch = '' sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt @@ -54,7 +55,7 @@ common = rec { # attributes common to both builds ] # Fixes a build issue as documented on # https://jira.mariadb.org/browse/MDEV-26769?focusedCommentId=206073&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-206073 - ++ lib.optional (!stdenv.isLinux) ./patch/macos-MDEV-26769-regression-fix.patch; + ++ lib.optional (!stdenv.hostPlatform.isLinux && lib.versionAtLeast version "10.6") ./patch/macos-MDEV-26769-regression-fix.patch; cmakeFlags = [ "-DBUILD_CONFIG=mysql_release" @@ -86,7 +87,7 @@ common = rec { # attributes common to both builds "-DWITH_SAFEMALLOC=OFF" "-DWITH_UNIT_TESTS=OFF" "-DEMBEDDED_LIBRARY=OFF" - ] ++ optionals stdenv.hostPlatform.isDarwin [ + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides # to pass in java explicitly. @@ -98,37 +99,39 @@ common = rec { # attributes common to both builds # Remove Development components. Need to use libmysqlclient. rm "$out"/lib/mysql/plugin/daemon_example.ini rm "$out"/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} - rm "$out"/bin/{mariadb-config,mariadb_config,mysql_config} + rm -f "$out"/bin/{mariadb-config,mariadb_config,mysql_config} rm -r $out/include rm -r $out/lib/pkgconfig ''; # perlPackages.DBDmysql is broken on darwin - postFixup = optionalString (!stdenv.hostPlatform.isDarwin) '' - wrapProgram $out/bin/mytop --set PATH ${makeBinPath [ less ncurses ]} + postFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' + wrapProgram $out/bin/mytop --set PATH ${lib.makeBinPath [ less ncurses ]} ''; - passthru.mysqlVersion = "5.7"; - - passthru.tests = { - mariadb-galera-mariabackup = nixosTests.mariadb-galera-mariabackup; - mariadb-galera-rsync = nixosTests.mariadb-galera-rsync; - mysql = nixosTests.mysql; - mysql-autobackup = nixosTests.mysql-autobackup; - mysql-backup = nixosTests.mysql-backup; - mysql-replication = nixosTests.mysql-replication; + passthru.tests = let + testVersion = "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor (packageSettings.version))}"; + in { + mariadb-galera-rsync = nixosTests.mariadb-galera.${testVersion}; + mysql = nixosTests.mysql.${testVersion}; + mysql-autobackup = nixosTests.mysql-autobackup.${testVersion}; + mysql-backup = nixosTests.mysql-backup.${testVersion}; + mysql-replication = nixosTests.mysql-replication.${testVersion}; }; - meta = { + meta = with lib; { description = "An enhanced, drop-in replacement for MySQL"; homepage = "https://mariadb.org/"; license = licenses.gpl2; - maintainers = with maintainers; [ thoughtpolice ]; + maintainers = with maintainers; [ thoughtpolice ajs124 das_j ]; platforms = platforms.all; }; }; -client = stdenv.mkDerivation (common // { +client = packageSettings: let + common = commonOptions packageSettings; + +in stdenv.mkDerivation (common // { pname = "mariadb-client"; outputs = [ "out" "man" ]; @@ -153,7 +156,10 @@ client = stdenv.mkDerivation (common // { ''; }); -server = stdenv.mkDerivation (common // { +server = packageSettings: let + common = commonOptions packageSettings; + +in stdenv.mkDerivation (common // { pname = "mariadb-server"; outputs = [ "out" "man" ]; @@ -163,11 +169,11 @@ server = stdenv.mkDerivation (common // { buildInputs = common.buildInputs ++ [ bzip2 lz4 lzo snappy xz zstd cracklib judy libevent libxml2 - ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl - ++ optionals stdenv.hostPlatform.isLinux [ linux-pam ] - ++ optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.dev - ++ optional (!stdenv.hostPlatform.isDarwin) mytopEnv - ++ optionals withStorageMroonga [ kytea libsodium msgpack zeromq ]; + ] ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl + ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ] + ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.dev + ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv + ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ]; patches = common.patches; @@ -188,38 +194,54 @@ server = stdenv.mkDerivation (common // { "-DWITHOUT_EXAMPLE=1" "-DWITHOUT_FEDERATED=1" "-DWITHOUT_TOKUDB=1" - ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [ + ] ++ lib.optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) [ "-DWITH_NUMA=ON" - ] ++ optional (!withStorageMroonga) [ + ] ++ lib.optional (!withStorageMroonga) [ "-DWITHOUT_MROONGA=1" - ] ++ optional (!withStorageRocks) [ + ] ++ lib.optional (!withStorageRocks) [ "-DWITHOUT_ROCKSDB=1" - ] ++ optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin && withStorageRocks) [ "-DWITH_ROCKSDB_JEMALLOC=ON" - ] ++ optional (!stdenv.hostPlatform.isDarwin) [ + ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) [ "-DWITH_JEMALLOC=yes" - ] ++ optionals stdenv.hostPlatform.isDarwin [ + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DPLUGIN_AUTH_PAM=OFF" "-DWITHOUT_OQGRAPH=1" "-DWITHOUT_PLUGIN_S3=1" ]; - preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) '' + preConfigure = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' patchShebangs scripts/mytop.sh ''; postInstall = common.postInstall + '' rm -r "$out"/share/aclocal chmod +x "$out"/bin/wsrep_sst_common - rm "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest} - '' + optionalString withStorageMroonga '' + rm -f "$out"/bin/{mariadb-client-test,mariadb-test,mysql_client_test,mysqltest} + '' + lib.optionalString withStorageMroonga '' mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql - '' + optionalString (!stdenv.hostPlatform.isDarwin) '' + '' + lib.optionalString (!stdenv.hostPlatform.isDarwin && lib.versionAtLeast common.version "10.4") '' mv "$out"/OFF/suite/plugins/pam/pam_mariadb_mtr.so "$out"/share/pam/lib/security mv "$out"/OFF/suite/plugins/pam/mariadb_mtr "$out"/share/pam/etc/security rm -r "$out"/OFF ''; - CXXFLAGS = optionalString stdenv.hostPlatform.isi686 "-fpermissive"; + CXXFLAGS = lib.optionalString stdenv.hostPlatform.isi686 "-fpermissive"; }); -in mariadb +in { + mariadb_104 = mariadbPackage { + # Supported until 2024-06-18 + version = "10.4.22"; + sha256 = "000ca1hdnj2jg051cjgdd2ralgwgh2p8nwb1x6b85202xdpc7ga4"; + }; + mariadb_105 = mariadbPackage { + # Supported until 2025-06-24 + version = "10.5.13"; + sha256 = "0n0w1pyypv6wsknaqyykj3lc9zv6smji4q5jcf90w4rid330iw0n"; + }; + mariadb_106 = mariadbPackage { + # Supported until 2026-07 + version = "10.6.5"; + sha256 = "13qaqb2h6kysfdi3h1l9zbb2qlpjgxb1n8mxnj5jm96r50209gp0"; + }; +} diff --git a/third_party/nixpkgs/pkgs/servers/tailscale/default.nix b/third_party/nixpkgs/pkgs/servers/tailscale/default.nix index 2149f77243..ee768981f9 100644 --- a/third_party/nixpkgs/pkgs/servers/tailscale/default.nix +++ b/third_party/nixpkgs/pkgs/servers/tailscale/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "tailscale"; - version = "1.20.1"; + version = "1.20.2"; src = fetchFromGitHub { owner = "tailscale"; repo = "tailscale"; rev = "v${version}"; - sha256 = "sha256-n+94ipR1w63NS2tzMsJWY4oxeTBEWrp8e2gF+CTpvrI="; + sha256 = "sha256-uW/C4Bks7qGJEQhPoqd2LSk8MAD9gcDRsJbbowgsSuY="; }; nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ]; diff --git a/third_party/nixpkgs/pkgs/servers/traefik/default.nix b/third_party/nixpkgs/pkgs/servers/traefik/default.nix index 962569d517..91a2664274 100644 --- a/third_party/nixpkgs/pkgs/servers/traefik/default.nix +++ b/third_party/nixpkgs/pkgs/servers/traefik/default.nix @@ -2,15 +2,15 @@ buildGoModule rec { pname = "traefik"; - version = "2.5.6"; + version = "2.5.7"; src = fetchzip { url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz"; - sha256 = "sha256-HHJTfAigUH7C0VuKUeGypqFlQwVdy05Ki/aTxDsl+tg="; + sha256 = "sha256-CQXrAKdfNqGKXw3Ds47uq6ALsDh6JRf+94axOvLzWbE="; stripRoot = false; }; - vendorSha256 = "sha256-DqjqJPyoFlCjIIaHYS5jrROQWDxZk+RGfccC2jYZ8LE="; + vendorSha256 = "sha256-aZemr1waV2hIujbI+1PrivXxa1RrT0Ams4xT4QxTQPY="; doCheck = false; diff --git a/third_party/nixpkgs/pkgs/shells/nushell/default.nix b/third_party/nixpkgs/pkgs/shells/nushell/default.nix index a6ca5242e4..313c067de7 100644 --- a/third_party/nixpkgs/pkgs/shells/nushell/default.nix +++ b/third_party/nixpkgs/pkgs/shells/nushell/default.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage rec { pname = "nushell"; - version = "0.42.0"; + version = "0.43.0"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-2EBy61K/HCdCFZkVT5XrflQGuQrRWfdrevV3OPjpUcQ="; + sha256 = "sha256-LSKddSDmXKRnD6PuCPCg/AUMj5y1lzFD24aqVrP7NjU="; }; - cargoSha256 = "sha256-iU19rHb1td4NIF+P3wctIcZKL09H+51XwD3NaSBKK18="; + cargoSha256 = "sha256-gVjOsRDL7u3bXqmHVaqfQnPfGw9Qny4ETRYyhwyEoI0="; nativeBuildInputs = [ pkg-config ] ++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ python3 ]; diff --git a/third_party/nixpkgs/pkgs/test/vim/default.nix b/third_party/nixpkgs/pkgs/test/vim/default.nix index cb3953a63f..2beb75391e 100644 --- a/third_party/nixpkgs/pkgs/test/vim/default.nix +++ b/third_party/nixpkgs/pkgs/test/vim/default.nix @@ -14,7 +14,7 @@ in ### vim tests ################## vim_with_vim2nix = vim_configurable.customize { - name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim-addon-vim2nix" ]; + name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim2nix" ]; }; # test cases: diff --git a/third_party/nixpkgs/pkgs/tools/admin/mycli/default.nix b/third_party/nixpkgs/pkgs/tools/admin/mycli/default.nix index 83dc721492..355bdf8ef2 100644 --- a/third_party/nixpkgs/pkgs/tools/admin/mycli/default.nix +++ b/third_party/nixpkgs/pkgs/tools/admin/mycli/default.nix @@ -7,11 +7,11 @@ with python3.pkgs; buildPythonApplication rec { pname = "mycli"; - version = "1.24.2"; + version = "1.24.3"; src = fetchPypi { inherit pname version; - sha256 = "sha256-XrPho+bPjyzj2d6W4KR4P09T1/FXkrQvhGPotgooIB4="; + sha256 = "sha256-Qk2qOXfAM7xJv1fDt/mnb2NZFf5S/ExonQtLE4m22a4="; }; propagatedBuildInputs = [ diff --git a/third_party/nixpkgs/pkgs/tools/audio/headsetcontrol/default.nix b/third_party/nixpkgs/pkgs/tools/audio/headsetcontrol/default.nix new file mode 100644 index 0000000000..3a66791932 --- /dev/null +++ b/third_party/nixpkgs/pkgs/tools/audio/headsetcontrol/default.nix @@ -0,0 +1,44 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, hidapi +}: + +stdenv.mkDerivation rec { + pname = "headsetcontrol"; + version = "2.6"; + + src = fetchFromGitHub { + owner = "Sapd"; + repo = "HeadsetControl"; + rev = version; + sha256 = "0a7zimzi71416pmn6z0l1dn1c2x8p702hkd0k6da9rsznff85a88"; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + hidapi + ]; + + /* + Test depends on having the apropiate headsets connected. + */ + doCheck = false; + + meta = with lib; { + description = "Sidetone and Battery status for Logitech G930, G533, G633, G933 SteelSeries Arctis 7/PRO 2019 and Corsair VOID (Pro)"; + longDescription = '' + A tool to control certain aspects of USB-connected headsets on Linux. Currently, + support is provided for adjusting sidetone, getting battery state, controlling + LEDs, and setting the inactive time. + ''; + homepage = "https://github.com/Sapd/HeadsetControl"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ leixb ]; + platforms = platforms.all; + }; +} diff --git a/third_party/nixpkgs/pkgs/tools/misc/diffoscope/default.nix b/third_party/nixpkgs/pkgs/tools/misc/diffoscope/default.nix index 87dffed4b7..539b9f4b67 100644 --- a/third_party/nixpkgs/pkgs/tools/misc/diffoscope/default.nix +++ b/third_party/nixpkgs/pkgs/tools/misc/diffoscope/default.nix @@ -11,11 +11,11 @@ # Note: when upgrading this package, please run the list-missing-tools.sh script as described below! python3Packages.buildPythonApplication rec { pname = "diffoscope"; - version = "200"; + version = "201"; src = fetchurl { url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2"; - sha256 = "sha256-x6qAVEtvGmW0L4L/K+YKAp9jc9zz0Orrsl3qBkPYnW0="; + sha256 = "sha256-urvSZSpy5ksHhWqJM8ek0dyyKPeme/sJ16L6JfHg7Lg="; }; outputs = [ "out" "man" ]; diff --git a/third_party/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix b/third_party/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix index c243e55841..cd75c0a3bc 100644 --- a/third_party/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix +++ b/third_party/nixpkgs/pkgs/tools/misc/mongodb-compass/default.nix @@ -34,7 +34,7 @@ xorg, }: let - version = "1.29.6"; + version = "1.30.1"; rpath = lib.makeLibraryPath [ alsa-lib @@ -84,7 +84,7 @@ let if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { url = "https://downloads.mongodb.com/compass/mongodb-compass_${version}_amd64.deb"; - sha256 = "sha256-yLbuHvZrI8C4X/burIo5cI+H8KEv++4FyRgtISpmPxE="; + sha256 = "sha256-MwkYgkDZmzZsthJxSK6c+0us0D4cPuDfuV1XBbeTNXE="; } else throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}"; diff --git a/third_party/nixpkgs/pkgs/tools/misc/nncp/default.nix b/third_party/nixpkgs/pkgs/tools/misc/nncp/default.nix index 9024ddb643..1398422889 100644 --- a/third_party/nixpkgs/pkgs/tools/misc/nncp/default.nix +++ b/third_party/nixpkgs/pkgs/tools/misc/nncp/default.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation rec { pname = "nncp"; - version = "8.1.0"; + version = "8.2.0"; outputs = [ "out" "doc" "info" ]; src = fetchurl { url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz"; - sha256 = "sha256-d3U233dedtZrBWRdb0QElNOd/L1+Ut4CWvkZo5TPU+w="; + sha256 = "sha256-WbDW4kjTAokpOVtjXU4M8RS8TeD0+fEFLgSShJgO6t0="; }; nativeBuildInputs = [ go redo-apenwarr ]; diff --git a/third_party/nixpkgs/pkgs/tools/misc/skim/default.nix b/third_party/nixpkgs/pkgs/tools/misc/skim/default.nix index 63931914e9..e7a3970963 100644 --- a/third_party/nixpkgs/pkgs/tools/misc/skim/default.nix +++ b/third_party/nixpkgs/pkgs/tools/misc/skim/default.nix @@ -32,6 +32,9 @@ rustPlatform.buildRustPackage rec { chmod +x $out/bin/sk-share ''; + # https://github.com/lotabout/skim/issues/440 + doCheck = !stdenv.isAarch64; + meta = with lib; { description = "Command-line fuzzy finder written in Rust"; homepage = "https://github.com/lotabout/skim"; diff --git a/third_party/nixpkgs/pkgs/tools/misc/snore/default.nix b/third_party/nixpkgs/pkgs/tools/misc/snore/default.nix index 5efeafcd26..92c3de77c8 100644 --- a/third_party/nixpkgs/pkgs/tools/misc/snore/default.nix +++ b/third_party/nixpkgs/pkgs/tools/misc/snore/default.nix @@ -1,14 +1,14 @@ { lib, stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { - version = "0.1"; + version = "0.2"; pname = "snore"; src = fetchFromGitHub { owner = "clamiax"; repo = pname; rev = version; - sha256 = "1ic1qy6ybnjlkz5rb1hpvq6dcdmxw5xcx34qcadrsfdjizxcv8pp"; + sha256 = "sha256-EOwbRqtQEuGZ+aeCBNVfLUq4m/bFWJTvMDM6a+y74qc="; }; makeFlags = [ "PREFIX=${placeholder "out"}" ]; diff --git a/third_party/nixpkgs/pkgs/tools/misc/steampipe/default.nix b/third_party/nixpkgs/pkgs/tools/misc/steampipe/default.nix index 8245f05613..f018fdd35e 100644 --- a/third_party/nixpkgs/pkgs/tools/misc/steampipe/default.nix +++ b/third_party/nixpkgs/pkgs/tools/misc/steampipe/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "steampipe"; - version = "0.11.2"; + version = "0.12.0"; src = fetchFromGitHub { owner = "turbot"; repo = "steampipe"; rev = "v${version}"; - sha256 = "sha256-omg/MgCTKkj0p1vDvJs22/0Jhzim0CeISV0Kn9p5lh4="; + sha256 = "sha256-ApY3h6CqOJMWmIindp5TqWczSU50TBiS89lYzSzj8EM="; }; - vendorSha256 = "sha256-PYaq74NNEOJ1jZ6PoS6zcTiUN4JA9JDjO7GB9tqgT6c="; + vendorSha256 = "sha256-ikmcayOy87u6XMYjxxzFv35Rlp9oTteEKFOPr/+xc2Y="; # tests are failing for no obvious reasons doCheck = false; diff --git a/third_party/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix b/third_party/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix index b8e838b4d2..3534769b86 100644 --- a/third_party/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix +++ b/third_party/nixpkgs/pkgs/tools/misc/yt-dlp/default.nix @@ -20,12 +20,12 @@ buildPythonPackage rec { # The websites yt-dlp deals with are a very moving target. That means that # downloads break constantly. Because of that, updates should always be backported # to the latest stable release. - version = "2021.12.27"; + version = "2022.1.21"; src = fetchPypi { inherit pname; version = builtins.replaceStrings [ ".0" ] [ "." ] version; - sha256 = "sha256-IkTfN1l1FIfnlrI7ZyFr7pjnCDKjpDwlJrCw4Lv7y1s="; + sha256 = "sha256-Ig7EBzibXqcuJd/BHDDlQ0ibkAdcVTEdUlXiBF24qeI="; }; propagatedBuildInputs = [ websockets mutagen ] diff --git a/third_party/nixpkgs/pkgs/tools/networking/pcapc/default.nix b/third_party/nixpkgs/pkgs/tools/networking/pcapc/default.nix index 48dc96bb3f..e0cef54020 100644 --- a/third_party/nixpkgs/pkgs/tools/networking/pcapc/default.nix +++ b/third_party/nixpkgs/pkgs/tools/networking/pcapc/default.nix @@ -1,27 +1,24 @@ -{ lib, stdenv, fetchFromGitHub, libpcap, cmake }: +{ lib, stdenv, fetchFromGitLab, libpcap }: stdenv.mkDerivation rec { pname = "pcapc"; - version = "1.0.0"; + version = "1.0.1"; - src = fetchFromGitHub { - sha256 = "137crs0bb7kh9a8p9g168yj2jrp0h3j3073nwh31jy4nk0g5hlfp"; + src = fetchFromGitLab { + owner = "post-factum"; + repo = pname; rev = "v${version}"; - repo = "pcapc"; - owner = "pfactum"; + hash = "sha256-oDg9OSvi9aQsZ2SQm02NKAcppE0w5SGZaI13gdp7gv4="; }; - nativeBuildInputs = [ cmake ]; buildInputs = [ libpcap ]; - makeFlags = [ "PREFIX=$(out)" ]; - - doCheck = false; + makeFlags = [ "PREFIX=${placeholder "out"}" ]; meta = with lib; { - homepage = "https://github.com/pfactum/pcapc"; + homepage = "https://gitlab.com/post-factum/pcapc"; description = "Compile libpcap filter expressions into BPF opcodes"; - license = licenses.gpl3; + license = licenses.gpl3Only; platforms = platforms.linux; }; } diff --git a/third_party/nixpkgs/pkgs/tools/security/jwt-cli/default.nix b/third_party/nixpkgs/pkgs/tools/security/jwt-cli/default.nix index 01e093e8f1..77e5ce0891 100644 --- a/third_party/nixpkgs/pkgs/tools/security/jwt-cli/default.nix +++ b/third_party/nixpkgs/pkgs/tools/security/jwt-cli/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "jwt-cli"; - version = "5.0.1"; + version = "5.0.2"; src = fetchFromGitHub { owner = "mike-engel"; repo = pname; rev = version; - sha256 = "08yynwmn1kzanabiqzysyk9jbn0zyjjlilj4b4j5m29hfykq1jvf"; + sha256 = "0w7fqmh8gihknvdamnq1n519253d4lxrpv378jajca9x906rqy1r"; }; - cargoSha256 = "19rbmiy71hgybzfwpz4msqqgl98qv9c3x06mjcpmixq4qhgxz616"; + cargoSha256 = "0b7m23azy8cb8d5wkawnw6nv8k7lfnfwc06swmbkfvg8vcxfsacs"; buildInputs = lib.optional stdenv.isDarwin Security; diff --git a/third_party/nixpkgs/pkgs/tools/system/tuptime/default.nix b/third_party/nixpkgs/pkgs/tools/system/tuptime/default.nix index 0d3b6f4d6b..7c13df3ec1 100644 --- a/third_party/nixpkgs/pkgs/tools/system/tuptime/default.nix +++ b/third_party/nixpkgs/pkgs/tools/system/tuptime/default.nix @@ -1,16 +1,18 @@ { lib, stdenv, fetchFromGitHub , makeWrapper, installShellFiles -, python3, sqlite }: +, python3, sqlite +, nixosTests +}: stdenv.mkDerivation rec { pname = "tuptime"; - version = "5.0.2"; + version = "5.1.0"; src = fetchFromGitHub { owner = "rfrail3"; repo = "tuptime"; rev = version; - sha256 = "sha256-2Q1czKvwdVq+2+64k4SOghw05CUlT5HdZpvKMRbGdDY="; + sha256 = "sha256-6N4dqgLOhWqVR8GqlBUxHWy10AHBZ4aZbdkw5SOxxBQ="; }; nativeBuildInputs = [ makeWrapper installShellFiles ]; @@ -34,6 +36,8 @@ stdenv.mkDerivation rec { --prefix PATH : "${lib.makeBinPath [ sqlite ]}" ''; + passthru.tests = nixosTests.tuptime; + meta = with lib; { description = "Total uptime & downtime statistics utility"; homepage = "https://github.com/rfrail3/tuptime"; diff --git a/third_party/nixpkgs/pkgs/top-level/aliases.nix b/third_party/nixpkgs/pkgs/top-level/aliases.nix index 7ae975c5cb..a77e2d21ad 100644 --- a/third_party/nixpkgs/pkgs/top-level/aliases.nix +++ b/third_party/nixpkgs/pkgs/top-level/aliases.nix @@ -368,6 +368,7 @@ mapAliases ({ google-music-scripts = throw "google-music-scripts has been removed because Google Play Music was discontinued"; # added 2021-03-07 google-musicmanager = throw "google-musicmanager has been removed because Google Play Music was discontinued"; # added 2021-03-07 googleAuthenticator = google-authenticator; # added 2016-10-16 + googleearth = throw "the non-pro version of Google Earth was removed because it was discontinued and downloading it isn't possible anymore"; # added 2022-01-22 grantlee5 = libsForQt5.grantlee; # added 2015-12-19 graalvm8 = throw "graalvm8-ce has been removed by upstream."; # added 2021-10-19 graalvm8-ce = throw "graalvm8-ce has been removed by upstream."; # added 2021-10-19 @@ -480,6 +481,7 @@ mapAliases ({ libgnome_keyring3 = libgnome-keyring3; # added 2018-02-25 libgpgerror = libgpg-error; # added 2021-09-04 libgumbo = gumbo; # added 2018-01-21 + libgroove = throw "libgroove has been removed, because it depends on an outdated and insecure version of ffmpeg"; # added 2022-01-21 libGL_driver = mesa.drivers; # added 2019-05-28 libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # added 2018-03-14 libjpeg_drop = libjpeg_original; # added 2020-06-05 diff --git a/third_party/nixpkgs/pkgs/top-level/all-packages.nix b/third_party/nixpkgs/pkgs/top-level/all-packages.nix index 9c387d041f..21412f030e 100644 --- a/third_party/nixpkgs/pkgs/top-level/all-packages.nix +++ b/third_party/nixpkgs/pkgs/top-level/all-packages.nix @@ -67,7 +67,7 @@ with pkgs; clangStdenvNoLibs = mkStdenvNoLibs clangStdenv; # For convenience, allow callers to get the path to Nixpkgs. - path = ../..; + path = config.path; ### Helper functions. @@ -1015,6 +1015,8 @@ with pkgs; fwbuilder = libsForQt5.callPackage ../tools/security/fwbuilder { }; + headsetcontrol = callPackage ../tools/audio/headsetcontrol { }; + ksnip = libsForQt5.callPackage ../tools/misc/ksnip { }; linux-router = callPackage ../tools/networking/linux-router { }; @@ -8839,8 +8841,6 @@ with pkgs; poly2tri-c = callPackage ../development/libraries/poly2tri-c { }; - polymc = libsForQt5.callPackage ../games/polymc { }; - ponysay = callPackage ../tools/misc/ponysay { }; popfile = callPackage ../tools/text/popfile { }; @@ -12478,6 +12478,8 @@ with pkgs; openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { }; + lingua-franca = callPackage ../development/compilers/lingua-franca { }; + openspin = callPackage ../development/compilers/openspin { }; oraclejdk = jdkdistro true false; @@ -15717,6 +15719,8 @@ with pkgs; nsis = callPackage ../development/tools/nsis { }; + tockloader = callPackage ../development/tools/misc/tockloader { }; + ### DEVELOPMENT / LIBRARIES a52dec = callPackage ../development/libraries/a52dec { }; @@ -16274,6 +16278,14 @@ with pkgs; eigen2 = callPackage ../development/libraries/eigen/2.0.nix {}; + vapoursynth = callPackage ../development/libraries/vapoursynth { + inherit (darwin.apple_sdk.frameworks) ApplicationServices; + }; + + vapoursynth-editor = libsForQt5.callPackage ../development/libraries/vapoursynth/editor.nix { }; + + vapoursynth-mvtools = callPackage ../development/libraries/vapoursynth-mvtools { }; + vmmlib = callPackage ../development/libraries/vmmlib { inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo; }; @@ -17789,8 +17801,6 @@ with pkgs; libgringotts = callPackage ../development/libraries/libgringotts { }; - libgroove = callPackage ../development/libraries/libgroove { }; - libgrss = callPackage ../development/libraries/libgrss { }; libgweather = callPackage ../development/libraries/libgweather { }; @@ -21427,10 +21437,15 @@ with pkgs; asio = asio_1_10; }; - mariadb = callPackage ../servers/sql/mariadb { + inherit (callPackage ../servers/sql/mariadb { inherit (darwin) cctools; inherit (darwin.apple_sdk.frameworks) CoreServices; - }; + }) + mariadb_104 + mariadb_105 + mariadb_106 + ; + mariadb = mariadb_106; mongodb = hiPrio mongodb-3_4; @@ -23050,6 +23065,7 @@ with pkgs; ubootNovena ubootOdroidC2 ubootOdroidXU3 + ubootOlimexA64Olinuxino ubootOrangePiPc ubootOrangePiZeroPlus2H5 ubootOrangePiZero @@ -25956,8 +25972,6 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) AppKit AudioToolbox; }; - googleearth = callPackage ../applications/misc/googleearth { }; - googleearth-pro = libsForQt5.callPackage ../applications/misc/googleearth-pro { }; google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome2.GConf; }; @@ -28722,6 +28736,7 @@ with pkgs; src = callPackage ../applications/version-management/src { git = gitMinimal; + python = python3; }; sslyze = with python3Packages; toPythonApplication sslyze; @@ -28947,8 +28962,6 @@ with pkgs; tetraproc = callPackage ../applications/audio/tetraproc { }; - tetrio-desktop = callPackage ../games/tetrio-desktop { }; - tev = callPackage ../applications/graphics/tev { }; themechanger = callPackage ../applications/misc/themechanger { }; @@ -30945,10 +30958,14 @@ with pkgs; portmod = callPackage ../games/portmod { }; + tetrio-desktop = callPackage ../games/tetrio-desktop { }; + tr-patcher = callPackage ../games/tr-patcher { }; tes3cmd = callPackage ../games/tes3cmd { }; + otto-matic = callPackage ../games/otto-matic { }; + openraPackages = import ../games/openra pkgs; openra = openraPackages.engines.release; @@ -31002,6 +31019,8 @@ with pkgs; planetary_annihilation = callPackage ../games/planetaryannihilation { }; + polymc = libsForQt5.callPackage ../games/polymc { }; + pong3d = callPackage ../games/pong3d { }; pokerth = libsForQt5.callPackage ../games/pokerth { }; @@ -31248,8 +31267,6 @@ with pkgs; tinyfugue = callPackage ../games/tinyfugue { }; - tockloader = callPackage ../development/tools/misc/tockloader { }; - tome2 = callPackage ../games/tome2 { }; tome4 = callPackage ../games/tome4 { }; @@ -31316,14 +31333,6 @@ with pkgs; ut2004demo = res.ut2004Packages.ut2004 [ res.ut2004Packages.ut2004-demo ]; - vapoursynth = callPackage ../development/libraries/vapoursynth { - inherit (darwin.apple_sdk.frameworks) ApplicationServices; - }; - - vapoursynth-editor = libsForQt5.callPackage ../development/libraries/vapoursynth/editor.nix { }; - - vapoursynth-mvtools = callPackage ../development/libraries/vapoursynth-mvtools { }; - vassal = callPackage ../games/vassal { }; vdrift = callPackage ../games/vdrift { }; @@ -32204,8 +32213,6 @@ with pkgs; otter = callPackage ../applications/science/logic/otter {}; - otto-matic = callPackage ../games/otto-matic { }; - picosat = callPackage ../applications/science/logic/picosat {}; libpoly = callPackage ../applications/science/logic/poly {}; diff --git a/third_party/nixpkgs/pkgs/top-level/config.nix b/third_party/nixpkgs/pkgs/top-level/config.nix index 7a5b4bdd17..bb4f668d60 100644 --- a/third_party/nixpkgs/pkgs/top-level/config.nix +++ b/third_party/nixpkgs/pkgs/top-level/config.nix @@ -32,6 +32,20 @@ let feature = "run checkPhase by default"; }; + path = mkOption { + type = types.path; + default = ../..; + defaultText = lib.literalDocBook "a path expression"; + internal = true; + description = '' + A reference to Nixpkgs' own sources. + + This is overridable in order to avoid copying sources unnecessarily, + as a path expression that references a store path will not short-circuit + to the store path itself, but copy the store path instead. + ''; + }; + }; in { diff --git a/third_party/nixpkgs/pkgs/top-level/nim-packages.nix b/third_party/nixpkgs/pkgs/top-level/nim-packages.nix index 7d88d29db4..e808ebef85 100644 --- a/third_party/nixpkgs/pkgs/top-level/nim-packages.nix +++ b/third_party/nixpkgs/pkgs/top-level/nim-packages.nix @@ -30,6 +30,8 @@ lib.makeScope newScope (self: jsonschema = callPackage ../development/nim-packages/jsonschema { }; + jsony = callPackage ../development/nim-packages/jsony { }; + karax = callPackage ../development/nim-packages/karax { }; lscolors = callPackage ../development/nim-packages/lscolors { }; diff --git a/third_party/nixpkgs/pkgs/top-level/python-packages.nix b/third_party/nixpkgs/pkgs/top-level/python-packages.nix index 17d62c17c5..beb14495df 100644 --- a/third_party/nixpkgs/pkgs/top-level/python-packages.nix +++ b/third_party/nixpkgs/pkgs/top-level/python-packages.nix @@ -4001,6 +4001,8 @@ in { iptools = callPackage ../development/python-modules/iptools { }; + ipwhl = callPackage ../development/python-modules/ipwhl { }; + ipy = callPackage ../development/python-modules/IPy { }; ipydatawidgets = callPackage ../development/python-modules/ipydatawidgets { }; diff --git a/third_party/nixpkgs/pkgs/top-level/ruby-packages.nix b/third_party/nixpkgs/pkgs/top-level/ruby-packages.nix index 3a7c16c087..9ac4a2ba15 100644 --- a/third_party/nixpkgs/pkgs/top-level/ruby-packages.nix +++ b/third_party/nixpkgs/pkgs/top-level/ruby-packages.nix @@ -5,32 +5,32 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ilq5mniarm0zlvnkagqj9n9p73ljrhphciz02aymrpfxxxclz2x"; + sha256 = "121zl6435dwz1d14xviyynxj4njbawbv1ljxj5p0cxlhql1n3jsm"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; actionmailbox = { - dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"]; + dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16azdnjws215clb056b9mabglx4b8f61hr82hv7hm80dmn89zqq6"; + sha256 = "1jkxqdp9ha8pm2cd61ajs2pgn41adz3x1f8yqvdca3fvfrlgirjg"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; actionmailer = { - dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"]; + dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00s07l2ac5igch1g2rpa0linmiq7mhgk6v6wxkckg8gbiqijb592"; + sha256 = "0r27a5g0r7b27mzcl150hdc7ljgl5iyrxw1z4wn3n1jfb7xs5rkq"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; actionpack = { dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; @@ -38,21 +38,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xgysqnibjsy6kdz10x2xb3kwa6lssiqhh0zggrbgs31ypwhlpia"; + sha256 = "0q27kqcl369g9y7sxxcfigrm1yyj3q22kd135l7ahx977vcy5hjm"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; actiontext = { - dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"]; + dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m4fy4qqh09vnzbhx383vjdfid6fzbs49bzzg415x05nmmjkx582"; + sha256 = "0yya6xda23q8p3knvg5c8zfqk7xwnkjplf2bxnvmipn88918cz6w"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -60,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yf4ic5kl324rs0raralpwx24s6hvvdzxfhinafylf8f3x7jj23z"; + sha256 = "0nc0v74mdlag3kxcby0rrcz2ivvc94sfdrw3zm5ng2qrchh56w1b"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; activejob = { dependencies = ["activesupport" "globalid"]; @@ -71,10 +71,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q7c0i0kwarxgcbxk71wa9jnlg45grbxmhlrh7dk9bgcv7r7r7hn"; + sha256 = "1yshbsy4k8702x9jv90yr6cjjpn5vxlw42pb878g70cgp2wq45r3"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; activemodel = { dependencies = ["activesupport"]; @@ -82,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16ixam4lni8b5lgx0whnax0imzh1dh10fy5r9pxs52n83yz5nbq3"; + sha256 = "0vr3ayykc1s7n12ajddcyff751v9j48yfimgxrys6qsxj89gmnmh"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; activerecord = { dependencies = ["activemodel" "activesupport"]; @@ -93,10 +93,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ccgvlj767ybps3pxlaa4iw77n7wbriw2sr8754id3ngjfap08ja"; + sha256 = "1dpn1r1v2165bx9wj07rh1g27jl49yr6kyd34xhkd48hxfadq3jb"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; activestorage = { dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"]; @@ -104,21 +104,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17knzz9fvqg4x582vy0xmlgjkxfb13xyzl2rgw19qfma86hxsvvi"; + sha256 = "0pxjxyjgh4al11k7z1lbnsc5wx5dnraz95p2wx00dkrvpgw8gm8b"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"]; + dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4"; + sha256 = "02lys9pnb99hsczs551iqzjn008i8k7c728xxba7acfi9rdw9pa6"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; addressable = { groups = ["default"]; @@ -290,10 +290,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z"; + sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d"; type = "gem"; }; - version = "1.0.3"; + version = "1.1.0"; }; clamp = { groups = ["default"]; @@ -396,10 +396,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04bzk1x67pqrmnmz3pdw107j5p9ncwfm7gdv8n4bk4r9nqxdv3wn"; + sha256 = "1zaid3awk470igr5yilx1wvj1jnh88fbjl11hp93a4qic7j3i6ca"; type = "gem"; }; - version = "0.2.0"; + version = "0.0.6"; }; cocoapods-deintegrate = { groups = ["default"]; @@ -551,10 +551,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0f7w4gxr45m42ca6fpbq38jfzii00xysz12vcc68myvi8x0krr5l"; + sha256 = "03dqcz9pks7mbzq3zkfm2rzbjwkcwp8z3rip60d4pqs8b2bb61bg"; type = "gem"; }; - version = "0.2.0"; + version = "0.0.6"; }; cocoapods-trunk = { dependencies = ["nap" "netrc"]; @@ -704,20 +704,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q7kqswm780vx1fannnrprbfbsp166smgyszgip5q7b859mk89wp"; + sha256 = "06k7iybv6shvf8ypw28q9pbks129v2k34sn4f293650000ybdman"; type = "gem"; }; - version = "0.9.11"; + version = "1.0.0"; }; curses = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0j00s12wn9ai2qinbmzak6v0173cldqllnzs2s2id7gl45py2s75"; + sha256 = "0py4n868h0whr5n8a4943nyagkpf0vnldk9nyizgf1q1lmrj1pkx"; type = "gem"; }; - version = "1.4.2"; + version = "1.4.3"; }; daemons = { groups = ["default"]; @@ -755,10 +755,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz"; + sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9"; type = "gem"; }; - version = "1.4.4"; + version = "1.5.0"; + }; + digest = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "00vwzvxgby22h7jhwadqqf9ssbkp3ag2pl4g7q3zf1y8mlk7rk39"; + type = "gem"; + }; + version = "3.1.0"; }; digest-sha3 = { groups = ["default"]; @@ -868,10 +878,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0153rr745g48h48vaplgmx7xkfjbc79acpq5jsl7agdrk4yf75ih"; + sha256 = "1bkh80zzjpfglm14rhz116qgz0nb5gvk3ydfjpg14av5407srgh1"; type = "gem"; }; - version = "0.89.0"; + version = "0.90.0"; }; execjs = { groups = ["default"]; @@ -884,15 +894,15 @@ version = "2.8.1"; }; faraday = { - dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "multipart-post" "ruby2_keywords"]; + dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0afhlqgby2cizcwgh7h2sq5f77q01axjbdl25bsvfwsry9n7gyyi"; + sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6"; type = "gem"; }; - version = "1.8.0"; + version = "1.9.3"; }; faraday-em_http = { groups = ["default"]; @@ -934,6 +944,17 @@ }; version = "1.0.1"; }; + faraday-multipart = { + dependencies = ["multipart-post"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j"; + type = "gem"; + }; + version = "1.0.3"; + }; faraday-net_http = { groups = ["default"]; platforms = []; @@ -974,15 +995,25 @@ }; version = "1.0.0"; }; + faraday-retry = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "153i967yrwnswqgvnnajgwp981k9p50ys1h80yz3q94rygs59ldd"; + type = "gem"; + }; + version = "1.0.3"; + }; ffi = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn"; + sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; type = "gem"; }; - version = "1.15.4"; + version = "1.15.5"; }; ffi-compiler = { dependencies = ["ffi" "rake"]; @@ -1311,6 +1342,16 @@ }; version = "0.1.4"; }; + io-wait = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10jj6xz15qaw8gkck5wv3a3xg1zdfsarrandkglfbf75x4xmkrfz"; + type = "gem"; + }; + version = "0.2.1"; + }; jaro_winkler = { groups = ["default"]; platforms = []; @@ -1322,15 +1363,15 @@ version = "1.5.4"; }; jbuilder = { - dependencies = ["activesupport"]; + dependencies = ["actionview" "activesupport"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1a8fhj01wqsjyr3cm6fzrv54p879v83xpm2vrh7if9q5zwvkqmfn"; + sha256 = "1h58xgmp0fqpnd6mvw0zl0f76119v8lnf4xabqhckbzl6jrk8qpa"; type = "gem"; }; - version = "2.11.3"; + version = "2.11.5"; }; jekyll = { dependencies = ["colorator" "jekyll-sass-converter" "jekyll-watch" "kramdown" "liquid" "mercenary" "rouge" "safe_yaml"]; @@ -1477,10 +1518,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf"; + sha256 = "1ylph158dc3ql6cvkik00ab6gf2k1rv2dii63m196xclhkzwfyan"; type = "gem"; }; - version = "1.4.0"; + version = "1.5.0"; }; json = { groups = ["default"]; @@ -1538,10 +1579,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0w2pw08b6pc9pm51ix7413jcllaisc06dvwzq0191ag1jsysv220"; + sha256 = "0kr51hg192mfn5ixngs41f1z8iyik5r6b52chcy8ilfs006fdkgi"; type = "gem"; }; - version = "3.2.1"; + version = "3.2.2"; }; liquid = { groups = ["default"]; @@ -1684,10 +1725,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03m3fkix2haah20kvh1jgv262yg9jlzn6wq0y31kafxk8fysfy27"; + sha256 = "003gd7mcay800k2q4pb2zn8lwwgci4bhi42v2jvlidm8ksx03i6q"; type = "gem"; }; - version = "3.2021.1115"; + version = "3.2022.0105"; }; mini_magick = { groups = ["default"]; @@ -1714,20 +1755,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lvxm91hi0pabnkkg47wh1siv56s6slm2mdq1idfm86dyfidfprq"; + sha256 = "0d3ga166pahsxavzwj19yjj4lr13rw1vsb36s2qs8blcxigrdp6z"; type = "gem"; }; - version = "2.6.1"; + version = "2.7.1"; }; minitest = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl"; + sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd"; type = "gem"; }; - version = "5.14.4"; + version = "5.15.0"; }; molinillo = { groups = ["default"]; @@ -1815,10 +1856,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ww1mq41q7rda975byjmq5dk8k13v8dawvm33370pbkrymd8syp8"; + sha256 = "1pcpqw8vjxf2cs97bzzxcz5bh72x6bkayj0vzsilidw90kvrv2ds"; type = "gem"; }; - version = "1.1.1"; + version = "1.1.3"; }; ncursesw = { groups = ["default"]; @@ -1840,6 +1881,39 @@ }; version = "0.9.0"; }; + net-imap = { + dependencies = ["digest" "net-protocol" "strscan"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1rl79ykmxa2k4dlk6ykrb9l0a4h101q1gd8c4qv3cl0p9h68zmbn"; + type = "gem"; + }; + version = "0.2.3"; + }; + net-pop = { + dependencies = ["digest" "net-protocol" "timeout"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1slsl3xlbf0cqzmf2q1rfqbm61xvxzmr0h9zprwlbm1xn1cvn9xb"; + type = "gem"; + }; + version = "0.1.1"; + }; + net-protocol = { + dependencies = ["io-wait" "timeout"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rrzdar609d8c96ikpw2yif44pp5k3n3cpjld31ia0rgmz9z59gv"; + type = "gem"; + }; + version = "0.1.2"; + }; net-scp = { dependencies = ["net-ssh"]; groups = ["default"]; @@ -1851,6 +1925,17 @@ }; version = "3.0.0"; }; + net-smtp = { + dependencies = ["digest" "net-protocol" "timeout"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1s358kfv9mnfxcjbpr1d5a2gs1q7wkw7ffpn86mf1b3s9p31bw9s"; + type = "gem"; + }; + version = "0.3.1"; + }; net-ssh = { groups = ["default"]; platforms = []; @@ -1887,10 +1972,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v02g7k7cxiwdcahvlxrmizn3avj2q6nsjccgilq1idc89cr081b"; + sha256 = "1zqzawia52cdcmi55lp7v8jmiqyw7pcpwsksqlnirwfm3f7bnf11"; type = "gem"; }; - version = "1.12.5"; + version = "1.13.1"; }; octokit = { dependencies = ["faraday" "sawyer"]; @@ -1898,10 +1983,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ak64rb48d8z98nw6q70r6i0i3ivv61iqla40ss5l79491qfnn27"; + sha256 = "1nmdd7klyinvrrv2mggwwmc99ykaq7i379j00i37hvvaqx4giifj"; type = "gem"; }; - version = "4.21.0"; + version = "4.22.0"; }; opus-ruby = { dependencies = ["ffi"]; @@ -2003,10 +2088,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mjjy1grxr64znkffxsvprcckbrrnm40b6gbllnbm7jxslbr3gjl"; + sha256 = "1rkxhps7fxzjhld68bpdaq8sss2k6fp14jz5kcqgrxp8x3yd15mk"; type = "gem"; }; - version = "1.4.6"; + version = "1.4.7"; }; polyglot = { groups = ["default"]; @@ -2056,10 +2141,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11gczh6fggly245r774yl2phcnh33iv6xpqw7p9dggqrmcyaslq3"; + sha256 = "0wyvql6pb6m8jl8bsamabxhxhd86bnqblspaxzz05sl0fm2ynj0r"; type = "gem"; }; - version = "1.2.0"; + version = "1.3.0"; }; public_suffix = { groups = ["default"]; @@ -2125,15 +2210,15 @@ version = "1.1.0"; }; rails = { - dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"]; + dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y59m2x8rdc581bjgyyr9dabi3vk3frqhhpbb5ldpbj622kxfpbz"; + sha256 = "1yfqhxa89331mk0z33l12pvzdm4y35fx41kjb2p9jzl06jhz00rz"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; rails-dom-testing = { dependencies = ["activesupport" "nokogiri"]; @@ -2158,35 +2243,35 @@ version = "1.4.2"; }; railties = { - dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"]; + dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor" "zeitwerk"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kwpm068cqys34p2g0j3l1g0cd5f3kxnsay5v7lmbd0sgarac0vy"; + sha256 = "0gi4q1j3n7vb79ijsqjgy1fnqqxypk4zdj61kic4py19pn6xqaxw"; type = "gem"; }; - version = "6.1.4.1"; + version = "7.0.1"; }; rainbow = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk"; + sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503"; type = "gem"; }; - version = "3.0.0"; + version = "3.1.1"; }; rake = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jcabbgnjc788chx31sihc5pgbqnlc1c75wakmqlbjdm8jns2m9b"; + sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; type = "gem"; }; - version = "10.5.0"; + version = "13.0.6"; }; rb-fsevent = { groups = ["default"]; @@ -2340,10 +2425,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0z1qk9i18zma000cqd758av9ca0622ykwp2cwm1x4dv9c0vw03yg"; + sha256 = "0zxljscsg2sp49s2f80n2rdpbazkf97v3jd2fydm3kgaplcyrh96"; type = "gem"; }; - version = "4.2.3"; + version = "4.2.4"; }; rouge = { groups = ["default"]; @@ -2393,10 +2478,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sz9bj4ri28adsklnh257pnbq4r5ayziw02qf67wry0kvzazbb17"; + sha256 = "1qrj2j9jcd3m4aksk4kbv439882yl3z1harv2jrybrgjgdzdz7zs"; type = "gem"; }; - version = "3.10.1"; + version = "3.10.2"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; @@ -2550,10 +2635,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v846qs2pa3wnzgz95jzbcdrgl9vyjl65qiscw4q4dvm5sb7j68i"; + sha256 = "0x00xqq666wfi53w2bb7lgqrr3diyakncbr4sxpbvkd2yvvra913"; type = "gem"; }; - version = "1.2.0"; + version = "1.3.0"; }; safe_yaml = { groups = ["default"]; @@ -2625,20 +2710,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hiifw2zm2w00h3c7hfqy9n23q270aq18wwd5fs8wh9f6ap0vjvz"; + sha256 = "0k7iz98xfv84dkdjk2d90vxnzrjqx20gg6k3fdm45q5rnp2lb9j7"; type = "gem"; }; - version = "0.11.6"; + version = "0.11.8"; }; sequel = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kx1vvld5n51jamvgv4xj14fq9jqw93vjwkalx4809z8jh08znbz"; + sha256 = "0z0s3xq6dmak96296dchi8j61m0cih7j9pzdpxxsh786vrpznwlj"; type = "gem"; }; - version = "5.51.0"; + version = "5.52.0"; }; sequel_pg = { dependencies = ["pg" "sequel"]; @@ -2745,28 +2830,6 @@ }; version = "0.39.17"; }; - sprockets = { - dependencies = ["concurrent-ruby" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0ikgwbl6jv3frfiy3xhg5yxw9d0064rgzghar1rg391xmrc4gm38"; - type = "gem"; - }; - version = "4.0.2"; - }; - sprockets-rails = { - dependencies = ["actionpack" "activesupport" "sprockets"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1b9i14qb27zs56hlcc2hf139l0ghbqnjpmfi0054dxycaxvk5min"; - type = "gem"; - }; - version = "3.4.2"; - }; sqlite3 = { groups = ["default"]; platforms = []; @@ -2777,6 +2840,16 @@ }; version = "1.4.2"; }; + strscan = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05bzfzfwvs5ngl14yf303nvrg5wjx3srgbjqkki7x65cm66w948p"; + type = "gem"; + }; + version = "3.0.1"; + }; taglib-ruby = { groups = ["default"]; platforms = []; @@ -2803,10 +2876,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna"; + sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.1"; }; thrift = { groups = ["default"]; @@ -2828,6 +2901,16 @@ }; version = "2.0.10"; }; + timeout = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10bx1hcyrjqgq6a848fc1i0cgrvx42gcy8hk4vp90y6zc7k8xzbk"; + type = "gem"; + }; + version = "0.2.0"; + }; tiny_tds = { groups = ["default"]; platforms = []; @@ -2965,15 +3048,14 @@ version = "1.21.0"; }; xctasks = { - dependencies = ["nokogiri" "rake"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1m01vnmdy9m4hn85ajji5v595faqsy8d3a0r646q79vphw1fikj1"; + sha256 = "1jmxq0dv2q4qs628cykrhsm9piysjsacbq5blsf35a0fj015bw7l"; type = "gem"; }; - version = "0.6.0"; + version = "0.2.2"; }; yard = { dependencies = ["webrick"]; @@ -2991,20 +3073,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18l4r6layck0d80ydc692mv1lxak5xbf6w2paj1x7m2ggbggzxgj"; + sha256 = "0lmg9x683gr9mkrbq9df2m0zb0650mdfxqna0bs10js44inv7znx"; type = "gem"; }; - version = "2.5.1"; + version = "2.5.3"; }; ZenTest = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vkqgajgwmmf2dxfj9h4zs94v3rlvmvb1hcm4wid57dj79y7a0ak"; + sha256 = "1vss0ldskqprnlvl5pczcl8p346p2ib1sc6hyprbprh6gjq4v16y"; type = "gem"; }; - version = "4.12.0"; + version = "4.12.1"; }; zookeeper = { groups = ["default"];