From 09726de8632708408fa8edafc5c7f11f859500c6 Mon Sep 17 00:00:00 2001 From: quasigod-io Date: Tue, 27 Dec 2022 13:37:08 -0500 Subject: [PATCH 01/46] unicurses: init at 2.1.3 --- .../python-modules/unicurses/default.nix | 31 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/python-modules/unicurses/default.nix diff --git a/pkgs/development/python-modules/unicurses/default.nix b/pkgs/development/python-modules/unicurses/default.nix new file mode 100644 index 000000000000..0d4f75264ca2 --- /dev/null +++ b/pkgs/development/python-modules/unicurses/default.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, ncurses, x256 }: + +buildPythonPackage rec { + pname = "unicurses"; + version = "2.1.3"; + format = "setuptools"; + + src = fetchPypi { + inherit version; + pname = "Uni-Curses"; + hash = "sha256-uzSiF0jAZzI0iZngM/GuJ60o+UbLQ5XQzycTPito34w="; + }; + + propagatedBuildInputs = [ x256 ]; + + # Necessary because ctypes.util.find_library does not find the ncurses libraries + postPatch = '' + substituteInPlace './unicurses/__init__.py' \ + --replace "find_library('ncursesw')" '"${ncurses}/lib/libncursesw.so.6"' \ + --replace "find_library('panelw')" '"${ncurses}/lib/libpanelw.so.6"' + ''; + + pythonImportsCheck = [ "unicurses" ]; + + meta = with lib; { + description = "Unified Curses Wrapper for Python"; + homepage = "https://github.com/unicurses/unicurses"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ michaelBelsanti ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2c8945f53617..9b95fadfa8ef 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11585,6 +11585,8 @@ self: super: with self; { unicorn-emu = pkgs.unicorn; }; + unicurses = callPackage ../development/python-modules/unicurses { }; + unicrypto = callPackage ../development/python-modules/unicrypto { }; unidecode = callPackage ../development/python-modules/unidecode { }; From 0092b9bc72e7ba27b9ce2578d27fd5b7915aa4a0 Mon Sep 17 00:00:00 2001 From: quasigod-io Date: Tue, 27 Dec 2022 13:36:51 -0500 Subject: [PATCH 02/46] tuifimanager: init at 2.3.4 --- .../file-managers/tuifimanager/default.nix | 38 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 40 insertions(+) create mode 100644 pkgs/applications/file-managers/tuifimanager/default.nix diff --git a/pkgs/applications/file-managers/tuifimanager/default.nix b/pkgs/applications/file-managers/tuifimanager/default.nix new file mode 100644 index 000000000000..e9bb2b3e8064 --- /dev/null +++ b/pkgs/applications/file-managers/tuifimanager/default.nix @@ -0,0 +1,38 @@ +{ lib, python3Packages, fetchFromGitHub }: + +python3Packages.buildPythonApplication rec { + pname = "tuifimanager"; + version = "2.3.4"; + format = "setuptools"; + + src = fetchFromGitHub { + repo = pname; + owner = "GiorgosXou"; + rev = "v.${version}"; + hash = "sha256-KJYPpeBALyg6Gd1GQgJbvGdJbAT47qO9FnSH7GhO4oQ="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "Send2Trash == 1.8.0" "Send2Trash >= 1.8.0" + ''; + + propagatedBuildInputs = with python3Packages; [ unicurses send2trash ]; + pythonImportsCheck = [ "TUIFIManager" ]; + + # Tests currently cause build to fail + doCheck = false; + + meta = with lib; { + description = "A cross-platform terminal-based termux-oriented file manager"; + longDescription = '' + A cross-platform terminal-based termux-oriented file manager (and component), + meant to be used with a Uni-Curses project or as is. This project is mainly an + attempt to get more attention to the Uni-Curses project. + ''; + homepage = "https://github.com/GiorgosXou/TUIFIManager"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ michaelBelsanti ]; + mainProgram = "tuifi"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 87376adb55f1..a64abd36f195 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2268,6 +2268,8 @@ with pkgs; spaceFM = callPackage ../applications/file-managers/spacefm { }; + tuifimanager = callPackage ../applications/file-managers/tuifimanager { }; + vifm = callPackage ../applications/file-managers/vifm { }; vifm-full = vifm.override { From d945687cf606e155080d1035d17bc10c3cf0d9ae Mon Sep 17 00:00:00 2001 From: Christoph Honal Date: Sat, 10 Dec 2022 13:43:33 +0100 Subject: [PATCH 03/46] lv_img_conv: init at 0.4.0 --- .../development/tools/lv_img_conv/default.nix | 66 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 70 insertions(+) create mode 100644 pkgs/development/tools/lv_img_conv/default.nix diff --git a/pkgs/development/tools/lv_img_conv/default.nix b/pkgs/development/tools/lv_img_conv/default.nix new file mode 100644 index 000000000000..dc1a4f5ae023 --- /dev/null +++ b/pkgs/development/tools/lv_img_conv/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, buildNpmPackage +, fetchFromGitHub +, pkg-config +, python3 +, pixman +, libpng +, libjpeg +, librsvg +, giflib +, cairo +, pango +, nodePackages +, makeWrapper +, CoreText +, nix-update-script +}: + +buildNpmPackage rec { + pname = "lv_img_conv"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "lvgl"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-LB7NZKwrpvps1cKzRoARHL4S48gBHadvxwA6JMmm/ME="; + }; + + npmDepsHash = "sha256-uDF22wlL3BlMQ/+Wmtgyjp4CVN6sDnjqjEPB4SeQuPk="; + + nativeBuildInputs = [ + pkg-config + python3 + makeWrapper + ]; + + buildInputs = [ + pixman + libpng + libjpeg + librsvg + giflib + cairo + pango + ] ++ lib.optionals stdenv.isDarwin [ + CoreText + ]; + + postInstall = '' + makeWrapper ${nodePackages.ts-node}/bin/ts-node $out/bin/lv_img_conv --add-flags $out/lib/node_modules/lv_img_conv/lib/cli.ts + ''; + + passthru.updateScript = nix-update-script { + attrPath = pname; + }; + + meta = with lib; { + changelog = "https://github.com/lvgl/lv_img_conv/releases/tag/v${version}"; + description = "Image converter for LVGL"; + homepage = "https://github.com/lvgl/lv_img_conv"; + license = licenses.mit; + maintainers = with maintainers; [ stargate01 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 726b157b81c9..17aec898c540 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9312,6 +9312,10 @@ with pkgs; lv = callPackage ../tools/text/lv { }; + lv_img_conv = callPackage ../development/tools/lv_img_conv { + inherit (darwin.apple_sdk.frameworks) CoreText; + }; + lxc = callPackage ../os-specific/linux/lxc { autoreconfHook = buildPackages.autoreconfHook269; }; From be57fca54a5b728171d2cb17be9118c2897246dc Mon Sep 17 00:00:00 2001 From: Felix Albrigtsen Date: Sun, 18 Sep 2022 00:20:33 +0200 Subject: [PATCH 04/46] maintainers: add felixalbrigtsen --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3f534813908c..9103812f5910 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4672,6 +4672,13 @@ keys = [{ fingerprint = "F5F0 2BCE 3580 BF2B 707A AA8C 2FD3 4A9E 2671 91B8"; }]; matrix = "@felipeqq2:pub.solar"; }; + felixalbrigtsen = { + email = "felixalbrigtsen@gmail.com"; + github = "felixalbrigtsen"; + githubId = 64613093; + name = "Felix Albrigtsen"; + matrix = "@felixalb:pvv.ntnu.no"; + }; felixscheinost = { name = "Felix Scheinost"; email = "felix.scheinost@posteo.de"; From 070069676ea175ae3171998ef90565d1b459616d Mon Sep 17 00:00:00 2001 From: Felix Albrigtsen Date: Sun, 18 Sep 2022 00:27:16 +0200 Subject: [PATCH 05/46] phetch: init at 1.2.0 --- .../networking/gopher/phetch/default.nix | 56 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 60 insertions(+) create mode 100644 pkgs/applications/networking/gopher/phetch/default.nix diff --git a/pkgs/applications/networking/gopher/phetch/default.nix b/pkgs/applications/networking/gopher/phetch/default.nix new file mode 100644 index 000000000000..8cdd3dc06325 --- /dev/null +++ b/pkgs/applications/networking/gopher/phetch/default.nix @@ -0,0 +1,56 @@ +{ lib +, stdenv +, fetchFromGitHub +, installShellFiles +, rustPlatform +, pkg-config +, openssl +, scdoc +, Security +, which +}: + +rustPlatform.buildRustPackage rec { + pname = "phetch"; + version = "1.2.0"; + + outputs = [ "out" "man" ]; + + src = fetchFromGitHub { + owner = "xvxx"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-J+ka7/B37WzVPPE2Krkd/TIiVwuKfI2QYWmT0JHgBGQ="; + }; + + cargoSha256 = "sha256-y3Y5PnZ51Zc3LmVTijUGnb0KaGm28sWOSYxjuM3A1Zk="; + + nativeBuildInputs = [ installShellFiles pkg-config scdoc which ]; + buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; + + postInstall = '' + make manual + installManPage doc/phetch.1 + ''; + + doCheck = true; + + meta = with lib; { + description = "A quick lil gopher client for your terminal, written in rust"; + longDescription = '' + phetch is a terminal client designed to help you quickly navigate the gophersphere. + - <1MB executable for Linux, Mac, and NetBSD + - Technicolor design (based on GILD) + - No-nonsense keyboard navigation + - Supports Gopher searches, text and menu pages, and downloads + - Save your favorite Gopher sites with bookmarks + - Opt-in history tracking + - Secure Gopher support (TLS) + - Tor support + ''; + changelog = "https://github.com/xvxx/phetch/releases/tag/v${version}"; + homepage = "https://github.com/xvxx/phetch"; + license = licenses.mit; + maintainers = with maintainers; [ felixalbrigtsen ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1c0d8541029d..f57e24444fc9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22414,6 +22414,10 @@ with pkgs; pe-parse = callPackage ../development/libraries/pe-parse { }; + phetch = callPackage ../applications/networking/gopher/phetch { + inherit (darwin.apple_sdk.frameworks) Security; + }; + inherit (callPackage ../development/libraries/physfs { inherit (darwin.apple_sdk.frameworks) Foundation; }) From 96c41775f0441b8ec553cb9f05be939caa098fc2 Mon Sep 17 00:00:00 2001 From: kilianar Date: Mon, 20 Jun 2022 22:46:30 +0200 Subject: [PATCH 06/46] image_optim: add oxipng, fix optional workers Support for [oxipng](https://github.com/shssoichiro/oxipng) was added with [version 0.31.0](https://github.com/toy/image_optim/blob/master/CHANGELOG.markdown#v0310-2021-10-03). So we add `oxipng` as an optional dependency. If some optional workers are disabled `image_optim` fails with an error message like: ``` Bin resolving errors: pngout worker: `pngout` not found; please provide proper binary or disable this worker (--no-pngout argument or `:pngout => false` through options) ``` To fix the problem the flag `--no-program` is added while wrapping if the worker `program` is disabled. --- .../graphics/image_optim/default.nix | 37 +++++++++++++++---- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/graphics/image_optim/default.nix b/pkgs/applications/graphics/image_optim/default.nix index a7ae37dbc0c4..94b16d57467d 100644 --- a/pkgs/applications/graphics/image_optim/default.nix +++ b/pkgs/applications/graphics/image_optim/default.nix @@ -1,9 +1,10 @@ { lib, bundlerApp, bundlerUpdateScript, makeWrapper, withPngcrush ? true, pngcrush, - withPngout ? true, pngout, + withPngout ? false, pngout, # disabled by default because it's unfree withAdvpng ? true, advancecomp, withOptipng ? true, optipng, withPngquant ? true, pngquant, + withOxipng ? true, oxipng, withJhead ? true, jhead, withJpegoptim ? true, jpegoptim, withJpegrecompress ? true, jpeg-archive, @@ -15,18 +16,31 @@ with lib; let - optionalDepsPath = [] - ++ optional withPngcrush pngcrush + optionalDepsPath = optional withPngcrush pngcrush ++ optional withPngout pngout ++ optional withAdvpng advancecomp ++ optional withOptipng optipng ++ optional withPngquant pngquant + ++ optional withOxipng oxipng ++ optional withJhead jhead ++ optional withJpegoptim jpegoptim ++ optional withJpegrecompress jpeg-archive ++ optional withJpegtran libjpeg ++ optional withGifsicle gifsicle ++ optional withSvgo svgo; + + disabledWorkersFlags = optional (!withPngcrush) "--no-pngcrush" + ++ optional (!withPngout) "--no-pngout" + ++ optional (!withAdvpng) "--no-advpng" + ++ optional (!withOptipng) "--no-optipng" + ++ optional (!withPngquant) "--no-pngquant" + ++ optional (!withOxipng) "--no-oxipng" + ++ optional (!withJhead) "--no-jhead" + ++ optional (!withJpegoptim) "--no-jpegoptim" + ++ optional (!withJpegrecompress) "--no-jpegrecompress" + ++ optional (!withJpegtran) "--no-jpegtran" + ++ optional (!withGifsicle) "--no-gifsicle" + ++ optional (!withSvgo) "--no-svgo"; in bundlerApp { @@ -39,16 +53,23 @@ bundlerApp { postBuild = '' wrapProgram $out/bin/image_optim \ - --prefix PATH : ${lib.escapeShellArg (makeBinPath optionalDepsPath)} + --prefix PATH : ${lib.escapeShellArg (makeBinPath optionalDepsPath)} \ + --add-flags "${lib.concatStringsSep " " disabledWorkersFlags}" ''; passthru.updateScript = bundlerUpdateScript "image_optim"; meta = with lib; { - description = "Command line tool and ruby interface to optimize (lossless compress, optionally lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, pngcrush, pngout, pngquant, svgo)"; - homepage = "https://github.com/toy/image_optim"; - license = licenses.mit; + description = "Optimize images using multiple utilities"; + longDescription = '' + Command line tool and ruby interface to optimize (lossless compress, + optionally lossy) jpeg, png, gif and svg images using external utilities + (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, + jpegtran, optipng, oxipng, pngcrush, pngout, pngquant, svgo) + ''; + homepage = "https://github.com/toy/image_optim"; + license = licenses.mit; maintainers = with maintainers; [ srghma nicknovitski ]; - platforms = platforms.all; + platforms = platforms.all; }; } From c6324f8b63cbd33ac685b5b43453770c7e38d9a8 Mon Sep 17 00:00:00 2001 From: kilianar Date: Mon, 23 Jan 2023 23:59:18 +0100 Subject: [PATCH 07/46] image_optim: 0.31.1 -> 0.31.3 https://github.com/toy/image_optim/releases/tag/v0.31.3 --- pkgs/applications/graphics/image_optim/Gemfile.lock | 8 ++++---- pkgs/applications/graphics/image_optim/gemset.nix | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/graphics/image_optim/Gemfile.lock b/pkgs/applications/graphics/image_optim/Gemfile.lock index db55fa8be3ee..9e4c665827df 100644 --- a/pkgs/applications/graphics/image_optim/Gemfile.lock +++ b/pkgs/applications/graphics/image_optim/Gemfile.lock @@ -1,15 +1,15 @@ GEM remote: https://rubygems.org/ specs: - exifr (1.3.9) + exifr (1.3.10) fspath (3.1.2) - image_optim (0.31.1) + image_optim (0.31.3) exifr (~> 1.2, >= 1.2.2) fspath (~> 3.0) image_size (>= 1.5, < 4) in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) - image_size (3.0.2) + image_size (3.2.0) in_threads (1.6.0) progress (3.6.0) @@ -20,4 +20,4 @@ DEPENDENCIES image_optim BUNDLED WITH - 2.3.9 + 2.4.6 diff --git a/pkgs/applications/graphics/image_optim/gemset.nix b/pkgs/applications/graphics/image_optim/gemset.nix index b9ea65e55224..b9de8acc28d1 100644 --- a/pkgs/applications/graphics/image_optim/gemset.nix +++ b/pkgs/applications/graphics/image_optim/gemset.nix @@ -4,10 +4,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mylhwmh6n4xihxr9s3zj0lc286f5maxbqd4dgk3paqnd7afz88s"; + sha256 = "08fmmswa9fwymwsa2gzlm856ak3y9kjxdzm4zdrcrfyxs2p8yqwc"; type = "gem"; }; - version = "1.3.9"; + version = "1.3.10"; }; fspath = { groups = ["default"]; @@ -25,20 +25,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1l3n59w1cbvfg2srfa14g3jdqwbkf7l86g4qrgfz3qps7zi0drg7"; + sha256 = "02iw1plldayr1l8bdw2gshq0h083h0fxwji1m1nfhzikz917c07p"; type = "gem"; }; - version = "0.31.1"; + version = "0.31.3"; }; image_size = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "033k72f8n28psm89wv1qwsrnqyzz57ihyivyi442wha6vr9iyjz3"; + sha256 = "10slvvyam8gkdjzlhb3wb21hp46ay18miyh1advwvyny660rmdsb"; type = "gem"; }; - version = "3.0.2"; + version = "3.2.0"; }; in_threads = { groups = ["default"]; From 018143e394a220479cdd9d48557d2d0e3f87a085 Mon Sep 17 00:00:00 2001 From: Florian Brandes Date: Sun, 19 Mar 2023 09:08:53 +0100 Subject: [PATCH 08/46] python3Packages.types-pyopenssl: init at 23.0.0.4 Signed-off-by: Florian Brandes Co-authored-by: Fabian Affolter --- .../types-pyopenssl/default.nix | 35 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/python-modules/types-pyopenssl/default.nix diff --git a/pkgs/development/python-modules/types-pyopenssl/default.nix b/pkgs/development/python-modules/types-pyopenssl/default.nix new file mode 100644 index 000000000000..2c6dc21c478d --- /dev/null +++ b/pkgs/development/python-modules/types-pyopenssl/default.nix @@ -0,0 +1,35 @@ +{ lib +, buildPythonPackage +, fetchPypi +, cryptography +}: + +buildPythonPackage rec { + pname = "types-pyopenssl"; + version = "23.0.0.4"; + format = "setuptools"; + + src = fetchPypi { + pname = "types-pyOpenSSL"; + inherit version; + hash = "sha256-izVQtuGdUc54qr1ySw2OvZYggaX86V5/haWS3828Fr8="; + }; + + propagatedBuildInputs = [ + cryptography + ]; + + # Module doesn't have tests + doCheck = false; + + pythonImportsCheck = [ + "OpenSSL-stubs" + ]; + + meta = with lib; { + description = "Typing stubs for pyopenssl"; + homepage = "https://github.com/python/typeshed"; + license = licenses.asl20; + maintainers = with maintainers; [ gador ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d900cef9ec56..1c05573fcca2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12017,6 +12017,8 @@ self: super: with self; { types-psutil = callPackage ../development/python-modules/types-psutil { }; + types-pyopenssl = callPackage ../development/python-modules/types-pyopenssl { }; + types-python-dateutil = callPackage ../development/python-modules/types-python-dateutil { }; types-pytz = callPackage ../development/python-modules/types-pytz { }; From a8ee4e3ce491887583fd0b594e8197505a4256bc Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sun, 2 Apr 2023 10:34:04 +0200 Subject: [PATCH 09/46] python310Packages.google-auth: 2.16.1 -> 2.17.1 Changelog: https://github.com/googleapis/google-auth-library-python/blob/v2.17.1/CHANGELOG.md --- .../python-modules/google-auth/default.nix | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix index eb96d3118918..1d53c35a9879 100644 --- a/pkgs/development/python-modules/google-auth/default.nix +++ b/pkgs/development/python-modules/google-auth/default.nix @@ -1,41 +1,40 @@ -{ stdenv -, lib +{ lib +, stdenv , buildPythonPackage -, fetchPypi -, cachetools -, pyasn1-modules -, rsa -, six , aiohttp -, cryptography -, pyopenssl -, pyu2f -, requests -, pythonOlder , aioresponses -, asynctest +, cachetools +, cryptography +, fetchPypi , flask , freezegun , grpcio , mock , oauth2client +, pyasn1-modules +, pyopenssl , pytest-asyncio , pytest-localserver , pytestCheckHook +, pythonOlder +, pyu2f +, requests , responses +, rsa +, six , urllib3 }: buildPythonPackage rec { pname = "google-auth"; - version = "2.16.1"; + version = "2.17.1"; format = "setuptools"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-X9FwmGvOa/17tchFxLg2LtseDLqQHgYhlug/i7XV0yw="; + hash = "sha256-jzebRrrTga0qC5id+wwTrSjTwqefJzSCE/iUah0V1Vo="; }; propagatedBuildInputs = [ @@ -67,7 +66,6 @@ buildPythonPackage rec { nativeCheckInputs = [ aioresponses - asynctest flask freezegun grpcio From 39b16d6b3c79257312c85d81e63bd925b25681a6 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 3 Apr 2023 23:46:15 +0200 Subject: [PATCH 10/46] python310Packages.time-machine: 2.8.2 -> 2.9.0 Diff: https://github.com/adamchainz/time-machine/compare/2.8.2...2.9.0 --- pkgs/development/python-modules/time-machine/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/time-machine/default.nix b/pkgs/development/python-modules/time-machine/default.nix index d228205dc665..6863a02855a0 100644 --- a/pkgs/development/python-modules/time-machine/default.nix +++ b/pkgs/development/python-modules/time-machine/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "time-machine"; - version = "2.8.2"; + version = "2.9.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "adamchainz"; repo = pname; rev = version; - hash = "sha256-EFlvO9QlOP351kZAFQ+hwghL+7m+Cin/OyLV3NX+y8E="; + hash = "sha256-mE9unzVh0QXSl93hHH43o8AshDEzrl2NXsBJ2fph5is="; }; propagatedBuildInputs = [ From 5451b89b28b707ea8970d8a303512e624c36628e Mon Sep 17 00:00:00 2001 From: Euan Kemp Date: Fri, 17 Mar 2023 12:08:25 +0900 Subject: [PATCH 11/46] ankisyncd: use bundled anki version Updating anki in the next commit will break it otherwise. --- pkgs/servers/ankisyncd/default.nix | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/pkgs/servers/ankisyncd/default.nix b/pkgs/servers/ankisyncd/default.nix index 45a43669502b..b5e91bc1bb63 100644 --- a/pkgs/servers/ankisyncd/default.nix +++ b/pkgs/servers/ankisyncd/default.nix @@ -1,7 +1,6 @@ { lib , fetchFromGitHub , python3 -, anki }: python3.pkgs.buildPythonApplication rec { @@ -11,7 +10,8 @@ python3.pkgs.buildPythonApplication rec { owner = "ankicommunity"; repo = "anki-sync-server"; rev = version; - sha256 = "196xhd6vzp1ncr3ahz0bv0gp1ap2s37j8v48dwmvaywzayakqdab"; + hash = "sha256-RXrdJGJ+HMSpDGQBuVPPqsh3+uwAgE6f7ZJ0yFRMI8I="; + fetchSubmodules = true; }; format = "other"; @@ -21,6 +21,7 @@ python3.pkgs.buildPythonApplication rec { mkdir -p $out/${python3.sitePackages} cp -r ankisyncd utils ankisyncd.conf $out/${python3.sitePackages} + cp -r anki-bundled/anki $out/${python3.sitePackages} mkdir $out/share cp ankisyncctl.py $out/share/ @@ -28,7 +29,7 @@ python3.pkgs.buildPythonApplication rec { ''; fixupPhase = '' - PYTHONPATH="$PYTHONPATH:$out/${python3.sitePackages}:${anki}" + PYTHONPATH="$PYTHONPATH:$out/${python3.sitePackages}" makeWrapper "${python3.interpreter}" "$out/bin/ankisyncd" \ --set PYTHONPATH $PYTHONPATH \ @@ -46,14 +47,14 @@ python3.pkgs.buildPythonApplication rec { buildInputs = [ ]; - propagatedBuildInputs = [ anki ]; + propagatedBuildInputs = with python3.pkgs; [ + decorator + requests + ]; checkPhase = '' - # Exclude tests that require sqlite's sqldiff command, since - # it isn't yet packaged for NixOS, although 2 PRs exist: - # - https://github.com/NixOS/nixpkgs/pull/69112 - # - https://github.com/NixOS/nixpkgs/pull/75784 - # Once this is merged, these tests can be run as well. + # skip these tests, our files are too young: + # tests/test_web_media.py::SyncAppFunctionalMediaTest::test_sync_mediaChanges ValueError: ZIP does not support timestamps before 1980 pytest --ignore tests/test_web_media.py tests/ ''; From fbe6137a0d773bb44e6f92129a4995eae2e12b03 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Sat, 8 Apr 2023 21:56:32 +0200 Subject: [PATCH 12/46] noto-fonts: 20201206-phase3 -> 23.4.1 --- pkgs/data/fonts/noto-fonts/default.nix | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix index b3e4d7d67bce..abd6ad0b2c31 100644 --- a/pkgs/data/fonts/noto-fonts/default.nix +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -24,8 +24,6 @@ let Google’s answer to tofu. The name noto is to convey the idea that Google’s goal is to see “no more tofu”. Noto has multiple styles and weights, and freely available to all. - - This package also includes the Arimo, Cousine, and Tinos fonts. ''; in rec { @@ -37,13 +35,13 @@ rec { }: stdenvNoCC.mkDerivation rec { inherit pname; - version = "20201206-phase3"; + version = "23.4.1"; src = fetchFromGitHub { - owner = "googlefonts"; - repo = "noto-fonts"; - rev = "v${version}"; - hash = "sha256-x60RvCRFLoGe0CNvswROnDkIsUFbWH+/laN8q2qkUPk="; + owner = "notofonts"; + repo = "notofonts.github.io"; + rev = "noto-monthly-release-${version}"; + hash = "sha256-hiBbhcwktacuoYJnZcsh7Aej5QIrBNkqrel2NhjNjCU="; }; _variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants; @@ -56,16 +54,10 @@ rec { # TODO: install OpenType, variable versions? local out_ttf=$out/share/fonts/truetype/noto '' + (if _variants == [ ] then '' - install -m444 -Dt $out_ttf archive/unhinted/*/*-${weights}.ttf - install -m444 -Dt $out_ttf archive/hinted/*/*-${weights}.ttf - install -m444 -Dt $out_ttf unhinted/*/*/*-${weights}.ttf - install -m444 -Dt $out_ttf hinted/*/*/*-${weights}.ttf + install -m444 -Dt $out_ttf fonts/*/hinted/ttf/*-${weights}.ttf '' else '' for variant in $_variants; do - install -m444 -Dt $out_ttf archive/unhinted/$variant/*-${weights}.ttf - install -m444 -Dt $out_ttf archive/hinted/$variant/*-${weights}.ttf - install -m444 -Dt $out_ttf unhinted/*/$variant/*-${weights}.ttf - install -m444 -Dt $out_ttf hinted/*/$variant/*-${weights}.ttf + install -m444 -Dt $out_ttf fonts/$variant/hinted/ttf/*-${weights}.ttf done ''); @@ -75,7 +67,7 @@ rec { inherit longDescription; license = licenses.ofl; platforms = platforms.all; - maintainers = with maintainers; [ mathnerd314 emily ]; + maintainers = with maintainers; [ mathnerd314 emily jopejoe1 ]; }; }; @@ -129,8 +121,6 @@ rec { variants = [ "Noto Sans" "Noto Serif" - "Noto Sans Display" - "Noto Serif Display" "Noto Sans Mono" "Noto Music" "Noto Sans Symbols" From 8eb9ed0cd532e776c7cba121c1f900b75980391f Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Fri, 7 Apr 2023 14:34:10 +0200 Subject: [PATCH 13/46] neovim: 0.8.3 -> 0.9.0 --- pkgs/applications/editors/neovim/default.nix | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index 83d6796e6847..fb850c7ca366 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -35,13 +35,13 @@ let in stdenv.mkDerivation rec { pname = "neovim-unwrapped"; - version = "0.8.3"; + version = "0.9.0"; src = fetchFromGitHub { owner = "neovim"; repo = "neovim"; rev = "v${version}"; - hash = "sha256-ItJ8aX/WUfcAovxRsXXyWKBAI92hFloYIZiv7viPIdQ="; + hash = "sha256-4uCPWnjSMU7ac6Q3LT+Em8lVk1MuSegxHMLGQRtFqAs="; }; patches = [ @@ -49,13 +49,6 @@ in # necessary so that nix can handle `UpdateRemotePlugins` for the plugins # it installs. See https://github.com/neovim/neovim/issues/9413. ./system_rplugin_manifest.patch - # make the build reproducible, rebased version of - # https://github.com/neovim/neovim/pull/21586 - (fetchpatch { - name = "neovim-build-make-generated-source-files-reproducible.patch"; - url = "https://github.com/raboof/neovim/commit/485dd2af3efbfd174163583c46e0bb2a01ff04f1.patch"; - hash = "sha256-9aRVK4lDkL/W4RVjeKptrZFY7rYYBx6/RGR4bQSbCsM="; - }) ]; dontFixCmake = true; From 4e4e4e75471cd4dae27aa40e901c97bf3431d417 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 9 Apr 2023 11:02:40 +0100 Subject: [PATCH 14/46] waypipe: 0.8.5 -> 0.8.6 Minor error handling fixes. Changes: https://gitlab.freedesktop.org/mstoeckl/waypipe/-/compare/v0.8.5...v0.8.6?from_project_id=3237&straight=false --- pkgs/applications/networking/remote/waypipe/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/remote/waypipe/default.nix b/pkgs/applications/networking/remote/waypipe/default.nix index 8aa0e38fcf42..85862c56357a 100644 --- a/pkgs/applications/networking/remote/waypipe/default.nix +++ b/pkgs/applications/networking/remote/waypipe/default.nix @@ -5,14 +5,14 @@ stdenv.mkDerivation rec { pname = "waypipe"; - version = "0.8.5"; + version = "0.8.6"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "mstoeckl"; repo = "waypipe"; rev = "v${version}"; - sha256 = "sha256-uf2+PSqgZ+RShuVYlR42xMV38tuYbGV+bW1tdXgiZYU="; + hash = "sha256-1VLPnP4BmF9Zha0uVsPjA/WbF/oLfZmdDX57SzqrV5A="; }; strictDeps = true; From 524715f17bc61c6960a1801e8f3b2a0b2e177dad Mon Sep 17 00:00:00 2001 From: Florian Brandes Date: Sun, 19 Mar 2023 09:09:16 +0100 Subject: [PATCH 15/46] python3Packages.types-redis: fix build add pyopenssl as propagatedBuildInput Signed-off-by: Florian Brandes --- pkgs/development/python-modules/types-redis/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/python-modules/types-redis/default.nix b/pkgs/development/python-modules/types-redis/default.nix index bd4ce4a150e6..cd9e8ba52c32 100644 --- a/pkgs/development/python-modules/types-redis/default.nix +++ b/pkgs/development/python-modules/types-redis/default.nix @@ -1,6 +1,8 @@ { lib , buildPythonPackage , fetchPypi +, cryptography +, types-pyopenssl }: buildPythonPackage rec { @@ -13,6 +15,11 @@ buildPythonPackage rec { hash = "sha256-dmAXh1TWCkz6z1sz7gY6oGJTEXkcYgdc2TYTZiej978="; }; + propagatedBuildInputs = [ + cryptography + types-pyopenssl + ]; + # Module doesn't have tests doCheck = false; From 903f78ebde59d278db952b778d3e6b627b20d348 Mon Sep 17 00:00:00 2001 From: Euan Kemp Date: Tue, 14 Mar 2023 21:15:18 +0900 Subject: [PATCH 16/46] anki: 2.1.15 -> 2.1.60 This redoes all the packaging for their new build-system. It feels a bit fragile, but in practice it works. Basically, we build most of it in nix, write some wrapper scripts to mock out stuff we just did in nix, and then call thier build system to make a wheel --- pkgs/games/anki/Cargo.lock | 4849 +++++++++++++++++ pkgs/games/anki/default.nix | 387 +- pkgs/games/anki/no-version-check.patch | 13 - ...ownload-nodejs-if-NODE_BINARY-is-set.patch | 53 + ...ing-YARN_BINARY-for-the-build-system.patch | 36 + .../0003-Skip-formatting-python-code.patch | 31 + pkgs/games/anki/patches/gl-fixup.patch | 17 + pkgs/games/anki/patches/no-update-check.patch | 13 + pkgs/top-level/all-packages.nix | 2 +- 9 files changed, 5227 insertions(+), 174 deletions(-) create mode 100644 pkgs/games/anki/Cargo.lock delete mode 100644 pkgs/games/anki/no-version-check.patch create mode 100644 pkgs/games/anki/patches/0001-Don-t-download-nodejs-if-NODE_BINARY-is-set.patch create mode 100644 pkgs/games/anki/patches/0002-Allow-setting-YARN_BINARY-for-the-build-system.patch create mode 100644 pkgs/games/anki/patches/0003-Skip-formatting-python-code.patch create mode 100644 pkgs/games/anki/patches/gl-fixup.patch create mode 100644 pkgs/games/anki/patches/no-update-check.patch diff --git a/pkgs/games/anki/Cargo.lock b/pkgs/games/anki/Cargo.lock new file mode 100644 index 000000000000..800fe4af1ddd --- /dev/null +++ b/pkgs/games/anki/Cargo.lock @@ -0,0 +1,4849 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" +dependencies = [ + "cfg-if", + "cipher 0.3.0", + "cpufeatures", + "opaque-debug", +] + +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.8", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +dependencies = [ + "memchr", +] + +[[package]] +name = "ammonia" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e6d1c7838db705c9b756557ee27c384ce695a1c51a6fe528784cb1c6840170" +dependencies = [ + "html5ever 0.26.0", + "maplit", + "once_cell", + "tendril", + "url", +] + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anki" +version = "0.0.0" +dependencies = [ + "ammonia", + "anki_i18n", + "ascii_percent_encoding", + "async-compression", + "async-stream", + "async-trait", + "axum", + "axum-client-ip", + "blake3", + "bytes", + "chrono", + "coarsetime", + "convert_case 0.6.0", + "criterion", + "csv", + "difflib", + "env_logger", + "flate2", + "fluent", + "fluent-bundle", + "fnv", + "futures", + "hex", + "htmlescape", + "hyper", + "id_tree", + "itertools", + "lazy_static", + "nom", + "num-integer", + "num_cpus", + "num_enum", + "once_cell", + "pin-project", + "prost", + "prost-build", + "pulldown-cmark 0.9.2", + "rand 0.8.5", + "regex", + "reqwest", + "rusqlite", + "scopeguard", + "serde", + "serde-aux", + "serde_derive", + "serde_json", + "serde_repr", + "serde_tuple", + "sha1", + "snafu", + "strum", + "tempfile", + "tokio", + "tokio-util", + "tower-http", + "tracing", + "tracing-appender", + "tracing-subscriber", + "unic-ucd-category", + "unicase", + "unicode-normalization", + "utime", + "which", + "windows", + "wiremock", + "workspace-hack", + "zip", + "zstd 0.12.2+zstd.1.5.2", +] + +[[package]] +name = "anki_i18n" +version = "0.0.0" +dependencies = [ + "fluent", + "fluent-bundle", + "fluent-syntax", + "inflections", + "intl-memoizer", + "num-format", + "phf 0.11.1", + "serde", + "serde_json", + "unic-langid", + "workspace-hack", +] + +[[package]] +name = "anki_i18n_helpers" +version = "0.0.0" +dependencies = [ + "fluent-syntax", + "lazy_static", + "regex", + "serde_json", + "walkdir", + "workspace-hack", +] + +[[package]] +name = "anyhow" +version = "1.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" + +[[package]] +name = "apple-bundles" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "716b8a7bacf7325eb3e7a1a7f5ead4da91e1e16d9b56a25edea0e1e4ba21fd8e" +dependencies = [ + "anyhow", + "plist", + "simple-file-manifest", + "walkdir", +] + +[[package]] +name = "archives" +version = "0.0.0" +dependencies = [ + "camino", + "flate2", + "reqwest", + "sha2", + "tar", + "tokio", + "workspace-hack", + "xz2", + "zip", + "zstd 0.12.2+zstd.1.5.2", +] + +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + +[[package]] +name = "ascii_percent_encoding" +version = "0.0.0" + +[[package]] +name = "assert-json-diff" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e4f2b81832e72834d7518d8487a0396a28cc408186a2e8854c0f98011faf12" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "async-channel" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-compression" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +dependencies = [ + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "zstd 0.11.2+zstd.1.5.2", + "zstd-safe 5.0.2+zstd.1.5.2", +] + +[[package]] +name = "async-stream" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e" +dependencies = [ + "async-stream-impl", + "futures-core", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "async-trait" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "705339e0e4a9690e2908d2b3d049d85682cf19fbd5782494498fbf7003a6a282" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "axum" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1304eab461cf02bd70b083ed8273388f9724c549b316ba3d1e213ce0e9e7fb7e" +dependencies = [ + "async-trait", + "axum-core", + "axum-macros", + "bitflags", + "bytes", + "futures-util", + "headers", + "http", + "http-body", + "hyper", + "itoa 1.0.5", + "matchit", + "memchr", + "mime", + "multer", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tower", + "tower-http", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-client-ip" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddfb5a3ddd6367075d50629546fb46710584016ae7704cd03b6d41cb5be82e5a" +dependencies = [ + "axum", + "forwarded-header-value", +] + +[[package]] +name = "axum-core" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f487e40dc9daee24d8a1779df88522f159a54a980f99cfbe43db0be0bd3444a8" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http", + "http-body", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-macros" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7d7c3e69f305217e317a28172aab29f275667f2e1c15b87451e134fe27c7b1" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "backtrace" +version = "0.3.67" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" + +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + +[[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 0.2.4", + "digest", +] + +[[package]] +name = "block-buffer" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-padding" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a90ec2df9600c28a01c56c4784c9207a96d2451833aeceb8cc97e4c9548bb78" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bstr" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +dependencies = [ + "lazy_static", + "memchr", + "regex-automata", + "serde", +] + +[[package]] +name = "bstr" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45ea9b00a7b3f2988e9a65ad3917e62123c38dba709b666506207be96d1790b" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" + +[[package]] +name = "bzip2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "camino" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "cbc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher 0.4.3", +] + +[[package]] +name = "cc" +version = "1.0.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +dependencies = [ + "iana-time-zone", + "num-integer", + "num-traits", + "winapi", +] + +[[package]] +name = "ciborium" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369" + +[[package]] +name = "ciborium-ll" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "cipher" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +dependencies = [ + "generic-array", +] + +[[package]] +name = "cipher" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "clap" +version = "3.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5" +dependencies = [ + "bitflags", + "clap_lex 0.2.4", + "indexmap", + "textwrap", +] + +[[package]] +name = "clap" +version = "4.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec7a4128863c188deefe750ac1d1dfe66c236909f845af04beed823638dc1b2" +dependencies = [ + "bitflags", + "clap_derive", + "clap_lex 0.3.1", + "is-terminal", + "once_cell", + "strsim", + "termcolor", +] + +[[package]] +name = "clap_derive" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "clap_lex" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558ade" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "coarsetime" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "454038500439e141804c655b4cd1bc6a70bcb95cd2bc9463af5661b6956f0e46" +dependencies = [ + "libc", + "once_cell", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[package]] +name = "codespan" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e" +dependencies = [ + "codespan-reporting", + "serde", +] + +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "serde", + "termcolor", + "unicode-width", +] + +[[package]] +name = "concurrent-queue" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "configure" +version = "0.0.0" +dependencies = [ + "ninja_gen", + "workspace-hack", +] + +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "constant_time_eq" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + +[[package]] +name = "cpufeatures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "criterion" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" +dependencies = [ + "anes", + "atty", + "cast", + "ciborium", + "clap 3.2.23", + "criterion-plot", + "itertools", + "lazy_static", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset 0.7.1", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa 0.4.8", + "matches", + "phf 0.8.0", + "proc-macro2", + "quote", + "smallvec", + "syn", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "csv" +version = "1.1.6" +source = "git+https://github.com/ankitects/rust-csv.git?rev=1c9d3aab6f79a7d815c69f925a46a4590c115f90#1c9d3aab6f79a7d815c69f925a46a4590c115f90" +dependencies = [ + "bstr 0.2.17", + "csv-core", + "itoa 1.0.5", + "ryu", + "serde", +] + +[[package]] +name = "csv-core" +version = "0.1.10" +source = "git+https://github.com/ankitects/rust-csv.git?rev=1c9d3aab6f79a7d815c69f925a46a4590c115f90#1c9d3aab6f79a7d815c69f925a46a4590c115f90" +dependencies = [ + "memchr", +] + +[[package]] +name = "cxx" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d1075c37807dcf850c379432f0df05ba52cc30f279c5cfc43cc221ce7f8579" +dependencies = [ + "cc", + "cxxbridge-flags", + "cxxbridge-macro", + "link-cplusplus", +] + +[[package]] +name = "cxx-build" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5044281f61b27bc598f2f6647d480aed48d2bf52d6eb0b627d84c0361b17aa70" +dependencies = [ + "cc", + "codespan-reporting", + "once_cell", + "proc-macro2", + "quote", + "scratch", + "syn", +] + +[[package]] +name = "cxxbridge-flags" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61b50bc93ba22c27b0d31128d2d130a0a6b3d267ae27ef7e4fae2167dfe8781c" + +[[package]] +name = "cxxbridge-macro" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e61fda7e62115119469c7b3591fd913ecca96fb766cfd3f2e2502ab7bc87a5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "deadpool" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "421fe0f90f2ab22016f32a9881be5134fdd71c65298917084b0c7477cbc3856e" +dependencies = [ + "async-trait", + "deadpool-runtime", + "num_cpus", + "retain_mut", + "tokio", +] + +[[package]] +name = "deadpool-runtime" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaa37046cc0f6c3cc6090fbdbf73ef0b8ef4cfcc37f6befc0020f63e8cf121e1" + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case 0.4.0", + "proc-macro2", + "quote", + "rustc_version", + "syn", +] + +[[package]] +name = "des" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdd80ce8ce993de27e9f063a444a4d53ce8e8db4c1f00cc03af5ad5a9867a1e" +dependencies = [ + "cipher 0.4.3", +] + +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + +[[package]] +name = "digest" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "displaydoc" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "dtoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" + +[[package]] +name = "dtoa-short" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6" +dependencies = [ + "dtoa", +] + +[[package]] +name = "duct" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ae3fc31835f74c2a7ceda3aeede378b0ae2e74c8f1c36559fcc9ae2a4e7d3e" +dependencies = [ + "libc", + "once_cell", + "os_pipe", + "shared_child", +] + +[[package]] +name = "dunce" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" + +[[package]] +name = "either" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" + +[[package]] +name = "encoding_rs" +version = "0.8.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "env_logger" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +dependencies = [ + "humantime", + "is-terminal", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "errno" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +dependencies = [ + "errno-dragonfly", + "libc", + "winapi", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "fastrand" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" +dependencies = [ + "instant", +] + +[[package]] +name = "filetime" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "windows-sys", +] + +[[package]] +name = "find-winsdk" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8cbf17b871570c1f8612b763bac3e86290602bcf5dc3c5ce657e0e1e9071d9e" +dependencies = [ + "serde", + "serde_derive", + "winreg 0.5.1", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fluent" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7" +dependencies = [ + "fluent-bundle", + "unic-langid", +] + +[[package]] +name = "fluent-bundle" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd" +dependencies = [ + "fluent-langneg", + "fluent-syntax", + "intl-memoizer", + "intl_pluralrules", + "rustc-hash", + "self_cell", + "smallvec", + "unic-langid", +] + +[[package]] +name = "fluent-langneg" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94" +dependencies = [ + "unic-langid", +] + +[[package]] +name = "fluent-syntax" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78" +dependencies = [ + "thiserror", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "forwarded-header-value" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9" +dependencies = [ + "nonempty", + "thiserror", +] + +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "ftl" +version = "0.0.0" +dependencies = [ + "camino", + "snafu", + "workspace-hack", +] + +[[package]] +name = "futf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", +] + +[[package]] +name = "futures" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" + +[[package]] +name = "futures-executor" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" + +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-macro" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9" + +[[package]] +name = "futures-task" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" + +[[package]] +name = "futures-timer" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" + +[[package]] +name = "futures-util" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getopts" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "gimli" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "globset" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" +dependencies = [ + "aho-corasick", + "bstr 1.1.0", + "fnv", + "log", + "regex", +] + +[[package]] +name = "h2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "half" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashlink" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "headers" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" +dependencies = [ + "base64 0.13.1", + "bitflags", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha1", +] + +[[package]] +name = "headers-core" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +dependencies = [ + "http", +] + +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "html5ever" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" +dependencies = [ + "log", + "mac", + "markup5ever 0.10.1", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "html5ever" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" +dependencies = [ + "log", + "mac", + "markup5ever 0.11.0", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "htmlescape" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163" + +[[package]] +name = "http" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.5", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "http-range-header" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" + +[[package]] +name = "http-types" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad" +dependencies = [ + "anyhow", + "async-channel", + "base64 0.13.1", + "futures-lite", + "http", + "infer", + "pin-project-lite", + "rand 0.7.3", + "serde", + "serde_json", + "serde_qs", + "serde_urlencoded", + "url", +] + +[[package]] +name = "httparse" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" + +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa 1.0.5", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +dependencies = [ + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "winapi", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +dependencies = [ + "cxx", + "cxx-build", +] + +[[package]] +name = "id_tree" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcd9db8dd5be8bde5a2624ed4b2dfb74368fe7999eb9c4940fd3ca344b61071a" +dependencies = [ + "snowflake", +] + +[[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.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "indoc" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da2d6f23ffea9d7e76c53eee25dfb67bcd8fde7f1198b0855350698c9f07c780" + +[[package]] +name = "infer" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" + +[[package]] +name = "inflections" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a" + +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "block-padding", + "generic-array", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "intl-memoizer" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f" +dependencies = [ + "type-map", + "unic-langid", +] + +[[package]] +name = "intl_pluralrules" +version = "7.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972" +dependencies = [ + "unic-langid", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "ipnet" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" + +[[package]] +name = "is-terminal" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" +dependencies = [ + "hermit-abi 0.2.6", + "io-lifetimes", + "rustix", + "windows-sys", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" + +[[package]] +name = "jobserver" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "junction" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be39922b087cecaba4e2d5592dedfc8bda5d4a5a1231f143337cca207950b61d" +dependencies = [ + "scopeguard", + "winapi", +] + +[[package]] +name = "kuchiki" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" +dependencies = [ + "cssparser", + "html5ever 0.25.2", + "matches", + "selectors", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "libsqlite3-sys" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29f835d03d717946d28b1d1ed632eb6f0e24a299388ee623d0c23118d3e8a7fa" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "line-wrap" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" +dependencies = [ + "safemem", +] + +[[package]] +name = "link-cplusplus" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +dependencies = [ + "cc", +] + +[[package]] +name = "linkcheck" +version = "0.4.1-alpha.0" +source = "git+https://github.com/ankitects/linkcheck.git?rev=2f20798ce521cc594d510d4e417e76d5eac04d4b#2f20798ce521cc594d510d4e417e76d5eac04d4b" +dependencies = [ + "bytes", + "codespan", + "dunce", + "futures", + "http", + "kuchiki", + "lazy_static", + "linkify", + "log", + "pulldown-cmark 0.8.0", + "regex", + "reqwest", + "serde", + "thiserror", + "url", +] + +[[package]] +name = "linkchecker" +version = "0.0.0" +dependencies = [ + "anki", + "futures", + "itertools", + "linkcheck", + "reqwest", + "strum", + "tokio", + "workspace-hack", +] + +[[package]] +name = "linkify" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78d59d732ba6d7eeefc418aab8057dc8e3da4374bd5802ffa95bebc04b4d1dfb" +dependencies = [ + "memchr", +] + +[[package]] +name = "linux-raw-sys" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "lzma-sys" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "makeapp" +version = "0.0.0" +dependencies = [ + "anyhow", + "apple-bundles", + "camino", + "clap 4.1.1", + "glob", + "lazy_static", + "plist", + "serde", + "serde_json", + "simple-file-manifest", + "walkdir", + "workspace-hack", +] + +[[package]] +name = "makeinstall" +version = "0.0.0" +dependencies = [ + "anyhow", + "camino", + "clap 4.1.1", + "glob", + "tugger-windows-codesign", + "walkdir", + "workspace-hack", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "markup5ever" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" +dependencies = [ + "log", + "phf 0.8.0", + "phf_codegen 0.8.0", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "markup5ever" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" +dependencies = [ + "log", + "phf 0.10.1", + "phf_codegen 0.10.0", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + +[[package]] +name = "matchit" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" + +[[package]] +name = "mime_guess" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" +dependencies = [ + "mime", + "unicase", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys", +] + +[[package]] +name = "multer" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed4198ce7a4cbd2a57af78d28c6fbb57d81ac5f1d6ad79ac6c5587419cbdf22" +dependencies = [ + "bytes", + "encoding_rs", + "futures-util", + "http", + "httparse", + "log", + "memchr", + "mime", + "spin 0.9.4", + "version_check", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" + +[[package]] +name = "ninja_gen" +version = "0.0.0" +dependencies = [ + "camino", + "globset", + "itertools", + "lazy_static", + "maplit", + "num_cpus", + "walkdir", + "which", + "workspace-hack", +] + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "nonempty" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-format" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" +dependencies = [ + "arrayvec", + "itoa 1.0.5", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +dependencies = [ + "hermit-abi 0.2.6", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "object" +version = "0.30.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b8c786513eb403643f2a88c244c2aaa270ef2153f55094587d0c48a3cf22a83" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" + +[[package]] +name = "oorandom" +version = "11.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl" +version = "0.10.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b102428fd03bc5edf97f62620f7298614c45cedf287c271e7ed450bbaf83f2e1" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23bbbf7854cd45b83958ebe919f0e8e516793727652e27fda10a8384cfc790b7" +dependencies = [ + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "os_pipe" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6a252f1f8c11e84b3ab59d7a488e48e4478a93937e027076638c49536204639" +dependencies = [ + "libc", + "windows-sys", +] + +[[package]] +name = "os_str_bytes" +version = "6.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "p12" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4873306de53fe82e7e484df31e1e947d61514b6ea2ed6cd7b45d63006fd9224" +dependencies = [ + "cbc", + "cipher 0.4.3", + "des", + "getrandom 0.2.8", + "hmac", + "lazy_static", + "rc2", + "sha1", + "yasna", +] + +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-sys", +] + +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest", + "hmac", + "password-hash", + "sha2", +] + +[[package]] +name = "pem" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +dependencies = [ + "base64 0.13.1", +] + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "petgraph" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_macros 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_shared 0.10.0", +] + +[[package]] +name = "phf" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c" +dependencies = [ + "phf_macros 0.11.1", + "phf_shared 0.11.1", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_codegen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + +[[package]] +name = "phf_generator" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf" +dependencies = [ + "phf_shared 0.11.1", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "phf_macros" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92aacdc5f16768709a569e913f7451034034178b05bdc8acda226659a3dccc66" +dependencies = [ + "phf_generator 0.11.1", + "phf_shared 0.11.1", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" + +[[package]] +name = "plist" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5329b8f106a176ab0dce4aae5da86bfcb139bb74fb00882859e03745011f3635" +dependencies = [ + "base64 0.13.1", + "indexmap", + "line-wrap", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "plotters" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" + +[[package]] +name = "plotters-svg" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "prettyplease" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro-crate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +dependencies = [ + "once_cell", + "thiserror", + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "proc-macro2" +version = "1.0.50" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prost" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21dc42e00223fc37204bd4aa177e69420c604ca4a183209a8f9de30c6d934698" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3f8ad728fb08fe212df3c05169e940fbb6d9d16a877ddde14644a983ba2012e" +dependencies = [ + "bytes", + "heck", + "itertools", + "lazy_static", + "log", + "multimap", + "petgraph", + "prettyplease", + "prost", + "prost-types", + "regex", + "syn", + "tempfile", + "which", +] + +[[package]] +name = "prost-derive" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bda8c0881ea9f722eb9629376db3d0b903b462477c1aafcb0566610ac28ac5d" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "prost-types" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e0526209433e96d83d750dd81a99118edbc55739e7e61a46764fd2ad537788" +dependencies = [ + "bytes", + "prost", +] + +[[package]] +name = "pulldown-cmark" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8" +dependencies = [ + "bitflags", + "getopts", + "memchr", + "unicase", +] + +[[package]] +name = "pulldown-cmark" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63" +dependencies = [ + "bitflags", + "getopts", + "memchr", + "unicase", +] + +[[package]] +name = "pyo3" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccd4149c8c3975099622b4e1962dac27565cf5663b76452c3e2b66e0b6824277" +dependencies = [ + "cfg-if", + "indoc", + "libc", + "memoffset 0.8.0", + "parking_lot", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", + "unindent", +] + +[[package]] +name = "pyo3-build-config" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cd09fe469834db21ee60e0051030339e5d361293d8cb5ec02facf7fdcf52dbf" +dependencies = [ + "once_cell", + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c427c9a96b9c5b12156dbc11f76b14f49e9aae8905ca783ea87c249044ef137" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b822bbba9d60630a44d2109bc410489bb2f439b33e3a14ddeb8a40b378a7c4" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84ae898104f7c99db06231160770f3e40dad6eb9021daddc0fedfa3e41dff10a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "quick-xml" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.8", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rayon" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "num_cpus", +] + +[[package]] +name = "rc2" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62c64daa8e9438b84aaae55010a93f396f8e60e3911590fcba770d04643fc1dd" +dependencies = [ + "cipher 0.4.3", +] + +[[package]] +name = "rcgen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" +dependencies = [ + "pem", + "ring", + "time", + "yasna", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" + +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + +[[package]] +name = "reqwest" +version = "0.11.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" +dependencies = [ + "base64 0.13.1", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "mime_guess", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-native-certs", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tokio-rustls", + "tokio-socks", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "winreg 0.10.1", +] + +[[package]] +name = "retain_mut" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0" + +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted", + "web-sys", + "winapi", +] + +[[package]] +name = "rsbridge" +version = "0.0.0" +dependencies = [ + "anki", + "pyo3", + "workspace-hack", +] + +[[package]] +name = "runner" +version = "0.0.0" +dependencies = [ + "camino", + "clap 4.1.1", + "junction", + "termcolor", + "workspace-hack", +] + +[[package]] +name = "rusqlite" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01e213bc3ecb39ac32e81e51ebe31fd888a940515173e3a18a35f8c6e896422a" +dependencies = [ + "bitflags", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "smallvec", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.36.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4feacf7db682c6c329c4ede12649cd36ecab0f3be5b7d74e6a20304725db4549" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys", +] + +[[package]] +name = "rustls" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +dependencies = [ + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-native-certs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +dependencies = [ + "base64 0.21.0", +] + +[[package]] +name = "rustversion" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" + +[[package]] +name = "ryu" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" + +[[package]] +name = "safemem" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "scratch" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" + +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "security-framework" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "selectors" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" +dependencies = [ + "bitflags", + "cssparser", + "derive_more", + "fxhash", + "log", + "matches", + "phf 0.8.0", + "phf_codegen 0.8.0", + "precomputed-hash", + "servo_arc", + "smallvec", + "thin-slice", +] + +[[package]] +name = "self_cell" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af" + +[[package]] +name = "semver" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" + +[[package]] +name = "serde" +version = "1.0.152" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-aux" +version = "4.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c599b3fd89a75e0c18d6d2be693ddb12cccaf771db4ff9e39097104808a014c0" +dependencies = [ + "chrono", + "serde", + "serde_json", +] + +[[package]] +name = "serde_derive" +version = "1.0.152" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +dependencies = [ + "itoa 1.0.5", + "ryu", + "serde", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b04f22b563c91331a10074bda3dd5492e3cc39d56bd557e91c0af42b6c7341" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_qs" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7715380eec75f029a4ef7de39a9200e0a63823176b759d055b613f5a87df6a6" +dependencies = [ + "percent-encoding", + "serde", + "thiserror", +] + +[[package]] +name = "serde_repr" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_tuple" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f025b91216f15a2a32aa39669329a475733590a015835d1783549a56d09427" +dependencies = [ + "serde", + "serde_tuple_macros", +] + +[[package]] +name = "serde_tuple_macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4076151d1a2b688e25aaf236997933c66e18b870d0369f8b248b8ab2be630d7e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa 1.0.5", + "ryu", + "serde", +] + +[[package]] +name = "servo_arc" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +dependencies = [ + "nodrop", + "stable_deref_trait", +] + +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shared_child" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + +[[package]] +name = "simple-file-manifest" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd19be0257552dd56d1bb6946f89f193c6e5b9f13cc9327c4bc84a357507c74" + +[[package]] +name = "siphasher" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" + +[[package]] +name = "slab" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "snafu" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb0656e7e3ffb70f6c39b3c2a86332bb74aa3c679da781642590f3c1118c5045" +dependencies = [ + "backtrace", + "doc-comment", + "snafu-derive", +] + +[[package]] +name = "snafu-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "475b3bbe5245c26f2d8a6f62d67c1f30eb9fffeccee721c45d162c3ebbdf81b2" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "snowflake" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27207bb65232eda1f588cf46db2fee75c0808d557f6b3cf19a75f5d6d7c94df1" + +[[package]] +name = "socket2" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "string_cache" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strum" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] +name = "syn" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8" + +[[package]] +name = "tar" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "target-lexicon" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" + +[[package]] +name = "tempfile" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +dependencies = [ + "cfg-if", + "fastrand", + "libc", + "redox_syscall", + "remove_dir_all", + "winapi", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", +] + +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] +name = "thin-slice" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" + +[[package]] +name = "thiserror" +version = "1.0.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +dependencies = [ + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" +dependencies = [ + "itoa 1.0.5", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" + +[[package]] +name = "time-macros" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" +dependencies = [ + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8aeafdfd935e4a7fe16a91ab711fa52d54df84f9c8f7ca5837a9d1d902ef4c2" +dependencies = [ + "displaydoc", +] + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "tokio" +version = "1.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a12a59981d9e3c38d216785b0c37399f6e415e8d0712047620f189371b0bb" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys", +] + +[[package]] +name = "tokio-macros" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-socks" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0" +dependencies = [ + "either", + "futures-util", + "thiserror", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "toml" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" +dependencies = [ + "serde", +] + +[[package]] +name = "tower" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +dependencies = [ + "futures-core", + "futures-util", + "pin-project", + "pin-project-lite", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +dependencies = [ + "bitflags", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-range-header", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-appender" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e" +dependencies = [ + "crossbeam-channel", + "time", + "tracing-subscriber", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "tugger-common" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90d950380afdb1a6bbe74f29485a04e821869dfad11f5929ff1c5b1dac09d02" +dependencies = [ + "anyhow", + "fs2", + "glob", + "hex", + "log", + "once_cell", + "reqwest", + "sha2", + "tempfile", + "url", + "zip", +] + +[[package]] +name = "tugger-windows" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9f181ac4fc7f8facfd418824d13045cd068ee73de44319a6116868c22789782" +dependencies = [ + "anyhow", + "duct", + "find-winsdk", + "glob", + "once_cell", + "semver", + "tugger-common", + "winapi", +] + +[[package]] +name = "tugger-windows-codesign" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3f09f8bdace495373cec3fc607bc39f00720a984ba82e310cc9382462fd364" +dependencies = [ + "anyhow", + "duct", + "log", + "p12", + "rcgen", + "time", + "tugger-common", + "tugger-windows", + "yasna", +] + +[[package]] +name = "type-map" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46" +dependencies = [ + "rustc-hash", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-langid" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "398f9ad7239db44fd0f80fe068d12ff22d78354080332a5077dc6f52f14dcf2f" +dependencies = [ + "unic-langid-impl", + "unic-langid-macros", +] + +[[package]] +name = "unic-langid-impl" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35bfd2f2b8796545b55d7d3fd3e89a0613f68a0d1c8bc28cb7ff96b411a35ff" +dependencies = [ + "tinystr", +] + +[[package]] +name = "unic-langid-macros" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "055e618bf694161ffff0466d95cef3e1a5edc59f6ba1888e97801f2b4ebdc4fe" +dependencies = [ + "proc-macro-hack", + "tinystr", + "unic-langid-impl", + "unic-langid-macros-impl", +] + +[[package]] +name = "unic-langid-macros-impl" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f5cdec05b907f4e2f6843f4354f4ce6a5bebe1a56df320a49134944477ce4d8" +dependencies = [ + "proc-macro-hack", + "quote", + "syn", + "unic-langid-impl", +] + +[[package]] +name = "unic-ucd-category" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b8d4591f5fcfe1bd4453baaf803c40e1b1e69ff8455c47620440b46efef91c0" +dependencies = [ + "matches", + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-ident" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unindent" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utime" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91baa0c65eabd12fcbdac8cc35ff16159cab95cae96d0222d6d0271db6193cef" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" + +[[package]] +name = "web-sys" +version = "0.3.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + +[[package]] +name = "which" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" +dependencies = [ + "either", + "libc", + "once_cell", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" +dependencies = [ + "windows-targets", +] + +[[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", +] + +[[package]] +name = "windows-targets" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +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", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" + +[[package]] +name = "winreg" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a" +dependencies = [ + "serde", + "winapi", +] + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "wiremock" +version = "0.5.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12316b50eb725e22b2f6b9c4cbede5b7b89984274d113a7440c86e5c3fc6f99b" +dependencies = [ + "assert-json-diff", + "async-trait", + "base64 0.13.1", + "deadpool", + "futures", + "futures-timer", + "http-types", + "hyper", + "log", + "once_cell", + "regex", + "serde", + "serde_json", + "tokio", +] + +[[package]] +name = "workspace-hack" +version = "0.1.0" +dependencies = [ + "bytes", + "cc", + "crossbeam-utils", + "either", + "flate2", + "futures-channel", + "futures-io", + "futures-task", + "futures-util", + "getrandom 0.2.8", + "hashbrown", + "hmac", + "hyper", + "indexmap", + "itertools", + "log", + "num-traits", + "phf_shared 0.11.1", + "prost", + "rand 0.7.3", + "rand 0.8.5", + "rand_core 0.6.4", + "regex", + "regex-syntax", + "scopeguard", + "serde", + "serde_json", + "sha2", + "snafu", + "syn", + "time", + "time-macros", + "tokio", + "tokio-util", + "tracing", + "tracing-core", + "url", + "zip", + "zstd 0.11.2+zstd.1.5.2", + "zstd 0.12.2+zstd.1.5.2", + "zstd-safe 5.0.2+zstd.1.5.2", + "zstd-safe 6.0.2+zstd.1.5.2", + "zstd-sys", +] + +[[package]] +name = "xattr" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +dependencies = [ + "libc", +] + +[[package]] +name = "xz2" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" +dependencies = [ + "lzma-sys", +] + +[[package]] +name = "yasna" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" +dependencies = [ + "time", +] + +[[package]] +name = "zip" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "537ce7411d25e54e8ae21a7ce0b15840e7bfcff15b51d697ec3266cc76bdf080" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq 0.1.5", + "crc32fast", + "crossbeam-utils", + "flate2", + "hmac", + "pbkdf2", + "sha1", + "time", + "zstd 0.11.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.11.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +dependencies = [ + "zstd-safe 5.0.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.12.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9262a83dc741c0b0ffec209881b45dbc232c21b02a2b9cb1adb93266e41303d" +dependencies = [ + "zstd-safe 6.0.2+zstd.1.5.2", +] + +[[package]] +name = "zstd-safe" +version = "5.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-safe" +version = "6.0.2+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cf39f730b440bab43da8fb5faf5f254574462f73f260f85f7987f32154ff17" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.5+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc50ffce891ad571e9f9afe5039c4837bede781ac4bb13052ed7ae695518596" +dependencies = [ + "cc", + "libc", + "pkg-config", +] diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix index f4d21256101a..04fe55746bce 100644 --- a/pkgs/games/anki/default.nix +++ b/pkgs/games/anki/default.nix @@ -1,188 +1,259 @@ -{ stdenv -, buildPythonApplication -, lib -, python -, fetchurl +{ lib +, stdenv +, buildEnv , fetchFromGitHub -, fetchpatch +, fetchYarnDeps +, fixup_yarn_lock +, installShellFiles , lame , mpv-unwrapped -, libpulseaudio -, pyqtwebengine -, decorator -, beautifulsoup4 -, sqlalchemy -, pyaudio -, requests -, markdown -, matplotlib -, mock -, pytest -, glibcLocales -, nose -, jsonschema -, setuptools -, send2trash +, ninja +, nodejs +, nodejs-slim +, protobuf +, python3 +, qt6 +, rsync +, rustPlatform +, writeShellScriptBin +, yarn , CoreAudio - # This little flag adds a huge number of dependencies, but we assume that - # everyone wants Anki to draw plots with statistics by default. -, plotsSupport ? true - # manual -, asciidoc }: let - # when updating, also update rev-manual to a recent version of - # https://github.com/ankitects/anki-docs - # The manual is distributed independently of the software. - version = "2.1.15"; - sha256-pkg = "12dvyf3j9df4nrhhnqbzd9b21rpzkh4i6yhhangn2zf7ch0pclss"; - rev-manual = "8f6387867ac37ef3fe9d0b986e70f898d1a49139"; - sha256-manual = "0pm5slxn78r44ggvbksz7rv9hmlnsvn9z811r6f63dsc8vm6mfml"; + pname = "anki"; + version = "2.1.60"; + rev = "76d8807315fcc2675e7fa44d9ddf3d4608efc487"; - manual = stdenv.mkDerivation { - pname = "anki-manual"; - inherit version; - src = fetchFromGitHub { - owner = "ankitects"; - repo = "anki-docs"; - rev = rev-manual; - sha256 = sha256-manual; + src = fetchFromGitHub { + owner = "ankitects"; + repo = "anki"; + rev = version; + hash = "sha256-hNrf6asxF7r7QK2XO150yiRjyHAYKN8OFCFYX0SAiwA="; + fetchSubmodules = true; + }; + + + cargoDeps = rustPlatform.importCargoLock { + lockFile = ./Cargo.lock; + outputHashes = { + "csv-1.1.6" = "sha256-w728ffOVkI+IfK6FbmkGhr0CjuyqgJnPB1kutMJIUYg="; + "linkcheck-0.4.1-alpha.0" = "sha256-Fiom8oHW9y7vV2RLXW0ClzHOdIlBq3Z9jLP+p6Sk4GI="; }; - dontInstall = true; - nativeBuildInputs = [ asciidoc ]; - patchPhase = '' - # rsync isnt needed - # WEB is the PREFIX - # We remove any special ankiweb output generation - # and rename every .mako to .html - sed -e 's/rsync -a/cp -a/g' \ - -e "s|\$(WEB)/docs|$out/share/doc/anki/html|" \ - -e '/echo asciidoc/,/mv $@.tmp $@/c \\tasciidoc -b html5 -o $@ $<' \ - -e 's/\.mako/.html/g' \ - -i Makefile - # patch absolute links to the other language manuals - sed -e 's|https://apps.ankiweb.net/docs/|link:./|g' \ - -i {manual.txt,manual.*.txt} - # there’s an artifact in most input files - sed -e '/<%def.*title.*/d' \ - -i *.txt - mkdir -p $out/share/doc/anki/html + }; + + anki-build-python = python3.withPackages (ps: with ps; [ + pip + mypy-protobuf + ]); + + # anki shells out to git to check its revision, and also to update submodules + # We don't actually need the submodules, so we stub that out + fakeGit = writeShellScriptBin "git" '' + case "$*" in + "rev-parse --short=8 HEAD") + echo ${builtins.substring 0 8 rev} + ;; + *"submodule update "*) + exit 0 + ;; + *) + echo "Unrecognized git: $@" + exit 1 + ;; + esac + ''; + + # We don't want to run pip-sync, it does network-io + fakePipSync = writeShellScriptBin "pip-sync" '' + exit 0 + ''; + + offlineYarn = writeShellScriptBin "yarn" '' + [[ "$1" == "install" ]] && exit 0 + exec ${yarn}/bin/yarn --offline "$@" + ''; + + pyEnv = buildEnv { + name = "anki-pyenv-${version}"; + paths = with python3.pkgs; [ + pip + fakePipSync + anki-build-python + ]; + pathsToLink = [ "/bin" ]; + }; + + yarnOfflineCache = fetchYarnDeps { + yarnLock = "${src}/yarn.lock"; + hash = "sha256-bAtmMGWi5ETIidFFnG3jzJg2mSBnH5ONO2/Lr9A3PpQ="; + }; + + # https://discourse.nixos.org/t/mkyarnpackage-lockfile-has-incorrect-entry/21586/3 + anki-nodemodules = stdenv.mkDerivation { + pname = "anki-nodemodules"; + inherit version src yarnOfflineCache; + + nativeBuildInputs = [ + fixup_yarn_lock + yarn + nodejs-slim + ]; + + configurePhase = '' + export HOME=$NIX_BUILD_TOP + yarn config --offline set yarn-offline-mirror $yarnOfflineCache + fixup_yarn_lock yarn.lock + yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive + patchShebangs node_modules/ + yarn run postinstall --offline + ''; + + installPhase = '' + mv node_modules $out ''; }; - in -buildPythonApplication rec { - pname = "anki"; - inherit version; - format = "other"; - - src = fetchurl { - urls = [ - "https://apps.ankiweb.net/downloads/current/${pname}-${version}-source.tgz" - # "https://apps.ankiweb.net/downloads/current/${name}-source.tgz" - # "http://ankisrs.net/download/mirror/${name}.tgz" - # "http://ankisrs.net/download/mirror/archive/${name}.tgz" - ]; - sha256 = sha256-pkg; - }; +python3.pkgs.buildPythonApplication { + inherit pname version src; outputs = [ "out" "doc" "man" ]; - propagatedBuildInputs = [ - pyqtwebengine - sqlalchemy - beautifulsoup4 - send2trash - pyaudio - requests - decorator - markdown - jsonschema - setuptools - ] - ++ lib.optional plotsSupport matplotlib - ++ lib.optionals stdenv.isDarwin [ CoreAudio ] - ; - - nativeCheckInputs = [ pytest glibcLocales mock nose ]; - - nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ]; - buildInputs = [ lame mpv-unwrapped libpulseaudio ]; - patches = [ - # Disable updated version check. - ./no-version-check.patch - (fetchpatch { - name = "fix-mpv-args.patch"; - url = "https://sources.debian.org/data/main/a/anki/2.1.15+dfsg-3/debian/patches/fix-mpv-args.patch"; - sha256 = "1dimnnawk64m5bbdbjrxw5k08q95l728n94cgkrrwxwavmmywaj2"; - }) - (fetchpatch { - name = "anki-2.1.15-unescape.patch"; - url = "https://795309.bugs.gentoo.org/attachment.cgi?id=715200"; - sha256 = "14rz864kdaba4fd1marwkyz9n1jiqnbjy4al8bvwlhpvp0rm1qk6"; - }) + ./patches/gl-fixup.patch + ./patches/no-update-check.patch + # Upstreamed in https://github.com/ankitects/anki/pull/2446 + # We can drop these once we update to an anki version that includes them + # already + ./patches/0001-Don-t-download-nodejs-if-NODE_BINARY-is-set.patch + ./patches/0002-Allow-setting-YARN_BINARY-for-the-build-system.patch + # Not upstreamed + ./patches/0003-Skip-formatting-python-code.patch ]; - # Anki does not use setup.py - dontBuild = true; + inherit cargoDeps; - postPatch = '' - # Remove QT translation files. We'll use the standard QT ones. - rm "locale/"*.qm + nativeBuildInputs = [ + fakeGit + fixup_yarn_lock + offlineYarn - # hitting F1 should open the local manual - substituteInPlace anki/consts.py \ - --replace 'HELP_SITE="http://ankisrs.net/docs/manual.html"' \ - 'HELP_SITE="${manual}/share/doc/anki/html/manual.html"' + installShellFiles + rustPlatform.rust.cargo + rustPlatform.cargoSetupHook + ninja + qt6.wrapQtAppsHook + rsync + ]; + nativeCheckInputs = with python3.pkgs; [ pytest mock astroid ]; + + buildInputs = [ + qt6.qtbase + ]; + propagatedBuildInputs = with python3.pkgs; [ + # This rather long list came from running: + # grep --no-filename -oE "^[^ =]*" python/{requirements.base.txt,requirements.bundle.txt,requirements.qt6_4.txt} | \ + # sort | uniq | grep -v "^#$" + # in their repo at the git tag for this version + # There's probably a more elegant way, but the above extracted all the + # names, without version numbers, of their python dependencies. The hope is + # that nixpkgs versions are "close enough" + # I then removed the ones the check phase failed on (pythonCatchConflictsPhase) + beautifulsoup4 + certifi + charset-normalizer + click + colorama + decorator + distro + flask + flask-cors + idna + importlib-metadata + itsdangerous + jinja2 + jsonschema + markdown + markupsafe + orjson + pep517 + python3.pkgs.protobuf + pyparsing + pyqt6 + pyqt6-sip + pyqt6-webengine + pyrsistent + pysocks + requests + send2trash + six + soupsieve + urllib3 + waitress + werkzeug + zipp + ] ++ lib.optionals stdenv.isDarwin [ CoreAudio ]; + + # Activate optimizations + RELEASE = true; + + PROTOC_BINARY = lib.getExe protobuf; + NODE_BINARY = lib.getExe nodejs; + YARN_BINARY = lib.getExe offlineYarn; + PYTHON_BINARY = lib.getExe python3; + + inherit yarnOfflineCache; + dontUseNinjaInstall = false; + + buildPhase = '' + export RUST_BACKTRACE=1 + export RUST_LOG=debug + + mkdir -p out/pylib/anki \ + .git + + echo ${builtins.substring 0 8 rev} > out/buildhash + touch out/env + touch .git/HEAD + + ln -vsf ${pyEnv} ./out/pyenv + ln -vsf ${pyEnv} ./out/pyenv-qt5 + rsync --chmod +w -avP ${anki-nodemodules}/ out/node_modules/ + ln -vsf out/node_modules node_modules + + export HOME=$NIX_BUILD_TOP + yarn config --offline set yarn-offline-mirror $yarnOfflineCache + fixup_yarn_lock yarn.lock + + patchShebangs ./ninja + PIP_USER=1 ./ninja build wheels ''; - # UTF-8 locale needed for testing - LC_ALL = "en_US.UTF-8"; - # tests fail with to many open files + # TODO: verify if this is still true (I can't, no mac) doCheck = !stdenv.isDarwin; - - # - Anki writes some files to $HOME during tests - # - Skip tests using network + # mimic https://github.com/ankitects/anki/blob/76d8807315fcc2675e7fa44d9ddf3d4608efc487/build/ninja_gen/src/python.rs#L232-L250 checkPhase = '' - HOME=$TMP pytest --ignore tests/test_sync.py + HOME=$TMP ANKI_TEST_MODE=1 PYTHONPATH=$PYTHONPATH:$PWD/out/pylib \ + pytest -p no:cacheprovider pylib/tests + HOME=$TMP ANKI_TEST_MODE=1 PYTHONPATH=$PYTHONPATH:$PWD/out/pylib:$PWD/pylib:$PWD/out/qt \ + pytest -p no:cacheprovider qt/tests ''; - installPhase = '' - pp=$out/lib/${python.libPrefix}/site-packages - - mkdir -p $out/bin - mkdir -p $out/share/applications - mkdir -p $doc/share/doc/anki - mkdir -p $man/share/man/man1 - mkdir -p $out/share/mime/packages - mkdir -p $out/share/pixmaps - mkdir -p $pp - - cat > $out/bin/anki <%s''' % ( - ########################################################################## - - def setupAutoUpdate(self): -+ # Don't check for latest version since the versions are -+ # managed in Nixpkgs. -+ return - import aqt.update - self.autoUpdate = aqt.update.LatestVersionFinder(self) - self.connect(self.autoUpdate, SIGNAL("newVerAvail"), self.newVerAvail) diff --git a/pkgs/games/anki/patches/0001-Don-t-download-nodejs-if-NODE_BINARY-is-set.patch b/pkgs/games/anki/patches/0001-Don-t-download-nodejs-if-NODE_BINARY-is-set.patch new file mode 100644 index 000000000000..3232bee6d7e0 --- /dev/null +++ b/pkgs/games/anki/patches/0001-Don-t-download-nodejs-if-NODE_BINARY-is-set.patch @@ -0,0 +1,53 @@ +From 53740ca75d167fab5c403a462e21ecd717b1dafa Mon Sep 17 00:00:00 2001 +From: Euan Kemp +Date: Fri, 17 Mar 2023 22:38:04 +0900 +Subject: [PATCH 1/2] Don't download nodejs if NODE_BINARY is set + +Some build environments, such as nixpkgs, restrict network access and +thus would prefer to not download anything at all. Setting PROTOC_BINARY +and friends makes the build system not download stuff, and the same +should be true for nodejs +--- + build/ninja_gen/src/node.rs | 19 +++++++++---------- + 1 file changed, 9 insertions(+), 10 deletions(-) + +diff --git a/build/ninja_gen/src/node.rs b/build/ninja_gen/src/node.rs +index df05e149d..d08c7011e 100644 +--- a/build/ninja_gen/src/node.rs ++++ b/build/ninja_gen/src/node.rs +@@ -105,16 +105,6 @@ pub fn setup_node( + binary_exports: &[&'static str], + mut data_exports: HashMap<&str, Vec>>, + ) -> Result<()> { +- download_and_extract( +- build, +- "node", +- archive, +- hashmap! { +- "bin" => vec![if cfg!(windows) { "node.exe" } else { "bin/node" }], +- "npm" => vec![if cfg!(windows) { "npm.cmd " } else { "bin/npm" }] +- }, +- )?; +- + let node_binary = match std::env::var("NODE_BINARY") { + Ok(path) => { + assert!( +@@ -124,6 +114,15 @@ pub fn setup_node( + path.into() + } + Err(_) => { ++ download_and_extract( ++ build, ++ "node", ++ archive, ++ hashmap! { ++ "bin" => vec![if cfg!(windows) { "node.exe" } else { "bin/node" }], ++ "npm" => vec![if cfg!(windows) { "npm.cmd " } else { "bin/npm" }] ++ }, ++ )?; + inputs![":extract:node:bin"] + } + }; +-- +2.39.2 + diff --git a/pkgs/games/anki/patches/0002-Allow-setting-YARN_BINARY-for-the-build-system.patch b/pkgs/games/anki/patches/0002-Allow-setting-YARN_BINARY-for-the-build-system.patch new file mode 100644 index 000000000000..1dbba76ae081 --- /dev/null +++ b/pkgs/games/anki/patches/0002-Allow-setting-YARN_BINARY-for-the-build-system.patch @@ -0,0 +1,36 @@ +From 16af7d4cabcf10797bd110c905a9d7694bde0fb4 Mon Sep 17 00:00:00 2001 +From: Euan Kemp +Date: Fri, 17 Mar 2023 23:07:05 +0900 +Subject: [PATCH 2/2] Allow setting YARN_BINARY for the build system + +--- + build/ninja_gen/src/node.rs | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/build/ninja_gen/src/node.rs b/build/ninja_gen/src/node.rs +index d08c7011e..c1e2ce1b3 100644 +--- a/build/ninja_gen/src/node.rs ++++ b/build/ninja_gen/src/node.rs +@@ -129,7 +129,18 @@ pub fn setup_node( + let node_binary = build.expand_inputs(node_binary); + build.variable("node_binary", &node_binary[0]); + +- build.add("yarn", YarnSetup {})?; ++ match std::env::var("YARN_BINARY") { ++ Ok(path) => { ++ assert!( ++ Utf8Path::new(&path).is_absolute(), ++ "YARN_BINARY must be absolute" ++ ); ++ build.add_resolved_files_to_group("yarn:bin", &vec![path]); ++ }, ++ Err(_) => { ++ build.add("yarn", YarnSetup {})?; ++ }, ++ }; + + for binary in binary_exports { + data_exports.insert( +-- +2.39.2 + diff --git a/pkgs/games/anki/patches/0003-Skip-formatting-python-code.patch b/pkgs/games/anki/patches/0003-Skip-formatting-python-code.patch new file mode 100644 index 000000000000..b35ddec1a267 --- /dev/null +++ b/pkgs/games/anki/patches/0003-Skip-formatting-python-code.patch @@ -0,0 +1,31 @@ +From ed5090b237bca768dbf7dfc3b4414b955879f15e Mon Sep 17 00:00:00 2001 +From: Euan Kemp +Date: Fri, 7 Apr 2023 20:22:34 +0900 +Subject: [PATCH 3/3] Skip formatting python code + +--- + pylib/tools/hookslib.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/pylib/tools/hookslib.py b/pylib/tools/hookslib.py +index 6361c633e..95ecb64a2 100644 +--- a/pylib/tools/hookslib.py ++++ b/pylib/tools/hookslib.py +@@ -82,7 +82,7 @@ class Hook: + code = f"""\ + class {self.classname()}: + {classdoc}{self.list_code()} +- ++ + def append(self, callback: {self.callable()}) -> None: + '''{appenddoc}''' + self._hooks.append(callback) +@@ -208,4 +208,4 @@ def write_file(path: str, hooks: list[Hook], prefix: str, suffix: str): + os.environ["USERPROFILE"] = os.environ["HOME"] + with open(path, "wb") as file: + file.write(code.encode("utf8")) +- subprocess.run([sys.executable, "-m", "black", "-q", path], check=True) ++ # subprocess.run([sys.executable, "-m", "black", "-q", path], check=True) +-- +2.39.2 + diff --git a/pkgs/games/anki/patches/gl-fixup.patch b/pkgs/games/anki/patches/gl-fixup.patch new file mode 100644 index 000000000000..6517adaf9638 --- /dev/null +++ b/pkgs/games/anki/patches/gl-fixup.patch @@ -0,0 +1,17 @@ +diff --git a/qt/aqt/__init__.py b/qt/aqt/__init__.py +index 352848cfd..3fd5d0769 100644 +--- a/qt/aqt/__init__.py ++++ b/qt/aqt/__init__.py +@@ -402,12 +402,6 @@ def parseArgs(argv: list[str]) -> tuple[argparse.Namespace, list[str]]: + def setupGL(pm: aqt.profiles.ProfileManager) -> None: + driver = pm.video_driver() + +- # work around pyqt loading wrong GL library +- if is_lin: +- import ctypes +- +- ctypes.CDLL("libGL.so.1", ctypes.RTLD_GLOBAL) +- + # catch opengl errors + def msgHandler(category: Any, ctx: Any, msg: Any) -> None: + if category == QtMsgType.QtDebugMsg: diff --git a/pkgs/games/anki/patches/no-update-check.patch b/pkgs/games/anki/patches/no-update-check.patch new file mode 100644 index 000000000000..a70cbabd23b8 --- /dev/null +++ b/pkgs/games/anki/patches/no-update-check.patch @@ -0,0 +1,13 @@ +diff --git a/qt/aqt/main.py b/qt/aqt/main.py +index 0f2764f66..c42a88402 100644 +--- a/qt/aqt/main.py ++++ b/qt/aqt/main.py +@@ -1395,6 +1395,8 @@ title="{}" {}>{}""".format( + ########################################################################## + + def setupAutoUpdate(self) -> None: ++ # nixpkgs patch; updates are managed by nix ++ return + import aqt.update + + self.autoUpdate = aqt.update.LatestVersionFinder(self) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bbc9d709ada4..a4404130d4d7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35572,7 +35572,7 @@ with pkgs; angband = callPackage ../games/angband { }; - anki = python39Packages.callPackage ../games/anki { + anki = callPackage ../games/anki { inherit (darwin.apple_sdk.frameworks) CoreAudio; }; anki-bin = callPackage ../games/anki/bin.nix { buildFHSUserEnv = buildFHSUserEnvBubblewrap; }; From 9bc44ccfd766f56f34932c083578432f6a4cc519 Mon Sep 17 00:00:00 2001 From: Cody Hiar Date: Sun, 9 Apr 2023 09:32:36 -0600 Subject: [PATCH 17/46] transifex-cli: init at 1.6.7 --- .../misc/transifex-cli/default.nix | 36 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/applications/misc/transifex-cli/default.nix diff --git a/pkgs/applications/misc/transifex-cli/default.nix b/pkgs/applications/misc/transifex-cli/default.nix new file mode 100644 index 000000000000..63372498136d --- /dev/null +++ b/pkgs/applications/misc/transifex-cli/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "transifex-cli"; + version = "1.6.7"; + + src = fetchFromGitHub { + owner = "transifex"; + repo = "cli"; + rev = "v${version}"; + sha256 = "sha256-5166P44HSRKQ0pCh1BCPd1ZUryh/IBDumcnLYA+CSBY="; + }; + + vendorSha256 = "sha256-rcimaHr3fFeHSjZXw1w23cKISCT+9t8SgtPnY/uYGAU="; + + ldflags = [ + "-s" "-w" "-X 'github.com/transifex/cli/internal/txlib.Version=${version}'" + ]; + + postInstall = '' + mv $out/bin/cli $out/bin/tx + ''; + + # Tests contain network calls + doCheck = false; + + meta = with lib; { + description = "The Transifex command-line client"; + homepage = "https://github.com/transifex/transifex-cli"; + license = licenses.asl20; + maintainers = with maintainers; [ thornycrackers ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c1f44d0b9895..87434fb87722 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12979,6 +12979,8 @@ with pkgs; transifex-client = python39.pkgs.callPackage ../tools/text/transifex-client { }; + transifex-cli = callPackage ../applications/misc/transifex-cli { }; + translate-shell = callPackage ../applications/misc/translate-shell { }; translatepy = with python3.pkgs; toPythonApplication translatepy; From e9e20777cff7124ba1bf51f410701a198016d254 Mon Sep 17 00:00:00 2001 From: Cody Hiar Date: Sun, 9 Apr 2023 09:32:53 -0600 Subject: [PATCH 18/46] python3Packages.sphinx-intl: init at 2.1.0 --- .../python-modules/sphinx-intl/default.nix | 46 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/python-modules/sphinx-intl/default.nix diff --git a/pkgs/development/python-modules/sphinx-intl/default.nix b/pkgs/development/python-modules/sphinx-intl/default.nix new file mode 100644 index 000000000000..1fdf937ae650 --- /dev/null +++ b/pkgs/development/python-modules/sphinx-intl/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, transifex-cli +, babel +, click +, setuptools +, sphinx +, pytestCheckHook +, mock +}: + +buildPythonPackage rec { + pname = "sphinx-intl"; + version = "2.1.0"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "sphinx-doc"; + repo = pname; + rev = version; + hash = "sha256-U/YCviGrsZNruVzfP0P2dGcB0K0Afh+XUZtp71OeP6c="; + }; + + propagatedBuildInputs = [ + babel + click + setuptools + sphinx + ]; + + nativeCheckInputs = [ + pytestCheckHook + mock + transifex-cli + ]; + + pythonImportsCheck = [ "sphinx_intl" ]; + + meta = with lib; { + description = "Sphinx utility that make it easy to translate and to apply translation"; + homepage = "https://github.com/sphinx-doc/sphinx-intl"; + license = licenses.bsd2; + maintainers = with maintainers; [ thornycrackers ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 267dc6f25fc6..f726fba05ef5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11069,6 +11069,8 @@ self: super: with self; { sphinx-hoverxref = callPackage ../development/python-modules/sphinx-hoverxref { }; + sphinx-intl = callPackage ../development/python-modules/sphinx-intl { }; + sphinx-jupyterbook-latex = callPackage ../development/python-modules/sphinx-jupyterbook-latex { }; sphinx-multitoc-numbering = callPackage ../development/python-modules/sphinx-multitoc-numbering { }; From 19fa9ffa1c535b87e1c11dfe9f5db3d8a2f3b20b Mon Sep 17 00:00:00 2001 From: Anurag <81210977+kranurag7@users.noreply.github.com> Date: Wed, 5 Apr 2023 18:52:55 +0530 Subject: [PATCH 19/46] kubectl-gadget: 0.14.0 -> 0.15.0 --- .../networking/cluster/kubectl-gadget/default.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/kubectl-gadget/default.nix b/pkgs/applications/networking/cluster/kubectl-gadget/default.nix index f6642588a939..ebc00b3b3bed 100644 --- a/pkgs/applications/networking/cluster/kubectl-gadget/default.nix +++ b/pkgs/applications/networking/cluster/kubectl-gadget/default.nix @@ -2,21 +2,27 @@ buildGoModule rec { pname = "kubectl-gadget"; - version = "0.14.0"; + version = "0.15.0"; src = fetchFromGitHub { owner = "inspektor-gadget"; repo = "inspektor-gadget"; rev = "v${version}"; - hash = "sha256:16i9biyvzkpgxyfb41afaarnlm59vy02nspln5zq69prg6mp8rwa"; + hash = "sha256:1gn09kpkw8q2lxc8nic7hd1lhp0z4vscs8yvvxjzp1i9mw8s35xh"; }; - vendorHash = "sha256-Kj8gP5393++nPeX38TX6duB9OO/ql7hpRA5gTTtTl+M="; + vendorHash = "sha256-Y76Y3KR80dCx8+f6M0h5J6glGQGhXYE2KQM4jdJcDEM="; CGO_ENABLED = 0; ldflags = [ + "-s" "-w" "-X main.version=v${version}" + "-extldflags=-static" + ]; + + tags = [ + "withoutebpf" ]; subPackages = [ "cmd/kubectl-gadget" ]; From 9ce0e05e0905dc4f95aa6909b19ad0cd3461b053 Mon Sep 17 00:00:00 2001 From: Euan Kemp Date: Mon, 10 Apr 2023 13:13:16 +0900 Subject: [PATCH 20/46] anki: remove an unused symlink Thanks to Lucio for pointing this one out, appreciated --- pkgs/games/anki/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix index 04fe55746bce..74baea43729e 100644 --- a/pkgs/games/anki/default.nix +++ b/pkgs/games/anki/default.nix @@ -217,7 +217,6 @@ python3.pkgs.buildPythonApplication { touch .git/HEAD ln -vsf ${pyEnv} ./out/pyenv - ln -vsf ${pyEnv} ./out/pyenv-qt5 rsync --chmod +w -avP ${anki-nodemodules}/ out/node_modules/ ln -vsf out/node_modules node_modules From d7ad5580d7bbfe0bf50041d1e034b610eebf99ee Mon Sep 17 00:00:00 2001 From: Kirill Radzikhovskyy Date: Thu, 9 Mar 2023 12:00:12 +1100 Subject: [PATCH 21/46] plausible: older npm fixup, darwin build, strip causes cachex to fail --- pkgs/servers/web-apps/plausible/default.nix | 4 ++++ pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/web-apps/plausible/default.nix b/pkgs/servers/web-apps/plausible/default.nix index c93f01fa8f5b..999fe57b5044 100644 --- a/pkgs/servers/web-apps/plausible/default.nix +++ b/pkgs/servers/web-apps/plausible/default.nix @@ -49,12 +49,16 @@ beamPackages.mixRelease { nativeBuildInputs = [ nodejs ]; + # https://github.com/whitfin/cachex/issues/205 + stripDebug = false; + passthru = { tests = { inherit (nixosTests) plausible; }; updateScript = ./update.sh; }; postBuild = '' + export HOME=$TMPDIR export NODE_OPTIONS=--openssl-legacy-provider # required for webpack compatibility with OpenSSL 3 (https://github.com/webpack/webpack/issues/14532) ln -sf ${yarnDeps}/node_modules assets/node_modules npm run deploy --prefix ./assets diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c475a781e22d..ecf308dc1fd5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3573,7 +3573,7 @@ with pkgs; play-with-mpv = callPackage ../tools/video/play-with-mpv { }; - plausible = callPackage ../servers/web-apps/plausible { }; + plausible = callPackage ../servers/web-apps/plausible { nodejs = nodejs-16_x; }; pam-reattach = callPackage ../os-specific/darwin/pam-reattach { }; From 0166055691fac842340cc09eb723dfb1bd17d26a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 10 Apr 2023 21:50:03 +0000 Subject: [PATCH 22/46] stellar-core: 19.8.0 -> 19.9.0 --- pkgs/applications/blockchains/stellar-core/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/blockchains/stellar-core/default.nix b/pkgs/applications/blockchains/stellar-core/default.nix index aa50880cf6ac..d246d44959c3 100644 --- a/pkgs/applications/blockchains/stellar-core/default.nix +++ b/pkgs/applications/blockchains/stellar-core/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "stellar-core"; - version = "19.8.0"; + version = "19.9.0"; src = fetchFromGitHub { owner = "stellar"; repo = pname; rev = "v${version}"; - sha256 = "sha256-OaJztBOl5rDiCq+s1sXwuX+Yh+LSJtcnGIQeuMANLdU="; + sha256 = "sha256-00bTqc3YDl/o03Y7NBsgGFwUzb2zYe/A3ccpHPIann8="; fetchSubmodules = true; }; From 2de58edaf6f8626cd4989219867ccf73649d41eb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 10 Apr 2023 22:16:20 +0000 Subject: [PATCH 23/46] libupnp: 1.14.15 -> 1.14.16 --- pkgs/development/libraries/pupnp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/pupnp/default.nix b/pkgs/development/libraries/pupnp/default.nix index a9d8f8a8c926..c384a96e62f1 100644 --- a/pkgs/development/libraries/pupnp/default.nix +++ b/pkgs/development/libraries/pupnp/default.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { pname = "libupnp"; - version = "1.14.15"; + version = "1.14.16"; outputs = [ "out" "dev" ]; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { owner = "pupnp"; repo = "pupnp"; rev = "release-${version}"; - sha256 = "sha256-Yrd5sRvFsqBzVHODutK5JHCgoqzh26s/sGmsU2Db+bI="; + sha256 = "sha256-JsissTWnF8GuHSWeCmWOusDYV32Xu0LDRqZCm7yz6YY="; }; nativeBuildInputs = [ From 90b750456ea62408dc4c0bbe68adabdd96e381a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 7 Apr 2023 18:34:08 +0200 Subject: [PATCH 24/46] buildbot: move out of python3.pkgs By moving it out we can start apply overrides to python dependendencies starting with sqlalchemy. This fixes the build with the current version. --- .../buildbot/master.nix | 11 ++--- .../buildbot/worker.nix | 7 ++-- nixos/tests/buildbot.nix | 4 +- .../buildbot/default.nix | 42 +++++++++++++++++++ .../buildbot/master.nix} | 8 ++-- .../continuous-integration}/buildbot/pkg.nix | 0 .../buildbot/plugins.nix | 3 +- .../buildbot/skip_test_linux_distro.patch | 0 .../buildbot/update.sh | 0 .../buildbot/worker.nix | 0 pkgs/top-level/all-packages.nix | 6 +-- pkgs/top-level/python-aliases.nix | 6 +++ pkgs/top-level/python-packages.nix | 12 ------ 13 files changed, 68 insertions(+), 31 deletions(-) create mode 100644 pkgs/development/tools/continuous-integration/buildbot/default.nix rename pkgs/development/{python-modules/buildbot/default.nix => tools/continuous-integration/buildbot/master.nix} (96%) rename pkgs/development/{python-modules => tools/continuous-integration}/buildbot/pkg.nix (100%) rename pkgs/development/{python-modules => tools/continuous-integration}/buildbot/plugins.nix (97%) rename pkgs/development/{python-modules => tools/continuous-integration}/buildbot/skip_test_linux_distro.patch (100%) rename pkgs/development/{python-modules => tools/continuous-integration}/buildbot/update.sh (100%) rename pkgs/development/{python-modules => tools/continuous-integration}/buildbot/worker.nix (100%) diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix index 5666199c4845..595374ea1e5b 100644 --- a/nixos/modules/services/continuous-integration/buildbot/master.nix +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -8,7 +8,8 @@ let cfg = config.services.buildbot-master; opt = options.services.buildbot-master; - python = cfg.package.pythonModule; + package = pkgs.python3.pkgs.toPythonModule cfg.package; + python = package.pythonModule; escapeStr = escape [ "'" ]; @@ -212,10 +213,10 @@ in { package = mkOption { type = types.package; - default = pkgs.python3Packages.buildbot-full; - defaultText = literalExpression "pkgs.python3Packages.buildbot-full"; + default = pkgs.buildbot-full; + defaultText = literalExpression "pkgs.buildbot-full"; description = lib.mdDoc "Package to use for buildbot."; - example = literalExpression "pkgs.python3Packages.buildbot"; + example = literalExpression "pkgs.buildbot"; }; packages = mkOption { @@ -255,7 +256,7 @@ in { after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; path = cfg.packages ++ cfg.pythonPackages python.pkgs; - environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ cfg.package ])}/${python.sitePackages}"; + environment.PYTHONPATH = "${python.withPackages (self: cfg.pythonPackages self ++ [ package ])}/${python.sitePackages}"; preStart = '' mkdir -vp "${cfg.buildbotDir}" diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix index 52c41c4a7584..7e78b8935f81 100644 --- a/nixos/modules/services/continuous-integration/buildbot/worker.nix +++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix @@ -8,7 +8,8 @@ let cfg = config.services.buildbot-worker; opt = options.services.buildbot-worker; - python = cfg.package.pythonModule; + package = pkgs.python3.pkgs.toPythonModule cfg.package; + python = package.pythonModule; tacFile = pkgs.writeText "aur-buildbot-worker.tac" '' import os @@ -129,7 +130,7 @@ in { package = mkOption { type = types.package; - default = pkgs.python3Packages.buildbot-worker; + default = pkgs.buildbot-worker; defaultText = literalExpression "pkgs.python3Packages.buildbot-worker"; description = lib.mdDoc "Package to use for buildbot worker."; example = literalExpression "pkgs.python2Packages.buildbot-worker"; @@ -168,7 +169,7 @@ in { after = [ "network.target" "buildbot-master.service" ]; wantedBy = [ "multi-user.target" ]; path = cfg.packages; - environment.PYTHONPATH = "${python.withPackages (p: [ cfg.package ])}/${python.sitePackages}"; + environment.PYTHONPATH = "${python.withPackages (p: [ package ])}/${python.sitePackages}"; preStart = '' mkdir -vp "${cfg.buildbotDir}/info" diff --git a/nixos/tests/buildbot.nix b/nixos/tests/buildbot.nix index 977c728835f0..467c8d8baff4 100644 --- a/nixos/tests/buildbot.nix +++ b/nixos/tests/buildbot.nix @@ -23,7 +23,7 @@ import ./make-test-python.nix { ]; }; networking.firewall.allowedTCPPorts = [ 8010 8011 9989 ]; - environment.systemPackages = with pkgs; [ git python3Packages.buildbot-full ]; + environment.systemPackages = with pkgs; [ git buildbot-full ]; }; bbworker = { pkgs, ... }: { @@ -31,7 +31,7 @@ import ./make-test-python.nix { enable = true; masterUrl = "bbmaster:9989"; }; - environment.systemPackages = with pkgs; [ git python3Packages.buildbot-worker ]; + environment.systemPackages = with pkgs; [ git buildbot-worker ]; }; gitrepo = { pkgs, ... }: { diff --git a/pkgs/development/tools/continuous-integration/buildbot/default.nix b/pkgs/development/tools/continuous-integration/buildbot/default.nix new file mode 100644 index 000000000000..ec3a4a81f60f --- /dev/null +++ b/pkgs/development/tools/continuous-integration/buildbot/default.nix @@ -0,0 +1,42 @@ +{ python3 +, recurseIntoAttrs +, callPackage +}: +let + python = python3.override { + packageOverrides = self: super: { + sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { + version = "1.4.40"; + src = super.fetchPypi { + pname = "SQLAlchemy"; + inherit version; + hash = "sha256-RKZgUGCAzJdeHfpXdv5fYxXdxiane1C/Du4YsDieomU="; + }; + }); + moto = super.moto.overridePythonAttrs (oldAttrs: rec { + # a lot of tests -> very slow, we already build them when building python packages + doCheck = false; + }); + }; + }; + + buildbot-pkg = python.pkgs.callPackage ./pkg.nix { + inherit buildbot; + }; + buildbot-worker = python3.pkgs.callPackage ./worker.nix { + inherit buildbot; + }; + buildbot = python.pkgs.callPackage ./master.nix { + inherit buildbot-pkg buildbot-worker buildbot-plugins; + }; + buildbot-plugins = recurseIntoAttrs (callPackage ./plugins.nix { + inherit buildbot-pkg; + }); +in +{ + inherit buildbot buildbot-plugins buildbot-worker; + buildbot-ui = buildbot.withPlugins (with buildbot-plugins; [ www ]); + buildbot-full = buildbot.withPlugins (with buildbot-plugins; [ + www console-view waterfall-view grid-view wsgi-dashboards badges + ]); +} diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/tools/continuous-integration/buildbot/master.nix similarity index 96% rename from pkgs/development/python-modules/buildbot/default.nix rename to pkgs/development/tools/continuous-integration/buildbot/master.nix index c1a0de718200..6e59e31867b6 100644 --- a/pkgs/development/python-modules/buildbot/default.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/master.nix @@ -1,6 +1,7 @@ { lib , stdenv , buildPythonPackage +, buildPythonApplication , fetchPypi , makeWrapper , pythonOlder @@ -25,17 +26,18 @@ , lz4 , setuptoolsTrial , buildbot-worker -, buildbot-pkg , buildbot-plugins +, buildbot-pkg , parameterized , git , openssh , glibcLocales , nixosTests +, callPackage }: let - withPlugins = plugins: buildPythonPackage { + withPlugins = plugins: buildPythonApplication { pname = "${package.pname}-with-plugins"; inherit (package) version; format = "other"; @@ -61,7 +63,7 @@ let }; }; - package = buildPythonPackage rec { + package = buildPythonApplication rec { pname = "buildbot"; version = "3.7.0"; format = "setuptools"; diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/tools/continuous-integration/buildbot/pkg.nix similarity index 100% rename from pkgs/development/python-modules/buildbot/pkg.nix rename to pkgs/development/tools/continuous-integration/buildbot/pkg.nix diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix similarity index 97% rename from pkgs/development/python-modules/buildbot/plugins.nix rename to pkgs/development/tools/continuous-integration/buildbot/plugins.nix index df9efd66efe8..42a77fa0f4bc 100644 --- a/pkgs/development/python-modules/buildbot/plugins.nix +++ b/pkgs/development/tools/continuous-integration/buildbot/plugins.nix @@ -1,5 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, buildbot-pkg, mock, cairosvg, klein, jinja2 }: - +{ lib, buildPythonPackage, fetchPypi, callPackage, mock, cairosvg, klein, jinja2, buildbot-pkg }: { www = buildPythonPackage rec { pname = "buildbot-www"; diff --git a/pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch b/pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch similarity index 100% rename from pkgs/development/python-modules/buildbot/skip_test_linux_distro.patch rename to pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch diff --git a/pkgs/development/python-modules/buildbot/update.sh b/pkgs/development/tools/continuous-integration/buildbot/update.sh similarity index 100% rename from pkgs/development/python-modules/buildbot/update.sh rename to pkgs/development/tools/continuous-integration/buildbot/update.sh diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/tools/continuous-integration/buildbot/worker.nix similarity index 100% rename from pkgs/development/python-modules/buildbot/worker.nix rename to pkgs/development/tools/continuous-integration/buildbot/worker.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 01b088004bbf..82929439254f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3079,10 +3079,8 @@ with pkgs; bucklespring-libinput = callPackage ../applications/audio/bucklespring { }; bucklespring-x11 = callPackage ../applications/audio/bucklespring { legacy = true; }; - buildbot = with python3Packages; toPythonApplication buildbot; - buildbot-ui = with python3Packages; toPythonApplication buildbot-ui; - buildbot-full = with python3Packages; toPythonApplication buildbot-full; - buildbot-worker = with python3Packages; toPythonApplication buildbot-worker; + inherit (python3.pkgs.callPackage ../development/tools/continuous-integration/buildbot {}) + buildbot buildbot-ui buildbot-full buildbot-plugins buildbot-worker; bunyan-rs = callPackage ../development/tools/bunyan-rs { }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 719fb88362ab..e39a0259b2ae 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -48,6 +48,12 @@ mapAliases ({ blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # added 2020-11-29 bsblan = python-bsblan; # added 2022-11-04 btchip = btchip-python; # added 2023-03-03 + buildbot = throw "use pkgs.buildbot instead"; # added 2022-04-07 + buildbot-ui = throw "use pkgs.buildbot-ui instead"; # added 2022-04-07 + buildbot-full = throw "use pkgs.buildbot-full instead"; # added 2022-04-07 + buildbot-plugins = throw "use pkgs.buildbot-plugins instead"; # added 2022-04-07 + buildbot-worker = throw "use pkgs.buildbot-worker instead"; # added 2022-04-07 + buildbot-pkg = throw "buildbot-pkg has been removed, it's only internally used in buildbot"; # added 2022-04-07 bt_proximity = bt-proximity; # added 2021-07-02 BTrees = btrees; # added 2023-02-19 carrot = throw "carrot has been removed, as its development was discontinued in 2012"; # added 2022-01-18 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 627b11b5ad99..d7c214555f22 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1513,18 +1513,6 @@ self: super: with self; { buienradar = callPackage ../development/python-modules/buienradar { }; - buildbot = callPackage ../development/python-modules/buildbot { }; - - buildbot-ui = self.buildbot.withPlugins (with self.buildbot-plugins; [ www ]); - - buildbot-full = self.buildbot.withPlugins (with self.buildbot-plugins; [ www console-view waterfall-view grid-view wsgi-dashboards badges ]); - - buildbot-pkg = callPackage ../development/python-modules/buildbot/pkg.nix { }; - - buildbot-plugins = pkgs.recurseIntoAttrs (callPackage ../development/python-modules/buildbot/plugins.nix { }); - - buildbot-worker = callPackage ../development/python-modules/buildbot/worker.nix { }; - build = callPackage ../development/python-modules/build { }; buildcatrust = callPackage ../development/python-modules/buildcatrust { }; From b6df389ebb9feb53f3cb76b553be298272f4589a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Tue, 11 Apr 2023 14:19:56 +0200 Subject: [PATCH 25/46] rich-cli: update override --- .../python-modules/rich/default.nix | 4 +- pkgs/misc/rich-cli/default.nix | 50 +++++++++++-------- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix index 120f23fe97fd..d334ce183951 100644 --- a/pkgs/development/python-modules/rich/default.nix +++ b/pkgs/development/python-modules/rich/default.nix @@ -42,7 +42,9 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "rich" ]; + pythonImportsCheck = [ + "rich" + ]; passthru.tests = { inherit enrich httpie rich-rst textual; diff --git a/pkgs/misc/rich-cli/default.nix b/pkgs/misc/rich-cli/default.nix index 0b9c1f4984cb..a7fb03e11ad4 100644 --- a/pkgs/misc/rich-cli/default.nix +++ b/pkgs/misc/rich-cli/default.nix @@ -4,31 +4,38 @@ }: let - python = python3.override { - packageOverrides = self: super: { - rich = super.rich.overrideAttrs (old: rec { + py = python3.override { + packageOverrides = final: prev: { + rich = prev.rich.overridePythonAttrs (old: rec { version = "12.4.0"; src = fetchFromGitHub { owner = "Textualize"; repo = "rich"; - rev = "refs/tags/v${version}"; + rev = "refs/tags/v12.4.0"; hash = "sha256-ryJTusUNpvNF2031ICJWK8ScxHIh+LrXYg7nd0ph4aQ="; }; + propagatedBuildInputs = with py.pkgs; [ + commonmark + pygments + ]; + doCheck = false; }); - textual = super.textual.overrideAttrs (old: rec { + + textual = prev.textual.overridePythonAttrs (old: rec { version = "0.1.18"; src = fetchFromGitHub { owner = "Textualize"; repo = "textual"; - rev = "refs/tags/v${version}"; + rev = "refs/tags/v0.1.18"; hash = "sha256-XVmbt8r5HL8r64ISdJozmM+9HuyvqbpdejWICzFnfiw="; }; + doCheck = false; }); }; }; in -python.pkgs.buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "rich-cli"; version = "1.8.0"; format = "pyproject"; @@ -36,28 +43,28 @@ python.pkgs.buildPythonApplication rec { src = fetchFromGitHub { owner = "Textualize"; repo = pname; - rev = "v${version}"; - sha256 = "sha256-mV5b/J9wX9niiYtlmAUouaAm9mY2zTtDmex7FNWcezQ="; + rev = "refs/tags/v${version}"; + hash = "sha256-mV5b/J9wX9niiYtlmAUouaAm9mY2zTtDmex7FNWcezQ="; }; - nativeBuildInputs = with python.pkgs; [ - poetry-core - ]; - - propagatedBuildInputs = with python.pkgs; [ - rich - click - requests - textual - rich-rst - ]; - postPatch = '' substituteInPlace pyproject.toml \ --replace 'rich = "^12.4.0"' 'rich = "*"' \ --replace 'textual = "^0.1.18"' 'textual = "*"' ''; + nativeBuildInputs = with py.pkgs; [ + poetry-core + ]; + + propagatedBuildInputs = with py.pkgs; [ + rich + click + requests + textual + rich-rst + ]; + pythonImportsCheck = [ "rich_cli" ]; @@ -65,6 +72,7 @@ python.pkgs.buildPythonApplication rec { meta = with lib; { description = "Command Line Interface to Rich"; homepage = "https://github.com/Textualize/rich-cli"; + changelog = "https://github.com/Textualize/rich-cli/releases/tag/v${version}"; license = licenses.mit; maintainers = with maintainers; [ joelkoen ]; }; From 24ccda1678d5bfddfda6b7c21bff3b418c9073e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 11 Apr 2023 17:19:41 +0200 Subject: [PATCH 26/46] firefox-unwrapped: 111.0.1 -> 112.0 https://www.mozilla.org/en-US/firefox/112.0/releasenotes/ Fixes: CVE-2023-29531, CVE-2023-29533, CVE-2023-29535, CVE-2023-29536, CVE-2023-29537, CVE-2023-29538, CVE-2023-29539, CVE-2023-29540, CVE-2023-29541, CVE-2023-29543, CVE-2023-29544, CVE-2023-29546, CVE-2023-29547, CVE-2023-29548, CVE-2023-29549, CVE-2023-29550, CVE-2023-29551 --- pkgs/applications/networking/browsers/firefox/packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 42ebf58daf15..3ab951825dd4 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -3,10 +3,10 @@ rec { firefox = buildMozillaMach rec { pname = "firefox"; - version = "111.0.1"; + version = "112.0"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "b16c9399a19cb1de2d865a023d54fbe71c23a363ea4d36cd58f41f64f7ad04bc1b9d8a8448943417516e17337e0ee2afd370c29a72b51b0947161f4ffab6935f"; + sha512 = "6b2bc8c0c93f3109da27168fe7e8f734c6ab4efb4ca56ff2d5e3a52659da71173bba2104037a000623833be8338621fca482f39f836e3910fe2996e6d0a68b39"; }; meta = { From 258038d472140ce701915de3726567ba376d4806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Tue, 11 Apr 2023 17:20:40 +0200 Subject: [PATCH 27/46] firefox-bin-unwrapped: 111.0.1 -> 112.0 https://www.mozilla.org/en-US/firefox/112.0/releasenotes/ Fixes: CVE-2023-29531, CVE-2023-29533, CVE-2023-29535, CVE-2023-29536, CVE-2023-29537, CVE-2023-29538, CVE-2023-29539, CVE-2023-29540, CVE-2023-29541, CVE-2023-29543, CVE-2023-29544, CVE-2023-29546, CVE-2023-29547, CVE-2023-29548, CVE-2023-29549, CVE-2023-29550, CVE-2023-29551 --- .../browsers/firefox-bin/release_sources.nix | 802 +++++++++--------- 1 file changed, 401 insertions(+), 401 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix index f14c4c85de7e..5e6117add4df 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix @@ -1,1005 +1,1005 @@ { - version = "111.0.1"; + version = "112.0"; sources = [ - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ach/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ach/firefox-112.0.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha256 = "d091c784f3cba9757c8bd86c9f4404d06f5662212eb70545117a9d082b10a430"; + sha256 = "5b3e37c5b934339ff083b0f852a135c6cbb45c6abdf6467ec206a83647a1d8b3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/af/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/af/firefox-112.0.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha256 = "d4abc2214d4095ef09ff98e59c58d05137ac7ea9b9859563ae91583027286acd"; + sha256 = "af22f08c6528fd447515eb4f914822265bc9e47ee314d7c15487b9bbe1dde42a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/an/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/an/firefox-112.0.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha256 = "b1330e47c222b62a06ffacc09e02f48b257e9c92a9308118501684216e7ba459"; + sha256 = "0cb1badd023ff3dd7131629229648956596c43e4458affc02273ba5036f810d1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ar/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ar/firefox-112.0.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "d50d23d22e245fae1c066520ebf640e6a9d19bb7dc65901a3a0b88ae83b29610"; + sha256 = "673262175ca0f6fa4f7f0c43634ad15f242fea00768c614c97ca0b88abaa5740"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ast/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ast/firefox-112.0.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "edce3eff5add0de1c5b24de84ff9469f41c46169537c386fd1e1e48b11e050d6"; + sha256 = "649d9bde87232463ffa532f2fa1a2dbc1732134cff8ab3f4628313f26d573bef"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/az/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/az/firefox-112.0.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha256 = "b70b63ebb35d3eaae9b391bf6cbe641b0129ce90d87c235018bcd444d53cc41c"; + sha256 = "15cd7a54db2df0d6894798e508346ea51ccf05b45ba7237875e7fd32fb2a94d5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/be/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/be/firefox-112.0.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha256 = "2ce1098338ae56025f87c304582966eec5931bb21462a334306e787d73e02a9a"; + sha256 = "1b2050268708cb475d8ced0fb8e0365f243c4993e817a553603e65b600ee7f05"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/bg/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/bg/firefox-112.0.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "04889789e8096ed4d24876f88eff2de90e5b9987478512a9f9cff2aa48f1c528"; + sha256 = "b6323dd73d10ea547c34cc022bc60312a949f339f0f709fe4d1fbf9cf8859b0e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/bn/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/bn/firefox-112.0.tar.bz2"; locale = "bn"; arch = "linux-x86_64"; - sha256 = "e8d2e82af0c6b577ed205ea24a96cf908e45382d4ff7338943c1c5957ac74dfe"; + sha256 = "2e6699071dfe0efc6f6860eabb34e3cf64a4de2e11be2292fa5348808e731ab3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/br/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/br/firefox-112.0.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha256 = "46ff777990bd98c23917c7e8ec875651109cccc1f477a377711ea690cf380028"; + sha256 = "5f488917c05c048fee13153de51a462febb4bd72d2954f2d2f321cd119da5588"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/bs/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/bs/firefox-112.0.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha256 = "44fc3acc5b54cc2d5c22b81a0df9adabe3e41cdc7ffd90708d7b2e61c92bfee2"; + sha256 = "5860c3f2677ce99622a0b575baef36d3db993d2f371b7c6aec72ef2a9d8e0952"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ca-valencia/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ca-valencia/firefox-112.0.tar.bz2"; locale = "ca-valencia"; arch = "linux-x86_64"; - sha256 = "45632ba3e707288f6564e958653df5f0a03168f7cb4dfd0578a649941aa29605"; + sha256 = "23ddc52776810445fc0352ebf19b27c2b4729fb8cefce11b0fe7df9f9e505dc4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ca/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ca/firefox-112.0.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "57c0548a782850b5ea045c753d3a18b7926d7d2ecde87dbb5d7cc4137085e92f"; + sha256 = "2bbe66c628f5fc9c89880d63868eb5469f1284944728adb5e3741bcd85c57b18"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/cak/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/cak/firefox-112.0.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "cc5de569e4c4ead2e466fdfb8eaafbea6e15c43881134a2888d0895a32a28c34"; + sha256 = "d319f624941cd354df6bb78434f64cb6de41bad266a1186dbf7ddb0c2cfacec0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/cs/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/cs/firefox-112.0.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "24bc4997b0a9ef89d1ad22544e55081e2c1ca7dfaa6f34615741175a1813a9f2"; + sha256 = "614fb174a002e469a8dc83005422c102a6406cf0784d53b7120ddb70a0bdc708"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/cy/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/cy/firefox-112.0.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "57de8b383ad683fb2b5bc57f7e8ccd158e952f14493010917c75c362344658de"; + sha256 = "111b820566db4fc682768b4ecc3b6583efc4039c44e880ea7bcf5ca352a62dc0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/da/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/da/firefox-112.0.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha256 = "ec3f0374e6b3cd23ab46c9520a3f8c0d17c3fcb3e185b88d4bf3795b3b3ab342"; + sha256 = "87f670d5a7774d7af54bc20a5c788f47d63f6a1d2dae825889629d8c75057ce2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/de/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/de/firefox-112.0.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha256 = "554c6c5fb379c96aae5ba9d6c685c770d41467a6ddbb29ac37753066f71b6523"; + sha256 = "36cf31e4b1472f61c80c70a2dde87f1fb56a64cee39484d22b12e76618b73485"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/dsb/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/dsb/firefox-112.0.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "70c1ed166ab8fb38cb8584f626db8e454ba9679a97f9bb7db4f8f3b5f1ec0853"; + sha256 = "d068e2632550c03d92e7b3b6e3fee961e8d1c1d2bb19408b696ac483317ddb24"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/el/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/el/firefox-112.0.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha256 = "a1028b817d2c427e8c4344091d820c4c3c508615804fa199ccb411202c97ef48"; + sha256 = "44115aad6db9d6d105d9418cf5c22cb71183b6b14f69d4e90642b3bf3fb2be57"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/en-CA/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/en-CA/firefox-112.0.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "2e2c62f847cb4b9ea233a170bf91c185421e042eafe2a285a5caeb89adfba957"; + sha256 = "ae4e225641700ae32dc7b9a395352352a8cfb2ffc81636f2820684095709d1ca"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/en-GB/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/en-GB/firefox-112.0.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "b6fb7729a268e496cd98a4b145aa6f7819df91c039e7043d62a664d379209854"; + sha256 = "0f84ca1a632467ce5eb3f7781b24ab6f361d5641b19d1c36aa03a6df2494230e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/en-US/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/en-US/firefox-112.0.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "a4075387fd907882c80a03169df258b329a29d605d7e76afe6f2d4a82a8f66c8"; + sha256 = "31d2c3fe549cddaab7576cfde6467ed5a6534b1988adfb921965b60714970349"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/eo/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/eo/firefox-112.0.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha256 = "793b1fedf21d80d686eb3d23c5e44b9f047e695eb3401e157d0cd028ded73154"; + sha256 = "998019dedac2a5f3e15ec6fcfea26f9183effebcf3d9441436c45e87892e7957"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/es-AR/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/es-AR/firefox-112.0.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "65d1c9ef75c5f771243df2f8161c85bf690163b8d743182d6a7a29461d83a218"; + sha256 = "9bce94e6a9abd75bb74405c5c88d786621703c99a1482f2071cc3ea32e2af07b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/es-CL/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/es-CL/firefox-112.0.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha256 = "be4098ea2213d21f7ccefe26d0693817f8aa605cde054fd83cb11e0e0597ab28"; + sha256 = "9bdf3fe6bdf49cbdd2f2f6345485609b24160f938a7939a33c9029cbddb9e83c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/es-ES/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/es-ES/firefox-112.0.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "1058adeb032b196fa5fc03a8796758d48fe1414cb05e393b290567833ee6fcf4"; + sha256 = "1692def0e39a94bea876efbaee57651d8a3820d0e47581520ed28e2c94412ddf"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/es-MX/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/es-MX/firefox-112.0.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "e377bc22615cf9881b5b03b1404aa11652e123e8c98529beff22d103ecbab3cd"; + sha256 = "948f0d2e110e6b6980c88c59e0bd3b84df920a490b25ef9d683619390fb12bd3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/et/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/et/firefox-112.0.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha256 = "73ead886ced43f1c6312d817f89db2bf72f7582f44b4522ee3b536ef02c4b2ab"; + sha256 = "c20d2fe028e2ad2a5b6d2e58bd2f21de02dd75f143b25faae9293225a2c2e411"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/eu/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/eu/firefox-112.0.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "b6c058d81431c6cbcdbbd4512702364b6855ecfce38182491d48bc5276ea84ec"; + sha256 = "a24feef2fb182796593d97cdfeffc4e4eda5f008f8bc11c679861424eacf9141"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fa/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/fa/firefox-112.0.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha256 = "7a2aa5d43322649cb546c0ad891e2ed174faef4d8553f4a551e49db0479af638"; + sha256 = "499be0f1463f830c6416939e096e94ebcb4a1d74726558ef9f0547b2ae233247"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ff/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ff/firefox-112.0.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha256 = "9a2385abd2c8860a0bf8314a127338a759106f838b467b332cb46a6b33b9879e"; + sha256 = "5ba8e592f4399dd31d95b06823a342cd6662d0ddd7e3794989ae5c5ac2e52aff"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fi/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/fi/firefox-112.0.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "1f3f03f7c85dc0ed66930fd7e8760283be57dc5916762bc409c100eaa9dfcfd8"; + sha256 = "480bafb6c43ef6da5b54543a5f96761e83706a86115247e683393330557cacfb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/fr/firefox-112.0.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "2daba84f5cc85d05e6b0359dbb553de3bdb3d16b15716c072a0ea154edf69cc2"; + sha256 = "b91bb26a3d6293e88ddc0b74882ab2185c7538df893d952eb64d595b0ccdeb1f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fur/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/fur/firefox-112.0.tar.bz2"; locale = "fur"; arch = "linux-x86_64"; - sha256 = "786d5d1e9aedd3cb87e5f6d1dfc30a4f52bb4908aa0df9a9225ddf5b2c4eafa7"; + sha256 = "ab91f915296d8208363f6c882c7e29954e9e5506de30ae62b37eceff1d3d7c7b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/fy-NL/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/fy-NL/firefox-112.0.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "1da0e5b6f6cd5942a5e0d27237077d8020e235ed5b148c61a2b702e113415546"; + sha256 = "981ea5abc2c5ff94029b3c01674892f397f8504c1f180a56e3e8620ac370b99f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ga-IE/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ga-IE/firefox-112.0.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "1a34cb303971c39495a8e30abaf501dd38254e350cb3338b7d42b42293584dc8"; + sha256 = "5eadd57836438871d6ef96a57e02e60fe6cfddd47e2445703b1d8db80a1d2fc7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/gd/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/gd/firefox-112.0.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "0b14eb99a1b0aa6670faa33fb356e16570232defaa990ee183c5e068cb485371"; + sha256 = "41666cb94981dc30cfa0113c42743b3812add4df3686a39a64f9a0f2baacbee0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/gl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/gl/firefox-112.0.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "38914a030551a90095c7ba494a1b6c00eddb7a5432b3ad6d418e710acfc71294"; + sha256 = "820b660761a9a265618be1061544243d24b82cfcd63a5e1fc8d8525ded22c1d5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/gn/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/gn/firefox-112.0.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha256 = "edd12b8e93e4c2a2b85a67b77f727280ae176568598033cddfc38af4b991d0da"; + sha256 = "9ac4fb8d505a53226f36a9dc002ba42246a5c509d7652a2fec05584a34d6d47c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/gu-IN/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/gu-IN/firefox-112.0.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha256 = "133b28123b30b20a973519a6be23b6af90a60d921a5601779c074f4eb39f21cc"; + sha256 = "ddfe903790c3adf8f809e06a4e2790aa0ae876cfc291c4fdb22984376a8df3c4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/he/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/he/firefox-112.0.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha256 = "0173b2b675290f5bfedd80e43eaffccb440715253af3edf9bc4cda19aaf5cf12"; + sha256 = "3e61787c63867631ed76be4c6a9cd9b9853348c912b9c23af06692bdce29315b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hi-IN/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/hi-IN/firefox-112.0.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha256 = "b01a0b830ff8fe1942ac4bfa1d26828d26c6500a8fada67407f43724690ef2d9"; + sha256 = "4b179b9e9286daffaf2aef9bfccb896475fa2576c92a289f1e4eb0edcb055688"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/hr/firefox-112.0.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "f56f733aeba7076a48ba612e3b4dd394da03a3f1babc17ba898b702231fd8fe6"; + sha256 = "275cf0e84b2589e70e753d4c98e2c3925b14b603ed224da201878fc8442cc7a7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hsb/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/hsb/firefox-112.0.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "c95bd7dc148a64cec9a679d6ded2ca6570f18c6c8d5e38ccb5c59d099c22f721"; + sha256 = "c56f94b46d96923eb9c4e75339af0b42a15f3c57e8e39118485bc79636ebfa32"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hu/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/hu/firefox-112.0.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "1c79dd7adc47569f12e80ac89cc2bb75a1789577a8f5fe62e748aa6a71f54aa7"; + sha256 = "1a5b9a4307deff20db53df233864a503befc25ccedb204f7d88ca6bd867e00a8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/hy-AM/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/hy-AM/firefox-112.0.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "bd2f401ba297345a46b398e811584b452ee52e6f320807323316c106fdb72099"; + sha256 = "076f4159bf40e38ad730622decef57eff48fbe8e5988f78a5e2fb556a9f6a2e9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ia/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ia/firefox-112.0.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha256 = "3c62b5b953f6ff2b43d2748d591308dfcf43614df051233cd3826af8c88fb136"; + sha256 = "7bcf54767dd38d42d93d0b96ec5135213a29b5d78352d262d9335cd1576fd704"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/id/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/id/firefox-112.0.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha256 = "e1ce4376557447b5cf4d4302dbe0c9f01e7cca68332f54cfe100fc975156be04"; + sha256 = "dde4e712171c26b64e2b14d725ba93336b9e766bcc7f53fb2093d7fb0a8b057b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/is/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/is/firefox-112.0.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha256 = "908b2739f778ecd93626a4e28f49b998c98ff0a6a2d1eb83abd5b56d72702a49"; + sha256 = "680e69de93ff6c96d9f3debe05392d98bb926e6072e04375e2d61e7387c18ee1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/it/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/it/firefox-112.0.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha256 = "af7fc0c3e1636711dbc9f23e6fd1bd69b5e5a2dcc22934d4274a1d5b5cccb488"; + sha256 = "3f35ab7843b58d218c6f4e92552549b6b095d71dc1d7d35bdb28f1ef7458d442"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ja/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ja/firefox-112.0.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "57d7febb733d2342146fdd70effaf0f97e88e8ca506536a9f86f76a065297a14"; + sha256 = "3afd18750cf2555fb73d57a753222572fec08e49e7325b16427ecaa1249b51ab"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ka/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ka/firefox-112.0.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "c5df241197b65a330e10e8697295357da1b5a08b1c63257e050c48eee90ca387"; + sha256 = "8bd98c293361382940ad26ed0d654bc70390f66eacda19a7aa3d8bba717bb69a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/kab/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/kab/firefox-112.0.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "b35b6904f3115fabfab35bf502888194906377f14d04b6c95a67fcfdd4d86e50"; + sha256 = "47dd2bab2c7b5e8046fa0499e48717c3cbcc6a633fab2a74d0a37c58cee80cc4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/kk/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/kk/firefox-112.0.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "a6fd1e9dce4c1b4173e9cb674c90fa68430ca9f50dc22a3fdca39dc2c88d1389"; + sha256 = "50068256add6746481c5102dfd35ce87ee2cfbdb23432cf8d3306ed5e2ce6095"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/km/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/km/firefox-112.0.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha256 = "d741592b7a7fab744303e6929643e8ddd980543947d5bdfe564a5658a87d1183"; + sha256 = "85045900caa1a361bd79af5058765a3ae7e9a300b1f90975f6f3bc1c07481471"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/kn/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/kn/firefox-112.0.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha256 = "0f10f8302b4407d0051fd4e2a07d4c273df67b2446f640b43799e9aee964d433"; + sha256 = "796ffb0a8130931555e23a21977e8e4f9ab8ea6a9fee54ff4410b48a1e56d553"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ko/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ko/firefox-112.0.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "35159ffe1033c9db0b06d53a2182575e49ab519636edfbf69e4a1851e57d1ea4"; + sha256 = "d937b25cc45b3189fce933ef0ba627fd79a79b3a90464eddb0dbb8a366f288c6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/lij/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/lij/firefox-112.0.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha256 = "c1ebe9213a7662ba03d1bbedab80497282c180b4e5d2452357e65f837499fe0e"; + sha256 = "58aab71db6df9d5d277b46d31f8c0197c9d01908adddcd1adf6954118165aa11"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/lt/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/lt/firefox-112.0.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "bdd4eedc22b9f45f2b762548cb0a08ef26e9f3320d8b419d93366c0c09ea0c9e"; + sha256 = "d02bbab7d236ff9b7ada25949337895cfa4c2224470b9ad0f96b25fc34fac870"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/lv/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/lv/firefox-112.0.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "949c756f761e5d0cb069845ca59cfb20f2befdafbc36450be5e29a0d5ac943ba"; + sha256 = "3621f49e44c2cc7dc99303cb454ef330f91a5b19b19c12ba0a1781b908a386e4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/mk/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/mk/firefox-112.0.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha256 = "e307b333cb9418d3523db97b50dad5ef8461e56f50d1432ce547bed652b509ad"; + sha256 = "5be36bd63a6c05b445e27c10aeee9dc16e30b08481af4710aab3ceb9327d226f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/mr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/mr/firefox-112.0.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha256 = "3a5fba3c81aadd958c3d529115ddc4c36a4399e91f395dff0f4b07efd4a19916"; + sha256 = "a05c77825c7adf0413649f8f580353d086c63b4daa3da0ad408577061819e9a3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ms/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ms/firefox-112.0.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "323bc98904bc59f39f11f71aff2165593e2c83841f2271de15a4fdb51a1127dd"; + sha256 = "05d77b0eeaccef202b1a712bdbc3a4297658646b55e680ec1360980960e5a2ae"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/my/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/my/firefox-112.0.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha256 = "1da08900adc5853afb6d7f8773e59d46d2b9f43047700b5c026922f1e8fef6e5"; + sha256 = "f7703567dbe5ebc9cbb12c45361400009e9ea360ccb03585139834b8958b1e85"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/nb-NO/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/nb-NO/firefox-112.0.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "503d0fb3c823b3a29f2eefaa73e90c49f3fb12e7fd785ae49b0e042ed46de5d2"; + sha256 = "183e9b9ec131621e457f62ede092506189c83f12a2e9a95b6f226478e2b7b445"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ne-NP/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ne-NP/firefox-112.0.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha256 = "045df0d24a74949ac50259776bf4b21d4d82d3cb13a1e99e2a0a3be8547ff470"; + sha256 = "cc71c856d696f0314ecd7b1d0727c169e92be7989a7f6c520abec02623ed97bf"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/nl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/nl/firefox-112.0.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "a99d5a0dc143aa3f09c76184d76348667172027c8ece66021192a9790dbc4b15"; + sha256 = "f69b8000257b28471a93946ba474dbf8669955c175e5411d848e0aabc2aca3bd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/nn-NO/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/nn-NO/firefox-112.0.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "17f6d971330bbd51c6acf17eb8be69f7697a050b41dd09778e44fdcd4562d130"; + sha256 = "7088ab439789484fca1f97e7500f9096cdef308d3d2b5c003813ef4a0a8873d2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/oc/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/oc/firefox-112.0.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha256 = "de1a0e0a382457896c3783c09ddeecd5bef71859a501a5f0e477dc9a79b08052"; + sha256 = "7093dea0249eae06d00fd45e185a404d166d8822850b98d68628152be8ca3d37"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/pa-IN/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/pa-IN/firefox-112.0.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "1545cce400caa37c93748b135f6dab47dc1bb8357d8065072bc377f8728128ed"; + sha256 = "d2f742748239eb6076024b3c02e557961590a453b17697099ce9c2d8ca3cdf19"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/pl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/pl/firefox-112.0.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "b6a7e2d3b5b0c3fb929df7d4bdb3a1f040d13796686dd2caa5521d6e0d80d7f8"; + sha256 = "3a543d4a021bf5d7ae434ab97be6c4966b6b101d57731dcd685d05657d4583bb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/pt-BR/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/pt-BR/firefox-112.0.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "4da56eca264d5ec24bd85e438397c65917420b84845c9a215d410e44d4c10a18"; + sha256 = "ab6e127faf64aa4cf54a00ae5462ea05082a8ebd474cd7c193045c3023cf2b7e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/pt-PT/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/pt-PT/firefox-112.0.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "df6ac7f7f165beaa3ade2e51f6d550fa442578678725a054b34762fa7dab1a29"; + sha256 = "9f42addf0e2c23daf53a46637aa3fd4fe98269889fb83debe762b50707d29dfd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/rm/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/rm/firefox-112.0.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "d8cd9f9cc6a4b5d3e1e48607b224b71f858d23c03af9c593719ac148c85aa363"; + sha256 = "b473c7d80372257d2dbd193ee4582a24f98f0c03cab53c5272bf27c94919cb63"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ro/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ro/firefox-112.0.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "c0cc323bcf3ea976caf3849167406fcf6e240134c6c84067eeffab5b7730b84b"; + sha256 = "c9c64e814b2b12f16b8d3033fbd3c146faaa2a3c4b5777161f64252d5d63e998"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ru/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ru/firefox-112.0.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "1677963f9c060694a375b97ff1b60061976b3327337604ebd6d133d1142813ea"; + sha256 = "f8cf8f416b9a82a1b03d9989e512ede25cfb3aa1b58ddffcda0d17b3ae173ff0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sc/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/sc/firefox-112.0.tar.bz2"; locale = "sc"; arch = "linux-x86_64"; - sha256 = "eb31836c39642e0e6b2704936c7a0017299a5cac7a110cdc852979da26c36c4a"; + sha256 = "6c1a40a2bb9db2b0d6afe63a3c76a774ef888f60f0a23814c2db5d08c77d43d8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sco/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/sco/firefox-112.0.tar.bz2"; locale = "sco"; arch = "linux-x86_64"; - sha256 = "052d6aeb44d257a4691a90b9e799fb4b19933282345868eb9cfd752707425759"; + sha256 = "0529f55e7b0b6ccc2a3ec92cd0dbdac0210e4c45bbd00d350d08e2d12ece818a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/si/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/si/firefox-112.0.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha256 = "4ae7a8080f6ca3afd2a3bf62b06783d552330512bdc344e4daee0fc39566caf8"; + sha256 = "891a18f8f7049997a62e997a17b8254a454335c65c5edcac45f441e931fd8049"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sk/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/sk/firefox-112.0.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "98667dd948c4fc340f2757a92bbcc78e1d0b623bfcfb3aa9019b35b19a4ae2ac"; + sha256 = "5eca1dfd6ed1b75957d6b4d1a7c0aaea2a140b85e10043e72260dea5938e928d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/sl/firefox-112.0.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "fd363be65cae243b14be236a9c952e5ba0a507157b667a6b911aabf7644fec57"; + sha256 = "26f9946afc6b6b8c7b42f359049bb0b9586d961f9ff45a1490bf6e3a13330fc3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/son/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/son/firefox-112.0.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha256 = "ea89884cc645b20aac8e22f52ca37992769eda1777f7c940c0307477030973f5"; + sha256 = "df183627ea5817d7e2741bee238a24674a1cad312d72a412fbb7660c3574f173"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sq/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/sq/firefox-112.0.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "29b9b1c4b1d60af873926cfd89d8ceda61926e742c49810b6511988e593bc492"; + sha256 = "7dca7529a949bef4d7ea32bef0b4dec8be74ec70b28e3467f3e55ce7e559fbe1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/sr/firefox-112.0.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "c4bad92c4e1b6ee8c7545dc37c7f5225247bcd5261e5d846c8b056a006fb826e"; + sha256 = "38fcf34bc58bb6cfabebcfd5968c6b6183b7188f4f93ce88b195501a43842dfd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/sv-SE/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/sv-SE/firefox-112.0.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "809508b95a4550afb2388a2e3e671b2af1c2ddfae5d2046c1bf56692d6792e26"; + sha256 = "5ca84fc079c62a62714e22eac1b9b93e9fae9948694995313d98961147aa390e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/szl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/szl/firefox-112.0.tar.bz2"; locale = "szl"; arch = "linux-x86_64"; - sha256 = "358c4dc8a661d9f6860da9307055c709111f476ca955f1d944d58cc281be5621"; + sha256 = "aba9805904c45d03ea4ab091c5c15bba4e4ee7392b91ce23a4adc57581c1dd22"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ta/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ta/firefox-112.0.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha256 = "aa6aafa35e0e12f4b363cf402a718bc4330d646c9d172e269703e8ea9d85df29"; + sha256 = "fbb368a2b49211242273c93f3930824adf41fa06c69f9b84b3dea4f44a80e2f2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/te/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/te/firefox-112.0.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha256 = "83ced5c4bd46bcf5d2944cc28d6917abe527709e66ab9749f340c41b150ecabf"; + sha256 = "c3e524c50b92f4df65c733eb57957893b840dbe959ccc94fb70af31eb93cfc01"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/th/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/th/firefox-112.0.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha256 = "e1772b2e625119923a9268cfdb661516c1bfca302a8383a83d2e1e2566a4a46a"; + sha256 = "eb077d3503427f54497bf6b23cb8a6f20106bbb3f0a42426d3d68ee8b4570c68"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/tl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/tl/firefox-112.0.tar.bz2"; locale = "tl"; arch = "linux-x86_64"; - sha256 = "b59a43703dcc8707d6a01fe997b8ec19291d2a671db8e7099fe3acedd44e4786"; + sha256 = "ad7b565d757eea9f9332fe58846bdfcb1811a88ce378482f1fee33182cf819b0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/tr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/tr/firefox-112.0.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "06e32ebe547fa10a38b732487fb9145e520bc1e50a9700f85f7636aa95bedf33"; + sha256 = "1b44f97c0dc636ad87c24b5f4881dfc058b1cac9ab5702b8500080509d078656"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/trs/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/trs/firefox-112.0.tar.bz2"; locale = "trs"; arch = "linux-x86_64"; - sha256 = "6a2b7b5a83cd043acb005f987f7efb970bfb68e9d4b88f0f9666d1df3bccaff0"; + sha256 = "185e15f0863c6686580e55114513ff77420353d6280b8bab925d3c7cac969723"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/uk/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/uk/firefox-112.0.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "b9f03249efd133c432997c1c5ff65f2f810d5fbe246a54d72d7658181de728c2"; + sha256 = "4b60d02bd16d187445c8c33f1ad89fedf60f8d5d0b8c00fa9fc9da61cc3245a3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/ur/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/ur/firefox-112.0.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha256 = "f689c3cf37afe1ee59b1407f0b34ad5ba6146630eb92ff4466a3f48533da7178"; + sha256 = "9d5a717414b66bcfd11e2c1f75ff5056ef1189a371a2c13f568a61adcf4fd9d4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/uz/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/uz/firefox-112.0.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "c162efa511d6bb34a1f81f3ca621f49e07a9a53c3403a2a8f3b9a25e476288b8"; + sha256 = "e7981e8eb720aa9fc241e808d521f0ad6c0222c219e8a6356fdf4331ca628721"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/vi/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/vi/firefox-112.0.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "44ae40e5dc2a5fc387c90059eabb436f352917222b1a89cc072514b2ca2403d0"; + sha256 = "7aef5cf761451e7bbd6569e28af2981b65709d3265bb96ed934d43915a3fcb17"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/xh/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/xh/firefox-112.0.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha256 = "6fe1d8fdb958d0360cc77330682d5522b7e05ececc7db8477f07f8dc2c96ab8d"; + sha256 = "d12eab3c301a28871c298f351efa84a1aa2613014029e40d8bb46c073fb7224e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/zh-CN/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/zh-CN/firefox-112.0.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "476f05dde96d321cd9920ae2d56ad6334248ca6d53fdf342942dc6c4d3ce4f7d"; + sha256 = "92d3ab06e3a09be0691c84ffd48c4f897197253f66e6a178e5272a3d8caadf65"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-x86_64/zh-TW/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-x86_64/zh-TW/firefox-112.0.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "e5d62c2a4fecf41ac3523a420b2021e6ab12db56d7f882008da9212bf4e90873"; + sha256 = "db6dc1a6ed43970404d643cd4f6d1917e9202070719695aa9b4268756278c22c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ach/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ach/firefox-112.0.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha256 = "de718f2f4be00686fa88fa9bb0fddabc9e58325ed232f5a63bf2aad845f98756"; + sha256 = "7de9c82fe6edbe0876021f730128344d3fc1ef275191093387d662d58599cbd6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/af/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/af/firefox-112.0.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha256 = "8dea9ea3b74a271f66e9999c9b7ac09cc7264c7391d76d6989af704ab86200eb"; + sha256 = "c5632e4c7f4d313bfe63720855bb5ea02aa3559d96199aacdacd11de34a5d55b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/an/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/an/firefox-112.0.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha256 = "aa512e0b4b2561a85c1b0b3320406d580e260def4beb4ef9f46c2d43015a4cb9"; + sha256 = "34b0826655c65ac70be63308d2f6339046a859a5fe4d7e64f7969e54bd689f5f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ar/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ar/firefox-112.0.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha256 = "97de18e57a0d447980cfc1e55e965704d0583d4cff4f96b3c22cba0e0731928e"; + sha256 = "ab1b031a4783a3ab87199801104df777b5d46fd6034b47b2f4af29ddd031739f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ast/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ast/firefox-112.0.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha256 = "45096b2c62ac30241ffe6edf39a6c7db8a5f4f9f296f727c7cc64bc784ee6688"; + sha256 = "e6e0195900e50612d58cc3f8e7cf2f74868509ce6378402484fcfa6b3611eaa8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/az/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/az/firefox-112.0.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha256 = "5fda8812aff0629c0b75f783faf409672790f9a23812157057f4361dc9ab89fa"; + sha256 = "3aa1eee51d132f20f8ceee9e391e86befad71ce9fbca64e1171af053503492f3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/be/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/be/firefox-112.0.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha256 = "3866b6cccda2cbd9a48f4f02941b50d2384d19f86a163aa9c5c6e57c8965c4b2"; + sha256 = "77a6ea4c1d9657e4566288156479a878cd6c572770aca97aa7a94daf12ba9255"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/bg/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/bg/firefox-112.0.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha256 = "f62ec62d303e36b30ec4daed4d6e76de6519fc39ed0c805ddcf8c0dc7da1b60c"; + sha256 = "4d282c790d8ed4abbb7ad10de56672e8bef57347760d551b32f28a71b64de5b8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/bn/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/bn/firefox-112.0.tar.bz2"; locale = "bn"; arch = "linux-i686"; - sha256 = "3a6f4ed95eaa7d8205772d7109ca694c8617a0f0ea541e4970bdd9c7508d1f91"; + sha256 = "797b570f75c5cd4cab0fbc5abc4992eb83e1cd109c5ba2588df784827cc29762"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/br/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/br/firefox-112.0.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha256 = "d2ad4fba0244e01e19ee46b53ccd287df74d5a031b0c9358a8befbd19cd2eea2"; + sha256 = "3e4ad574d26492e53a84385a558d75b280952abf066be26771f4193e00c6b328"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/bs/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/bs/firefox-112.0.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha256 = "d1449c8b142f4a367af79a072b21f2999df128d9f720e11e1e6be293d40792d9"; + sha256 = "a4b862924d1c20aba4ab2fa0774b5c65509cb6f80902faeb0cac86f691f8887d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ca-valencia/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ca-valencia/firefox-112.0.tar.bz2"; locale = "ca-valencia"; arch = "linux-i686"; - sha256 = "1e0b294a10946eed7e3b0d3956fdf53782fbae2549a652ddecbc223cfd7c1470"; + sha256 = "9c2a188bc5188b79ca89ea90f4cd300f4a680fec945a1b6e663569f1f6f2e19e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ca/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ca/firefox-112.0.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha256 = "2f610717623248a73495ff48c27b3e86cca6bd5b59496e010cd19753ea518482"; + sha256 = "f6031d641da6e828ea6160aa2ac1a3d9ec31efcbfa69373f33dbcfd1d6282ac0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/cak/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/cak/firefox-112.0.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha256 = "97a92f3d2533121ea2e400555518233d1b59093aabf86ffd292884028a888a4c"; + sha256 = "9a6553004abc3c548559373a2185405a1a6887898fd2236c4556948fc6faae0f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/cs/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/cs/firefox-112.0.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha256 = "c6029a1228543ef738d9b918c6f49d51ac3398c0a4cedaa0a6ebebdd721fffb5"; + sha256 = "322f49bd3775410206107645aa1e049cf2ab58f251baf991aa65f0be8bcd867e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/cy/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/cy/firefox-112.0.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha256 = "6e7be2fb7f8a6fa2fff64e38cbac748e3beff14ecc15fcf010c46b7dfb7fe38e"; + sha256 = "ab47eaab21c51e37af812e2453f4b1685c98489a15b3bb3ed0582c8284ee4bfc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/da/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/da/firefox-112.0.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha256 = "a2dd09832e3811a0bd3bfeeee0ddcdc2ce84d5b6709b990b9284477877d5f1bb"; + sha256 = "188aeb36e3443037cb5bdb84f37db67f238c0a238b71a1ae7cf8ad9fbb49fcc4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/de/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/de/firefox-112.0.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha256 = "b0445b5440a512f7dbeb72d8cb79d2ff5b86f4f730bc2400437e162a812f26ba"; + sha256 = "5a13dbeca2b4cd0161f5a92df210a6642e7bb6167882f42db8627ceb31d30ec8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/dsb/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/dsb/firefox-112.0.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha256 = "f2d93f7d93a4180f8ea76090ea56d25aa41931ffef01c7dc320adeeba7c9b7e7"; + sha256 = "e1e212072872a75e17c1c082a1efdecf8fc2288d88aa44a6a349f35811b27ed8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/el/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/el/firefox-112.0.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha256 = "52caf93cbcb555adaab82659c0a4236fb64fb505a2cdbc1eee6885a6786d146a"; + sha256 = "12b61693075bf6037c3333149b77a93a09572e133f43a66b7ffbfaa6984808e3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/en-CA/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/en-CA/firefox-112.0.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "84e937e4a2eb48f3d54579cdb83ddd6ae91fdc1f642bf61fff08ccd34003458f"; + sha256 = "3da37342412a77622c221ca48ea80877d8597b5403b69d11c898ce12aa13fea4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/en-GB/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/en-GB/firefox-112.0.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "0a7718421cb9cda64a2ca7fadb56e5a718eff6a267f49485b89f97880d589fd4"; + sha256 = "80ea9f86cf37d64dfd4db5206284eae9807058596e4befa057d19985709cdb89"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/en-US/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/en-US/firefox-112.0.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha256 = "d857a16de03b072b802b6acd2528f1d7ec931379159faf0a0f6f92fa113c40ee"; + sha256 = "69a2a692718bdcd031cfe31535b2c993567d8bf6bc8d6814c43a4304e8fa470d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/eo/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/eo/firefox-112.0.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha256 = "6ea0a9850d0e228c4ee1e704ed72efe7dc5129ed3af32cd459c2ec0c5ad87fdf"; + sha256 = "9bc2f1ae29f742fdaafedbc6f4626456dabd276a1bfcc8569affeca3252a3311"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/es-AR/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/es-AR/firefox-112.0.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "085d8decae199ad5a958d6b517a3a3542fb021fb4f95fd383ee27d1bee91e4d2"; + sha256 = "a964125f1c65bd031bd3bd76f79993ea4c44273adbeb95ed36de6ffaf9ad7900"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/es-CL/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/es-CL/firefox-112.0.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha256 = "7e0e91299815d87b8f440e40a85e59bd9a5117e6814abbc48eba2176587adecc"; + sha256 = "19ca07a13d4a2218fed1addb3d9297978b00e7e469a37294f8c3cf0aaf4f8998"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/es-ES/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/es-ES/firefox-112.0.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "fb558a9d460af1c18adba0a04ca4ab8fedc1216f8088b41c60b66fbbd5ae639d"; + sha256 = "81ba2970c01d0c1d1465b1f601c2e753b0448d307df09ae49e2ca2257b3ff593"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/es-MX/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/es-MX/firefox-112.0.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha256 = "c35c80fbb2d7329dd3bd3e305f7b7343139b1689914835f0f4ab5cc93db7f9b2"; + sha256 = "02605c8bdc81077a491791ffc289c6071943e5e8a7983432a96937224d91a324"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/et/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/et/firefox-112.0.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha256 = "edc572e3c3174b6729bd67fccecfae711904312a3b3ea6189b1e289ae0decf22"; + sha256 = "6e83c5ad5eadd62122ebb3d39f6c03239e333a42616f105204ba83482c68b4fc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/eu/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/eu/firefox-112.0.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha256 = "a0cbde53721106f05a702af6f6355f7d476918ad7b6119a89e528685c8ea9ef9"; + sha256 = "64fa6814864a6189bfbccedc191cb9810519e196a2ddf34725a35446595f5eaf"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fa/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/fa/firefox-112.0.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha256 = "4322e2b0365cc61f02fa4667879216be1811c4671bea9ffe7c87900780517646"; + sha256 = "23c05ec2684597172470581c9369bec389709dd93b780bc888cc8ed3421e8b9f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ff/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ff/firefox-112.0.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha256 = "721ff01f42c10990877d75750f9e8e842d775b827f94683e5043906c339ac6e5"; + sha256 = "ec3e121e10423b0141e94f9bc9fe16cc46c6e284c140acf24add74a3ef6fcb10"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fi/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/fi/firefox-112.0.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha256 = "a3a5c66f3024906c156ce212ef429d674b2aeff0b332fdb1a1812509a701e3ea"; + sha256 = "728d0c84b6d4c9deb81a8d08e3609bbecc8201649a3dac0af4dd13bbc0ac0cfd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/fr/firefox-112.0.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha256 = "34ee8c6d655e09196544684c7699abb103be376860b950d7f0996d07978015ba"; + sha256 = "742f0ad5974032275c54fae54691061153075045f07ad71d47b93adea1d7b61a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fur/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/fur/firefox-112.0.tar.bz2"; locale = "fur"; arch = "linux-i686"; - sha256 = "c6f893afff5d8dfe9279f1b92dd6f02e4e4081fcbf589db12b46b44bc84d7171"; + sha256 = "225f63643a67fac0eb2db946e819afb730ed32a364a61546d80d192cfd89e530"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/fy-NL/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/fy-NL/firefox-112.0.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "830a780a5c1b6b8f60590ead7a9ac6bec10e07b2934a0532cd77132426dceb37"; + sha256 = "24ef6ed559bfb5811a482883bd33cbc3a9412141a3f487121a1aa1f5e5893b2a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ga-IE/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ga-IE/firefox-112.0.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "72bf033f4168cb7905971582ad32de38bf957c535d6d638abbd77f03a573c75e"; + sha256 = "a8bef67521297b9b6a089cd7c1b5c2c19d5d2a1845bb73b97beb70b1eb046f80"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/gd/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/gd/firefox-112.0.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha256 = "8c5cdc6798bfb82748986d5c6c04d1a91f21510cef53093970d635e6d460e9f9"; + sha256 = "4edfd3f269213dddabc6682893a27c24fc69614160cd19e3da3ca24906a571a8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/gl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/gl/firefox-112.0.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha256 = "4dc7e306027e1305798f7df3cfe55c1dd54626e4c8d14a2e072cfbbf0968ce87"; + sha256 = "4cfb046bbd7e70029ad697abcb40536f34e8d6c22228ea4cc79f4dd36a48d5c2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/gn/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/gn/firefox-112.0.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha256 = "ede50b9d975a314d1306d8d53cc1f860f60f085d3fadaf08d26041fedf167f18"; + sha256 = "001c3206f38b9c7053e3ae6b068fb245bcde6ace31be322f7bfd5c2c9f4c5f67"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/gu-IN/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/gu-IN/firefox-112.0.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha256 = "13de190cdab7b6af3773f9326af856822668cf4a0e60163942d1297a91e65ff7"; + sha256 = "1af0d38f6be210f9f5aa62752982ee95e115d3eade6e10bfbd9b45e699d3c876"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/he/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/he/firefox-112.0.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha256 = "a7d3bd7a4951b13458957db29d76d0e3db0a04ceb9e8c2af4ce2a85e6a676c5a"; + sha256 = "32d34998b4cb5f30d7f21695bb7c50511c9810f652b387b87566315bd51a6688"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hi-IN/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/hi-IN/firefox-112.0.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha256 = "3946158cd33859b9a33e4c4cb1ea82fc3435be819f84f72828143ab09d82f63e"; + sha256 = "8acdf419e6a3dd191f7e8d10c1d33eac02ef8ec93ea6486278b1ed3182c93536"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/hr/firefox-112.0.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha256 = "1f0a43f7f17037d00a87d5604135fa47909873ce763e660da89fb042bdf4c041"; + sha256 = "ebac36e1550d70237306d3f69db9a029333c2e7cdcd0321fc4f0da8dee3c8e9f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hsb/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/hsb/firefox-112.0.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha256 = "1c1b18be27f08d262dc4742191d988bb41de9310f1ec0cb594e515dd2dd18423"; + sha256 = "6b5eea0bccf7a82484e7a0dab090716ebdb82a79151abc9d77aec1d5032356d3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hu/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/hu/firefox-112.0.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha256 = "23fe4493b1204043c6d63e7f4b94bd3c7aa63bb74bff4ec10a4d49191130b75a"; + sha256 = "3abded26ade27554c48c6d0903d6cc5c5f1576766979542c80746c955cdbc9f4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/hy-AM/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/hy-AM/firefox-112.0.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "cac5ace4bbcb2b3a68c6b39e0245dd74863f5782d25f40d812447aaa46feb19c"; + sha256 = "50188c1333f393e7bb77d50d2adef4b52950bfa86fca993594f8db01a02f4a48"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ia/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ia/firefox-112.0.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha256 = "b0217c2bd618ad60cf7fcaf7daea0fad9c0ac1aa131c9b6018adbeed085aa645"; + sha256 = "cd2d66e303293cc7e81d2f571a5ad76f85bacaa59191ec31dff62ea31d4b0ccb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/id/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/id/firefox-112.0.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha256 = "e69960d1d33c7a7c7ac8532942c8df19c36b8acd38ea9d1fa64f39daf56cb7cd"; + sha256 = "f2ebdc1585a49b2b489c8ac95240d0f8aa51473d0b78fdaeac234b6020696083"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/is/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/is/firefox-112.0.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha256 = "893ffc7f282f868fefbe90998ab661369544cc2fda94cd8aa35e1df28c174862"; + sha256 = "095d254ff1e7fa05ac0723adf48c532e38fc5f7bb6cec81dc10139e0e070049f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/it/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/it/firefox-112.0.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha256 = "ac00b01a1eb13feb0391a7b0305eabfbcfa6bfedcaf6f0da81546cc344779e9e"; + sha256 = "0b731f69e7a08e6d022f0225b9992812e4d63216195f6519ce7b99ab9d3c368a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ja/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ja/firefox-112.0.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha256 = "e3e09ce43f2ec940f2ce7cfcc1e9c3977ca32373666e021616a3c1a70511c672"; + sha256 = "f3c84a776baef1a7b5ba7e232ebec5df71d06bf9317bcdd2cb6ab6ff72ef1691"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ka/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ka/firefox-112.0.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha256 = "27981ed3f705a0b8680b34315cebe744dc642a7306c8b951a08034cf06724090"; + sha256 = "cddc9cb826352cc94f42e600068f586c1e74c53d77df6c4cebe4f3008e3a9e90"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/kab/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/kab/firefox-112.0.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha256 = "c0d39ef2095fe95a8fe8bbadf2f8436a7d8f3fb35f0f5091e2a72228990a7898"; + sha256 = "dbc1b443083dda4bcf9b6fe76a6d4a032c4628d02555f0eda291b1ad99d597c3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/kk/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/kk/firefox-112.0.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha256 = "36cb0966178e92647eecba2c7c716f45216f8e7bfa9e25ecb7a5a1744088c598"; + sha256 = "5e8b8d68697fb75cbfd48e6b78a76bbbd0a972cffc3ae43f8b192696c77c72ed"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/km/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/km/firefox-112.0.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha256 = "a8e512fea6bd6b57813b47829fc89fab79adaa0fcb49d5f1f35157282b9d1a0a"; + sha256 = "737db59818e7ce5fef6cdb9cf2d5bae9ed5205aef2f4924839fd2428fa70d965"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/kn/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/kn/firefox-112.0.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha256 = "67ec72c4f961c8f29401d925b741f86f3778cb9fb185b1bd14c1e0bec67327a9"; + sha256 = "80a4833c598ae80f7a3dfc8b357041eac8c9061dc2c6dba8c88bea71f9dbd937"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ko/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ko/firefox-112.0.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha256 = "4a1c5e777ad9a965029de9abeec12775923b39b9bf9c73cc7a2395d5a6163b96"; + sha256 = "2000ff98bbaeab440941b366b2e311d3d73d2d0cdf6aca9873a9fc5016ad7b7b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/lij/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/lij/firefox-112.0.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha256 = "acb60e57696496263914ac308229c1434047d34f64711098a779ab72d03674d9"; + sha256 = "186699b7517b5d8659a76627127533b204642dc417374a3fccef4914fdc13a24"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/lt/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/lt/firefox-112.0.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha256 = "10982738a19da19346a343aa5b1ec82fa040b838cad52a3bb302cbe474895ca0"; + sha256 = "98ad4e67f3ff82c39b83bdc671c9ea91327a5aef0bb1a7c6ca9ea3e5c6ff2879"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/lv/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/lv/firefox-112.0.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha256 = "5e654f88c3a18e68d97996355ad025573899da7550a089dcbf525158624afe88"; + sha256 = "2cbe7f2765dada8f7c1ff1af7b17f6b51be2ec5257822d76f585ac487645e047"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/mk/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/mk/firefox-112.0.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha256 = "25b0cddd4efd914fcf157d3ccb53e814f410e9430915a35b82e43fcd335c5b05"; + sha256 = "567fcd3722b4664f68952fafe13fb0ab0e04fe858c2b3f6021d2726030a6a483"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/mr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/mr/firefox-112.0.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha256 = "3af959edb7f7a200d6ae4ba2aaf4c45e85a96c02cc8c2accca40b283eb27c299"; + sha256 = "0ab08deea333ea66b5081a4fc418bdecff8179e2e9a73487de32ef45c59771b0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ms/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ms/firefox-112.0.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha256 = "b229119cd8564b5044c9da1003cc135bfef8b16fab117108cf175b4fe89ad76e"; + sha256 = "0f23f6fd9d3bbe137eb8f321b6de1f22b5fe16a4199dc037e870aa276aa14c0c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/my/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/my/firefox-112.0.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha256 = "f52aa2f21139e18fc5550381d2f0a7980b181001491cd3daf35696c8fb1306f9"; + sha256 = "9d08dc125ec7d2984459bcee7496ad931812dcdd18fbef19631c6bd0ea336c68"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/nb-NO/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/nb-NO/firefox-112.0.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "25bb3b0e60c9724ce6170bcd200be2f1ea09892e0c42e7e4629875d5c71e1b73"; + sha256 = "1ee31e45e279ba448336d7aa9701b310db153b0ac8ac2fd1d6fc5120488b4e82"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ne-NP/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ne-NP/firefox-112.0.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha256 = "e28a206d92658e66fbab650fd394fb28947b46d1f3d18c538cbb37d33340ce54"; + sha256 = "3b6e001e3982c881106c9f64cfd614f1f8d998ce464bf2205d5826fc88fa49d3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/nl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/nl/firefox-112.0.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha256 = "de91b7f4b96ad277bbd92ac41353aa42e972b95a588846f34b29402dac03e4a2"; + sha256 = "ace49029f77f96ca0f94ba9fc6c2fa3cdd53201b75899cfc3cb9579a6cace0b1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/nn-NO/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/nn-NO/firefox-112.0.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "bfdcedb2e9caeb8c83c0a8a1c462961842284d2d2a56cf91d1fee807300e3b22"; + sha256 = "f3d2305b291234eb655050a384190f4510d0f9dba85aeef019106cc0911061eb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/oc/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/oc/firefox-112.0.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha256 = "b40a4b06c4f12a172453d41b20cc51d54a0869babb80c359984f34a2c44900c6"; + sha256 = "0595e5220ac48389ef027f6ec2f03ff8ba3e888e54d48b35973ef45b0b9f60fd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/pa-IN/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/pa-IN/firefox-112.0.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "1b40f46895055e6c3d5d956f5ca3b34ea7e7d73658a7beb3306fb63865504f20"; + sha256 = "92170c855af452f272443c1f58d32013161b15a442ebd7153e8df238a44c1a08"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/pl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/pl/firefox-112.0.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha256 = "78af19869ce30f66077ac160a97932800a3711bbfd3fb6847c3fb747d445d1dd"; + sha256 = "a04ea9e555b7b07c24768bda598e027a21d2264556d0b04ed86c66d72deab303"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/pt-BR/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/pt-BR/firefox-112.0.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "dc24ba9da33fa6b18824ff9ab0026fdca7b19af44e8066a35c03c68b58f62708"; + sha256 = "bb233d788561988839b7f598e7e518c5e91812e899741fe70b9937458d3cdf93"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/pt-PT/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/pt-PT/firefox-112.0.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "355c54ad8e4b1576574b7579d9fee9fe13e528ca8bf69185dd8d9fb2f4c2337a"; + sha256 = "397a54320e2a0d5e48fed911e42f4257b746a9997a158f55674a5e99c16e776b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/rm/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/rm/firefox-112.0.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha256 = "c4ab238e9284cb3dc3c338ccc67f140a1cdb3b3a7ab8b2382a1fa159da548184"; + sha256 = "2d01ae50894853b752001f9157f3c7281dcb14cc09209ec6d7a2113094ba30b3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ro/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ro/firefox-112.0.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha256 = "2959e44d2ce1a8529465246ef016c188ed8b6b42adfb7f364987a530200ac578"; + sha256 = "e388080e9eef604cd54aaadd25a8815d52e8fbfaac6479a4198532b9c000be0d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ru/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ru/firefox-112.0.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha256 = "21c41f61cbe1685ee0a042f63957c492da59a8633e8cc3b11d02fc24d78c8423"; + sha256 = "bec635e4903cecd80828a935381f66638a3be49ab820989976f527fd3484c5f0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sc/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/sc/firefox-112.0.tar.bz2"; locale = "sc"; arch = "linux-i686"; - sha256 = "0518d1a0465d8a7b02ae64403e44609b69c92f4411621f3d679bf84615baae40"; + sha256 = "373801a06d137c0c7d729e995ed899586aabb23c93d3c141079ed3e6fb0c8c78"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sco/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/sco/firefox-112.0.tar.bz2"; locale = "sco"; arch = "linux-i686"; - sha256 = "241f6513370f5d4f5fd107ae5dcf8e6c3f7d108fcf4836b26a7d2f1d7e2d59ac"; + sha256 = "98fa91e108fd6ddd6d05d03015250a7a8a6cfdef407cf0e06b4b693a5f783536"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/si/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/si/firefox-112.0.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha256 = "4beb66736c4f6060ec58923e70428fa57867ac63d5370b2684aabc869736edcf"; + sha256 = "d48c658c156b90cae5605db1ae65ff0ef413f036b07ed761fcd10b8812ac0f66"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sk/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/sk/firefox-112.0.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha256 = "9ed77e6b854f6eef491969e57383dafd1e33425ccf18e4ba6544e801c92afd5d"; + sha256 = "a4905df616bb512f764179d2a7befad120fcfefaae922e653ef7f1efecca283b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/sl/firefox-112.0.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha256 = "913842241c2d4751126131d60e7e1127ebfad6a0cdee626a8fad9fd704d63311"; + sha256 = "b23a531371d80f79a3698cca1e4eaba2326da9318fce7df3dafc3bde62a446a3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/son/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/son/firefox-112.0.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha256 = "de585f93a911b7c4ce86f8ca9c583b87484829e0ee07f8a8d050f911c2b25456"; + sha256 = "89c998c5ee99267e4d001a0be5a99eea34f75cb4d3e2c6af1db72a74a57291b0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sq/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/sq/firefox-112.0.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha256 = "54bbdd8faa7300ec1447672c47ef041f7bde18e0a4a171cb85d0341f20565d03"; + sha256 = "c353caca756e36a6e1e9434b9992bafd7fc379dcd0408a2f64d5434d99fbe022"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/sr/firefox-112.0.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha256 = "8daeb4d77fa9125edbe9adb953ca529e603330d3f0fa0ca1eeef7db10a3dbb44"; + sha256 = "d8f2caed8388230b2d37d4228ab53bd3b7dde0fd597d7ff16d303e1506f40c1e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/sv-SE/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/sv-SE/firefox-112.0.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "9ede3595b3d8e44731a71f1985fa0c1d11d4bf2229ab33ef1cb30123ef3ffb57"; + sha256 = "e82906e6f4d3cf49d644a54d840ad6f1de0c58c9820c07e158193eb659467bb6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/szl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/szl/firefox-112.0.tar.bz2"; locale = "szl"; arch = "linux-i686"; - sha256 = "8eee20c681aad5cfb5d7cf2d05fb4a37b6c6cd6c3126956a5a9b27f3ad1d1081"; + sha256 = "84c74dc9358f2ba4db8b37c751b1b694396f66d6c6005dd314506ca16f0868b6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ta/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ta/firefox-112.0.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha256 = "63465227c8cadbac1c891315e365a42f79570de8406dc74c0aedc0fabfd2c017"; + sha256 = "439900ed3e9fb7f3c18fd67ae16e6b42294957bf11c049326e02bced4b88da9d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/te/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/te/firefox-112.0.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha256 = "176cf25debf05a5f31e20a34ae6d4d7e24774475b3addc6d9af18b7e267b2d2e"; + sha256 = "493b1a2e2644689920b506115e15b3153fc492ffd0a0e2287947335f0e3aea6c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/th/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/th/firefox-112.0.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha256 = "0ccf17d4dea55e151178571865d5b00b4e0043a4e1336a943e471e458b47aa31"; + sha256 = "febec24221a8cb6004931ae115ee881f8a342a999cd3ba90c06090eb7d65595d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/tl/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/tl/firefox-112.0.tar.bz2"; locale = "tl"; arch = "linux-i686"; - sha256 = "e9a3d66de74a5c25ae630aeea709abb301ec1ea527d694bf72ffd89fc7c9f247"; + sha256 = "dbacf21e7efd9ada61654027738d5bc1b87862afbcfef951332bd3b80f73ef9b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/tr/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/tr/firefox-112.0.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha256 = "f154888cff96484b0918fb29f32237d53099a0ecaf38b62499444a9f5f1eb2ce"; + sha256 = "7fc6816c28abe9db2477b3b96729096e770fca7bf044c38fdfbb21590945536d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/trs/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/trs/firefox-112.0.tar.bz2"; locale = "trs"; arch = "linux-i686"; - sha256 = "0544708695fd913b20806443ec4efc3f80ba7d258a382cd9e8e18f4c109ea31b"; + sha256 = "10d9a48645a7c4eabbc9ffc62855fd998e0dba2b2fa566c83a14a5f5395eb0d8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/uk/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/uk/firefox-112.0.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha256 = "0bc4e807f8dd53c3bcc55e9c5aefd079ed14ff5f34c4d1eea497da755e0a80c6"; + sha256 = "e33d93724003d8b55f76e9565192bb2797997aa66f2d35c12dc7086f200c191a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/ur/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/ur/firefox-112.0.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha256 = "dd2550e4644f0dad92b19e236b3a83e45770316d7959f63c650c720f44e5f4ed"; + sha256 = "aa0cca88be261d10dea5f8449e211c0d7fe72824eb971f46de154be76d5a2df1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/uz/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/uz/firefox-112.0.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha256 = "dda2c6c00de2b27d46e407762a553b40cd1c1dc1d912b2905e069a44604f0b6a"; + sha256 = "08877588e0d027deb9cd9db2fe45e1169f74dd074f7c886df5d6502343e14c11"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/vi/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/vi/firefox-112.0.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha256 = "a8ad1ef8998b1e123bd7117273014cfe26976fb25b0d72e64c6c49d4c9c4033a"; + sha256 = "74971ee5d592f65872f71fd2049ce73ce4ed65bbc513b36844e1ae45aa44c807"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/xh/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/xh/firefox-112.0.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha256 = "5bb93cc12a12e71d3a943140607f3d7156843da66c36ab83826f483bcad1d8c3"; + sha256 = "9b8579e0c3361e7008aa2e4757645fda1254c63450dc2e63a79a20b032923b31"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/zh-CN/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/zh-CN/firefox-112.0.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "65155babc3a4d99f4f846a0e9fde1dced68582401f03f45474cd981395bb45d4"; + sha256 = "d2f878182fc94d4630343fe367221a202945d8ef5731a3f790b101193ac0d4d3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/111.0.1/linux-i686/zh-TW/firefox-111.0.1.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/112.0/linux-i686/zh-TW/firefox-112.0.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "a53de9571d098f1b0bc5df94438bd7f3f805dba82c696b91f42ebc075da3de77"; + sha256 = "8e76787f20c6b2b9cf2796e35dcc9b5ab4f335dd441f34627f1ffc505759c0c6"; } ]; } From 07c4c8394957fc3fe37294320c3cf2a4f75737b5 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 11 Apr 2023 18:34:47 +0200 Subject: [PATCH 28/46] firefox-esr-102-unwrapped: 102.9.0esr -> 102.10.0esr https://www.mozilla.org/en-US/firefox/102.10.0/releasenotes/ Fixes: CVE-2023-29533, CVE-2023-29535, CVE-2023-29536, CVE-2023-29539, CVE-2023-29541, CVE-2023-1945, CVE-2023-29548, CVE-2023-29550 --- pkgs/applications/networking/browsers/firefox/packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index 3ab951825dd4..a7c89c154699 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -85,11 +85,11 @@ rec { firefox-esr-102 = buildMozillaMach rec { pname = "firefox-esr-102"; - version = "102.9.0esr"; + version = "102.10.0esr"; applicationName = "Mozilla Firefox ESR"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "3923212ce4b7d1f589129025961ff1b380b8aaf1dd074674f3bd63cf14e9a44ff051bda556b7796c25634e153de00ce62243ece15a520f63dd0791a19b2a6685"; + sha512 = "f2b53c35bdd22a3de6f32699b832babcbf499667197c02dd50cf0b6cd956e0f4471f420938c2ab72f0a0686ed99fe74e3184afe9b5f7169130879b8f8fd99f0b"; }; meta = { From d37ee8222bbc5a0cf90d8e460a8e1474e819e86e Mon Sep 17 00:00:00 2001 From: ajs124 Date: Fri, 31 Mar 2023 15:29:39 +0200 Subject: [PATCH 29/46] nixos/borgbackup: run compact after prune --- nixos/modules/services/backup/borgbackup.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix index bc2d79ac10ac..08a2967e9c7f 100644 --- a/nixos/modules/services/backup/borgbackup.nix +++ b/nixos/modules/services/backup/borgbackup.nix @@ -66,6 +66,7 @@ let ${mkKeepArgs cfg} \ ${optionalString (cfg.prune.prefix != null) "--glob-archives ${escapeShellArg "${cfg.prune.prefix}*"}"} \ $extraPruneArgs + borg compact $extraArgs $extraCompactArgs ${cfg.postPrune} ''); @@ -638,6 +639,15 @@ in { example = "--save-space"; }; + extraCompactArgs = mkOption { + type = types.str; + description = lib.mdDoc '' + Additional arguments for {command}`borg compact`. + Can also be set at runtime using `$extraCompactArgs`. + ''; + default = ""; + example = "--cleanup-commits"; + }; }; } )); From 7f5eaf18d48a0189ae549073d623fb525d583eac Mon Sep 17 00:00:00 2001 From: Carlos A Becker Date: Tue, 11 Apr 2023 18:03:13 +0000 Subject: [PATCH 30/46] timer: unstable-2023-02-01 -> v1.3.0 Signed-off-by: Carlos A Becker --- pkgs/tools/misc/timer/default.nix | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/misc/timer/default.nix b/pkgs/tools/misc/timer/default.nix index 6332f6de64ec..29e087c86581 100644 --- a/pkgs/tools/misc/timer/default.nix +++ b/pkgs/tools/misc/timer/default.nix @@ -2,22 +2,20 @@ buildGoModule rec { pname = "timer"; - version = "unstable-2023-02-01"; + version = "1.3.0"; src = fetchFromGitHub { owner = "caarlos0"; repo = "timer"; - rev = "1f437baceb1ca76b341fdc229fe45938b282f2aa"; - hash = "sha256-u+naemEiKufKYROuJB55u8QgiIgg4nLsB+FerUImtXs="; + rev = "v${version}"; + hash = "sha256-9p/L3Hj3VqlNiyY3lfUAhCjwTl1iSTegWxaVEGB4qHM="; }; - vendorHash = "sha256-n4AjaojcDAYbgOIuaAJ4faVJqV+/0uby5OHRMsyL9Dg="; + vendorHash = "sha256-j7Xik0te6GdjfhXHT7DRf+MwM+aKjfgTGvroxnlD3MM="; ldflags = [ "-s" "-w" "-X main.version=${version}" ]; - passthru.tests.version = testers.testVersion { - package = timer; - }; + passthru.tests.version = testers.testVersion { package = timer; }; meta = with lib; { description = "A `sleep` with progress"; From 17014b0886a2eb420c74f62fb6bb7fcc75f188f3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 11 Apr 2023 14:36:37 +0000 Subject: [PATCH 31/46] doublecmd: 1.0.10 -> 1.0.11 --- pkgs/applications/file-managers/doublecmd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/file-managers/doublecmd/default.nix b/pkgs/applications/file-managers/doublecmd/default.nix index ca2839709ba3..35f7855e53aa 100644 --- a/pkgs/applications/file-managers/doublecmd/default.nix +++ b/pkgs/applications/file-managers/doublecmd/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "doublecmd"; - version = "1.0.10"; + version = "1.0.11"; src = fetchFromGitHub { owner = "doublecmd"; repo = "doublecmd"; rev = "v${finalAttrs.version}"; - hash = "sha256-S30/exZsw9Rs/l5Sml/q7dqUIcS55ZxbLFYv+M9Jr6o="; + hash = "sha256-UV5LooVkCBzUk9E7dYje6t19HOuMCO8jY+fNGTES0KA="; }; nativeBuildInputs = [ From 832587fd0e5c22b974768da9ba435613e58507d5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 11 Apr 2023 05:15:21 +0000 Subject: [PATCH 32/46] jwasm: 2.16 -> 2.17 --- pkgs/development/compilers/jwasm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/jwasm/default.nix b/pkgs/development/compilers/jwasm/default.nix index 0c9457a3d09d..fa004bca3117 100644 --- a/pkgs/development/compilers/jwasm/default.nix +++ b/pkgs/development/compilers/jwasm/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "jwasm"; - version = "2.16"; + version = "2.17"; src = fetchFromGitHub { owner = "Baron-von-Riedesel"; repo = "JWasm"; rev = "v${finalAttrs.version}"; - hash = "sha256-X2qqS4ev0+PeA1Gcsi8nivKAGZv7jxThxmQL/Jf5oB0="; + hash = "sha256-22eNtHXF+RQT4UbXIVjn1JP/s6igp5O1oQT7sVl7c1U="; }; outputs = [ "out" "doc" ]; From 4d24188185ea32b915235189ef0ac724739a597d Mon Sep 17 00:00:00 2001 From: LeixB Date: Tue, 11 Apr 2023 20:07:57 +0200 Subject: [PATCH 33/46] vimPlugins.sniprun: 1.2.13 -> 1.3.0 --- pkgs/applications/editors/vim/plugins/overrides.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index c7a4b2fc96ec..969481780e96 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -852,18 +852,18 @@ self: super: { sniprun = let - version = "1.2.13"; + version = "1.3.0"; src = fetchFromGitHub { owner = "michaelb"; repo = "sniprun"; rev = "v${version}"; - hash = "sha256-VDLBktZChRgorJt/V/wuFQn/SL4yOZIElmntEQEi8Tc="; + hash = "sha256-6UDjrrEtOuB+lrCZVBO4BcZm78qwq8YbQcXAdjNbicY="; }; sniprun-bin = rustPlatform.buildRustPackage { pname = "sniprun-bin"; inherit version src; - cargoSha256 = "sha256-cJwmuwsC81fSH36TRU7xGzlR4pVdjsw73uRaH1uWY+0="; + cargoSha256 = "sha256-ghXYUgXqXvK9RySG/hQR5zpLsyk6L9Htb/UYgMPyWUk="; nativeBuildInputs = [ makeWrapper ]; From 2ed32c48a55086934bc3b1f0427a9d1dc5bbe3b2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 10 Apr 2023 22:01:06 +0000 Subject: [PATCH 34/46] primecount: 7.7 -> 7.8 --- pkgs/applications/science/math/primecount/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/science/math/primecount/default.nix b/pkgs/applications/science/math/primecount/default.nix index ee6b781d7d3f..6b050f0f4fce 100644 --- a/pkgs/applications/science/math/primecount/default.nix +++ b/pkgs/applications/science/math/primecount/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "primecount"; - version = "7.7"; + version = "7.8"; src = fetchFromGitHub { owner = "kimwalisch"; repo = "primecount"; rev = "v${version}"; - hash = "sha256-6Q9DPnlGKb31QYEGpm78ISfbj90MeLD0/2k2fDZm7cM="; + hash = "sha256-yKk+zXvA/MI7y9gCMwJNYHRYIYgeWyJHjyPi1uNWVnM="; }; nativeBuildInputs = [ From 3c59da4b6dea9db1b6da0202970ad8ff76291a60 Mon Sep 17 00:00:00 2001 From: LeixB Date: Tue, 11 Apr 2023 20:08:24 +0200 Subject: [PATCH 35/46] vimPlugins.sniprun: fix missing documentation --- pkgs/applications/editors/vim/plugins/overrides.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 969481780e96..d480b97b0146 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -884,6 +884,11 @@ self: super: { substituteInPlace lua/sniprun.lua --replace '@sniprun_bin@' ${sniprun-bin} ''; + postInstall = '' + mkdir $out/doc + ln -s $out/docs/sniprun.txt $out/doc/sniprun.txt + ''; + propagatedBuildInputs = [ sniprun-bin ]; }; From 9adf83737fe850f99c1b1a50cfe477248926c504 Mon Sep 17 00:00:00 2001 From: Artturin Date: Tue, 11 Apr 2023 21:25:52 +0300 Subject: [PATCH 36/46] stdenvAdapters: fix preservation of env --- pkgs/stdenv/adapters.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 43fa87d14d88..eaf497f335f5 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -176,7 +176,7 @@ rec { stdenv.override (old: { mkDerivationFromStdenv = extendMkDerivationArgs old (args: { dontStrip = true; - env.NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -ggdb -Og"; + env = (args.env or {}) // { NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -ggdb -Og"; }; }); }); @@ -219,7 +219,8 @@ rec { impureUseNativeOptimizations = stdenv: stdenv.override (old: { mkDerivationFromStdenv = extendMkDerivationArgs old (args: { - env.NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -march=native"; + env = (args.env or {}) // { NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -march=native"; }; + NIX_ENFORCE_NO_NATIVE = false; preferLocalBuild = true; @@ -244,7 +245,7 @@ rec { withCFlags = compilerFlags: stdenv: stdenv.override (old: { mkDerivationFromStdenv = extendMkDerivationArgs old (args: { - env.NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " ${toString compilerFlags}"; + env = (args.env or {}) // { NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " ${toString compilerFlags}"; }; }); }); } From feb19d8697fffee8bd7b6d807dd0d5d46d1326de Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Tue, 11 Apr 2023 20:36:57 +0200 Subject: [PATCH 37/46] gitsign: 0.4.1 -> 0.6.0 https://github.com/sigstore/gitsign/releases/tag/v0.6.0 https://github.com/sigstore/gitsign/releases/tag/v0.5.2 --- .../version-management/gitsign/default.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/gitsign/default.nix b/pkgs/applications/version-management/gitsign/default.nix index c85daaed79b9..ecb70bd96b94 100644 --- a/pkgs/applications/version-management/gitsign/default.nix +++ b/pkgs/applications/version-management/gitsign/default.nix @@ -2,20 +2,30 @@ buildGoModule rec { pname = "gitsign"; - version = "0.4.1"; + version = "0.6.0"; src = fetchFromGitHub { owner = "sigstore"; repo = pname; rev = "v${version}"; - sha256 = "sha256-lSE4BLwtxicngvnDCcMa6F6c3+Okn9NKAOnT2FGi7kU="; + hash = "sha256-VgkTFYnHKpqZOack5SabOFu2BRespVRhgrsepo0V1mI="; }; - vendorSha256 = "sha256-WrVunAxOXXGSbs9OyKydeg4N/s871mt2O3t2e5DxXQo="; + vendorHash = "sha256-zalysp+90+QM5hX7yUudJW61h+3tQOab7ZpcF5kZSB0="; + + subPackages = [ + "." + "cmd/gitsign-credential-cache" + ]; nativeBuildInputs = [ makeWrapper ]; ldflags = [ "-s" "-w" "-buildid=" "-X github.com/sigstore/gitsign/pkg/version.gitVersion=${version}" ]; + preCheck = '' + # test all paths + unset subPackages + ''; + postInstall = '' for f in $out/bin/*; do wrapProgram $f --prefix PATH : ${lib.makeBinPath [ gitMinimal ]} From 870c0f95fb4e122b97f3f0de904f1c5e8cf5874a Mon Sep 17 00:00:00 2001 From: Thomas Gerbet Date: Tue, 11 Apr 2023 20:38:00 +0200 Subject: [PATCH 38/46] gitsign: add passthru.tests.version --- pkgs/applications/version-management/gitsign/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/version-management/gitsign/default.nix b/pkgs/applications/version-management/gitsign/default.nix index ecb70bd96b94..57238eda3347 100644 --- a/pkgs/applications/version-management/gitsign/default.nix +++ b/pkgs/applications/version-management/gitsign/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub, stdenv, makeWrapper, gitMinimal }: +{ lib, buildGoModule, fetchFromGitHub, stdenv, makeWrapper, gitMinimal, testers, gitsign }: buildGoModule rec { pname = "gitsign"; @@ -32,6 +32,8 @@ buildGoModule rec { done ''; + passthru.tests.version = testers.testVersion { package = gitsign; }; + meta = { homepage = "https://github.com/sigstore/gitsign"; changelog = "https://github.com/sigstore/gitsign/releases/tag/v${version}"; From 8cbf65ece948ad3f98118b4fd10d8657d61450b8 Mon Sep 17 00:00:00 2001 From: geri1701 Date: Tue, 11 Apr 2023 21:05:56 +0200 Subject: [PATCH 39/46] Fix typo in coding-conventions.chapter.md --- doc/contributing/coding-conventions.chapter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/contributing/coding-conventions.chapter.md b/doc/contributing/coding-conventions.chapter.md index 2530b14a2f7b..7a538de18d15 100644 --- a/doc/contributing/coding-conventions.chapter.md +++ b/doc/contributing/coding-conventions.chapter.md @@ -454,7 +454,7 @@ In the file `pkgs/top-level/all-packages.nix` you can find fetch helpers, these owner = "NixOS"; repo = "nix"; rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae"; - hash = "ha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ=; + hash = "ha256-7D4m+saJjbSFP5hOwpQq2FGR2rr+psQMTcyb1ZvtXsQ="; } ``` From c347bd62a16ba88322be96cf733f7c49d7988afc Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Sat, 8 Apr 2023 22:08:04 +0200 Subject: [PATCH 40/46] noto-fonts: switch to variable fonts and remove noto-font-extra --- pkgs/data/fonts/noto-fonts/default.nix | 34 +++++++++++++++----------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 3 +-- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix index abd6ad0b2c31..822bde41abe3 100644 --- a/pkgs/data/fonts/noto-fonts/default.nix +++ b/pkgs/data/fonts/noto-fonts/default.nix @@ -29,7 +29,6 @@ in rec { mkNoto = { pname - , weights , variants ? [ ] , longDescription ? notoLongDescription }: @@ -47,17 +46,31 @@ rec { _variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants; installPhase = '' - # We copy in reverse preference order -- unhinted first, then - # hinted -- to get the "best" version of each font while + # We check availability in order of variable -> otf -> ttf + # unhinted -- the hinted versions use autohint # maintaining maximum coverage. # - # TODO: install OpenType, variable versions? - local out_ttf=$out/share/fonts/truetype/noto + # We have a mix of otf and ttf fonts + local out_font=$out/share/fonts/noto '' + (if _variants == [ ] then '' - install -m444 -Dt $out_ttf fonts/*/hinted/ttf/*-${weights}.ttf + for folder in $(ls -d fonts/*/); do + if [[ -d "$folder"unhinted/variable-ttf ]]; then + install -m444 -Dt $out_font "$folder"unhinted/variable-ttf/*.ttf + elif [[ -d "$folder"unhinted/otf ]]; then + install -m444 -Dt $out_font "$folder"unhinted/otf/*.otf + else + install -m444 -Dt $out_font "$folder"unhinted/ttf/*.ttf + fi + done '' else '' for variant in $_variants; do - install -m444 -Dt $out_ttf fonts/$variant/hinted/ttf/*-${weights}.ttf + if [[ -d fonts/"$variant"/unhinted/variable-ttf ]]; then + install -m444 -Dt $out_font fonts/"$variant"/unhinted/variable-ttf/*.ttf + elif [[ -d fonts/"$variant"/unhinted/otf ]]; then + install -m444 -Dt $out_font fonts/"$variant"/unhinted/otf/*.otf + else + install -m444 -Dt $out_font fonts/"$variant"/unhinted/ttf/*.ttf + fi done ''); @@ -112,12 +125,10 @@ rec { noto-fonts = mkNoto { pname = "noto-fonts"; - weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}"; }; noto-fonts-lgc-plus = mkNoto { pname = "noto-fonts-lgc-plus"; - weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}"; variants = [ "Noto Sans" "Noto Serif" @@ -135,11 +146,6 @@ rec { ''; }; - noto-fonts-extra = mkNoto { - pname = "noto-fonts-extra"; - weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*"; - }; - noto-fonts-cjk-sans = mkNotoCJK { typeface = "Sans"; version = "2.004"; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 5004a976bd39..a001ff6c0f1b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1114,6 +1114,7 @@ mapAliases ({ nomad_1_1 = throw "nomad_1_1 has been removed because it's outdated. Use a a newer version instead"; # Added 2022-05-22 nordic-polar = throw "nordic-polar was removed on 2021-05-27, now integrated in nordic"; # Added 2021-05-27 noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16 + noto-fonts-extra = noto-fonts; # Added 2023-04-08 nottetris2 = throw "nottetris2 was removed because it is unmaintained by upstream and broken"; # Added 2022-01-15 now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # Added 2021-08-05 ntdb = throw "ntdb has been removed: abandoned by upstream"; # Added 2022-04-21 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e9b205ef0918..ac4e1e2074a0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28168,8 +28168,7 @@ with pkgs; noto-fonts-cjk-sans noto-fonts-cjk-serif noto-fonts-emoji - noto-fonts-emoji-blob-bin - noto-fonts-extra; + noto-fonts-emoji-blob-bin; nuclear = callPackage ../applications/audio/nuclear { }; From e7c6a07d2558c31cdf167103997ac3c8ba5bbcbc Mon Sep 17 00:00:00 2001 From: MaeIsBad <26093674+MaeIsBad@users.noreply.github.com> Date: Tue, 11 Apr 2023 21:38:01 +0200 Subject: [PATCH 41/46] gnomecast: 1.9.11 -> unstable-2022-04-23 (#180342) Co-authored-by: bad --- pkgs/applications/video/gnomecast/default.nix | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/video/gnomecast/default.nix b/pkgs/applications/video/gnomecast/default.nix index 635d91ca54e2..6e41dcb7b8e3 100644 --- a/pkgs/applications/video/gnomecast/default.nix +++ b/pkgs/applications/video/gnomecast/default.nix @@ -1,19 +1,28 @@ -{ stdenv, lib, python3Packages, gtk3, gobject-introspection, ffmpeg, wrapGAppsHook }: +{ stdenv, lib, python3Packages, fetchFromGitHub, gtk3, gobject-introspection, ffmpeg, wrapGAppsHook }: with python3Packages; buildPythonApplication rec { pname = "gnomecast"; - version = "1.9.11"; + version = "unstable-2022-04-23"; - src = fetchPypi { - inherit pname version; - sha256 = "4d8cd7a71f352137252c5a9ee13475bd67fb99594560ecff1efb0f718d8bbaac"; + src = fetchFromGitHub { + owner = "keredson"; + repo = "gnomecast"; + rev = "d42d8915838b01c5cadacb322909e08ffa455d4f"; + sha256 = "sha256-CJpbBuRzEjWb8hsh3HMW4bZA7nyDAwjrERCS5uGdwn8="; }; nativeBuildInputs = [ wrapGAppsHook ]; propagatedBuildInputs = [ - pychromecast bottle pycaption paste html5lib pygobject3 dbus-python - gtk3 gobject-introspection + pychromecast + bottle + pycaption + paste + html5lib + pygobject3 + dbus-python + gtk3 + gobject-introspection ]; # NOTE: gdk-pixbuf setup hook does not run with strictDeps From 6c108c5a7208cf26c5b1048ce6f7b82f1a10b22c Mon Sep 17 00:00:00 2001 From: Patryk Kwiatek Date: Tue, 11 Apr 2023 20:31:52 +0000 Subject: [PATCH 42/46] ferretdb: 0.9.4 -> 1.0.0 (#225792) --- pkgs/servers/nosql/ferretdb/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/nosql/ferretdb/default.nix b/pkgs/servers/nosql/ferretdb/default.nix index 9960cc5c3cab..2e580fb5b412 100644 --- a/pkgs/servers/nosql/ferretdb/default.nix +++ b/pkgs/servers/nosql/ferretdb/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "ferretdb"; - version = "0.9.4"; + version = "1.0.0"; src = fetchFromGitHub { owner = "FerretDB"; repo = "FerretDB"; rev = "v${version}"; - sha256 = "sha256-DdOZIK1y7WhKigd5u4JGErP53FCQSe3QCZMXIa4ah3I="; + sha256 = "sha256-WFGVQWEYQBUzZAc8yHvD3C3bYbH0hVGoz28nVMV1IP8="; }; postPatch = '' @@ -19,7 +19,7 @@ buildGoModule rec { echo nixpkgs > build/version/package.txt ''; - vendorSha256 = "sha256-Kmc/xWNrx62Ua87K5tif4s3jpWLbzTqNpw8j/3bYXr4="; + vendorSha256 = "sha256-jxo8QXw9Ca27VPjC7GYIm8SVxvhSZBQLnW2Kuthu5Rk="; CGO_ENABLED = 0; From 8fb5d438e2eb97f2d985e889fab07fb95ee5a427 Mon Sep 17 00:00:00 2001 From: Lorenz Brun Date: Tue, 11 Apr 2023 23:23:40 +0200 Subject: [PATCH 43/46] cc2538-bsl: init at unstable-2022-08-03 (#221394) Co-authored-by: Sandro --- pkgs/tools/misc/cc2538-bsl/default.nix | 36 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/tools/misc/cc2538-bsl/default.nix diff --git a/pkgs/tools/misc/cc2538-bsl/default.nix b/pkgs/tools/misc/cc2538-bsl/default.nix new file mode 100644 index 000000000000..77280835fe06 --- /dev/null +++ b/pkgs/tools/misc/cc2538-bsl/default.nix @@ -0,0 +1,36 @@ +{ lib, fetchFromGitHub, python3Packages }: + +python3Packages.buildPythonPackage rec { + pname = "cc2538-bsl"; + version = "unstable-2022-08-03"; + + src = fetchFromGitHub rec { + owner = "JelmerT"; + repo = pname; + rev = "538ea0deb99530e28fdf1b454e9c9d79d85a3970"; + hash = "sha256-fPY12kValxbJORi9xNyxzwkGpD9F9u3M1+aa9IlSiaE="; + }; + + nativeBuildInputs = [ python3Packages.setuptools-scm ]; + + propagatedBuildInputs = with python3Packages; [ + intelhex + pyserial + python-magic + ]; + + env.SETUPTOOLS_SCM_PRETEND_VERSION = "0.1.dev0+g${lib.substring 0 7 src.rev}"; + + postInstall = '' + # Remove .py from binary + mv $out/bin/cc2538-bsl.py $out/bin/cc2538-bsl + ''; + + meta = with lib; { + homepage = "https://github.com/JelmerT/cc2538-bsl"; + description = "Flash TI SimpleLink chips (CC2538, CC13xx, CC26xx) over serial"; + license = licenses.bsd3; + maintainers = with maintainers; [ lorenz ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c5225cc7eb00..b6ac595fc905 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6381,6 +6381,8 @@ with pkgs; cask-server = libsForQt5.callPackage ../applications/misc/cask-server { }; + cc2538-bsl = callPackage ../tools/misc/cc2538-bsl { }; + code-browser-qt = libsForQt5.callPackage ../applications/editors/code-browser { withQt = true; }; code-browser-gtk2 = callPackage ../applications/editors/code-browser { withGtk2 = true; }; code-browser-gtk = callPackage ../applications/editors/code-browser { withGtk3 = true; }; From e3702c078896999b5d763452d3738baca569234b Mon Sep 17 00:00:00 2001 From: ajs124 Date: Tue, 11 Apr 2023 20:13:44 +0200 Subject: [PATCH 44/46] nixos/dhcpd: warn of pending removal --- nixos/modules/services/networking/dhcpd.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix index 0bd5e4ef5535..a981a255c3ee 100644 --- a/nixos/modules/services/networking/dhcpd.nix +++ b/nixos/modules/services/networking/dhcpd.nix @@ -218,6 +218,13 @@ in systemd.services = dhcpdService "4" cfg4 // dhcpdService "6" cfg6; + warnings = [ + '' + The dhcpd4 and dhcpd6 modules will be removed from NixOS 23.11, because ISC DHCP reached its end of life. + See https://www.isc.org/blogs/isc-dhcp-eol/ for details. + Please switch to a different implementation like kea, systemd-networkd or dnsmasq. + '' + ]; }; } From ed0a9877559a5ff1949067b0ae5f9a7a70d80f9e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 9 Apr 2023 23:32:19 +0000 Subject: [PATCH 45/46] hd-idle: 1.17 -> 1.20 --- pkgs/os-specific/linux/hd-idle/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/hd-idle/default.nix b/pkgs/os-specific/linux/hd-idle/default.nix index b9256158549a..77caa1315984 100644 --- a/pkgs/os-specific/linux/hd-idle/default.nix +++ b/pkgs/os-specific/linux/hd-idle/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "hd-idle"; - version = "1.17"; + version = "1.20"; src = fetchFromGitHub { owner = "adelolmo"; repo = pname; rev = "v${version}"; - sha256 = "sha256-BHUjKvhUDeD/Xm0KKbkLH2XWn1W77E7Pm3OSPARF6Xw="; + sha256 = "sha256-7EXfI3E83ltpjq2M/qZX2P/bNtQQBWZRBCD7i5uit0I="; }; - vendorSha256 = null; + vendorHash = null; nativeBuildInputs = [ installShellFiles ]; From 5f711122351dbbf27ddfc0676517870968e81ab7 Mon Sep 17 00:00:00 2001 From: IndeedNotJames Date: Tue, 11 Apr 2023 17:42:20 +0200 Subject: [PATCH 46/46] firecracker: 1.1.3 -> 1.3.1 https://github.com/firecracker-microvm/firecracker/releases/tag/v1.3.1 https://github.com/firecracker-microvm/firecracker/releases/tag/v1.3.0 https://github.com/firecracker-microvm/firecracker/releases/tag/v1.2.0 diff: https://github.com/firecracker-microvm/firecracker/compare/v1.1.3...v1.3.1 --- pkgs/applications/virtualization/firecracker/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix index 7662c57d7a1c..168c6c5acf5b 100644 --- a/pkgs/applications/virtualization/firecracker/default.nix +++ b/pkgs/applications/virtualization/firecracker/default.nix @@ -1,7 +1,7 @@ { fetchurl, lib, stdenv }: let - version = "1.1.3"; + version = "1.3.1"; # nixpkgs-update: no auto update suffix = { @@ -23,8 +23,8 @@ stdenv.mkDerivation { sourceRoot = "."; src = dlbin { - x86_64-linux = "sha256-3+CqVBOb2haknQIMzE9kl99pDWm9wZPUX92FlVov3No="; - aarch64-linux = "sha256-ii+x4YEZIZJuM+1Njvxe1dz6WOvAK1SWqfuodC7a4yo="; + x86_64-linux = "sha256-VfTo3TaTqqBYT2/CZW0F5tGXaT4CyBcKBnP5Xqc1BLI="; + aarch64-linux = "sha256-ODIBa482X8bNhRyvdmIGGi/6BZYif02cf8tAWYRcI2k="; }; dontConfigure = true;