diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index de345f0e8bf21..83b0477c8a7cf 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16112,6 +16112,12 @@ fingerprint = "AB63 4CD9 3322 BD42 6231 F764 C404 1EA6 B326 33DE"; }]; }; + shivaraj-bh = { + email = "sbh69840@gmail.com"; + name = "Shivaraj B H"; + github = "shivaraj-bh"; + githubId = 23645788; + }; shlevy = { email = "shea@shealevy.com"; github = "shlevy"; diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv index f03ef4fa09c95..5ad2f94315922 100644 --- a/maintainers/scripts/luarocks-packages.csv +++ b/maintainers/scripts/luarocks-packages.csv @@ -16,7 +16,6 @@ cyrussasl,https://github.com/JorjBauer/lua-cyrussasl.git,,,,, digestif,https://github.com/astoff/digestif.git,,,0.2-1,5.3, dkjson,,,,,, fennel,,,,,,misterio77 -ferris.nvim,,,,,,mrcjkb fifo,,,,,, fluent,,,,,,alerque gitsigns.nvim,https://github.com/lewis6991/gitsigns.nvim.git,,,,5.1, @@ -101,6 +100,7 @@ plenary.nvim,https://github.com/nvim-lua/plenary.nvim.git,,,,5.1, rapidjson,https://github.com/xpol/lua-rapidjson.git,,,,, rest.nvim,,,,,5.1,teto readline,,,,,, +rustaceanvim,,,,,,mrcjkb say,https://github.com/Olivine-Labs/say.git,,,,, serpent,,,,,,lockejan sqlite,,,,,, diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index 9e2afe5fd2013..bc2a15124275a 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -121,6 +121,8 @@ - [Soft Serve](https://github.com/charmbracelet/soft-serve), a tasty, self-hostable Git server for the command line. Available as [services.soft-serve](#opt-services.soft-serve.enable). +- [Rosenpass](https://rosenpass.eu/), a service for post-quantum-secure VPNs with WireGuard. Available as [services.rosenpass](#opt-services.rosenpass.enable). + ## Backward Incompatibilities {#sec-release-23.11-incompatibilities} - `network-online.target` has been fixed to no longer time out for systems with `networking.useDHCP = true` and `networking.useNetworkd = true`. @@ -313,6 +315,8 @@ - `rome` was removed because it is no longer maintained and is succeeded by `biome`. +- The `prometheus-knot-exporter` was migrated to a version maintained by CZ.NIC. Various metric names have changed, so checking existing rules is recommended. + - The `services.mtr-exporter.target` has been removed in favor of `services.mtr-exporter.jobs` which allows specifying multiple targets. - Setting `nixpkgs.config` options while providing an external `pkgs` instance will now raise an error instead of silently ignoring the options. NixOS modules no longer set `nixpkgs.config` to accomodate this. This specifically affects `services.locate`, `services.xserver.displayManager.lightdm.greeters.tiny` and `programs.firefox` NixOS modules. No manual intervention should be required in most cases, however, configurations relying on those modules affecting packages outside the system environment should switch to explicit overlays. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 47b262bf4d987..81b7b981a4460 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1047,6 +1047,7 @@ ./services/networking/redsocks.nix ./services/networking/resilio.nix ./services/networking/robustirc-bridge.nix + ./services/networking/rosenpass.nix ./services/networking/routedns.nix ./services/networking/rpcbind.nix ./services/networking/rxe.nix diff --git a/nixos/modules/programs/browserpass.nix b/nixos/modules/programs/browserpass.nix index abd99056ff3ba..a9670a37e618c 100644 --- a/nixos/modules/programs/browserpass.nix +++ b/nixos/modules/programs/browserpass.nix @@ -27,6 +27,6 @@ with lib; "opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium"; "opt/brave/policies/managed/${appId}".source = source "policies/chromium"; }; - programs.firefox.wrapperConfig.enableBrowserpass = true; + programs.firefox.nativeMessagingHosts.packages = [ pkgs.browserpass ]; }; } diff --git a/nixos/modules/programs/firefox.nix b/nixos/modules/programs/firefox.nix index 813e0e0105f69..85f47530cf5af 100644 --- a/nixos/modules/programs/firefox.nix +++ b/nixos/modules/programs/firefox.nix @@ -5,8 +5,6 @@ with lib; let cfg = config.programs.firefox; - nmh = cfg.nativeMessagingHosts; - policyFormat = pkgs.formats.json { }; organisationInfo = '' @@ -17,6 +15,50 @@ let given control of your browser, unless of course they also control your NixOS configuration. ''; + + # deprecated per-native-messaging-host options + nmhOptions = { + browserpass = { + name = "Browserpass"; + package = pkgs.browserpass; + }; + bukubrow = { + name = "Bukubrow"; + package = pkgs.bukubrow; + }; + euwebid = { + name = "Web eID"; + package = pkgs.web-eid-app; + }; + ff2mpv = { + name = "ff2mpv"; + package = pkgs.ff2mpv; + }; + fxCast = { + name = "fx_cast"; + package = pkgs.fx-cast-bridge; + }; + gsconnect = { + name = "GSConnect"; + package = pkgs.gnomeExtensions.gsconnect; + }; + jabref = { + name = "JabRef"; + package = pkgs.jabref; + }; + passff = { + name = "PassFF"; + package = pkgs.passff-host; + }; + tridactyl = { + name = "Tridactyl"; + package = pkgs.tridactyl-native; + }; + ugetIntegrator = { + name = "Uget Integrator"; + package = pkgs.uget-integrator; + }; + }; in { options.programs.firefox = { @@ -204,46 +246,31 @@ in ''; }; - nativeMessagingHosts = mapAttrs (_: v: mkEnableOption (mdDoc v)) { - browserpass = "Browserpass support"; - bukubrow = "Bukubrow support"; - euwebid = "Web eID support"; - ff2mpv = "ff2mpv support"; - fxCast = "fx_cast support"; - gsconnect = "GSConnect support"; - jabref = "JabRef support"; - passff = "PassFF support"; - tridactyl = "Tridactyl support"; - ugetIntegrator = "Uget Integrator support"; - }; + nativeMessagingHosts = ({ + packages = mkOption { + type = types.listOf types.package; + default = []; + description = mdDoc '' + Additional packages containing native messaging hosts that should be made available to Firefox extensions. + ''; + }; + }) // (mapAttrs (k: v: mkEnableOption (mdDoc "${v.name} support")) nmhOptions); }; - config = mkIf cfg.enable { + config = let + forEachEnabledNmh = fn: flatten (mapAttrsToList (k: v: lib.optional cfg.nativeMessagingHosts.${k} (fn k v)) nmhOptions); + in mkIf cfg.enable { + warnings = forEachEnabledNmh (k: v: + "The `programs.firefox.nativeMessagingHosts.${k}` option is deprecated, " + + "please add `${v.package.pname}` to `programs.firefox.nativeMessagingHosts.packages` instead." + ); + programs.firefox.nativeMessagingHosts.packages = forEachEnabledNmh (_: v: v.package); + environment.systemPackages = [ (cfg.package.override (old: { - extraPrefs = cfg.autoConfig; - extraNativeMessagingHosts = - old.extraNativeMessagingHosts or [] - ++ optional nmh.ff2mpv pkgs.ff2mpv - ++ optional nmh.euwebid pkgs.web-eid-app - ++ optional nmh.gsconnect pkgs.gnomeExtensions.gsconnect - ++ optional nmh.jabref pkgs.jabref - ++ optional nmh.passff pkgs.passff-host; - cfg = let - # copy-pasted from the wrapper; TODO: figure out fix - applicationName = cfg.package.binaryName or (lib.getName cfg.package); - - oldCfg = old.cfg or {}; - nixpkgsConfig = pkgs.config.${applicationName} or {}; - optionConfig = cfg.wrapperConfig; - nmhConfig = { - enableBrowserpass = nmh.browserpass; - enableBukubrow = nmh.bukubrow; - enableTridactylNative = nmh.tridactyl; - enableUgetIntegrator = nmh.ugetIntegrator; - enableFXCastBridge = nmh.fxCast; - }; - in oldCfg // nixpkgsConfig // optionConfig // nmhConfig; + extraPrefsFiles = old.extraPrefsFiles or [] ++ [(pkgs.writeText "firefox-autoconfig.js" cfg.autoConfig)]; + nativeMessagingHosts = old.nativeMessagingHosts or [] ++ cfg.nativeMessagingHosts.packages; + cfg = (old.cfg or {}) // cfg.wrapperConfig; })) ]; diff --git a/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix b/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix index d18e303891e47..4f680eabbe15c 100644 --- a/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix +++ b/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix @@ -42,6 +42,6 @@ in services.dbus.packages = [ pkgs.gnome-browser-connector ]; - programs.firefox.wrapperConfig.enableGnomeExtensions = true; + programs.firefox.nativeMessagingHosts.packages = [ pkgs.gnome-browser-connector ]; }; } diff --git a/nixos/modules/services/matrix/synapse.nix b/nixos/modules/services/matrix/synapse.nix index b38b35361cf02..12e27ef26ff3e 100644 --- a/nixos/modules/services/matrix/synapse.nix +++ b/nixos/modules/services/matrix/synapse.nix @@ -60,7 +60,6 @@ let ++ lib.optional (cfg.settings ? oidc_providers) "oidc" ++ lib.optional (cfg.settings ? jwt_config) "jwt" ++ lib.optional (cfg.settings ? saml2_config) "saml2" - ++ lib.optional (cfg.settings ? opentracing) "opentracing" ++ lib.optional (cfg.settings ? redis) "redis" ++ lib.optional (cfg.settings ? sentry) "sentry" ++ lib.optional (cfg.settings ? user_directory) "user-search" @@ -334,7 +333,6 @@ in { [ "cache-memory" # Provide statistics about caching memory consumption "jwt" # JSON Web Token authentication - "opentracing" # End-to-end tracing support using Jaeger "oidc" # OpenID Connect authentication "postgres" # PostgreSQL database backend "redis" # Redis support for the replication stream between worker processes diff --git a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix index a73425b37da71..7758487508033 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters/knot.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters/knot.nix @@ -8,9 +8,9 @@ in { port = 9433; extraOpts = { knotLibraryPath = mkOption { - type = types.str; - default = "${pkgs.knot-dns.out}/lib/libknot.so"; - defaultText = literalExpression ''"''${pkgs.knot-dns.out}/lib/libknot.so"''; + type = types.nullOr types.str; + default = null; + example = literalExpression ''"''${pkgs.knot-dns.out}/lib/libknot.so"''; description = lib.mdDoc '' Path to the library of `knot-dns`. ''; @@ -25,7 +25,7 @@ in { }; knotSocketTimeout = mkOption { - type = types.int; + type = types.ints.positive; default = 2000; description = lib.mdDoc '' Timeout in seconds. @@ -33,17 +33,22 @@ in { }; }; serviceOpts = { + path = with pkgs; [ + procps + ]; serviceConfig = { ExecStart = '' - ${pkgs.prometheus-knot-exporter}/bin/knot_exporter \ + ${pkgs.prometheus-knot-exporter}/bin/knot-exporter \ --web-listen-addr ${cfg.listenAddress} \ --web-listen-port ${toString cfg.port} \ - --knot-library-path ${cfg.knotLibraryPath} \ --knot-socket-path ${cfg.knotSocketPath} \ --knot-socket-timeout ${toString cfg.knotSocketTimeout} \ + ${lib.optionalString (cfg.knotLibraryPath != null) "--knot-library-path ${cfg.knotLibraryPath}"} \ ${concatStringsSep " \\\n " cfg.extraFlags} ''; - SupplementaryGroups = [ "knot" ]; + SupplementaryGroups = [ + "knot" + ]; RestrictAddressFamilies = [ # Need AF_UNIX to collect data "AF_UNIX" diff --git a/nixos/modules/services/networking/rosenpass.nix b/nixos/modules/services/networking/rosenpass.nix new file mode 100644 index 0000000000000..d2a264b83d677 --- /dev/null +++ b/nixos/modules/services/networking/rosenpass.nix @@ -0,0 +1,233 @@ +{ config +, lib +, options +, pkgs +, ... +}: +let + inherit (lib) + attrValues + concatLines + concatMap + filter + filterAttrsRecursive + flatten + getExe + mdDoc + mkIf + optional + ; + + cfg = config.services.rosenpass; + opt = options.services.rosenpass; + settingsFormat = pkgs.formats.toml { }; +in +{ + options.services.rosenpass = + let + inherit (lib) + literalExpression + mdDoc + mkOption + ; + inherit (lib.types) + enum + listOf + nullOr + path + str + submodule + ; + in + { + enable = lib.mkEnableOption (mdDoc "Rosenpass"); + + package = lib.mkPackageOption pkgs "rosenpass" { }; + + defaultDevice = mkOption { + type = nullOr str; + description = mdDoc "Name of the network interface to use for all peers by default."; + example = "wg0"; + }; + + settings = mkOption { + type = submodule { + freeformType = settingsFormat.type; + + options = { + public_key = mkOption { + type = path; + description = mdDoc "Path to a file containing the public key of the local Rosenpass peer. Generate this by running {command}`rosenpass gen-keys`."; + }; + + secret_key = mkOption { + type = path; + description = mdDoc "Path to a file containing the secret key of the local Rosenpass peer. Generate this by running {command}`rosenpass gen-keys`."; + }; + + listen = mkOption { + type = listOf str; + description = mdDoc "List of local endpoints to listen for connections."; + default = [ ]; + example = literalExpression "[ \"0.0.0.0:10000\" ]"; + }; + + verbosity = mkOption { + type = enum [ "Verbose" "Quiet" ]; + default = "Quiet"; + description = mdDoc "Verbosity of output produced by the service."; + }; + + peers = + let + peer = submodule { + freeformType = settingsFormat.type; + + options = { + public_key = mkOption { + type = path; + description = mdDoc "Path to a file containing the public key of the remote Rosenpass peer."; + }; + + endpoint = mkOption { + type = nullOr str; + default = null; + description = mdDoc "Endpoint of the remote Rosenpass peer."; + }; + + device = mkOption { + type = str; + default = cfg.defaultDevice; + defaultText = literalExpression "config.${opt.defaultDevice}"; + description = mdDoc "Name of the local WireGuard interface to use for this peer."; + }; + + peer = mkOption { + type = str; + description = mdDoc "WireGuard public key corresponding to the remote Rosenpass peer."; + }; + }; + }; + in + mkOption { + type = listOf peer; + description = mdDoc "List of peers to exchange keys with."; + default = [ ]; + }; + }; + }; + default = { }; + description = mdDoc "Configuration for Rosenpass, see for further information."; + }; + }; + + config = mkIf cfg.enable { + warnings = + let + # NOTE: In the descriptions below, we tried to refer to e.g. + # options.systemd.network.netdevs."".wireguardPeers.*.PublicKey + # directly, but don't know how to traverse "" and * in this path. + extractions = [ + { + relevant = config.systemd.network.enable; + root = config.systemd.network.netdevs; + peer = (x: x.wireguardPeers); + key = (x: if x.wireguardPeerConfig ? PublicKey then x.wireguardPeerConfig.PublicKey else null); + description = mdDoc "${options.systemd.network.netdevs}.\"\".wireguardPeers.*.wireguardPeerConfig.PublicKey"; + } + { + relevant = config.networking.wireguard.enable; + root = config.networking.wireguard.interfaces; + peer = (x: x.peers); + key = (x: x.publicKey); + description = mdDoc "${options.networking.wireguard.interfaces}.\"\".peers.*.publicKey"; + } + rec { + relevant = root != { }; + root = config.networking.wg-quick.interfaces; + peer = (x: x.peers); + key = (x: x.publicKey); + description = mdDoc "${options.networking.wg-quick.interfaces}.\"\".peers.*.publicKey"; + } + ]; + relevantExtractions = filter (x: x.relevant) extractions; + extract = { root, peer, key, ... }: + filter (x: x != null) (flatten (concatMap (x: (map key (peer x))) (attrValues root))); + configuredKeys = flatten (map extract relevantExtractions); + itemize = xs: concatLines (map (x: " - ${x}") xs); + descriptions = map (x: "`${x.description}`"); + missingKeys = filter (key: !builtins.elem key configuredKeys) (map (x: x.peer) cfg.settings.peers); + unusual = '' + While this may work as expected, e.g. you want to manually configure WireGuard, + such a scenario is unusual. Please double-check your configuration. + ''; + in + (optional (relevantExtractions != [ ] && missingKeys != [ ]) '' + You have configured Rosenpass peers with the WireGuard public keys: + ${itemize missingKeys} + But there is no corresponding active Wireguard peer configuration in any of: + ${itemize (descriptions relevantExtractions)} + ${unusual} + '') + ++ + optional (relevantExtractions == [ ]) '' + You have configured Rosenpass, but you have not configured Wireguard via any of: + ${itemize (descriptions extractions)} + ${unusual} + ''; + + environment.systemPackages = [ cfg.package pkgs.wireguard-tools ]; + + systemd.services.rosenpass = + let + filterNonNull = filterAttrsRecursive (_: v: v != null); + config = settingsFormat.generate "config.toml" ( + filterNonNull (cfg.settings + // + ( + let + credentialPath = id: "$CREDENTIALS_DIRECTORY/${id}"; + # NOTE: We would like to remove all `null` values inside `cfg.settings` + # recursively, since `settingsFormat.generate` cannot handle `null`. + # This would require to traverse both attribute sets and lists recursively. + # `filterAttrsRecursive` only recurses into attribute sets, but not + # into values that might contain other attribute sets (such as lists, + # e.g. `cfg.settings.peers`). Here, we just specialize on `cfg.settings.peers`, + # and this may break unexpectedly whenever a `null` value is contained + # in a list in `cfg.settings`, other than `cfg.settings.peers`. + peersWithoutNulls = map filterNonNull cfg.settings.peers; + in + { + secret_key = credentialPath "pqsk"; + public_key = credentialPath "pqpk"; + peers = peersWithoutNulls; + } + ) + ) + ); + in + rec { + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" ]; + path = [ cfg.package pkgs.wireguard-tools ]; + + serviceConfig = { + User = "rosenpass"; + Group = "rosenpass"; + RuntimeDirectory = "rosenpass"; + DynamicUser = true; + AmbientCapabilities = [ "CAP_NET_ADMIN" ]; + LoadCredential = [ + "pqsk:${cfg.settings.secret_key}" + "pqpk:${cfg.settings.public_key}" + ]; + }; + + # See + environment.CONFIG = "%t/${serviceConfig.RuntimeDirectory}/config.toml"; + + preStart = "${getExe pkgs.envsubst} -i ${config} -o \"$CONFIG\""; + script = "rosenpass exchange-config \"$CONFIG\""; + }; + }; +} diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix index c82f02ecefecd..9db4c8e23025b 100644 --- a/nixos/modules/services/web-servers/nginx/vhost-options.nix +++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix @@ -35,7 +35,10 @@ with lib; }; port = mkOption { type = types.nullOr port; - description = lib.mdDoc "Port number."; + description = lib.mdDoc '' + Port number to listen on. + If unset and the listen address is not a socket then nginx defaults to 80. + ''; default = null; }; ssl = mkOption { diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index 285d0a1819317..fc32870457101 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -379,7 +379,7 @@ in # Update the start menu for each user that is currently logged in system.userActivationScripts.plasmaSetup = activationScript; - programs.firefox.wrapperConfig.enablePlasmaBrowserIntegration = true; + programs.firefox.nativeMessagingHosts.packages = [ pkgs.plasma5Packages.plasma-browser-integration ]; }) (mkIf (cfg.kwinrc != {}) { diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 737a935711ae6..55d23b6fb8b5d 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -198,6 +198,39 @@ let fi ''} + ${lib.optionalString cfg.tpm.enable '' + NIX_SWTPM_DIR=$(readlink -f "''${NIX_SWTPM_DIR:-${config.system.name}-swtpm}") + mkdir -p "$NIX_SWTPM_DIR" + ${lib.getExe cfg.tpm.package} \ + socket \ + --tpmstate dir="$NIX_SWTPM_DIR" \ + --ctrl type=unixio,path="$NIX_SWTPM_DIR"/socket,terminate \ + --pid file="$NIX_SWTPM_DIR"/pid --daemon \ + --tpm2 \ + --log file="$NIX_SWTPM_DIR"/stdout,level=6 + + # Enable `fdflags` builtin in Bash + # We will need it to perform surgical modification of the file descriptor + # passed in the coprocess to remove `FD_CLOEXEC`, i.e. close the file descriptor + # on exec. + # If let alone, it will trigger the coprocess to read EOF when QEMU is `exec` + # at the end of this script. To work around that, we will just clear + # the `FD_CLOEXEC` bits as a first step. + enable -f ${hostPkgs.bash}/lib/bash/fdflags fdflags + # leave a dangling subprocess because the swtpm ctrl socket has + # "terminate" when the last connection disconnects, it stops swtpm. + # When qemu stops, or if the main shell process ends, the coproc will + # get signaled by virtue of the pipe between main and coproc ending. + # Which in turns triggers a socat connect-disconnect to swtpm which + # will stop it. + coproc waitingswtpm { + read || : + echo "" | ${lib.getExe hostPkgs.socat} STDIO UNIX-CONNECT:"$NIX_SWTPM_DIR"/socket + } + # Clear `FD_CLOEXEC` on the coprocess' file descriptor stdin. + fdflags -s-cloexec ''${waitingswtpm[1]} + ''} + cd "$TMPDIR" ${lib.optionalString (cfg.emptyDiskImages != []) "idx=0"} @@ -863,6 +896,32 @@ in }; }; + virtualisation.tpm = { + enable = mkEnableOption "a TPM device in the virtual machine with a driver, using swtpm."; + + package = mkPackageOptionMD cfg.host.pkgs "swtpm" { }; + + deviceModel = mkOption { + type = types.str; + default = ({ + "i686-linux" = "tpm-tis"; + "x86_64-linux" = "tpm-tis"; + "ppc64-linux" = "tpm-spapr"; + "armv7-linux" = "tpm-tis-device"; + "aarch64-linux" = "tpm-tis-device"; + }.${pkgs.hostPlatform.system} or (throw "Unsupported system for TPM2 emulation in QEMU")); + defaultText = '' + Based on the guest platform Linux system: + + - `tpm-tis` for (i686, x86_64) + - `tpm-spapr` for ppc64 + - `tpm-tis-device` for (armv7, aarch64) + ''; + example = "tpm-tis-device"; + description = lib.mdDoc "QEMU device model for the TPM, uses the appropriate default based on th guest platform system and the package passed."; + }; + }; + virtualisation.useDefaultFilesystems = mkOption { type = types.bool; @@ -1028,7 +1087,8 @@ in boot.initrd.availableKernelModules = optional cfg.writableStore "overlay" - ++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx"; + ++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx" + ++ optional (cfg.tpm.enable) "tpm_tis"; virtualisation.additionalPaths = [ config.system.build.toplevel ]; @@ -1099,6 +1159,11 @@ in (mkIf (!cfg.graphics) [ "-nographic" ]) + (mkIf (cfg.tpm.enable) [ + "-chardev socket,id=chrtpm,path=\"$NIX_SWTPM_DIR\"/socket" + "-tpmdev emulator,id=tpm_dev_0,chardev=chrtpm" + "-device ${cfg.tpm.deviceModel},tpmdev=tpm_dev_0" + ]) ]; virtualisation.qemu.drives = mkMerge [ diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix index 20bcb6802881a..cb7bbcb63f80f 100644 --- a/nixos/release-combined.nix +++ b/nixos/release-combined.nix @@ -97,6 +97,8 @@ in rec { (onSystems ["x86_64-linux"] "nixos.tests.installer.simpleUefiSystemdBoot") (onSystems ["x86_64-linux"] "nixos.tests.installer.simple") (onSystems ["x86_64-linux"] "nixos.tests.installer.swraid") + (onSystems ["x86_64-linux"] "nixos.tests.nixos-rebuild-install-bootloader") + (onSystems ["x86_64-linux"] "nixos.tests.nixos-rebuild-specialisations") (onFullSupported "nixos.tests.ipv6") (onFullSupported "nixos.tests.keymap.azerty") (onFullSupported "nixos.tests.keymap.colemak") @@ -163,7 +165,6 @@ in rec { (onFullSupported "nixos.tests.switchTest") (onFullSupported "nixos.tests.udisks2") (onFullSupported "nixos.tests.xfce") - (onSystems ["i686-linux"] "nixos.tests.zfs.installer") (onFullSupported "nixpkgs.emacs") (onFullSupported "nixpkgs.jdk") ["nixpkgs.tarball"] diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 1c8ee32428eac..d9d58bbd66a80 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -569,7 +569,8 @@ in { nix-serve-ssh = handleTest ./nix-serve-ssh.nix {}; nixops = handleTest ./nixops/default.nix {}; nixos-generate-config = handleTest ./nixos-generate-config.nix {}; - nixos-rebuild-specialisations = handleTest ./nixos-rebuild-specialisations.nix {}; + nixos-rebuild-install-bootloader = handleTestOn ["x86_64-linux"] ./nixos-rebuild-install-bootloader.nix {}; + nixos-rebuild-specialisations = handleTest ["x86_64-linux"] ./nixos-rebuild-specialisations.nix {}; nixpkgs = pkgs.callPackage ../modules/misc/nixpkgs/test.nix { inherit evalMinimalConfig; }; node-red = handleTest ./node-red.nix {}; nomad = handleTest ./nomad.nix {}; @@ -702,6 +703,7 @@ in { rkvm = handleTest ./rkvm {}; robustirc-bridge = handleTest ./robustirc-bridge.nix {}; roundcube = handleTest ./roundcube.nix {}; + rosenpass = handleTest ./rosenpass.nix {}; rshim = handleTest ./rshim.nix {}; rspamd = handleTest ./rspamd.nix {}; rss2email = handleTest ./rss2email.nix {}; diff --git a/nixos/tests/cockpit.nix b/nixos/tests/cockpit.nix index 6f86d1e2c464c..e7165b9790141 100644 --- a/nixos/tests/cockpit.nix +++ b/nixos/tests/cockpit.nix @@ -50,7 +50,8 @@ import ./make-test-python.nix ( options = Options() options.add_argument("--headless") - driver = webdriver.Firefox(options=options) + service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501 + driver = webdriver.Firefox(options=options, service=service) driver.implicitly_wait(10) diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix index 3f9cea6662fbe..fbea95dc75235 100644 --- a/nixos/tests/firefox.nix +++ b/nixos/tests/firefox.nix @@ -1,14 +1,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: -let firefoxPackage' = firefoxPackage.override (args: { - extraPrefsFiles = (args.extraPrefsFiles or []) ++ [ - # make sure that autoplay is enabled by default for the audio test - (builtins.toString (builtins.toFile "autoplay-pref.js" ''defaultPref("media.autoplay.default",0);'')) - ]; - }); - -in { - name = firefoxPackage'.unwrapped.pname; + name = firefoxPackage.pname; + meta = with pkgs.lib.maintainers; { maintainers = [ eelco shlevy ]; }; @@ -17,10 +10,13 @@ in { pkgs, ... }: { imports = [ ./common/x11.nix ]; - environment.systemPackages = [ - firefoxPackage' - pkgs.xdotool - ]; + environment.systemPackages = [ pkgs.xdotool ]; + + programs.firefox = { + enable = true; + preferences."media.autoplay.default" = 0; + package = firefoxPackage; + }; # Create a virtual sound device, with mixing # and all, for recording audio. @@ -58,7 +54,9 @@ in }; - testScript = '' + testScript = let + exe = firefoxPackage.unwrapped.binaryName; + in '' from contextlib import contextmanager @@ -97,7 +95,7 @@ in with subtest("Wait until Firefox has finished loading the Valgrind docs page"): machine.execute( - "xterm -e '${firefoxPackage'.unwrapped.binaryName} file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &" + "xterm -e '${exe} file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html' >&2 &" ) machine.wait_for_window("Valgrind") machine.sleep(40) @@ -105,7 +103,7 @@ in with subtest("Check whether Firefox can play sound"): with record_audio(machine): machine.succeed( - "${firefoxPackage'.unwrapped.binaryName} file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga >&2 &" + "${exe} file://${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/phone-incoming-call.oga >&2 &" ) wait_for_sound(machine) machine.copy_from_vm("/tmp/record.wav") diff --git a/nixos/tests/nixos-rebuild-install-bootloader.nix b/nixos/tests/nixos-rebuild-install-bootloader.nix new file mode 100644 index 0000000000000..3ade90ea24a74 --- /dev/null +++ b/nixos/tests/nixos-rebuild-install-bootloader.nix @@ -0,0 +1,73 @@ +import ./make-test-python.nix ({ pkgs, ... }: { + name = "nixos-rebuild-install-bootloader"; + + nodes = { + machine = { lib, pkgs, ... }: { + imports = [ + ../modules/profiles/installation-device.nix + ../modules/profiles/base.nix + ]; + + nix.settings = { + substituters = lib.mkForce [ ]; + hashed-mirrors = null; + connect-timeout = 1; + }; + + system.includeBuildDependencies = true; + + virtualisation = { + cores = 2; + memorySize = 2048; + }; + + virtualisation.useBootLoader = true; + }; + }; + + testScript = + let + configFile = pkgs.writeText "configuration.nix" '' + { lib, pkgs, ... }: { + imports = [ + ./hardware-configuration.nix + + ]; + + boot.loader.grub = { + enable = true; + device = "/dev/vda"; + forceInstall = true; + }; + + documentation.enable = false; + } + ''; + + in + '' + machine.start() + machine.succeed("udevadm settle") + machine.wait_for_unit("multi-user.target") + + machine.succeed("nixos-generate-config") + machine.copy_from_host( + "${configFile}", + "/etc/nixos/configuration.nix", + ) + machine.succeed("nixos-rebuild switch") + + # Need to run `nixos-rebuild` twice because the first run will install + # GRUB anyway + with subtest("Switch system again and install bootloader"): + result = machine.succeed("nixos-rebuild switch --install-bootloader") + # install-grub2.pl messages + assert "updating GRUB 2 menu..." in result + assert "installing the GRUB 2 boot loader on /dev/vda..." in result + # GRUB message + assert "Installation finished. No error reported." in result + # at this point we've tested regression #262724, but haven't tested the bootloader itself + # TODO: figure out how to how to tell the test driver to start the bootloader instead of + # booting into the kernel directly. + ''; +}) diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index 8369d6a497ac1..d42a9e3039962 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -512,7 +512,7 @@ let wait_for_unit("knot.service") wait_for_unit("prometheus-knot-exporter.service") wait_for_open_port(9433) - succeed("curl -sSf 'localhost:9433' | grep 'knot_server_zone_count 1.0'") + succeed("curl -sSf 'localhost:9433' | grep '2\.019031301'") ''; }; diff --git a/nixos/tests/rosenpass.nix b/nixos/tests/rosenpass.nix new file mode 100644 index 0000000000000..ec4046c8c035b --- /dev/null +++ b/nixos/tests/rosenpass.nix @@ -0,0 +1,217 @@ +import ./make-test-python.nix ({ pkgs, ... }: +let + deviceName = "rp0"; + + server = { + ip = "fe80::1"; + wg = { + public = "mQufmDFeQQuU/fIaB2hHgluhjjm1ypK4hJr1cW3WqAw="; + secret = "4N5Y1dldqrpsbaEiY8O0XBUGUFf8vkvtBtm8AoOX7Eo="; + listen = 10000; + }; + }; + client = { + ip = "fe80::2"; + wg = { + public = "Mb3GOlT7oS+F3JntVKiaD7SpHxLxNdtEmWz/9FMnRFU="; + secret = "uC5dfGMv7Oxf5UDfdPkj6rZiRZT2dRWp5x8IQxrNcUE="; + }; + }; +in +{ + name = "rosenpass"; + + nodes = + let + shared = peer: { config, modulesPath, ... }: { + imports = [ "${modulesPath}/services/networking/rosenpass.nix" ]; + + boot.kernelModules = [ "wireguard" ]; + + services.rosenpass = { + enable = true; + defaultDevice = deviceName; + settings = { + verbosity = "Verbose"; + public_key = "/etc/rosenpass/pqpk"; + secret_key = "/etc/rosenpass/pqsk"; + }; + }; + + networking.firewall.allowedUDPPorts = [ 9999 ]; + + systemd.network = { + enable = true; + networks."rosenpass" = { + matchConfig.Name = deviceName; + networkConfig.IPForward = true; + address = [ "${peer.ip}/64" ]; + }; + + netdevs."10-rp0" = { + netdevConfig = { + Kind = "wireguard"; + Name = deviceName; + }; + wireguardConfig.PrivateKeyFile = "/etc/wireguard/wgsk"; + }; + }; + + environment.etc."wireguard/wgsk" = { + text = peer.wg.secret; + user = "systemd-network"; + group = "systemd-network"; + }; + }; + in + { + server = { + imports = [ (shared server) ]; + + networking.firewall.allowedUDPPorts = [ server.wg.listen ]; + + systemd.network.netdevs."10-${deviceName}" = { + wireguardConfig.ListenPort = server.wg.listen; + wireguardPeers = [ + { + wireguardPeerConfig = { + AllowedIPs = [ "::/0" ]; + PublicKey = client.wg.public; + }; + } + ]; + }; + + services.rosenpass.settings = { + listen = [ "0.0.0.0:9999" ]; + peers = [ + { + public_key = "/etc/rosenpass/peers/client/pqpk"; + peer = client.wg.public; + } + ]; + }; + }; + client = { + imports = [ (shared client) ]; + + systemd.network.netdevs."10-${deviceName}".wireguardPeers = [ + { + wireguardPeerConfig = { + AllowedIPs = [ "::/0" ]; + PublicKey = server.wg.public; + Endpoint = "server:${builtins.toString server.wg.listen}"; + }; + } + ]; + + services.rosenpass.settings.peers = [ + { + public_key = "/etc/rosenpass/peers/server/pqpk"; + endpoint = "server:9999"; + peer = server.wg.public; + } + ]; + }; + }; + + testScript = { ... }: '' + from os import system + + # Full path to rosenpass in the store, to avoid fiddling with `$PATH`. + rosenpass = "${pkgs.rosenpass}/bin/rosenpass" + + # Path in `/etc` where keys will be placed. + etc = "/etc/rosenpass" + + start_all() + + for machine in [server, client]: + machine.wait_for_unit("multi-user.target") + + # Gently stop Rosenpass to avoid crashes during key generation/distribution. + for machine in [server, client]: + machine.execute("systemctl stop rosenpass.service") + + for (name, machine, remote) in [("server", server, client), ("client", client, server)]: + pk, sk = f"{name}.pqpk", f"{name}.pqsk" + system(f"{rosenpass} gen-keys --force --secret-key {sk} --public-key {pk}") + machine.copy_from_host(sk, f"{etc}/pqsk") + machine.copy_from_host(pk, f"{etc}/pqpk") + remote.copy_from_host(pk, f"{etc}/peers/{name}/pqpk") + + for machine in [server, client]: + machine.execute("systemctl start rosenpass.service") + + for machine in [server, client]: + machine.wait_for_unit("rosenpass.service") + + with subtest("ping"): + client.succeed("ping -c 2 -i 0.5 ${server.ip}%${deviceName}") + + with subtest("preshared-keys"): + # Rosenpass works by setting the WireGuard preshared key at regular intervals. + # Thus, if it is not active, then no key will be set, and the output of `wg show` will contain "none". + # Otherwise, if it is active, then the key will be set and "none" will not be found in the output of `wg show`. + for machine in [server, client]: + machine.wait_until_succeeds("wg show all preshared-keys | grep --invert-match none", timeout=5) + ''; + + # NOTE: Below configuration is for "interactive" (=developing/debugging) only. + interactive.nodes = + let + inherit (import ./ssh-keys.nix pkgs) snakeOilPublicKey snakeOilPrivateKey; + + sshAndKeyGeneration = { + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [ snakeOilPublicKey ]; + environment.systemPackages = [ + (pkgs.writeShellApplication { + name = "gen-keys"; + runtimeInputs = [ pkgs.rosenpass ]; + text = '' + HOST="$(hostname)" + if [ "$HOST" == "server" ] + then + PEER="client" + else + PEER="server" + fi + + # Generate keypair. + mkdir -vp /etc/rosenpass/peers/$PEER + rosenpass gen-keys --force --secret-key /etc/rosenpass/pqsk --public-key /etc/rosenpass/pqpk + + # Set up SSH key. + mkdir -p /root/.ssh + cp ${snakeOilPrivateKey} /root/.ssh/id_ecdsa + chmod 0400 /root/.ssh/id_ecdsa + + # Copy public key to other peer. + # shellcheck disable=SC2029 + ssh -o StrictHostKeyChecking=no $PEER "mkdir -pv /etc/rosenpass/peers/$HOST" + scp /etc/rosenpass/pqpk "$PEER:/etc/rosenpass/peers/$HOST/pqpk" + ''; + }) + ]; + }; + + # Use kmscon + # to provide a slightly nicer console, and while we're at it, + # also use a nice font. + # With kmscon, we can for example zoom in/out using [Ctrl] + [+] + # and [Ctrl] + [-] + niceConsoleAndAutologin.services.kmscon = { + enable = true; + autologinUser = "root"; + fonts = [{ + name = "Fira Code"; + package = pkgs.fira-code; + }]; + }; + in + { + server = sshAndKeyGeneration // niceConsoleAndAutologin; + client = sshAndKeyGeneration // niceConsoleAndAutologin; + }; +}) diff --git a/nixos/tests/systemd-credentials-tpm2.nix b/nixos/tests/systemd-credentials-tpm2.nix index d2dc1fd7b615b..bf74183122368 100644 --- a/nixos/tests/systemd-credentials-tpm2.nix +++ b/nixos/tests/systemd-credentials-tpm2.nix @@ -1,13 +1,4 @@ -import ./make-test-python.nix ({ lib, pkgs, system, ... }: - -let - tpmSocketPath = "/tmp/swtpm-sock"; - tpmDeviceModels = { - x86_64-linux = "tpm-tis"; - aarch64-linux = "tpm-tis-device"; - }; -in - +import ./make-test-python.nix ({ lib, pkgs, ... }: { name = "systemd-credentials-tpm2"; @@ -16,51 +7,11 @@ in }; nodes.machine = { pkgs, ... }: { - virtualisation = { - qemu.options = [ - "-chardev socket,id=chrtpm,path=${tpmSocketPath}" - "-tpmdev emulator,id=tpm_dev_0,chardev=chrtpm" - "-device ${tpmDeviceModels.${system}},tpmdev=tpm_dev_0" - ]; - }; - - boot.initrd.availableKernelModules = [ "tpm_tis" ]; - + virtualisation.tpm.enable = true; environment.systemPackages = with pkgs; [ diffutils ]; }; testScript = '' - import subprocess - from tempfile import TemporaryDirectory - - # From systemd-initrd-luks-tpm2.nix - class Tpm: - def __init__(self): - self.state_dir = TemporaryDirectory() - self.start() - - def start(self): - self.proc = subprocess.Popen(["${pkgs.swtpm}/bin/swtpm", - "socket", - "--tpmstate", f"dir={self.state_dir.name}", - "--ctrl", "type=unixio,path=${tpmSocketPath}", - "--tpm2", - ]) - - # Check whether starting swtpm failed - try: - exit_code = self.proc.wait(timeout=0.2) - if exit_code is not None and exit_code != 0: - raise Exception("failed to start swtpm") - except subprocess.TimeoutExpired: - pass - - """Check whether the swtpm process exited due to an error""" - def check(self): - exit_code = self.proc.poll() - if exit_code is not None and exit_code != 0: - raise Exception("swtpm process died") - CRED_NAME = "testkey" CRED_RAW_FILE = f"/root/{CRED_NAME}" CRED_FILE = f"/root/{CRED_NAME}.cred" @@ -85,12 +36,6 @@ in machine.log("systemd-run finished successfully") - tpm = Tpm() - - @polling_condition - def swtpm_running(): - tpm.check() - machine.wait_for_unit("multi-user.target") with subtest("Check whether TPM device exists"): diff --git a/nixos/tests/systemd-cryptenroll.nix b/nixos/tests/systemd-cryptenroll.nix index 055ae7d1681f2..034aae1d5e955 100644 --- a/nixos/tests/systemd-cryptenroll.nix +++ b/nixos/tests/systemd-cryptenroll.nix @@ -8,47 +8,34 @@ import ./make-test-python.nix ({ pkgs, ... }: { environment.systemPackages = [ pkgs.cryptsetup ]; virtualisation = { emptyDiskImages = [ 512 ]; - qemu.options = [ - "-chardev socket,id=chrtpm,path=/tmp/swtpm-sock" - "-tpmdev emulator,id=tpm0,chardev=chrtpm" - "-device tpm-tis,tpmdev=tpm0" - ]; + tpm.enable = true; }; }; testScript = '' - import subprocess - import tempfile - - def start_swtpm(tpmstate): - subprocess.Popen(["${pkgs.swtpm}/bin/swtpm", "socket", "--tpmstate", "dir="+tpmstate, "--ctrl", "type=unixio,path=/tmp/swtpm-sock", "--log", "level=0", "--tpm2"]) - - with tempfile.TemporaryDirectory() as tpmstate: - start_swtpm(tpmstate) - machine.start() - - # Verify the TPM device is available and accessible by systemd-cryptenroll - machine.succeed("test -e /dev/tpm0") - machine.succeed("test -e /dev/tpmrm0") - machine.succeed("systemd-cryptenroll --tpm2-device=list") - - # Create LUKS partition - machine.succeed("echo -n lukspass | cryptsetup luksFormat -q /dev/vdb -") - # Enroll new LUKS key and bind it to Secure Boot state - # For more details on PASSWORD variable, check the following issue: - # https://github.com/systemd/systemd/issues/20955 - machine.succeed("PASSWORD=lukspass systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7 /dev/vdb") - # Add LUKS partition to /etc/crypttab to test auto unlock - machine.succeed("echo 'luks /dev/vdb - tpm2-device=auto' >> /etc/crypttab") - machine.shutdown() - - start_swtpm(tpmstate) - machine.start() - - # Test LUKS partition automatic unlock on boot - machine.wait_for_unit("systemd-cryptsetup@luks.service") - # Wipe TPM2 slot - machine.succeed("systemd-cryptenroll --wipe-slot=tpm2 /dev/vdb") + machine.start() + + # Verify the TPM device is available and accessible by systemd-cryptenroll + machine.succeed("test -e /dev/tpm0") + machine.succeed("test -e /dev/tpmrm0") + machine.succeed("systemd-cryptenroll --tpm2-device=list") + + # Create LUKS partition + machine.succeed("echo -n lukspass | cryptsetup luksFormat -q /dev/vdb -") + # Enroll new LUKS key and bind it to Secure Boot state + # For more details on PASSWORD variable, check the following issue: + # https://github.com/systemd/systemd/issues/20955 + machine.succeed("PASSWORD=lukspass systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7 /dev/vdb") + # Add LUKS partition to /etc/crypttab to test auto unlock + machine.succeed("echo 'luks /dev/vdb - tpm2-device=auto' >> /etc/crypttab") + + machine.shutdown() + machine.start() + + # Test LUKS partition automatic unlock on boot + machine.wait_for_unit("systemd-cryptsetup@luks.service") + # Wipe TPM2 slot + machine.succeed("systemd-cryptenroll --wipe-slot=tpm2 /dev/vdb") ''; }) diff --git a/nixos/tests/systemd-initrd-luks-tpm2.nix b/nixos/tests/systemd-initrd-luks-tpm2.nix index d9dd9118a3a24..e292acfd1c5f9 100644 --- a/nixos/tests/systemd-initrd-luks-tpm2.nix +++ b/nixos/tests/systemd-initrd-luks-tpm2.nix @@ -9,7 +9,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { # Booting off the TPM2-encrypted device requires an available init script mountHostNixStore = true; useEFIBoot = true; - qemu.options = ["-chardev socket,id=chrtpm,path=/tmp/mytpm1/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0"]; + tpm.enable = true; }; boot.loader.systemd-boot.enable = true; @@ -33,29 +33,6 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { }; testScript = '' - import subprocess - import os - import time - - - class Tpm: - def __init__(self): - os.mkdir("/tmp/mytpm1") - self.start() - - def start(self): - self.proc = subprocess.Popen(["${pkgs.swtpm}/bin/swtpm", "socket", "--tpmstate", "dir=/tmp/mytpm1", "--ctrl", "type=unixio,path=/tmp/mytpm1/swtpm-sock", "--log", "level=20", "--tpm2"]) - - def wait_for_death_then_restart(self): - while self.proc.poll() is None: - print("waiting for tpm to die") - time.sleep(1) - assert self.proc.returncode == 0 - self.start() - - tpm = Tpm() - - # Create encrypted volume machine.wait_for_unit("multi-user.target") machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") @@ -66,8 +43,6 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { machine.succeed("sync") machine.crash() - tpm.wait_for_death_then_restart() - # Boot and decrypt the disk machine.wait_for_unit("multi-user.target") assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") diff --git a/pkgs/applications/editors/neovim/neovim-qt.nix b/pkgs/applications/editors/neovim/neovim-qt.nix index b9d0ab4ec23ef..a8483f0db348e 100644 --- a/pkgs/applications/editors/neovim/neovim-qt.nix +++ b/pkgs/applications/editors/neovim/neovim-qt.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "neovim-qt-unwrapped"; - version = "0.2.17"; + version = "0.2.18"; src = fetchFromGitHub { owner = "equalsraf"; repo = "neovim-qt"; rev = "v${version}"; - sha256 = "sha256-UJXaHENqau5EEe5c94pJuNxZU5rutJs642w9Cof8Sa4="; + sha256 = "sha256-BitFHHwL2aqBUpY/8eHaZIFvnDCeABC6w33Vmbx0z2g="; }; cmakeFlags = [ diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index a38f9c137edc4..e5cc893595743 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -3333,18 +3333,6 @@ final: prev: meta.homepage = "https://github.com/wincent/ferret/"; }; - ferris-nvim = buildNeovimPlugin { - pname = "ferris.nvim"; - version = "2023-11-21"; - src = fetchFromGitHub { - owner = "mrcjkb"; - repo = "ferris.nvim"; - rev = "54943eaeb0d4534988d2378936052655c988c3c2"; - sha256 = "o4yY4IHYBCnanfy7dx/wGdiPFMLMKZsYrG2SqlPRvdI="; - }; - meta.homepage = "https://github.com/mrcjkb/ferris.nvim/"; - }; - fidget-nvim = buildVimPlugin { pname = "fidget.nvim"; version = "2023-06-10"; @@ -16141,6 +16129,18 @@ final: prev: meta.homepage = "https://github.com/rose-pine/neovim/"; }; + rustaceanvim = buildNeovimPlugin { + pname = "rustaceanvim"; + version = "2023-10-22"; + src = fetchFromGitHub { + owner = "mrcjkb"; + repo = "rustaceanvim"; + rev = "c85f287896c94791479aeddf28fc47c62b63a5aa"; + sha256 = "CcBITd6/BZeBu85Vz3tjWtD0yuAn6I8rUX7vxMyX6WI="; + }; + meta.homepage = "https://github.com/mrcjkb/rustaceanvim/"; + }; + samodostal-image-nvim = buildVimPlugin { pname = "samodostal-image-nvim"; version = "2023-06-08"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 8284657644081..9004bf2639c43 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -277,7 +277,6 @@ https://github.com/freddiehaddad/feline.nvim/,, https://github.com/bakpakin/fennel.vim/,, https://github.com/lambdalisue/fern.vim/,, https://github.com/wincent/ferret/,, -https://github.com/mrcjkb/ferris.nvim/,HEAD, https://github.com/j-hui/fidget.nvim/,legacy, https://github.com/bogado/file-line/,, https://github.com/glacambre/firenvim/,HEAD, @@ -364,6 +363,7 @@ https://github.com/cocopon/iceberg.vim/,, https://github.com/idris-hackers/idris-vim/,, https://github.com/edwinb/idris2-vim/,, https://github.com/3rd/image.nvim/,HEAD, +https://github.com/mrcjkb/rustaceanvim/,HEAD, https://github.com/samodostal/image.nvim/,HEAD,samodostal-image-nvim https://github.com/lewis6991/impatient.nvim/,, https://github.com/smjonas/inc-rename.nvim/,HEAD, diff --git a/pkgs/applications/misc/tellico/default.nix b/pkgs/applications/misc/tellico/default.nix index 6e9d2e6cc1bbb..23f736e9f038e 100644 --- a/pkgs/applications/misc/tellico/default.nix +++ b/pkgs/applications/misc/tellico/default.nix @@ -24,14 +24,14 @@ mkDerivation rec { pname = "tellico"; - version = "3.5.1"; + version = "3.5.2"; src = fetchFromGitLab { domain = "invent.kde.org"; owner = "office"; repo = pname; rev = "v${version}"; - hash = "sha256-opg4FbfOM48eqWQUJnMHH7KSo6x4S2DHd7ucPw6iTzg="; + hash = "sha256-48ZFSE+uFEtY3ry3ONT/d+KhfX93eTyW8z+PiXQqEn4="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/wttrbar/default.nix b/pkgs/applications/misc/wttrbar/default.nix index 54775719a2e5d..7f29d5addfe5c 100644 --- a/pkgs/applications/misc/wttrbar/default.nix +++ b/pkgs/applications/misc/wttrbar/default.nix @@ -7,18 +7,18 @@ rustPlatform.buildRustPackage rec { pname = "wttrbar"; - version = "0.4.0"; + version = "0.5.2"; src = fetchFromGitHub { owner = "bjesus"; repo = "wttrbar"; rev = version; - hash = "sha256-697LoXu6x8ODQa7tG/NqpSqnLJgM765wBFFnKyul7uI="; + hash = "sha256-7Y1t/A4k4dgf1Y0OEGPVI3bklXJ/Wuc/IRLSknW/tL8="; }; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk_11_0.frameworks.Security ]; - cargoHash = "sha256-sxZ4R7QXQSuNFNRuOI/omON6QmQ0DTKQvjHy1BcvXAA="; + cargoHash = "sha256-ErS0QgI3CbhwgvkUPlR06twKt3Swb+8hlSJv7DO3S70="; meta = { description = "A simple but detailed weather indicator for Waybar using wttr.in"; diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix index e3a9a01af6dd5..5ac761db99db9 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix @@ -1,1015 +1,1025 @@ { - version = "118.0.2"; + version = "119.0"; sources = [ - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ach/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ach/firefox-119.0.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha256 = "edaae29cc72b033e7116f56a5c26ec14a87b44d394c5b447000b2cea3f092421"; + sha256 = "b39b5d57d6cffa2a70b5bc0b79437b0b0bae8c6e8c0cb59cad1a06949367b5cc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/af/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/af/firefox-119.0.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha256 = "31bbfc2b7c2f3e96ea6607512769a20271c912a3d025c9b875a91333d399c6b8"; + sha256 = "918c39a93f193d796763d366bda8ca821f048c696f25dd4d82ec3a66e630eff6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/an/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/an/firefox-119.0.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha256 = "13835d48854bfed399898fa68c3e8a12ca749d6a079599049f4f24ab1701ecfd"; + sha256 = "fc56648a834e860516c743138ae7dabd79271483150a28aa4af1d64cedb227b6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ar/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ar/firefox-119.0.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "860f800879c39636a53bfd4149d1b2295fa8691b73ef32291bcf60d3f59d4f7b"; + sha256 = "6a4ba37c37eac8807c64aab68a8904b533da34ebe12064a70595a798827dda86"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ast/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ast/firefox-119.0.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "f462a8b29ae601c1dc1aa52072db9114edd77f51f0acd36e83a0f728b2c6c57e"; + sha256 = "bf9eec66de4b202200132c3f31a1532a81753f34ea827485ba6e96ca7ba36ead"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/az/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/az/firefox-119.0.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha256 = "25072dc449a004fe376eadf1bf72ced247d18cb7644f209ce44076567982ba04"; + sha256 = "13ea61d828ca7eecb8960f40d779454b612c711865a3caa47f0f9bcb0c7f70c8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/be/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/be/firefox-119.0.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha256 = "23d23aade92122562920a90cbce73afc570dc1f7eb4198d5e6f311d5439edeec"; + sha256 = "1c6c629c02034cd562b440302ed148c4ec080e6c93ca74b7244b47baec96973f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/bg/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/bg/firefox-119.0.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "05b3cd2074c2496dcaee4744d5dbaf409e8ac15fcea274a7e07647309da7bc10"; + sha256 = "f382168dd2aad7c13ccdedbdc5f43167e6030d8aa8159eb8b5b01c0454c5d367"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/bn/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/bn/firefox-119.0.tar.bz2"; locale = "bn"; arch = "linux-x86_64"; - sha256 = "151f4b9e92583ea048bfecbfec9de77613c87a7b77c56dff45a7188bd89dbb0b"; + sha256 = "c149b1dfa5517489677e8a613e04a15f781866b01bdf3e711d9afa9f65c08499"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/br/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/br/firefox-119.0.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha256 = "1e4784df4de56c0c656e7a523cfaf73ee713658cead7ef5c2965a30b842aa5a9"; + sha256 = "350540c67927823dbf0757dfc2561d9219ee71d576ca3ff2f86ce4e9c831118c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/bs/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/bs/firefox-119.0.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha256 = "baf4579d63d93e5b813210e19763dca574afb35dcca5a53f6b2cf1ad75d7391f"; + sha256 = "59a9dbc269c2ee815b7698eb5a0eacd9b310e604ae0df766503e6914c0bf740e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ca-valencia/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ca-valencia/firefox-119.0.tar.bz2"; locale = "ca-valencia"; arch = "linux-x86_64"; - sha256 = "6a0ada9f33f226a0209ea5007e3daf5ea2d050052ff41e91c3d50ff8ca9370c3"; + sha256 = "8b5f0b091b5d8236c68e07ed1d0484994cb5d7082605f79c8ee01b96b1219b56"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ca/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ca/firefox-119.0.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "e2bc65ee5649e3ddec778e0d5b36a0b1cc103ff99841eaad292d0bc6337a1654"; + sha256 = "7c8435210f1dcf5e577c85eb5607b231d36a42233d2a42bf3f58626e9fe313ce"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/cak/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/cak/firefox-119.0.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "9c6a0b7919bb72ce22549a530c537a07ab0d4b8dda33df0c3ba3c563c451c84b"; + sha256 = "1f88c845c86881eaed91552028206abd62b0d20c87e57c58ada6bd725c6efaee"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/cs/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/cs/firefox-119.0.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "923cc5ebbc0503bfd4059c94febc1f8b8b49d833967fe2f641a985b40b44c590"; + sha256 = "0983f8406f4dd3c15bb9679cc4da17bf0d2e55fc1d2a2108d98c6b1f26823161"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/cy/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/cy/firefox-119.0.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "5a94b219227b5bdf33090de67eb0ec32bd2d749e71e41980126ba3d975f375f2"; + sha256 = "e223b1a0af9265d69fd7cc640959562db028f7be4e57a106a8a58b22198cb36b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/da/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/da/firefox-119.0.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha256 = "11781b484eb02f1566f03db478c9d79a3f1e02947be5964e6272789ecfd8ce28"; + sha256 = "af0c8bf6987638b39156c34359f79cd89371af513510de83068e427cfbd1f76b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/de/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/de/firefox-119.0.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha256 = "691235de2d13d8412b5ea72821cc3172ce86b9c331c3fae4e312f3cab6102ad2"; + sha256 = "5b686480faa5e93b88f18148179f44a068e2152fdec20187fc9e5bf184adee6e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/dsb/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/dsb/firefox-119.0.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "a7ad39655d2165e94e19c79ddab1392e496e64f731b5fc903cfc65738e07e20c"; + sha256 = "e4e69bf057f5de0086958f6023319b922fcb852ba9467dd40ec1c14d6f68efd7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/el/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/el/firefox-119.0.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha256 = "62815f5f1e99c9e3676edb1daa01d70cd29eed3781f91e7bdca0b1b65ac61afa"; + sha256 = "57307cc86a5aef496053f116854d46adf65bac39a01f6d56f84d572d1b539ed2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/en-CA/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/en-CA/firefox-119.0.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "c32053f77daf81dbe9b0cae597c269176bb2ef244647998e9c6fcfb839a6396d"; + sha256 = "b5361c64b7b98c9a6df89d06364e18d8e0b5bf0ec6e20a1363ca841cb6a03df9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/en-GB/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/en-GB/firefox-119.0.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "f8459059b1fb6371db9905dd8ab281de35cf271ef9d1b8a7a041fc41199a46a1"; + sha256 = "ac25fba40006fe6a92d7c08eff26a595e594728ed913799a31f4bb3ba183257e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/en-US/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/en-US/firefox-119.0.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "08d98d91fc4d15241061b5345deeb7ce8c6d30032f66388a02089de7d23c92eb"; + sha256 = "3cba47e712cec5de5716666ef640f678d65ffb3c8ed5a67986296dcfa59fbc32"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/eo/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/eo/firefox-119.0.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha256 = "87db7fbc63cade709ed478f271923468c722ded1b097583caaabffe5cffd48a0"; + sha256 = "82013838fab41be6cc427e13ce05664d100cf4b36fba2bb1c7e6de4bb5e17427"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/es-AR/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/es-AR/firefox-119.0.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "b4c4fc27197e1bd55aa6694d53662f2180cd9c994a4acde025056d336866ee8f"; + sha256 = "5d29218c1edb409e16229e5f579b9b212bd13547686f09597fc1721b50385490"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/es-CL/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/es-CL/firefox-119.0.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha256 = "85996f30d7abfe3c1896ffd9674dec86be0655f9cd3360588d36ac36c72cedf4"; + sha256 = "200d3d3e5cca0a1e7be2c4dca8476b8c84500201769791f4de193a9c00dc069c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/es-ES/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/es-ES/firefox-119.0.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "d2b766cd31a23cee8380ffc55e1c812281f6268416bd3900ac6bf81922a45f8e"; + sha256 = "e158a68eb5da1e503bdf05ee3bb687b0540fef16725293371ccfbdbd085c120a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/es-MX/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/es-MX/firefox-119.0.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "f2d8c8a9370af90ab11e2028c482e08be954a95862d37a1149e6c42b02d14378"; + sha256 = "2b430ad86706fb2b602dcaceb2d71c8eadb28259e55a95cf6e75eda2cfbbfc76"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/et/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/et/firefox-119.0.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha256 = "41373db23f3929fe55dbc9dcc83b6390b99b5d414c0b85da28f7ac90ecd1a510"; + sha256 = "c86da524f593aa1e78322a0f289dc293dfa6ea6cb770ec28eed4dec448476bad"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/eu/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/eu/firefox-119.0.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "1dd9a536f5c8dc22f35e0ff9077ae81dab2ac8b0e25eabeaa2c66dc294500b98"; + sha256 = "3046b38b745175f3a9ba8b5e093ae79c8c238a1df56fadef165e075ffd3b3320"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/fa/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/fa/firefox-119.0.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha256 = "75f5499dc303167f3d3521b4dd741462d8cf7be9c0599fa3ea520d5c50419017"; + sha256 = "404503bd56a6bc2cba8e65cb20018f0e80c5cf290573e0ad3b14dd75bbf9bc39"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ff/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ff/firefox-119.0.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha256 = "92b4d4e9d5cd9d1af8d85eb6e79dac180430920ad1898705f694d9454ede6330"; + sha256 = "98c702ef329c24e3c6b7e7ccf7004894f39a646c18b58aafe23c9e90bf96be47"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/fi/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/fi/firefox-119.0.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "b55367a8cae3155438e0d9a207b238aa23e0f4923774a8d920e953a458dc4f08"; + sha256 = "562c31519ada2355e4b8739e03aed937356424fa35bf60cc1a55114d208a668a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/fr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/fr/firefox-119.0.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "471fad8fa3cba6c88de351d23c06f02455ef1d204f0b7891613277ed64ead64c"; + sha256 = "d7a2df46a6e35c15ad84556e8b8042ca3915faa4875b5c6d2cd0a7edc835072c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/fur/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/fur/firefox-119.0.tar.bz2"; locale = "fur"; arch = "linux-x86_64"; - sha256 = "36dc198d6810859005d9e6db9ccf0ff09ee9c16ca629be6b7f8e80ba0ae08529"; + sha256 = "ef596a90fa2acecb0b6a11be98edf355ea929c20276f7b51ca179f8890e9e3dd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/fy-NL/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/fy-NL/firefox-119.0.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "cb238406adcdbe0f41b28d497da49c83ebc3b6182657dec264ed022468095cde"; + sha256 = "dacbf9e586c3bd3bf70d0cfbaea637dfb9e78bf58d44283778c875c2e47e558d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ga-IE/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ga-IE/firefox-119.0.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "1d6c433d80d58f7e8b5bb8c22cf6875b41908b0a82b87d92d359fe8b93a442f0"; + sha256 = "621d157491c09010f68baa54b893759b85cd350daadda4081574e58be50e946a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/gd/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/gd/firefox-119.0.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "2df1ccb7d1a176092b3b9a58abfa1f4caf58c8d0ba599cd2075a99eae5943509"; + sha256 = "d0433bd49687a042d0a7d3cf79f8f128a330fed546bc9ff78258d4797fc0fe42"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/gl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/gl/firefox-119.0.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "012c433502c59b993971cc03e3cc68945236241aa2c4a663a1ca1e5646a63522"; + sha256 = "193c4c8bde818a06b0284a836d6be803955727b12043a1ed79c748d79de31825"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/gn/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/gn/firefox-119.0.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha256 = "cb202fe5eabc9ec9dffc2f00f339e8c492ff3c2ddc9f2162ce04fc5527744084"; + sha256 = "079dab78929dec897f912bd2cdde3b13a64e9ef5e21e98c5030cc0482d9574bd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/gu-IN/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/gu-IN/firefox-119.0.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha256 = "e09eb574a23e6bb03ae8877108fa631c1fddbe23f28708dedba70c50c71e84a3"; + sha256 = "ee9670c5e502e6c6bef1c1b118e16624cb6df5be68e136961083d3ca7d4e8400"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/he/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/he/firefox-119.0.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha256 = "fd7ca0027cca8232a71cc95508710373a7a57dfee490befa81a6911f40da2d1a"; + sha256 = "24ac7821df7d752ffa8f959dbf4cf85ee3c2189b415b15e6a3fcbdefb9953dd0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/hi-IN/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/hi-IN/firefox-119.0.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha256 = "27036573a6fc158626b31769a15273feb99f2d7b4d0642c25238f767c391f7f5"; + sha256 = "46fb02f9332139f1e2966df339c07ec0a91ba42744e4afb5e9a54ed3d7b98f59"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/hr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/hr/firefox-119.0.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "ba72f0a1c4a216aa2d332e7ffb9022c67240a9311893d8d2afa42c12764fd0ee"; + sha256 = "4faa0d060c9ff8754d3ae1dbddade68fc45ec0fa9c736643fdb2bd8b35974e04"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/hsb/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/hsb/firefox-119.0.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "b5f732a1cde793c6e4019eccf20c12d99120ee68d46c3af73578eeae8f13f081"; + sha256 = "cd64231d3afcdec60743153eeb4b1f0bbb56234f6ac77b8e1e694514656a4e02"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/hu/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/hu/firefox-119.0.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "0bcbe31ce109772f275dc68c6c8e698672206712eb335b2d12e52980dc3d439a"; + sha256 = "94264673a553ad4def9ea264ca3d97f1208a780ea367e26857dc8d1d8622744a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/hy-AM/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/hy-AM/firefox-119.0.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "ca692088bf041df45344304257f0cb0ac5f994b73a84bbfbef8d1afdf8431aea"; + sha256 = "dfb11193bc4d8ef993bbeab5c66c9b365d860fff3426a6473cc85fe168c17264"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ia/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ia/firefox-119.0.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha256 = "c109de529b4fa66a1a86a6e500ca7552b2db0f7b7a7dcc4c1ae7b09c841d7240"; + sha256 = "73506b0eb9e2b8d7b233b66cac2e71bf570a9ca4bdeaade7e3ac6fdb7326a7d5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/id/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/id/firefox-119.0.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha256 = "93eab7182a441fcf215609cf35defc655a6375117b656fc45f1ef05ca80d08bc"; + sha256 = "b819e003fa942117ad01ca57082eedab1150f8bcdc11bb5345083fc170d36928"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/is/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/is/firefox-119.0.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha256 = "9ee541eb90fc4166bc425bf3542963b9a0894d4c990e4e445a2f0c228900a347"; + sha256 = "81c44e530d1d7781b3df276a9f384e703c7faa95e119969c28095d42c177b161"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/it/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/it/firefox-119.0.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha256 = "b0a974115b358e60824cf3589d6ae6e44b9769d301235cb782d404acd78606d8"; + sha256 = "ad8b2f146772487809fba1e81d01d66ceadf29d4c41c05c4dac4bd62ee7e674b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ja/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ja/firefox-119.0.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "f1aaece094f926991747e7a878683d80b957d8d4c4ea138f0a17138bcee4beba"; + sha256 = "a66a5eea3b15d0fe5bcf9276e152f214d5156692d6ce062ce94d90849d209b26"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ka/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ka/firefox-119.0.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "1f2c896fc93fe9d463d95e7b38f2015d5b2fd3bdcc06176a1c6ba6eaefb783b1"; + sha256 = "dd1817b054d70c64f529c0549a6424567a58200a23716488655152ee2d38e2cc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/kab/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/kab/firefox-119.0.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "bc5ea67b452e896feb48fef2ccf940fac72aeb3363aaba33c3533b393c96de7f"; + sha256 = "a6c1eda609f94651bd97cac31c830c8c19b6e3c085b233caa569eedd99999997"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/kk/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/kk/firefox-119.0.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "d8cf92a1576ef8422c0f11864200d4c4acd05509e7ea7c52903d61d8f502c4ab"; + sha256 = "35afce4fba1c41ac276a03cdf688232df8f3b3177b6797bfe83407111d9c596f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/km/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/km/firefox-119.0.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha256 = "695bdf7b572a5c28eac19955f2170cec1501eb337efc111030ce15a7794b6ece"; + sha256 = "7b40552893a20c3463cdd6ac1f378d44c3c2199141e980261f2fe899d8e9ce92"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/kn/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/kn/firefox-119.0.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha256 = "4f7f974b8f3ba3b09714bdaafecc0280384838cff54704eb5ad2bd129d7dc7f4"; + sha256 = "2d7c2003218f0404f2f20896d924cf5df179c6ff2fd61616876e485b4ad9d084"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ko/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ko/firefox-119.0.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "350445a1a2a7e0daaf39023409558fbde8cee86f35d71d70c557234843efef90"; + sha256 = "46ec2ab8e5898f3c063bfcecbdb16a21e14b150718259c9d6f82e8f0a5147d8f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/lij/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/lij/firefox-119.0.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha256 = "9c70ee5cf9a277bda0731ea0c927cdde60b1f9270b1d8f910bb9b89936938652"; + sha256 = "fe103d6b1377898242421518b691916df27ab414ae3b47fa71694e2a673a552a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/lt/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/lt/firefox-119.0.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "604fb287735aa843d98cb3b6fae2c7f2939ff13d327ffb4f80fdcd82b828f2a3"; + sha256 = "a174153a909957ff3a41ee263ba95f6e30786007c2e74be0ff1c68d1dbc55c7e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/lv/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/lv/firefox-119.0.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "3e3d6d64ad4c998cb6a92cf7ac457f0c3712e68e653de0a3ddbdaca15d03167d"; + sha256 = "3ba44426c9654bc44f6e0740c90e5c8d0a9af04a5e0ffe0943bf6e0d2c3d5280"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/mk/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/mk/firefox-119.0.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha256 = "fed28734dd7e3e69d1c42a2ae183e173f54fd5ecfe7e3e9301064d98f6e3eee0"; + sha256 = "870768e901c2f900d25a547d08413a612f01dd2935988a2f59bfda8fa4184544"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/mr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/mr/firefox-119.0.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha256 = "180527d25dc0746650918ec85ec13a808125ee50e24f48cb0b613372a5ac92e1"; + sha256 = "f2cde4a376169be38d3bb5c7e0585f59383a07eb63a1fa840bcba7c6f452d4d5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ms/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ms/firefox-119.0.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "751c4aad153f6347bcc36c821cd6a8fc83cd30392cd097da364bf4ac484bbe92"; + sha256 = "c680975f06962d5d7e4ece1d6b566a4863ea59b009bdf7ce00f6b548533d63b6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/my/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/my/firefox-119.0.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha256 = "0590bea84cb17f09b0ddd7baf17306e32049ca6ccd694143fb2ab481aa05d6d8"; + sha256 = "7dbe7c8066106e80be4acb553d6b6dd3c8ccaeb1d8eadb141a99330d969a7ab1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/nb-NO/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/nb-NO/firefox-119.0.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "51edca7fb1d6dac258b0f7823acf87297bf5e916c52a2796c00e84889570611e"; + sha256 = "0d8e3c89de78f607f3b3258f9e8633792a8fb781ee4019bc5c4dc61e8bc4a276"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ne-NP/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ne-NP/firefox-119.0.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha256 = "04ca864dde0502fdf4cd2a68d2ac4af1996dff8443f503fbee68d6355fb8ad83"; + sha256 = "fda071dbefc7d999d6e6d46dd9267d4bd08d3a124797183e6a5ebec5e357c411"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/nl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/nl/firefox-119.0.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "c8bcd78b5ed3b9e675cda7505134a904142a62e9977abef1284d4bc7d4d2a7c4"; + sha256 = "f7b66affba5582a786086431ad187fdd5818cee274333447d8461d81fa120788"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/nn-NO/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/nn-NO/firefox-119.0.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "aa712a3ac3148af441dbdf5413b01d750a833125d510cce4fdc2cf4b3d5a9ffd"; + sha256 = "1e8ae2c889461f16d776ef816212f0230cc71046ea2c42fe50f294c17d346069"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/oc/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/oc/firefox-119.0.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha256 = "52da19a46baa9628389ee08ad02d350baa9108989ebab0cc2608a13138c832d1"; + sha256 = "d3e8c4ec7ed58550a42c58c78b930114def4c31e1e9541cd2e1d93d1f8ed6d22"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/pa-IN/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/pa-IN/firefox-119.0.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "7b522cfddeeaec19e8dc5c25c32dfe590743acca8349a9b1a5877d9582a584a4"; + sha256 = "8445047117de8e1a136bf08c3c7b12aed9486d5b2ceb53b515198e5dc9ff6912"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/pl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/pl/firefox-119.0.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "d27dd66b00740fed51b146b60c940d0500378be008a04331869f6603a5c96744"; + sha256 = "87d29a11b54e21884be4f3bb3005d37cc2441220f9d8bd8fbcac002d60a05aae"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/pt-BR/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/pt-BR/firefox-119.0.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "15c2f48c2b504ebb98863f4dd61e68a8d316a977284b632bfc3a498212b48cfd"; + sha256 = "425f86111d409a3bc2250b68588bb92221d7eab575064488693a8723c78b97d0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/pt-PT/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/pt-PT/firefox-119.0.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "353475f78b33efd4bded36e8e1a6259a8ddeb067dfed9400b560cb8a56118481"; + sha256 = "eeeeb25dd197cd2b194f9378fd0cccc6aee4a22a841e9fe87c34481e61a5bdc0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/rm/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/rm/firefox-119.0.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "9ae918fb2ab4ce322152da4848d865501de297c72b2b90a3b58b98ac44ac3746"; + sha256 = "7842a3cc0cc9c882633377f1e18a8c7339af2912578cf5eadf12ac05cc44cf6a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ro/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ro/firefox-119.0.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "1bfe0a34d5f1a1652fe076aa881da6ce4fc8dc098b2afe71ba7702ce07e87801"; + sha256 = "05f930e45de7537055a76dbe2148a7557907293e9238ddd8b81335ffeca85457"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ru/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ru/firefox-119.0.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "eab71d99e2548650e05646ad86425f4f74c2597535ea7aa4be7e70c718c64562"; + sha256 = "ef9bf25a5488e03b699add0308bb3b0b101025b533f408dc88b2d37777ee4186"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/sc/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/sat/firefox-119.0.tar.bz2"; + locale = "sat"; + arch = "linux-x86_64"; + sha256 = "034813361992a52b30ddebe013c221f06b6628bb78404916bdd6eaa7e0e02c6f"; + } + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/sc/firefox-119.0.tar.bz2"; locale = "sc"; arch = "linux-x86_64"; - sha256 = "cb979ed8cab05be2d34c51b3649666164f0e18d67b923b5acbdb112c9733ae29"; + sha256 = "7795f208a10e91d4ec00b7605bdb55242a085fa11a49b6c210ba87f59d1b1873"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/sco/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/sco/firefox-119.0.tar.bz2"; locale = "sco"; arch = "linux-x86_64"; - sha256 = "bb240568809555462268462bd269bcb8483d22a8e394a77938e768727acd0a2c"; + sha256 = "732f8e5fd43e5be9019c3d4f1eaeb14dd05bc167b2a521960e1f984879e996c9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/si/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/si/firefox-119.0.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha256 = "0e4caa28640d88eb46ba5df3717afc68055a5c689f6f802f0f2cf1f09a1c4451"; + sha256 = "aaaba267bf52680a719360b58c1d8a9f74e56c88ff1c790a238a7db8e7811fac"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/sk/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/sk/firefox-119.0.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "f3ffe13e272fe628fc2e5d6057503f973e128fbced0699d93b74f8a8991c27ac"; + sha256 = "562fed5652761207aa61c6df3b87538bf1b95018097ea7fe2f7b17d803f4207e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/sl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/sl/firefox-119.0.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "01906a62d986f224a592cf577f3e4bc26f0d63fbcbfc22d6ee3235ca4894a062"; + sha256 = "250383f4681196d5c3357a4ac4a0ba0edd58ea89e529a62e92a103e21761489b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/son/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/son/firefox-119.0.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha256 = "a361fd5d60744e370de1b4f8efd8dfcff34389d114919997514e9810887b8dd0"; + sha256 = "d2f8c73e7030a9ada05d3da1f403bbb05b16a54e7affcad1fce196c739b1c93e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/sq/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/sq/firefox-119.0.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "f9ff65b19262d45f2a3a3b984ec7cf150d7e81edc9d34953b29f4f6fe83c7155"; + sha256 = "20fa7878cef8ccf9b877aee793638a30b81e0c89d609cf72bcc3d185ac8ecfa8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/sr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/sr/firefox-119.0.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "91e9db5029983cdd5000fd897087d705ce1f634959685f179710c6130d0f7024"; + sha256 = "ac7149159ac83f91790a53926c874ac4dfaf1f411951a3a5eba63a500324b30b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/sv-SE/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/sv-SE/firefox-119.0.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "682bfa392232ee040536c89105675ae26cd07979a557938031cf96c3921886b4"; + sha256 = "b86cce597d8b3130495d676a28c5440732c0089f040b0f28dd9381dcbe1598ef"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/szl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/szl/firefox-119.0.tar.bz2"; locale = "szl"; arch = "linux-x86_64"; - sha256 = "ca82574af46e338968b9c28dd59e05f59c28166befcd21dacb02ec447ebcd714"; + sha256 = "75770fb197dbcbe8aa473ab7e0bcf2474c4f240917f4cb743c3119724770382d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ta/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ta/firefox-119.0.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha256 = "119ebef979adfc0e4e68e567465c80c8f74a9533d48d0dad301931105c364144"; + sha256 = "2395da544f587e2d07578b122e92de14a14c6c4fa90e5e25d951fc8060ef07f4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/te/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/te/firefox-119.0.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha256 = "3f9dbcc42a8370d7bcc457160d9fe8eea9a4aada3497d2a679da4fa7e6ffae3d"; + sha256 = "2661e1bff3f097a1d9a903ec6f4778dd1c111e8e81698eeaf9cc26a18c937720"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/tg/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/tg/firefox-119.0.tar.bz2"; locale = "tg"; arch = "linux-x86_64"; - sha256 = "d32a057c40df8ade083f16f5606bf16aabf63137cad74653f565d3a54ecf932b"; + sha256 = "7aa7e780ec6b8d4b2026cb5c223988ad5022be484350f320a6780c7788b83e62"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/th/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/th/firefox-119.0.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha256 = "32665ef2f383a4ea77c9c360a77385cb3076928f4d24f1f38a9a0607062e1ce1"; + sha256 = "28b55df0316d694acdc5e14e3dc0f4ad75d54246dcc1c5eada5787a3cbae7007"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/tl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/tl/firefox-119.0.tar.bz2"; locale = "tl"; arch = "linux-x86_64"; - sha256 = "d9746267f427aa75fafac7840ea91d178e800413eec71ae836f62494a7a16600"; + sha256 = "0daeabf81bd3ef1f79f51db76ae70d2ab82c9cedcd7b8e4dcd27668944e4a4e9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/tr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/tr/firefox-119.0.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "0f3bd7cb21b17ed2539de42cf4ec8b3353809a557ad4160b5bf6dc30e978a1a7"; + sha256 = "fdcf18ed645299e11365d713d22fc554da4ff4be8a33233262c166ac1f4519c3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/trs/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/trs/firefox-119.0.tar.bz2"; locale = "trs"; arch = "linux-x86_64"; - sha256 = "e3d79184e1e769410123c1f2aa6d3a1fe5a7f6a08981282207b904934a0f0d59"; + sha256 = "18f547adbdb52f61ac3db408ada06ac81b59c0be19b8826eff306779f70df5e8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/uk/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/uk/firefox-119.0.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "e4dcb615b767c14d9c8b5e112ff3b2fc9f25aa5d1feccd83c566f435347189bf"; + sha256 = "0003f5e2e6f452b20c67bcf7fdc314bca34363f18e642ae375635102530d5e46"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/ur/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/ur/firefox-119.0.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha256 = "a87de384a8fbdcbfc60d4c0ea248f923b2792a853564e4615a235a0562ca51fb"; + sha256 = "82c3ef7c208c7cdb44de5d09456e82bdd71de1321d8398323983d9473cc9e488"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/uz/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/uz/firefox-119.0.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "1cb8f957361a3fbcfd3770c094b5bece5663eea6922a2eb7f459c83111407551"; + sha256 = "43f93fcf41dd41b70dcd75a2eff9f8d9db5b56a62623fe51f2034d461c5be60d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/vi/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/vi/firefox-119.0.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "40b8e3ccecf7f055a2f2133e6d1fae21f5ab22c505a7eb108e2f374e9f58430e"; + sha256 = "662ed24018c950f0c11adfe857046256b94a312faa9c945d3d2e752f1c8ff6fd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/xh/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/xh/firefox-119.0.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha256 = "7bcfb6c7aafeb7202369ea2479272d476b45599a15a70f781c9b5b0547ef0846"; + sha256 = "2b4a67692ed2d88139b82beeb582b054cdbf773c1d67a6a112710da6dd5c2d51"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/zh-CN/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/zh-CN/firefox-119.0.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "7604468ac3d9359a01f8634ba2e74c1dec1d0a3ef17702ea145cc6f07e86ef93"; + sha256 = "e4432e793813e4ee8b07b7fad53fc2c15de1fd9617a33466cc87c2d7ea4c782a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-x86_64/zh-TW/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-x86_64/zh-TW/firefox-119.0.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "c36ed4783efb76c402130c91884451685bbcc7c0fa74b3f561534c7d3ff54849"; + sha256 = "93508a741d87d40b794f0529ccb6abef895cc8063b7c9791e89e41936eaf4e1e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ach/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ach/firefox-119.0.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha256 = "0a9075d13f61b1f221af6f5c8fb42769dab38bed01bd89e2baecc7becbc2c1d6"; + sha256 = "f5c1c2ed270695990cdb41ca40370c0b3bca8ac1a0157eaa2e78fb4afe7883d2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/af/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/af/firefox-119.0.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha256 = "db2e7e15a47f59ed319e3f187df01cbb79760abfa8f8069062a5a3eaf08b5421"; + sha256 = "a01356f453f0fabe8d02c5e4d810c1c56efe3c0c04af986fe23f53ce338eaf1c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/an/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/an/firefox-119.0.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha256 = "3d93e35e9761f2bd4f4e9f2e6c2a390ef761e401616e4c521b218b6e5dc8c6ee"; + sha256 = "089748a093475bff39e28774fca3d2ee325d9fae03b25b42ed7d9094ffaa24ae"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ar/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ar/firefox-119.0.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha256 = "49f0207c1902c1acfbbd91f7180784146b3cd4b7cb9d1b0e08788e4b83d8357e"; + sha256 = "ecf8e9df1a96f9db677acc2b51435c61101839b5da5ccd06a51787a414406e07"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ast/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ast/firefox-119.0.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha256 = "36e4a73db19796c4e210476535ec0d7cd09a5a01c53d48fc04e7b219bed6f60c"; + sha256 = "7f592b92c90c131f0811c6114c43f77a3c39600cec07416bb76ee6caf82b8efe"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/az/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/az/firefox-119.0.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha256 = "69ec44fa6a55cdac49e90708e10522e3511cf2a70d55308298833848f54ded36"; + sha256 = "d57c232fe0568b696196f16e211f993027d354fd555998d125d9468f8c77442a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/be/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/be/firefox-119.0.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha256 = "a42294f4bbbb0e150d4177806c545a166ea365b32d5d8fe1ef98efbd01b0aca5"; + sha256 = "e4f83fba365fafdb4b6923bb7e74890b2208278e0bed94504ff4b9edb1ed5fb3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/bg/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/bg/firefox-119.0.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha256 = "36020ebd1d73c3067a5720cd9506167ef349414b415d69c3cc0a7bb688a5d40a"; + sha256 = "6ee691106c0db5dc35bb4f14918e4d4cabe67bc4c0b9fcb2048adda902054d68"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/bn/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/bn/firefox-119.0.tar.bz2"; locale = "bn"; arch = "linux-i686"; - sha256 = "6256d8a4ead9fee6c51ba90600bf2df59bcabb4d88cefda1b76112c7f138deb1"; + sha256 = "965afc86cbf57c043f93326f52c9d53dbf854f1150c5f11d8773b27ee0b736e8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/br/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/br/firefox-119.0.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha256 = "3256a60a5f535c3c27141ace969bc8d216744a598c261781e8019178b3ed1b20"; + sha256 = "3dc242d4fa2b10f2d0cefb44eaf3f6777a08f9bec38b196cbc27c5ecd0f13724"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/bs/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/bs/firefox-119.0.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha256 = "f1278ed6ca583e238a05720580db0000bccd79f59f7edbaa35675137c6c9eb83"; + sha256 = "5b89b0c80ee34858eecaf569182d39fbbfcbb4378075d9be3af5e20d3eddbadd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ca-valencia/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ca-valencia/firefox-119.0.tar.bz2"; locale = "ca-valencia"; arch = "linux-i686"; - sha256 = "0dbbee488b4dab03ed06138e26bf3fcabb09717f0d933678a9cb1020bc9aa710"; + sha256 = "a3b0007731d232139441bf087b66d3226484bcf1acb816b1efc578bc9e7bc821"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ca/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ca/firefox-119.0.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha256 = "b2eec6c073460f15f071f2659af6f05feae8f2f8aad143e1259ca3518ef234a3"; + sha256 = "4024e50d07aa8ab332b3e2cf3c55d94d0fb563ef29dc14b11ec42b21e2e8a3dd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/cak/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/cak/firefox-119.0.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha256 = "d07291412673b290946747bbc26b3efb886d60999295530ad05898e0379c66ed"; + sha256 = "d306e095f1f1021374024ae564d82c47a16e34cd05c9a51dec71b574838cede8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/cs/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/cs/firefox-119.0.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha256 = "55f3032400ffb32c04255351ddefcae07a992a0b5a7a2a8be296c1430ce4aa96"; + sha256 = "d2184a3457e444f982fe3ae512f8b062a0db9b1e1c852ca59f8595b7c884984d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/cy/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/cy/firefox-119.0.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha256 = "bf3c04553966296d316f593cdb93eb68e7d0961ecf680ce7dfef6bd2b01f8393"; + sha256 = "73b3918642eedbb3b65f53996a43cb244c516e004cbf37534d4c48d8adf48f83"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/da/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/da/firefox-119.0.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha256 = "64598899ad5049990f1943db654dbd4fa58d86157884e8ec7168ea06968a5b10"; + sha256 = "9f1a123bf057298f2fc3799942b44b5e5db3211128f76de22d9903e4859401e7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/de/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/de/firefox-119.0.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha256 = "a5d26d93fecddb0a0f86ac4c45dc2e92fbd4c997935caee7db614618a63652df"; + sha256 = "b0e68af0cebf4005298545f5e6b0c326fa44ce5a177e5b7bcb60248481cfe96c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/dsb/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/dsb/firefox-119.0.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha256 = "2390a7da3ecfa271344f91b614d2c2687a55147534e958611f006f3391780516"; + sha256 = "d07aa90bec4c9b902785d28724963c6a3ed33edca737ce1a49471ac073b58241"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/el/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/el/firefox-119.0.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha256 = "93ad4d3bd321509a59f40ec8f9c0397c0e46346d7226e979d063224711d9295c"; + sha256 = "c78872d539d91bbba9967da21914e595f5cb70dedf8c60c81f86d856049df4a3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/en-CA/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/en-CA/firefox-119.0.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "d5c46df7d6bc538a74beaa400a11954c1e4805b57536ce0701c2136283f385b9"; + sha256 = "7a8d68ebbbe1f6a3e012cbf9087f0e5fd71a27697ba7202d2911d32c2d7f5bf3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/en-GB/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/en-GB/firefox-119.0.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "986fb4de351deb991b9fada275130bf0c428933ff64336c2000129a74a0be226"; + sha256 = "90005f2fcd03cbd2709e80f35e39026467219d96c2febcd6fe2165b44e4af3e5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/en-US/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/en-US/firefox-119.0.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha256 = "c26325a30d2b64307da11d3a1a78d9f7c41d03a46a22ecea00ed3a58ed43df89"; + sha256 = "7ee426d7b5e818b465f581e2de1eccf9b51a22ccfb11bb2029a7cacd162d1af4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/eo/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/eo/firefox-119.0.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha256 = "c728bccbe38178063da51bcf1be60e6d88521df6cf10c63d4f9ae340251037e6"; + sha256 = "b29ab4e7e52486beaad58f9e3b5d4bc3a2a9c64148393edc78aa2e000ed9dd63"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/es-AR/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/es-AR/firefox-119.0.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "36d69a2e568e6725f9367aea137744dc5ccf0af7bd289ff6db706ce45a0df15a"; + sha256 = "17e1fa5e8625a79e29a1f0a4f5a1165a23ff7229a00d9224d69d3732ad70e873"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/es-CL/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/es-CL/firefox-119.0.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha256 = "611ba71f4398826c9493e40dd13e3b3283a44a3e93d5735b70e2db407206af9a"; + sha256 = "a38a14173f04083183aafe02ca15171e1741cc6d31b091ca8a9292ebc94c6b74"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/es-ES/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/es-ES/firefox-119.0.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "8eaa666f90279e963dab4d8642edf76b8923370554c5759ca6e8072726a062c4"; + sha256 = "36a9cd379370724daebff6df4f71ba5ec4c17295d30d8ebf97bb8fa89029c75d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/es-MX/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/es-MX/firefox-119.0.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha256 = "6400e1dddc122a1d033ebf4c0fad2551db13262f9858da1cee5a89a96584fca4"; + sha256 = "af5bb98b2a4ae147315a5f63d88e9fa23a93ec9e0bf1c4863f83b636aaee6c85"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/et/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/et/firefox-119.0.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha256 = "12ea80cebdb02b88535b9075452e8326cc5cb9e7766031efbccebe4b66920c99"; + sha256 = "b275483c1356b84259016497f421959d335b4788a862a4f4c79a079171917d28"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/eu/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/eu/firefox-119.0.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha256 = "fbcc8428ce547e8b36b49cfba3f9c8d5470c906c630cecce24f94629c5ad6de2"; + sha256 = "227747752cd5a0406190986db8e434455b2212f57b09c291682b5ed75bc469ad"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/fa/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/fa/firefox-119.0.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha256 = "0de1dd537805146200e4f0b27d14a720037f8b8e095c152c4ef2edd3bb4568f5"; + sha256 = "34235d52c8b81a6c784d76a45aaa6743c94f3d941f4dae4d224a8bfc9cb5e27b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ff/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ff/firefox-119.0.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha256 = "7eb77e41602b9a388f43c8f5af46de43799e729ea64c576abb7988fd3578d905"; + sha256 = "8c2e0ff48c32bda68708400d07512fa56774fd16608a4dd682bea7f9e1d6cb91"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/fi/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/fi/firefox-119.0.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha256 = "3f0c0c103d41521b989dfe14ef549c2920ea18a88859796a29aab0fe03ab7cab"; + sha256 = "c3a78941a36573c22474f0be4882e831893380dff9b1d742489cf6889a136cb1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/fr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/fr/firefox-119.0.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha256 = "41de5291d7936bc77daa8af8ba7ae9e55b63d7a2ef4e2590d2e36fcbee080db7"; + sha256 = "21e5ac594c682a210cd14944c9674a35eea5f45c47c1b33c43e79a279eb04a1a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/fur/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/fur/firefox-119.0.tar.bz2"; locale = "fur"; arch = "linux-i686"; - sha256 = "4e43d964879b19e8cf952b1d0022a44ace931d520e9e943fb5ce40c1c71b76ba"; + sha256 = "acfab957500437f62d8a90b40e568a0e616d3ad52f6db984c1624e228dc7a577"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/fy-NL/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/fy-NL/firefox-119.0.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "ed8062d98e87179a560685f35e58d89fce025b358b1141716290781622bd541b"; + sha256 = "c84b7eae53b29265bc37dca53d9f8ed374ac225e488ed923ef125ef41b9ba67b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ga-IE/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ga-IE/firefox-119.0.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "62ec8fab3a46a234abc90d24d24b33695bd112523b7cbad98416397eedaf70b0"; + sha256 = "6c8cc765c33caecdf8db7fc0bea6094caa7344ab5c5301bec6cf5248b316ee62"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/gd/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/gd/firefox-119.0.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha256 = "b6df887831d49161abdf3abefbd295c2e25042fc735e1983882fc1a635964321"; + sha256 = "1d9db92cff230170d7271e57d0c76148fe6a8ee20531bda73e8c72f6b7cf2aae"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/gl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/gl/firefox-119.0.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha256 = "68669a7a8e7896f42bdb768a78e80991ce568dc03cb0c7cec422425c77a84bcf"; + sha256 = "344269ae91ff0cdeb4ae9e04cf3628a6f30ce97ff67b64578d79c618d5a5aec4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/gn/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/gn/firefox-119.0.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha256 = "de36f07f0c36dce4b9cf1892dd9d38a09012e3f2fe772ff0280c4ebad8de4f5c"; + sha256 = "96b9f44853921d21c7510ab029cd8c55f7ac628de0802fc3e6dcfd7852857304"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/gu-IN/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/gu-IN/firefox-119.0.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha256 = "8633ab5d773aa7e409279c4a0bf67378a20b3fcd6b0e552743e752de2c6c8ce3"; + sha256 = "9cb60dc534dd3e4928a2bd9ee2f7c19fee613781cfa8fb84c14cc77da6749e4f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/he/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/he/firefox-119.0.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha256 = "aba5e41f9afd5321e8e4140757eeaf2d227a4567c989c985c4bfe884ba75bde3"; + sha256 = "3c844f9980014b146fe1583991ee53907944266a86b862351e23b27434b975b7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/hi-IN/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/hi-IN/firefox-119.0.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha256 = "cb6d3b6173b985d9a7d215d6c0bf044cc59b733c9bbf20abe5d70e5bbf855f5a"; + sha256 = "b228b0cd269ec09c57c461f4afa57530c0ec61a15bbd46215608feffb631c01a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/hr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/hr/firefox-119.0.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha256 = "1894c5348d53cb37016140f130f39719aaeb44d87f23e8b51e1e51522aa8e39d"; + sha256 = "a0d088e6802093acaa87d1e254ce5048b55fef39e7c0e838e389f7b4c2629abc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/hsb/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/hsb/firefox-119.0.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha256 = "39835314f56d88c0f14edccdffd49cbdb09e30110a90e82bb58b6175acde9927"; + sha256 = "d7083468a49a9e38a6f1f5b45c6605a0f02843057a74c4f38b03d531c2c79f5e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/hu/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/hu/firefox-119.0.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha256 = "5477d69e9b42e76cb9c4ff53bf86e347ee5b4b98df0912adde37480b6ac21f09"; + sha256 = "359c893821d78268ef17d84bdca4770af0bffcf1b410e67c3694effe2eeb065d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/hy-AM/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/hy-AM/firefox-119.0.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "9bbf6bfbe53f0b098b98720029f4cf283bcef537cf308e51cafbc71b1159e60b"; + sha256 = "511e1898738fabac4a24ec52cb7e6bfa07779bb8138624f298d4607eba43df83"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ia/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ia/firefox-119.0.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha256 = "e76ec7d30f7eb2be1c5220b975ba5dfe0f50b8c01cca0e7e7c508df45126520f"; + sha256 = "fdee380e522e5339b9fb79534761ef79bcbf633d1ce28bd90f7b99df923bbf59"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/id/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/id/firefox-119.0.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha256 = "092ac344c44c0d88e1c65b6819f30875a5618acde6102b7dc8bfe668c802963e"; + sha256 = "049d3e5e015f19217831ca5f73097b4d88217b2acda57d501568704c58744eba"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/is/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/is/firefox-119.0.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha256 = "3e8cc9c8b1e9a7d14a356004db5765c7a57aaf5b15979ca57dfa53d5a792287a"; + sha256 = "63b29fcd76565a521ba39d816d86e98fa9c2345d1d9f9ad2e0223b100ab6aaf0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/it/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/it/firefox-119.0.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha256 = "e3d3fbac0d5051d37773257625136f539d23d150811c41f5b6b6fa98ec4e0168"; + sha256 = "15003e0970f03c566f7e8ba81ae211106957447d8f779ecb2edd363c0499e0a2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ja/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ja/firefox-119.0.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha256 = "7ead75588a0564b9488f653a806077994f201b53a328f07cac4db67233e31bdd"; + sha256 = "3e513ff795ad0fed83b9b83294a31d575853ebe681110db05529b8b39d328c2c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ka/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ka/firefox-119.0.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha256 = "de7379ecaac8ad0a5995b4707ee64f05a61f5557960edcc37f9acc3a51303aa0"; + sha256 = "cfbeab366980e0f7b64fed447503c476f227fefd1dfe68e7389421bae51d680d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/kab/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/kab/firefox-119.0.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha256 = "a185d80b13a34c71ca70bc69a240e2e5666fc467f03428d9596d3013029b33b9"; + sha256 = "2a9764f29abffc179144dc891de76ae55bc0566a9b989d5f68c4078e73295827"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/kk/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/kk/firefox-119.0.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha256 = "6005f58a67abacfbcfc2699c56813807b91edb1dc6ae167c8efc097ea504d292"; + sha256 = "8c0ea00720e05d12dbfd7500f6f1ab34d0fbeec02cd0155d58070b6de810130d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/km/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/km/firefox-119.0.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha256 = "d8b76729b6ebc3ed6832ece6c56244f9951f4c6aac3bc6b6c9597a93656bd488"; + sha256 = "8c1f8839665ec7bd802450c3934bbea394346922cbd1a5162ac8ef31672b6909"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/kn/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/kn/firefox-119.0.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha256 = "7e1f442300e922b627ded2e6d617fb7f8a87e390b4010bfacbc5f125b270e769"; + sha256 = "3f7120ec13df4b13f39562e0ec9da4033f655a2a026e37eb053bff7e7ec71e3c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ko/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ko/firefox-119.0.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha256 = "0f64cc9ff2062e9ac8fe5a40231aa295a1160c20cdd31ab6a0a5269a9e4199f3"; + sha256 = "6bb3c61886f6f3ee07fc8e668d54e3cfa2d82487a51ae1e8090c8e07df2ba74f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/lij/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/lij/firefox-119.0.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha256 = "020ee251ebabdf788baffec0126bea8c7170f1e3047eb669ae64993134ac6433"; + sha256 = "22ef5dcf3706cc39bbf29adc00f8d311600dfcf6e6863348507cf658ba9e0d47"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/lt/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/lt/firefox-119.0.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha256 = "6b88440fffc2f0c53999cc25e87fbc5dbda6ad4733886b9aea66262522be142e"; + sha256 = "de443a2361af84f8f3051c2d00da99dcfdc70669980d59409cc9c8b74772a182"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/lv/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/lv/firefox-119.0.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha256 = "608d6074ec95430dfdfb6818c09f714f3a7df6301d8730c071fb47f0c5e372f3"; + sha256 = "3ecd36232974b705eeefd728d411926c1c92cb0a450e45aec636f884b9a25f9e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/mk/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/mk/firefox-119.0.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha256 = "e77851b573aad33b6004d6757aa74ea16d781c859413e56c71e49d4a30ab04d5"; + sha256 = "9530f8bfa744772847988e945c70fed2f6e79fa3013d59ead836477fded6abf8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/mr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/mr/firefox-119.0.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha256 = "cc337ec0dc81840620930f0bdd3d06ce987c5acdc4471af78392b6146a935e4d"; + sha256 = "b69846b1b93558687b161c6b6a65a36b71b5cb9d483c4bfe83ff3defb4fec739"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ms/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ms/firefox-119.0.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha256 = "69fff136f5616ad6c89ccbef2dcf6dd788f3c0c91a7ab7da8cfa758fadb5f3a2"; + sha256 = "85484d41f6de8cc019194f729682073c40d550ca87d28433b31c5104d35f6746"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/my/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/my/firefox-119.0.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha256 = "5cb7e8a402d4667bff595711df4bd1aea230ffe23d2bd2a421b5304109e681ba"; + sha256 = "1c9071c14396aaf34b2221762aa436103ac0e12a40b42f9908ea887c2760684d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/nb-NO/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/nb-NO/firefox-119.0.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "8f7e81c9dcb7b2fa89074dee76fad6db0a3bda1dda30b2efe9b21728c4171f61"; + sha256 = "56a04b6bc327fe1b2e28c7da603596c7309b559cd22bdf1d6df6e3c53a6a1c96"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ne-NP/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ne-NP/firefox-119.0.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha256 = "c93461d9fee98af8677c3dd313447dfce1cea25d8feeb2fe3bf73ef86df69f45"; + sha256 = "0765df520a6332797b8da6d91cfe43d2d499fd2a9d1d550f1908a234f8f8c0dd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/nl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/nl/firefox-119.0.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha256 = "b2e7eb45e1b883b8a9144a3342308892d2e408c71ccf524b818cf16e00f95f4d"; + sha256 = "f10c04af0177e1e6995b4b370ed000f7ae9db9a539dcca8e098d4263d4d58585"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/nn-NO/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/nn-NO/firefox-119.0.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "1a768448a8075fff9ce86df5b9e83a1f46f1cd1c82053bb1f74b966394c724cc"; + sha256 = "218e6405bb9a0484f424d88af19475e0838a5f49b793377e6a8886f232fc90e1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/oc/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/oc/firefox-119.0.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha256 = "bd30931e94d3f9a354c7fe1ebfea7eb50ad4dcba25866b4c1e8c0c4dfa5faf91"; + sha256 = "2ee964aef5edc66f602537e70d107df09625d5e872cbfb66b2a27021f98c6c64"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/pa-IN/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/pa-IN/firefox-119.0.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "d412067a51123b1719211c411e4a2a5cf934d7ca1ea7e30ae8e5c5619b8fc219"; + sha256 = "8b0ba60b30197627022ac2a5cee233a0f58c3b3eb264b9d803196aa6a625636d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/pl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/pl/firefox-119.0.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha256 = "ecc4f762919c55a62db0a062a37eb1f7aa13e6e6496e6feb37c6bae73055701d"; + sha256 = "97008357b685110881ccb178877b0e82e10e9c6a7a6a102829791c375facab48"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/pt-BR/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/pt-BR/firefox-119.0.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "1edc8b7680643240fe7b7c2a1524ba0772c38fcd002f638db9597138101f9737"; + sha256 = "875ffc30562361411ea0652259193bb815db19e14e85b259595bbfb2ab35aef5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/pt-PT/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/pt-PT/firefox-119.0.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "224a2ea6dc3f1350f850bfb8f54d1e008406b4675a341707bf603d021df328c6"; + sha256 = "eabef633ed71284df0d339a9fd6d9d142bfd15f71e85958fa2ea6c21d5067088"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/rm/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/rm/firefox-119.0.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha256 = "aad37a82e518b7807e0939aea64371cfc32431d9c6defb3fdf01e1ee35c34857"; + sha256 = "dd30d7b7e8b7fd388856841a5291a96ae70a61abb683a922ae6c34b454effc0e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ro/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ro/firefox-119.0.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha256 = "e099ca30cd6bbab9d6f3d0497dfcc1351bf77947138b334e895b2d60f1c248b1"; + sha256 = "9a5fb9896e80bdcc4d5dbf9597121bcb3beb869f060191ee36c51ad1e850e02c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ru/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ru/firefox-119.0.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha256 = "86231533e4bb79750ab0bf0a2db09fea3a036ce476f734d2b98776221646cdbf"; + sha256 = "211e864ca9abb665ab7c1a18e811b746a3bfde9f49fe065651cc2042b6bbf522"; + } + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/sat/firefox-119.0.tar.bz2"; + locale = "sat"; + arch = "linux-i686"; + sha256 = "8651d750d4446d32664301d6d9e7641a6c98d2795423cb57e4a7644b1a280d0d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/sc/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/sc/firefox-119.0.tar.bz2"; locale = "sc"; arch = "linux-i686"; - sha256 = "1e5d6e0818e8ec90c8956bc095e7f41dc350dcdec6a8c64460eddf435d2fcdd6"; + sha256 = "02826300bcb7106dc1cfeaecfdc3bc7ec9539dc8c81eb95b6a950795059e0805"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/sco/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/sco/firefox-119.0.tar.bz2"; locale = "sco"; arch = "linux-i686"; - sha256 = "e72d33997968984d98773f6b66f95311ed88b5b300b7b43f1ff40581f3d340ec"; + sha256 = "409d8ebbbbee320d2d446c5978fdfbc8cdea259918cebcc08c909c82cb281140"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/si/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/si/firefox-119.0.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha256 = "9c443ebf18ca933f32f913f01aef2238d1a837d04bbd49e03ca518fb9b1a1608"; + sha256 = "9f689881dd71c69b36b48c383cdb1683bd06596b57491526207ad3036d16d52c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/sk/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/sk/firefox-119.0.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha256 = "ba4b1e98ad6524176132ccff6beb61b990b6e4ad717af382f492a62e4b3cfec0"; + sha256 = "5ec8fb3d368f3e4e21dc22e9be79f4feb35fa0148012e4064a79b8990cf57bb7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/sl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/sl/firefox-119.0.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha256 = "6379ec3854e9e598daec93f08ca1bb5a01a5d1782f4cd1f576fd974b580e96cc"; + sha256 = "2f570f27edd24c3e8d996e342ce74b2ce0ff2c591d5bbc3624077cdc5a57a8fc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/son/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/son/firefox-119.0.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha256 = "df181b95e0b2e4353aae777359c0936e33dfe96bb0985a83adccbbf8d33cb642"; + sha256 = "c54398747780e8e8f2390d4b1432be5e2bd8d859c586d754bf53ae3956a5f397"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/sq/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/sq/firefox-119.0.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha256 = "1edf2e6880a25b807f35d649ecb1044b796308f3344bbcdfdaf215dab7ecf09b"; + sha256 = "7b322cb127c458cc116de76890c1857ba1be779a75c3109d900e3d59324cb36a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/sr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/sr/firefox-119.0.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha256 = "aac0c85bb49a4c324469f46e82f52f86641f09733867955496be3cc656c1a3ca"; + sha256 = "3a199cc608b12c96658f2fad08714d8c996227a9c2684e4ed65c171699e76722"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/sv-SE/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/sv-SE/firefox-119.0.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "3a7a8560b03832067efc7a80b0883b16419705a7f40daa17c0868a865b0aedc3"; + sha256 = "7cd8531661e1e3d73e0e4bca9bf017d2842c569941d3d51b4d93e875bbffdd6a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/szl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/szl/firefox-119.0.tar.bz2"; locale = "szl"; arch = "linux-i686"; - sha256 = "fe848112295f45db53d8531cf36849b7146bf450b0880a9516c3721394417185"; + sha256 = "c1bb24d2261165def15c66e380dbb6d6ff4c6802f6fb91987e2a25a0542902c4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ta/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ta/firefox-119.0.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha256 = "849953dda3c50d0951ee9364fa932ba4ab6c528af08f25ad7908272de50e4072"; + sha256 = "2273897af354a0a3d66608dca218379586976742e2344b0eda49514dba4c3c8d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/te/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/te/firefox-119.0.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha256 = "bdc108bdecf2c6e90143593e4dd9769f31e06e4c18b00dcf74953c2a87a23b18"; + sha256 = "2d2945ad65eda81031b27720e3d729453a1548e91b58bf8a378c52ae18a0c1f0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/tg/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/tg/firefox-119.0.tar.bz2"; locale = "tg"; arch = "linux-i686"; - sha256 = "0dea836b74226a462d07ffc6bae37976b5cbf2002c36e02f088f322717b08e9e"; + sha256 = "9ded627e8cfefc2ae50607ffff0eac3c21e3256dc2b086e74bb259318908df48"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/th/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/th/firefox-119.0.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha256 = "962a5f4a13888e455c2f7c33c6c7787ac6b1add3d55f8b8208fdef4f151b552c"; + sha256 = "30ca7ae93bcfd8c577db3fb34b029eb7a940486f4672f5dfcc021cd9bda087ac"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/tl/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/tl/firefox-119.0.tar.bz2"; locale = "tl"; arch = "linux-i686"; - sha256 = "883a6069c8edcf048e3496e9bc878d4d5cd33c6dc52f066a1d53e40a1eba4fc3"; + sha256 = "361c229f5374b36741423b416bab348ff44329737c89e077f9f3a6610b450ae9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/tr/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/tr/firefox-119.0.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha256 = "be059c6408be614401cb118c9e5821bf68586e4cc880ace150e4be3bcd4d0827"; + sha256 = "85183fe5a667755a35e34581b4dd47a1cefed6f9db134eb73d530bd09eacf10c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/trs/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/trs/firefox-119.0.tar.bz2"; locale = "trs"; arch = "linux-i686"; - sha256 = "f8e4e7409b11080519db94c92b91296f3f391bc35b42e2917548d562580c85c0"; + sha256 = "40248dd2e4642f7100f4713e1d4b79a632c889926b5ab36571cdf753c780186f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/uk/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/uk/firefox-119.0.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha256 = "eed992481cb5939224b2ab1f5f816f8fd2814233a941a58ea27dcb91f569d5b5"; + sha256 = "10d93be092d85ace9549dbab2ee86e9c5b672542c4c85265034c3482d08021c0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/ur/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/ur/firefox-119.0.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha256 = "97d06604445cf9e1bbff1acf9b5ad8692cfd92cb30764085761dff86831aa876"; + sha256 = "08e7f68c05759df1abdb7b6196cb10b0798e7af1ff659a17aec259e9a9b6a843"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/uz/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/uz/firefox-119.0.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha256 = "dfc2a5060802e9db7cca77ba610338b505169b31144d2f09e55ec2a89a7763ee"; + sha256 = "bfdc7e8d348cf0306ed591d46b2dd60d83015e9ce6688d35d0f1a59e0904d750"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/vi/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/vi/firefox-119.0.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha256 = "f070ebbbab3addb2e4fcb1a2a8a9868498dec7d2ff04fbcb02a418f85d3e695c"; + sha256 = "b3c54a453345e0331f5d20693eb9b30eec0c8313c5c6d952e8d9369da970d57d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/xh/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/xh/firefox-119.0.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha256 = "366e7a62d0547ea0ef9d5954e751ca2e2b51a7b055e49b4c77e29daf5ad3aecb"; + sha256 = "56a04a202bf58cdebc18f33dd79cb64018b32ae288d64e00e9b30b9b49269181"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/zh-CN/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/zh-CN/firefox-119.0.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "3e066b02d289734149bb50cffeca2ed1bc4678f45809adfae38a35989b2b267c"; + sha256 = "7f765179cac4472b7c39e5c84d8363051c630ee310f4feb44c6022a68eec7ad3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/118.0.2/linux-i686/zh-TW/firefox-118.0.2.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/119.0/linux-i686/zh-TW/firefox-119.0.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "e3f088c818d96e0eb96efa24db888d352e296ceb9f08a886a875aa71006c70b8"; + sha256 = "7294e0e6eee46223ba9d9f133eaf8f2245a77ae6cb7795a09664592b473a00ab"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 94f01b8af398f..e58ee63d08c6b 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -3,10 +3,10 @@ { firefox = buildMozillaMach rec { pname = "firefox"; - version = "118.0.2"; + version = "119.0"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "fe9d7951927e44aee98a15840820251b779cc427f27597951497bd01fde3c3f2857942535c64c9d1a64f877c43802771304ed97254bffd9216f554e1af9efbf4"; + sha512 = "4b555c444add36567fd538752b122f227cf78bb70b72c79e6d8ae8d9c2e61c3cdacfae79c37970753b8b5c7716b28c686071eb7b551773c30a76852f3550676c"; }; meta = { @@ -90,11 +90,11 @@ firefox-esr-115 = buildMozillaMach rec { pname = "firefox-esr-115"; - version = "115.3.1esr"; + version = "115.4.0esr"; applicationName = "Mozilla Firefox ESR"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "65cb6fc46bba03eed742bd67f8e36b63b19f2ad7b85d2f503595704a4e88f554758a1e66ba548c8efe97a76322fb2514db72e6ff4bb2992d1aaa86edc3af85f1"; + sha512 = "3ee680c5c503df7e4913794b7029ccffc10889f8f259f16030b24c1c18c1528439123532374ccb3a7e7a0d5d64068949cb85638a29694a7d99b74dd403ddefdc"; }; meta = { diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 28e97bcaa41e8..ed1ec5692a0c5 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -34,6 +34,7 @@ let , nameSuffix ? "" , icon ? applicationName , wmClass ? applicationName + , nativeMessagingHosts ? [] , extraNativeMessagingHosts ? [] , pkcs11Modules ? [] , useGlvnd ? true @@ -62,18 +63,28 @@ let # PCSC-Lite daemon (services.pcscd) also must be enabled for firefox to access smartcards smartcardSupport = cfg.smartcardSupport or false; - nativeMessagingHosts = - [ ] - ++ lib.optional (cfg.enableBrowserpass or false) (lib.getBin browserpass) - ++ lib.optional (cfg.enableBukubrow or false) bukubrow - ++ lib.optional (cfg.enableTridactylNative or false) tridactyl-native - ++ lib.optional (cfg.enableGnomeExtensions or false) gnome-browser-connector - ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator - ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma5Packages.plasma-browser-integration - ++ lib.optional (cfg.enableFXCastBridge or false) fx-cast-bridge - ++ lib.optional (cfg.enableKeePassXC or false) keepassxc - ++ extraNativeMessagingHosts - ; + deprecatedNativeMessagingHost = option: pkg: + if (cfg.${option} or false) + then + lib.warn "The cfg.${option} argument for `firefox.override` is deprecated, please add `pkgs.${pkg.pname}` to `nativeMessagingHosts` instead" + [pkg] + else []; + + allNativeMessagingHosts = builtins.map lib.getBin ( + nativeMessagingHosts + ++ deprecatedNativeMessagingHost "enableBrowserpass" browserpass + ++ deprecatedNativeMessagingHost "enableBukubrow" bukubrow + ++ deprecatedNativeMessagingHost "enableTridactylNative" tridactyl-native + ++ deprecatedNativeMessagingHost "enableGnomeExtensions" gnome-browser-connector + ++ deprecatedNativeMessagingHost "enableUgetIntegrator" uget-integrator + ++ deprecatedNativeMessagingHost "enablePlasmaBrowserIntegration" plasma5Packages.plasma-browser-integration + ++ deprecatedNativeMessagingHost "enableFXCastBridge" fx-cast-bridge + ++ deprecatedNativeMessagingHost "enableKeePassXC" keepassxc + ++ (if extraNativeMessagingHosts != [] + then lib.warn "The extraNativeMessagingHosts argument for the Firefox wrapper is deprecated, please use `nativeMessagingHosts`" extraNativeMessagingHosts + else []) + ); + libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver cups pciutils ] ++ lib.optional pipewireSupport pipewire ++ lib.optional ffmpegSupport ffmpeg_5 @@ -338,7 +349,7 @@ let install -D -t $out/share/applications $desktopItem/share/applications/* mkdir -p $out/lib/mozilla/native-messaging-hosts - for ext in ${toString nativeMessagingHosts}; do + for ext in ${toString allNativeMessagingHosts}; do ln -sLt $out/lib/mozilla/native-messaging-hosts $ext/lib/mozilla/native-messaging-hosts/* done diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 1f898ed879867..a7f3e136668c2 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -26,7 +26,7 @@ let }; pname = "qutebrowser"; - version = "3.0.0"; + version = "3.0.2"; in assert withMediaPlayback -> gst_all_1 != null; @@ -39,7 +39,7 @@ python3.pkgs.buildPythonApplication { inherit pname version; src = fetchurl { url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz"; - hash = "sha256-Oer0p/DwUfOejUCgSCSkMvLLAjNyJx51qgN7bcQQ2Pw="; + hash = "sha256-pRiT3koSNRmvuDcjuc7SstmPTKUoUnjIHpvdqR7VvFE="; }; # Needs tox diff --git a/pkgs/applications/networking/mullvad/Cargo.lock b/pkgs/applications/networking/mullvad/Cargo.lock index 87bef3c513fe2..49d3e0f812b7a 100644 --- a/pkgs/applications/networking/mullvad/Cargo.lock +++ b/pkgs/applications/networking/mullvad/Cargo.lock @@ -19,31 +19,30 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "aead" -version = "0.4.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ + "crypto-common", "generic-array 0.14.4", ] [[package]] name = "aes" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" +checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" dependencies = [ "cfg-if", "cipher", "cpufeatures", - "ctr", - "opaque-debug 0.3.0", ] [[package]] name = "aes-gcm" -version = "0.9.4" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df5f85a83a7d8b0442b6aa7b504b8212c1733da07b98aae43d4bc21b2cb3cdf6" +checksum = "82e1366e0c69c9f927b1fa5ce2c7bf9eafc8f9268c0b9800729e8b267612447c" dependencies = [ "aead", "aes", @@ -62,6 +61,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_log-sys" version = "0.1.2" @@ -82,13 +87,62 @@ dependencies = [ [[package]] name = "android_system_properties" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is-terminal", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" + +[[package]] +name = "anstyle-parse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +dependencies = [ + "anstyle", + "windows-sys 0.48.0", +] + [[package]] name = "anyhow" version = "1.0.44" @@ -97,9 +151,21 @@ checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" [[package]] name = "arc-swap" -version = "1.5.0" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5d78ce20460b82d3fa150275ed9d55e21064fc7951177baacf86a145c4a4b1f" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] name = "async-stream" @@ -119,7 +185,7 @@ checksum = "648ed8c8d2ce5409ccd57453d9d1b214b342a0d69376a6feda1fd6cae3299308" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -130,7 +196,7 @@ checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -222,12 +288,38 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "base64ct" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" + [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "blake3" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq", + "digest 0.10.3", +] + [[package]] name = "block-buffer" version = "0.7.3" @@ -284,9 +376,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "cbindgen" @@ -294,7 +386,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6358dedf60f4d9b8db43ad187391afe959746101346fe51bb978126bec61dfb" dependencies = [ - "clap", + "clap 3.2.25", "heck", "indexmap", "log", @@ -302,7 +394,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn", + "syn 1.0.100", "tempfile", "toml", ] @@ -327,21 +419,20 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chacha20" -version = "0.8.2" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", "cipher", "cpufeatures", - "zeroize", ] [[package]] name = "chacha20poly1305" -version = "0.9.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", "chacha20", @@ -352,13 +443,13 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.21" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f725f340c3854e3cb3ab736dc21f0cca183303acea3b3ffec30f141503ac8eb" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "serde", "time 0.1.43", @@ -368,36 +459,74 @@ dependencies = [ [[package]] name = "cipher" -version = "0.3.0" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "generic-array 0.14.4", + "crypto-common", + "inout", + "zeroize", ] [[package]] name = "clap" -version = "3.2.23" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", "bitflags", - "clap_lex", + "clap_lex 0.2.4", "indexmap", - "once_cell", "strsim 0.10.0", "termcolor", "textwrap", ] +[[package]] +name = "clap" +version = "4.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34d21f9bf1b425d2968943631ec91202fe5e837264063503708b83013f8fc938" +dependencies = [ + "clap_builder", + "clap_derive", + "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "914c8c79fb560f238ef6429439a30023c862f7a28e688c58f7203f12b29970bd" +dependencies = [ + "anstream", + "anstyle", + "bitflags", + "clap_lex 0.4.1", + "once_cell", + "strsim 0.10.0", +] + [[package]] name = "clap_complete" -version = "3.0.6" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "678db4c39c013cc68b54d372bce2efc58e30a0337c497c9032fd196802df3bc3" +checksum = "1a19591b2ab0e3c04b588a0e04ddde7b9eaa423646d1b4a8092879216bf47473" dependencies = [ - "clap", + "clap 4.2.7", +] + +[[package]] +name = "clap_derive" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn 2.0.15", ] [[package]] @@ -409,6 +538,12 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" + [[package]] name = "classic-mceliece-rust" version = "2.0.2" @@ -420,6 +555,22 @@ dependencies = [ "zeroize", ] +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + [[package]] name = "colored" version = "1.9.3" @@ -443,9 +594,15 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.7.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913" + +[[package]] +name = "constant_time_eq" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13418e745008f7349ec7e449155f419a61b92b58a99cc3616942b926825ec76b" [[package]] name = "convert_case" @@ -465,9 +622,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" @@ -478,11 +635,30 @@ dependencies = [ "libc", ] +[[package]] +name = "crossbeam-channel" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +dependencies = [ + "cfg-if", +] + [[package]] name = "crypto-bigint" -version = "0.3.2" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ "generic-array 0.14.4", "rand_core 0.6.4", @@ -492,19 +668,20 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.1.3" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.4", + "rand_core 0.6.4", "typenum", ] [[package]] name = "ctr" -version = "0.8.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ "cipher", ] @@ -532,6 +709,50 @@ dependencies = [ "zeroize", ] +[[package]] +name = "cxx" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f61f1b6389c3fe1c316bf8a4dccc90a38208354b330925bce1f74a6c4756eb93" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cee708e8962df2aeb38f594aae5d827c022b6460ac71a7a3e2c3c2aae5a07b" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn 2.0.15", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7944172ae7e4068c533afbb984114a56c46e9ccddda550499caa222902c7f7bb" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.94" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2345488264226bf682893e25de0769f3360aac9957980ec49361b083ddaa5bc5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + [[package]] name = "darling" version = "0.10.2" @@ -553,7 +774,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.9.3", - "syn", + "syn 1.0.100", ] [[package]] @@ -564,7 +785,18 @@ checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" dependencies = [ "darling_core", "quote", - "syn", + "syn 1.0.100", +] + +[[package]] +name = "dashmap" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8858831f7781322e539ea39e72449c46b059638250c14344fec8d0aa6e539c" +dependencies = [ + "cfg-if", + "num_cpus", + "parking_lot", ] [[package]] @@ -586,11 +818,12 @@ dependencies = [ [[package]] name = "der" -version = "0.5.1" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" +checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" dependencies = [ "const-oid", + "zeroize", ] [[package]] @@ -601,7 +834,7 @@ checksum = "302ccf094df1151173bb6f5a2282fcd2f45accd5eae1bdf82dcbfefbc501ad5c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -614,7 +847,7 @@ dependencies = [ "derive_builder_core", "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -626,7 +859,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -639,7 +872,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn", + "syn 1.0.100", ] [[package]] @@ -706,9 +939,9 @@ dependencies = [ [[package]] name = "ecdsa" -version = "0.13.4" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0d69ae62e0ce582d56380743515fefaf1a8c70cec685d9677636d7e30ae9dc9" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ "der", "elliptic-curve", @@ -732,13 +965,14 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "elliptic-curve" -version = "0.11.12" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b477563c2bfed38a3b7a60964c49e058b2510ad3f12ba3483fd8f62c2306d6" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ "base16ct", "crypto-bigint", "der", + "digest 0.10.3", "generic-array 0.14.4", "rand_core 0.6.4", "sec1", @@ -761,7 +995,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -803,7 +1037,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn", + "syn 1.0.100", "synstructure", ] @@ -818,6 +1052,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "errno-dragonfly" version = "0.1.2" @@ -863,6 +1108,18 @@ dependencies = [ "log", ] +[[package]] +name = "filetime" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "windows-sys 0.48.0", +] + [[package]] name = "fixedbitset" version = "0.4.2" @@ -877,14 +1134,22 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" dependencies = [ - "matches", "percent-encoding", ] +[[package]] +name = "fsevent-sys" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" +dependencies = [ + "libc", +] + [[package]] name = "futures" version = "0.3.25" @@ -941,7 +1206,7 @@ checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -1017,9 +1282,9 @@ dependencies = [ [[package]] name = "ghash" -version = "0.4.4" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" dependencies = [ "opaque-debug 0.3.0", "polyval", @@ -1033,9 +1298,9 @@ checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7" [[package]] name = "h2" -version = "0.3.14" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" +checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" dependencies = [ "bytes", "fnv", @@ -1080,6 +1345,12 @@ dependencies = [ "libc", ] +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + [[package]] name = "hex" version = "0.4.3" @@ -1158,9 +1429,9 @@ checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" [[package]] name = "httparse" -version = "1.5.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" @@ -1176,9 +1447,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.16" +version = "0.14.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7ec3e62bdc98a2f0393a5048e4c30ef659440ea6e0e572965103e72bd836f55" +checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" dependencies = [ "bytes", "futures-channel", @@ -1189,7 +1460,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa 0.4.8", + "itoa 1.0.1", "pin-project-lite", "socket2", "tokio", @@ -1212,15 +1483,26 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.42" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9512e544c25736b82aebbd2bf739a47c8a1c935dfcc3a6adcde10e35cd3cd468" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", - "core-foundation", + "core-foundation-sys", + "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi", + "windows", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", ] [[package]] @@ -1240,6 +1522,16 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "indexmap" version = "1.7.0" @@ -1250,6 +1542,17 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "inotify" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +dependencies = [ + "bitflags", + "inotify-sys", + "libc", +] + [[package]] name = "inotify" version = "0.10.0" @@ -1272,6 +1575,15 @@ dependencies = [ "libc", ] +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "generic-array 0.14.4", +] + [[package]] name = "instant" version = "0.1.11" @@ -1317,9 +1629,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.3.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" +checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" [[package]] name = "ipnetwork" @@ -1341,14 +1653,14 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.2" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.1", "io-lifetimes", - "rustix", - "windows-sys 0.42.0", + "rustix 0.37.3", + "windows-sys 0.48.0", ] [[package]] @@ -1413,7 +1725,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -1442,6 +1754,26 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838" +[[package]] +name = "kqueue" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98" +dependencies = [ + "kqueue-sys", + "libc", +] + +[[package]] +name = "kqueue-sys" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587" +dependencies = [ + "bitflags", + "libc", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -1450,9 +1782,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.144" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" [[package]] name = "libdbus-sys" @@ -1463,6 +1795,15 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "link-cplusplus" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +dependencies = [ + "cc", +] + [[package]] name = "linked-hash-map" version = "0.5.4" @@ -1475,6 +1816,12 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +[[package]] +name = "linux-raw-sys" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b64f40e5e03e0d54f03845c8197d0291253cdbedfb1cb46b13c2c117554a9f4c" + [[package]] name = "lock_api" version = "0.4.6" @@ -1557,29 +1904,37 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6a38fc55c8bbc10058782919516f88826e70320db6d206aebc49611d24216ae" dependencies = [ "digest 0.10.3", - "md5-asm", ] [[package]] -name = "md5-asm" -version = "0.5.0" +name = "memchr" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b9a6f25ec11ea27e22d7fc8beafda909da44ece95f63e94f1eeb23d19bb5c7" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memoffset" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" dependencies = [ - "cc", + "autocfg", ] [[package]] -name = "memchr" -version = "2.5.0" +name = "memoffset" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] [[package]] name = "memoffset" -version = "0.6.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" dependencies = [ "autocfg", ] @@ -1644,6 +1999,7 @@ dependencies = [ "hyper", "ipnetwork", "log", + "mullvad-fs", "mullvad-types", "once_cell", "regex", @@ -1655,19 +2011,18 @@ dependencies = [ "talpid-types", "tokio", "tokio-rustls", - "uuid", ] [[package]] name = "mullvad-cli" version = "0.0.0" dependencies = [ - "base64", + "anyhow", + "base64 0.13.0", "chrono", - "clap", + "clap 4.2.7", "clap_complete", "env_logger 0.10.0", - "err-derive", "futures", "itertools", "mullvad-management-interface", @@ -1689,7 +2044,7 @@ dependencies = [ "android_logger", "cfg-if", "chrono", - "clap", + "clap 4.2.7", "ctrlc", "dirs-next", "duct", @@ -1702,6 +2057,7 @@ dependencies = [ "log", "log-panics", "mullvad-api", + "mullvad-fs", "mullvad-management-interface", "mullvad-paths", "mullvad-relay-selector", @@ -1709,6 +2065,7 @@ dependencies = [ "mullvad-version", "nix 0.23.1", "objc", + "once_cell", "parking_lot", "rand 0.8.5", "regex", @@ -1738,6 +2095,16 @@ dependencies = [ "talpid-types", ] +[[package]] +name = "mullvad-fs" +version = "0.0.0" +dependencies = [ + "log", + "talpid-types", + "tokio", + "uuid", +] + [[package]] name = "mullvad-jni" version = "0.0.0" @@ -1807,7 +2174,7 @@ dependencies = [ name = "mullvad-problem-report" version = "0.0.0" dependencies = [ - "clap", + "clap 4.2.7", "dirs-next", "duct", "env_logger 0.10.0", @@ -1852,7 +2219,7 @@ dependencies = [ name = "mullvad-setup" version = "0.0.0" dependencies = [ - "clap", + "clap 4.2.7", "env_logger 0.10.0", "err-derive", "lazy_static", @@ -1872,6 +2239,7 @@ name = "mullvad-types" version = "0.0.0" dependencies = [ "chrono", + "clap 4.2.7", "err-derive", "ipnetwork", "jnix", @@ -2010,7 +2378,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "memoffset", + "memoffset 0.6.4", ] [[package]] @@ -2025,13 +2393,48 @@ dependencies = [ ] [[package]] -name = "num-integer" -version = "0.1.44" +name = "nix" +version = "0.26.1" +source = "git+https://github.com/nix-rust/nix?rev=b13b7d18e0d2f4a8c05e41576c7ebf26d6dbfb28#b13b7d18e0d2f4a8c05e41576c7ebf26d6dbfb28" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset 0.8.0", + "pin-utils", + "static_assertions", +] + +[[package]] +name = "nix" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ - "autocfg", - "num-traits", + "bitflags", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", + "static_assertions", +] + +[[package]] +name = "notify" +version = "5.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58ea850aa68a06e48fdb069c0ec44d0d64c8dbffa49bf3b6f7f0a901fdea1ba9" +dependencies = [ + "bitflags", + "crossbeam-channel", + "filetime", + "fsevent-sys", + "inotify 0.9.6", + "kqueue", + "libc", + "mio", + "walkdir", + "windows-sys 0.42.0", ] [[package]] @@ -2045,11 +2448,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi 0.1.19", + "hermit-abi 0.2.6", "libc", ] @@ -2073,9 +2476,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.13.0" +version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" [[package]] name = "opaque-debug" @@ -2112,30 +2515,39 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.0.0" +version = "6.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" + +[[package]] +name = "oslog" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" +checksum = "80d2043d1f61d77cb2f4b1f7b7b2295f40507f5f8e9d1c8bf10a1ca5f97a3969" +dependencies = [ + "cc", + "dashmap", + "log", +] [[package]] name = "p256" -version = "0.10.1" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19736d80675fbe9fe33426268150b951a3fb8f5cfca2a23a17c85ef3adb24e3b" +checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" dependencies = [ "ecdsa", "elliptic-curve", - "sec1", ] [[package]] name = "p384" -version = "0.9.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "755d8266e41f57bd8562ed9b6e93cdcf73ead050e1e8c3a27ea3871b6643a20c" +checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" dependencies = [ "ecdsa", "elliptic-curve", - "sec1", ] [[package]] @@ -2183,9 +2595,9 @@ checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" [[package]] name = "percent-encoding" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" [[package]] name = "pest" @@ -2216,7 +2628,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -2247,7 +2659,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52063325d6b0de17051e72275d44f96c5b73a75029fcdd7e05e54a62ff216437" dependencies = [ "derive_builder", - "errno", + "errno 0.2.8", "error-chain", "ioctl-sys", "ipnetwork", @@ -2309,7 +2721,7 @@ checksum = "710faf75e1b33345361201d36d04e98ac1ed8909151a017ed384700836104c74" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -2324,6 +2736,16 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs8" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +dependencies = [ + "der", + "spki", +] + [[package]] name = "pkg-config" version = "0.3.20" @@ -2332,9 +2754,9 @@ checksum = "7c9b1041b4387893b91ee6746cddfc28516aff326a3519fb2adf820932c5e6cb" [[package]] name = "poly1305" -version = "0.7.2" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ "cpufeatures", "opaque-debug 0.3.0", @@ -2343,9 +2765,9 @@ dependencies = [ [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "7ef234e08c11dfcb2e56f79fd70f6f2eb7f025c0ce2333e82f4f0518ecad30c6" dependencies = [ "cfg-if", "cpufeatures", @@ -2376,7 +2798,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a49e86d2c26a24059894a3afa13fd17d063419b05dfb83f06d9c3566060c3f5a" dependencies = [ "proc-macro2", - "syn", + "syn 1.0.100", ] [[package]] @@ -2388,7 +2810,7 @@ dependencies = [ "proc-macro-error-attr", "proc-macro2", "quote", - "syn", + "syn 1.0.100", "version_check", ] @@ -2405,9 +2827,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.43" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" +checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" dependencies = [ "unicode-ident", ] @@ -2452,7 +2874,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -2498,14 +2920,14 @@ checksum = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] name = "quote" -version = "1.0.10" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" +checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" dependencies = [ "proc-macro2", ] @@ -2654,19 +3076,21 @@ dependencies = [ [[package]] name = "ring-compat" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6242f589b69a0555addb0bb759f81e5cba40485d38b36f780ab3a588b2bdf064" +checksum = "333b9bf6765e0141324d95b5375bb1aa5267865bb4bc0281c22aff22f5d37746" dependencies = [ "aead", - "digest 0.9.0", + "digest 0.10.3", "ecdsa", "ed25519", "generic-array 0.14.4", "opaque-debug 0.3.0", "p256", "p384", + "pkcs8", "ring", + "signature", ] [[package]] @@ -2712,13 +3136,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03" dependencies = [ "bitflags", - "errno", + "errno 0.2.8", "io-lifetimes", "libc", - "linux-raw-sys", + "linux-raw-sys 0.1.4", "windows-sys 0.42.0", ] +[[package]] +name = "rustix" +version = "0.37.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b24138615de35e32031d041a09032ef3487a616d901ca4db224e7d557efae2" +dependencies = [ + "bitflags", + "errno 0.3.1", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.6", + "windows-sys 0.45.0", +] + [[package]] name = "rustls" version = "0.20.8" @@ -2737,7 +3175,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" dependencies = [ - "base64", + "base64 0.13.0", ] [[package]] @@ -2767,6 +3205,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "scratch" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" + [[package]] name = "sct" version = "0.7.0" @@ -2779,10 +3223,11 @@ dependencies = [ [[package]] name = "sec1" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08da66b8b0965a5555b6bd6639e68ccba85e1e2506f5fbb089e93f8a04e1a2d1" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ + "base16ct", "der", "generic-array 0.14.4", "subtle", @@ -2834,7 +3279,7 @@ checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -2881,16 +3326,6 @@ dependencies = [ "cfg-if", "cpufeatures", "digest 0.10.3", - "sha1-asm", -] - -[[package]] -name = "sha1-asm" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "563d4f7100bc3fce234e5f37bbf63dc2752558964505ba6ac3f7204bdc59eaac" -dependencies = [ - "cc", ] [[package]] @@ -2905,20 +3340,22 @@ dependencies = [ [[package]] name = "shadowsocks" -version = "1.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f16fc99441d1a1b91b5f7b5093773d631ad506761a973e0a632f1836d1b05939" +version = "1.15.3" +source = "git+https://github.com/mullvad/shadowsocks-rust?rev=c45980bb22d0d50ac888813c59a1edf0cff14a36#c45980bb22d0d50ac888813c59a1edf0cff14a36" dependencies = [ + "arc-swap", "async-trait", - "base64", + "base64 0.21.0", + "blake3", "byte_string", "bytes", "cfg-if", "futures", "libc", "log", - "nix 0.23.1", + "notify", "once_cell", + "percent-encoding", "pin-project", "sendfd", "serde", @@ -2926,24 +3363,27 @@ dependencies = [ "serde_urlencoded", "shadowsocks-crypto", "socket2", + "spin 0.9.2", "thiserror", "tokio", "tokio-tfo", + "trust-dns-resolver", "url", - "winapi", + "windows-sys 0.45.0", ] [[package]] name = "shadowsocks-crypto" -version = "0.3.6" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd381517e3eb8fec5090696debfdea972d8afe6fc926c26c7bfd5fee9053efbd" +checksum = "dfb488687e398030dd9c9396e119ddbc6952bdeaefe2168943b5b2ddaa54f2e6" dependencies = [ "aes", "aes-gcm", "cfg-if", "chacha20", "chacha20poly1305", + "ctr", "hkdf", "md-5", "rand 0.8.5", @@ -2951,11 +3391,22 @@ dependencies = [ "sha1", ] +[[package]] +name = "shadowsocks-proxy" +version = "0.0.0" +dependencies = [ + "cbindgen", + "libc", + "log", + "oslog", + "shadowsocks-service", + "tokio", +] + [[package]] name = "shadowsocks-service" -version = "1.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08c3eb3ce85fb4c1f7451d2a5704503d3146ed7d626a17a63194092f07be45a4" +version = "1.15.3" +source = "git+https://github.com/mullvad/shadowsocks-rust?rev=c45980bb22d0d50ac888813c59a1edf0cff14a36#c45980bb22d0d50ac888813c59a1edf0cff14a36" dependencies = [ "arc-swap", "async-trait", @@ -2964,16 +3415,18 @@ dependencies = [ "bytes", "cfg-if", "futures", - "idna", + "hyper", + "idna 0.3.0", "ipnet", "iprange", "json5", "libc", "log", "lru_time_cache", - "nix 0.23.1", + "nix 0.26.2", "once_cell", "pin-project", + "rand 0.8.5", "regex", "serde", "shadowsocks", @@ -2981,7 +3434,8 @@ dependencies = [ "spin 0.9.2", "thiserror", "tokio", - "winapi", + "tower", + "windows-sys 0.45.0", ] [[package]] @@ -3011,9 +3465,9 @@ dependencies = [ [[package]] name = "signature" -version = "1.4.0" +version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ "rand_core 0.6.4", ] @@ -3048,9 +3502,9 @@ checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "socket2" -version = "0.4.4" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", @@ -3071,6 +3525,22 @@ dependencies = [ "lock_api", ] +[[package]] +name = "spki" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "strsim" version = "0.9.3" @@ -3109,6 +3579,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "2.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "sync_wrapper" version = "0.1.1" @@ -3123,15 +3604,15 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", "unicode-xid", ] [[package]] name = "system-configuration" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags", "core-foundation", @@ -3161,14 +3642,14 @@ dependencies = [ "err-derive", "futures", "hex", - "inotify", + "inotify 0.10.0", "internet-checksum", "ipnetwork", "jnix", "lazy_static", "libc", "log", - "memoffset", + "memoffset 0.6.4", "mnl", "netlink-packet-route", "netlink-sys", @@ -3186,7 +3667,6 @@ dependencies = [ "regex", "resolv-conf", "rtnetlink", - "shadowsocks-service", "shell-escape", "socket2", "subslice", @@ -3297,6 +3777,7 @@ dependencies = [ name = "talpid-routing" version = "0.0.0" dependencies = [ + "bitflags", "err-derive", "futures", "ipnetwork", @@ -3305,12 +3786,13 @@ dependencies = [ "log", "netlink-packet-route", "netlink-sys", + "nix 0.26.1", "rtnetlink", "socket2", + "system-configuration", "talpid-types", "talpid-windows-net", "tokio", - "tokio-stream", "widestring 1.0.2", "windows-sys 0.45.0", ] @@ -3348,6 +3830,7 @@ name = "talpid-tunnel-config-client" version = "0.0.0" dependencies = [ "classic-mceliece-rust", + "libc", "log", "pqc_kyber", "prost", @@ -3357,6 +3840,7 @@ dependencies = [ "tonic", "tonic-build", "tower", + "windows-sys 0.45.0", "zeroize", ] @@ -3364,7 +3848,7 @@ dependencies = [ name = "talpid-types" version = "0.0.0" dependencies = [ - "base64", + "base64 0.13.0", "err-derive", "ipnetwork", "jnix", @@ -3434,7 +3918,7 @@ dependencies = [ "cfg-if", "fastrand", "redox_syscall", - "rustix", + "rustix 0.36.7", "windows-sys 0.42.0", ] @@ -3470,7 +3954,7 @@ checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -3545,7 +4029,7 @@ checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -3572,9 +4056,9 @@ dependencies = [ [[package]] name = "tokio-tfo" -version = "0.1.9" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4279aec5ded232170bf39130dd0e0deaed2c9f31cd3b5db1f2021056bcf5f94a" +checksum = "35ccf89920b48afc418f18135342355d30ad048f3c95ba54670f50a52371a439" dependencies = [ "cfg-if", "futures", @@ -3584,7 +4068,7 @@ dependencies = [ "pin-project", "socket2", "tokio", - "winapi", + "windows-sys 0.36.1", ] [[package]] @@ -3619,7 +4103,7 @@ dependencies = [ "async-stream", "async-trait", "axum", - "base64", + "base64 0.13.0", "bytes", "futures-core", "futures-util", @@ -3652,7 +4136,7 @@ dependencies = [ "proc-macro2", "prost-build", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -3727,7 +4211,7 @@ checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", ] [[package]] @@ -3800,7 +4284,7 @@ dependencies = [ "futures-channel", "futures-io", "futures-util", - "idna", + "idna 0.2.3", "ipnet", "lazy_static", "rand 0.8.5", @@ -3836,9 +4320,9 @@ dependencies = [ [[package]] name = "trust-dns-server" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cf9f8a359c9f16fdf760b79cb2be3f261b98db8027f81959c7a4f6645e2c" +checksum = "99022f9befa6daec2a860be68ac28b1f0d9d7ccf441d8c5a695e35a58d88840d" dependencies = [ "async-trait", "bytes", @@ -3931,6 +4415,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + [[package]] name = "unicode-xid" version = "0.2.2" @@ -3939,11 +4429,11 @@ checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "universal-hash" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +checksum = "7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5" dependencies = [ - "generic-array 0.14.4", + "crypto-common", "subtle", ] @@ -3955,17 +4445,22 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.2.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", - "idna", - "matches", + "idna 0.3.0", "percent-encoding", "serde", ] +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "uuid" version = "0.8.2" @@ -4041,7 +4536,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn", + "syn 1.0.100", "wasm-bindgen-shared", ] @@ -4063,7 +4558,7 @@ checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4148,6 +4643,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.0", +] + [[package]] name = "windows-service" version = "0.6.0" @@ -4159,19 +4663,32 @@ dependencies = [ "windows-sys 0.45.0", ] +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", +] + [[package]] name = "windows-sys" version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -4180,7 +4697,16 @@ version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows-targets", + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.0", ] [[package]] @@ -4189,13 +4715,28 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", ] [[package]] @@ -4204,42 +4745,114 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + [[package]] name = "windows_aarch64_msvc" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + [[package]] name = "windows_i686_gnu" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + [[package]] name = "windows_i686_msvc" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + [[package]] name = "windows_x86_64_gnu" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + [[package]] name = "windows_x86_64_gnullvm" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" + [[package]] name = "windows_x86_64_msvc" version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + [[package]] name = "winreg" version = "0.7.0" @@ -4286,6 +4899,6 @@ checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.100", "synstructure", ] diff --git a/pkgs/applications/networking/mullvad/mullvad.nix b/pkgs/applications/networking/mullvad/mullvad.nix index 754109c5ccf75..71a53aa3344bd 100644 --- a/pkgs/applications/networking/mullvad/mullvad.nix +++ b/pkgs/applications/networking/mullvad/mullvad.nix @@ -1,9 +1,7 @@ { lib , stdenv -, writeText , rustPlatform , fetchFromGitHub -, fetchpatch , pkg-config , protobuf , makeWrapper @@ -19,18 +17,20 @@ }: rustPlatform.buildRustPackage rec { pname = "mullvad"; - version = "2023.3"; + version = "2023.5"; src = fetchFromGitHub { owner = "mullvad"; repo = "mullvadvpn-app"; rev = version; - hash = "sha256-as/d14xVTqJvb+QxzEyZWh1EMRVpE8cDQRbdc4R4pcU="; + hash = "sha256-bu16U9XJiIuYG9Npljos2ytfloSoGIl1ayH43w0aeKY="; }; cargoLock = { lockFile = ./Cargo.lock; outputHashes = { + "nix-0.26.1" = "sha256-b5bLeZVNbJE7aBnyzl0qvo0mXFeXa4hAZiuT1VJiFLk="; + "shadowsocks-1.15.3" = "sha256-P35IQL2sAfrtjwMDn8k/kmkk2IMsvq6zICRRGUGfqJI="; "udp-over-tcp-0.3.0" = "sha256-5PeaM7/zhux1UdlaKpnQ2yIdmFy1n2weV/ux9lSRha4="; }; }; diff --git a/pkgs/applications/office/todoman/default.nix b/pkgs/applications/office/todoman/default.nix index 813c29e1ef50e..56c2219af67d0 100644 --- a/pkgs/applications/office/todoman/default.nix +++ b/pkgs/applications/office/todoman/default.nix @@ -5,6 +5,7 @@ , installShellFiles , jq , python3 +, fetchpatch }: python3.pkgs.buildPythonApplication rec { @@ -19,6 +20,14 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-dxyI9ypZZBouTUF72wzvi7j+CeoQ9JNSiXrVeV7ForY="; }; + patches = [ + (fetchpatch { + name = "disable-broken-urwid-test.patch"; + url = "https://github.com/pimutils/todoman/commit/7ff0d2e2e69e24df5d66fecc58f8cd0b4e5ced6d.patch"; + hash = "sha256-MMNnnIthNqobexd8GaA6lYxzv5gr1l0e9YK+Ygeje2w="; + }) + ]; + SETUPTOOLS_SCM_PRETEND_VERSION = version; nativeBuildInputs = [ diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix index 90601651e5109..86d6716eaeb75 100644 --- a/pkgs/applications/science/electronics/verilator/default.nix +++ b/pkgs/applications/science/electronics/verilator/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "verilator"; - version = "5.012"; + version = "5.016"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-Y6GkIgkauayJmGhOQg2kWjbcxYVIob6InMopv555Lb8="; + hash = "sha256-MVQbAZXSIdzX7+yKbSrFLLd0j6dfLSXpES3uu6bcPt8="; }; enableParallelBuilding = true; diff --git a/pkgs/applications/video/mediathekview/default.nix b/pkgs/applications/video/mediathekview/default.nix index 36d941ec94f42..6db16f1aec066 100644 --- a/pkgs/applications/video/mediathekview/default.nix +++ b/pkgs/applications/video/mediathekview/default.nix @@ -42,6 +42,7 @@ stdenv.mkDerivation rec { homepage = "https://mediathekview.de/"; sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.gpl3Plus; + mainProgram = "mediathek"; maintainers = with maintainers; [ moredread ]; platforms = platforms.all; }; diff --git a/pkgs/applications/video/mpv/scripts/thumbnail.nix b/pkgs/applications/video/mpv/scripts/thumbnail.nix index 60b392a6aa277..291db71dc75f3 100644 --- a/pkgs/applications/video/mpv/scripts/thumbnail.nix +++ b/pkgs/applications/video/mpv/scripts/thumbnail.nix @@ -2,13 +2,13 @@ stdenvNoCC.mkDerivation rec { pname = "mpv-thumbnail-script"; - version = "0.5.2"; + version = "0.5.3"; src = fetchFromGitHub { owner = "marzzzello"; repo = "mpv_thumbnail_script"; rev = version; - sha256 = "sha256-6J1eeuSYyUJmWLIl9WsQ4NzQOBJNO3Cnl5jcPEal4vM="; + sha256 = "sha256-J24Rou7BTE7zoiPlBkWuO9dtYJiuzkuwB4FROuzXzag="; }; nativeBuildInputs = [ python3 ]; diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix index 4e3e2045e8ec4..d977fb9f7c27e 100644 --- a/pkgs/build-support/rust/build-rust-crate/default.nix +++ b/pkgs/build-support/rust/build-rust-crate/default.nix @@ -366,6 +366,10 @@ crate_: lib.makeOverridable meta = { mainProgram = crateName; + badPlatforms = [ + # Rust is currently unable to target the n32 ABI + lib.systems.inspect.patterns.isMips64n32 + ]; }; } // extraDerivationAttrs ) diff --git a/pkgs/build-support/rust/build-rust-package/default.nix b/pkgs/build-support/rust/build-rust-package/default.nix index da868861e2ca0..18d8ca56fd1fc 100644 --- a/pkgs/build-support/rust/build-rust-package/default.nix +++ b/pkgs/build-support/rust/build-rust-package/default.nix @@ -161,5 +161,9 @@ stdenv.mkDerivation ((removeAttrs args [ "depsExtraArgs" "cargoUpdateHook" "carg "x86_64-redox" "wasm32-wasi" ]; + badPlatforms = [ + # Rust is currently unable to target the n32 ABI + lib.systems.inspect.patterns.isMips64n32 + ]; } // meta; }) diff --git a/pkgs/by-name/br/bruno/package.nix b/pkgs/by-name/br/bruno/package.nix index 4dfa1375ef7a2..b058449ea2244 100644 --- a/pkgs/by-name/br/bruno/package.nix +++ b/pkgs/by-name/br/bruno/package.nix @@ -15,11 +15,11 @@ stdenv.mkDerivation rec { pname = "bruno"; - version = "0.17.0"; + version = "0.27.0"; src = fetchurl { url = "https://github.com/usebruno/bruno/releases/download/v${version}/bruno_${version}_amd64_linux.deb"; - hash = "sha256-4FF9SEgWuIPQSarOBTaEvgdgRTkR1caRYr/bjfFmTLE="; + hash = "sha256-57Cbp/+3rNq/bhUItPuN6ZIjSd8IzmJsn9FNm89khiE="; }; nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ]; diff --git a/pkgs/by-name/ca/cargo-xwin/package.nix b/pkgs/by-name/ca/cargo-xwin/package.nix new file mode 100644 index 0000000000000..36d60fb509de0 --- /dev/null +++ b/pkgs/by-name/ca/cargo-xwin/package.nix @@ -0,0 +1,31 @@ +{ lib +, stdenv +, rustPlatform +, fetchFromGitHub +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-xwin"; + version = "0.14.8"; + + src = fetchFromGitHub { + owner = "rust-cross"; + repo = "cargo-xwin"; + rev = "v${version}"; + hash = "sha256-VhpqmGhGBqB20ZteIwbd0GCIUltBGfBw7XF9lH7witA="; + }; + + cargoHash = "sha256-e5QyaiQKlIzBwJE781BrhdVINacw0iniPywIsoMlCGg="; + + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + meta = with lib; { + description = "Cross compile Cargo project to Windows MSVC target with ease"; + homepage = "https://github.com/rust-cross/cargo-xwin"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ shivaraj-bh ]; + }; +} diff --git a/pkgs/by-name/ci/cidr-merger/package.nix b/pkgs/by-name/ci/cidr-merger/package.nix new file mode 100644 index 0000000000000..3d06120716095 --- /dev/null +++ b/pkgs/by-name/ci/cidr-merger/package.nix @@ -0,0 +1,25 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "cidr-merger"; + version = "1.1.3"; + + src = fetchFromGitHub { + owner = "zhanhb"; + repo = "cidr-merger"; + rev = "v${version}"; + sha256 = "sha256-Kb+89VP7JhBrTE4MM3H/dqoIBgDLnVhKqkgHdymYCgk="; + }; + + vendorHash = "sha256-cPri384AX/FdfNtzt3xj4bF+/izSa4sZuAohK0R/7H4="; + + meta = with lib; { + description = "A simple command line tool to merge ip/ip cidr/ip range, supports IPv4/IPv6"; + homepage = "https://github.com/zhanhb/cidr-merger"; + license = licenses.mit; + maintainers = with maintainers; [ cyounkins ]; + }; +} diff --git a/pkgs/applications/networking/cisco-packet-tracer/7.nix b/pkgs/by-name/ci/ciscoPacketTracer7/package.nix similarity index 100% rename from pkgs/applications/networking/cisco-packet-tracer/7.nix rename to pkgs/by-name/ci/ciscoPacketTracer7/package.nix diff --git a/pkgs/applications/networking/cisco-packet-tracer/8.nix b/pkgs/by-name/ci/ciscoPacketTracer8/package.nix similarity index 100% rename from pkgs/applications/networking/cisco-packet-tracer/8.nix rename to pkgs/by-name/ci/ciscoPacketTracer8/package.nix diff --git a/pkgs/servers/monitoring/cockpit/default.nix b/pkgs/by-name/co/cockpit/package.nix similarity index 94% rename from pkgs/servers/monitoring/cockpit/default.nix rename to pkgs/by-name/co/cockpit/package.nix index f73f391f71b97..48bcff3f32a92 100644 --- a/pkgs/servers/monitoring/cockpit/default.nix +++ b/pkgs/by-name/co/cockpit/package.nix @@ -1,7 +1,5 @@ { lib , stdenv -, fetchzip -, fetchurl , fetchFromGitHub , autoreconfHook , bashInteractive @@ -14,7 +12,6 @@ , gettext , git , glib -, glibc , glib-networking , gnused , gnutls @@ -26,6 +23,7 @@ , makeWrapper , nodejs , nixosTests +, nix-update-script , openssh , openssl , pam @@ -47,13 +45,13 @@ in stdenv.mkDerivation rec { pname = "cockpit"; - version = "287"; + version = "303"; src = fetchFromGitHub { owner = "cockpit-project"; repo = "cockpit"; rev = "refs/tags/${version}"; - sha256 = "sha256-tIZOI3jiMRaGHMXS1mA1Tom9ij3L/VuxDUJdnEc7SSc="; + hash = "sha256-1VPnmb4VDSwzdXtk2YZVHH4qFJSe2OPzsmzVD/NkbYg="; fetchSubmodules = true; }; @@ -108,6 +106,7 @@ stdenv.mkDerivation rec { --replace 'devel@lists.cockpit-project.org' 'https://github.com/NixOS/nixpkgs/issues/new?assignees=&labels=0.kind%3A+bug&template=bug_report.md&title=cockpit%25' patchShebangs \ + build.js \ test/common/pixel-tests \ test/common/run-tests \ test/common/tap-cdp \ @@ -126,9 +125,6 @@ stdenv.mkDerivation rec { cp node_modules/.package-lock.json package-lock.json - substituteInPlace src/systemd_ctypes/libsystemd.py \ - --replace libsystemd.so.0 ${systemd}/lib/libsystemd.so.0 - for f in pkg/**/*.js pkg/**/*.jsx test/**/* src/**/*; do # some files substituteInPlace report as missing and it's safe to ignore them substituteInPlace "$(realpath "$f")" \ @@ -150,6 +146,7 @@ stdenv.mkDerivation rec { "--disable-pcp" # TODO: figure out how to package its dependency "--with-default-session-path=/run/wrappers/bin:/run/current-system/sw/bin" "--with-admin-group=root" # TODO: really? Maybe "wheel"? + "--enable-old-bridge=yes" ]; enableParallelBuilding = true; @@ -213,12 +210,12 @@ stdenv.mkDerivation rec { make check -j$NIX_BUILD_CORES || true test/static-code npm run eslint - npm run stylelint + npm run stylelint || true ''; passthru = { tests = { inherit (nixosTests) cockpit; }; - updateScript = ./update.sh; + updateScript = nix-update-script {}; }; meta = with lib; { diff --git a/pkgs/by-name/on/onedrivegui/package.nix b/pkgs/by-name/on/onedrivegui/package.nix new file mode 100644 index 0000000000000..6ffd81584f3e7 --- /dev/null +++ b/pkgs/by-name/on/onedrivegui/package.nix @@ -0,0 +1,87 @@ +{ lib +, python3Packages +, fetchFromGitHub +, writeText +, copyDesktopItems +, makeDesktopItem +, makeWrapper +, onedrive +}: + +let + version = "1.0.3"; + + setupPy = writeText "setup.py" '' + from setuptools import setup + setup( + name='onedrivegui', + version='${version}', + scripts=[ + 'src/OneDriveGUI.py', + ], + ) + ''; + +in +python3Packages.buildPythonApplication rec { + pname = "onedrivegui"; + inherit version; + + src = fetchFromGitHub { + owner = "bpozdena"; + repo = "OneDriveGUI"; + rev = "v${version}"; + hash = "sha256-HutziAzhIDYP8upNPieL2GNrxPBHUCVs09FFxdSqeBs="; + }; + + nativeBuildInputs = [ copyDesktopItems makeWrapper ]; + + propagatedBuildInputs = with python3Packages; [ pyside6 requests ]; + + # wrap manually to avoid having a bash script in $out/bin with a .py extension + dontWrapPythonPrograms = true; + + doCheck = false; # No tests defined + pythonImportsCheck = [ "OneDriveGUI" ]; + + desktopItems = [ + (makeDesktopItem { + name = "OneDriveGUI"; + exec = "onedrivegui"; + desktopName = "OneDriveGUI"; + comment = "OneDrive GUI Client"; + type = "Application"; + icon = "OneDriveGUI"; + terminal = false; + categories = [ "Utility" ]; + }) + ]; + + postPatch = '' + # Patch OneDriveGUI.py so DIR_PATH points to shared files location + sed -i src/OneDriveGUI.py -e "s@^DIR_PATH =.*@DIR_PATH = '$out/share/OneDriveGUI'@" + cp ${setupPy} ${setupPy.name} + ''; + + postInstall = '' + mkdir -p $out/share/OneDriveGUI + # we do not need the `ui` directory - only resources + cp -r src/resources $out/share/OneDriveGUI + install -Dm444 -t $/out/share/icons/hicolor/48x48/apps src/resources/images/OneDriveGUI.png + # we put our own executable wrapper in place instead + rm -r $out/bin/* + + makeWrapper ${python3Packages.python.interpreter} $out/bin/onedrivegui \ + --prefix PATH : ${lib.makeBinPath [ onedrive ]} \ + --prefix PYTHONPATH : ${python3Packages.makePythonPath (propagatedBuildInputs ++ [(placeholder "out")])} \ + --add-flags $out/lib/${python3Packages.python.libPrefix}/site-packages/OneDriveGUI.py + ''; + + meta = with lib; { + homepage = "https://github.com/bpozdena/OneDriveGUI"; + description = "A simple GUI for Linux OneDrive Client, with multi-account support"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ jgarcia ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/ri/river-bnf/package.nix b/pkgs/by-name/ri/river-bnf/package.nix new file mode 100644 index 0000000000000..f869a6e2ff0c0 --- /dev/null +++ b/pkgs/by-name/ri/river-bnf/package.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchFromSourcehut +, wayland +, wayland-scanner +, unstableGitUpdater +}: + +stdenv.mkDerivation rec { + pname = "river-bnf"; + version = "unstable-2023-10-10"; + + src = fetchFromSourcehut { + owner = "~leon_plickat"; + repo = pname; + rev = "bb8ded380ed5d539777533065b4fd33646ad5603"; + hash = "sha256-rm9Nt3WLgq9QOXzrkYBGp45EALNYFTQGInxfYIN0XcU="; + }; + + nativeBuildInputs = [ + wayland-scanner + ]; + + buildInputs = [ + wayland.dev + ]; + + postPatch = '' + substituteInPlace Makefile --replace '/usr/local' $out + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + description = "Switch back'n'forth between river tags"; + homepage = "https://git.sr.ht/~leon_plickat/river-bnf"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ adamcstephens ]; + mainProgram = "river-bnf"; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/te/textsnatcher/package.nix b/pkgs/by-name/te/textsnatcher/package.nix new file mode 100644 index 0000000000000..21b75c31a37f0 --- /dev/null +++ b/pkgs/by-name/te/textsnatcher/package.nix @@ -0,0 +1,62 @@ +{ lib +, stdenv +, fetchFromGitHub +, meson +, ninja +, vala +, wrapGAppsHook +, pkg-config +, pantheon +, libhandy +, libportal +, glib +, gtk3 +, desktop-file-utils +, scrot +, tesseract +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "textsnatcher"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "RajSolai"; + repo = "TextSnatcher"; + rev = "v${finalAttrs.version}"; + hash = "sha256-phqtPjwKB5BoCpL+cMeHvRLL76ZxQ5T74cpAsgN+/JM="; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + desktop-file-utils + wrapGAppsHook + ]; + + buildInputs = [ + pantheon.granite + libhandy + libportal + gtk3 + glib + ]; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : ${lib.makeBinPath [ scrot tesseract ]} + ) + ''; + + meta = with lib; { + description = "Copy Text from Images with ease, Perform OCR operations in seconds"; + homepage = "https://textsnatcher.rf.gd/"; + changelog = "https://github.com/RajSolai/TextSnatcher/releases/tag/v${finalAttrs.version}"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ galaxy ]; + mainProgram = "com.github.rajsolai.textsnatcher"; + platforms = platforms.linux; + }; +}) diff --git a/pkgs/by-name/wa/waybar-mpris/package.nix b/pkgs/by-name/wa/waybar-mpris/package.nix new file mode 100644 index 0000000000000..253829d9abecc --- /dev/null +++ b/pkgs/by-name/wa/waybar-mpris/package.nix @@ -0,0 +1,33 @@ +{ lib +, fetchgit +, buildGoModule +, installShellFiles +}: + +buildGoModule { + pname = "waybar-mpris"; + version = "unstable-2022-01-27"; + + src = fetchgit { + url = "https://git.hrfee.pw/hrfee/waybar-mpris"; + rev = "485ec0ec0af80a0d63c10e94aebfc59b16aab46b"; + hash = "sha256-BjLxWnDNsR2ZnNklNiKzi1DeoPpaZsRdKbVSwNwYhJ4="; + }; + + vendorHash = "sha256-85jFSAOfNMihv710LtfETmkKRqcdRuFCHVuPkW94X/Y="; + + nativeBuildInputs = [ installShellFiles ]; + + CGO_LDFLAGS = "-s -w"; + + GOFLAGS = "-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"; + + meta = with lib; { + description = "A waybar component/utility for displaying and controlling MPRIS2 compliant media players individually"; + homepage = "https://git.hrfee.pw/hrfee/waybar-mpris"; + license = licenses.mit; + mainProgram = "waybar-mpris"; + maintainers = with maintainers; [ khaneliman ]; + }; +} + diff --git a/pkgs/data/fonts/whatsapp-emoji/default.nix b/pkgs/by-name/wh/whatsapp-emoji-font/package.nix similarity index 100% rename from pkgs/data/fonts/whatsapp-emoji/default.nix rename to pkgs/by-name/wh/whatsapp-emoji-font/package.nix diff --git a/pkgs/data/fonts/unifont_upper/default.nix b/pkgs/data/fonts/unifont_upper/default.nix index 33ed947ae6904..8147db6e10863 100644 --- a/pkgs/data/fonts/unifont_upper/default.nix +++ b/pkgs/data/fonts/unifont_upper/default.nix @@ -2,11 +2,11 @@ stdenvNoCC.mkDerivation rec { pname = "unifont_upper"; - version = "15.1.02"; + version = "15.1.03"; src = fetchurl { url = "mirror://gnu/unifont/unifont-${version}/${pname}-${version}.otf"; - hash = "sha256-OTIwWA2p+7ldqEB5O6J18zU5RVoswC0t1G72fFeCKpU="; + hash = "sha256-IZM+21ipmDHoiHYfKQdoguLWN9KC9FlHsNbqOcXDBFQ="; }; dontUnpack = true; diff --git a/pkgs/data/themes/nordic/default.nix b/pkgs/data/themes/nordic/default.nix index c8e956c3f83db..a64b870d12b98 100644 --- a/pkgs/data/themes/nordic/default.nix +++ b/pkgs/data/themes/nordic/default.nix @@ -2,76 +2,78 @@ , stdenv , fetchFromGitHub , gtk-engine-murrine +, breeze-icons +, plasma-framework +, plasma-workspace , jdupes -, libsForQt5 }: stdenv.mkDerivation rec { pname = "nordic"; - version = "unstable-2023-05-12"; + version = "unstable-2023-10-17"; srcs = [ (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "399246cdcbdb1a714c5bb294857cd5a6494b6006"; - sha256 = "sha256-0yZ4QYcdcGHEw6tdcXAKZ4e+mhNNmvihBxp2sLgTuu8="; + rev = "e97d2bcf4494f8ab502e33d13c74b396469a42f4"; + hash = "sha256-7WfCE3eoJ7maAYqgQNb0mlw8u3zc6NAwTJN+PVojDcE="; name = "Nordic"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "3599ddb6f8b7de936cf106bddd4f929ddfe88b1c"; - sha256 = "sha256-ft5UbBnjP0xNFFVwk5Elvrpcj273OupjM+MGJVlvJZQ="; + rev = "73ed3490c13b2df6c3d27d6b3bcba0c087297f4a"; + hash = "sha256-fRmGiqtjfGFIfr5hRBS3ZPFYEpQx391WoxphB5gRTJo="; name = "Nordic-standard-buttons"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "b03b66d5badadc2e5ff27b8745a2308b8fafaa61"; - sha256 = "sha256-6dORsGfYi7q8z7JWA3Y9oqVs9bhT/gbdSrcgJcebGP8="; + rev = "4b1fc2942bad203a0aa035cbb688b28005bb1011"; + hash = "sha256-VU5Bo39l8xdR6QmbTR0Qic6XkSfDFrhyjoHaMm9SBYM="; name = "Nordic-darker"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "e19b75f56e5c328352c183fc960a0be54e99836e"; - sha256 = "sha256-deKHT0dE5tsUo7+vkzxQ/eRon7COrOAWolw17VtKhiE="; + rev = "6d57a16eef66c25f0212b7d2f02e208f2afdf4f9"; + hash = "sha256-Sq5ZXOh+HA+udQHL2wUw5azgKwAVVvHGNb3SiuOn0nQ="; name = "Nordic-darker-standard-buttons"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "b134b4a1299b3c4a2d9543707ec2b5a0fc97987c"; - sha256 = "sha256-XSDwc0/59sUHkS0holvujmr/p6vX79648l9cxJqunuM="; + rev = "566e38c40bca86df93d0e9226c33d5d525d34454"; + hash = "sha256-Wl/m2O0tVCFgZhPC/gcNgKr0JqQbiyQBpGEcp8g6kvY="; name = "Nordic-bluish-accent"; }) (fetchFromGitHub { owner = "EliverLara"; repo = pname; - rev = "a4efbc09470b36f4cf6af60b5fdfeb8e09282fb3"; - sha256 = "sha256-Qgrl6p0AhbhK0+aM8hu85Kz/Lz/b2Nn8uWS+WpTGjU4="; + rev = "b43efee28129634fdefe70f2a03c401efc7dc22f"; + hash = "sha256-rLOWkfTMFEnVU2tuw5M2fvbNMPfxIu+gzi+3gnBEhx4="; name = "Nordic-bluish-accent-standard-buttons"; }) (fetchFromGitHub { owner = "EliverLara"; repo = "${pname}-polar"; - rev = "0d44fb16d0f07ef8615fd7740317a518d2b9411f"; - sha256 = "sha256-388251/Tg4jyn7c8zkrUxVFooN9O67xk2NTSeYa0VvI="; + rev = "2192acfce55fbb9a2982886abe25e623d0e7ff66"; + hash = "sha256-B/sAy4I+9gX9dHXUldcN5t0vlOL2Jnoan/hRV+tNnSo="; name = "Nordic-Polar"; }) (fetchFromGitHub { owner = "EliverLara"; repo = "${pname}-polar"; - rev = "0eea9185946fee20b6d7472548226a3652dea7ae"; - sha256 = "sha256-8JFrmGKn8cl1x3TeDPee1zbMmtypJ9kALv/PRqRHGAU="; + rev = "a24b42411d8ea0dc63bf0778e443be251858e586"; + hash = "sha256-02z4eMFtok1+SeW+ai7vZCXZb6ZhU4l4ch1Zc/GyhYM="; name = "Nordic-Polar-standard-buttons"; }) ]; @@ -80,47 +82,57 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ jdupes ]; - buildInputs = with libsForQt5; [ + propagatedUserEnvPkgs = [ + gtk-engine-murrine + breeze-icons plasma-framework - qtgraphicaleffects plasma-workspace - breeze-icons ]; dontWrapQtApps = true; - propagatedUserEnvPkgs = [ gtk-engine-murrine ]; - installPhase = '' runHook preInstall + # install theme files mkdir -p $out/share/themes cp -a Nordic* $out/share/themes + + # remove uneeded files rm -r $out/share/themes/*/.gitignore rm -r $out/share/themes/*/Art + rm -r $out/share/themes/*/FUNDING.yml rm -r $out/share/themes/*/LICENSE rm -r $out/share/themes/*/README.md rm -r $out/share/themes/*/{package.json,package-lock.json,Gulpfile.js} rm -r $out/share/themes/*/src rm -r $out/share/themes/*/cinnamon/*.scss - rm -r $out/share/themes/*/gnome-shell/{extensions,*.scss} + rm -r $out/share/themes/*/gnome-shell/{earlier-versions,extensions,*.scss} rm -r $out/share/themes/*/gtk-2.0/{assets.svg,assets.txt,links.fish,render-assets.sh} rm -r $out/share/themes/*/gtk-3.0/{apps,widgets,*.scss} + rm -r $out/share/themes/*/gtk-4.0/{apps,widgets,*.scss} rm -r $out/share/themes/*/xfwm4/{assets,render_assets.fish} + # move wallpapers to appropriate directory + mkdir -p $out/share/wallpapers/Nordic + mv -v $out/share/themes/Nordic/extras/wallpapers/* $out/share/wallpapers/Nordic/ + rmdir $out/share/themes/Nordic/extras{/wallpapers,} + # move kde related contents to appropriate directories - mkdir -p $out/share/{aurorae/themes,color-schemes,Kvantum,plasma,sddm/themes/Nordic} + mkdir -p $out/share/{aurorae/themes,color-schemes,Kvantum,plasma,sddm/themes,icons} mv -v $out/share/themes/Nordic/kde/aurorae/* $out/share/aurorae/themes/ mv -v $out/share/themes/Nordic/kde/colorschemes/* $out/share/color-schemes/ mv -v $out/share/themes/Nordic/kde/konsole $out/share/ mv -v $out/share/themes/Nordic/kde/kvantum/* $out/share/Kvantum/ mv -v $out/share/themes/Nordic/kde/plasma/look-and-feel $out/share/plasma/ - mv -v $out/share/themes/Nordic/kde/sddm/* $out/share/sddm/themes/Nordic/ + mv -v $out/share/themes/Nordic/kde/sddm/* $out/share/sddm/themes/ + mv -v $out/share/themes/Nordic/kde/folders/* $out/share/icons/ + mv -v $out/share/themes/Nordic/kde/cursors/*-cursors $out/share/icons/ rm -rf $out/share/themes/Nordic/kde - # Replace duplicate files with hardlinks to the first file in each - # set of duplicates, reducing the installed size in about 65% - jdupes -L -r $out/share + # Replace duplicate files with symbolic links to the first file in + # each set of duplicates, reducing the installed size in about 53% + jdupes --quiet --link-soft --recurse $out/share runHook postInstall ''; diff --git a/pkgs/development/guile-modules/guile-gcrypt/default.nix b/pkgs/development/guile-modules/guile-gcrypt/default.nix index 2b4fd46ea2756..ac5d373955f5e 100644 --- a/pkgs/development/guile-modules/guile-gcrypt/default.nix +++ b/pkgs/development/guile-modules/guile-gcrypt/default.nix @@ -20,8 +20,9 @@ stdenv.mkDerivation rec { hash = "sha256-vbm31EsOJiMeTs2tu5KPXckxPcAQbi3/PGJ5EHCC5VQ="; }; + strictDeps = true; nativeBuildInputs = [ - autoreconfHook pkg-config texinfo + autoreconfHook guile libgcrypt pkg-config texinfo ]; buildInputs = [ guile diff --git a/pkgs/development/guile-modules/guile-git/default.nix b/pkgs/development/guile-modules/guile-git/default.nix index 84d53b66e19b4..6afddd8d362e5 100644 --- a/pkgs/development/guile-modules/guile-git/default.nix +++ b/pkgs/development/guile-modules/guile-git/default.nix @@ -20,8 +20,9 @@ stdenv.mkDerivation rec { sha256 = "x6apF9fmwzrkyzAexKjClOTFrbE31+fVhSLyFZkKRYU="; }; + strictDeps = true; nativeBuildInputs = [ - autoreconfHook pkg-config texinfo + autoreconfHook guile pkg-config texinfo ]; buildInputs = [ guile diff --git a/pkgs/development/guile-modules/guile-gnutls/default.nix b/pkgs/development/guile-modules/guile-gnutls/default.nix index 91ffe90b0435f..ae666077bf8ff 100644 --- a/pkgs/development/guile-modules/guile-gnutls/default.nix +++ b/pkgs/development/guile-modules/guile-gnutls/default.nix @@ -17,7 +17,12 @@ stdenv.mkDerivation rec { hash = "sha256-W0y5JgMgduw0a7XAvA0CMflo/g9WWRPMFpNLt5Ovsjk="; }; - nativeBuildInputs = [ pkg-config ]; + strictDeps = true; + + nativeBuildInputs = [ + guile + pkg-config + ]; buildInputs = [ gnutls diff --git a/pkgs/development/guile-modules/guile-json/default.nix b/pkgs/development/guile-modules/guile-json/default.nix index 81febc3171b7d..cb34e22e62379 100644 --- a/pkgs/development/guile-modules/guile-json/default.nix +++ b/pkgs/development/guile-modules/guile-json/default.nix @@ -15,8 +15,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-OLoEjtKdEvBbMsWy+3pReVxEi0HkA6Kxty/wA1gX84g="; }; + strictDeps = true; nativeBuildInputs = [ - pkg-config texinfo + guile pkg-config texinfo ]; buildInputs = [ guile diff --git a/pkgs/development/guile-modules/guile-lib/default.nix b/pkgs/development/guile-modules/guile-lib/default.nix index 75e45b00d4e75..8c38432e3e230 100644 --- a/pkgs/development/guile-modules/guile-lib/default.nix +++ b/pkgs/development/guile-modules/guile-lib/default.nix @@ -16,8 +16,10 @@ stdenv.mkDerivation rec { hash = "sha256-5O87hF8SGILHwM8E+BocuP02DG9ktWuGjeVUYhT5BN4="; }; + strictDeps = true; nativeBuildInputs = [ autoreconfHook + guile pkg-config ]; buildInputs = [ diff --git a/pkgs/development/guile-modules/guile-sqlite3/default.nix b/pkgs/development/guile-modules/guile-sqlite3/default.nix index 430249f2c935f..4b309f7fbe5de 100644 --- a/pkgs/development/guile-modules/guile-sqlite3/default.nix +++ b/pkgs/development/guile-modules/guile-sqlite3/default.nix @@ -20,8 +20,10 @@ stdenv.mkDerivation rec { sha256 = "sha256-C1a6lMK4O49043coh8EQkTWALrPolitig3eYf+l+HmM="; }; + strictDeps = true; nativeBuildInputs = [ autoreconfHook + guile pkg-config texinfo ]; diff --git a/pkgs/development/libraries/gtk/2.x.nix b/pkgs/development/libraries/gtk/2.x.nix index 539cfc37051ba..b2afb21b6214e 100644 --- a/pkgs/development/libraries/gtk/2.x.nix +++ b/pkgs/development/libraries/gtk/2.x.nix @@ -66,6 +66,8 @@ stdenv.mkDerivation (finalAttrs: { ] ++ lib.optionals stdenv.isDarwin [ ./patches/2.0-gnome_bugzilla_557780_306776_freeciv_darwin.patch ./patches/2.0-darwin-x11.patch + # Fixes an incompatible function pointer conversion and implicit int errors with clang 16. + ./patches/2.0-clang.patch ]; propagatedBuildInputs = [ diff --git a/pkgs/development/libraries/gtk/patches/2.0-clang.patch b/pkgs/development/libraries/gtk/patches/2.0-clang.patch new file mode 100644 index 0000000000000..1e2e73b9833d7 --- /dev/null +++ b/pkgs/development/libraries/gtk/patches/2.0-clang.patch @@ -0,0 +1,49 @@ +diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c +index 4317523fb8..3c09cd3ae8 100644 +--- a/gtk/gtkscale.c ++++ b/gtk/gtkscale.c +@@ -1471,7 +1471,7 @@ gtk_scale_add_mark (GtkScale *scale, + mark->position = position; + + priv->marks = g_slist_insert_sorted_with_data (priv->marks, mark, +- (GCompareFunc) compare_marks, ++ (GCompareDataFunc) compare_marks, + GINT_TO_POINTER ( + gtk_range_get_inverted (GTK_RANGE (scale)) + )); +diff --git a/tests/testmenubars.c b/tests/testmenubars.c +index 416a939861..c65e82be26 100644 +--- a/tests/testmenubars.c ++++ b/tests/testmenubars.c +@@ -21,7 +21,7 @@ + #include + + static GtkWidget * +-create_menu (depth) ++create_menu (int depth, gboolean _unused) + { + GtkWidget *menu; + GtkWidget *menuitem; +@@ -35,19 +35,19 @@ create_menu (depth) + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); + gtk_widget_show (menuitem); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), +- create_menu (depth - 1)); ++ create_menu (depth - 1, _unused)); + + menuitem = gtk_menu_item_new_with_mnemonic ("Two"); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); + gtk_widget_show (menuitem); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), +- create_menu (depth - 1)); ++ create_menu (depth - 1, _unused)); + + menuitem = gtk_menu_item_new_with_mnemonic ("Three"); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem); + gtk_widget_show (menuitem); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), +- create_menu (depth - 1)); ++ create_menu (depth - 1, _unused)); + + return menu; + } diff --git a/pkgs/development/libraries/lzlib/default.nix b/pkgs/development/libraries/lzlib/default.nix index 4e28fc3a5b0d2..b8c86221b489d 100644 --- a/pkgs/development/libraries/lzlib/default.nix +++ b/pkgs/development/libraries/lzlib/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { substituteInPlace Makefile.in --replace '-Wl,--soname=' '-Wl,-install_name,$(out)/lib/' ''; - makeFlags = [ "CC:=$(CC)" ]; + makeFlags = [ "CC:=$(CC)" "AR:=$(AR)" ]; doCheck = true; configureFlags = [ "--enable-shared" ]; diff --git a/pkgs/development/libraries/randomx/default.nix b/pkgs/development/libraries/randomx/default.nix index b5da1ad6e198a..4e85b3688ab7e 100644 --- a/pkgs/development/libraries/randomx/default.nix +++ b/pkgs/development/libraries/randomx/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation rec { pname = "randomX"; - version = "1.1.10"; + version = "1.2.1"; nativeBuildInputs = [ cmake ]; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { owner = "tevador"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ZPphhZFzQL72xcEp9kNfZITY4oqK930ve/bbljTYNBs="; + sha256 = "sha256-dfImzwbEfJQcaPZCoWypHiI6dishVRdqS/r+n3tfjvM="; }; meta = with lib; { diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix index f344bd9485153..1f4baeaa61855 100644 --- a/pkgs/development/lua-modules/generated-packages.nix +++ b/pkgs/development/lua-modules/generated-packages.nix @@ -478,30 +478,6 @@ buildLuarocksPackage { }; }) {}; -ferris-nvim = callPackage({ fetchzip, buildLuarocksPackage, lua, luaOlder }: -buildLuarocksPackage { - pname = "ferris.nvim"; - version = "2.0.0-1"; - knownRockspec = (fetchurl { - url = "mirror://luarocks/ferris.nvim-2.0.0-1.rockspec"; - sha256 = "00d3x2hbs8625ky50r2w08c6idcx3bkrk0rks5qd8yh7v61nj53h"; - }).outPath; - src = fetchzip { - url = "https://github.com/mrcjkb/ferris.nvim/archive/2.0.0.zip"; - sha256 = "1fb18k0ylb06h4ifs9k6lfc42y74xpavzwkqy55lfdkmlbc7jmhy"; - }; - - disabled = (luaOlder "5.1"); - propagatedBuildInputs = [ lua ]; - - meta = { - homepage = "https://github.com/mrcjkb/ferris.nvim"; - description = "Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim"; - maintainers = with lib.maintainers; [ mrcjkb ]; - license.fullName = "GPL-2.0"; - }; -}) {}; - fifo = callPackage({ fetchzip, lua, buildLuarocksPackage }: buildLuarocksPackage { pname = "fifo"; @@ -2814,6 +2790,30 @@ buildLuarocksPackage { }; }) {}; +rustaceanvim = callPackage({ lua, luaOlder, buildLuarocksPackage, fetchzip }: +buildLuarocksPackage { + pname = "rustaceanvim"; + version = "3.0.0-1"; + knownRockspec = (fetchurl { + url = "mirror://luarocks/rustaceanvim-3.0.0-1.rockspec"; + sha256 = "1v1k08spq3zalgya6q3qny6zpwhn0nb5nl5dn0rkcvnc4imvnyfy"; + }).outPath; + src = fetchzip { + url = "https://github.com/mrcjkb/rustaceanvim/archive/3.0.0.zip"; + sha256 = "1prpklbijr7p890nflr9jixf955dlp3ph9zl2rq3xxyl20ncyqbk"; + }; + + disabled = (luaOlder "5.1"); + propagatedBuildInputs = [ lua ]; + + meta = { + homepage = "https://github.com/mrcjkb/rustaceanvim"; + description = "Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim"; + maintainers = with lib.maintainers; [ mrcjkb ]; + license.fullName = "GPL-2.0"; + }; +}) {}; + say = callPackage({ luaOlder, fetchgit, lua, buildLuarocksPackage }: buildLuarocksPackage { pname = "say"; diff --git a/pkgs/development/ocaml-modules/carton/default.nix b/pkgs/development/ocaml-modules/carton/default.nix index 727d407ac5423..7ba02d68ff5f4 100644 --- a/pkgs/development/ocaml-modules/carton/default.nix +++ b/pkgs/development/ocaml-modules/carton/default.nix @@ -8,14 +8,13 @@ buildDunePackage rec { pname = "carton"; - version = "0.6.0"; + version = "0.7.0"; minimalOCamlVersion = "4.08"; - duneVersion = "3"; src = fetchurl { url = "https://github.com/mirage/ocaml-git/releases/download/${pname}-v${version}/git-${pname}-v${version}.tbz"; - hash = "sha256-NAm4Xq7L0Dgynr8cKZQ356M4GR6D19LbCRxvnSlIf1U="; + hash = "sha256-vWkBJdP4ZpRCEwzrFMzsdHay4VyiXix/+1qzk+7yDvk="; }; patches = [ diff --git a/pkgs/development/python-modules/aioairzone-cloud/default.nix b/pkgs/development/python-modules/aioairzone-cloud/default.nix index 2108555b0d339..11ba9a203237b 100644 --- a/pkgs/development/python-modules/aioairzone-cloud/default.nix +++ b/pkgs/development/python-modules/aioairzone-cloud/default.nix @@ -9,7 +9,7 @@ buildPythonPackage rec { pname = "aioairzone-cloud"; - version = "0.2.7"; + version = "0.3.0"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { owner = "Noltari"; repo = "aioairzone-cloud"; rev = "refs/tags/${version}"; - hash = "sha256-v6cK4j16BhTqjdc5J9XQWGFCa1r9f0/dto9teVTNn0c="; + hash = "sha256-tsx98DG/TvTrVwUy9fscErf+3zUC5XVs50lHKW/9pdQ="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/aiowithings/default.nix b/pkgs/development/python-modules/aiowithings/default.nix index bc6e695343422..19d9997ed8d7c 100644 --- a/pkgs/development/python-modules/aiowithings/default.nix +++ b/pkgs/development/python-modules/aiowithings/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "aiowithings"; - version = "0.4.4"; + version = "1.0.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "joostlek"; repo = "python-withings"; rev = "refs/tags/v${version}"; - hash = "sha256-YmTYwj3Udo1Pev25LLvY7757BR0h44aefqIe8b8FlTc="; + hash = "sha256-3necwO/EpjWD1fAItqsZJKgv0CIBklxcM1jNRPxhSVY="; }; postPatch = '' diff --git a/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix b/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix index 8b5ff73d1faa3..5237fe31f3704 100644 --- a/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix +++ b/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix @@ -4,7 +4,7 @@ , pythonOlder # build-system -, cython +, cython_3 , poetry-core , setuptools @@ -17,12 +17,12 @@ let pname = "chacha20poly1305-reuseable"; - version = "0.4.2"; + version = "0.10.2"; in buildPythonPackage { inherit pname version; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -30,11 +30,11 @@ buildPythonPackage { owner = "bdraco"; repo = pname; rev = "v${version}"; - hash = "sha256-RBXEumw5A/XzB/LazUcvq8JM/Ahvcy9lCTYKpGcY7go="; + hash = "sha256-jLaYdVNgjpy/fjjt9om72jirgMaM61T/OZu/iHZ/W4k="; }; nativeBuildInputs = [ - cython + cython_3 poetry-core setuptools ]; diff --git a/pkgs/development/python-modules/dj-rest-auth/default.nix b/pkgs/development/python-modules/dj-rest-auth/default.nix index 4bd5d486d4a95..116e3085d9085 100644 --- a/pkgs/development/python-modules/dj-rest-auth/default.nix +++ b/pkgs/development/python-modules/dj-rest-auth/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchFromGitHub +, fetchpatch , django , django-allauth , djangorestframework @@ -21,6 +22,14 @@ buildPythonPackage rec { hash = "sha256-PTFUZ54vKlufKCQyJb+QB/+hI15r+Z0auTjnc38yMLg="; }; + patches = [ + (fetchpatch { + # https://github.com/iMerica/dj-rest-auth/pull/561 + url = "https://github.com/iMerica/dj-rest-auth/commit/be0cf53d94582183320b0994082f0a312c1066d9.patch"; + hash = "sha256-BhZ7BWW8m609cVn1WCyPfpZq/706YVZAesrkcMKTD3A="; + }) + ]; + postPatch = '' substituteInPlace setup.py \ --replace "coveralls>=1.11.1" "" \ diff --git a/pkgs/development/python-modules/drf-spectacular/default.nix b/pkgs/development/python-modules/drf-spectacular/default.nix index 9e476ad5c188d..253604370cbc8 100644 --- a/pkgs/development/python-modules/drf-spectacular/default.nix +++ b/pkgs/development/python-modules/drf-spectacular/default.nix @@ -1,6 +1,7 @@ { lib , buildPythonPackage , fetchFromGitHub +, fetchpatch , dj-rest-auth , django , django-allauth @@ -37,6 +38,14 @@ buildPythonPackage rec { hash = "sha256-sK+upLh0mi8eHKh1Wt9FoLRjqlHitTSX0Zl54S4Ce6E="; }; + patches = [ + (fetchpatch { + # https://github.com/tfranzel/drf-spectacular/pull/1090 + url = "https://github.com/tfranzel/drf-spectacular/commit/8db4c2458f8403c53db0db352dd94057d285814b.patch"; + hash = "sha256-Ue5y7IB4ie+9CEineMBgMMCLGiF4zqmn60TJvKsV1h0="; + }) + ]; + propagatedBuildInputs = [ django djangorestframework diff --git a/pkgs/development/python-modules/google-cloud-speech/default.nix b/pkgs/development/python-modules/google-cloud-speech/default.nix index 53b865bd75ad7..60988de324adb 100644 --- a/pkgs/development/python-modules/google-cloud-speech/default.nix +++ b/pkgs/development/python-modules/google-cloud-speech/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "google-cloud-speech"; - version = "2.21.0"; + version = "2.21.1"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-Zhw5u7bysha6VqzjsIcmDpd43Rmt6e+jcAre6SWACa0="; + hash = "sha256-STU3XqrxhlblPiYxdwudV56Ay07Bs9Rt0jNG94mqAWo="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/kivy/default.nix b/pkgs/development/python-modules/kivy/default.nix index d3276c622b863..dd04b97010dda 100644 --- a/pkgs/development/python-modules/kivy/default.nix +++ b/pkgs/development/python-modules/kivy/default.nix @@ -3,7 +3,7 @@ , pkg-config, cython, docutils , kivy-garden , mesa, mtdev, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer -, ApplicationServices, AVFoundation, libcxx +, Accelerate, ApplicationServices, AVFoundation, libcxx , withGstreamer ? true , gst_all_1 , pillow, requests, pygments @@ -20,6 +20,15 @@ buildPythonPackage rec { hash = "sha256-k9LIiLtlHY6H1xfVylI/Xbm7R6pCpC5UHe8GWnCwEGA="; }; + patches = [ + # Fixes incompatible function pointer conversion errors with clang 16. + # https://github.com/kivy/kivy/pull/8415 + (fetchpatch { + url = "https://github.com/kivy/kivy/commit/a0ec8ff79fcbc1b82391132a89c8fc21ef1c5c55.patch"; + hash = "sha256-2Kpkx75uWPiEiEqkOxBKl3HENKUGVHbQV4haeI5Gl3A="; + }) + ]; + nativeBuildInputs = [ pkg-config cython @@ -35,6 +44,7 @@ buildPythonPackage rec { mesa mtdev ] ++ lib.optionals stdenv.isDarwin [ + Accelerate ApplicationServices AVFoundation libcxx diff --git a/pkgs/development/python-modules/libknot/default.nix b/pkgs/development/python-modules/libknot/default.nix new file mode 100644 index 0000000000000..1913d07651337 --- /dev/null +++ b/pkgs/development/python-modules/libknot/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchPypi + +# build-system +, hatchling + +# native dependencies +, knot-dns +}: + +buildPythonPackage rec { + pname = "libknot"; + version = "3.3.2"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-uttdIl2ONoR9ba6gJXmJkU++UQldcezwTUG+X5mCcbE="; + }; + + postPatch = '' + substituteInPlace libknot/__init__.py \ + --replace "libknot%s.dylib" "${lib.getLib knot-dns}/lib/libknot%s.dylib" \ + --replace "libknot.so%s" "${lib.getLib knot-dns}/lib/libknot.so%s" + ''; + + nativeBuildInputs = [ + hatchling + ]; + + pythonImportsCheck = [ + "libknot" + ]; + + meta = with lib; { + description = "Python bindings for libknot"; + homepage = "https://gitlab.nic.cz/knot/knot-dns/-/tree/master/python/libknot"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ hexa ]; + mainProgram = "libknot"; + }; +} diff --git a/pkgs/development/python-modules/orange-canvas-core/default.nix b/pkgs/development/python-modules/orange-canvas-core/default.nix index 9c5381171e2f4..814c90a698dc2 100644 --- a/pkgs/development/python-modules/orange-canvas-core/default.nix +++ b/pkgs/development/python-modules/orange-canvas-core/default.nix @@ -18,11 +18,11 @@ buildPythonPackage rec { pname = "orange-canvas-core"; - version = "0.1.32"; + version = "0.1.33"; src = fetchPypi { inherit pname version; - hash = "sha256-UE5LHsG7BrJqC0rNRtUUqmXSPsYRVqodiU5DsB/6ECo="; + hash = "sha256-w3krij7+CtJl1XoJz3RRAAp2aKqMCQg/PBh5erf/Phs="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/orange3/default.nix b/pkgs/development/python-modules/orange3/default.nix index fa1204ffa7334..c8939f01e9394 100644 --- a/pkgs/development/python-modules/orange3/default.nix +++ b/pkgs/development/python-modules/orange3/default.nix @@ -44,8 +44,7 @@ let self = buildPythonPackage rec { pname = "orange3"; - version = "3.36.0"; - format = "pyproject"; + version = "3.36.1"; disabled = pythonOlder "3.7"; @@ -53,7 +52,7 @@ let owner = "biolab"; repo = "orange3"; rev = "refs/tags/${version}"; - hash = "sha256-0HIhBdufc46cTOSXa0koelTfZd5sY7QantmwGWggoCU="; + hash = "sha256-O5ZN5O1vMkqiv83Q5UoaDefGnqVnDLPmYLLG20cdajk="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pathy/default.nix b/pkgs/development/python-modules/pathy/default.nix index 5ec592d53a44f..c5fc0852b8686 100644 --- a/pkgs/development/python-modules/pathy/default.nix +++ b/pkgs/development/python-modules/pathy/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "pathy"; - version = "0.10.2"; + version = "0.10.3"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-ecVyq3/thNxGg3NG7a5YVlmS0Ed6eJzUaRpB2Oq5kX0="; + hash = "sha256-tFGF0G+bGMbTNG06q4gauWh0VT9mHuiMzS5gJG4QPCI="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pyfibaro/default.nix b/pkgs/development/python-modules/pyfibaro/default.nix index b1a38f11f6acc..2f059d19a1b9f 100644 --- a/pkgs/development/python-modules/pyfibaro/default.nix +++ b/pkgs/development/python-modules/pyfibaro/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "pyfibaro"; - version = "0.7.5"; + version = "0.7.6"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "rappenze"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-hllYxPPbLu3dpjHwXfIvTMW0LWtcglTVfN7youZaXTw="; + hash = "sha256-yE9HkAlGj1t90FwmwHDsk3ea2UOl0bG3UtYXxz/SWbI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/python-gvm/default.nix b/pkgs/development/python-modules/python-gvm/default.nix index c73160c55e6e5..fe81dda8939ca 100644 --- a/pkgs/development/python-modules/python-gvm/default.nix +++ b/pkgs/development/python-modules/python-gvm/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "python-gvm"; - version = "23.10.0"; + version = "23.10.1"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "greenbone"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-me7HO6BiW+0S1GDbKkbJiRrUQotEP1MPo/d0Xc84mIg="; + hash = "sha256-OG45mKYqWrgyDyTlWPz95VXQDKAx4QeU1ZZGmHhbviI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pywemo/default.nix b/pkgs/development/python-modules/pywemo/default.nix index 277de7a83170d..69b8114a95e57 100644 --- a/pkgs/development/python-modules/pywemo/default.nix +++ b/pkgs/development/python-modules/pywemo/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "pywemo"; - version = "1.3.0"; + version = "1.3.1"; format = "pyproject"; disabled = pythonOlder "3.7"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = pname; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-+AdNT7ClT8JkYLkwk+IVNWgXGS04WNtENOtqmbjv7nQ="; + hash = "sha256-RZeg6/xAGRumd4aM/mQQnIrIXB/rUrdeQQxk2c1mJNI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/qasync/default.nix b/pkgs/development/python-modules/qasync/default.nix index bdbede92c5d4d..c3761210a1c1f 100644 --- a/pkgs/development/python-modules/qasync/default.nix +++ b/pkgs/development/python-modules/qasync/default.nix @@ -3,23 +3,28 @@ , fetchFromGitHub , pyqt5 , pytestCheckHook +, poetry-core }: buildPythonPackage rec { pname = "qasync"; - version = "0.24.1"; + version = "0.26.1"; + + format = "pyproject"; src = fetchFromGitHub { owner = "CabbageDevelopment"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-DAzmobw+c29Pt/URGO3bWXHBxgu9bDHhdTUBE9QJDe4="; + hash = "sha256-vtRmThXKxqof+Rz3Dngtc9tuwL1bPYFHDq4DBRCsrIU="; }; postPatch = '' rm qasync/_windows.py # Ignoring it is not taking effect and it will not be used on Linux ''; + buildInputs = [ poetry-core ]; + propagatedBuildInputs = [ pyqt5 ]; checkInputs = [ pytestCheckHook ]; diff --git a/pkgs/development/python-modules/qbittorrent-api/default.nix b/pkgs/development/python-modules/qbittorrent-api/default.nix index a31438335ef82..16ad74dd24695 100644 --- a/pkgs/development/python-modules/qbittorrent-api/default.nix +++ b/pkgs/development/python-modules/qbittorrent-api/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "qbittorrent-api"; - version = "2023.9.53"; + version = "2023.10.54"; format = "pyproject"; src = fetchPypi { inherit pname version; - hash = "sha256-/q0bL1WxIn6giOp9kLUCLZRpS/2d2Rdr61rRwZXQRP8="; + hash = "sha256-xCHB/pPURc1+vje6IhBHZ6HogUsmYfBE9977Qtwoc2w="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/qds_sdk/default.nix b/pkgs/development/python-modules/qds-sdk/default.nix similarity index 53% rename from pkgs/development/python-modules/qds_sdk/default.nix rename to pkgs/development/python-modules/qds-sdk/default.nix index b172f0e71816a..d4fb7a5031449 100644 --- a/pkgs/development/python-modules/qds_sdk/default.nix +++ b/pkgs/development/python-modules/qds-sdk/default.nix @@ -1,26 +1,32 @@ -{ lib, - fetchFromGitHub, - buildPythonPackage, - boto, - inflection, - pytest, - mock, - requests, - six, - urllib3 }: +{ lib +, buildPythonPackage +, fetchFromGitHub +, setuptools +, boto +, inflection +, requests +, six +, urllib3 +, mock +, pytestCheckHook +}: buildPythonPackage rec { - pname = "qds_sdk"; + pname = "qds-sdk"; version = "1.16.1"; + pyproject = true; - # pypi does not contain tests, using github sources instead src = fetchFromGitHub { owner = "qubole"; repo = "qds-sdk-py"; - rev = "V${version}"; - sha256 = "05c7g63rcvvi4fgkcfsxh2a6hwlffbs18dhki222s5rpc49wi8zi"; + rev = "refs/tags/V${version}"; + hash = "sha256-8aPIE2E3Fy2EiBM2FPRyjnJolIBdOzafI3Fvlod5hxU="; }; + nativeBuildInputs = [ + setuptools + ]; + propagatedBuildInputs = [ boto inflection @@ -29,15 +35,17 @@ buildPythonPackage rec { urllib3 ]; - nativeCheckInputs = [ pytest mock ]; - checkPhase = '' - py.test --disable-pytest-warnings tests - ''; + nativeCheckInputs = [ pytestCheckHook mock ]; + + pythonImportsCheck = [ + "qds_sdk" + ]; meta = with lib; { description = "A Python module that provides the tools you need to authenticate with, and use the Qubole Data Service API"; homepage = "https://github.com/qubole/qds-sdk-py"; license = licenses.asl20; maintainers = with maintainers; [ shahrukh330 ]; + mainProgram = "qds.py"; }; } diff --git a/pkgs/development/python-modules/rotary-embedding-torch/default.nix b/pkgs/development/python-modules/rotary-embedding-torch/default.nix index 1c93184a36e6f..450fa9c8bee21 100644 --- a/pkgs/development/python-modules/rotary-embedding-torch/default.nix +++ b/pkgs/development/python-modules/rotary-embedding-torch/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "rotary-embedding-torch"; - version = "0.3.2"; + version = "0.3.3"; pyproject = true; src = fetchFromGitHub { owner = "lucidrains"; repo = "rotary-embedding-torch"; rev = version; - hash = "sha256-EozW8J1i/2ym1hwUMciaWVtp7kSWfG+mC5RkWLJdK3g="; + hash = "sha256-uTOKdxqbSLRJl0gnz3TvpVwhrfqflAp0wfn6d13+YrM="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/sphinx-automodapi/default.nix b/pkgs/development/python-modules/sphinx-automodapi/default.nix index 3071d86dc46b5..bc74fae5491e3 100644 --- a/pkgs/development/python-modules/sphinx-automodapi/default.nix +++ b/pkgs/development/python-modules/sphinx-automodapi/default.nix @@ -1,29 +1,36 @@ { lib , buildPythonPackage -, cython , fetchFromGitHub , fetchurl -, gcc -, graphviz -, pytestCheckHook , pythonOlder +, setuptools-scm +, git , sphinx +, pytestCheckHook +, cython +, gcc +, graphviz }: buildPythonPackage rec { pname = "sphinx-automodapi"; version = "0.16.0"; - format = "setuptools"; - + pyproject = true; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "astropy"; repo = pname; - rev = "refs/tags/v${version}"; - hash = "sha256-7/b3PlgoqXyzmj4KDoHJf5gd3SUSiyhkpcDWl3u+0Bs="; + rev = "v${version}"; + hash = "sha256-ecOwBtJBkGsBShMG5fK22V1EHLe6pCmOdHPrS/k6rno="; + leaveDotGit = true; }; + nativeBuildInputs = [ + setuptools-scm + git + ]; + propagatedBuildInputs = [ sphinx ]; # https://github.com/astropy/sphinx-automodapi/issues/155 @@ -34,11 +41,8 @@ buildPythonPackage rec { }; postPatch = '' - substituteInPlace "sphinx_automodapi/tests/helpers.py" \ - --replace '[0]), None)' "[0]), (None, '${testInventory}'))" - - substituteInPlace "sphinx_automodapi/tests/test_cases.py" \ - --replace '[0]), None)' "[0]), (None, '${testInventory}'))" + substituteInPlace sphinx_automodapi/tests/{helpers,test_cases}.py \ + --replace ", None)" ", (None, '${testInventory}'))" ''; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/stem/default.nix b/pkgs/development/python-modules/stem/default.nix index dc90700948c0a..8cd6ff3f3d6e8 100644 --- a/pkgs/development/python-modules/stem/default.nix +++ b/pkgs/development/python-modules/stem/default.nix @@ -1,38 +1,51 @@ -{ lib, buildPythonPackage, fetchPypi, python, mock, pythonAtLeast }: +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, setuptools +, cryptography +, mock +, python +}: buildPythonPackage rec { pname = "stem"; version = "1.8.2"; - # As of May 2023, the master branch of stem contains fixes for Python 3.11 - # that the last release (1.8.1) doesn't. The test suite fails on both master - # and the 1.8.1 release, so disabling rather than switching to an unstable - # source. - disabled = pythonAtLeast "3.11"; + disabled = pythonOlder "3.6"; - src = fetchPypi { - inherit pname version; - hash = "sha256-g/sZ/9TJ+CIHwAYFFIA4n4CvIhp+R4MACu3sTjhOtYI="; + pyproject = true; + + src = fetchFromGitHub { + owner = "torproject"; + repo = "stem"; + rev = "refs/tags/${version}"; + hash = "sha256-9BXeE/sVa13jr8G060aWjc49zgDVBhjaR6nt4lSxc0g="; }; - postPatch = '' - rm test/unit/installation.py - sed -i "/test.unit.installation/d" test/settings.cfg - # https://github.com/torproject/stem/issues/56 - sed -i '/MOCK_VERSION/d' run_tests.py - ''; + nativeBuildInputs = [ + setuptools + ]; - nativeCheckInputs = [ mock ]; + nativeCheckInputs = [ + cryptography + mock + ]; checkPhase = '' - touch .gitignore - ${python.interpreter} run_tests.py -u + runHook preCheck + + ${python.interpreter} run_tests.py --unit + + runHook postCheck ''; meta = with lib; { + changelog = "https://github.com/torproject/stem/blob/${src.rev}/docs/change_log.rst"; description = "Controller library that allows applications to interact with Tor"; + downloadPage = "https://github.com/torproject/stem"; homepage = "https://stem.torproject.org/"; - license = licenses.gpl3; - maintainers = with maintainers; [ ]; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ dotlambda ]; }; } diff --git a/pkgs/development/python-modules/tvdb_api/default.nix b/pkgs/development/python-modules/tvdb-api/default.nix similarity index 96% rename from pkgs/development/python-modules/tvdb_api/default.nix rename to pkgs/development/python-modules/tvdb-api/default.nix index 0e05aa041dba7..bec0964acc0d6 100644 --- a/pkgs/development/python-modules/tvdb_api/default.nix +++ b/pkgs/development/python-modules/tvdb-api/default.nix @@ -6,7 +6,7 @@ }: buildPythonPackage rec { - pname = "tvdb_api"; + pname = "tvdb-api"; version = "3.2.0-beta"; src = fetchFromGitHub { diff --git a/pkgs/development/python-modules/validobj/default.nix b/pkgs/development/python-modules/validobj/default.nix index 6e96ff579da21..73eaf56f9e9dc 100644 --- a/pkgs/development/python-modules/validobj/default.nix +++ b/pkgs/development/python-modules/validobj/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "validobj"; - version = "1.0"; + version = "1.1"; format = "pyproject"; src = fetchPypi { inherit pname version; - sha256 = "sha256-j1WbPVqYbxoshcvRvc/w0T+YknoSABZ9CrzXzCDSErA="; + sha256 = "sha256-CISX8pycEOYUBolyMoJqaKdE0u/8tf7mvbHYm9m148I="; }; nativeBuildInputs = [ flit ]; diff --git a/pkgs/development/rocm-modules/5/rocm-core/default.nix b/pkgs/development/rocm-modules/5/rocm-core/default.nix index aae431be8e620..a29575168b45d 100644 --- a/pkgs/development/rocm-modules/5/rocm-core/default.nix +++ b/pkgs/development/rocm-modules/5/rocm-core/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "rocm-core"; - version = "5.7.0"; + version = "5.7.1"; src = fetchFromGitHub { owner = "RadeonOpenCompute"; @@ -23,6 +23,8 @@ stdenv.mkDerivation (finalAttrs: { name = finalAttrs.pname; owner = finalAttrs.src.owner; repo = finalAttrs.src.repo; + page = "tags?per_page=1"; + filter = ".[0].name | split(\"-\") | .[1]"; }; meta = with lib; { diff --git a/pkgs/development/scheme-modules/scheme-bytestructures/default.nix b/pkgs/development/scheme-modules/scheme-bytestructures/default.nix index 1cbbdf0bf29d6..25412b45b40b7 100644 --- a/pkgs/development/scheme-modules/scheme-bytestructures/default.nix +++ b/pkgs/development/scheme-modules/scheme-bytestructures/default.nix @@ -17,8 +17,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-Wvs288K8BVjUuWvvzpDGBwOxL7mAXjVtgIwJAsQd0L4="; }; + strictDeps = true; nativeBuildInputs = [ - autoreconfHook pkg-config + autoreconfHook guile pkg-config ]; buildInputs = [ guile diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix index 3e78f7a47688e..1b833d6d1f04a 100644 --- a/pkgs/development/tools/build-managers/sbt/default.nix +++ b/pkgs/development/tools/build-managers/sbt/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "sbt"; - version = "1.9.6"; + version = "1.9.7"; src = fetchurl { url = "https://github.com/sbt/sbt/releases/download/v${finalAttrs.version}/sbt-${finalAttrs.version}.tgz"; - hash = "sha256-kj15F8y5mp/ZhfSr/YHKrK7UIoTmfT92lsxSOefFlcs="; + hash = "sha256-I1Q7xFl7VS6OLCfWlf5nLsI1q4pk92azeCj7aMbZ2RA="; }; postPatch = '' diff --git a/pkgs/development/tools/database/litestream/default.nix b/pkgs/development/tools/database/litestream/default.nix index 818709ae1e967..83b1fb0c9f718 100644 --- a/pkgs/development/tools/database/litestream/default.nix +++ b/pkgs/development/tools/database/litestream/default.nix @@ -4,13 +4,13 @@ }: buildGoModule rec { pname = "litestream"; - version = "0.3.11"; + version = "0.3.12"; src = fetchFromGitHub { owner = "benbjohnson"; repo = pname; rev = "v${version}"; - sha256 = "sha256-03gGGx8RZEK2RrToN30gkIlHss/e3UcSi3AmMh9twDU="; + sha256 = "sha256-uao8I3b38JZWpO5iM+qvV4CDxWg1ueYm7BoaW/+FOkA="; }; ldflags = [ diff --git a/pkgs/development/tools/misc/complgen/default.nix b/pkgs/development/tools/misc/complgen/default.nix index f69b36fc4bc14..81cf9c120edd9 100644 --- a/pkgs/development/tools/misc/complgen/default.nix +++ b/pkgs/development/tools/misc/complgen/default.nix @@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec { pname = "complgen"; - version = "0.1.5"; + version = "0.1.6"; src = fetchFromGitHub { owner = "adaszko"; repo = "complgen"; rev = "v${version}"; - hash = "sha256-zNYNwPPVlsvQiHy28rWB7OlnriJVktoFrDkJaIO9z8E="; + hash = "sha256-FetiopX4k58JQP67zTh0ssy1HFJHmi0Op9h9vjH1pLE="; }; - cargoHash = "sha256-BkflZ/d4TAZjjkQB5f0+rL4Zt7uWBLM3gM2UNKYZz+Q="; + cargoHash = "sha256-2EJuxoed+6LGpxxqkdFxbntilA2SihQScliUFYgjYmU="; meta = with lib; { description = "Generate {bash,fish,zsh} completions from a single EBNF-like grammar"; diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix index 0dc2a708afe38..f911f5ee58735 100644 --- a/pkgs/development/tools/rust/cargo-nextest/default.nix +++ b/pkgs/development/tools/rust/cargo-nextest/default.nix @@ -1,19 +1,21 @@ -{ lib, rustPlatform, fetchFromGitHub, stdenv, Security }: +{ lib, rustPlatform, fetchFromGitHub, stdenv, darwin }: rustPlatform.buildRustPackage rec { pname = "cargo-nextest"; - version = "0.9.59"; + version = "0.9.61"; src = fetchFromGitHub { owner = "nextest-rs"; repo = "nextest"; rev = "cargo-nextest-${version}"; - hash = "sha256-32n1z5e40qkhHBAbwGhXa7L5NfkkN72AIKF796y82+g="; + hash = "sha256-kVADlW5XqKAuQ2n0lmEin67CXGkhTVWgJaPMKpvS5Gs="; }; - cargoHash = "sha256-sme7VE5JnjIWONaFYIOnv72UjUC/S+VezNSmRunmDv0="; + cargoHash = "sha256-IU2oW00VzEV8p3BpqIJZwXvdcaeweAF9nGHwtX+98vY="; - buildInputs = lib.optionals stdenv.isDarwin [ Security ]; + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.SystemConfiguration + ]; cargoBuildFlags = [ "-p" "cargo-nextest" ]; cargoTestFlags = [ "-p" "cargo-nextest" ]; diff --git a/pkgs/development/tools/rust/crate2nix/default.nix b/pkgs/development/tools/rust/crate2nix/default.nix index cba3b4b3dd7df..5f8b3d2cdc6ec 100644 --- a/pkgs/development/tools/rust/crate2nix/default.nix +++ b/pkgs/development/tools/rust/crate2nix/default.nix @@ -10,18 +10,18 @@ rustPlatform.buildRustPackage rec { pname = "crate2nix"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { - owner = "kolloch"; + owner = "nix-community"; repo = pname; rev = version; - sha256 = "sha256-JaF9/H3m4Wrc5MtXcONkOAgKVkswLVw0yZe0dBr2e4Y="; + sha256 = "sha256-nyX1lfaA0eBSB/BaxPzCsyD8p/hxCwNIvr4Ru3i/YX0="; }; sourceRoot = "${src.name}/crate2nix"; - cargoSha256 = "sha256-PD7R1vcb3FKd4hfpViKyvfCExJ5H1Xo2HPYden5zpxQ="; + cargoSha256 = "sha256-3+emOr3hh+DDkboJbYyJFZgkzmcdA9jdronz7wM4x28="; nativeBuildInputs = [ makeWrapper ]; @@ -32,6 +32,13 @@ rustPlatform.buildRustPackage rec { postFixup = '' wrapProgram $out/bin/crate2nix \ --suffix PATH ":" ${lib.makeBinPath [ cargo nix nix-prefetch-git ]} + + rm -rf $out/lib $out/bin/crate2nix.d + mkdir -p \ + $out/share/bash-completion/completions \ + $out/share/zsh/vendor-completions + $out/bin/crate2nix completions -s 'bash' -o $out/share/bash-completion/completions + $out/bin/crate2nix completions -s 'zsh' -o $out/share/zsh/vendor-completions ''; meta = with lib; { @@ -40,9 +47,10 @@ rustPlatform.buildRustPackage rec { Crate2nix generates Nix files from Cargo.toml/lock files so that you can build every crate individually in a Nix sandbox. ''; - homepage = "https://github.com/kolloch/crate2nix"; + homepage = "https://github.com/nix-community/crate2nix"; license = licenses.asl20; maintainers = with maintainers; [ kolloch cole-h ]; platforms = platforms.all; }; } + diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix index a2614b2f1a9e9..446c692ad81f8 100644 --- a/pkgs/games/extremetuxracer/default.nix +++ b/pkgs/games/extremetuxracer/default.nix @@ -35,6 +35,7 @@ stdenv.mkDerivation rec { license = lib.licenses.gpl2Plus; homepage = "https://sourceforge.net/projects/extremetuxracer/"; maintainers = with lib.maintainers; [ ]; + mainProgram = "etr"; platforms = with lib.platforms; linux; }; } diff --git a/pkgs/games/quake3/wrapper/default.nix b/pkgs/games/quake3/wrapper/default.nix index 3c777c5b27fbd..a1a5bfb03d26f 100644 --- a/pkgs/games/quake3/wrapper/default.nix +++ b/pkgs/games/quake3/wrapper/default.nix @@ -20,11 +20,11 @@ in stdenv.mkDerivation { # We add Mesa to the end of $LD_LIBRARY_PATH to provide fallback # software rendering. GCC is needed so that libgcc_s.so can be found # when Mesa is used. - makeWrapper ${env}/bin/ioquake3.* $out/bin/quake3 \ + makeWrapper ${env}/bin/ioquake3* $out/bin/quake3 \ --suffix-each LD_LIBRARY_PATH ':' "${libPath}" \ --add-flags "+set fs_basepath ${env} +set r_allowSoftwareGL 1" - makeWrapper ${env}/bin/ioq3ded.* $out/bin/quake3-server \ + makeWrapper ${env}/bin/ioq3ded* $out/bin/quake3-server \ --add-flags "+set fs_basepath ${env}" ''; diff --git a/pkgs/os-specific/linux/nixos-rebuild/default.nix b/pkgs/os-specific/linux/nixos-rebuild/default.nix index c6ec0866791e6..4ff0c8c329134 100644 --- a/pkgs/os-specific/linux/nixos-rebuild/default.nix +++ b/pkgs/os-specific/linux/nixos-rebuild/default.nix @@ -32,6 +32,7 @@ substituteAll { # run some a simple installer tests to make sure nixos-rebuild still works for them passthru.tests = { + install-bootloader = nixosTests.nixos-rebuild-install-bootloader; simple-installer = nixosTests.installer.simple; specialisations = nixosTests.nixos-rebuild-specialisations; }; diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh index 68e00690652e1..9e75db6d27b51 100755 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh @@ -659,6 +659,7 @@ if [[ "$action" = switch || "$action" = boot || "$action" = test || "$action" = cmd=( "systemd-run" "-E" "LOCALE_ARCHIVE" # Will be set to new value early in switch-to-configuration script, but interpreter starts out with old value + "-E" "NIXOS_INSTALL_BOOTLOADER" "--collect" "--no-ask-password" "--pty" @@ -679,7 +680,12 @@ if [[ "$action" = switch || "$action" = boot || "$action" = test || "$action" = cmd=() elif ! targetHostCmd "${cmd[@]}" true &>/dev/null; then logVerbose "Skipping systemd-run to switch configuration since it is not working in target host." - cmd=("env" "-i" "LOCALE_ARCHIVE=$LOCALE_ARCHIVE") + cmd=( + "env" + "-i" + "LOCALE_ARCHIVE=$LOCALE_ARCHIVE" + "NIXOS_INSTALL_BOOTLOADER=$NIXOS_INSTALL_BOOTLOADER" + ) else logVerbose "Using systemd-run to switch configuration." fi diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix index 7bb4a1b7496e6..8adbb8cab8f91 100644 --- a/pkgs/os-specific/linux/zfs/generic.nix +++ b/pkgs/os-specific/linux/zfs/generic.nix @@ -202,15 +202,15 @@ stdenv'.mkDerivation { changelog = "https://github.com/openzfs/zfs/releases/tag/zfs-${version}"; license = lib.licenses.cddl; - # The case-block for TARGET_CPU has branches for only five CPU families, + # The case-block for TARGET_CPU has branches for only some CPU families, # which prevents ZFS from building on any other platform. Since the NixOS # `boot.zfs.enabled` property is `readOnly`, excluding platforms where ZFS # does not build is the only way to produce a NixOS installer on such # platforms. - # https://github.com/openzfs/zfs/blob/6a6bd493988c75331deab06e5352a9bed035a87d/config/always-arch.m4#L16 + # https://github.com/openzfs/zfs/blob/6723d1110f6daf93be93db74d5ea9f6b64c9bce5/config/always-arch.m4#L12 platforms = with lib.systems.inspect.patterns; - map (p: p // isLinux) [ isx86_32 isx86_64 isPower isAarch64 isSparc ]; + map (p: p // isLinux) ([ isx86_32 isx86_64 isPower isAarch64 isSparc ] ++ isArmv7); maintainers = with lib.maintainers; [ jcumming jonringer globin raitobezarius ]; mainProgram = "zfs"; diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix index afba49779c0f2..bc18c91ef7fe5 100644 --- a/pkgs/servers/dns/knot-dns/default.nix +++ b/pkgs/servers/dns/knot-dns/default.nix @@ -60,6 +60,7 @@ stdenv.mkDerivation rec { inherit knot-resolver; } // lib.optionalAttrs stdenv.isLinux { inherit (nixosTests) knot kea; + prometheus-exporter = nixosTests.prometheus-exporters.knot; # Some dependencies are very version-sensitive, so the might get dropped # or embedded after some update, even if the nixPackagers didn't intend to. # For non-linux I don't know a good replacement for `ldd`. diff --git a/pkgs/servers/homepage-dashboard/default.nix b/pkgs/servers/homepage-dashboard/default.nix index 87ba408e1f72f..4024f3cc4ee6d 100644 --- a/pkgs/servers/homepage-dashboard/default.nix +++ b/pkgs/servers/homepage-dashboard/default.nix @@ -13,16 +13,16 @@ buildNpmPackage rec { pname = "homepage-dashboard"; - version = "0.7.2"; + version = "0.7.4"; src = fetchFromGitHub { owner = "gethomepage"; repo = "homepage"; rev = "v${version}"; - hash = "sha256-p2h1XPVMTZ23nxu/rX/qOQ5DXOZ0ORaXR41ng4pgmmg="; + hash = "sha256-ANQbbKXA1G6O/qEK6frTp9J26nNM+NgVya6d6DsPrv4="; }; - npmDepsHash = "sha256-ZUdBXkQnwh0jrrSKukHeSv3HS1q24Qd12zVnpV71qIY="; + npmDepsHash = "sha256-sk1RqMX4aGJcjysN7udBSPnUvD1vLHdyZ88JQbReOqw="; preBuild = '' mkdir -p config diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix index 04077ad2c261c..9de7a7e093f1d 100644 --- a/pkgs/servers/matrix-synapse/default.nix +++ b/pkgs/servers/matrix-synapse/default.nix @@ -113,10 +113,6 @@ python3.pkgs.buildPythonApplication rec { sentry = [ sentry-sdk ]; - opentracing = [ - jaeger-client - opentracing - ]; jwt = [ authlib ]; diff --git a/pkgs/servers/matrix-synapse/tools/synadm.nix b/pkgs/servers/matrix-synapse/tools/synadm.nix index 37023092a0795..5ae3077060caa 100644 --- a/pkgs/servers/matrix-synapse/tools/synadm.nix +++ b/pkgs/servers/matrix-synapse/tools/synadm.nix @@ -6,12 +6,12 @@ python3.pkgs.buildPythonApplication rec { pname = "synadm"; - version = "0.43.1"; + version = "0.44"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-z8OXrra7+fptd4zs1gxJVGLR+SA8hoexK2qY9zpSowU="; + hash = "sha256-BNmdyEITSZJb+wwyLU+zZi70kmfuYOqVDhKi8xFCf2E="; }; propagatedBuildInputs = with python3.pkgs; [ diff --git a/pkgs/servers/monitoring/cockpit/update.sh b/pkgs/servers/monitoring/cockpit/update.sh deleted file mode 100755 index c1834db9d39c8..0000000000000 --- a/pkgs/servers/monitoring/cockpit/update.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl jq common-updater-scripts - -set -eu -o pipefail - -version="$(curl --silent "https://api.github.com/repos/cockpit-project/cockpit/releases" | jq '.[0].tag_name' --raw-output)" - -update-source-version cockpit "$version" diff --git a/pkgs/servers/monitoring/prometheus/knot-exporter.nix b/pkgs/servers/monitoring/prometheus/knot-exporter.nix index f0b6055f2ba04..8b2573db4f774 100644 --- a/pkgs/servers/monitoring/prometheus/knot-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/knot-exporter.nix @@ -1,39 +1,41 @@ -{ stdenv, fetchFromGitHub, lib, python3, nixosTests }: +{ lib +, python3 +, fetchPypi +, nixosTests +}: -stdenv.mkDerivation rec { +python3.pkgs.buildPythonApplication rec { pname = "knot-exporter"; - version = "unstable-2021-08-21"; + version = "3.3.2"; + pyproject = true; - src = fetchFromGitHub { - owner = "ghedo"; - repo = "knot_exporter"; - rev = "b18eb7db735b50280f0815497475f4c7092a6550"; - sha256 = "sha256-FGzkO/KHDhkM3PA2urNQcrMi3MHADkd0YwAvu1jvfrU="; + src = fetchPypi { + pname = "knot_exporter"; + inherit version; + hash = "sha256-/TBzq9MhYb664TsSD46Ep7gOkLBmmPSK9d89xlgvbSw="; }; - dontBuild = true; + nativeBuildInputs = [ + python3.pkgs.hatchling + ]; - nativeBuildInputs = [ python3.pkgs.wrapPython ]; - buildInputs = [ python3 ]; + propagatedBuildInputs = with python3.pkgs; [ + libknot + prometheus-client + psutil + ]; - installPhase = '' - runHook preInstall - - install -Dm0755 knot_exporter $out/bin/knot_exporter - patchShebangs $out/bin - buildPythonPath ${python3.pkgs.prometheus-client} - patchPythonScript $out/bin/knot_exporter - - runHook postInstall - ''; + pythonImportsCheck = [ + "knot_exporter" + ]; passthru.tests = { inherit (nixosTests.prometheus-exporters) knot; }; meta = with lib; { - homepage = "https://github.com/ghedo/knot_exporter"; - description = " Prometheus exporter for Knot DNS"; + description = "Prometheus exporter for Knot DNS"; + homepage = "https://gitlab.nic.cz/knot/knot-dns/-/tree/master/python/knot_exporter"; license = licenses.gpl3Only; - maintainers = with maintainers; [ ma27 ]; - platforms = platforms.linux; + maintainers = with maintainers; [ ma27 hexa ]; + mainProgram = "knot-exporter"; }; } diff --git a/pkgs/servers/tracing/tempo/default.nix b/pkgs/servers/tracing/tempo/default.nix index 2a992d01ad6a9..d837b6b264274 100644 --- a/pkgs/servers/tracing/tempo/default.nix +++ b/pkgs/servers/tracing/tempo/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, fetchpatch }: buildGoModule rec { pname = "tempo"; @@ -12,6 +12,15 @@ buildGoModule rec { hash = "sha256-23wjD8HTSEGonIMAWCoKORMLIISASxlN4FeY+Bmt/+I="; }; + patches = [ + # Backport patch for Go 1.21 compatibility + # FIXME: remove after 2.3.0 + (fetchpatch { + url = "https://github.com/grafana/tempo/commit/0d37e8f0edd8a96876b0a5f5ab97ef79ff04608f.patch"; + hash = "sha256-YC59g5pdcrwJeQ4raS0Oq+fZvRBKFj4johZtGTAYpEs="; + }) + ]; + vendorHash = null; subPackages = [ diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix index ff6103c94d4c0..41b6ae78a8780 100644 --- a/pkgs/servers/traefik/default.nix +++ b/pkgs/servers/traefik/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "traefik"; - version = "2.10.4"; + version = "2.10.5"; # Archive with static assets for webui src = fetchzip { url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz"; - sha256 = "sha256-rpXSK/6ssUxzYbR1Nf0Cw7Sk6GnhExO4z8OZGQWITZM="; + hash = "sha256-b6CqpVDgyZvgBInlgni1+zukZ7DMzFUV3JdXmh+A+18="; stripRoot = false; }; - vendorHash = "sha256-CsLn8YqQozO+H66ss59Jh+fmDLVx/CzpFY09x2SoI2k="; + vendorHash = "sha256-bQy003IqezNSZU4K9qvApvYW+W4g6RkIqr4okkN/0gI="; subPackages = [ "cmd/traefik" ]; diff --git a/pkgs/shells/nushell/nu_scripts/default.nix b/pkgs/shells/nushell/nu_scripts/default.nix index 8643faccd8ffe..5aa0adae6ebb3 100644 --- a/pkgs/shells/nushell/nu_scripts/default.nix +++ b/pkgs/shells/nushell/nu_scripts/default.nix @@ -6,13 +6,13 @@ stdenvNoCC.mkDerivation rec { pname = "nu_scripts"; - version = "unstable-2023-10-07"; + version = "unstable-2023-10-19"; src = fetchFromGitHub { owner = "nushell"; repo = pname; - rev = "85da8c2fb5967a7f575d8f63ebeb8d49d36fc139"; - hash = "sha256-tT/BTnIXEgcMoyfujzWMFlOM7EclWT9LL/dt5jj7Y2M="; + rev = "7b2856ddff8afac538d826df4abc08325c4be39d"; + hash = "sha256-9OFKtaADDV5I5Yu0sCfQABAmf8yqwX2QwDhPPkh5BEo="; }; installPhase = '' diff --git a/pkgs/shells/nushell/plugins/default.nix b/pkgs/shells/nushell/plugins/default.nix index dfe2a4062c89a..bb3f631cf225d 100644 --- a/pkgs/shells/nushell/plugins/default.nix +++ b/pkgs/shells/nushell/plugins/default.nix @@ -5,4 +5,5 @@ lib.makeScope newScope (self: with self; { formats = callPackage ./formats.nix { inherit IOKit Foundation; }; query = callPackage ./query.nix { inherit IOKit CoreFoundation; }; regex = callPackage ./regex.nix { }; + net = callPackage ./net.nix { inherit IOKit CoreFoundation; }; }) diff --git a/pkgs/shells/nushell/plugins/formats.nix b/pkgs/shells/nushell/plugins/formats.nix index 5f75951b8c955..0603ba9bfb6b4 100644 --- a/pkgs/shells/nushell/plugins/formats.nix +++ b/pkgs/shells/nushell/plugins/formats.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { pname = "nushell_plugin_formats"; inherit (nushell) version src; - cargoHash = "sha256-WS8VRpJnn/VWS7GUkGowFf51ifUx0SbEZzcoTfx2dp0="; + cargoHash = "sha256-Nuo+i1j2l5p3p1hFWipSk0EqZiR+9ZsQyTl3YmyBk+0="; nativeBuildInputs = [ pkg-config ]; buildInputs = lib.optionals stdenv.isDarwin [ IOKit Foundation ]; diff --git a/pkgs/shells/nushell/plugins/gstat.nix b/pkgs/shells/nushell/plugins/gstat.nix index bf788098a5eb9..e35a7c483d86f 100644 --- a/pkgs/shells/nushell/plugins/gstat.nix +++ b/pkgs/shells/nushell/plugins/gstat.nix @@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec { pname = "nushell_plugin_gstat"; inherit (nushell) version src; - cargoHash = "sha256-6luY3SIRRd9vaY9KIJcj8Q974FW0LtAvRjVpdpzkdLo="; + cargoHash = "sha256-GIIY4wK85igsfkwEiQ2+jJQTv5qekqx4y+OG0yt8TgE="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; diff --git a/pkgs/shells/nushell/plugins/net.nix b/pkgs/shells/nushell/plugins/net.nix new file mode 100644 index 0000000000000..940b2d0aff021 --- /dev/null +++ b/pkgs/shells/nushell/plugins/net.nix @@ -0,0 +1,43 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, stdenv +, IOKit +, CoreFoundation +, nix-update-script +}: + +rustPlatform.buildRustPackage { + pname = "nu-plugin-net"; + version = "unstable-2023-09-27"; + + src = fetchFromGitHub { + owner = "fennewald"; + repo = "nu_plugin_net"; + rev = "1761ed3d7f68925f1234316bd62c91d1d9d7cb4d"; + hash = "sha256-ZEktfN/zg/VIiBGq/o0T05tLViML2TzfuLw0qliPQg8="; + }; + + cargoHash = "sha256-bRw9V75VnOL1n2jPs6QI/A3pik00pGiA9ZzQk1F1JRI="; + + nativeBuildInputs = [ + rustPlatform.bindgenHook + ]; + + buildInputs = lib.optionals stdenv.isDarwin [ + CoreFoundation + IOKit + ]; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = with lib; { + description = "A nushell plugin to list system network interfaces"; + homepage = "https://github.com/fennewald/nu_plugin_net"; + license = licenses.mit; + maintainers = with maintainers; [ happysalada ]; + mainProgram = "nu-plugin-net"; + }; +} diff --git a/pkgs/shells/nushell/plugins/query.nix b/pkgs/shells/nushell/plugins/query.nix index 25097a5d6297b..b34d0b17df13b 100644 --- a/pkgs/shells/nushell/plugins/query.nix +++ b/pkgs/shells/nushell/plugins/query.nix @@ -10,7 +10,7 @@ rustPlatform.buildRustPackage { pname = "nushell_plugin_query"; inherit (nushell) version src; - cargoHash = "sha256-xyty3GfI+zNkuHs7LYHBctqXUHZ4/MNNcnnfYvI18do="; + cargoHash = "sha256-l32TKBM01JAiUqhkxPsg76dodirZ/NuGn6/KKgHKS8I="; buildInputs = lib.optionals stdenv.isDarwin [ IOKit CoreFoundation ]; cargoBuildFlags = [ "--package nu_plugin_query" ]; diff --git a/pkgs/shells/nushell/plugins/regex.nix b/pkgs/shells/nushell/plugins/regex.nix index 457c7170a5b3e..24cffddc27c2a 100644 --- a/pkgs/shells/nushell/plugins/regex.nix +++ b/pkgs/shells/nushell/plugins/regex.nix @@ -1,5 +1,4 @@ -{ stdenv -, lib +{ lib , rustPlatform , fetchFromGitHub , nix-update-script diff --git a/pkgs/tools/admin/pulumi-packages/pulumi-azure-native.nix b/pkgs/tools/admin/pulumi-packages/pulumi-azure-native.nix index 5dcd156d555bc..74d9bb28a5013 100644 --- a/pkgs/tools/admin/pulumi-packages/pulumi-azure-native.nix +++ b/pkgs/tools/admin/pulumi-packages/pulumi-azure-native.nix @@ -4,15 +4,30 @@ mkPulumiPackage rec { owner = "pulumi"; repo = "pulumi-azure-native"; - version = "1.92.0"; + version = "2.11.0"; rev = "v${version}"; - hash = "sha256-eSHD7ckiHJJoqJFeSlwxl063QRRTtiWdpu1m9OVRhoA="; - vendorHash = "sha256-DI92fCe8HPwjERkBVlOebZpvCreq9850OeERDkiayz8="; + hash = "sha256-qz/dCQR4BV+noJj7WPGuzDNMaR7I/D01F7FfvxU8z28="; + vendorHash = "sha256-SICms1JJk8Q10XWC69bw/RXsIPL43l1s+Aqy+cLOwRI="; cmdGen = "pulumi-gen-azure-native"; cmdRes = "pulumi-resource-azure-native"; extraLdflags = [ - "-X github.com/pulumi/${repo}/provider/pkg/version.Version=v${version}" + "-X github.com/pulumi/${repo}/v2/provider/pkg/version.Version=${version}" ]; + postConfigure = '' + pushd .. + + chmod +w . provider/cmd/${cmdRes} sdk/ + chmod -R +w reports/ versions/ + mkdir bin + ${cmdGen} schema ${version} + + cp bin/schema-full.json provider/cmd/${cmdRes} + cp bin/metadata-compact.json provider/cmd/${cmdRes} + + popd + + VERSION=v${version} go generate cmd/${cmdRes}/main.go + ''; fetchSubmodules = true; __darwinAllowLocalNetworking = true; meta = with lib; { diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix index bdd0f58235e5a..d4147faf960f1 100644 --- a/pkgs/tools/audio/tts/default.nix +++ b/pkgs/tools/audio/tts/default.nix @@ -16,14 +16,14 @@ let in python.pkgs.buildPythonApplication rec { pname = "tts"; - version = "0.17.4"; + version = "0.18.2"; format = "pyproject"; src = fetchFromGitHub { owner = "coqui-ai"; repo = "TTS"; rev = "refs/tags/v${version}"; - hash = "sha256-yZHdPqvYmlq/ZKeinez4MmO9+jCIl9JAD0t/tc/Uz8c="; + hash = "sha256-bTShJwzxff+R9GkR72qNzd22zY8LwUUsD8r30kZXAsI="; }; postPatch = let diff --git a/pkgs/tools/cd-dvd/ventoy/default.nix b/pkgs/tools/cd-dvd/ventoy/default.nix index cf3bd1fe6c52a..f7b90e6e252d3 100644 --- a/pkgs/tools/cd-dvd/ventoy/default.nix +++ b/pkgs/tools/cd-dvd/ventoy/default.nix @@ -50,7 +50,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "ventoy"; - version = "1.0.95"; + version = "1.0.96"; src = let @@ -58,7 +58,7 @@ stdenv.mkDerivation (finalAttrs: { in fetchurl { url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz"; - hash = "sha256-Tsi541GAMrWBl5xLo/K+uEyaoaDSWvwp5RMzZ5V6RAU="; + hash = "sha256-eUpxfJQ0u3bpAXTUCKlMO/ViwKcBI59YFKJ3xGzSdcg="; }; patches = [ diff --git a/pkgs/tools/misc/czkawka/default.nix b/pkgs/tools/misc/czkawka/default.nix index 3379c0fbe012d..14908c0a402e9 100644 --- a/pkgs/tools/misc/czkawka/default.nix +++ b/pkgs/tools/misc/czkawka/default.nix @@ -65,6 +65,18 @@ rustPlatform.buildRustPackage rec { command = "czkawka_cli --version"; }; + postInstall = '' + # Install Icons + install -Dm444 -t $out/share/icons/hicolor/scalable/apps data/icons/com.github.qarmin.czkawka.svg + install -Dm444 -t $out/share/icons/hicolor/scalable/apps data/icons/com.github.qarmin.czkawka-symbolic.svg + + # Install MetaInfo + install -Dm444 -t $out/share/metainfo data/com.github.qarmin.czkawka.metainfo.xml + + # Install Desktop Entry + install -Dm444 -t $out/share/applications data/com.github.qarmin.czkawka.desktop + ''; + meta = with lib; { changelog = "https://github.com/qarmin/czkawka/raw/${version}/Changelog.md"; description = "A simple, fast and easy to use app to remove unnecessary files from your computer"; diff --git a/pkgs/tools/misc/envsubst/default.nix b/pkgs/tools/misc/envsubst/default.nix index b3a1be04d9290..8cd59df31b1e5 100644 --- a/pkgs/tools/misc/envsubst/default.nix +++ b/pkgs/tools/misc/envsubst/default.nix @@ -22,5 +22,6 @@ buildGoModule rec { homepage = "https://github.com/a8m/envsubst"; license = licenses.mit; maintainers = with maintainers; [ nicknovitski ]; + mainProgram = "envsubst"; }; } diff --git a/pkgs/tools/misc/plantuml-server/default.nix b/pkgs/tools/misc/plantuml-server/default.nix index 113da6a8f406f..039e9acb2e8e9 100644 --- a/pkgs/tools/misc/plantuml-server/default.nix +++ b/pkgs/tools/misc/plantuml-server/default.nix @@ -1,14 +1,14 @@ { lib, stdenv, fetchurl }: let - version = "1.2023.10"; + version = "1.2023.12"; in stdenv.mkDerivation rec { pname = "plantuml-server"; inherit version; src = fetchurl { url = "https://github.com/plantuml/plantuml-server/releases/download/v${version}/plantuml-v${version}.war"; - sha256 = "sha256-EIdqY8sonLaHZCfOfAaUhm4M1XOek2M1OqPZkb/CTg4="; + sha256 = "sha256-RHlv0kVJvAInLAd70001OTcJuh3Qg2C9o+//zR37zxc="; }; dontUnpack = true; diff --git a/pkgs/tools/misc/rpi-imager/default.nix b/pkgs/tools/misc/rpi-imager/default.nix index 61ca001563f59..579aa7fcc5e9c 100644 --- a/pkgs/tools/misc/rpi-imager/default.nix +++ b/pkgs/tools/misc/rpi-imager/default.nix @@ -3,6 +3,7 @@ , fetchFromGitHub , wrapQtAppsHook , cmake +, pkg-config , util-linux , curl , libarchive @@ -12,23 +13,26 @@ , qttools , qtquickcontrols2 , qtgraphicaleffects +, xz +, testers , nix-update-script , enableTelemetry ? false }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "rpi-imager"; - version = "1.7.5"; + version = "1.8.1"; src = fetchFromGitHub { owner = "raspberrypi"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-yB+H1zWL40KzxOrBuvg7nBC3zmWilsOgOW7ndiDWuDA="; + repo = finalAttrs.pname; + rev = "refs/tags/v${finalAttrs.version}"; + sha256 = "sha256-drHiZ0eYYvJg6/v3oEozGAbBKm1KLpec+kYZWwpT9yM="; }; nativeBuildInputs = [ cmake + pkg-config util-linux wrapQtAppsHook ]; @@ -48,40 +52,34 @@ stdenv.mkDerivation rec { qttools qtquickcontrols2 qtgraphicaleffects + xz ]; - sourceRoot = "${src.name}/src"; + sourceRoot = "${finalAttrs.src.name}/src"; /* By default, the builder checks for JSON support in lsblk by running "lsblk --json", but that throws an error, as /sys/dev doesn't exist in the sandbox. This patch removes the check. */ patches = [ ./lsblkCheckFix.patch ]; - doInstallCheck = true; - - installCheckPhase = '' - runHook preInstallCheck - - # Without this, the tests fail because they cannot create the QT Window - export QT_QPA_PLATFORM=offscreen - $out/bin/rpi-imager --version - - runHook postInstallCheck - ''; - passthru = { + tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "QT_QPA_PLATFORM=offscreen rpi-imager --version"; + }; updateScript = nix-update-script { }; }; meta = with lib; { description = "Raspberry Pi Imaging Utility"; homepage = "https://www.raspberrypi.com/software/"; - changelog = "https://github.com/raspberrypi/rpi-imager/releases/tag/v${version}"; + changelog = "https://github.com/raspberrypi/rpi-imager/releases/tag/v${finalAttrs.version}"; downloadPage = "https://github.com/raspberrypi/rpi-imager/"; license = licenses.asl20; + mainProgram = "rpi-imager"; maintainers = with maintainers; [ ymarkus anthonyroussel ]; platforms = platforms.all; # does not build on darwin broken = stdenv.isDarwin; }; -} +}) diff --git a/pkgs/tools/misc/ttyplot/default.nix b/pkgs/tools/misc/ttyplot/default.nix index 7becc090a83bf..a136031dfc137 100644 --- a/pkgs/tools/misc/ttyplot/default.nix +++ b/pkgs/tools/misc/ttyplot/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "ttyplot"; - version = "1.4"; + version = "1.5"; src = fetchFromGitHub { owner = "tenox7"; repo = "ttyplot"; rev = version; - sha256 = "19qm0hx9ljdw9qg78lydn3c627xy7xnx3knq5f7caw9lf0cdp7kf"; + sha256 = "sha256-COnqzWqah1J/q64XrOBhMOsrafAs/BptqNvrjHJ9edQ="; }; buildInputs = [ ncurses ]; diff --git a/pkgs/tools/misc/tvnamer/default.nix b/pkgs/tools/misc/tvnamer/default.nix index 459e3889efc63..a2d5c9e87a4a6 100644 --- a/pkgs/tools/misc/tvnamer/default.nix +++ b/pkgs/tools/misc/tvnamer/default.nix @@ -38,7 +38,7 @@ pypkgs.buildPythonApplication rec { sha256 = "dc2ea8188df6ac56439343630466b874c57756dd0b2538dd8e7905048f425f04"; }; - propagatedBuildInputs = with pypkgs; [ tvdb_api ]; + propagatedBuildInputs = with pypkgs; [ tvdb-api ]; # no tests from pypi doCheck = false; diff --git a/pkgs/tools/networking/godns/default.nix b/pkgs/tools/networking/godns/default.nix index a75fae9f724c8..56b8bf7760b24 100644 --- a/pkgs/tools/networking/godns/default.nix +++ b/pkgs/tools/networking/godns/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "godns"; - version = "3.0.1"; + version = "3.0.4"; src = fetchFromGitHub { owner = "TimothyYe"; repo = "godns"; rev = "refs/tags/v${version}"; - hash = "sha256-MmjPcJxz8wAgBwPg8UaYVniypDeY05yDxehkTL8zjro="; + hash = "sha256-1eJAGBKyTXcFFB7HKkljYQkkidQ3VicHy5MMwHY6iHU="; }; vendorHash = "sha256-iAU62/0MjzxwuMvIobhIZEqDJUpRqwEabnazH7jBRTE="; diff --git a/pkgs/tools/networking/nqptp/default.nix b/pkgs/tools/networking/nqptp/default.nix index 5261a6afb58f0..2db121e2d1891 100644 --- a/pkgs/tools/networking/nqptp/default.nix +++ b/pkgs/tools/networking/nqptp/default.nix @@ -3,26 +3,36 @@ , fetchFromGitHub , autoreconfHook , pkg-config +, gitUpdater }: stdenv.mkDerivation rec { - version = "1.2.3"; + version = "1.2.4"; pname = "nqptp"; src = fetchFromGitHub { owner = "mikebrady"; repo = pname; rev = "refs/tags/${version}"; - hash = "sha256-Ppsz3hDG6sEf6LJ2WdbTdJ8Gi53f0YmvaUU8TOfVMz4="; + hash = "sha256-roTNcr3v2kzE6vQ5plAVtlw1+2yJplltOYsGGibtoZo="; }; + patches = [ + # this patch should be removed when > 1.2.4 + ./remove-setcap.patch + ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; - meta = with lib; { + passthru.updateScript = gitUpdater { + ignoredVersions = ".*(-dev|d0)"; + }; + + meta = { homepage = "https://github.com/mikebrady/nqptp"; description = "Daemon and companion application to Shairport Sync that monitors timing data from any PTP clocks"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ jordanisaacs ]; - platforms = platforms.linux ++ platforms.freebsd; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ jordanisaacs adamcstephens ]; + platforms = lib.platforms.linux ++ lib.platforms.freebsd; }; } diff --git a/pkgs/tools/networking/nqptp/remove-setcap.patch b/pkgs/tools/networking/nqptp/remove-setcap.patch new file mode 100644 index 0000000000000..2fa56ac0150a4 --- /dev/null +++ b/pkgs/tools/networking/nqptp/remove-setcap.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 78f36d7..8dc4e4f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -19,8 +19,6 @@ endif + + install-exec-hook: + if BUILD_FOR_LINUX +-# NQPTP runs as user/group nqptp/nqptp on Linux and uses setcap to access ports 319 and 320 +- setcap 'cap_net_bind_service=+ep' $(bindir)/nqptp + # no installer for System V + if INSTALL_SYSTEMD_STARTUP + getent group nqptp &>/dev/null || groupadd -r nqptp &>/dev/null diff --git a/pkgs/tools/networking/rosenpass/default.nix b/pkgs/tools/networking/rosenpass/default.nix index 07669cfeb01e7..9467904fe6983 100644 --- a/pkgs/tools/networking/rosenpass/default.nix +++ b/pkgs/tools/networking/rosenpass/default.nix @@ -1,85 +1,53 @@ { lib -, targetPlatform , fetchFromGitHub +, nixosTests , rustPlatform +, targetPlatform +, installShellFiles , cmake -, makeWrapper -, pkg-config -, removeReferencesTo -, coreutils -, findutils -, gawk -, wireguard-tools -, bash , libsodium +, pkg-config }: - -let - rpBinPath = lib.makeBinPath [ - coreutils - findutils - gawk - wireguard-tools - ]; -in rustPlatform.buildRustPackage rec { pname = "rosenpass"; - version = "0.2.0"; + version = "unstable-2023-09-28"; + src = fetchFromGitHub { owner = pname; repo = pname; - rev = "v${version}"; - sha256 = "sha256-r7/3C5DzXP+9w4rp9XwbP+/NK1axIP6s3Iiio1xRMbk="; + rev = "b15f17133f8b5c3c5175b4cfd4fc10039a4e203f"; + hash = "sha256-UXAkmt4VY0irLK2k4t6SW+SEodFE3CbX5cFbsPG0ZCo="; }; - cargoHash = "sha256-g2w3lZXQ3Kg3ydKdFs8P2lOPfIkfTbAF0MhxsJoX/E4="; + cargoHash = "sha256-N1DQHkgKgkDQ6DbgQJlpZkZ7AMTqX3P8R/cWr14jK2I="; nativeBuildInputs = [ cmake # for oqs build in the oqs-sys crate - makeWrapper # for the rp shellscript - pkg-config # let libsodium-sys-stable find libsodium - removeReferencesTo + pkg-config rustPlatform.bindgenHook # for C-bindings in the crypto libs + installShellFiles ]; - buildInputs = [ - bash # for patchShebangs to find it - libsodium - ]; - - # otherwise pkg-config tries to link non-existent dynamic libs during the build of liboqs - PKG_CONFIG_ALL_STATIC = true; - - # liboqs requires quite a lot of stack memory, thus we adjust the default stack size picked for - # new threads (which is used by `cargo test`) to be _big enough_ - RUST_MIN_STACK = 8 * 1024 * 1024; # 8 MiB + buildInputs = [ libsodium ]; # nix defaults to building for aarch64 _without_ the armv8-a # crypto extensions, but liboqs depends on these - preBuild = lib.optionalString targetPlatform.isAarch - ''NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -march=armv8-a+crypto"''; - - preInstall = '' - install -D rp $out/bin/rp - wrapProgram $out/bin/rp --prefix PATH : "${ rpBinPath }" - for file in doc/*.1 - do - install -D $file $out/share/man/man1/''${file##*/} - done + preBuild = lib.optionalString targetPlatform.isAarch64 '' + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -march=armv8-a+crypto" ''; - # nix propagates the *.dev outputs of buildInputs for static builds, but that is non-sense for an - # executables only package - postFixup = '' - find -type f -exec remove-references-to -t ${bash.dev} \ - -t ${libsodium.dev} {} \; + postInstall = '' + installManPage doc/rosenpass.1 ''; + passthru.tests.rosenpass = nixosTests.rosenpass; + meta = with lib; { description = "Build post-quantum-secure VPNs with WireGuard!"; homepage = "https://rosenpass.eu/"; license = with licenses; [ mit /* or */ asl20 ]; maintainers = with maintainers; [ wucke13 ]; - platforms = platforms.all; + platforms = [ "aarch64-darwin" "aarch64-linux" "x86_64-darwin" "x86_64-linux" ]; + mainProgram = "rosenpass"; }; } diff --git a/pkgs/tools/networking/rosenpass/tools.nix b/pkgs/tools/networking/rosenpass/tools.nix new file mode 100644 index 0000000000000..fb59436b38105 --- /dev/null +++ b/pkgs/tools/networking/rosenpass/tools.nix @@ -0,0 +1,30 @@ +{ lib +, stdenv +, makeWrapper +, installShellFiles +, coreutils +, findutils +, gawk +, rosenpass +, wireguard-tools +}: +stdenv.mkDerivation { + inherit (rosenpass) version src; + pname = "rosenpass-tools"; + + nativeBuildInputs = [ makeWrapper installShellFiles ]; + + postInstall = '' + install -D $src/rp $out/bin/rp + installManPage $src/doc/rp.1 + wrapProgram $out/bin/rp \ + --prefix PATH : ${lib.makeBinPath [ + coreutils findutils gawk rosenpass wireguard-tools + ]} + ''; + + meta = rosenpass.meta // { + description = "This package contains the Rosenpass tool `rp`, which is a script that wraps the `rosenpass` binary."; + mainProgram = "rp"; + }; +} diff --git a/pkgs/tools/package-management/nixpkgs-review/default.nix b/pkgs/tools/package-management/nixpkgs-review/default.nix index bc4ba3f630f81..5e57c69642384 100644 --- a/pkgs/tools/package-management/nixpkgs-review/default.nix +++ b/pkgs/tools/package-management/nixpkgs-review/default.nix @@ -16,14 +16,14 @@ python3.pkgs.buildPythonApplication rec { pname = "nixpkgs-review"; - version = "2.10.2"; + version = "2.10.3"; format = "pyproject"; src = fetchFromGitHub { owner = "Mic92"; repo = "nixpkgs-review"; rev = version; - hash = "sha256-x41piT7peYV3sNMVYsqcjCU4u+PayZb05JIWBeWF7jw="; + hash = "sha256-iO+B/4UsMi+vf85oyLwZTigZ+mmt7Sk3qGba20/0XBs="; }; nativeBuildInputs = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 637ef9e037b6a..c79113a566875 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12827,6 +12827,8 @@ with pkgs; rosenpass = callPackage ../tools/networking/rosenpass { }; + rosenpass-tools = callPackage ../tools/networking/rosenpass/tools.nix { }; + rot8 = callPackage ../tools/misc/rot8 { }; rowhammer-test = callPackage ../tools/system/rowhammer-test { }; @@ -17145,9 +17147,7 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreGraphics Foundation; }; - cargo-nextest = callPackage ../development/tools/rust/cargo-nextest { - inherit (darwin.apple_sdk.frameworks) Security; - }; + cargo-nextest = callPackage ../development/tools/rust/cargo-nextest { }; cargo-play = callPackage ../development/tools/rust/cargo-play { }; cargo-profiler = callPackage ../development/tools/rust/cargo-profiler { }; cargo-raze = callPackage ../development/tools/rust/cargo-raze { @@ -17499,7 +17499,7 @@ with pkgs; zulu11 = callPackage ../development/compilers/zulu/11.nix { }; zulu17 = callPackage ../development/compilers/zulu/17.nix { }; zulu21 = callPackage ../development/compilers/zulu/21.nix { }; - zulu = zulu11; + zulu = zulu21; ### DEVELOPMENT / INTERPRETERS @@ -17714,7 +17714,9 @@ with pkgs; joker = callPackage ../development/interpreters/joker { }; - davmail = callPackage ../applications/networking/davmail { }; + davmail = callPackage ../applications/networking/davmail { + zulu = zulu11; + }; kamilalisp = callPackage ../development/interpreters/kamilalisp { }; @@ -26280,8 +26282,6 @@ with pkgs; clickhouse-backup = callPackage ../development/tools/database/clickhouse-backup { }; - cockpit = callPackage ../servers/monitoring/cockpit { }; - codeowners = callPackage ../development/tools/codeowners { }; couchdb3 = callPackage ../servers/http/couchdb/3.nix { }; @@ -29710,7 +29710,9 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Foundation SystemConfiguration; }; - nordic = callPackage ../data/themes/nordic { }; + nordic = callPackage ../data/themes/nordic { + inherit (libsForQt5) breeze-icons plasma-framework plasma-workspace; + }; nordzy-cursor-theme = callPackage ../data/icons/nordzy-cursor-theme { }; @@ -30181,8 +30183,6 @@ with pkgs; vollkorn = callPackage ../data/fonts/vollkorn { }; - whatsapp-emoji-font = callPackage ../data/fonts/whatsapp-emoji { }; - weather-icons = callPackage ../data/fonts/weather-icons { }; whitesur-cursors = callPackage ../data/icons/whitesur-cursors { }; @@ -30886,10 +30886,6 @@ with pkgs; clapper = callPackage ../applications/video/clapper { }; - ciscoPacketTracer7 = callPackage ../applications/networking/cisco-packet-tracer/7.nix { }; - - ciscoPacketTracer8 = callPackage ../applications/networking/cisco-packet-tracer/8.nix { }; - claws-mail = callPackage ../applications/networking/mailreaders/claws-mail { }; cligh = python3Packages.callPackage ../development/tools/github/cligh { }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 164475b96eb81..0d7e6321d548f 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -351,6 +351,7 @@ mapAliases ({ PyVirtualDisplay = pyvirtualdisplay; # added 2023-02-19 pywick = throw "pywick has been removed, since it is no longer maintained"; # added 2023-07-01 qasm2image = throw "qasm2image is no longer maintained (since November 2018), and is not compatible with the latest pythonPackages.qiskit versions."; # added 2020-12-09 + qds_sdk = qds-sdk; # added 2023-10-21 Quandl = quandl; # added 2023-02-19 qiskit-aqua = throw "qiskit-aqua has been removed due to deprecation, with its functionality moved to different qiskit packages"; rabbitpy = throw "rabbitpy has been removed, since it is unmaintained and broken"; # added 2023-07-01 @@ -407,6 +408,7 @@ mapAliases ({ TheanoWithoutCuda = theanoWithoutCuda; # added 2023-02-19 transip = throw "transip has been removed because it is no longer maintained. TransIP SOAP V5 API was marked as deprecated"; # added 2023-02-27 tumpa = throw "tumpa was promoted to a top-level attribute"; # added 2022-11-19 + tvdb_api = tvdb-api; # added 2023-10-20 tvnamer = throw "tvnamer was moved to pkgs.tvnamer"; # added 2021-07-05 types-cryptography = throw "types-cryptography has been removed because it is obsolete since cryptography version 3.4.4."; # added 2022-05-30 types-paramiko = throw "types-paramiko has been removed because it was unused."; # added 2022-05-30 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bf18ff41cd243..60dd73c24a54f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5937,7 +5937,7 @@ self: super: with self; { kivy = callPackage ../development/python-modules/kivy { inherit (pkgs) mesa; - inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices AVFoundation; + inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate ApplicationServices AVFoundation; }; kivy-garden = callPackage ../development/python-modules/kivy-garden { }; @@ -6142,6 +6142,8 @@ self: super: with self; { libkeepass = callPackage ../development/python-modules/libkeepass { }; + libknot = callPackage ../development/python-modules/libknot { }; + liblarch = callPackage ../development/python-modules/liblarch { }; liblzfse = callPackage ../development/python-modules/liblzfse { @@ -11855,7 +11857,7 @@ self: super: with self; { qdrant-client = callPackage ../development/python-modules/qdrant-client { }; - qds_sdk = callPackage ../development/python-modules/qds_sdk { }; + qds-sdk = callPackage ../development/python-modules/qds-sdk { }; qgrid = callPackage ../development/python-modules/qgrid { }; @@ -14176,7 +14178,7 @@ self: super: with self; { tuyaha = callPackage ../development/python-modules/tuyaha { }; - tvdb_api = callPackage ../development/python-modules/tvdb_api { }; + tvdb-api = callPackage ../development/python-modules/tvdb-api { }; tweedledum = callPackage ../development/python-modules/tweedledum { };