summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2024-10-31 00:16:56 +0000
committerGitHub <noreply@github.com>2024-10-31 00:16:56 +0000
commitb6deb2aaaaf710c395ec357f515c6677ea6d56a9 (patch)
tree3924cfe4f5b24574ac24ae43d2db46f746ed57b8
parentMerge release-24.05 into staging-next-24.05 (diff)
parent[Backport release-24.05] panoply: 5.5.3 -> 5.5.4 (#352450) (diff)
downloadnixpkgs-b6deb2aaaaf710c395ec357f515c6677ea6d56a9.tar.gz
Merge release-24.05 into staging-next-24.05
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix826
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix826
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix826
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix3
-rw-r--r--pkgs/applications/networking/browsers/firefox/env_var_for_system_dir-ff133.patch22
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix20
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix530
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix5
-rw-r--r--pkgs/by-name/to/tor-browser/package.nix6
-rw-r--r--pkgs/development/libraries/nss/latest.nix4
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix14
-rw-r--r--pkgs/games/factorio/default.nix4
-rwxr-xr-xpkgs/games/factorio/update.py1
-rw-r--r--pkgs/games/factorio/versions-1.json58
-rw-r--r--pkgs/games/factorio/versions.json42
-rw-r--r--pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon.nix29
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix4
-rw-r--r--pkgs/os-specific/linux/scx/default.nix79
-rw-r--r--pkgs/os-specific/linux/scx/scx_bpfland/Cargo.lock1530
-rw-r--r--pkgs/os-specific/linux/scx/scx_bpfland/default.nix38
-rw-r--r--pkgs/os-specific/linux/scx/scx_csheds.nix109
-rw-r--r--pkgs/os-specific/linux/scx/scx_full.nix28
-rw-r--r--pkgs/os-specific/linux/scx/scx_lavd/Cargo.lock1646
-rw-r--r--pkgs/os-specific/linux/scx/scx_lavd/default.nix37
-rw-r--r--pkgs/os-specific/linux/scx/scx_layered/Cargo.lock1672
-rw-r--r--pkgs/os-specific/linux/scx/scx_layered/default.nix36
-rw-r--r--pkgs/os-specific/linux/scx/scx_rlfifo/Cargo.lock1486
-rw-r--r--pkgs/os-specific/linux/scx/scx_rlfifo/default.nix37
-rw-r--r--pkgs/os-specific/linux/scx/scx_rustland/Cargo.lock1630
-rw-r--r--pkgs/os-specific/linux/scx/scx_rustland/default.nix38
-rw-r--r--pkgs/os-specific/linux/scx/scx_rusty/Cargo.lock1689
-rw-r--r--pkgs/os-specific/linux/scx/scx_rusty/default.nix38
-rwxr-xr-xpkgs/os-specific/linux/scx/update.sh50
-rw-r--r--pkgs/os-specific/linux/scx/version.json14
-rw-r--r--pkgs/servers/x11/xorg/default.nix64
-rw-r--r--pkgs/servers/x11/xorg/tarballs.list20
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix19
-rw-r--r--pkgs/tools/inputmethods/libinput-gestures/default.nix76
-rw-r--r--pkgs/tools/misc/panoply/default.nix4
-rw-r--r--pkgs/tools/package-management/nix/common.nix4
-rw-r--r--pkgs/tools/package-management/nix/default.nix51
-rw-r--r--pkgs/tools/package-management/nix/patches/2_18/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch315
-rw-r--r--pkgs/tools/package-management/nix/patches/2_18/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch34
-rw-r--r--pkgs/tools/package-management/nix/patches/2_18/0003-local-derivation-goal-Refactor.patch41
-rw-r--r--pkgs/tools/package-management/nix/patches/2_18/0004-local-derivation-goal-Move-builder-preparation-to-no.patch75
-rw-r--r--pkgs/tools/package-management/nix/patches/2_19/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch312
-rw-r--r--pkgs/tools/package-management/nix/patches/2_19/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch34
-rw-r--r--pkgs/tools/package-management/nix/patches/2_19/0003-local-derivation-goal-Refactor.patch41
-rw-r--r--pkgs/tools/package-management/nix/patches/2_19/0004-local-derivation-goal-Move-builder-preparation-to-no.patch75
-rw-r--r--pkgs/tools/package-management/nix/patches/2_20/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch320
-rw-r--r--pkgs/tools/package-management/nix/patches/2_20/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch34
-rw-r--r--pkgs/tools/package-management/nix/patches/2_20/0003-local-derivation-goal-Refactor.patch41
-rw-r--r--pkgs/tools/package-management/nix/patches/2_20/0004-local-derivation-goal-Move-builder-preparation-to-no.patch75
-rw-r--r--pkgs/tools/package-management/nix/patches/2_21/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch320
-rw-r--r--pkgs/tools/package-management/nix/patches/2_21/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch34
-rw-r--r--pkgs/tools/package-management/nix/patches/2_21/0003-local-derivation-goal-Refactor.patch41
-rw-r--r--pkgs/tools/package-management/nix/patches/2_21/0004-local-derivation-goal-Move-builder-preparation-to-no.patch75
-rw-r--r--pkgs/tools/package-management/nix/patches/2_22/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch327
-rw-r--r--pkgs/tools/package-management/nix/patches/2_22/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch34
-rw-r--r--pkgs/tools/package-management/nix/patches/2_22/0003-local-derivation-goal-Refactor.patch41
-rw-r--r--pkgs/tools/package-management/nix/patches/2_22/0004-local-derivation-goal-Move-builder-preparation-to-no.patch75
-rw-r--r--pkgs/tools/package-management/nix/patches/2_23/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch323
-rw-r--r--pkgs/tools/package-management/nix/patches/2_23/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch34
-rw-r--r--pkgs/tools/package-management/nix/patches/2_23/0003-local-derivation-goal-Refactor.patch41
-rw-r--r--pkgs/tools/package-management/nix/patches/2_23/0004-local-derivation-goal-Move-builder-preparation-to-no.patch75
-rw-r--r--pkgs/tools/package-management/nix/patches/2_24/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch323
-rw-r--r--pkgs/tools/package-management/nix/patches/2_24/0002-packaging-Add-darwin-lsandbox-in-meson.patch53
-rw-r--r--pkgs/tools/package-management/nix/patches/2_24/0003-local-derivation-goal-Print-sandbox-error-detail-on-.patch34
-rw-r--r--pkgs/tools/package-management/nix/patches/2_24/0004-local-derivation-goal-Refactor.patch41
-rw-r--r--pkgs/tools/package-management/nix/patches/2_24/0005-local-derivation-goal-Move-builder-preparation-to-no.patch75
-rw-r--r--pkgs/tools/package-management/nix/patches/git/0001-Fix-meson-build-on-darwin.patch28
-rw-r--r--pkgs/tools/package-management/nix/patches/git/0002-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch323
-rw-r--r--pkgs/tools/package-management/nix/patches/git/0003-packaging-Add-darwin-lsandbox-in-meson.patch53
-rw-r--r--pkgs/tools/package-management/nix/patches/git/0004-local-derivation-goal-Print-sandbox-error-detail-on-.patch34
-rw-r--r--pkgs/tools/package-management/nix/patches/git/0005-local-derivation-goal-Refactor.patch41
-rw-r--r--pkgs/tools/package-management/nix/patches/git/0006-local-derivation-goal-Move-builder-preparation-to-no.patch75
-rw-r--r--pkgs/top-level/all-packages.nix31
78 files changed, 15908 insertions, 1651 deletions
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 4a2464681b2c..67efec7ec4c8 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,1035 +1,1035 @@
{
- version = "132.0b9";
+ version = "133.0b1";
sources = [
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ach/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ach/firefox-133.0b1.tar.bz2";
locale = "ach";
arch = "linux-x86_64";
- sha256 = "2bf1ccf753ee0f63de4c99dce1947add6ae443a3a7c016edcc7c2c8db2483e90";
+ sha256 = "50448ed2d2609a0841d6c8b62215a7ca41e504a6221549631ef5fa2609ca54e2";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/af/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/af/firefox-133.0b1.tar.bz2";
locale = "af";
arch = "linux-x86_64";
- sha256 = "7fc7eef2a27e86355628a32c341372a1c9029f25d5791e9f5a5e4a702f4efd0e";
+ sha256 = "c5ed4f79f883a62a3f30efb80b7050075083aa032c5e1639a6a9778becc735b3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/an/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/an/firefox-133.0b1.tar.bz2";
locale = "an";
arch = "linux-x86_64";
- sha256 = "fc5bf48ed17526b860c282070bfc7475516cf8cb3dcca1f5943c239b225254d4";
+ sha256 = "378e0b4bfac32d51e935a73cd8c28ccc78018c677c8704acada353bf9046d10b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ar/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ar/firefox-133.0b1.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
- sha256 = "6e600a4d224af329f98e8898207b97d568aec7086f3dbd3aebf64756818a7bb7";
+ sha256 = "f1c0003a8f7c5428384aa43a0cd51d4953457e64f519770f3962de2c68bb8b47";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ast/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ast/firefox-133.0b1.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
- sha256 = "d2f5adc71fe72f8d17fea11b6d9c0cb32fc787ea91320ecb63d9b47d774954f0";
+ sha256 = "d35b47257a29887af21c3708af489eda87fcad049bb49ecbe8c63ce9bc68a874";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/az/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/az/firefox-133.0b1.tar.bz2";
locale = "az";
arch = "linux-x86_64";
- sha256 = "cf7f020204382c7bdd5134aa436c77aa8c2d97a67cde6875560aced14ed6bc12";
+ sha256 = "e007e7c55258e75f9a631320673e585bb1228a1133e78b8f786954c3eed10400";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/be/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/be/firefox-133.0b1.tar.bz2";
locale = "be";
arch = "linux-x86_64";
- sha256 = "1dbbd2b1b36bdbeb93b4f2702b0567749903adb45161468287b4d0b267c1df5c";
+ sha256 = "503ce419dd33f277c9fec6631bfb58d829a76a0e1e2a1ef84cb18546215d0353";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/bg/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/bg/firefox-133.0b1.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
- sha256 = "dddb31bbdd0eb21551ec2f8223cf40d30ab4436b381f9cdaf6011afd85f7464b";
+ sha256 = "0361204369ba150f27da8713d13fc8bccdc71608ff7ff7962e2f141dfab23692";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/bn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/bn/firefox-133.0b1.tar.bz2";
locale = "bn";
arch = "linux-x86_64";
- sha256 = "aeb5cfe60baeecfea03c68d610b0296a76e3481d15c656413a16cb102042d50c";
+ sha256 = "1ec47024fd30ebeb6024551ad3ac509c305c2908878b66683cc5179f1184df78";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/br/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/br/firefox-133.0b1.tar.bz2";
locale = "br";
arch = "linux-x86_64";
- sha256 = "723f991b7c27a6cfdf35e9eb21a36c5b16b3ff5f89d38c31f53dcd81ab03a194";
+ sha256 = "bfb50b57561f6714dce74c9ba239dcf650a778e088887e074a36368c2f922ae3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/bs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/bs/firefox-133.0b1.tar.bz2";
locale = "bs";
arch = "linux-x86_64";
- sha256 = "1fc1a108d18a2c12413fbbeb4f5b4d3a07ae5ba7ab987087bcdea9cbe8477579";
+ sha256 = "873461626019e539130251d10ea8d0bfc28e6e176c972397e8f70715753e521b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ca-valencia/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ca-valencia/firefox-133.0b1.tar.bz2";
locale = "ca-valencia";
arch = "linux-x86_64";
- sha256 = "0164347e61ec42124bcd92d9cdda3cafbeff1a1bfc90f471a7a466de8ef81074";
+ sha256 = "5382a0fec2a25ab8a62c6a2ba947cf001db1acbc029dcd2f7b424ff08968bb47";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ca/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ca/firefox-133.0b1.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
- sha256 = "c6951037e07d9c97ab3490d486c1698222ba99e3e6e61bd8d5916172d0538ce0";
+ sha256 = "244c895e03cc8efa832f8b409ccde9358e7dfaee62ff15e63b10981e77b37915";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/cak/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/cak/firefox-133.0b1.tar.bz2";
locale = "cak";
arch = "linux-x86_64";
- sha256 = "2ae7d27b0cd4066e9804fc499ded8d0493e6ef93a76a2e705c4208dbaa0748bf";
+ sha256 = "3699b807f1f52e9b2a37721caee90cc4c33a1febcb8b226630c2a8808e81c0e5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/cs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/cs/firefox-133.0b1.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
- sha256 = "d9bffc7e6f9ab2ca00716d5df6cf552034d7c5d12922b71b34d2e8aae2bff994";
+ sha256 = "b82171d35607b22743d3b538d5e4ba8866e80e228815cb861a6edd9d8c8a4364";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/cy/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/cy/firefox-133.0b1.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
- sha256 = "792862fb4834aa7b6126400059dc86ab476066683f3197f428d734cdb15dda55";
+ sha256 = "10ef45030aabd785a2a72f7cb23ae68c8c256c96f6e48e75e1570ea7d6f8a49b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/da/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/da/firefox-133.0b1.tar.bz2";
locale = "da";
arch = "linux-x86_64";
- sha256 = "fb08cc0f8e783ec931a2714f362b46327e031ac172613e5cae26d40be3f2b44d";
+ sha256 = "da86b6c9c30e549c41c1656be255c3b6429e2e33111d321ce8b7e07e3dc6a82b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/de/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/de/firefox-133.0b1.tar.bz2";
locale = "de";
arch = "linux-x86_64";
- sha256 = "45cb5a2905fc963269c4c5cc815d4259afaf8d8025bcfe1a19f88e52f5c42ac5";
+ sha256 = "375c7379350c0848cc11a605031a96ad19e23bd594c2cceb3378b3401f13ddef";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/dsb/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/dsb/firefox-133.0b1.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
- sha256 = "e9e85f24c36ff6b7e2fb49965a7c4c6210b75f81c42487ad4c918ace9f41c5c5";
+ sha256 = "ca8fe1dfb2e01383068cc2c546e58221088f62af70ffb8758568197336f31f1c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/el/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/el/firefox-133.0b1.tar.bz2";
locale = "el";
arch = "linux-x86_64";
- sha256 = "ff1b1fd800fbac9e27b3af66e0d9c350d42a70256d954b502663d1f482f8cf73";
+ sha256 = "84b024b1a1c514d530e14879e4af86759ddf356c23e955fa1ddb16ba3fd850db";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/en-CA/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/en-CA/firefox-133.0b1.tar.bz2";
locale = "en-CA";
arch = "linux-x86_64";
- sha256 = "70fc2d9c20712adeab3307f951e78d858d936feda102a30d272eff88866c6bea";
+ sha256 = "e890b11c02ce8fbfe296351332f6e49442e899f1d785826287915707c024cdf4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/en-GB/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/en-GB/firefox-133.0b1.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
- sha256 = "9bb160c8a19eff6a9b53b2c5bebd1bc10c37dbc3bd15257b1e6f6cf09b71824a";
+ sha256 = "b340584afcbe7c345ddbb803abc5617b164dbf3faf4b24ad04d624434c8bc3a9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/en-US/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/en-US/firefox-133.0b1.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
- sha256 = "702b2e7227e8ec775da12f293381e41a22623818a4af51040b71843c07aadf47";
+ sha256 = "e61434729b6c0be2cc1d27b6c1847f54c1b228a49a4480260de1e10ca2a115c2";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/eo/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/eo/firefox-133.0b1.tar.bz2";
locale = "eo";
arch = "linux-x86_64";
- sha256 = "7c266f6fe02cd073a7811901d6d2d3f3ed86ddc552d4a06ffd179734235c012b";
+ sha256 = "639920010dc72fea3a4d9ba89acaf89087772c8acbd3251bc50545d3c0c0663e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/es-AR/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/es-AR/firefox-133.0b1.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
- sha256 = "6d14f75b49a7fdac8b89283bc017191a1f8dc708223cc68641752d0f84e85835";
+ sha256 = "8370c0935776001f40c362fb3a046f9f42c4882ce234496579d9c642ea9152d6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/es-CL/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/es-CL/firefox-133.0b1.tar.bz2";
locale = "es-CL";
arch = "linux-x86_64";
- sha256 = "18d32f6a1d582d9a4e8e427d0c6269eb744296ca21fb0bd609d4f0c0361c36fa";
+ sha256 = "7b0dbfb8d4122864b56a42f9284c479d344b3e5db68b2ef5022e599c5632cdba";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/es-ES/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/es-ES/firefox-133.0b1.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
- sha256 = "55b77f39bbce79dfe835b1d15cc732b4079614251854db47cf6446726213ad7e";
+ sha256 = "53ed736b87998a2ebee7b61a982ac123d93a73efaea9281177f8d4babf62d408";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/es-MX/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/es-MX/firefox-133.0b1.tar.bz2";
locale = "es-MX";
arch = "linux-x86_64";
- sha256 = "5a0cb2c3c93615045ad9cadac0922759958bafb0bf35cbd88155cc3b8a9eb66c";
+ sha256 = "99a52fd510580ec254e1f1601bc7151c54025448e5c8d7be8f549e5ecc430589";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/et/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/et/firefox-133.0b1.tar.bz2";
locale = "et";
arch = "linux-x86_64";
- sha256 = "db06ff41080c04833bf32323fb3602c727f097a05c88a48d69f901bf6be9d9ae";
+ sha256 = "69fedc57603115d563d00c95e033afa773b3c8a034f969d451b45f4154c0045b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/eu/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/eu/firefox-133.0b1.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
- sha256 = "beaf66d72bd859d671647361e53ff47f4767b89521c477022387638b57693801";
+ sha256 = "b87c70d5104711e8d0c7e62c754909027da12ee8dfa0385b19e92caf08342363";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/fa/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/fa/firefox-133.0b1.tar.bz2";
locale = "fa";
arch = "linux-x86_64";
- sha256 = "07a74c134fddad0bc3d9e248734df32be97ce099c81ae3e301288906cddf8623";
+ sha256 = "a4d87b765977592928ef2e1642306b67aa2f1a09e0045b7e9c9eb69e45f14abe";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ff/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ff/firefox-133.0b1.tar.bz2";
locale = "ff";
arch = "linux-x86_64";
- sha256 = "2a4475d0e18b8817d605c76e153b97703ffdeb1c3ad887820ff16d3d41580ab8";
+ sha256 = "9bd09d1bbf642873e855c28c500edb5f74f1d64ef349869d95b9833287b211a5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/fi/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/fi/firefox-133.0b1.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
- sha256 = "e5c0d17e4e701d357601dc65bfdcd26bb805e10c28c9bd2ee252485cb12a175d";
+ sha256 = "24b8b20c21a9670ede8f87fcd17642afe1edf6b695ab0838da33a6100a802b71";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/fr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/fr/firefox-133.0b1.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
- sha256 = "489b5823e83899733ad2f94f03205518f55ca8d0fc66799af06c966b48fc528c";
+ sha256 = "44fbfb8e5f7f0bca61767d4abeb6f628d01a2831021f7922cc3986f96b503c1e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/fur/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/fur/firefox-133.0b1.tar.bz2";
locale = "fur";
arch = "linux-x86_64";
- sha256 = "82d702031a08d80143317d816bd51a40e3affaa47d2fd30c46f05d56123c2f24";
+ sha256 = "d0fe7836f8d800f85bf498507db7f27e7eaf62eb230a792afe7a76fdb498351b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/fy-NL/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/fy-NL/firefox-133.0b1.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
- sha256 = "86ce2d02d6e38ae4a36ce3543be3335508ca83ea8fce3a0340519ef6fb2d3b9f";
+ sha256 = "7e6b131c289998dfefc2f2596fab16b08637023a5d913e8f04939829bbc56376";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ga-IE/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ga-IE/firefox-133.0b1.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
- sha256 = "c934c385f2b1eb801c6fe5e3a07bb98516133d070124db48d55c00e578b2840c";
+ sha256 = "4afffb7a1a39e5ac64d7f7b7a49932be4de7d9881f7ca57a567d6ba05e9a5dbf";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/gd/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/gd/firefox-133.0b1.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
- sha256 = "aee8d3793cc460f138a2bd9c9415e4e10ccdd4d0babb2ca1f9e92999f32702f2";
+ sha256 = "30d6617dcf5f12019c6cf414f756d6aacc12f7f19f86db9a75ad99889bf04552";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/gl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/gl/firefox-133.0b1.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
- sha256 = "9cacc88b8b11e9716e927e0710a07d1d1e380a8a0b4c8c4889a57b8bd2b000ad";
+ sha256 = "dd3c29c51e27c03b0c8cc3ea2fe8f1b9dae3e3071271b445780a7dc156d1e2f7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/gn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/gn/firefox-133.0b1.tar.bz2";
locale = "gn";
arch = "linux-x86_64";
- sha256 = "a3bc5062e804d651dd6d630f9b8cc30683b40f02821f08e8ace1f0bec276ca63";
+ sha256 = "94389826ca27e680d64f0fc59c724c46e0e69ff8c8a0eae21119f85abddb96f9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/gu-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/gu-IN/firefox-133.0b1.tar.bz2";
locale = "gu-IN";
arch = "linux-x86_64";
- sha256 = "660345a284c5f87176f6b11d3eb58c86ab793021ea0db084f408612812bb1210";
+ sha256 = "d8f2b630f87f6520515bc9d159b7e25cca402af15d41cea48ab67eae6a051617";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/he/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/he/firefox-133.0b1.tar.bz2";
locale = "he";
arch = "linux-x86_64";
- sha256 = "20302195cd105b8ca8a925450a499997ebf9464ba8d0fe0067f92605f0d1ad6c";
+ sha256 = "a6e8f1f0d4c54cfb8e727d5d3bd946c9b3a5bb2cad69b172163935ce1c78738a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/hi-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/hi-IN/firefox-133.0b1.tar.bz2";
locale = "hi-IN";
arch = "linux-x86_64";
- sha256 = "fe47c61ee2f11d48d19bbe8402d0d8774ef874e777db84fec934f5224691d923";
+ sha256 = "2ed3531fc473ee1cc65b15fa43c4f1ba540658783f82fec65c5db183cf8cd07f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/hr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/hr/firefox-133.0b1.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
- sha256 = "b1d5cb3135a1ede6e77f613e746e06198c98542bcd652e31482426065d7cd43e";
+ sha256 = "787477ab615486e03d927ffd507ec8d6eb251def4d04a2cac008193469c1c363";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/hsb/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/hsb/firefox-133.0b1.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
- sha256 = "e66f0200113dcc156301640da227e29f55dbbaf641f40ef0c261a7d4637fb640";
+ sha256 = "5fd92d4cba6a49d33da232142e13c0e2fa2e18e9af0c65bec0861492d4ba8eba";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/hu/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/hu/firefox-133.0b1.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
- sha256 = "d2a9db19180b7e25a30065cf463a1dca4597d9126ffbfaee4d439579a83fd66a";
+ sha256 = "2167946c22a0b2f5ed75b688a459ae546af94dae0476696d73aa8cc855910c79";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/hy-AM/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/hy-AM/firefox-133.0b1.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
- sha256 = "14c10fa0999330ade75cc7263de98af35b5f2e1717d7ab8ee7399ea2b7f50290";
+ sha256 = "bbc96bc325ba376d77b815e9333109c77cca2b0ba2474fa9f9d65036f45db910";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ia/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ia/firefox-133.0b1.tar.bz2";
locale = "ia";
arch = "linux-x86_64";
- sha256 = "ee3ebba089bdabcbedba1f467dff81b7202c6d0dcaa606fc2969c978c1b3598b";
+ sha256 = "ef9b7189581ee86aa6e0460f2053de2803c4c61ca06c09108be1b0291c6553c9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/id/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/id/firefox-133.0b1.tar.bz2";
locale = "id";
arch = "linux-x86_64";
- sha256 = "747d5f79b521227b64a11766e86c0691e314ebbc33ae72a3033c125db475667f";
+ sha256 = "022a2eccf865a4328d2a920869c517d511bd5c08c7e045173a1f6308d3acedf7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/is/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/is/firefox-133.0b1.tar.bz2";
locale = "is";
arch = "linux-x86_64";
- sha256 = "d4f69a8199424828c31df016ee36b54f7d1eb0bb2226ba527826ef84ab5d626e";
+ sha256 = "9b0f6a68004c0a11f8334cbf0777ebd511549b299be13bd2ef20ff83197711e5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/it/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/it/firefox-133.0b1.tar.bz2";
locale = "it";
arch = "linux-x86_64";
- sha256 = "8764267032aef6eb4353587c79e3d309581b8430c0fdbe221b55c3da0dc91e66";
+ sha256 = "2671078d2d571fa3bdabc49d45e2329efbe6fe42edf0cedf2b777aa8254c2772";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ja/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ja/firefox-133.0b1.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
- sha256 = "13e5b0a94146880224fc2a7287aaf82535fde1842d3da323fd515706d60e9502";
+ sha256 = "d612720ee038553bf4c3be6810f21d6a3951e623f74bdde651473823472d7ac3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ka/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ka/firefox-133.0b1.tar.bz2";
locale = "ka";
arch = "linux-x86_64";
- sha256 = "ae47af49caa90b98d8e400c49f1a48c4abf0186c142d3cf6b9be4d87415950b2";
+ sha256 = "55f2b736e30d0fdb0e16ecb05249c260f5a68d2a20b03c68aeb840a3f20f9b79";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/kab/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/kab/firefox-133.0b1.tar.bz2";
locale = "kab";
arch = "linux-x86_64";
- sha256 = "f1b3ed5ee5271208e4bfe3c4a5a08a79e4e8f0a36b2b59d041de805381f293d6";
+ sha256 = "8e514dc4473400709258508f1fa1e6c2dddc902b86abe7c1810d0dab5924f95a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/kk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/kk/firefox-133.0b1.tar.bz2";
locale = "kk";
arch = "linux-x86_64";
- sha256 = "bb9e9e2c6c9d7a7a4d4a97b1553df76283a973936cb5b728b48de1593bd7f03d";
+ sha256 = "5fc2dce212ee8b9508740b554dbfaf3ba2a5a854231c17454d96747d2fa84338";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/km/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/km/firefox-133.0b1.tar.bz2";
locale = "km";
arch = "linux-x86_64";
- sha256 = "b218e8b43eae13aca4c8f0756af5b1945a566eb414c40c412d7c451f32faf632";
+ sha256 = "0e0f13a075248b808dbb16197f1e93f5898e6f1dc9688fb6ac8426e71509569d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/kn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/kn/firefox-133.0b1.tar.bz2";
locale = "kn";
arch = "linux-x86_64";
- sha256 = "d17b594fcdc6b7c31b89cecc2f5ce17ef8205589cf2d04b31faead6f05f35918";
+ sha256 = "ddfecc815566ba87cbfbba5162ccb20f758a488b7c1114e572ad7cf24c36eef7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ko/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ko/firefox-133.0b1.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
- sha256 = "07125d837dfa9934df26f6a55ab210471b24407b22905b241652ebeac4600c17";
+ sha256 = "fcba8ea312b07119ca149e63d6b78e1ceddf52053d9252409c19f864eddf08c1";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/lij/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/lij/firefox-133.0b1.tar.bz2";
locale = "lij";
arch = "linux-x86_64";
- sha256 = "4c3494d7751926a2ee7f04dc037193cd81a3f7886f074a23315e34bd6bb63943";
+ sha256 = "b077f8cbe8824eb4fa92b3a930d44bfeef8257acb7189c6a9381daf4ada91e0c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/lt/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/lt/firefox-133.0b1.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
- sha256 = "3140355fe1abf44aeee01bf6ac46756580fac82a222b1443046b33af8ff16427";
+ sha256 = "a87627bd369312c7dbe85c31ada2f3d76b16817a27685180ea27c0af98cfe58c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/lv/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/lv/firefox-133.0b1.tar.bz2";
locale = "lv";
arch = "linux-x86_64";
- sha256 = "7953ceaa9abe716a52b7f5831fe50fdb7f31507ea8fa64a6e834f08562807f73";
+ sha256 = "842e08c821b0ac1772f295863bb5d8e5bbb63525d2d165cb0d9bd66fbd182504";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/mk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/mk/firefox-133.0b1.tar.bz2";
locale = "mk";
arch = "linux-x86_64";
- sha256 = "570aa3350c57f763e2686784dfc0927f01e402442de11a47001d2b673e818848";
+ sha256 = "b80b4262d93897ec29d549c51285d883dd86a3e9b7d5a5de8141655474b8180f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/mr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/mr/firefox-133.0b1.tar.bz2";
locale = "mr";
arch = "linux-x86_64";
- sha256 = "562e69a74017ff55c0961b9e73d8d4b45f4aa10c684dacc7b3049d7f3609b1f6";
+ sha256 = "7919cf35cc96fc2d8b8b0c61f48e335767070a0a40533702823ec225ea7f50bc";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ms/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ms/firefox-133.0b1.tar.bz2";
locale = "ms";
arch = "linux-x86_64";
- sha256 = "7982e8b10ce2003b95c037c02d8a068d0eea8627bb2c41880fe60f8c796736e3";
+ sha256 = "de139e9ff4ffba4f44414821ca65fd772455d456a21a482d81c330b535c4298e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/my/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/my/firefox-133.0b1.tar.bz2";
locale = "my";
arch = "linux-x86_64";
- sha256 = "b9c8a73add36261e9a557fa88b8c7f4d8c2f8c6c109c1e953aaca1b0bb88ab1a";
+ sha256 = "3d01209d755f4a38cdc9ea40401e096a49b4434433310ac24964cd9be5ab9b9f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/nb-NO/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/nb-NO/firefox-133.0b1.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
- sha256 = "4e23ee1cce05d76b63ff3fe2013dda86159caf0bdbb9df0dc9fadd4b5b027523";
+ sha256 = "15dc7c1a07b784d962cf2aa1167d27b9cb94cee06c4236beab8144982d8357a8";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ne-NP/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ne-NP/firefox-133.0b1.tar.bz2";
locale = "ne-NP";
arch = "linux-x86_64";
- sha256 = "0c8b73bb4b93937ee720f83eaac9ef4b0830535ccc3291212196618b37d60edb";
+ sha256 = "a537ee68316dd4c15f86c16b8324e727b6de28904fd4e3cc043bce2a4f4eb79e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/nl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/nl/firefox-133.0b1.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
- sha256 = "84f219c7f0e59483f70ce45758b7a11687eaa1fc2e5359e66d01ccab2dc02ce8";
+ sha256 = "95993042cd0393f8a643876304379647e2b51cdefa64757a3b15ecadddc89230";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/nn-NO/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/nn-NO/firefox-133.0b1.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
- sha256 = "cf923abb277ac84d493b49e3e0e82741a306291b5ccb38ec7a904c9a5d6d495c";
+ sha256 = "d44246d980cbb6ada3165ec0a1ccc860598bb248523547879d6736db905ac83e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/oc/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/oc/firefox-133.0b1.tar.bz2";
locale = "oc";
arch = "linux-x86_64";
- sha256 = "da9da781dee20e4b1ea5cc07473db80e64119a250e98ec36858f182c7c387ddf";
+ sha256 = "9827de2d8793b8e85e0f867f1d0ebf0f76cc69a141d4d35d9007136f73b16228";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/pa-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/pa-IN/firefox-133.0b1.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
- sha256 = "873ed71616863ff86bb5634e452efaed4c0ac876127e36274bf8f74417c37fae";
+ sha256 = "6c37fb86b03b1f980248d76f26c082dcd9ca89bd82cefcb51de4e3a226205f60";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/pl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/pl/firefox-133.0b1.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
- sha256 = "b33edf7736e12a74514f448caa3018c0c5b6eb6ee7c942049e3a6c8ea10968ab";
+ sha256 = "c64d5c7a14c73b84419185fe58b4f78c8654d222c45b5028f2ef5bbb7c3e2643";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/pt-BR/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/pt-BR/firefox-133.0b1.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
- sha256 = "e9ed9d73bbdffc132e8af99d347f45e6172cacdceacde990c1acae09adfbc47f";
+ sha256 = "e6e6374f212a940e7a56908879d0f6773180f71fe7f8b1e622c9bb433cc7d9de";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/pt-PT/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/pt-PT/firefox-133.0b1.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
- sha256 = "21dea9ab323d83353cde05d982c16266e04a3d006338b81120408612d452d03a";
+ sha256 = "605430b0d8a7229a5b4420e552ab038fccf7d5ead27a7a0d387913f532598320";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/rm/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/rm/firefox-133.0b1.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
- sha256 = "bb55efb232b0991ca144c9a8b9d1c627c2ee1d52af5f02c551e5f130d5c8db33";
+ sha256 = "d97b1a796551d8163765223c7fac57411380edc32aee2ad12f3ed579825dd345";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ro/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ro/firefox-133.0b1.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
- sha256 = "8f98c37308f9a0e8187bd39a8f8ce2b95cdf560d66186ae593bd4f340334fd88";
+ sha256 = "71e0fa050591874de0e1bf4d2752446df2a846a5fe95209e438fa3d0eee13a8c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ru/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ru/firefox-133.0b1.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
- sha256 = "19e2225b259e7c924355f17427e6ec0fe44b3240ffe407d7e9afd058c4392bae";
+ sha256 = "1f27705b2c3e2ea878da44ebb68cc73f7eeaf8e02bd1f4ece132955decd2c110";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/sat/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/sat/firefox-133.0b1.tar.bz2";
locale = "sat";
arch = "linux-x86_64";
- sha256 = "7403024526b6fac55a5fcb9b955ba263f7687905fc05c799ac7ba2238f61334b";
+ sha256 = "9b6a47848477d040685ff91ee7f1f35aabb3f5c935917d60f08e361555ba44d3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/sc/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/sc/firefox-133.0b1.tar.bz2";
locale = "sc";
arch = "linux-x86_64";
- sha256 = "a5c914708663bc93198bc5f02ff69c38276f330f8361ce05693d2e1b2eff4f44";
+ sha256 = "aa69aa3a288d014d977d6dff4a53c588ae9ae86fa3290673812a0ba0bb7ada1d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/sco/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/sco/firefox-133.0b1.tar.bz2";
locale = "sco";
arch = "linux-x86_64";
- sha256 = "5a3fef5ec53b1a1df4945be65f276bfbc6581a8b75f7be59de5ff1f4466816b0";
+ sha256 = "eccb4f79103dab67627527a3d2be9333b69a3ebfc03eb63dbcbeb5abb21b8c61";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/si/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/si/firefox-133.0b1.tar.bz2";
locale = "si";
arch = "linux-x86_64";
- sha256 = "5910de36de93d6c882f0f09335cac6ea114552f0d71bf1a02c333d1c47ca8ca7";
+ sha256 = "9102d3ce0a9a30d5109f08021bafee4f3a4aedab1c0d9e423e52c47bd256ee6c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/sk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/sk/firefox-133.0b1.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
- sha256 = "b3d3682fbe7a7bb3b3fd469ce02746522d170b82674f318b43271452e6f1f83b";
+ sha256 = "b7a0e4112ebd1c4e4ddd81c3943de13c3e926f3a6fa4cb11abb33c1ef73852a6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/skr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/skr/firefox-133.0b1.tar.bz2";
locale = "skr";
arch = "linux-x86_64";
- sha256 = "9561167751a7a92881f9e9b165e0e1868fa42f4a148cf87c4b0d83ae750b026d";
+ sha256 = "03f732acfb00e350c26248647a697aab984ea05b447413a7af8fc8355a0a817b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/sl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/sl/firefox-133.0b1.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
- sha256 = "f63dd87205f973a5c195fed943e1a8117f80239f4bb4811a6ef45be136a43426";
+ sha256 = "f2c4ef9b7dd8b589a006d7a77a4688ce603276538a1f8c65dc071a08ffc31490";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/son/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/son/firefox-133.0b1.tar.bz2";
locale = "son";
arch = "linux-x86_64";
- sha256 = "15b0ca1537a31935ac1810db22b5b8796c21928bb1e8559726831727e1ae1509";
+ sha256 = "6aee6c3a44377811ab3533c69458595b38bf2041cd3decdefe974d3e56d0d65f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/sq/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/sq/firefox-133.0b1.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
- sha256 = "03af525e5b94adad4f490bc47948655dce0284d2334e0d8d65b06fb329318bd3";
+ sha256 = "5055e767d872e3755e825dbecd67aab87bcecdf7001df89ffac27ea28e0ffcbc";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/sr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/sr/firefox-133.0b1.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
- sha256 = "7f90b364b0f06e31922e3bd740bd326b17afd6e9a79b483ad52ef9ea0704892b";
+ sha256 = "d3c30d640c876f5f196cbb1d00e8b0be5dca892fa801d421ed9b60c4910fa679";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/sv-SE/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/sv-SE/firefox-133.0b1.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
- sha256 = "a9c31aa43d793c1e07ace4c5a1896684174e329c9cc6c8812cca71a7e9b6c1b2";
+ sha256 = "3cd3e3f1dc62b7a02fdcc7aa5ac05b5c2e084fbade2ba740701ca130fe858739";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/szl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/szl/firefox-133.0b1.tar.bz2";
locale = "szl";
arch = "linux-x86_64";
- sha256 = "edbfcd159eed4e4925b159803e9832b7d9c455aff69a2be74fb64bf04f2a34a2";
+ sha256 = "d696267fd9d029bb65e874eb26a1a86503e0933ac41c706b548125c13f1f5db2";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ta/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ta/firefox-133.0b1.tar.bz2";
locale = "ta";
arch = "linux-x86_64";
- sha256 = "46f12f7b489cab1870711e73528b5fc5275c77e3a6d9c1c5a9bd93b4b8d116fd";
+ sha256 = "38cdf5c90bcaad190fcd41074a3336e02fbcb855d3b191c13e5ea4a54ba8ffd9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/te/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/te/firefox-133.0b1.tar.bz2";
locale = "te";
arch = "linux-x86_64";
- sha256 = "dbf2a01daeb6c79902f77e17ecd120c57910cd4f9a72265ef6b5b98dd87b7f93";
+ sha256 = "d1b3d458ac0b194f3b12647e1898b0527535b905080f7c52ba1643ae7a6cf2c1";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/tg/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/tg/firefox-133.0b1.tar.bz2";
locale = "tg";
arch = "linux-x86_64";
- sha256 = "490fe02bfb5a1c07d59a6e426a47b19f9757e5cae7d571c4ee44e5883759ad18";
+ sha256 = "f08e3ed2a5765db74b5b3e7d224bb52a070944daca7c9f437d686e0f7a1ae2cc";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/th/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/th/firefox-133.0b1.tar.bz2";
locale = "th";
arch = "linux-x86_64";
- sha256 = "60c8f3e6ab1310899e71a05537b1fa58768835de80cc23b6f35bdf1ef639d0ca";
+ sha256 = "f1cfee29d2409fbf652ee39499a6b6988021ca678ea4138abb26c188abb4eab6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/tl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/tl/firefox-133.0b1.tar.bz2";
locale = "tl";
arch = "linux-x86_64";
- sha256 = "71281fced8f188e9ae6ca062468c5394a1e48448962646a8c09e0227d284db01";
+ sha256 = "0c3b0b677bbdf3bf79e67ffe99b132d1e7c8ef9395b0676e13490e598285d7c5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/tr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/tr/firefox-133.0b1.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
- sha256 = "9929c7799792edbb2646cf09f953ae9252fcda5eccffdeb156e35e166ea68a59";
+ sha256 = "0337f94ba4df765506cd7b08fa7792d2be775efb39a12c1c07e5f48678383ee0";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/trs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/trs/firefox-133.0b1.tar.bz2";
locale = "trs";
arch = "linux-x86_64";
- sha256 = "f5ff3492dc8fe6f7afa85fcbdd92cf8ada3adac59b72e41ebd61d666dd00cc03";
+ sha256 = "5688e9396124ac21ae148b780c29fdf776777aee3bbca4d28d00634735eec1d9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/uk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/uk/firefox-133.0b1.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
- sha256 = "0701dbaddd0d9ec72680fc1104487f2635a518b6ae6fd14f2ab113ca62c8e733";
+ sha256 = "a15d2f9fa783f2a6091d966abbb615018188e18b44d9997e689d63e811a17c64";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/ur/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/ur/firefox-133.0b1.tar.bz2";
locale = "ur";
arch = "linux-x86_64";
- sha256 = "337962a7518ac5d69c694aaff30b6d59e7597b298d60ae19a5cb14a3753d9426";
+ sha256 = "b42c6dc40370c54b620eb0c92e9cd014f6607bb74aaa29ef8da568fec3aa9fc2";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/uz/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/uz/firefox-133.0b1.tar.bz2";
locale = "uz";
arch = "linux-x86_64";
- sha256 = "74fa5b76b72495eb864d78cb02c06fdf2fcf92f2e73d1baf01c1ca555ebd947f";
+ sha256 = "fd216087dbe0257a39fb158076e744b03385762c68bd00ed1477971c11d1a576";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/vi/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/vi/firefox-133.0b1.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
- sha256 = "eab1a95b5d91bdbdec164c6732be726ecc017fda3b353d4ad622a70ec9f83619";
+ sha256 = "8ed6cdde05e52a90da8231294a60736579156f0c9ad784456af89cdf9208e87d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/xh/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/xh/firefox-133.0b1.tar.bz2";
locale = "xh";
arch = "linux-x86_64";
- sha256 = "e27e70b708c64b05b6ebdb68f38a95d3e06264c56fe3d749fb603473eeb12626";
+ sha256 = "d3f93516d94aef973ec8b0330351334fe31c2838e7e509412ac55e898637a5d8";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/zh-CN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/zh-CN/firefox-133.0b1.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
- sha256 = "3976fe366481f3dce7a3f42fbd49925e7988de58a869d0d96bfe7c61cc27b4b6";
+ sha256 = "0a05de090a9ad2f7b780ccc0eff7090f1e15fbcb979948c811c7409189ac926b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-x86_64/zh-TW/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-x86_64/zh-TW/firefox-133.0b1.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
- sha256 = "f8cd9cae21b27fea5bd04b6a54ee1152d729bc525a565fb97083039ee1244888";
+ sha256 = "697e6543caeafb2d76f6131d9c0ac986dbd8899ac8efe1c4f028d17a795db340";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ach/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ach/firefox-133.0b1.tar.bz2";
locale = "ach";
arch = "linux-i686";
- sha256 = "189c4cf298bc5b3b21bf5ae0ee2b14d8a5bcf998fd79c27a943b6a146402c2dc";
+ sha256 = "7f18d5c086ed1fe03523a34e8d9340bcf7ddca1b8afd2913e07fe7ffd642f436";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/af/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/af/firefox-133.0b1.tar.bz2";
locale = "af";
arch = "linux-i686";
- sha256 = "d125ed28dc6fd22bfbfd98654f0e2dba72fe54849191ebbb6cb315ee36b68e8e";
+ sha256 = "3e318f7f5363a6e7bc93b7b08e230fa67ec85bab03c9f04117f9f4e31b407c94";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/an/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/an/firefox-133.0b1.tar.bz2";
locale = "an";
arch = "linux-i686";
- sha256 = "1e9f50533c2da8db6e802b1941a2ceccf58cfb38be1b139a04ac559e0195e9b3";
+ sha256 = "988b11cf22b7c3d9e31798ac7d93dfbc84406f09ac910edfa63358645d3c4cee";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ar/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ar/firefox-133.0b1.tar.bz2";
locale = "ar";
arch = "linux-i686";
- sha256 = "62cf1879e3d009224cb9170bab531a8972aa897ac4707f6b343ec1d1e946df6c";
+ sha256 = "86e6cfdad96a1c96d92f3944e2e1437f5b738f123df34e65029542340fb43a7a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ast/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ast/firefox-133.0b1.tar.bz2";
locale = "ast";
arch = "linux-i686";
- sha256 = "c58bedfb24b1b0be407abdaba951d0d4da01213d28c16edd34a84518e25c9d0c";
+ sha256 = "58af0d97d79eb6a4de810f5cef8139253c996ef73cc06e192bfa6d1462ff5059";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/az/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/az/firefox-133.0b1.tar.bz2";
locale = "az";
arch = "linux-i686";
- sha256 = "a3a7aef57ea6292ebf8d571cfeae66b11904ce2f2da8e36d27ce0c37c5c76230";
+ sha256 = "e087d0d566b32adce5297b9eb5c5ebda1306ef0b42da168e1072a1f2a7d11382";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/be/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/be/firefox-133.0b1.tar.bz2";
locale = "be";
arch = "linux-i686";
- sha256 = "5d8ee5fe352cc927d4afb25f961beb104e1ad9877935688c963abe9e0722878d";
+ sha256 = "688de59652784df74dd4176f7219c79a5b140f5810c4907f4c4341193b0ab27a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/bg/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/bg/firefox-133.0b1.tar.bz2";
locale = "bg";
arch = "linux-i686";
- sha256 = "148be65e21de5278a4cf1421b738f3565411a6a579814b44dc092dacf0c9535b";
+ sha256 = "f23759a72cb2bf677a5a3053d382f7edfdaa94b150dfb60b0b91838b4b5ef5f7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/bn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/bn/firefox-133.0b1.tar.bz2";
locale = "bn";
arch = "linux-i686";
- sha256 = "b98edc55987560c4a688b15a0a069a9a7b74d06f42fd0b2d508955ec34feb256";
+ sha256 = "fad13067f119fdb36bf0541a5b63cc9f169e2373626a78000f7b809925b8a5b4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/br/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/br/firefox-133.0b1.tar.bz2";
locale = "br";
arch = "linux-i686";
- sha256 = "aa16a1285b84b6fef8e82fd080ee08e40a2b388f4a09fbbd7036ce0dafb554a8";
+ sha256 = "fc0033628a9f1ae525de968539a9d9dc747544481827ed24e574918582d438be";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/bs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/bs/firefox-133.0b1.tar.bz2";
locale = "bs";
arch = "linux-i686";
- sha256 = "099175325b5179d10569a223bc6a35688199d0f768975fb96d6eda90be270e4a";
+ sha256 = "8d41e7ee01666bea91b266b252ba867a16255b8ee00afdc675cd4d1f06255dc7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ca-valencia/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ca-valencia/firefox-133.0b1.tar.bz2";
locale = "ca-valencia";
arch = "linux-i686";
- sha256 = "d00fdac2c05496cc882afb6a8de72f7a3a72b03748893d246cd46582395cc294";
+ sha256 = "f55c87ba57ac4e6af893b17f8a2f984b3171aac356af222966a3f4e4c3423dc3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ca/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ca/firefox-133.0b1.tar.bz2";
locale = "ca";
arch = "linux-i686";
- sha256 = "012d9ae56fac6fe05d4260bc3082b7756723eb1c391cce30823641efd5cf29b7";
+ sha256 = "e05b05f9dd862e5de8e6f445161d87f66f8f63f1c1d3a5db2aa87215f4a03a2f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/cak/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/cak/firefox-133.0b1.tar.bz2";
locale = "cak";
arch = "linux-i686";
- sha256 = "99f7572cf452dee212a016bf401fdaff745ef788351a55e98962e25bd6e6f6e6";
+ sha256 = "9a5daf206e1181251945dae3c69b1b94b55f59c99bf6e017d787ec12dbfcc349";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/cs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/cs/firefox-133.0b1.tar.bz2";
locale = "cs";
arch = "linux-i686";
- sha256 = "e860e3d87d8973abdff51ed867b3d760a7b6308c6c0f83b117200217617e076e";
+ sha256 = "3259af4cd10f76d549a71cb9f4cbce65aac2b2299c108739345b8376dcbccd84";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/cy/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/cy/firefox-133.0b1.tar.bz2";
locale = "cy";
arch = "linux-i686";
- sha256 = "277685c88c1d7a07a70b09c91254b788bd2c5faf9ae1880b91e9245535c46644";
+ sha256 = "58d542a098b79eceb8d639d9dc9ad5dbe75de2def470647be9ad442b4786d2de";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/da/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/da/firefox-133.0b1.tar.bz2";
locale = "da";
arch = "linux-i686";
- sha256 = "dda987d22ccd29156a66bfc72b156213f033d73e066fbb7b0f8c19d1d4ed7e93";
+ sha256 = "aa50d2c77be5a937791978afded32118338f560ad89586120c9edb86aba24f36";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/de/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/de/firefox-133.0b1.tar.bz2";
locale = "de";
arch = "linux-i686";
- sha256 = "826de1a5bfd119b8531ca985767626ac8f2f485e71a597b4d0ba847fe335d6a3";
+ sha256 = "f220a33a33a4ab6867c7d9c6c9a1c9373e903d8f83064395f84cf99a383c8d45";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/dsb/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/dsb/firefox-133.0b1.tar.bz2";
locale = "dsb";
arch = "linux-i686";
- sha256 = "9899a41d404f19bede698ac516f4c3a43fa0b5117952c57696ff4908ede3eb5b";
+ sha256 = "d8c8409168e04fdf27e26c37d37703298f6b5345e57e0083587970235156c80f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/el/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/el/firefox-133.0b1.tar.bz2";
locale = "el";
arch = "linux-i686";
- sha256 = "468a23fcb99b47e6fc6080fb8fbaf252f33d193a029f78f084522cf3a32de594";
+ sha256 = "4368360681a7133581074471e9a10e8feddc8651a36ee6c3ccabdacb77231bda";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/en-CA/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/en-CA/firefox-133.0b1.tar.bz2";
locale = "en-CA";
arch = "linux-i686";
- sha256 = "594340e9073e059d56d659adc54a19722d563f3e63774a46cc5c3d1a194c75ca";
+ sha256 = "c8ac00271761d3bc72b1b19b07cd12fbb64a3aaa153b4874234d56bf0bd87645";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/en-GB/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/en-GB/firefox-133.0b1.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
- sha256 = "4d1dc94a96f133092055fe621b839516d8f54c02ed6b47107b0459d8412fa3eb";
+ sha256 = "78dba72aeab7574e74dff833fa79afd82ab429a4b82e7835da1d108ac4df92ba";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/en-US/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/en-US/firefox-133.0b1.tar.bz2";
locale = "en-US";
arch = "linux-i686";
- sha256 = "ffa00c617bd97ec8ecd11167084afa986eff02c1d45501e89f0a44364196acdf";
+ sha256 = "30d917eeb1301bf11dc93f62c411c1497b5bee451042cad2811ddb5bcf1d755e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/eo/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/eo/firefox-133.0b1.tar.bz2";
locale = "eo";
arch = "linux-i686";
- sha256 = "9749a159e16630fcf885adb5ae54bd12a0cf03f4b628eded68636ce85690fecb";
+ sha256 = "bdfc8609fb28b1ec4afd29964abecd5dc5950203c71b3bb10918c99f6f35e846";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/es-AR/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/es-AR/firefox-133.0b1.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
- sha256 = "703bf9158f3591f4b64899e1720dc62a8b007f4c1dd3d7c79f45ddfde696ee21";
+ sha256 = "0400471d55c5081777cebbb54023b9659ef2ce0df164621a9c7f2e1dcbdba603";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/es-CL/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/es-CL/firefox-133.0b1.tar.bz2";
locale = "es-CL";
arch = "linux-i686";
- sha256 = "47be86544f11e1e6eb21b611e7f8517d0b7bdab6d2d36fe082c47a6e933468b5";
+ sha256 = "45443e593fa446b0755f04743c3cd2b709f4b018430da8f584c4154cb254d00e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/es-ES/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/es-ES/firefox-133.0b1.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
- sha256 = "362f3e884232c66d071747c3c024befafa04dc8e692540a1ea7c652145a7bce9";
+ sha256 = "dda52ef8312201f71d5194bcb0f1114a049c05f4e9c2c8c439986f346bad6417";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/es-MX/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/es-MX/firefox-133.0b1.tar.bz2";
locale = "es-MX";
arch = "linux-i686";
- sha256 = "1c464e95bfcb23a36200d36869efb17c13af2024f4eaf6b698eec3659490579b";
+ sha256 = "94095d2d0c20f8ff78b8213103a7d3d9523e0298d0a64b9fc10721bdef152f49";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/et/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/et/firefox-133.0b1.tar.bz2";
locale = "et";
arch = "linux-i686";
- sha256 = "caedb1c032b56a89f96429d1f4be58abf9b70dfa0f1eb18aa2a9e3ae8d04cbcf";
+ sha256 = "e17b53c77a171f5776b446f7a52b7a978ad997d1978c8d1571627deaf854efca";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/eu/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/eu/firefox-133.0b1.tar.bz2";
locale = "eu";
arch = "linux-i686";
- sha256 = "a7c1427c61d676b4984bd6cf946125f7ea9f95150a0e44214a014c2a40e84925";
+ sha256 = "5d8bf76c6e97b66603cc9ccac0a824185df8d9868fb9d0a9b675e645aac7bfe3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/fa/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/fa/firefox-133.0b1.tar.bz2";
locale = "fa";
arch = "linux-i686";
- sha256 = "2aeceb6dc9b404a95dc11a36975ac8cd2d79e4ee8bdb67299a84fe102b436f74";
+ sha256 = "861a3bfd88e5bd1a772b32f7adaf042a786904db447ce5df51c2c8047fa2a9b3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ff/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ff/firefox-133.0b1.tar.bz2";
locale = "ff";
arch = "linux-i686";
- sha256 = "fb6ff671b9ad5c188e44e817d7c52407ce53f21a589b3c4a2bebe2e3a5cfc2d7";
+ sha256 = "942487b81a3d8dce80abc275e43a424789e6cded330e61b5064c02c2b7b306a4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/fi/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/fi/firefox-133.0b1.tar.bz2";
locale = "fi";
arch = "linux-i686";
- sha256 = "c17b7a357e2fc51b826317201c3d8e8dc7625db213e5c67baa80a4c9528d1b76";
+ sha256 = "33343887932265471c5534fe0e5489fca6aec5fde616cead133a100ecf23e8cc";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/fr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/fr/firefox-133.0b1.tar.bz2";
locale = "fr";
arch = "linux-i686";
- sha256 = "de91b909c0eb79f0997c6ec6a5b9c44f0bb029ca0b10dd347ce3119bea20540b";
+ sha256 = "e3d091a0dbfbca033ca902a2f12815b58c96ee9f3d238a0280c7e150b706d07d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/fur/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/fur/firefox-133.0b1.tar.bz2";
locale = "fur";
arch = "linux-i686";
- sha256 = "d73b50eb034ca034a2059b5e5d998c4e0358f8eaab3a7ace0f8242d3a3824493";
+ sha256 = "09375830635c690f881183a3166e34342b0b9b261bbd43470c08c8f1c690d86a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/fy-NL/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/fy-NL/firefox-133.0b1.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
- sha256 = "b75dec3610e738b172202c689b7bdf11e3e71761caa765f89559679472fb91f2";
+ sha256 = "61cb1d2c89fe5223e530b43cb1331a40635a6aa00ef87a2a9670c713c45211c4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ga-IE/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ga-IE/firefox-133.0b1.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
- sha256 = "fa95c04156d2763f213018dce25f0dafe226a1fb11a9c7b238e206f0169f6747";
+ sha256 = "4ba4677e162f132cc8e5fc1ca779a7f01d19b37babad8484ffcd2418251016c5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/gd/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/gd/firefox-133.0b1.tar.bz2";
locale = "gd";
arch = "linux-i686";
- sha256 = "41d7f8a03bd0d93fc8372a2688d7b797cdbb0147815a5923b0e420a65d1863f4";
+ sha256 = "d0244ed996e4cf834230b67fbb3ac7af4b30a815b1693eae9d796fd3b8e6c793";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/gl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/gl/firefox-133.0b1.tar.bz2";
locale = "gl";
arch = "linux-i686";
- sha256 = "6662d829a07d6c327c954f86b7c174398d39061e10336f217a805df4680c2b62";
+ sha256 = "a3b93dd6ca0e5fcc583f2f7b8d64ea4e97e9cf5346b67748a59ca43174e8af8a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/gn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/gn/firefox-133.0b1.tar.bz2";
locale = "gn";
arch = "linux-i686";
- sha256 = "6a382d9f1aa39061b7ca1977a907791a044b9e4adb7d0058bd6602b450168348";
+ sha256 = "3fb699ff47f7a5f738d76a03826df256de57d26291d7ab10c9841b3433713dc0";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/gu-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/gu-IN/firefox-133.0b1.tar.bz2";
locale = "gu-IN";
arch = "linux-i686";
- sha256 = "546e832b5578beb46cbb53fad43fb15abede650370edd122952e8652fb5042f8";
+ sha256 = "a0570f2541068f1629da36b1109ce30583c74ec569a5eb65530abf54bbff9244";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/he/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/he/firefox-133.0b1.tar.bz2";
locale = "he";
arch = "linux-i686";
- sha256 = "a74e231ae7f554278b74a59e58d56beb5f4cd6d9d6aec30f27c2a47f42868237";
+ sha256 = "c6da5998acecb8c516b4bc8d2e3f951af4a4ab9d6e3ecceea031eb87dcb4a21d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/hi-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/hi-IN/firefox-133.0b1.tar.bz2";
locale = "hi-IN";
arch = "linux-i686";
- sha256 = "cdadb68af57477315bee3015115fa550ae1f3479a5b067987f67a0d6ab7cbc10";
+ sha256 = "1e4253cc6b5d3ace381785f0d083d7621c0f291ce40c27bc599f9306c4667600";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/hr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/hr/firefox-133.0b1.tar.bz2";
locale = "hr";
arch = "linux-i686";
- sha256 = "725af00249d030946d635f0c5841e947f574bacd8cd63cc51b41970424f46d65";
+ sha256 = "a9cdcc64df339f86e32b979b1bf1aa5619636fab18e33eb50efd5120435b21c2";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/hsb/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/hsb/firefox-133.0b1.tar.bz2";
locale = "hsb";
arch = "linux-i686";
- sha256 = "64ecb93a0d0869279b6d048f84907ed8cc97fc3460444835cfe6241ff6d4499d";
+ sha256 = "ec067c17a0b6b9b3263c711b90ec7f7dac671e503af1184ed8d99cbbd21f7910";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/hu/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/hu/firefox-133.0b1.tar.bz2";
locale = "hu";
arch = "linux-i686";
- sha256 = "93d0c1b9d29c9c1f2538b9ea6f7138f9155432fef3963fe2f0a888947a956415";
+ sha256 = "4d09a5a702a6e5b62f415943e76763117e0eb371aa768aaeee5faa4144058251";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/hy-AM/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/hy-AM/firefox-133.0b1.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
- sha256 = "4f126a761ecb8cf90b159085afb90752f516a0fa17018364b3bd74246c13c748";
+ sha256 = "e775c1b59727806b4bbfd173f0eb3950addd49a9a717c4965101e44680c100ac";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ia/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ia/firefox-133.0b1.tar.bz2";
locale = "ia";
arch = "linux-i686";
- sha256 = "36d7b19594b12622aed7a246b4478fdeae82edc387bd61c613f969e09a9c9448";
+ sha256 = "76adfa65a41dd896ffb9428067870e22cdeab06fce31192832f3b11381af9f81";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/id/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/id/firefox-133.0b1.tar.bz2";
locale = "id";
arch = "linux-i686";
- sha256 = "377f87e02358e496f3f8652f7343b4d5a2b41b2a0a62a2cb4150bb87eecd2605";
+ sha256 = "13e012afb40a5e7cfd38e33661262b541f29bf4176b6cf3099cb6861341915fd";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/is/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/is/firefox-133.0b1.tar.bz2";
locale = "is";
arch = "linux-i686";
- sha256 = "42b9973e2453635f609d08f2fa61d4201db1d0ed220d536f7b07ecd62a8e89ff";
+ sha256 = "0f41f77c9c1e9580f06aa241b3a74d48397fcb7630be5d014b457215d9f6cc1c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/it/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/it/firefox-133.0b1.tar.bz2";
locale = "it";
arch = "linux-i686";
- sha256 = "a2a3615fe3ff217e01b0624081c2c4a331977b5bd827762db42d5dc7aa29473b";
+ sha256 = "198bb9cee335e143618c928090e2a408d1ef8fe2db2121375f193b953338caea";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ja/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ja/firefox-133.0b1.tar.bz2";
locale = "ja";
arch = "linux-i686";
- sha256 = "85b5013dc94f8fddd96c65d33cf358e00be0af5edc3ca7e2f5488c18f0306203";
+ sha256 = "c455dccdeb4ac6bb0ba1701bae132d3a87f4858f6e262351bf3271e7dee6cf0b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ka/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ka/firefox-133.0b1.tar.bz2";
locale = "ka";
arch = "linux-i686";
- sha256 = "f93a665c7e6ca686aec843e4d2c25e88adfe44acd549923b0423851ca727203a";
+ sha256 = "09072e1f22e9500fa02b826c3c7759770f8168f438a360d27f936fd14bc0f02e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/kab/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/kab/firefox-133.0b1.tar.bz2";
locale = "kab";
arch = "linux-i686";
- sha256 = "1d614936fd91b53718a8f538bbc3728245f2ca57cfb59b476468a9181ffd5868";
+ sha256 = "d674c73bbd646d8bbec6e5bebafea668981a4bc31a6dabc0981e95b26d72fdfc";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/kk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/kk/firefox-133.0b1.tar.bz2";
locale = "kk";
arch = "linux-i686";
- sha256 = "894752608f06b01a105c480e6a884a08eb8d5519d5d4eb95c906aeb76bf3aa39";
+ sha256 = "8276cef19708573dc129d6577a1f631ee21f1212f5165b8bac50bc292085da85";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/km/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/km/firefox-133.0b1.tar.bz2";
locale = "km";
arch = "linux-i686";
- sha256 = "91ee3ed34cf51fe0f21533ce85c9df8af6a811a2128b27897869a8b166ecd7be";
+ sha256 = "3ab5f08c65c7fbf705cbefe50a6a1cb357641185ca441a1bf5fe9f78d6c623ed";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/kn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/kn/firefox-133.0b1.tar.bz2";
locale = "kn";
arch = "linux-i686";
- sha256 = "a9dcc8548d786319bb0158ac8002b9afbfaeeafbbd0f727ef481d3769e11745f";
+ sha256 = "60c1b2a02ad9cb6432af6bce260f29ef1dac4354b1fe8835dd6e256887c15dd3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ko/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ko/firefox-133.0b1.tar.bz2";
locale = "ko";
arch = "linux-i686";
- sha256 = "261dd39b2d29f35b517fea14ca1c1859166a9ab9350b051e61b0f87b6471f8e5";
+ sha256 = "043f27cdb78b05d1e9505badcfc5411fb6dd2ed59ef321df997baa2e505616d4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/lij/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/lij/firefox-133.0b1.tar.bz2";
locale = "lij";
arch = "linux-i686";
- sha256 = "c3d034674c804e21e05fd3a928f237fc311bd29c741f1762e59e8f335de7587d";
+ sha256 = "67918a8728577f701c151ac6aef17ca9fb2a99808de5c3de8b8ca68d78122c5b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/lt/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/lt/firefox-133.0b1.tar.bz2";
locale = "lt";
arch = "linux-i686";
- sha256 = "5d4cd4689ffc4679eb6bdea0209aeb6cc74ab246e6345abe361b31a09f76a758";
+ sha256 = "9dd3c4b73f3686e26295acd173e759da4956f0e425d0944dd6868c7b03df9873";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/lv/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/lv/firefox-133.0b1.tar.bz2";
locale = "lv";
arch = "linux-i686";
- sha256 = "4824f4f413713c4b80749c6218cc524be59fac57b96100229f9dd643f6dc6420";
+ sha256 = "4919500399aa8e57087983748a732cf75b05c629e08591eb6b3c762bf2786b3a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/mk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/mk/firefox-133.0b1.tar.bz2";
locale = "mk";
arch = "linux-i686";
- sha256 = "2f64c8d6bb0ae6bedc35b9a6da0757708cf3588c43b74cfb699e7d066061d754";
+ sha256 = "f6416a889e0dbea57efc8c4dd7945337fdc96494d59bdbaf1a58225472fdec8f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/mr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/mr/firefox-133.0b1.tar.bz2";
locale = "mr";
arch = "linux-i686";
- sha256 = "0e313fbf71be605309305e7e1417d1a5dffcb90db71448f6ae9796cd4481bb23";
+ sha256 = "c2196953f7e56e711d49d41082ca9620daab27ce968a4ffa950c977fc6396e67";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ms/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ms/firefox-133.0b1.tar.bz2";
locale = "ms";
arch = "linux-i686";
- sha256 = "d88900829c3c56965f487d191c59880b4d8db1c2158c2a42345c8488ce9e756b";
+ sha256 = "b0c4e1dc36eb979dcfa2cb43c92661b97116bb4916ee5863dee29e159a99230a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/my/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/my/firefox-133.0b1.tar.bz2";
locale = "my";
arch = "linux-i686";
- sha256 = "68bb81e1d0f7b28349c21b9f3ef1767c0a16f6867c25c4eb9fab92e83bb009f0";
+ sha256 = "1571ada73cb7f8161af78c41bd5cddedf96e52e6788c92025ec47320ab308ac9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/nb-NO/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/nb-NO/firefox-133.0b1.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
- sha256 = "907b2800d6c0f9d6c42afc1d39012bf08f91475225a87bf34ab399468d415430";
+ sha256 = "3bafbb30ba117a0650e48fe2700a19c61d41e227e13a721a93db82acf71da33c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ne-NP/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ne-NP/firefox-133.0b1.tar.bz2";
locale = "ne-NP";
arch = "linux-i686";
- sha256 = "922f321fd5d07207b96dd7f5aa2589b9ec2f0e15a7279722a5f3955333fa9618";
+ sha256 = "70f904988bc34e35176a84f4209814e3ace6eac4d565fa415e76dca1243988d8";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/nl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/nl/firefox-133.0b1.tar.bz2";
locale = "nl";
arch = "linux-i686";
- sha256 = "0366df618f6f90ba6e31f6d6765105eea4fe0a659ee7b9aba620556488dfb5d5";
+ sha256 = "8c331fc23b415f4a5d8acb35a299cdf8495909ad95385feb6186ccbe8d58b3d9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/nn-NO/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/nn-NO/firefox-133.0b1.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
- sha256 = "2497ba133e392efa3fdc87d7b57001161265486101fb50b516335a9c4929cd2f";
+ sha256 = "52044974796322e10fb8a55e25426ee87df0ebc0c328bef2c796a7ea171dc3b8";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/oc/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/oc/firefox-133.0b1.tar.bz2";
locale = "oc";
arch = "linux-i686";
- sha256 = "c31950477111b72db49542f6f4d9a29a2642c62dd6e34b3c8673b4598aac3fa3";
+ sha256 = "b01ef5661fe1e769a183e045cfde42aec31bb94e631b1bc34f0fa861c1d8cbc6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/pa-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/pa-IN/firefox-133.0b1.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
- sha256 = "bccfcb28c3041d9a729130655b60db18ca5c095e969b3f7e534a81aa512be095";
+ sha256 = "d1e3da4c7d1cfc2c12f34c937199d834bfc737a1909759f8fc9a202250c359b5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/pl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/pl/firefox-133.0b1.tar.bz2";
locale = "pl";
arch = "linux-i686";
- sha256 = "62eb9a87d538acff99abd4fc48c67c82301e28d31cd22570f686e027889f2157";
+ sha256 = "9c7b224306891602df4685891aa4a4fe6a01aaad022aefe3b99e9bfc9b6f96fe";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/pt-BR/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/pt-BR/firefox-133.0b1.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
- sha256 = "eb2f241dfc048de3dcc3f0c78644c9a7fff3204a80328e6ff4c8ffcd5c1b8fc2";
+ sha256 = "21a71c38de09837709a8d56244a328970415ad2c6b1acb2937f4a22fd6301ce5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/pt-PT/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/pt-PT/firefox-133.0b1.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
- sha256 = "6d1cbbc5156669f6a8b2c716667c180093709bf2c9b719b10b367e1a35053a5d";
+ sha256 = "5a996b07ec4e978629c62fa9a928d7fd8724a79970ae43bfe045e37d46e031c3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/rm/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/rm/firefox-133.0b1.tar.bz2";
locale = "rm";
arch = "linux-i686";
- sha256 = "5d2bdfc8684cb85b738ea2cb12a5e37f111989724a64519c372d2d4c84b05ebe";
+ sha256 = "192c0ac1e3d10681e3b0538e404bfd20779f89942fdc7a20bfcc3329a2c1508f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ro/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ro/firefox-133.0b1.tar.bz2";
locale = "ro";
arch = "linux-i686";
- sha256 = "9aa8fa19894cce2203f703f519652e60efd643bce8e3d9e9dce4f44d4af3df90";
+ sha256 = "11c21d38faa2c802ee3de24a6b8fc99829fdc1d9fbfa47463f657f46464af55c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ru/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ru/firefox-133.0b1.tar.bz2";
locale = "ru";
arch = "linux-i686";
- sha256 = "3edbbbce178af3b9e5583eb9b57e1c946fcfa844a9675da2dc69dca98b51c959";
+ sha256 = "a9a9d0222d565751d127c7ce2e680e0aa76cc599cbe84640fb478a5d303ea53c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/sat/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/sat/firefox-133.0b1.tar.bz2";
locale = "sat";
arch = "linux-i686";
- sha256 = "72182590b349bc1460aed8fcd262e755b8dda7b4f789af9bbf65ba3b9e0e4b21";
+ sha256 = "e10cb8445f60dad1b6a3570bc745d2f873a16fd5d827bc3e76287b2bb142b786";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/sc/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/sc/firefox-133.0b1.tar.bz2";
locale = "sc";
arch = "linux-i686";
- sha256 = "03b1675157ba9becd866825e58abb58831171f12cd724fc222285e758f093c61";
+ sha256 = "b0256a2e909b5640eac92ab6a4f9d31d9c2f133169800f074b6e6ffc42c6f74d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/sco/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/sco/firefox-133.0b1.tar.bz2";
locale = "sco";
arch = "linux-i686";
- sha256 = "0fd528ce2d1f4b7f87f225fa76ca29b32500a5d66d61858c238bb89a26784cf8";
+ sha256 = "cb4e207853546aff3a7c5ac23f2292b5bea5cb185045bfd0bf2fe248c340adef";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/si/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/si/firefox-133.0b1.tar.bz2";
locale = "si";
arch = "linux-i686";
- sha256 = "68b492fc89fa8b33a1db3e514feeaaa6083290b47bb6b0a6b2d24018a9dfa8f5";
+ sha256 = "d49b90914afa415d3cc9d09aa3c3a9db84f5ccd974b1bf386a1c7fe29634b5ac";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/sk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/sk/firefox-133.0b1.tar.bz2";
locale = "sk";
arch = "linux-i686";
- sha256 = "c0b5c0f615220d7e746bc0a3236233430086cc120efbd1a8afca433ad1cbc63d";
+ sha256 = "05223feec4c123470e27c23ac8d605026e4d414a8e280f3530c305ee645f6722";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/skr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/skr/firefox-133.0b1.tar.bz2";
locale = "skr";
arch = "linux-i686";
- sha256 = "b3cf7e8ef07ba0d69712ad8942d4939e0242dee69602a84989b3837a3e212446";
+ sha256 = "eaaa60cf0f183d3ec4c95c8013bfebb609423c3bc574a023cafdb28c861b7de5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/sl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/sl/firefox-133.0b1.tar.bz2";
locale = "sl";
arch = "linux-i686";
- sha256 = "0ebf301475b58549e3e9e696adf1508c39132236d26a1ac8eba9227de45347db";
+ sha256 = "1880dcc00ca86e678e643db6a8210ab3ed9358ba28311be43bd549c8f50fbbcc";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/son/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/son/firefox-133.0b1.tar.bz2";
locale = "son";
arch = "linux-i686";
- sha256 = "4fcda91a507b2067e76b6ea5a3e923c6cb0d62ec8d31c657b0503a85b907cac0";
+ sha256 = "0aff585df922cf8772f0ae8e55fcf8443961abc3c9d5ee5d83acadc75dab2aab";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/sq/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/sq/firefox-133.0b1.tar.bz2";
locale = "sq";
arch = "linux-i686";
- sha256 = "3888236e063a6a724f751275ad714fd96d65b18cd1ace8242a7577c0ecd27f42";
+ sha256 = "31064a5746977fe39894f79bd5851a315d5a840da6f1e0f6cddcfc79297dfdf1";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/sr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/sr/firefox-133.0b1.tar.bz2";
locale = "sr";
arch = "linux-i686";
- sha256 = "35ee32850af101c1e762e3a04ae17a6c2f33c58bd0aef0fcfcce151a6f34bbe2";
+ sha256 = "ce4b3fec35fcf00afe91f820f1d4f8fa97acd61be414080a260c89b01ec5dcb4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/sv-SE/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/sv-SE/firefox-133.0b1.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
- sha256 = "0c7c5bb2edbb8f0ff72eccf07c01ac078e1d9b92da8ea6789a2c8abe4e78e93b";
+ sha256 = "e2875dcffa7cb08a4bd02c9c0215f251b5736e367c067612cf2887f3917f41be";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/szl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/szl/firefox-133.0b1.tar.bz2";
locale = "szl";
arch = "linux-i686";
- sha256 = "2924c50d23472134428b699bcb4fc3714a90ff54820fd58fbd46ea55fbefde79";
+ sha256 = "fe2a6902dca9485e083908b5a625547bc3e4465125ca3e63282d5abb31d9e7ec";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ta/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ta/firefox-133.0b1.tar.bz2";
locale = "ta";
arch = "linux-i686";
- sha256 = "454b7dc139d407e95b94d4fc5fcb0d298501dddfd6d8d78416668e4d3e606eb5";
+ sha256 = "f02adcafa12ffecf4fc761dbaf5bdd644ff617dc7885eca6d326e4ded0eb5499";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/te/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/te/firefox-133.0b1.tar.bz2";
locale = "te";
arch = "linux-i686";
- sha256 = "e0bc922e34eeedc64e11da87308982a79645d0df10f9bbabbe5ae256123d8b57";
+ sha256 = "3148546c3584de77442b8af96396ecf6ec5c6df1ac9ece9ae2b3b607bda2b942";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/tg/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/tg/firefox-133.0b1.tar.bz2";
locale = "tg";
arch = "linux-i686";
- sha256 = "475559c6e4c119f9aecfa92d44323d22e986704565bdc6e929536a025ab026fb";
+ sha256 = "3292dfc5de80e0148ed6c2e58e1128304250c137bc794c1deb714cf14b81433e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/th/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/th/firefox-133.0b1.tar.bz2";
locale = "th";
arch = "linux-i686";
- sha256 = "c6c0a5073220c1b93a869ff5abdef09fb87b234842c13940c233e3ae73233057";
+ sha256 = "3f072919b4cca9a5e8cc445acd0aa3f934645eb60aa81e777e5e1b337df0ebed";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/tl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/tl/firefox-133.0b1.tar.bz2";
locale = "tl";
arch = "linux-i686";
- sha256 = "c328c8f053ed31da91384eedd0f7f8d16fa182adf15ed92941b0cfeceb7b610e";
+ sha256 = "0600446dec54cda1d535039cb6bad5236723ead7d1c2e6dff5614eef41cfec9a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/tr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/tr/firefox-133.0b1.tar.bz2";
locale = "tr";
arch = "linux-i686";
- sha256 = "40509f9119928a59d273e34c2e090f916ca8ce48cd0c07d49305235487b924ff";
+ sha256 = "ebf3bcf8308a71d7488f29938b0992f2159cd0e74846c6b82551fa44d6213340";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/trs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/trs/firefox-133.0b1.tar.bz2";
locale = "trs";
arch = "linux-i686";
- sha256 = "b7521924ade0a2e62ebc0a3d22b84f69dcfb9c217d65ce289de800bd258c8c0b";
+ sha256 = "ce4196ab77ab59d59e38fdf4790216bbd58209c57d3ca9ced0cc3f081c7ace6f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/uk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/uk/firefox-133.0b1.tar.bz2";
locale = "uk";
arch = "linux-i686";
- sha256 = "f15d5c4a631aa0b76fa43790105caa5cf7fcbcc501dcd11e7160b9ac4d68519a";
+ sha256 = "9bac584acb244bbba449acd872fd1c4bd9e209ec3d91f29a3868d95e0cfddf88";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/ur/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/ur/firefox-133.0b1.tar.bz2";
locale = "ur";
arch = "linux-i686";
- sha256 = "a429006b7f8112425e959f26ec1d80a0e9583b33fde9201eb7ac34af108d4a6a";
+ sha256 = "93a1fea04881e68193d8d47880891fb17672d9bd277ac23a5359cf6355f61342";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/uz/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/uz/firefox-133.0b1.tar.bz2";
locale = "uz";
arch = "linux-i686";
- sha256 = "73371c4d0d2a90e9e7eb7fb6a8b678ae5403babc04b48c783dc755d22aa2692f";
+ sha256 = "1b0a2cad22dc01e47ecd6983cb54bc25eb7c5eb70a3fa3cba532ba88b21fe024";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/vi/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/vi/firefox-133.0b1.tar.bz2";
locale = "vi";
arch = "linux-i686";
- sha256 = "d6b483d269de8b29c8531a2180203765b06d8327bf4fc03a1b4f1388e6e090bf";
+ sha256 = "c5e86a980c28dfa321d6359ccbf747c00b10b1a7dd53cc0e710a4ba4def9ee46";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/xh/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/xh/firefox-133.0b1.tar.bz2";
locale = "xh";
arch = "linux-i686";
- sha256 = "a3356b334119bcb5510ae065def9639dc5edc70691e6418f4bb54dbd14f369ad";
+ sha256 = "87b91bec48e8b8655f230c368f24473f5e69d0c6248cac85e3d74a9ad91a1c3c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/zh-CN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/zh-CN/firefox-133.0b1.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
- sha256 = "76efdf2ece93286022cbeed82d2a0ea871c000c43175c7e2b1f4ea2d424ac72c";
+ sha256 = "58c0e7fc521e49febaf9795d54979e7980f61b3903c69c26f33cb56ee459705f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/132.0b9/linux-i686/zh-TW/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/133.0b1/linux-i686/zh-TW/firefox-133.0b1.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
- sha256 = "bc3db9fd0958bf3497c3955ece9c82972429112a6f497dfa6587bf0d33c7e0ed";
+ sha256 = "c3b9abf1039d9584fb1257adddf960fae5e8384a0906e5def1708247ca3b7ccd";
}
];
}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
index 45ad155ce351..156ab2725eaa 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/developer-edition_sources.nix
@@ -1,1035 +1,1035 @@
{
- version = "132.0b9";
+ version = "133.0b1";
sources = [
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ach/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ach/firefox-133.0b1.tar.bz2";
locale = "ach";
arch = "linux-x86_64";
- sha256 = "1f39caa65b32ee1cc42747e1fdd6e0bfdc7a306c5ab4e067d6170522eda281d3";
+ sha256 = "5c42ebef65493ca583a7f00d22bc1b7f62cc9bd91ae96c08dbd74d7126df38ad";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/af/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/af/firefox-133.0b1.tar.bz2";
locale = "af";
arch = "linux-x86_64";
- sha256 = "87720c01424b68f0c1c6f200c4550fb8ee7aea8fec8f3bc54f1dea9d97d9a443";
+ sha256 = "6d1ff31eaf8fe786b9de349314175a1b542b7fbed9510d30795cd7898260580d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/an/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/an/firefox-133.0b1.tar.bz2";
locale = "an";
arch = "linux-x86_64";
- sha256 = "210408dd6c738553ed32f1bda08b7ebc2534358905d4c5900af24f81b73fea02";
+ sha256 = "9e4aee3ae27ce32ef25865d23dd00e62c627e4e1cea5cc71a456aa514b41f8fe";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ar/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ar/firefox-133.0b1.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
- sha256 = "072f4f032af9998c6b495c9517c6b008188be71171db4a4610a99e28a64ff212";
+ sha256 = "173b9c75fa988e17f85ebaedc81d7f01a47e1cebe9b5705c21b6ebd9b68f870c";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ast/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ast/firefox-133.0b1.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
- sha256 = "5918a67ff82170cd46dc384eb6558f096fe269111997fcf0815a057943e2b84c";
+ sha256 = "82322cc9db2fb89267b28b869cc1d3abd9a99f53967bd588e1debd8c7c3d2a44";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/az/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/az/firefox-133.0b1.tar.bz2";
locale = "az";
arch = "linux-x86_64";
- sha256 = "9ec5f80f4a2f779e6cac79c51664afd8f8fd52615fe0f275108955c43869e76b";
+ sha256 = "8eded83bc34d39495ae67333f96efc00e71d3152d842ea8b70ad09303b479af9";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/be/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/be/firefox-133.0b1.tar.bz2";
locale = "be";
arch = "linux-x86_64";
- sha256 = "841e1b0e7d8b57fe4652df1dd6df75bdd92e08facdee5dac3d19018086541257";
+ sha256 = "240be57831e1981cbb6fb803e7c269d3e4f880aafefc4a94eb848d8296e511a2";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/bg/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/bg/firefox-133.0b1.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
- sha256 = "d188f99f3cc7d434f83b4f6c2cc061ce5ccce34e5d0f5417ff598f818402e3c9";
+ sha256 = "75181bb251f3a0ed3ee54a59d8336cc5ae1b9275b513c6a251e8f7b61acca0bc";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/bn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/bn/firefox-133.0b1.tar.bz2";
locale = "bn";
arch = "linux-x86_64";
- sha256 = "88aad5c943bdf59f84231b3cdef43ed58cd7bf4657e4cac4d7e17ea826277709";
+ sha256 = "b98e1240f7a254de8d11a20081b9b78977ca5fb457a554a59a9898f6a02aa2fd";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/br/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/br/firefox-133.0b1.tar.bz2";
locale = "br";
arch = "linux-x86_64";
- sha256 = "1165d36af18c63adbebd849f8f7e5f60904eb4a12720a64294dfc7ed8ae949f5";
+ sha256 = "f9ba2badd98674e657d6cc11a8bb0a9dc40a987fdd9feb6c5c09cc724b15a1c8";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/bs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/bs/firefox-133.0b1.tar.bz2";
locale = "bs";
arch = "linux-x86_64";
- sha256 = "d76e76da3c393a98189cb91d03e946a0a75b47d9a071e645321d2cd003dc6dd8";
+ sha256 = "7b2bc6c540c69db95777ca8237408bb0c7d9722edbce25a1b0ff768ce401e759";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ca-valencia/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ca-valencia/firefox-133.0b1.tar.bz2";
locale = "ca-valencia";
arch = "linux-x86_64";
- sha256 = "1bf2fbffa615caaf148413ddab98ba33bcfcbdc1c4977a79e74bea306c48ce8c";
+ sha256 = "48f589c0ae08b84600897683d8cc88fa8e0b6b7feb9803a9ac7d0f6eff57e39d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ca/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ca/firefox-133.0b1.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
- sha256 = "6f88889713b16a5efaf5c4cab1f4c18d44f847939d535115e5532f52af04d130";
+ sha256 = "dc9b36d6d4fffd577d793edb4a15e115ca623e7160c3ba122ed5b7b91e6213b9";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/cak/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/cak/firefox-133.0b1.tar.bz2";
locale = "cak";
arch = "linux-x86_64";
- sha256 = "193548816c4d771513e85aa5922d19b17b9b11409f5f2e619802f57992bbbf5c";
+ sha256 = "d23edc8e857bd65bddd142c9f8d324951e1d8c47ec5457aa5c17db1c1f8abad0";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/cs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/cs/firefox-133.0b1.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
- sha256 = "d4174d7cfb015cd4d50efe60abfab4d94311f1c063f28b4791a483c07933ca10";
+ sha256 = "aff33a070bde117bc895a9341db21a66e22b81834c4035a7d8d490f276778027";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/cy/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/cy/firefox-133.0b1.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
- sha256 = "ffc4d3f186e40e0cabc1950e60c61500491838d26a17dbc254c264112f77b69c";
+ sha256 = "75bcfe33c4d161a64e259112032ade36fb8d02284b3882c948c62e04082caa0b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/da/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/da/firefox-133.0b1.tar.bz2";
locale = "da";
arch = "linux-x86_64";
- sha256 = "d2fa4c6f2ece1ca73a9b8dec8d3fe8b5bdfe9e43a57390a20114b2af24ac1729";
+ sha256 = "797573e69ac32c81011e8f627ec2cbf621a5bf189ced7514e3fc125ecc889f7d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/de/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/de/firefox-133.0b1.tar.bz2";
locale = "de";
arch = "linux-x86_64";
- sha256 = "fc6ae3275ab21a0903d958b31df8ccb016f109ebad3ab4856d43dd9cf4a5295e";
+ sha256 = "414afe0dc658893cce23a21ddd4f879e8402a1eea60d62ce591e483da657b48b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/dsb/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/dsb/firefox-133.0b1.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
- sha256 = "5fac9d445c67e19aad732f3e8ee65bbfab452b40585bf3df04a7448914cac59d";
+ sha256 = "4ca0de6888fdf03640b2d25eb46a88ed8b43eef26a71e2aceadd8c22341ce1fb";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/el/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/el/firefox-133.0b1.tar.bz2";
locale = "el";
arch = "linux-x86_64";
- sha256 = "b11a214087f8c73a973c88241616f3eb4e1eec1276476dd2b8a7d3677a386b5e";
+ sha256 = "9eb42c8323ac9f05f157a36265b3cffc3b8c20f9730018912db76e9bb511a023";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/en-CA/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/en-CA/firefox-133.0b1.tar.bz2";
locale = "en-CA";
arch = "linux-x86_64";
- sha256 = "564f4a4d8fba9aa26e36ee8a9d01f1dd8ccbfbd4af4e1f465704a70f44ea65c7";
+ sha256 = "54a05bcd08463251bd62b5e1b43e2a063d6a757f66855cac981c19482c171205";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/en-GB/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/en-GB/firefox-133.0b1.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
- sha256 = "ce6c0c613868cfabf505edee1b7fd6835e1d8aedbafbbe0e4628ca74679db7ff";
+ sha256 = "8d6070c9e4d20aa11aec0b1b89963c103c665035f6a315adf5c1321a8f84c03d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/en-US/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/en-US/firefox-133.0b1.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
- sha256 = "ad1415d623d08acf32a6a891f4c161a576eda25fca64443ac84b366769b4fec1";
+ sha256 = "bd60365443d1063aaabf555df4fb11411fd29ea31ac2aa1c80c9ada0e363e087";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/eo/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/eo/firefox-133.0b1.tar.bz2";
locale = "eo";
arch = "linux-x86_64";
- sha256 = "9ba1d43f5899c4eaf9c01da2032cf77bf21918d93c6cd9e89721a84ec20c497d";
+ sha256 = "c145076111c58985e25d4ca937ca51a92e1359b8b87d117c1ccdd8aeda58bb83";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/es-AR/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-AR/firefox-133.0b1.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
- sha256 = "0c1ecef4dd5c824e766c715f9112b7f848341193dbb26548459ea9816878c6bd";
+ sha256 = "aadd10fa5e2c58b77caef30e59d4ba6f6d0c7502387bc6e96921b3308383f065";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/es-CL/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-CL/firefox-133.0b1.tar.bz2";
locale = "es-CL";
arch = "linux-x86_64";
- sha256 = "70f07e829e31228793a36cdd71324b8d1e4e7a6da9830338c6d2520af2fe1864";
+ sha256 = "5635b30ca049a62e7ae2bd2ddb5a5d0bd3a89ddc4fbaebb9aa8069d55c28b6ea";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/es-ES/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-ES/firefox-133.0b1.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
- sha256 = "65b78e48e9aa307e8e9d77640ad1a3332393ceec40422bd7da104200deea61ab";
+ sha256 = "cb65652cc54501185be04b33c2f89d29ae118f84d30149f747270551fb1a1b9b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/es-MX/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/es-MX/firefox-133.0b1.tar.bz2";
locale = "es-MX";
arch = "linux-x86_64";
- sha256 = "3a42bfb73b33f0eb5a05b166dfa4032d34c4ac0a7470d85bff6c3a02474d702f";
+ sha256 = "2a9ed3f17448c7c2158bb13c757fa42a473bab4208e17879f7be7f45d2b3e532";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/et/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/et/firefox-133.0b1.tar.bz2";
locale = "et";
arch = "linux-x86_64";
- sha256 = "5c11d5679515a2c459ef9e2092cb1a7272a2592f61e082c9da2b856bc6455392";
+ sha256 = "edaef66989d1641d2854dc2766d99ed46764b2d769093094b3dfe15a31f52d4c";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/eu/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/eu/firefox-133.0b1.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
- sha256 = "e5dd46e8f7acadb4b2167b9f123bf8415d97943ccbf837ba62b0ecc19775df62";
+ sha256 = "92f713be50d333f4a09eacf4ae63d3031fef13893ec96d4e5fc1f6a8085cfc7f";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/fa/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fa/firefox-133.0b1.tar.bz2";
locale = "fa";
arch = "linux-x86_64";
- sha256 = "732a5a1d28e388393109ca1395f5ac0214a51d736f778e769b6f1c81b63ea800";
+ sha256 = "d67cb179bb6ab763867a0c3e37f4a60c0374343a5c3832ebd515bc22e10db74b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ff/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ff/firefox-133.0b1.tar.bz2";
locale = "ff";
arch = "linux-x86_64";
- sha256 = "b3cbf42d087663b1c9f81eb42b1ddc649995fe212208e752d6c346638693392d";
+ sha256 = "a3a2453735601d5ff84214061bd0a13c34d0c77c186fb224565573bddf27fff6";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/fi/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fi/firefox-133.0b1.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
- sha256 = "06f02bbbc6f3799c7473a2113076f949704ec30025235d76416cd228b18dd4bd";
+ sha256 = "0be6d6b66280b352783a276eda0bd4895f05d27b0012528c1d1c73ab15326585";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/fr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fr/firefox-133.0b1.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
- sha256 = "09d3fd010b55e7732624beacd56b5bb5bb4b7b7cbcaf99078b31477e0c042edb";
+ sha256 = "2ebeaab8ca0e53240e8ba2858b7a161a7725336be452c8deb643f36b4398e619";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/fur/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fur/firefox-133.0b1.tar.bz2";
locale = "fur";
arch = "linux-x86_64";
- sha256 = "da4fda907872e126ead94f96b1dd57f106855eb7ad394a265ffeeaabe04dfc2f";
+ sha256 = "a5bf8c850244ac685fcdc21e988398bfe740b4b7cf8bb871e9966b12f73cd1f9";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/fy-NL/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/fy-NL/firefox-133.0b1.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
- sha256 = "0794e5be4c6e3b12f0a60d90faeee861093f46030fced53dedd1c0edb1ccc28b";
+ sha256 = "09db11c5eda2a8b3b0f456fb5dcd35dc794d0793d5b48c33cb3c045ff6ac7ab3";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ga-IE/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ga-IE/firefox-133.0b1.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
- sha256 = "f0590e9a1f22b8b801c9f302f2c02bea6214ab679300eb3961b4f965c8db55b5";
+ sha256 = "9f3b087ad1193a637173b912139750acc0c06a52e11326fcebdc8371b74602e5";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/gd/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gd/firefox-133.0b1.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
- sha256 = "dfd233907dc1d4a67a9e6b93183b570f759adfee4903f1b44d010dd0a689afef";
+ sha256 = "8989162bb822f5a9a9f51eda496022066e232e93f97fc0a4c3a533c37f688090";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/gl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gl/firefox-133.0b1.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
- sha256 = "6934b32cafd86716039827eacf5509f7d3a59657ade55fa342684c197b95fd0d";
+ sha256 = "84a82790c373b0b70410fa06df2e63d776ac709345eb11a6464143371c9e7dd8";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/gn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gn/firefox-133.0b1.tar.bz2";
locale = "gn";
arch = "linux-x86_64";
- sha256 = "f04e6d704828a86227a81e5e830570ace80ef1534a646e90c89aab068ad8fa45";
+ sha256 = "409c4d33cd7120e9e6b81c245f6b704052644c262b7417316d02c965e3127ab2";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/gu-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/gu-IN/firefox-133.0b1.tar.bz2";
locale = "gu-IN";
arch = "linux-x86_64";
- sha256 = "98976288478afbad1df8f9b230e6008b07e93e5c895cf78f3e5d95919998b123";
+ sha256 = "dda2b37db9e0913d4bff59671eca21479e6e64b41f41ea9879c98d42864eb4fa";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/he/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/he/firefox-133.0b1.tar.bz2";
locale = "he";
arch = "linux-x86_64";
- sha256 = "8863e64f00c277ab35e04d364e784f844ee4bf524ebbafa472e70b16aca123b2";
+ sha256 = "1b7b0eda7e646daff52964f619fe9c463127aba76a4dcc472c75af25ce412927";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/hi-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hi-IN/firefox-133.0b1.tar.bz2";
locale = "hi-IN";
arch = "linux-x86_64";
- sha256 = "97fbade4177031acaa3f2db7f3674aba5a4c523872606295e2b178242460cdad";
+ sha256 = "8a0858bdfb74aeb3fb5dc7f6f58de97ba72b1a7280f23a7261c838cdc3f3b4c3";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/hr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hr/firefox-133.0b1.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
- sha256 = "5cd45fc25e4c9f6dfb85e0ad6fc9cc4b61ea76dc4ac3ab2c81e1628c7cb6d901";
+ sha256 = "666c22ef6c63393fcfadc106e5d9e45f9045871d7320084bb27bea2bc940a4dd";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/hsb/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hsb/firefox-133.0b1.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
- sha256 = "31588cd5fda9eb3016e65ea2373dc1ca8d8bc1ab76a39e3ec805b24d017e4f11";
+ sha256 = "3687f58291699a0998156e17384da66cafab51834d7c5dbe8a4b6a106173b32c";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/hu/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hu/firefox-133.0b1.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
- sha256 = "222b21e3d732de1133fee305c46b62b3234efcdcae3798cbc0a74aced1922067";
+ sha256 = "96809520bad15744ac0882acadcce7b5bcf5fa0bc4b352a0d4ed2577ff625750";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/hy-AM/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/hy-AM/firefox-133.0b1.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
- sha256 = "80980c0db12255f09e755210f8ec71c7e9439ef1745fbe8d281b8b0ce5c65444";
+ sha256 = "c8ceac8c1d97cb6526b4d5010762afe6a4259f02e7e0bb7e237f811ebdf73eab";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ia/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ia/firefox-133.0b1.tar.bz2";
locale = "ia";
arch = "linux-x86_64";
- sha256 = "fcca230e6285991a8b469540e6a819cda8b9b769d9d98f3ec40241b377dc6953";
+ sha256 = "114b0c25121b47a83b6614e7e1c7d4f267b38033b4d9ba1da0299cc2e64c9388";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/id/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/id/firefox-133.0b1.tar.bz2";
locale = "id";
arch = "linux-x86_64";
- sha256 = "63350866ecc7ad6f902f22945d8de6c5b2b5b73a1c90ceceb16221ee0e1d2864";
+ sha256 = "67aac95105b980657b01eddd19fe36febb3bbd085be505695a1addb7681d0e4c";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/is/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/is/firefox-133.0b1.tar.bz2";
locale = "is";
arch = "linux-x86_64";
- sha256 = "b25a150e4de973c77a935635e2b45d34c476c766cda415d3cfc059265b4714fe";
+ sha256 = "6e712498fdab6993e70245a81a3dd34ef28743d08222637963028efff80ce076";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/it/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/it/firefox-133.0b1.tar.bz2";
locale = "it";
arch = "linux-x86_64";
- sha256 = "74e94928ef4e49c5dc5ad49e56adf5fd958b362192c711c8405b63cde43138b7";
+ sha256 = "b17a924b15c6fa4f2b894557d596d7e9e44829fbd1aee36ad8923bbb183dd2f4";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ja/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ja/firefox-133.0b1.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
- sha256 = "0f26bef2bc97755c82b4ff38480c5763fab1764cad82f398ed8accc4a755aa71";
+ sha256 = "fba05f5aed261d17be91fd8b244decbd376d9a99d845c14d9a233a6e480cf7ec";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ka/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ka/firefox-133.0b1.tar.bz2";
locale = "ka";
arch = "linux-x86_64";
- sha256 = "efa10add7c6198d2709e0943ec52675cbd98931c8ba6a2b03240210e367bbc26";
+ sha256 = "7d6ec78930a4d530f4dbdb471e870c0b9ec4b908d83100edaf1eec5a4c1a69fb";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/kab/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/kab/firefox-133.0b1.tar.bz2";
locale = "kab";
arch = "linux-x86_64";
- sha256 = "c6189ae86a6c502c0e6ec5a1110cae5fb49377eaa3a3d72740661090731d900d";
+ sha256 = "f819c92656b1d7a11e73ed35d5bfc443ef5af0468935dbd783788e48cb07ae40";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/kk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/kk/firefox-133.0b1.tar.bz2";
locale = "kk";
arch = "linux-x86_64";
- sha256 = "91a9ea6a270bcf43f05eee0d45c7b1247dc6bb1ceb5390726f9b582cca91e0f8";
+ sha256 = "616dab450ca82656646018e5718a83b4689e3e51f82a10211c543e39fcbba3a4";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/km/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/km/firefox-133.0b1.tar.bz2";
locale = "km";
arch = "linux-x86_64";
- sha256 = "3ae6ad9c2a34deba6067fadde0afcaac784030c839729ed2449784350a713223";
+ sha256 = "946d66dac62726147ffae686410a761b7187c1230a740bee61937fc5acfd3b68";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/kn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/kn/firefox-133.0b1.tar.bz2";
locale = "kn";
arch = "linux-x86_64";
- sha256 = "e3b221495a989ffeb3dd6352c29519764554f8e06591b2cebf70039c2f4c7fa0";
+ sha256 = "57aa68e667431152b26dce17f52d381daea3bbbd51d20d2d41c282b71506b4d0";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ko/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ko/firefox-133.0b1.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
- sha256 = "13302a48b65fcd0feb9719199f5f997737e7458c06cad6d098c1838fbab2904b";
+ sha256 = "8a8b38085990d15443e819ea087b1b241af99ed843351308d7cd49962e434fb5";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/lij/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/lij/firefox-133.0b1.tar.bz2";
locale = "lij";
arch = "linux-x86_64";
- sha256 = "2c94a010840d08035a7f11e40d7f1a92e805aa70e6348b1802b7e1dac3d78307";
+ sha256 = "5d88633bc0cc1badd60c32ae3ca597ecbd6f82c8ba17c363ba35504451aa0966";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/lt/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/lt/firefox-133.0b1.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
- sha256 = "e0e38869b9d299624623b0fcaadd5562b0a1c5f9ecd897348a495b48a969ceec";
+ sha256 = "c70d3e92bd3f9027c69589fb17996a8085bb4c74f447f0cd32610988851817ed";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/lv/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/lv/firefox-133.0b1.tar.bz2";
locale = "lv";
arch = "linux-x86_64";
- sha256 = "964f17d9129fa6eb3a3ed6b30392aa5f4fa19708bdf0dc4f0c1a0db32df0310b";
+ sha256 = "066ac178e2e6076f9d15f731e71b0346e30b54be2d896cf00cd78eb6601083db";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/mk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/mk/firefox-133.0b1.tar.bz2";
locale = "mk";
arch = "linux-x86_64";
- sha256 = "9c95ddcf7099e8d88932d94431610b21ed24d33efddabdec47778f5e67351836";
+ sha256 = "31c8eff29a9ebe3b29c683533cad12aa48b3afd5ee7845f3033f70b6c0bc6241";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/mr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/mr/firefox-133.0b1.tar.bz2";
locale = "mr";
arch = "linux-x86_64";
- sha256 = "e4e4a887b1c2cba684ba2528c6cc471af3bb82d8d9a2fd1833930d915a2e16bf";
+ sha256 = "078da76e4f7b8764593f1701cef1f06d9e77fd607c68be7481948ee2fb4a791a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ms/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ms/firefox-133.0b1.tar.bz2";
locale = "ms";
arch = "linux-x86_64";
- sha256 = "c73b6f01896873de4388f73e92fdcd0d04d7dd7816e7827b7a6aba5284aaa03f";
+ sha256 = "94229a433c2487ac653c82b2daad6503cdf80602b4ded2fb7072c7d0a64afb3d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/my/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/my/firefox-133.0b1.tar.bz2";
locale = "my";
arch = "linux-x86_64";
- sha256 = "aaf0343a3e3c8cd9ba4b9e61b412381ddedc124a14646379904aeaf11ed4dd79";
+ sha256 = "317294bf218a0d19f205b908a48a90fbe06cf5c0fa114e8e831d033ddb3e32b4";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/nb-NO/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/nb-NO/firefox-133.0b1.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
- sha256 = "4420332b3105bbc53dbbe1185a554e208e39ded5541eb7452add0f8b49e6655f";
+ sha256 = "64014f27b7cd516da9f76bea26a2e37729a535740b5c52e1556932fa8e357c82";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ne-NP/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ne-NP/firefox-133.0b1.tar.bz2";
locale = "ne-NP";
arch = "linux-x86_64";
- sha256 = "2936ac1de8e97ba8e393f687efd5bb3b358ee3c919b6fab7f20d04e46d11ac23";
+ sha256 = "d5c3cd9524e069953305c1a52b8e6a9967f0eb947baedeeff8736ef6a6ac83ca";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/nl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/nl/firefox-133.0b1.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
- sha256 = "b3e46bd840beeae40cd3594626b86a849d31e30b416ec477fcd99ae98cbfd87e";
+ sha256 = "a575e4899c81ac773d0a40a1a9f89af0c3ad77b8776634abed33fc9fe7511fca";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/nn-NO/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/nn-NO/firefox-133.0b1.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
- sha256 = "19ebb27df8cd258410d953ed54a02281f33bdeb892060db9fc43bff81cb8d3fb";
+ sha256 = "36ad31e105bf6edb37fac55bfd58e50afe32b4a705c74e5c2b6e9db27a869d54";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/oc/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/oc/firefox-133.0b1.tar.bz2";
locale = "oc";
arch = "linux-x86_64";
- sha256 = "d4b24f8468891079e86136ad2ac99240faebf843672bb839cccf42203fb82a69";
+ sha256 = "e3fb3a792cb7afc025ce3b4d19f089c80a542a9b91ea0cf8945e69a229ccfe6f";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/pa-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pa-IN/firefox-133.0b1.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
- sha256 = "c534e8a87cec2f0e9ee0915bf74f3a3a268112ba2eae9907e2850a7e6e294fae";
+ sha256 = "0c5a828f6c7d42026cf896fba8423d04e094de396bf26dde94621fcff363e975";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/pl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pl/firefox-133.0b1.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
- sha256 = "ee475ed9aa8c00d6dcf02f817cff43f689334d1c9f16f42ebf2b45e5f0812c0e";
+ sha256 = "4b122397e9ccdabccdf7f0f5ddbfc734c5675170d8e32a1059ff42da08fe11e5";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/pt-BR/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pt-BR/firefox-133.0b1.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
- sha256 = "326df9dedadca13f46ae26b8bef8fe9127e0588f84d839214bf52ef013dc45ba";
+ sha256 = "076a75a158bea4023bd38e4f5a534187ba329b0ddfcf3ab0b97657bf21dccc66";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/pt-PT/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/pt-PT/firefox-133.0b1.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
- sha256 = "c222ff822a6433b216ad164a5d5985cbe046e220a5dd7f4f1e043531e07ef457";
+ sha256 = "6c254118ee767d71a0203487512ab2411dacea0903074def934581c92d5b5fb3";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/rm/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/rm/firefox-133.0b1.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
- sha256 = "ec93394cefc1c458349a5b91527e4159e6958614b96d626e15c751bcf31dd780";
+ sha256 = "313917e95e615d934308b127f56a35a69bb516a5e4d6ef5f63fe4a2f7a5fcf2a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ro/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ro/firefox-133.0b1.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
- sha256 = "ffe3ea9129d2aa1d998391965f5f7c58867226e750fe79282718550983d994ab";
+ sha256 = "8ad52f9cd80a2bb1df257f7a3b5c09ebc6abff52eaa5d504a9a45819e2329a85";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ru/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ru/firefox-133.0b1.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
- sha256 = "c3c68bf3cb48854238ea83e95db04006f099e378f5f073f93a460b61a3ca8298";
+ sha256 = "ad91ca54f0b7cde1de770bb57078ba8d891300ea5554aac6e7b1e8fbd750e097";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/sat/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sat/firefox-133.0b1.tar.bz2";
locale = "sat";
arch = "linux-x86_64";
- sha256 = "f348f5400fd8f9f7272193824bf873b171cb01b3416e30d7697a0206439ad0e1";
+ sha256 = "f8e310b7fde9ba123fdf478038dd9597979dc710491a1fe4316a0759b756e5e6";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/sc/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sc/firefox-133.0b1.tar.bz2";
locale = "sc";
arch = "linux-x86_64";
- sha256 = "8cb3ca91aebaf60ba754bc2f3f9ef004a4b1fe2f96aa9699a651793929548fb0";
+ sha256 = "15b761a6fbb95c47ba6fe2d7bb1d2cedfd522ce43645f070e1403ba6fef74e08";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/sco/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sco/firefox-133.0b1.tar.bz2";
locale = "sco";
arch = "linux-x86_64";
- sha256 = "7caa1d9b5167056e64407c87126796e9b2c3595fab890ccc8f600cf2d6ba3b82";
+ sha256 = "bb56b3741ddcfd7d1d3751a364985cd94a59b4b26f18c4502a57687cc269ae1a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/si/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/si/firefox-133.0b1.tar.bz2";
locale = "si";
arch = "linux-x86_64";
- sha256 = "0596297cc39de0580f5eff0e6bf11ad9eef58714964277df24afbf2266f78169";
+ sha256 = "4f6011912dd99fbc23e3d764874c1e6e532957c561e79b30252f6dfcccd400f3";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/sk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sk/firefox-133.0b1.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
- sha256 = "c232615c60808666cf7eb42390c957ace79fc2964539dc9d78337db2c82a8df8";
+ sha256 = "82af3e4d39dfa2f5c8f399af21c0f167941a46bd7ad4ca512c652909b45d034a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/skr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/skr/firefox-133.0b1.tar.bz2";
locale = "skr";
arch = "linux-x86_64";
- sha256 = "ef5cd9a9677377fe3cacfc7234e3180c016fd0ae8809663966ca3f735b996efb";
+ sha256 = "3fd67475eb317ea3f83c0787cac862d8b8725aedfd3f6dc8d0274f368dd1a36a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/sl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sl/firefox-133.0b1.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
- sha256 = "968357070418cb7175b438e0192f8eefb42e3fb7604df9bd08e1f060e7cd6ac3";
+ sha256 = "5c8991a89e795de0d8c5c6b2a08e1029d7ddbfd25045951b33a0b04223a41bad";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/son/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/son/firefox-133.0b1.tar.bz2";
locale = "son";
arch = "linux-x86_64";
- sha256 = "44828102302c416f2cdc2858aecf843d72e0015a743a4a33a6e1256449c686b8";
+ sha256 = "d9a96931cfeb04cc23bc03954c69934d21bf4c5a5810c94ac961a6088e39054e";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/sq/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sq/firefox-133.0b1.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
- sha256 = "b1d849e2af49f7c9bf7c05870fb79ff6e0f9ee0fb58513987632847300235e53";
+ sha256 = "8d27d21903f512004900cdc7198de4991f22218ce948d5242cda649cc30ccf68";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/sr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sr/firefox-133.0b1.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
- sha256 = "99cf9f0f9c853849a18d0dc05c2f8416c42884bbf92d8e046e835ae09b800f97";
+ sha256 = "b78db319c021661d41824f2267ae462695745e19345364495c40827e0a5247ca";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/sv-SE/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/sv-SE/firefox-133.0b1.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
- sha256 = "664c2231fdde88b8d2e438429a699cf98c878f41625b89d6a5b14d2270e96fa0";
+ sha256 = "1215e48cacd11570a2f3a8914328a472c6167d7810f94953699e5c6f44d2bac3";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/szl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/szl/firefox-133.0b1.tar.bz2";
locale = "szl";
arch = "linux-x86_64";
- sha256 = "038477815c83f2566bf4c00cffd37ba0ed60383c90badeb685ac95bcd302d0bb";
+ sha256 = "2828965807f5b8ec7718cc58eb9ef38452acd6018a89987fb1e07faca47c1c9a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ta/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ta/firefox-133.0b1.tar.bz2";
locale = "ta";
arch = "linux-x86_64";
- sha256 = "3be063a9199cfcbb08a59e448c41b6382d5d13e998d6a3d4198f3bdfc389ceb8";
+ sha256 = "ea30035871e66630a9057c54ca67fa49b94f0c75772a4fc2f1aad486481ed385";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/te/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/te/firefox-133.0b1.tar.bz2";
locale = "te";
arch = "linux-x86_64";
- sha256 = "3a80f9b8916d2827e0ed0a7d6c4e968aba80c97e2d1a595b8a0c10f226849d16";
+ sha256 = "e878689ad558db568f50baf0803978f2c6fde36fa8020cdcd7706b2f223d4e05";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/tg/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/tg/firefox-133.0b1.tar.bz2";
locale = "tg";
arch = "linux-x86_64";
- sha256 = "cb171a6f21afe5df09f41b11e68c6cb93bfe8c64f1c32e75ed248d8eb7fcc055";
+ sha256 = "4611925af4e593b82f4fbd7517bcb48ba3757093c819af3c5c5b69e0b45672bc";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/th/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/th/firefox-133.0b1.tar.bz2";
locale = "th";
arch = "linux-x86_64";
- sha256 = "60bf0863d527971f35fb903c2801c7b607d43d882ba4ff8be7d1da3ba7ef9cd1";
+ sha256 = "fb6240f394ff58a04557117ed281d28c28abcbb7a37223281e42cba3aba58a8e";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/tl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/tl/firefox-133.0b1.tar.bz2";
locale = "tl";
arch = "linux-x86_64";
- sha256 = "16eb05f365b447a7535d12388d27e2d439d6dbffc44ffa1dab2319ad922738f6";
+ sha256 = "e6233f5f26b5b22aec20cab3c0fa434ca8cdbd301c671650e8a4385f2785517d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/tr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/tr/firefox-133.0b1.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
- sha256 = "b008823c635128eb3f25e0594999cd25a7264355be82b7c30b3fb8ae7a2ede0f";
+ sha256 = "de2e4b9ebbec7428044df32206338318a77625c70bef63b86a87df7880f899e9";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/trs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/trs/firefox-133.0b1.tar.bz2";
locale = "trs";
arch = "linux-x86_64";
- sha256 = "218fae2f2f4a6e0f2c217ae35d6f7b62d955ef60d1de0d923de05dd6f839c58a";
+ sha256 = "e23e749741ae2afdf3cbe580221753c90a5dc115327f1dc1b17a840cd05b93d2";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/uk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/uk/firefox-133.0b1.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
- sha256 = "ad28b1873e2c7781dfb14e8f692c08f549496fc8afbb4eb4ccd49ff403e221d2";
+ sha256 = "7641ff9a44fed05133ec2a7876f7a70b7fc701efb98a99c9099f0263cf100701";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/ur/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/ur/firefox-133.0b1.tar.bz2";
locale = "ur";
arch = "linux-x86_64";
- sha256 = "9d8ac480fd55cb749c6cf8166d681b619310dc25f352d109004a61655d0bb779";
+ sha256 = "76b84dea317b8d096626636e4317df7a0de33f045824494dc1076fbf9a11c3ce";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/uz/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/uz/firefox-133.0b1.tar.bz2";
locale = "uz";
arch = "linux-x86_64";
- sha256 = "7c19126e32881e496e538028dc2a336cfafcfa5ae8e53d5ae1f76415829adc7a";
+ sha256 = "ea3bbd715f93ac09524258ef039f97b67ae04163f9ba490217e3448a50ea69db";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/vi/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/vi/firefox-133.0b1.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
- sha256 = "4fed1d825342d963e45b81b9931f152c4600494866f54795f353ae1c84c94e40";
+ sha256 = "d26f876dc7458fec133133cb4bc25350f96a0a7b4b6ffcfe26483fa62c03985f";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/xh/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/xh/firefox-133.0b1.tar.bz2";
locale = "xh";
arch = "linux-x86_64";
- sha256 = "6cf56b2c6a0cbb6fe4161e126595f61cc0b099b526c2cbb44f5024cdc428fb86";
+ sha256 = "69e8a971f8925945c0323320f45a843d98d7ab73b80f9428f47e83626651b6ef";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/zh-CN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/zh-CN/firefox-133.0b1.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
- sha256 = "bacdc8db6802246ff6293f80027eb690f02e41eef04ceb1155a3ef35c99d27d5";
+ sha256 = "1eaa3adc05330db6849d01314a7bb8afea8dd69b7ad1dde5c0b373d84341eeb3";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-x86_64/zh-TW/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-x86_64/zh-TW/firefox-133.0b1.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
- sha256 = "1c41f550ba2c67d8dbbecac783642e2b21b04e4d3a6fc1bef7d9bba0dc35638a";
+ sha256 = "22d501328e4728fdd2e8e22c44b164ea3435b5905f57adfcaa97843abf3d1d2b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ach/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ach/firefox-133.0b1.tar.bz2";
locale = "ach";
arch = "linux-i686";
- sha256 = "3a2eb5827dce67f9f5ffef0d68ae8b0a38bcb8635c77e3662426c6068c340836";
+ sha256 = "5235e26e6100a1216b7e814f4885cb70f18544926cd5717bd10ce0f921a5dfa7";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/af/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/af/firefox-133.0b1.tar.bz2";
locale = "af";
arch = "linux-i686";
- sha256 = "daa0df7174e377c6ed64759460d0a7a98881a1afe1e366c5047b1dea23c7afae";
+ sha256 = "ecd5f7edcf44f0bc6c8f9cb2e959d64652477c0a91138186a47d049090333967";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/an/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/an/firefox-133.0b1.tar.bz2";
locale = "an";
arch = "linux-i686";
- sha256 = "636e32c6b2cf823895ba1fc21c49a93d845285f1c0bb4d4edde05c88337f273b";
+ sha256 = "62080977a6f277a02982a1ca4f95226539d896cbcab49be5ada9419fbb35c2a7";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ar/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ar/firefox-133.0b1.tar.bz2";
locale = "ar";
arch = "linux-i686";
- sha256 = "cbc5a4a80bedfc115aa3d8450b809ef39ef80a6a5ca7446b233a11045d78da1c";
+ sha256 = "d159f1146a116f128fd93468f9a52b264bb97c8f98cd615b4c22fd0f4bb54369";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ast/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ast/firefox-133.0b1.tar.bz2";
locale = "ast";
arch = "linux-i686";
- sha256 = "11a799ebbc18f489ed0043718c7091d352d21e8f5669b841eec17c3b930e15be";
+ sha256 = "c7786d6134922c00a7add9d55b36aa277f791c57e7ae1370a57ad2293c279a58";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/az/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/az/firefox-133.0b1.tar.bz2";
locale = "az";
arch = "linux-i686";
- sha256 = "e491a0d636a602d8881080f237c55583270d0ca62b3350905deb8c26d092b190";
+ sha256 = "37a7f70e459ce17ba506dcf57a2d0a918b1d34f6d65d71a65cacdded1d36cbec";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/be/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/be/firefox-133.0b1.tar.bz2";
locale = "be";
arch = "linux-i686";
- sha256 = "ed3a53f09502548054476ae26475de0068c33c1dbe2080b68dc88da2c6c07f86";
+ sha256 = "f35bfd4c67e2e16241bf5d18058d01da003b6db98ef20a5c5ff80866dee2a3a5";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/bg/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/bg/firefox-133.0b1.tar.bz2";
locale = "bg";
arch = "linux-i686";
- sha256 = "7e19ca96797de41c55f2d81e17418f4912e286099193c4d23356432d937dd467";
+ sha256 = "6e591047810cdeb9fb455146a6d7fc40e2bc07be8ba80b9000956c958bc4590a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/bn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/bn/firefox-133.0b1.tar.bz2";
locale = "bn";
arch = "linux-i686";
- sha256 = "23e1ad144a6564e91420ff1616ed81b577e15bb2c48803dd73a408788a791e8d";
+ sha256 = "94018749fd939955bda8911d44ebfa1336e1ed6b0deb78cfcf51c978ca21c586";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/br/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/br/firefox-133.0b1.tar.bz2";
locale = "br";
arch = "linux-i686";
- sha256 = "32b8631482a1a27aceac69aec87d4094f7e7a8dbfe04310cda692241bb1d51b2";
+ sha256 = "dc9a5b38938dc4ee51a1774b57ea9b8ed178908d5c792b5c8d6072f964a8ce2b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/bs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/bs/firefox-133.0b1.tar.bz2";
locale = "bs";
arch = "linux-i686";
- sha256 = "575ac3d86f62665a4c496e634778e3d1a7258dc73f6c2ce6727e2a96e9d2ac03";
+ sha256 = "4dfecd9c6b843636df4a952769d30779ca167968c204556ca21be822f2c6488b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ca-valencia/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ca-valencia/firefox-133.0b1.tar.bz2";
locale = "ca-valencia";
arch = "linux-i686";
- sha256 = "5e5c1f70fda621f566064248bfef9fc1629c81acc31fd3e21b23d2b122754470";
+ sha256 = "d95465f69ff0a31c5c5fab725a0c8bfc9564a896993f5eaef9f1a46badef9d16";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ca/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ca/firefox-133.0b1.tar.bz2";
locale = "ca";
arch = "linux-i686";
- sha256 = "1f622038735474932239888d00c47eb8a8c719854340a838cf580ecc28a8c1cb";
+ sha256 = "f60d2f04ef97c94604a38c9065fbc4d7762a0e97cb7a951963d977f599574fb4";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/cak/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/cak/firefox-133.0b1.tar.bz2";
locale = "cak";
arch = "linux-i686";
- sha256 = "f4fa8cc59a44bcefbcfc9d41ca67f1872f29073b1ead1e4da576091605721d86";
+ sha256 = "8fc8cee299c1eb3a7bff416cb749eca7a26840d7b4934f31bc36cf6b9ac0a40e";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/cs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/cs/firefox-133.0b1.tar.bz2";
locale = "cs";
arch = "linux-i686";
- sha256 = "fa764b4dae4384442f1e2c4424b8b82678a3910a5873dc068b605795ab803673";
+ sha256 = "6a1adadeb5516c35fe30874c3805f31276aae3638213a3b14a491e2b091aacef";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/cy/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/cy/firefox-133.0b1.tar.bz2";
locale = "cy";
arch = "linux-i686";
- sha256 = "c16333d4334148e77f4c36a1dbdeebbad52964af903f4913cc12a76997651585";
+ sha256 = "9eb63eded5bdb7199b26bc621fca862df9aa7aab1886b79e1c1d3e230742976e";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/da/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/da/firefox-133.0b1.tar.bz2";
locale = "da";
arch = "linux-i686";
- sha256 = "49f5bbe32fd51898fea03249af04cf922891fa57b5d03afd49b92a7eb6305fa2";
+ sha256 = "e4e33e4319a9072892ef395aaf6c1175223e802bfc1f7dc474ad1ef9f91c5883";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/de/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/de/firefox-133.0b1.tar.bz2";
locale = "de";
arch = "linux-i686";
- sha256 = "4b5b5a07a09fb47451ce79aa9b4331d12e64222e7bddc950db4e8c4f660e682a";
+ sha256 = "ec69257df5cfe9a37c3a69726f2281a3d0e6a9a85a501f19e46535eae80a5e2d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/dsb/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/dsb/firefox-133.0b1.tar.bz2";
locale = "dsb";
arch = "linux-i686";
- sha256 = "9ecc41b2fd42e3595bff98aacbb670081340175c1594b2e5e863d49be9747575";
+ sha256 = "e7244987df4e971dedd31de64586863f5d2888382d3da68d1386b406f2405200";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/el/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/el/firefox-133.0b1.tar.bz2";
locale = "el";
arch = "linux-i686";
- sha256 = "c14cb71af1fa07286df672db42140528807015e4c633862f145d311ee67d211f";
+ sha256 = "5b3c989407a6ed42f095cf8b5656aa2a49dca17adb117458828424812881183d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/en-CA/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/en-CA/firefox-133.0b1.tar.bz2";
locale = "en-CA";
arch = "linux-i686";
- sha256 = "de205306cdcabc1f8764e048b0189f31dd59265282a0d48804dd5e01d65eb4b7";
+ sha256 = "2377969cb6f7e2f169932c7f20581bcd1bf740db9f1e2f464896666a3fc38987";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/en-GB/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/en-GB/firefox-133.0b1.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
- sha256 = "87337c3c036f2dacce295ce3044f313266910f7911037c1d1eddb7c633c79703";
+ sha256 = "039ceea2c9ebc264d01bfefed9bf8fbc16434698d5c4d4cfe457794d92a92a1f";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/en-US/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/en-US/firefox-133.0b1.tar.bz2";
locale = "en-US";
arch = "linux-i686";
- sha256 = "8bc2cbabfe34d0bf8eb72f3ae9a5db6b4da83b659385c80059ff468f436e122c";
+ sha256 = "32ce9d0bbb2080ce8afa73ae5d1bf166105b6dfe8bf26ccce3721d42815f0581";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/eo/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/eo/firefox-133.0b1.tar.bz2";
locale = "eo";
arch = "linux-i686";
- sha256 = "ae1ad3d5c365a96e4ec862eb59cabed185e0f5ed0ea1c196a726db8307d56722";
+ sha256 = "90a50460c92718c62a0c0f0c3e58348ef5cb4757db8fd05aca4c251bf23ab3d7";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/es-AR/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-AR/firefox-133.0b1.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
- sha256 = "c7f7c52b27a98a6ec5620178e0d7d9989cc80ff33d8a8bb8c9901d14d470ecd1";
+ sha256 = "4ae7d1644197612b266b8844e27c6ea7b5e3df079e0ef1b44f8b885b93e1f18f";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/es-CL/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-CL/firefox-133.0b1.tar.bz2";
locale = "es-CL";
arch = "linux-i686";
- sha256 = "5c40f644cdcc273a7c5296758c903386bdf72c928d71c598ab1cc524791bd12f";
+ sha256 = "e547ecb14f8bd32c91f4025022029bb79af4b065e71c234940306949b5c5e462";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/es-ES/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-ES/firefox-133.0b1.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
- sha256 = "66cf9339ae8c7703b23ac94fbe4d641b3dd2d4201011a49c3d98859874481fe8";
+ sha256 = "e5a6d7dc34190992814995a0b57b4d9188c3ed6c8746a045750a56bd079713e2";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/es-MX/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/es-MX/firefox-133.0b1.tar.bz2";
locale = "es-MX";
arch = "linux-i686";
- sha256 = "6424538eb209875fa42391bf4457b1160d066ff94cbcb35cacb4698a6c87a158";
+ sha256 = "53ad3eaa0f7b969350ae43c023586d42fb18044926bde5c1f5d8337c8d83f7f6";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/et/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/et/firefox-133.0b1.tar.bz2";
locale = "et";
arch = "linux-i686";
- sha256 = "2d24a51753787c300fdee4a837d360706a206d81063ba90e45b0a39dfec19704";
+ sha256 = "c647317e95f41ea684e38d3aace7055d920f3b119a82759b335012446f1b5724";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/eu/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/eu/firefox-133.0b1.tar.bz2";
locale = "eu";
arch = "linux-i686";
- sha256 = "e071a830171829fd0ae7407a0e36e2cd4d732d0bdc5d95f308ae645b15e43352";
+ sha256 = "873e4d999c8a96c8aafcbffea4c18cfce5166c395309ccbeec638ea26a80dfa2";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/fa/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fa/firefox-133.0b1.tar.bz2";
locale = "fa";
arch = "linux-i686";
- sha256 = "28f1e8e0e4c663d1f4651b598f0981f02170fb70f566b56ecb4fa695ad43b062";
+ sha256 = "fa443519be951c02b12dd2cf8a5c163deb8408ce3142d499484078d8f7040f9d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ff/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ff/firefox-133.0b1.tar.bz2";
locale = "ff";
arch = "linux-i686";
- sha256 = "8538d13b4036fa20eb9f05588ceb58615e47a91f40e52b80fe8bacb0815d2280";
+ sha256 = "dd025f7616a71ff7fc71162acbfef86ae1a6905c039ec2749c7742982dc89a4a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/fi/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fi/firefox-133.0b1.tar.bz2";
locale = "fi";
arch = "linux-i686";
- sha256 = "5db06424e691bb8a38752f8b4479682b211b944054b624c6fb2b0517d6dbe8a7";
+ sha256 = "bed429db1a03783615ddcd1ecd1383f3f4c52e1295bc7cff0af450718d079db7";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/fr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fr/firefox-133.0b1.tar.bz2";
locale = "fr";
arch = "linux-i686";
- sha256 = "0d239d9d7f6e7072d44faa571ed47c1943c6593532e8f5d13adcfb3c6270858c";
+ sha256 = "7d577bd3cad1e960424aceffcea266d1e0f26757e5942dcb473a1657c3290ba0";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/fur/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fur/firefox-133.0b1.tar.bz2";
locale = "fur";
arch = "linux-i686";
- sha256 = "0cf201905007894685d3e2f2a5555ba478385e576546112912ad51304aa0fcb9";
+ sha256 = "5fa36efcefbb0626419b9a8beae643ef1e6f0c386a2f507e72247c565e1e8998";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/fy-NL/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/fy-NL/firefox-133.0b1.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
- sha256 = "4390d196894b898724dc31ccd30d85795a6094641839ea3b688253fd7fa59925";
+ sha256 = "02997236f0488ce1b9fa1ec40648154bda3c445c0130d7a08982abc25ea2ebf1";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ga-IE/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ga-IE/firefox-133.0b1.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
- sha256 = "07f04a17bea08570c902a7588b770a0b32763a792de46b2c6ebf4c6323d8e72a";
+ sha256 = "41bbc0b9583e97acb6c52751974e602345e1ed593673574a9c6d6ae4fc185990";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/gd/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gd/firefox-133.0b1.tar.bz2";
locale = "gd";
arch = "linux-i686";
- sha256 = "ab87018a5cf04c903a41bee02528796d5537533688d50e21f66dc7c5210e2197";
+ sha256 = "a6831f8632128c1b2d02935f63000b1bf7d0e88b6bea0b2d814a8e8774aa24fe";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/gl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gl/firefox-133.0b1.tar.bz2";
locale = "gl";
arch = "linux-i686";
- sha256 = "d2b36736a16b6673d9051cad9df7bf503903c09b0bd4c0492c3445a55ee11f9f";
+ sha256 = "54b7785440073d33262667bfa6c2867a8f623741274dc55ac70b3053ff17032b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/gn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gn/firefox-133.0b1.tar.bz2";
locale = "gn";
arch = "linux-i686";
- sha256 = "587333196ad1a404bafca6bc72a9fa76601454a1510143d8ac1aa3a21b2ac0ce";
+ sha256 = "e2542e3c1d1fa72bfaa601bc6db5c327cf3d992efeb0d40dda79c8c2a91e57e0";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/gu-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/gu-IN/firefox-133.0b1.tar.bz2";
locale = "gu-IN";
arch = "linux-i686";
- sha256 = "f5fd1e4959895c253186feedcf64abe577452c7099778067046438f6409c0f4a";
+ sha256 = "e67053a7ab1a8549de586a38271239188aa77572514945781d34d3c56b61259d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/he/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/he/firefox-133.0b1.tar.bz2";
locale = "he";
arch = "linux-i686";
- sha256 = "f5d3701b4ea8715e8ce3d8870ca2ef103804b529006c264d35df5174048cac7a";
+ sha256 = "a0d06ad4015f912dbf8f12b97a7193ffbba48afe63b53bf24242f4eec44b21ad";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/hi-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hi-IN/firefox-133.0b1.tar.bz2";
locale = "hi-IN";
arch = "linux-i686";
- sha256 = "cc3f712afd9b6866798158be07855cb49a30764a03c64463c458774bf6303af3";
+ sha256 = "74d9298bf2219c3fd8e9ee0783b90d2fdeec7dc11ef48d7dd388a20b9e99079b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/hr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hr/firefox-133.0b1.tar.bz2";
locale = "hr";
arch = "linux-i686";
- sha256 = "3833d16b4b9c98547f9f405fee4d150763529d4c87e09d2ae1e9c62bdf09ebe1";
+ sha256 = "067f27467dced6d01362b396802cd33dd9c80d45c849a579b49f3c5c07ebd182";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/hsb/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hsb/firefox-133.0b1.tar.bz2";
locale = "hsb";
arch = "linux-i686";
- sha256 = "f9f6802195c74368f4306470bff9352644f592f84334104ec2df829118cd0889";
+ sha256 = "46581a547587e8469d171192d7f45c029c6868addc0df73ae52ce86eec5b555d";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/hu/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hu/firefox-133.0b1.tar.bz2";
locale = "hu";
arch = "linux-i686";
- sha256 = "da459abb9b9b55626c11b4ec09e3de6b4ce64928e1af8c1c7edc6937d9df2fff";
+ sha256 = "7401a0dd3ea993a1b35252e383258b03ea3b66bb5f8760b06556b1141598f740";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/hy-AM/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/hy-AM/firefox-133.0b1.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
- sha256 = "34277bb22941f8a3e5a71646fc6a1304660a6087f66fbd6e1066ecc3efd952d9";
+ sha256 = "2aa425086ff2ceefca72afb084992225b33383492379e91b85441c33140f34d0";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ia/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ia/firefox-133.0b1.tar.bz2";
locale = "ia";
arch = "linux-i686";
- sha256 = "c3f2695c4a3f15a60a83f6f1561e451a75ddfa25db6827541be3d948ee3cd5e4";
+ sha256 = "0aa4009346092ad02ec4242f5748c087ca3a1f0f49c753101b70a03ec8e07a42";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/id/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/id/firefox-133.0b1.tar.bz2";
locale = "id";
arch = "linux-i686";
- sha256 = "b44069f8b898d751dd42825ed55a216b7cb2b78dbc187894ae886cbb0ce1303f";
+ sha256 = "be998daeebbf20dbd12976f33c75edd7dd1db838c439ae16120ad96e887f5e7c";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/is/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/is/firefox-133.0b1.tar.bz2";
locale = "is";
arch = "linux-i686";
- sha256 = "d566b05d2de587f8f377f0552b8611f3232a1b2ce71270a956690b04edeaa8a2";
+ sha256 = "89c5a3329217c033b12a706b1dfd239a31b9b6c25bcc44fc250cde6cae9a7a5e";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/it/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/it/firefox-133.0b1.tar.bz2";
locale = "it";
arch = "linux-i686";
- sha256 = "5b79674af83be412e986376807a04ae59f5b96c4a59c905c951b7b29baf76cf0";
+ sha256 = "b2eb6281f75c734ff2d8190bbefe360e239a384161fbd61eb61dca837be6df3c";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ja/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ja/firefox-133.0b1.tar.bz2";
locale = "ja";
arch = "linux-i686";
- sha256 = "1324e8ca99b2e7a9e7d671c0dd066553dd2a60f5f0535103d372aad287e36281";
+ sha256 = "cfb7a0c45fc51a75c888f27c119e841e4afbf59a68af79ed81fd054a8fab3292";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ka/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ka/firefox-133.0b1.tar.bz2";
locale = "ka";
arch = "linux-i686";
- sha256 = "97cfc20dd249d8934d1e92f0edc9b4db9fac00e1ae3f6e256b4cc8e960bcbc66";
+ sha256 = "134cc6680cd261624677b68c41330e7283cbf940e3c5cadc89cce10fcbcff4f8";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/kab/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/kab/firefox-133.0b1.tar.bz2";
locale = "kab";
arch = "linux-i686";
- sha256 = "746186d77f3bfac4ea34dddc6d5bc0fe1a1a2fdc1beaae6946bd58a5415bb732";
+ sha256 = "e9eef562d65a06f595cf620b96fd796c76cde9c9ebafe017bac7ee01abb09d85";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/kk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/kk/firefox-133.0b1.tar.bz2";
locale = "kk";
arch = "linux-i686";
- sha256 = "48e2283eddc4f2eec476a7b847997705686985956ac2bcf0677b06600d2cccea";
+ sha256 = "844b7b7c2737bf8ab1beface6fb3ab66bb9447d90c7e284c0db5977f193ca608";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/km/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/km/firefox-133.0b1.tar.bz2";
locale = "km";
arch = "linux-i686";
- sha256 = "8255888fa2771c50a7cbacca023dd2218908b46bb52a4a070073b89af86ed9f8";
+ sha256 = "3153a0d951761133902853591b8dc324f51b7937afef7f876d42cef9819de7e5";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/kn/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/kn/firefox-133.0b1.tar.bz2";
locale = "kn";
arch = "linux-i686";
- sha256 = "17ac76150b550f26af69b7cf36dae1441602d3bedf7cc8398f102b6a41b00775";
+ sha256 = "3b15251296773062dd58666feb4e4d1d069069035f7f29d0c30d89a8aa8ede52";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ko/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ko/firefox-133.0b1.tar.bz2";
locale = "ko";
arch = "linux-i686";
- sha256 = "794c3566a5ec2751dcde9b0038b0d11f64d5443972fba058d8c1d66e2a768d7e";
+ sha256 = "26d3ec847cb4f4a63dc65e5f85b71a83c0000b3a2245242aeb0c85717f638c05";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/lij/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/lij/firefox-133.0b1.tar.bz2";
locale = "lij";
arch = "linux-i686";
- sha256 = "5dcad09ef1e16c8c8fbdfa76b180f66df354dd3a3184a95a9ee219619d623126";
+ sha256 = "821cebf1615b8d6ccc886f1ba6f71b7c96d1f905f25656c06202aa9823b9fd7c";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/lt/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/lt/firefox-133.0b1.tar.bz2";
locale = "lt";
arch = "linux-i686";
- sha256 = "67ea002179152fd697c2b7cc6028f67eb8d1809233127ad3a79e48937874e479";
+ sha256 = "67f446c2dc13ab0f5e807c359f58b6629237b84b270119e1a07b4783c0f32f8a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/lv/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/lv/firefox-133.0b1.tar.bz2";
locale = "lv";
arch = "linux-i686";
- sha256 = "ee90670d050beb555b8375903397cf55cc9f4a54d806a32c9383150799b67a9e";
+ sha256 = "3610f2928483acf76391b76d6daa7163dd2f67fafc9f52fd24741cb9fceb6c27";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/mk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/mk/firefox-133.0b1.tar.bz2";
locale = "mk";
arch = "linux-i686";
- sha256 = "b47befd2ad2eaf66842e159601bb312dad71b665d8c8af9eec5d2ba646e26fc8";
+ sha256 = "59952564993c98da66d5b88672fd9c40911601cb7845d64587f88636ac724310";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/mr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/mr/firefox-133.0b1.tar.bz2";
locale = "mr";
arch = "linux-i686";
- sha256 = "33dfca6116afcbc1edf83d4e30c32c3e52a320a1b447521a017502a2cf2abc33";
+ sha256 = "a28a7e3bc05f3053d35a2f7ec1e6f6e9a23b09039d129986fdda4f8e827b85ec";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ms/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ms/firefox-133.0b1.tar.bz2";
locale = "ms";
arch = "linux-i686";
- sha256 = "310f06f2ccbb321da8b2f7ea1b302f0c90fa6d0d19aa4cac40e08710adb42c49";
+ sha256 = "7ffaa99af8244ab466607bccefded8b0e6e714fd40243160a9c4bc8778faa1bc";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/my/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/my/firefox-133.0b1.tar.bz2";
locale = "my";
arch = "linux-i686";
- sha256 = "4e8b59a810144fc8407ffcee81bae69f3b3b8458920eb8c30affb59e432ca49f";
+ sha256 = "c709c5f9dc3626a3bc9bc68d833ee1c4f1d31fe316f5b764d40f73540e0a38f6";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/nb-NO/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/nb-NO/firefox-133.0b1.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
- sha256 = "3fc8c97733acab28b7b59142e8acd6438251c83cdc7b37ced2a74c7ad5de9af2";
+ sha256 = "a97b29ebe0a76915cc4faedea6c448300ab8c7e8767c9f3244f1b339c8ebed5b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ne-NP/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ne-NP/firefox-133.0b1.tar.bz2";
locale = "ne-NP";
arch = "linux-i686";
- sha256 = "939a528486c9e9a7d5692c9c248aa8f2c9ba9d86bd6508fc1eaf84f8a21c8731";
+ sha256 = "3214b27b65fbd84ebb8f409a6d05e2afe76f838432e4c35865ff3bd3fbc5b5b7";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/nl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/nl/firefox-133.0b1.tar.bz2";
locale = "nl";
arch = "linux-i686";
- sha256 = "01a5fcf60e9599128f7d5663d83428825db59d5a49139348c3b3a5fe48ce5d25";
+ sha256 = "fe1de7ebf13cf5fd0d9460a331d66d490b00fca1c1f5f36877297f65b34acb9a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/nn-NO/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/nn-NO/firefox-133.0b1.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
- sha256 = "4e8fe32b83d51a01c1a718fdbdf21eff87f3388995426dca460a583b63a8c3c6";
+ sha256 = "131754185d4b0bdbdd8e5456ae54051a7e974fe65c92e5e68cebbc09ad77c3cf";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/oc/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/oc/firefox-133.0b1.tar.bz2";
locale = "oc";
arch = "linux-i686";
- sha256 = "2cfcab5226ce8901cff407c9175a712ade1bae871be9c37f044e88babdfdc68e";
+ sha256 = "a83510b6064cada58cb3e69faa54081f63e118cc6a3ee82fae6b85041f4e9d7c";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/pa-IN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pa-IN/firefox-133.0b1.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
- sha256 = "2bab73df49224bdb79f6d0db857d181e8a0153631eebe4b54c40302dbf664ca5";
+ sha256 = "7ff6673e6851a9c7885803d4410534fbef1e383b24f5675dc0cd4536278bd6a8";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/pl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pl/firefox-133.0b1.tar.bz2";
locale = "pl";
arch = "linux-i686";
- sha256 = "022130cd8d3a4f13a2734b09eafada4cb3582f0a04771a2b38e2e8782a077eb7";
+ sha256 = "21958228263df676dd210810523848a25875f45897b2c777a23c0b41e57aceb9";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/pt-BR/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pt-BR/firefox-133.0b1.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
- sha256 = "d4804bb273803d762711416831ed6fadfed28e09a92cae166b47d436fee3ce2a";
+ sha256 = "e5b6e65b2e94fd4c083405ff9402d8b8121578e429403413969e973217d8edec";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/pt-PT/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/pt-PT/firefox-133.0b1.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
- sha256 = "e7e0bb5138aae26ceb12aa014a4a365d69141a3f6d0d437e5d9112a1e1d9222e";
+ sha256 = "bce05639655230d8fddae84489f89505517dcdf7d2270635de952f02a1dfb0f8";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/rm/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/rm/firefox-133.0b1.tar.bz2";
locale = "rm";
arch = "linux-i686";
- sha256 = "09e93cde46ee4d590c233a5a1731657722d7d68772867a9601b9d561e166c8c0";
+ sha256 = "fad7e57b866dd5484a3c2987cfa7092d3b1505b9ff1bbe8b4abae01cb2862893";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ro/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ro/firefox-133.0b1.tar.bz2";
locale = "ro";
arch = "linux-i686";
- sha256 = "cdc004090e30db5bba10906550ed9532e7053a3cdbd6525280978d06fa87aa44";
+ sha256 = "91680a58a8178c48f22ca36a7d86bb09bed0ae26b223b8d3ee4b1401aae56f29";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ru/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ru/firefox-133.0b1.tar.bz2";
locale = "ru";
arch = "linux-i686";
- sha256 = "be2bc2843148d4241f5a59c8cf840552eacff056906f4712172047186d7e1ca5";
+ sha256 = "9071420c5ad59bbf55c86c6b399d664547cc3f0e061985ddafc084c7ecb20996";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/sat/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sat/firefox-133.0b1.tar.bz2";
locale = "sat";
arch = "linux-i686";
- sha256 = "c326732c2ac6b12ebc2fadb464bff49d24b193e229f32be7c17ce30b8c8584e8";
+ sha256 = "ebdb74ac24cd8844efcdb33eaecf2e3e6638708e87c720c81b7f2c5e968c068a";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/sc/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sc/firefox-133.0b1.tar.bz2";
locale = "sc";
arch = "linux-i686";
- sha256 = "f7c6823d9196245f2f6ecf4cbdd9b82397cbb39bd2be7c3866a6bf592b055a22";
+ sha256 = "caa20cc0c17491356bb4e1a5bbaa00278145773ede483f8aafdc42be39afd438";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/sco/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sco/firefox-133.0b1.tar.bz2";
locale = "sco";
arch = "linux-i686";
- sha256 = "3533e52edd9ee565119adb2eb04048e7f03442a59d0342cf63ba0e515edd544b";
+ sha256 = "09c69b7988f004b8a8ead03ecc784d11a3360d73dad12360692252660472f3b5";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/si/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/si/firefox-133.0b1.tar.bz2";
locale = "si";
arch = "linux-i686";
- sha256 = "94a37d1d5dc04726f2b10831db8fc21ca48ad22eb08d4bd64641f849ef395d0f";
+ sha256 = "c087b6c581e769ae4d66761ff8826fb329d7f0bf6420b73368d2ceb538bf3d9f";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/sk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sk/firefox-133.0b1.tar.bz2";
locale = "sk";
arch = "linux-i686";
- sha256 = "53bdf98c1b6f21c8134d3f68241dcf64bc351f5926ee23ef1435d5e1fd7469df";
+ sha256 = "1b1226826371a1ebe2fcff4b8c874f0e0bbc854f8a3d6ea38aff82ff859b5eb9";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/skr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/skr/firefox-133.0b1.tar.bz2";
locale = "skr";
arch = "linux-i686";
- sha256 = "780e110da1c6e8c50a406cb20c5dcb25b3ea9be9701b2136372fb3f08226269b";
+ sha256 = "3a40bee963b81c94eac34b0da4163751f04dd97f9e18e22a408ea2e055c34a46";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/sl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sl/firefox-133.0b1.tar.bz2";
locale = "sl";
arch = "linux-i686";
- sha256 = "2cd694302448ba68635b672597428a605f3f8d2cdbb22df86c57e28d75d1aec7";
+ sha256 = "7b34537382118ab1fd811d81a7ffb2a7292d447d3e5c922412676ddcca2c94dc";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/son/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/son/firefox-133.0b1.tar.bz2";
locale = "son";
arch = "linux-i686";
- sha256 = "f73388326340bae37206eb1fbbf92660f6e8c0a9aab266624d71a3e7b6ab3f81";
+ sha256 = "fa1660e07117c736a2d7c4249b3b34da98c70061dafcb7971ebaddf88c8fff18";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/sq/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sq/firefox-133.0b1.tar.bz2";
locale = "sq";
arch = "linux-i686";
- sha256 = "2468e0434793844579dcee985ba36920d637e4adf4fdaeb4b7c1613567d9704c";
+ sha256 = "e4fb5bfb39bac51113b585daca8d60734a551252d7ae1196fb96023b2ba57c72";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/sr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sr/firefox-133.0b1.tar.bz2";
locale = "sr";
arch = "linux-i686";
- sha256 = "5771c8dc7555725d5579095f5dd50ed6e23d92361bfbfed4e553bc358549fa6b";
+ sha256 = "62594ac892147e1a21bd7bb7b0d8609e779f18fab6c45cf9910b79bc6a7eae03";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/sv-SE/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/sv-SE/firefox-133.0b1.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
- sha256 = "dcd1c02909989a1638dffff4ee1fb75c37e870741dbfd1cd32a3c0b514d6043e";
+ sha256 = "dd1e6823bfbd0063912258e0da87df33d770fef2847643fda0a9b806d196e049";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/szl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/szl/firefox-133.0b1.tar.bz2";
locale = "szl";
arch = "linux-i686";
- sha256 = "d988fdfc0e57fe822e2e41f6e21b3aec3a6469008498f8a974fdcafe2e042f54";
+ sha256 = "28329d3165c3a0f629b71450df71ef264d0b962e0a19969c7fb1dce35c88b290";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ta/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ta/firefox-133.0b1.tar.bz2";
locale = "ta";
arch = "linux-i686";
- sha256 = "a98e68d852422275c0529050248402ea9e6729e824cb9792df3c55e326c876b6";
+ sha256 = "8ab0bd1542f5484edeb1c8d4290a33ccbac6702bf732e9a57e34e28218605f7f";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/te/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/te/firefox-133.0b1.tar.bz2";
locale = "te";
arch = "linux-i686";
- sha256 = "a8050a4a065eb9d6cf78e61dce4ae006c7b6d10dc404b1ae4d201c9403852c03";
+ sha256 = "6e73c1550ea59e9177b13daefc84f9cd024c285865aba024af84ccea87e7ed30";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/tg/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/tg/firefox-133.0b1.tar.bz2";
locale = "tg";
arch = "linux-i686";
- sha256 = "d81e3d9420a988f584564f56293ce4989cb99a9e68beff0bb591ed131baf1d41";
+ sha256 = "956a5816c8d32a9d513fb36889f1910c2d2e61b2e19ef4244572d993bd768611";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/th/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/th/firefox-133.0b1.tar.bz2";
locale = "th";
arch = "linux-i686";
- sha256 = "e020cffc3cc7617bae35ed7675d1b264d77e6f0f76800197790941fe4584fae9";
+ sha256 = "685abae351da387a88ab5810c63fc7aba98f2c6329ef278e14666c1528be2554";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/tl/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/tl/firefox-133.0b1.tar.bz2";
locale = "tl";
arch = "linux-i686";
- sha256 = "dddabf60e22b6e394e6b1f8353dbed640ef5726c795ea5eee75f5b0256fbd12d";
+ sha256 = "596044bebf8631c25f0025ed4b48a3ace63e854a6c35f7e5703780c5df2d814b";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/tr/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/tr/firefox-133.0b1.tar.bz2";
locale = "tr";
arch = "linux-i686";
- sha256 = "72098506c6015d0d9a419ff59c5271a592118fbcf43417375b6a405ff431243a";
+ sha256 = "a8de705710efc4bba5cd91dccb82d609cb05c218225cd93149c945a1c514d4ef";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/trs/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/trs/firefox-133.0b1.tar.bz2";
locale = "trs";
arch = "linux-i686";
- sha256 = "0977603a758eb53309b77743d6596fc7a3cb060d0114c20327ebd86277f11b59";
+ sha256 = "2c147a19c1c09ae9ff74f885ba2e37808303d9ad78bc5f20354fcad59d345f42";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/uk/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/uk/firefox-133.0b1.tar.bz2";
locale = "uk";
arch = "linux-i686";
- sha256 = "196e7aeb323c62e50fb653ce035ebe325c94eeaa8420d5d9980dd46bd4f34f4c";
+ sha256 = "a408f1aff785082a163590575999837aa6ccaf681893266c2a3d497a32a50e8c";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/ur/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/ur/firefox-133.0b1.tar.bz2";
locale = "ur";
arch = "linux-i686";
- sha256 = "c651eddc5c4e80d6e64b3287e83b7d5dfc6b1966d4737c8cf701b4ecdf076d78";
+ sha256 = "91ccc6797e9db30917880159356d4a79edf966ad55b000bddfaa73d46afab7ba";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/uz/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/uz/firefox-133.0b1.tar.bz2";
locale = "uz";
arch = "linux-i686";
- sha256 = "e67a0a7ef1a21ae11fc17714fa9c689f863da60c7a200a5c6918c3ac9ec31dc8";
+ sha256 = "58c625b07d58c5d10ac4d445d0f2c7f04ddddbd52089ad276ee831d8af1982df";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/vi/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/vi/firefox-133.0b1.tar.bz2";
locale = "vi";
arch = "linux-i686";
- sha256 = "878b37478ab82baea6842eccd38ee9edd4062d22344a9d7529368a9a64106132";
+ sha256 = "eddc3be87d3e8f496dbdc1cc722f60d61daf32bdefa13ae3988309e672e9f2ff";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/xh/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/xh/firefox-133.0b1.tar.bz2";
locale = "xh";
arch = "linux-i686";
- sha256 = "69bcb64b013ed2287608eaafead61bde447627d29f237a380918065cd5887a75";
+ sha256 = "2e78558a4e9861230f145896f3f1d5ea36aa5dcfca8f95dc671f992510f8a062";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/zh-CN/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/zh-CN/firefox-133.0b1.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
- sha256 = "9b3cfa6371c0ddf1269d6476833b069bdc974c2c383dbec2ec493784dcf325e9";
+ sha256 = "c4746b06cf2ebdba66d84c4a2e0cd62ff41cb5320f91542c98a315a1c0800492";
}
- { url = "https://archive.mozilla.org/pub/devedition/releases/132.0b9/linux-i686/zh-TW/firefox-132.0b9.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/devedition/releases/133.0b1/linux-i686/zh-TW/firefox-133.0b1.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
- sha256 = "dea871f11810dacb3c8a443d85266357a164df36f8e8ce9aa50617d4e09fd307";
+ sha256 = "ce7e0872a09c86c1da689d68bc7eb4adcbdbfdc7d0a9e76ca48dafdb8ba6124f";
}
];
}
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 2fe02ca0dd27..6b9182be8128 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,1035 +1,1035 @@
{
- version = "131.0.3";
+ version = "132.0";
sources = [
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ach/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ach/firefox-132.0.tar.bz2";
locale = "ach";
arch = "linux-x86_64";
- sha256 = "ce47276828a6095998329ce540a2782ef05f528d8bb8b0734a996750c4f74297";
+ sha256 = "acd9f1aedcf0989e73d29e8b746307db747749163b1b70e8115cf4b95fe0b6d5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/af/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/af/firefox-132.0.tar.bz2";
locale = "af";
arch = "linux-x86_64";
- sha256 = "0cd67c3385ba09f779020f5beb173a75b90fe8203555bc311e5ccf4b5e45c582";
+ sha256 = "a6e533a28958254723b2b6e7f1374d82cfa84d75e1df63f9deda049c93ae48b9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/an/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/an/firefox-132.0.tar.bz2";
locale = "an";
arch = "linux-x86_64";
- sha256 = "0e03aae4398859378d4dc590f7df6085e82162ea3ce514e4b90660d452d8a9cb";
+ sha256 = "7cb7f0e4eb9140cdbedccabc181eb5d434af6407a68f12dccce1e32c50ed36eb";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ar/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ar/firefox-132.0.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
- sha256 = "de9566430fdc3a7a9de14d302abbb8d55a693bc5ffdb33c9078cb844578701c9";
+ sha256 = "9be0c8862d4a9611331e62e0f425c9ecf4ceedbc4673b854e13a9d45b738193b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ast/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ast/firefox-132.0.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
- sha256 = "56ff77e155ffc8e7ba9123d36aa45bd88e05128a360e7820a6531b5d80af3be6";
+ sha256 = "c0bf3697926807ff698daa1e0f68de1f2b8dd540b7f5bbd523a8b9a044f0b9b6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/az/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/az/firefox-132.0.tar.bz2";
locale = "az";
arch = "linux-x86_64";
- sha256 = "c3c5f15c91011b7ff3fde9f19345a7594e4dcc600df8191e26ee4480219c5a0f";
+ sha256 = "b9c0ba1c994976d2872ff7894f7226cdfeb9ea9e1356656abfd89be2143c8db7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/be/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/be/firefox-132.0.tar.bz2";
locale = "be";
arch = "linux-x86_64";
- sha256 = "d552d1f041fd36e2d6f46e947dfb35e4aaa2a8d64a5512a6c071e4c4c971fdf3";
+ sha256 = "1eba7740abd4f638070d689e73eb6a38c0f7a46aff4c09342078128cee98a6f3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/bg/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/bg/firefox-132.0.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
- sha256 = "2f13001eb0b1ff4d7b29daee49d1705770b30e7e45c40a5bd900ad4f20c04d28";
+ sha256 = "35cfe8770d9fd40c5ab998d0d321d83dafab6611201266662eb0d15aa5fd237a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/bn/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/bn/firefox-132.0.tar.bz2";
locale = "bn";
arch = "linux-x86_64";
- sha256 = "4f221f904faa65eaffd6b904aca950985fb78909fdbe7408571e7db255aea7f1";
+ sha256 = "5356f67e598275bed2a56896bd2e062b26d37277dd45967dfcc583b7e6bf0c92";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/br/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/br/firefox-132.0.tar.bz2";
locale = "br";
arch = "linux-x86_64";
- sha256 = "9adb4e21ce0a260bb5330a2c4aa7444218267d161ecc2afb900e01a2f50d0e45";
+ sha256 = "dfcc5bdf9a3316fb486819cefc0b83efcfd27367e8a70978e57222fe097c913e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/bs/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/bs/firefox-132.0.tar.bz2";
locale = "bs";
arch = "linux-x86_64";
- sha256 = "457fa7666193592bb67586997d48a345276b34ad2003885676412daa89cb8ccd";
+ sha256 = "eecc9501610187ffcb930881020dd36ad1fd84e0d9322cc4808afbce48742e7f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ca-valencia/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ca-valencia/firefox-132.0.tar.bz2";
locale = "ca-valencia";
arch = "linux-x86_64";
- sha256 = "2a3a87879e638b7fca61abc8759fac4ac52c36d4eca3e70a65be9927e70f62f0";
+ sha256 = "060b33de75f7eb3b5d267a29b57af204ad9d36d74e9931de2a4c79324c9fb84c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ca/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ca/firefox-132.0.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
- sha256 = "b758cc28757d5140f35b5587d49f2c90f4af06a5afaedc8dd3fb8883194bad23";
+ sha256 = "bafd5a64b747e44851bdb35b21d92d85a186a2b97171291da29c46f5526c8b5b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/cak/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/cak/firefox-132.0.tar.bz2";
locale = "cak";
arch = "linux-x86_64";
- sha256 = "d16368cdf360e08a6588be9ca9b69622f946296850e34126ff8ba529b1090b6d";
+ sha256 = "31f09387eabc06169674091bad1131a7111745ef60f90061d2a7526fabb15539";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/cs/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/cs/firefox-132.0.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
- sha256 = "23e36436b0fa5a7ae52cbc4f1ae28e94827f59a29af22203fd18adde7e31122f";
+ sha256 = "19f55b0780d2ba4bbc80aeb90b3a909e15d3c837fb6d2d9edf5d0548178454da";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/cy/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/cy/firefox-132.0.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
- sha256 = "79a0d2f132e43dec9bb9f800614977befdb7b3f9b3d727dd28f5cf61699e3e53";
+ sha256 = "75af805b3fa4211f85817c912ed6dd16d557d60b0be338a11c3ae3a8474d7921";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/da/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/da/firefox-132.0.tar.bz2";
locale = "da";
arch = "linux-x86_64";
- sha256 = "292198bfb3f0cc0ce72fdb6612537771f2d273793736f8fb00003d864eb658ae";
+ sha256 = "60b627f5c6ffd810aff9008ba980ed59609e73a336ceb4dd2a33c2806a9f99f7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/de/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/de/firefox-132.0.tar.bz2";
locale = "de";
arch = "linux-x86_64";
- sha256 = "16d96676a2716ee32077334e505a751ef7de435f2e9f7d2755d8a52eff3351f8";
+ sha256 = "1515af47c1a39034f6588dc49c34a54c9041dab7bb21da97c785d5cc5f782d15";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/dsb/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/dsb/firefox-132.0.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
- sha256 = "0685c4ec44d825d9441342a40f88b77242fdca6458d499d7fdb94b94a01f8431";
+ sha256 = "f0b6eb93066ec361a925d9c02fc9bd64c5c47447f96f9d1245d34ba5c91fb8cf";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/el/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/el/firefox-132.0.tar.bz2";
locale = "el";
arch = "linux-x86_64";
- sha256 = "561b9796b0064aed074662f301020cd2b918b77b014ecdb329e784c1750eb2fd";
+ sha256 = "ec17f655d543fd1165bcac0f550c09b8651ee34383f3b4af4813be6a17e2ce75";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/en-CA/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/en-CA/firefox-132.0.tar.bz2";
locale = "en-CA";
arch = "linux-x86_64";
- sha256 = "75e591078f3130b441bc6bbc22a428b3f46e4544bfdc0432deb176f5e50f66d2";
+ sha256 = "63f60168040813d8c005dad11a1a23169bab9fd610c9f3113f14ac4ff511674a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/en-GB/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/en-GB/firefox-132.0.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
- sha256 = "7e4909f44680700334ab9e68b7ee676b5c803ada15acb150aa4cc5f28b62d94f";
+ sha256 = "cfe26741acab5158fd849e9f32d4ab41de8a6df1e395031ba1ac2e18806d4e92";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/en-US/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/en-US/firefox-132.0.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
- sha256 = "fcd1e93221074a7b44445a99d81ea26e95fdc4c7e67000e748dab93cb12c2a13";
+ sha256 = "e3a6f9a68ac72f5df01fac8c97c6de1a353af4b350b8c8b49b2c26c1fbbb2538";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/eo/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/eo/firefox-132.0.tar.bz2";
locale = "eo";
arch = "linux-x86_64";
- sha256 = "43e2ccaa45495ca3d2ac88975aa026eaa5ff3ad26c7fc7f0b345e08e7a2bce57";
+ sha256 = "d72048abe56b485a93bedc4ca7392604878d211992ba7b19ee8e9e83826b18c6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/es-AR/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/es-AR/firefox-132.0.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
- sha256 = "9b54bbd5562423f4cd35dbafcb87eed33cd390bae464aa8a933a10970c7718ef";
+ sha256 = "a4c9c84555f69d82f5bc49a1d5bc7f3a1cde9541284d08a4b29f40a215817f30";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/es-CL/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/es-CL/firefox-132.0.tar.bz2";
locale = "es-CL";
arch = "linux-x86_64";
- sha256 = "e05306d953a51676de4c1eadba4ef1ddf5d39f7b951e29bd67f21d125b1a8016";
+ sha256 = "972a7a30d8049ed343cfa3f88beb818c3cf17903a61124b8bb5702ba4b68f343";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/es-ES/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/es-ES/firefox-132.0.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
- sha256 = "7f3cf35aeb310ee49517d8d8a805d70680dd82fddd6feff89eb8ef6c00095362";
+ sha256 = "d8255165813c12da4d77b1d7912015fa73d08313a9f8dc29d2b8f293fbd13564";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/es-MX/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/es-MX/firefox-132.0.tar.bz2";
locale = "es-MX";
arch = "linux-x86_64";
- sha256 = "c6321e405ae767190defe1951e3c8dc638beb4d6ba3d5ed864a906f60c72cf2f";
+ sha256 = "c2c58c9c1831a63a753f336362e04ec70d807e28ac7e39e1b1c92e078b662cd9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/et/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/et/firefox-132.0.tar.bz2";
locale = "et";
arch = "linux-x86_64";
- sha256 = "9445741ba8f6b4d143850dd83c179e5de81f6227cea223d661a2f4f3b0a24c11";
+ sha256 = "7c35bb71cfa4bd4e28301a1b91430ed642860ecf5b8ce810cf3c1790e034af74";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/eu/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/eu/firefox-132.0.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
- sha256 = "ede769225205b61fa4e374c94a4e2696df8bab7561a0676a20d87cb3b617fa6c";
+ sha256 = "073a77f1db4adb5afd8139c0740cfb18b3aee2ffee0e51a646b2371dd98b7434";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/fa/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/fa/firefox-132.0.tar.bz2";
locale = "fa";
arch = "linux-x86_64";
- sha256 = "4ca3c41a73193e08c48cc26db5dfbaba240cbca27ad0febccde5b7aafe4af2aa";
+ sha256 = "f6b55569eb59c0d28904c5dc39fb4c3db8796e0bc281568200aa373183cb4551";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ff/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ff/firefox-132.0.tar.bz2";
locale = "ff";
arch = "linux-x86_64";
- sha256 = "4513378ad48bac6b5a2f0f7d0dd25ce8747fdc045f31ea38334b6056ef0de7ce";
+ sha256 = "aad485b6ce2aeaaa56aa3474e88c801bbc93efd66222f744ae036d5629403ac9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/fi/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/fi/firefox-132.0.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
- sha256 = "a52e910c49225b7d9ecb3744490877e60099a83cbfce34c8ed95671940612d95";
+ sha256 = "c5e0cc62c02ad38b43f14391424a9ee4d43c4bd4eac13d9a54c36060d851bb95";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/fr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/fr/firefox-132.0.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
- sha256 = "ff1e7a923e40804c167fa7266a7fff3cc35399cf102235c3d7ce7255f8eaf931";
+ sha256 = "23f12d4303cd9bd998f8bb1e800ebd36bdaaffc4f14526e38010f7d2827ecb11";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/fur/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/fur/firefox-132.0.tar.bz2";
locale = "fur";
arch = "linux-x86_64";
- sha256 = "e48a78c85cee91b8d6ef932b9358fb8e4b4a9dea77290c86eeb3bae6ea38cfbd";
+ sha256 = "9bb2058fe18d985e933c3478f6d351e04dd9f7d39f15113b5d27f88e61973f38";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/fy-NL/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/fy-NL/firefox-132.0.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
- sha256 = "77084f712f7bd549219407a5c9ebd29a3795b259316718be43d6b84e32e7afd0";
+ sha256 = "a2948787dc34588b09de58d1d74d4e76d8834465f95180785eceb0f14b891301";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ga-IE/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ga-IE/firefox-132.0.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
- sha256 = "9c5db3b47b35fdbaf7a6e76e66d6ab3d1c378754d3ff0690a2d4ced6ede034cd";
+ sha256 = "be6b67420a92c5b9ef56d77de864ce64852c5dcab181501c6d41955704bf2126";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/gd/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/gd/firefox-132.0.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
- sha256 = "1a490c57b83596340a15ba02c0dbec5c949ab918cb734a475e65b1c0272473d3";
+ sha256 = "ecf63146d4659cb37758239916f241dcb6a991f9a8c36a198a2b76e589aaa3f8";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/gl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/gl/firefox-132.0.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
- sha256 = "3765483fb85e810b3aacca4850c34142d714fe8245e2037fc814c27249f99be4";
+ sha256 = "6c73d6e67691ec145fa340daae59029f82fe73a6767ae820859fcc162d86982e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/gn/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/gn/firefox-132.0.tar.bz2";
locale = "gn";
arch = "linux-x86_64";
- sha256 = "ef7319be7e1c911153102f92221b0058eeb0467b76e419fef401cf436ba3ffbd";
+ sha256 = "0b30c4b7a440ca26fdf523cdce63f02fd4e93b0bb58dd3ea8cf12c1941b65a4a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/gu-IN/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/gu-IN/firefox-132.0.tar.bz2";
locale = "gu-IN";
arch = "linux-x86_64";
- sha256 = "408d8b9a40fa7f1de3b3641e5f2bec55ed32442291b947cf4c0d8959155b22ee";
+ sha256 = "b6589793e2737edb259ee8294161b47b8c74f604d64aef057c9a3a70eb6529ac";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/he/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/he/firefox-132.0.tar.bz2";
locale = "he";
arch = "linux-x86_64";
- sha256 = "a44352de8e38088aa63900d5da91e572304eded71194dfd4f12038e3a0b58957";
+ sha256 = "84b13074ee23dca71d4992f98cd1b036e7432fcc6c0edf7b7517a739e3caab77";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/hi-IN/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/hi-IN/firefox-132.0.tar.bz2";
locale = "hi-IN";
arch = "linux-x86_64";
- sha256 = "1c020f0c472e47076c45b7da8cd8611099b028bac85cd5c1bda05c34128044f4";
+ sha256 = "78872cd66c3c635a857b08f20d37539aa4b6b6a75b75bf39120b9b1b7b421429";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/hr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/hr/firefox-132.0.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
- sha256 = "1e078593bb28423916759ac9e1ac42a16b2d0506cdbb6166ededd7900bdfda8c";
+ sha256 = "7d85b9f1e379b50094caf14dcbffb8129653f1ab43f5228d3dba7d235cb43001";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/hsb/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/hsb/firefox-132.0.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
- sha256 = "a451016738f59f58564f32352870dac276f3f5be3d271403a7cc170f20cd810b";
+ sha256 = "c94ab3ab3a5ec8019c9f0911c3ce6c4cbabe041fddef5e882543f3183923f116";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/hu/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/hu/firefox-132.0.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
- sha256 = "0effc6e589bb208bd6cf255be743a2e3f87ab9667b5da79c61dad3552123cd2f";
+ sha256 = "f7f8e7fe209b2b783e90f557997640eb0ec6eafc8b6a97216e0cc9359c40e4a0";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/hy-AM/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/hy-AM/firefox-132.0.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
- sha256 = "c72d175478ed98b98d301c66aff8973166d6d5144232c1e357cd219990aec28c";
+ sha256 = "c01aadfbabb1963aa61bc1ba64a4cad06f7d20adf21567aa9e72677a99e144a4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ia/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ia/firefox-132.0.tar.bz2";
locale = "ia";
arch = "linux-x86_64";
- sha256 = "0b71dfc7db95af38b851bd078bb208acdc11a3463e96b8e980a1a72f2876d2c4";
+ sha256 = "27ef246627210feaf9ebb3335a8c3bee65b524d44ad1716ae3457d3d5d58b44e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/id/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/id/firefox-132.0.tar.bz2";
locale = "id";
arch = "linux-x86_64";
- sha256 = "ba7c1ae12520986d0ad2f80c2d302f6b0ef7b9251e0af91ef7077bed616ddef0";
+ sha256 = "9a6aca0f8291603faa6df26a5ed53af21989e4543f4bccc571a419fe8266a7e8";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/is/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/is/firefox-132.0.tar.bz2";
locale = "is";
arch = "linux-x86_64";
- sha256 = "108359593d08c9151f5f126499f726887082f1ee6c2876e5c55a13e68b9f7cc4";
+ sha256 = "bf2f41b216efc6a9af207addbe44ad614a0a23b0a1f51a0c114297469d6557e6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/it/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/it/firefox-132.0.tar.bz2";
locale = "it";
arch = "linux-x86_64";
- sha256 = "c525529e385a8b125cb2486c6fb8ba616a8dd454d0f5bfb1baf7ff8c375e2792";
+ sha256 = "a89e6242c493b1b67dc67e3fef21c5440af345d91b06afa388d7aead27d5607f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ja/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ja/firefox-132.0.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
- sha256 = "1772ae1f653aea9113e770e9c33845d2905d440b6d2bc677247f05c414ad2736";
+ sha256 = "c4ceac3cd890a6a1b91ff4e472f7386a49f489e049ba17436d286ac53f56a0e9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ka/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ka/firefox-132.0.tar.bz2";
locale = "ka";
arch = "linux-x86_64";
- sha256 = "8ca958603d9b94a68e54b94802de130f65c717378e19905199452a35f27890cb";
+ sha256 = "16a66d7d4d3adc7f0f2e4ae548fb8ec28cafe9900ab51d0973a371b8051f0d84";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/kab/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/kab/firefox-132.0.tar.bz2";
locale = "kab";
arch = "linux-x86_64";
- sha256 = "6da53a8845754dccc1889b8b888c4ab0a7bb62c679d2edfce2d83cbcc622bfc9";
+ sha256 = "1e0b19cc25ef0998aaa5dcd63486144ffc19c79ed9ee79e5803bcb62daf5af62";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/kk/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/kk/firefox-132.0.tar.bz2";
locale = "kk";
arch = "linux-x86_64";
- sha256 = "24eb87af3979ac820658205df96bf5b175c1023fbe662fcc3bbe25f27ce4c3a5";
+ sha256 = "5d3f91a218afef88b733a7021fcb4a97f8664263272243b593efaef5ed149e38";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/km/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/km/firefox-132.0.tar.bz2";
locale = "km";
arch = "linux-x86_64";
- sha256 = "b979e2f00f65372d13a2c95de9e0bf4af2040ad32f9042f1289d09cf3acebef7";
+ sha256 = "b27e1fc742ba9e6ae2a3d2c07297638c8ae38abb2ef1cde26b70b7e1cb36943c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/kn/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/kn/firefox-132.0.tar.bz2";
locale = "kn";
arch = "linux-x86_64";
- sha256 = "2d32546b2fb266ce46abd45e1f82707377cf8de6fa2579e47848a508d4f2c22f";
+ sha256 = "60eed55c889884c61f17afa42b8df028ae4e90350147a64a8eefdc4d449a85f4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ko/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ko/firefox-132.0.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
- sha256 = "5bc37161aae629f8b80cb558b29f3284015987cf4233ea3808b45243e9c683c9";
+ sha256 = "cfab24961f8c00be3593fe5f112e535b4f806b4d156b90086a5628af3fbeb2c2";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/lij/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/lij/firefox-132.0.tar.bz2";
locale = "lij";
arch = "linux-x86_64";
- sha256 = "a732f7208e985c38209d4798f6a3a74a2dfffa9465ad40125bb03d14502a9b46";
+ sha256 = "e56ebf805aaa6b1fe429fd6e536e36723eccab5ff952f7a84283926e6cc0fc32";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/lt/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/lt/firefox-132.0.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
- sha256 = "7a5419e60f4a9723b04fa71ad3ba9c255517f76441acf1b8059dced796aca4fb";
+ sha256 = "d7974f3746a0fd842dd0aed541d86706e08342179b7b92688b7b27ad96f4ac58";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/lv/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/lv/firefox-132.0.tar.bz2";
locale = "lv";
arch = "linux-x86_64";
- sha256 = "3636dfc8d55ae6945ad81b33a39696693ff510ddcd8ac1a4bc75d49228f1acd7";
+ sha256 = "89946fb6d98c7ed4260c9a1514cc7433f5c7fa78916207ec9c9e8d51c239db96";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/mk/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/mk/firefox-132.0.tar.bz2";
locale = "mk";
arch = "linux-x86_64";
- sha256 = "3506d91692a3dd74ca545b7f6e6ca8626f05e50896377933e222dd74a3c58870";
+ sha256 = "517aa55a343f22f31f5b3000bd61940d07a693bafb0b06bfcfab7661be8cad99";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/mr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/mr/firefox-132.0.tar.bz2";
locale = "mr";
arch = "linux-x86_64";
- sha256 = "817032106f3daabeef95c050f788a625979481167c21a86ff95ef0a63d574bcd";
+ sha256 = "5d36dbd1cf80958c99195674ba9919036820383a7d7cab18e237937588297296";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ms/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ms/firefox-132.0.tar.bz2";
locale = "ms";
arch = "linux-x86_64";
- sha256 = "140980a0255f64839f726dc93ad05035946871917bd2fa5ec4bd747046d2e93f";
+ sha256 = "a42a2b31193c8f2ce050c9bbe7b04a6ac7a0781db055b572bf9b29ffb3a17d53";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/my/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/my/firefox-132.0.tar.bz2";
locale = "my";
arch = "linux-x86_64";
- sha256 = "c9d18fa0c9db1d079a8bfe6ce693c5bbf50bec76d8a9615626ac07032e9b35a7";
+ sha256 = "701802f110d3a70743c42bde6d82e56f990f627c9f6af19a4ad2e05afd6dec66";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/nb-NO/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/nb-NO/firefox-132.0.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
- sha256 = "11ba3290b7c01c66cfcdcd1d474a979aa81e15da5e5cca91cd0919e8de18a2d1";
+ sha256 = "df03253d9422d5d1f1cee75f37fe03e4c59819054296d3f44f547f39924b436d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ne-NP/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ne-NP/firefox-132.0.tar.bz2";
locale = "ne-NP";
arch = "linux-x86_64";
- sha256 = "cebd7f73b3e8f834f54e699b534ab441affa881d77004639cf6f31b6e7d322a8";
+ sha256 = "e368b8e09e67d9d948ae63873e82316b5f61612371dad7dcc3f605a9dfa05d6b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/nl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/nl/firefox-132.0.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
- sha256 = "d96d5950779cb4c807eba5ff0538ac0ea97dd4296eecb69169033c8c8de2096a";
+ sha256 = "9fbdc9b2da9a84fc67b7d60cb63baa5eb54532e947fa59934d31ea8c1c1fcce5";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/nn-NO/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/nn-NO/firefox-132.0.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
- sha256 = "b7af3b8c3639a71111aa40ba9fd25596152ec55cf9ce0956ed1b00af86d60a66";
+ sha256 = "7fbbd4562faeb78b2d6b2136b5d002a0a7a283610128d55ad21378ec139aa98f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/oc/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/oc/firefox-132.0.tar.bz2";
locale = "oc";
arch = "linux-x86_64";
- sha256 = "6c7cbae9fa6f1917a30716168052f7192bef3f430b6b001425e8d0e003642d27";
+ sha256 = "a474b6f65032501ccb0bbadeef18b403735640936fd3d73f9b5ae04a28b71576";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/pa-IN/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/pa-IN/firefox-132.0.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
- sha256 = "a83758abfb8ebd43b4c13a1d30c1b28d1cccd933c78ae05b756f1550e36cadbb";
+ sha256 = "026acc63bc528f65c0f1e77eb88146c256d5e3d31143849d24219b36ca63f446";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/pl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/pl/firefox-132.0.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
- sha256 = "8b16c40fe31f2032fa7f74284bc6e21c86be0499f992a003ba9aa883ee79fb2c";
+ sha256 = "11743e596451830f0e55249b4c68ef5c0bd79366bc542b31282736f32445010e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/pt-BR/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/pt-BR/firefox-132.0.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
- sha256 = "01eed64b8533fb5c3c00c9603ad874d490786b48ae8d7234605c0166e1bdfa0a";
+ sha256 = "4b205c4c0f2374c8a54f6be0125a2d915a4ed8cc630d09f0d4b41317589d5879";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/pt-PT/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/pt-PT/firefox-132.0.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
- sha256 = "619c4565a70b666264b8e23edd44e1656e9565b441435c6aa2590c675b3a2dfa";
+ sha256 = "7c7d52f11d5088aeab3c41cca2a1bd915e111aed13b647920244a5ada8eaa456";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/rm/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/rm/firefox-132.0.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
- sha256 = "86e5d4bdf323258279a2a776ade8b135d2cbc2f7ae29fbb13348a1ac4281c04f";
+ sha256 = "f5a53373c7222749d6354da8001e74910553ff88ad7df59ef3d607fe27ee0dc3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ro/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ro/firefox-132.0.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
- sha256 = "55cd7161953e23474edc3f1a1d0e708e38eeff17b5fe5fa8a37216effb6a8942";
+ sha256 = "2e99ee2b78554f639290ac08ed041da8692a08254def17388761a44693c24d3e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ru/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ru/firefox-132.0.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
- sha256 = "44a82191b04e93e4f537a35753e6b7134f8031af402cd1c4902ba5d714751af5";
+ sha256 = "0ab52839d6ba7b79401e053a1e2607bee6f9e4004c0b2cb6b9a1cc7a42139f91";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/sat/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/sat/firefox-132.0.tar.bz2";
locale = "sat";
arch = "linux-x86_64";
- sha256 = "7211d7b59d22dd3e5f2ca5fdc13329d69ec0ded8bf3ee4d9d99dc61c316435df";
+ sha256 = "17373bc6f9c7d928f86a4f8f020627d76ca0e62ef82688b1d607225c57b81cd6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/sc/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/sc/firefox-132.0.tar.bz2";
locale = "sc";
arch = "linux-x86_64";
- sha256 = "bc58f74be8f159a6c982a133e83e46f5ca0390d8d3469df89daec6894ba9b022";
+ sha256 = "a870af53d61a0be499f9c49e2809075988d5e08e3265192e9ef836ebaed21652";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/sco/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/sco/firefox-132.0.tar.bz2";
locale = "sco";
arch = "linux-x86_64";
- sha256 = "018f10b910c1402f5f03617e57715dc52d86595024593fa75855bcb955fbbaa2";
+ sha256 = "ecded128f3f6ad96262ba2e1708087b84453679bf3ac1e70e4e1720913ac6d3c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/si/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/si/firefox-132.0.tar.bz2";
locale = "si";
arch = "linux-x86_64";
- sha256 = "cac0646f559ac272ffb1f6d722ac12e4af8d29c754a87fe2a3efd4165b7857fd";
+ sha256 = "fd1f036f1a853df770a7fee1a3ce470534dabd9f5c78caa41f0bb8ae49074969";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/sk/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/sk/firefox-132.0.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
- sha256 = "a4be0c45b86fd09d81ae2f28b273f8fccf2c5fc64f6d1361a6b58c289cba25f1";
+ sha256 = "203d09456e4bdf153691639cea51e53490d52d37e81a97f2c4bdae6ec1c72d3c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/skr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/skr/firefox-132.0.tar.bz2";
locale = "skr";
arch = "linux-x86_64";
- sha256 = "dca803c585ae209ad97bf193990b5072dc02b145e57a576ac24208ccb6081ab5";
+ sha256 = "cf54823803c2dd374e9681c0e372af10964cdaa449d4b59fd3912bbb6013ce79";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/sl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/sl/firefox-132.0.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
- sha256 = "2c6d810fb8e75f8f7e58f5bb44cbe4ee699aec06384249afebac93667990c4ec";
+ sha256 = "88336440e7588baf2d0c7fa0b2f6a366d8bb76008db7412375d7178695dd5563";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/son/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/son/firefox-132.0.tar.bz2";
locale = "son";
arch = "linux-x86_64";
- sha256 = "8ec6a4d9bf19ff26caa7235aab596a0a4668aa53d38dcefdb40061ad27b04c0c";
+ sha256 = "83d2cd924a07fa813a2ec662064677ab1fc3aa0ab84b61e3628a94050ed4ead1";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/sq/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/sq/firefox-132.0.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
- sha256 = "1495883fcd77635e68b77157213a089841a4eca0bcac68944813c6311ce516cb";
+ sha256 = "81dab73bdb59d69b6f8d0ae6327ab59c6ca026d55f1ddb953e1aae582ca0c515";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/sr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/sr/firefox-132.0.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
- sha256 = "54d80555fb0a66de7e936b7b561f1a897d90b062ed87942d11b557cc75de6c25";
+ sha256 = "4a2d3b16da394edb51274b5a0ad96896d401bf1e5c75469072fbb1d0311e901f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/sv-SE/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/sv-SE/firefox-132.0.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
- sha256 = "a12623662b0a36f64f382f3c193deeb19d8d0efec77d33e5c13e72db54e9f417";
+ sha256 = "c70bbe5e002b853083ff8bdc86e309adc446cc718b2549b1983c53be394830d7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/szl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/szl/firefox-132.0.tar.bz2";
locale = "szl";
arch = "linux-x86_64";
- sha256 = "8e49f5c4616bc918726f592c42fcb66eae00899169a3b0397221088743387018";
+ sha256 = "1f2877979ffb9d8ae0c31f5dcfe0c2a2578fc08603d4bb8085a951a849a4113c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ta/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ta/firefox-132.0.tar.bz2";
locale = "ta";
arch = "linux-x86_64";
- sha256 = "ca004eb05ce3a76c210eb2d8d6f5cecca1bf2156a335af733e9f74d1e9c65a48";
+ sha256 = "72ad820f6184e6087c12d807ca8ac7912ba5f73e4e6b153b108d56597d15ca1b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/te/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/te/firefox-132.0.tar.bz2";
locale = "te";
arch = "linux-x86_64";
- sha256 = "12ecd877be831b33f46887fd44cf4def9a48e7b0b33505e22d457edb7cacfeeb";
+ sha256 = "651d563fbbfe2ef435e0a086473ca528e842d64cecde136ed64c5c0a4fbf9fb7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/tg/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/tg/firefox-132.0.tar.bz2";
locale = "tg";
arch = "linux-x86_64";
- sha256 = "395d06d3ea004b1ff93a22f0d51f7737cf96abc6efe3eafcb5cf04a56e229517";
+ sha256 = "a38836bdedc84ba209b619b0b5d619b78638db7a01ceae7ae3cd0ee171ed8f0e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/th/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/th/firefox-132.0.tar.bz2";
locale = "th";
arch = "linux-x86_64";
- sha256 = "432272367757339ec6bd3546580667167ed803ef63fe35ea0653e48ad4186c4b";
+ sha256 = "53b5a946fa8e58900c2fad63d1d244e2503f4ff4e576c51cfbda39fa58dd0585";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/tl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/tl/firefox-132.0.tar.bz2";
locale = "tl";
arch = "linux-x86_64";
- sha256 = "7bbb560f67061703a64173ada96de177f0f72c82b3b762aaa48f91156c47553a";
+ sha256 = "e8be35e0aaae5fbc231acf632cd435ee3329b698bf69e0740172aa69446c1bb3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/tr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/tr/firefox-132.0.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
- sha256 = "a909002c7c65a46685b13120ecdb51f0e4258c9642b8b397aef7e3d076347d8e";
+ sha256 = "cd2dc794b9d9f6c0d6ad4440ad06254cb32bc8a5d5a8eaf920853e4203ea1ae4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/trs/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/trs/firefox-132.0.tar.bz2";
locale = "trs";
arch = "linux-x86_64";
- sha256 = "cf864d59c1770f66b72350410de5f399474cadbfb002c5f5bc260c8fd7663e3b";
+ sha256 = "10f356c3aa2e32ad94f7aadc0c0c44c0e5a4d6f0c381e9956e66bdcc33e11450";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/uk/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/uk/firefox-132.0.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
- sha256 = "7e532caeca1b7ed4bb5e504b3bc8e0debc4e6662701dc4a848bde17a5d8ad99c";
+ sha256 = "d6d3fa7ae1e16ee80961b88cf3ce3c5a1a5bfacf9c5c73367bff989dbec2ceb6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/ur/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/ur/firefox-132.0.tar.bz2";
locale = "ur";
arch = "linux-x86_64";
- sha256 = "5ef435a27a1895f40a0650a7dd844a57f81f1d2ff4ee10690ca14b0b609307e3";
+ sha256 = "85abe78012a7f1b430487d212bf5feffd010646b35ed6927f5679f84aa9b0e02";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/uz/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/uz/firefox-132.0.tar.bz2";
locale = "uz";
arch = "linux-x86_64";
- sha256 = "478711e217df79f2748823d1ec87087a314418741ba94a10c1027400be7ec3f6";
+ sha256 = "5a279119f2dbff5ff6041a0984cf964c94f52944495f38a548c8c51ad722f780";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/vi/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/vi/firefox-132.0.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
- sha256 = "de9fb8a496929c4aef13a439c97fd46e209a39c1c5a293f954c92339597b41d4";
+ sha256 = "9cbc80921900ec43313cac2609b1c77526649c44c91d5af60f14eab1293d96c4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/xh/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/xh/firefox-132.0.tar.bz2";
locale = "xh";
arch = "linux-x86_64";
- sha256 = "b562f7c49bed4df61b2d70688b1288eb6b49c45e9c12012156826fee17f641ea";
+ sha256 = "bb0f67c4d371d2e9a2b5e200fb85751851fb883881f223eed8c921238859e622";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/zh-CN/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/zh-CN/firefox-132.0.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
- sha256 = "21ff6050e4f0f246571441a56bec153c3889d3b97c06cbb3fce02437b8af6c78";
+ sha256 = "1e79dd1e9a681778f7e1b38f1bb1e9e9dab3461495cc27c29507c49abf4d6a02";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-x86_64/zh-TW/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-x86_64/zh-TW/firefox-132.0.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
- sha256 = "409b4210d26bbfeebcaa430827453342b37d4a0350fe71f38ca5df92566921c3";
+ sha256 = "b5dd8542b7cadd85963ec41381877e1ba6b504595ee42cc29096427a7d0c5567";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ach/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ach/firefox-132.0.tar.bz2";
locale = "ach";
arch = "linux-i686";
- sha256 = "f1c7fbb1c80ecaf8538ba11082480093384ec412425ac631a8e0d26dba97e3c6";
+ sha256 = "f7c3d65cbf7d4cb89040de5c3172ad5cea65c66a38272ff39b990e385126d488";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/af/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/af/firefox-132.0.tar.bz2";
locale = "af";
arch = "linux-i686";
- sha256 = "d949151dbabb4d604b15bd10122ece59238fb750d553943ed65026be0aff002d";
+ sha256 = "98aa662ec9b0e8f328a84f8396f529efa16cd42f3834d4cf0b73bdb3fd8b5e14";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/an/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/an/firefox-132.0.tar.bz2";
locale = "an";
arch = "linux-i686";
- sha256 = "179e5dc0a40e699a62ba5ae7bba054fff4591cca4f007d264c00367128dddc04";
+ sha256 = "e609755b52801743a96269f67206a03d3765d69e61faee6dc6fc6e3190140c34";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ar/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ar/firefox-132.0.tar.bz2";
locale = "ar";
arch = "linux-i686";
- sha256 = "a7fd2ec3a42ab565e6700887fd41dbdf722fe0ca060946ebc30ac1413d2a6b4a";
+ sha256 = "eb34a39326bde768e81c937b70af99b1aae83aeb570aff13379c0eaf302615a2";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ast/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ast/firefox-132.0.tar.bz2";
locale = "ast";
arch = "linux-i686";
- sha256 = "cabed080c18c7196702d7efe58fee86765eded008d97e387b9e16dd316c3242e";
+ sha256 = "cde5621a117a97c6ff6e360c670151bf713c79c88b08be5ac31ec6a19c5a766a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/az/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/az/firefox-132.0.tar.bz2";
locale = "az";
arch = "linux-i686";
- sha256 = "2d99bc14687696e1a1e78c430ba3f76459afe38a78a8a43fd7d5409495fb6d1d";
+ sha256 = "2255a82f75aba6fd36d3e8762bf5554d14035bcbf65eaa9f4ceccbb83ac351b7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/be/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/be/firefox-132.0.tar.bz2";
locale = "be";
arch = "linux-i686";
- sha256 = "2ee2c35577ef44732dcead0bd28706d41052160472073d317bc52659af93e68a";
+ sha256 = "9d45d5765e65e49836639b49607c51042d9073241498ed5e88630c56bfb138ec";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/bg/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/bg/firefox-132.0.tar.bz2";
locale = "bg";
arch = "linux-i686";
- sha256 = "ddcaa48d6af6d2140e8b2da203d5b019580803945f6df54635d04dffd748294f";
+ sha256 = "164a237560da46a0f7ace139ae162c32f9565abe408a1a99daa1fcb29905858d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/bn/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/bn/firefox-132.0.tar.bz2";
locale = "bn";
arch = "linux-i686";
- sha256 = "65de4ff251d795abb204e4f912fc0aa1a6f161702f0747558edfc29187443744";
+ sha256 = "d03c21cbe08a7a6132c6818448194a03b59ca5515173e38d26bc6ffcffbb449c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/br/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/br/firefox-132.0.tar.bz2";
locale = "br";
arch = "linux-i686";
- sha256 = "3df79435c6c9c4a40c99456b6687843802cf97f1c339cb99edcda564586cbf89";
+ sha256 = "7d26466d0331020e56a5ccd35a8f0fbb878a85302600f764e1982eaf308e744a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/bs/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/bs/firefox-132.0.tar.bz2";
locale = "bs";
arch = "linux-i686";
- sha256 = "9b6f1d25d31aa3a45ca857c2f58e68c70ebc122dde7d373905e28ef7c1ebdd95";
+ sha256 = "2b00ee9604156d665dd7d26c58e073aafde7ed548fca9b929c21f857c04fbc9b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ca-valencia/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ca-valencia/firefox-132.0.tar.bz2";
locale = "ca-valencia";
arch = "linux-i686";
- sha256 = "26356054a5b8b9b8b03a9d6686be12468c535b5395d9a6f35b719a823d0e3cc5";
+ sha256 = "7e765681429ef6744a11a9faae68a3cfbc645021f44983c5b153bd67c4e92061";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ca/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ca/firefox-132.0.tar.bz2";
locale = "ca";
arch = "linux-i686";
- sha256 = "a01df01cc831468ef5cd3abb90063bff6233877deccfba4811d20fa9f964ea45";
+ sha256 = "191f021a12437c8d49285a7f2cb2800a563f7c778ad0b561f2c80e7ca8e7c10e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/cak/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/cak/firefox-132.0.tar.bz2";
locale = "cak";
arch = "linux-i686";
- sha256 = "3287515bc6a6e31f6b6fcb7f86f5adde8772671150b6cc07b8e4d0527f945646";
+ sha256 = "8a9335266f14836b365ebf03bdd303c982f12ab93ea30eef4fd5a5c9c06043b0";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/cs/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/cs/firefox-132.0.tar.bz2";
locale = "cs";
arch = "linux-i686";
- sha256 = "a6b8cecf6a04df386250cd5e05cd6842afc7d1b5572d6f44a0762f32feee35f9";
+ sha256 = "4c1f74973693aafb60f4322adab13b875dd9918665685cd6947761c27a3a3516";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/cy/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/cy/firefox-132.0.tar.bz2";
locale = "cy";
arch = "linux-i686";
- sha256 = "3a5310e276c8fd32f01ef894faffcbc2f209ae9fc74d2fd0ff59acb92604a0c4";
+ sha256 = "20c2c310d996608541e84640bacc737dc5f9d91d860ab1e7e3de10c9cd5e5d02";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/da/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/da/firefox-132.0.tar.bz2";
locale = "da";
arch = "linux-i686";
- sha256 = "54b09e0364c2e77783e458c4f88fef07fd99d6871a5ad0b808640c0f717f5fef";
+ sha256 = "ef86dfeca302b783355f04c802fa8086be72fc993e3d276f437fcf06e3cb0e4e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/de/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/de/firefox-132.0.tar.bz2";
locale = "de";
arch = "linux-i686";
- sha256 = "687c2a7feb76d6fcfc7da35dedea8ae658547a3a420c2d5f5e0cf6d3f9d1e8e1";
+ sha256 = "e1631f5fe78ad159fd9434d0dd0748c3efe122c1b092c929a5b64bedbfbbe85e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/dsb/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/dsb/firefox-132.0.tar.bz2";
locale = "dsb";
arch = "linux-i686";
- sha256 = "87d2724c10312666cf64871356a062b8394f6f30a986849f1d8279f378f9bbe4";
+ sha256 = "0c05ed07f12212745993a00ea5c460bf906177b2d5f702a8ed358ab567b102c7";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/el/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/el/firefox-132.0.tar.bz2";
locale = "el";
arch = "linux-i686";
- sha256 = "0e23fadf9196ba7691e016ed6ab8a19d7327f338364ff59893ba0150ef127130";
+ sha256 = "c846facc6336f00e56510f40937830e391ac364dd9e3afab6870352fe246ffd3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/en-CA/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/en-CA/firefox-132.0.tar.bz2";
locale = "en-CA";
arch = "linux-i686";
- sha256 = "ebc16fd234ed1bcce9405302f516322edef094d6cfc9f72970a3630bae791059";
+ sha256 = "023cf9ef67e41975c035df68b665f2db0a48b86fdbac1b3cbe32bbdc7729feca";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/en-GB/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/en-GB/firefox-132.0.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
- sha256 = "74600884c3549e3aa7b66e48c790366ba94b531bd2fc78949ac38ee8027173a8";
+ sha256 = "955fff4c4acad33cb04ea9f2f8e110a1260a3f688e0ede43240235c29976f01f";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/en-US/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/en-US/firefox-132.0.tar.bz2";
locale = "en-US";
arch = "linux-i686";
- sha256 = "84cb77484bf65fda35e2743553990ab67c9395722082c087e884ee7b62e406d9";
+ sha256 = "c3e4abd133ba30e241b4212b1ef99fcb05f96ca396b20058461dfc280d87330a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/eo/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/eo/firefox-132.0.tar.bz2";
locale = "eo";
arch = "linux-i686";
- sha256 = "8d0c73401acfe280857988dc5b3859c0fbc07d0dfe1b50e1fcbe397af01d44c9";
+ sha256 = "3c334749e0dbd7c9f39f2e6ab72ca9513e21bc7cb8b0ea4b51c4464dc20ea509";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/es-AR/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/es-AR/firefox-132.0.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
- sha256 = "66720c6d506236f1ad64b678aba9da2803c452195a5b6c1514b637ad7b2a6187";
+ sha256 = "70176243b433d36c18fdc4b728429ddd6f2c69598486ebab52089b385e4896b0";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/es-CL/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/es-CL/firefox-132.0.tar.bz2";
locale = "es-CL";
arch = "linux-i686";
- sha256 = "df09892e9cba07d1ffc0619aafa8d97a27d3b223f0fdc7f14925a53342fb8dcd";
+ sha256 = "3b888e69857a8857f33e9c1f1ccac999220844ef8268651e50450454fc02f0e6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/es-ES/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/es-ES/firefox-132.0.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
- sha256 = "2392955a532eb935fdf3cc98323673106ba9d25f26492c629fe47cd17f3c9c2f";
+ sha256 = "66ab2fdad2ac71537708ddddc75117b2f5352d144e6de821d1d0b94a94ccbdca";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/es-MX/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/es-MX/firefox-132.0.tar.bz2";
locale = "es-MX";
arch = "linux-i686";
- sha256 = "9b47a1bf83dda68adfe59e6133c25f5664fb3777f582871ca1ad5576a8ec35ce";
+ sha256 = "2a962a534b705a3d9250e7558a0e12b393d6cc6cd54842b0b4fdfc7b36e0fc8c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/et/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/et/firefox-132.0.tar.bz2";
locale = "et";
arch = "linux-i686";
- sha256 = "b4023d8f19a099e6a9069f03f5c9ea8a21a9dbf26de4b9564a854c3749126b26";
+ sha256 = "9aea7650fa8843add4723fc985d0b02720f1a24eed5d24a6677cbdfefa326eab";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/eu/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/eu/firefox-132.0.tar.bz2";
locale = "eu";
arch = "linux-i686";
- sha256 = "2831dac7e375e8d5fed4747ed9f0044b05e8bc4a0f405fda9256bf53a711bba0";
+ sha256 = "218c4eb9bba5d33dea60b9ce0faa716ec994e4103f6650c15ffe3b95ffa4bc09";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/fa/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/fa/firefox-132.0.tar.bz2";
locale = "fa";
arch = "linux-i686";
- sha256 = "1e38b9868f4bf4556d3a6fa0ca8e6a0458eb33935419e0966230b3dcd60e61a6";
+ sha256 = "e091f4d8b8f11b66b89abf288a321da0b31784753cae786bfc96aee8fc1a8f99";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ff/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ff/firefox-132.0.tar.bz2";
locale = "ff";
arch = "linux-i686";
- sha256 = "e6c44ce503c278a6f367b6839d04372aa94544422bf192b0b0f92aa64adb8422";
+ sha256 = "3a7c3b07e3be60d0c203b20225523bd647de1f701bddc5d007c8012ad03a38dd";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/fi/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/fi/firefox-132.0.tar.bz2";
locale = "fi";
arch = "linux-i686";
- sha256 = "0110d3b07f41a6ed5c0279cc77a939709b1f3978371e4c70d82ae4f8bec11b60";
+ sha256 = "57a35765ee7136ffb3279eb0809fcfcb47fd69e9e6d879c3fc6537211361f7ea";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/fr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/fr/firefox-132.0.tar.bz2";
locale = "fr";
arch = "linux-i686";
- sha256 = "f96bb3d14c5f674e64205e97cfb131ddb94bcdcb32f7005a36eaf5227c52c43c";
+ sha256 = "9a6e45585e2dce14a03935703d1d6ff2f59338a986b7228b949687e38232e160";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/fur/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/fur/firefox-132.0.tar.bz2";
locale = "fur";
arch = "linux-i686";
- sha256 = "e7e6d0e7d65b374968009dd23ba907e9d03004f0ecdfc3b30951616c80148ebc";
+ sha256 = "58f34f291190dc143f3a87dcc778a24347d39ab4fedc6edcf10ddff0f9d23e34";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/fy-NL/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/fy-NL/firefox-132.0.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
- sha256 = "02f2a24542b6a18c18c98a8576ad33284255cf49d2c8aba7a85ac948829f8ca2";
+ sha256 = "f5fb45d2e7b3ef92da243850ed0f2acb9689160e957d275bc08bb69834cf7446";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ga-IE/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ga-IE/firefox-132.0.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
- sha256 = "28a7511af154a282418073c1b99c9f0130ec0334ce0089bc951147321e1753c5";
+ sha256 = "f1e8cc00a178357e2ce484460d68e55094338ea26398523fa25932f334ea9abf";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/gd/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/gd/firefox-132.0.tar.bz2";
locale = "gd";
arch = "linux-i686";
- sha256 = "7fe2e7ef2361c3bb4de236d972800aae9125f34bc5925c36a74a3e38f10396d8";
+ sha256 = "f92eaeaa55d45632912c04a74fac2f284ba333fea4c3cb719e99374e470d413e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/gl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/gl/firefox-132.0.tar.bz2";
locale = "gl";
arch = "linux-i686";
- sha256 = "f032980c12d189cad067b2cf395dafeefe72676fb5c2f7dee1fdd2bddd9aa8fe";
+ sha256 = "120e46d8cfddde4f50c50f48d1e966d49b7d29d7d96046c3d9b13b93659486bb";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/gn/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/gn/firefox-132.0.tar.bz2";
locale = "gn";
arch = "linux-i686";
- sha256 = "43b542e8871c301e1e9f6bac209cfb92c0e053a4a79ac359cdfd482ab90aabcf";
+ sha256 = "a4d20b2f59a99e05e49ee1ecc07f7392675d05b6844a1c8360ba18d50c1fd723";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/gu-IN/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/gu-IN/firefox-132.0.tar.bz2";
locale = "gu-IN";
arch = "linux-i686";
- sha256 = "ff4e68b57bba86ef4dff88c1b337618fc4c9c77d3842a7a2fb51f534c36b0074";
+ sha256 = "8d0898757dbbd1edbe676f214abba745a00c431c795d3dea33f6a1da2570e237";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/he/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/he/firefox-132.0.tar.bz2";
locale = "he";
arch = "linux-i686";
- sha256 = "2b39ddb9fe23e564bc263e7235babea6049365d86c841692ac7d4cbdca2dad9b";
+ sha256 = "4b666c05d9961ba6ae0d3aa49bbc8e4cc85e705852ace3e764d1bdaca3d0af1c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/hi-IN/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/hi-IN/firefox-132.0.tar.bz2";
locale = "hi-IN";
arch = "linux-i686";
- sha256 = "c516d1fd5a7e5b8fac01b882e3b5368c0f6f1bfd8b6ace9fed8fc10bf06b5294";
+ sha256 = "ba58ce8d5c3c1de62843ec7f37e00001740aba183bb693db5e00d0082e618ca1";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/hr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/hr/firefox-132.0.tar.bz2";
locale = "hr";
arch = "linux-i686";
- sha256 = "d4759609bef88620183e12d98b3658b3c386875a862761412e1e98e4187c536c";
+ sha256 = "21bc5d4133d24241c3c055be3435cb75d79289b131a29656700ee9871e0fc56a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/hsb/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/hsb/firefox-132.0.tar.bz2";
locale = "hsb";
arch = "linux-i686";
- sha256 = "234e003429cd33afb353b2de9b1ce70fe3920bd9fc50ab5810ab0b22acf6e4d7";
+ sha256 = "ad01f722ce02707b062f7942b066697ae63c63b9a4c1084afea68db80bea7639";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/hu/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/hu/firefox-132.0.tar.bz2";
locale = "hu";
arch = "linux-i686";
- sha256 = "a8dbcdda6ba791eb3d0ced43d0250725af9c7bdc4fdc0a72efdc065651802794";
+ sha256 = "a2d6288cfe399576bdd680481e5e2fce061672fb2b4febd49d8a0f37047d8428";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/hy-AM/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/hy-AM/firefox-132.0.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
- sha256 = "b54d0f12985748c3eba269974b7b6892ac727e98ba750bd0535530ea3fafc218";
+ sha256 = "3b966d97525a573c9b1e710a4cec557ab49bd344faccf8e1db1a6dd46702bebc";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ia/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ia/firefox-132.0.tar.bz2";
locale = "ia";
arch = "linux-i686";
- sha256 = "8a415be412858202396d63e773535f790dda10a722ee5e584471e2a93cce8171";
+ sha256 = "7a421547883bfd8032128a0ed7adc43067ada727f9c4949ffcd74b987e90479e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/id/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/id/firefox-132.0.tar.bz2";
locale = "id";
arch = "linux-i686";
- sha256 = "0796b4c2b21ea3a68bbb35171a316d2bb2ca9ec985b239290f59e3299fad1e4e";
+ sha256 = "e339ad1ffaa261aff278e35e32938e5745ef5a7a79f5a3e55659c0ea4fa3e81a";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/is/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/is/firefox-132.0.tar.bz2";
locale = "is";
arch = "linux-i686";
- sha256 = "f3851164668890ce243f4f449f04670e212184750c4a94c425162c7ccdb1ead3";
+ sha256 = "a31b21ff30d6ef146e7b6a50ba394ca74829d9403ee12a5810d283485816ac02";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/it/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/it/firefox-132.0.tar.bz2";
locale = "it";
arch = "linux-i686";
- sha256 = "c92f4a741e8676a8606c5cd001665cced335133cb921a736da96239c870c5846";
+ sha256 = "7a9f050c2a29ecb362c157a32184ab9e1a34120705c7acacd5da7e285c07bed9";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ja/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ja/firefox-132.0.tar.bz2";
locale = "ja";
arch = "linux-i686";
- sha256 = "f88f77beee0ac54e7f8e94db9d657372ea4514c95d7d7a18ada46021e50aa230";
+ sha256 = "9e37fa9409c45912063448c7f59dd2b4cd49553e6e15d2d32861eb4c06604a6b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ka/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ka/firefox-132.0.tar.bz2";
locale = "ka";
arch = "linux-i686";
- sha256 = "31e00edb58baa39e39d3b74c14ba7333c07b1d0d4ca81695d8a7ea1c80e8b0a5";
+ sha256 = "f8c042d81ba94a7391750c346dc8bf5036bc01cac55a5cc1dd1b7cb2782911e3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/kab/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/kab/firefox-132.0.tar.bz2";
locale = "kab";
arch = "linux-i686";
- sha256 = "7c1eebd4183ec7d63dabc17a51a7c68864eccee29916158d6fe7ba066e4697ab";
+ sha256 = "99e5f899a458f34a8efbd1f2ca2b3a181cc1db4e76243a9c13a3f238531dd2ba";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/kk/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/kk/firefox-132.0.tar.bz2";
locale = "kk";
arch = "linux-i686";
- sha256 = "5f77e4a0928dfdd8d66778471d1bea98e3902a08d5c38f904102142962fc08ad";
+ sha256 = "1ddfa07670c8941b0139989fc44425b9b86dfab9ec63cefe22a61eaf915dcc55";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/km/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/km/firefox-132.0.tar.bz2";
locale = "km";
arch = "linux-i686";
- sha256 = "61a248d441d36bad22b0041e8e9b34e192dda345e245fc6e637f861abfa2999e";
+ sha256 = "107206acf6597d87396ac0d8046fb46ad22134cf5d77097715ee3e6b830c6431";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/kn/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/kn/firefox-132.0.tar.bz2";
locale = "kn";
arch = "linux-i686";
- sha256 = "7c6b5530798f88a16ce70a7749317793d1caf8c58bb0bc859dde8fb9eeca6a75";
+ sha256 = "b2beb82872f64be4bb44f344674090ac0d4cf4ad524076cc2412bda365dfd667";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ko/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ko/firefox-132.0.tar.bz2";
locale = "ko";
arch = "linux-i686";
- sha256 = "6f99bbb48f3f1fecf712521f484fc3b4125660bdc927a5d004c4bd09fa75d2ab";
+ sha256 = "b93aa8f341752d4cd0d8cff1ee122e86fccfa11ee0a7be4e3bff830be79ae202";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/lij/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/lij/firefox-132.0.tar.bz2";
locale = "lij";
arch = "linux-i686";
- sha256 = "362e9a31916be41a3176f88be4f34614bdfcaaf1278667edee14b881691f2c22";
+ sha256 = "940870ebf978edb5f5f9b0cf5f704c953ad3820b9d9ac041948d36b0ca725cc0";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/lt/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/lt/firefox-132.0.tar.bz2";
locale = "lt";
arch = "linux-i686";
- sha256 = "ed7cff096f744bb1aa45c4442ed4306b1601fe09cbc5e30a82b88dadb5c0acd1";
+ sha256 = "5aeda3e78857fae75d4082e10dc870587616d4718cec511231d61928f6e1043b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/lv/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/lv/firefox-132.0.tar.bz2";
locale = "lv";
arch = "linux-i686";
- sha256 = "f42c2238db9238fe53841a54f974de22bc85319a5ccc6a68d1a3b1b89b8ddb1d";
+ sha256 = "4adb69ecbc54cfc95b3ffd61ed6e6116eaf8d0dd793088bb553561bee4becfb3";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/mk/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/mk/firefox-132.0.tar.bz2";
locale = "mk";
arch = "linux-i686";
- sha256 = "8700bc64b622c6fdc292f868447c6e3a5f23027e8130100c8362361fddec6284";
+ sha256 = "ee8a22796810b40e0f624f565fde36f59f6da48db0e5a646a4bc07bb04d9abca";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/mr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/mr/firefox-132.0.tar.bz2";
locale = "mr";
arch = "linux-i686";
- sha256 = "05bc096b8bc39ca8a40bcba39ffa44ded8d4d08c9165f68ae2f89baf8d6da4c0";
+ sha256 = "cdce6b6930223ceb5af2ff393e8bebaea271f5dcc94b8e5fdad51631d7d17ec1";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ms/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ms/firefox-132.0.tar.bz2";
locale = "ms";
arch = "linux-i686";
- sha256 = "ca9d85228b6dfd98a39f28dba22793dbc9f311b776663ee62e89a026ffddc184";
+ sha256 = "cd3add301fc64c79bcb104fc6837f660ca7b8ffb0af7b5f498988c0636e13dc8";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/my/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/my/firefox-132.0.tar.bz2";
locale = "my";
arch = "linux-i686";
- sha256 = "b365d353b42ccf4b452a092edb61dcc2a6a47cc4396adae97c1bfc1761f618a6";
+ sha256 = "b50fee9b100b21d672e19b610c3f6c48e75357ff3f801383ba57312bce45da74";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/nb-NO/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/nb-NO/firefox-132.0.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
- sha256 = "56c1589098256b9d848fba171d6c69a37c942ddb3260854071d48b273f32adb2";
+ sha256 = "32fa91632f99b3850aed1c5a8ac2b06623cfa727fa63e7b1942a4c46fee30601";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ne-NP/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ne-NP/firefox-132.0.tar.bz2";
locale = "ne-NP";
arch = "linux-i686";
- sha256 = "123af06456c3c452d6f6d8169ed288c8c16074c7e3f149b30056ecdb94db7976";
+ sha256 = "953717a3187edf413a71f74e9015c1b54ca08c631923fd8e9c354215cb073476";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/nl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/nl/firefox-132.0.tar.bz2";
locale = "nl";
arch = "linux-i686";
- sha256 = "1070796e4361c8091231507a8000125b724b9f4495f23385beed3c1343f32200";
+ sha256 = "66568d6f54c54c8526df05fd652ca413d2d6503861f2d3e903a54f9267e79390";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/nn-NO/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/nn-NO/firefox-132.0.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
- sha256 = "7710c9b14b7f76da97b3767fc34db53ff29f9758949de1e7f7dbfbcb352ebdb3";
+ sha256 = "80c532d74464cb235d3b66ae9f739e25a522f9b9acf643be71e63c67f4cd8c4d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/oc/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/oc/firefox-132.0.tar.bz2";
locale = "oc";
arch = "linux-i686";
- sha256 = "968df78a007ebd60503e326a8130d6e05dc99d2f0267f1a707efb4611aeb1672";
+ sha256 = "7fa8e9fbc5747fbff6fcf3a527abd64842bdb50bacaefb34d066ec541168420b";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/pa-IN/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/pa-IN/firefox-132.0.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
- sha256 = "2bb2d2606d426746a76b9f701ee04cb5e348a196c7c772525bb7aac7c50b0067";
+ sha256 = "925caf1fef1a87e0f17f2aff8573c7ce790fcd9dd900a112d6fcbc23106f7211";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/pl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/pl/firefox-132.0.tar.bz2";
locale = "pl";
arch = "linux-i686";
- sha256 = "5c87cc2e226d32cbdebe0f31b536028ca78d997e0ffb34582752abd5d26880f5";
+ sha256 = "f7bc7fa613072eb5929a0031ad8293da248f9221b2c782d1114bc12a16038a95";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/pt-BR/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/pt-BR/firefox-132.0.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
- sha256 = "92ee925cb9cc44f999a22eb4792a1b6c6b64f4a7533966ca21565c7b987868e8";
+ sha256 = "9e911c64aab20db6d083ec4d7e8031a81aaee7dae0593c2a629d03bf4cd89659";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/pt-PT/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/pt-PT/firefox-132.0.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
- sha256 = "58a7ece588ed7fb7cdc007a3acb20dff966f16d1cedbd47f6aff730e94b7c5e0";
+ sha256 = "6cbfd9355d5e0f36c5292bcc9bb9b70157d6d843551cc32f89bfa9980e12507e";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/rm/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/rm/firefox-132.0.tar.bz2";
locale = "rm";
arch = "linux-i686";
- sha256 = "73a36134064c4c3f9f74f49dc8d01de0ab7c771a63f9d96faea0a3d5239f2401";
+ sha256 = "e3c18cc02d737042f3ed1eea1ba6bd2d7dd38c9979e61d46a6069cc8a6e421e6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ro/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ro/firefox-132.0.tar.bz2";
locale = "ro";
arch = "linux-i686";
- sha256 = "bd885e43b0383301caa072eb9f3c7103da1ed0ebbd14df02eb13c111e908c550";
+ sha256 = "54929ff1583abb4fc0e9bf201d15fcb286a55534f33bbf5c883e76cdc01f4a75";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ru/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ru/firefox-132.0.tar.bz2";
locale = "ru";
arch = "linux-i686";
- sha256 = "f161f63d6e9061513e547abb4c5fa0ecf2d6d10cd7064bf1c24f2a5cbd44e798";
+ sha256 = "7a9fee98e554bd7efb626e923776f44bb358219d32ba95a8f8ced13072afb5ce";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/sat/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/sat/firefox-132.0.tar.bz2";
locale = "sat";
arch = "linux-i686";
- sha256 = "9b81f886807acc18c0ec02e66404c7428d664d4cbe0e5c1b61ba683f45127e2a";
+ sha256 = "b27b1acaabd770f4299b558d243abd873d6876de79e9d2ca612ced5d864149ad";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/sc/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/sc/firefox-132.0.tar.bz2";
locale = "sc";
arch = "linux-i686";
- sha256 = "05b6a4036d727c77d4f3dfc2d39f10111cfdd5d00e9c409b0ce08f3ea0ea3c70";
+ sha256 = "6a4d084db9a1657aacc67d36eb363aa0e9851944299cfa4a003529016775a815";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/sco/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/sco/firefox-132.0.tar.bz2";
locale = "sco";
arch = "linux-i686";
- sha256 = "e88b1a122270460a4caf5bea4f4dc8d9fe584b8ab8c16a01c8899088e75121e4";
+ sha256 = "a76199547398244f837f98b0880acfe245fc8ce9842beb9bc85e4fe46bae4021";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/si/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/si/firefox-132.0.tar.bz2";
locale = "si";
arch = "linux-i686";
- sha256 = "b2d4b3b80f633336bee1d9a5b582e8596e2bae87467c247fbddfcdc36b8f1d6c";
+ sha256 = "890a853680e663002d42ad913f6de676ac4056fdbae2609da65a899c7f0116a6";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/sk/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/sk/firefox-132.0.tar.bz2";
locale = "sk";
arch = "linux-i686";
- sha256 = "3773d4862ce1834567991430d915680a97e4cbe8ebd44d2dd37dcdea1e076d94";
+ sha256 = "d0ae938539d0becf9da6ab593255b624d22d477bdc44bd60f54c4b58656912fb";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/skr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/skr/firefox-132.0.tar.bz2";
locale = "skr";
arch = "linux-i686";
- sha256 = "c25afab9ff4614fa87681d6bcbdc5f10d4439220467f2b2a3859838d546b96d0";
+ sha256 = "f0d23102774bc537faa19225496b8fc80c9d4b88d0b126789c5c8a98f8c5e562";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/sl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/sl/firefox-132.0.tar.bz2";
locale = "sl";
arch = "linux-i686";
- sha256 = "539292a2f243b2a6e03bda2510d24e555d58156583e6feedf8b7dde60224b155";
+ sha256 = "db6d539fe79f5f1a6f993ca618292529cdd4035c3e390502962cb93d392457ee";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/son/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/son/firefox-132.0.tar.bz2";
locale = "son";
arch = "linux-i686";
- sha256 = "bdb94090a7ac0a9eb22049d50dc2f330057c065375236a137cb098348efe9eb7";
+ sha256 = "417f1be3b6110d51794c7b8ee6b8e07782118ada14aff103ef742138288713ca";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/sq/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/sq/firefox-132.0.tar.bz2";
locale = "sq";
arch = "linux-i686";
- sha256 = "90467f841b2de7b0479ccdfadde6ef7645644b770d18885a9d76049c6a43de54";
+ sha256 = "864ea16fcdfbce91e91848b581f988ee07f027f8c7a5c98c1cf1a82296169739";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/sr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/sr/firefox-132.0.tar.bz2";
locale = "sr";
arch = "linux-i686";
- sha256 = "1c02f6fe4302977cf7ab0b57b3a4f88764c21ee686a22b9604f0f15db38aa21f";
+ sha256 = "f7bb8998e4094c559caae8c6932ecac369986214ebcb9658e80c40290912be36";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/sv-SE/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/sv-SE/firefox-132.0.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
- sha256 = "009240e251650fbc7f8aade7025f44fd1798e1b76a8f411c3aa261dd12b68a0d";
+ sha256 = "090f22a2e4a2746a8f510464b027d6023f2111515220de8521044db0c080fe35";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/szl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/szl/firefox-132.0.tar.bz2";
locale = "szl";
arch = "linux-i686";
- sha256 = "fd11d167840bf204f895dc7104a3bd2779e29065ae109901d0c23ceb942de9db";
+ sha256 = "49794ae9a985cc2ed569745be59e5b36e8d21a4a266a594805f98c5fa395f1fe";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ta/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ta/firefox-132.0.tar.bz2";
locale = "ta";
arch = "linux-i686";
- sha256 = "f83722089b0a1a5caf5d4b1bd541e2fa84fdfffc04638f22bf5c372cba9d3d66";
+ sha256 = "feb86ad416d64692e2542cce7c86737e2fc45e740fb3bc38c61d3bd0e4dfdc1d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/te/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/te/firefox-132.0.tar.bz2";
locale = "te";
arch = "linux-i686";
- sha256 = "9b8728d6fac9e02819f969a7009f2246a72cc9dd0dc7da324fd255867548b242";
+ sha256 = "7c489109bb0321f32395504643ff87ffc63e44b1e86b4aa483de05c403f05adc";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/tg/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/tg/firefox-132.0.tar.bz2";
locale = "tg";
arch = "linux-i686";
- sha256 = "08f4bc21bb07a46e5e845bd5132835fcfc6d92a77807dd25f9b3119795b48800";
+ sha256 = "d8d76c56e613f81ac08029d297a36917057c79634ff3aaaa36ec65234da00bd4";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/th/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/th/firefox-132.0.tar.bz2";
locale = "th";
arch = "linux-i686";
- sha256 = "6eab1ebc3fdac9f2423720cbc9ca1834c0b60432ed44249fc97b4e61578e3b2c";
+ sha256 = "4ab7a75d0d90a478894b1f5645054b5e852cdc5b978cb5dd39d48c7e0de163fa";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/tl/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/tl/firefox-132.0.tar.bz2";
locale = "tl";
arch = "linux-i686";
- sha256 = "1210863fbc4e94a48f051214ad27596d1cd20b6ee546ec7dfdbefb17f03b32ce";
+ sha256 = "1247abcd3e5139d85c76be72de66ce91910f9340bc288973a055baa4625c8e58";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/tr/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/tr/firefox-132.0.tar.bz2";
locale = "tr";
arch = "linux-i686";
- sha256 = "7209a9fb8cda175dd44abf5af5f2a852a20834e954578f324e30df807eae4b56";
+ sha256 = "d80bc043ca87319fd036452fed008394ac7f82e15fbd769b86c33eada10f5c3c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/trs/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/trs/firefox-132.0.tar.bz2";
locale = "trs";
arch = "linux-i686";
- sha256 = "0ab1a3fe03acd33f1ea0f6546992ab47e4d8649b043ec6fa1237063e6876a12f";
+ sha256 = "ec40046b1ac861401e9619e924f9653dd949942cd80cd51fce766552d845c474";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/uk/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/uk/firefox-132.0.tar.bz2";
locale = "uk";
arch = "linux-i686";
- sha256 = "7fe939edfc4ddefb2da97ad93d180958de0a8816d036aef1c7165a1169e8b85e";
+ sha256 = "08252f8b12abfa90fe1dbb3ea76662c84d116428b1ede24665cf0f6cc6eb7275";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/ur/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/ur/firefox-132.0.tar.bz2";
locale = "ur";
arch = "linux-i686";
- sha256 = "d8131acaa6c87b448be1e4a5076248b10956b9bc9f03db93c649e21c270b0782";
+ sha256 = "30699082953743ebecd2b9932e99d8ebeff8d47478e762cb451383cb2951a502";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/uz/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/uz/firefox-132.0.tar.bz2";
locale = "uz";
arch = "linux-i686";
- sha256 = "15767a498cdbb582028295b3f7d8f160601707f2ef112c9ad5a1b42e70185c98";
+ sha256 = "be949124d9fa3d1f3d997015849893f0b1f66ab577d13253d3fd520be6b98a1d";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/vi/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/vi/firefox-132.0.tar.bz2";
locale = "vi";
arch = "linux-i686";
- sha256 = "05c0455bfc5744d4adcb005f538e287197402fdd983aa7af2e4852fece20b079";
+ sha256 = "f0a0498aca98dd9dd010be71d47af06c9548cb96853f699d1a64d56c756bd7dc";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/xh/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/xh/firefox-132.0.tar.bz2";
locale = "xh";
arch = "linux-i686";
- sha256 = "977d6a65cbfaa6cef11005a8c646dad48f63dca0da899e359951940d88c458ba";
+ sha256 = "9397073ca8af49dd750bc3a77d0e37487e6bde5bf23b74c9f1ce4411745adb4c";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/zh-CN/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/zh-CN/firefox-132.0.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
- sha256 = "ed242a8d527e66c1f5e6b0a4e898cca723430ac8cb1290796ad271b367e808b4";
+ sha256 = "c7cf44ec99398d39774a9b214d7a058d1fe652147b4834317ea3e43ffde325cf";
}
- { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.3/linux-i686/zh-TW/firefox-131.0.3.tar.bz2";
+ { url = "https://archive.mozilla.org/pub/firefox/releases/132.0/linux-i686/zh-TW/firefox-132.0.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
- sha256 = "6e4457920addfe64bb04934b1e646c197d91a7e100553e72c8632375bb06fd15";
+ sha256 = "938c3d5710c8323cfdf100c172ad8d2b5e0fce96d55ce97636588411daeed44d";
}
];
}
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 56dda27e54c9..e60877c439c2 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -242,7 +242,8 @@ buildStdenv.mkDerivation {
hash = "sha256-5PzVNJvPNX8irCqj1H38SFDydNJZuBHx167e1TQehaI=";
})
]
- ++ lib.optional (lib.versionAtLeast version "111") ./env_var_for_system_dir-ff111.patch
+ ++ lib.optionals (lib.versionAtLeast version "111" && lib.versionOlder version "133") [ ./env_var_for_system_dir-ff111.patch ]
+ ++ lib.optionals (lib.versionAtLeast version "133") [ ./env_var_for_system_dir-ff133.patch ]
++ lib.optional (lib.versionAtLeast version "96" && lib.versionOlder version "121") ./no-buildconfig-ffx96.patch
++ lib.optional (lib.versionAtLeast version "121") ./no-buildconfig-ffx121.patch
++ lib.optionals (lib.versionAtLeast version "120" && lib.versionOlder version "120.0.1") [
diff --git a/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir-ff133.patch b/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir-ff133.patch
new file mode 100644
index 000000000000..f35569c5909f
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir-ff133.patch
@@ -0,0 +1,22 @@
+diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
+index 6db876975187..5882c5d7f1d6 100644
+--- a/toolkit/xre/nsXREDirProvider.cpp
++++ b/toolkit/xre/nsXREDirProvider.cpp
+@@ -11,6 +11,7 @@
+
+ #include "jsapi.h"
+ #include "xpcpublic.h"
++#include "prenv.h"
+ #include "prprf.h"
+
+ #include "nsIAppStartup.h"
+@@ -297,7 +297,8 @@ static nsresult GetSystemParentDirectory(nsIFile** aFile) {
+ "/usr/lib/mozilla"_ns
+ # endif
+ ;
+- rv = NS_NewNativeLocalFile(dirname, getter_AddRefs(localDir));
++ const char* pathVar = PR_GetEnv("MOZ_SYSTEM_DIR");
++ rv = NS_NewNativeLocalFile((pathVar && *pathVar) ? nsDependentCString(pathVar) : reinterpret_cast<const nsCString&>(dirname), getter_AddRefs(localDir));
+ # endif
+
+ if (NS_SUCCEEDED(rv)) {
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index b78bf60feaa8..8162c3f61d9f 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -3,10 +3,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
- version = "131.0.3";
+ version = "132.0";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
- sha512 = "3aa96db839f7a45e34c43b5e7e3333e1100ca11545ad26a8e42987fbc72df5ae7ebebe7dfc8c4e856d2bb4676c0516914a07c001f6047799f314146a3329c0ce";
+ sha512 = "254ffba16d6e6c61cffaa8131f81a9a78880e5723b7ee78ac36251a27d82e6ff088238ae289d07469ba3a51b5b5969a08ecd1fc02dcb4d93325a08fac1cfc916";
};
extraPatches = [
@@ -33,11 +33,11 @@
firefox-beta = buildMozillaMach rec {
pname = "firefox-beta";
- version = "132.0b9";
+ version = "133.0b1";
applicationName = "Mozilla Firefox Beta";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
- sha512 = "0c491e2a601d6989c10cdd757c83453e07454113dac8e4de154df04386fc0797ee5146dcdc8ca904692a6cb87246b54a4f5e93057afd20f23701abd3f61a6985";
+ sha512 = "c4a85a72b2891c5b6c6e200cd7ef13abe0f5ad090f8ef1d8243a489791f3542b2cd390c141118c4745c4ca677d1e9bf1e564e4a45e066d27ed53e6bd92844727";
};
meta = {
@@ -62,13 +62,13 @@
firefox-devedition = buildMozillaMach rec {
pname = "firefox-devedition";
- version = "132.0b9";
+ version = "133.0b1";
applicationName = "Mozilla Firefox Developer Edition";
requireSigning = false;
branding = "browser/branding/aurora";
src = fetchurl {
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
- sha512 = "3393bb677c6e735860ef49c837ffab10720c6eb47d6cfb6c7960267e3676c69c8293b5f7e49de3f91b6eb88fa4780300db2b2653dde1ae38d546f473bca7e34b";
+ sha512 = "dced4aba71b07b68ee31c283945e7d62a7032f08f5cf71aa261fc7ba32f58277acbe9fdbdd28777d7f4b824e411815b069cab0ce791438088c9ad19c3d2de62e";
};
meta = {
@@ -94,10 +94,10 @@
firefox-esr-128 = buildMozillaMach rec {
pname = "firefox";
- version = "128.3.1esr";
+ version = "128.4.0esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
- sha512 = "c5c1a2e951e0dbb1259a0f77a26b8678bfa4a4c7e909f8fcd5c6d0f807625926824ed235e114d9bab5e289232efaaf4c6691764db64860161ebc9bece9200f0c";
+ sha512 = "e720b1f993926d73f5a5727648f753176ac2fd093fb0b71393946bbc5919ce5fc7b88b82960bd1aa427b5663c7f659828dc6702485fc0c1e7a6961571c67faa3";
};
meta = {
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 5ecfc69b1956..9f868ba218ef 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -10,15 +10,15 @@ let
if stdenv.hostPlatform.isLinux then
{
stable = "0.0.72";
- ptb = "0.0.112";
- canary = "0.0.508";
- development = "0.0.32";
+ ptb = "0.0.113";
+ canary = "0.0.509";
+ development = "0.0.33";
}
else
{
stable = "0.0.323";
- ptb = "0.0.142";
- canary = "0.0.617";
+ ptb = "0.0.143";
+ canary = "0.0.618";
development = "0.0.55";
};
version = versions.${branch};
@@ -30,15 +30,15 @@ let
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
- hash = "sha256-wJIVKrP+F6IKeE7rT8vAmWRTtvWj9h3vKJDsPu8x2kQ=";
+ hash = "sha256-1Rhn6pH6KvuhGNTymBK01tA78it7JXekG48XvRZQOiA=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
- hash = "sha256-zvjIVXZtYl9GdDCvKyuU+9+rNhRX4fGLpw9jPKEpFCs=";
+ hash = "sha256-jLAeix6IQ6rqOM8NKNryEeswB5VSzc1lIEI7X7Nrc68=";
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
- hash = "sha256-Ec2kdoVA5NImT4afXi4GZ9GQF8NjT+h7qM7K3w3qrjU=";
+ hash = "sha256-A87sVmaYRjRi0Q9IrXuQBr+yC+FtGgZA2L/9V4WuYbU=";
};
};
x86_64-darwin = {
@@ -48,11 +48,11 @@ let
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
- hash = "sha256-69ioQKRoQ1RTO39BdVppOuwQb/6ylnSy1luMAX5TCeQ=";
+ hash = "sha256-ZbHz0OR7p873U7YpwsHxa3Uuf3uPsmVOQF9exARQzdI=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
- hash = "sha256-L/nnwHNPni93axBvXS4MH/NuoQbl7Ugva2sozVg6GEk=";
+ hash = "sha256-UsJRw7gforZ1OAA6GNtXuTe/y95mIr7R6MRa+qe44tk=";
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 716f7bd019d7..3ab9759324f5 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,665 +1,665 @@
{
- version = "128.3.2esr";
+ version = "128.4.0esr";
sources = [
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/af/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/af/thunderbird-128.4.0esr.tar.bz2";
locale = "af";
arch = "linux-x86_64";
- sha256 = "68e754e3280b0e47e2160d2538dbe959edde3b987a62f05c42bee02e554fbeeb";
+ sha256 = "f4b5c0c67baf17bcd36c395f4e2a103680899f4b5b5134c0772725a5cc2edcfb";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ar/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ar/thunderbird-128.4.0esr.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
- sha256 = "06eb5688aeab9fd9c544c45079a5a711bef6bf0710d0abfc508e33d072827ee0";
+ sha256 = "b7097cb173e15e8a1ebd8d07d9695de046c950d8d363af06ab9a131597300208";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ast/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ast/thunderbird-128.4.0esr.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
- sha256 = "434d20e1d20acb0aefbce5d15fb3d015eee1dc474a5b5afae90b7575308c27b6";
+ sha256 = "98567596e05ff39ecfaefc77b03589dd77874e292943f665f4c31463eff0113a";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/be/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/be/thunderbird-128.4.0esr.tar.bz2";
locale = "be";
arch = "linux-x86_64";
- sha256 = "a4def49f05a1a479c3ac0f1267d4ab65de84d7acbcc79e1c52e55e814bad8342";
+ sha256 = "9672515b79fa7db20b77b032c21b5a43816aa405b6d712cdea1b779a701b9e49";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/bg/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/bg/thunderbird-128.4.0esr.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
- sha256 = "d6d4770f6707dc8a246eafaa0c3a360fb49117eb2adbb12e99a02b4de2cf1805";
+ sha256 = "929517a24e94364187bfe6f4f4df25c61cdcab4a06302981a7de17c094b50eab";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/br/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/br/thunderbird-128.4.0esr.tar.bz2";
locale = "br";
arch = "linux-x86_64";
- sha256 = "e2352aacca362ce56571b1f50009304355e5c2575e0aea3e84f81d386f7e5553";
+ sha256 = "23779556660e301737025a15c13554a149fa4d1414b882bad7f3d943a2189d66";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ca/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ca/thunderbird-128.4.0esr.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
- sha256 = "67c31bb9599c181bbaf250c2479188d7fc2e208322aa51737aed83ed9f91299a";
+ sha256 = "2e375548e9b79bf4d0227bcaae413f898c42c12e6fe45c3a8cdd3dfd66ef63c9";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/cak/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/cak/thunderbird-128.4.0esr.tar.bz2";
locale = "cak";
arch = "linux-x86_64";
- sha256 = "b7b44e214374a526264522345e5907b76d080603b0fc6b2c4bae9621b78279a5";
+ sha256 = "7247868660c51b6a3fbe916e2203b12116ae4daf54099088d059c5f40c7ae28b";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/cs/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/cs/thunderbird-128.4.0esr.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
- sha256 = "72149f69323530b8e369fb2689a8baad097f23fe3a6039bfe56b24c0a3290744";
+ sha256 = "65918f24eab7e390e0b4ce74a2b8651702f05d3517f5ef94ecd99b5459250c8e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/cy/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/cy/thunderbird-128.4.0esr.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
- sha256 = "207ee0a8bd84e9e8b1c759a1c9987207f701d0da2dd6c036d759475896a0f2c0";
+ sha256 = "b5b042bdcb95d1229d2d832a7e137999119321a8312c0bc672ce35d330d0b8e3";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/da/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/da/thunderbird-128.4.0esr.tar.bz2";
locale = "da";
arch = "linux-x86_64";
- sha256 = "b69247826491468475cae337ed62c0314ce8ca4de33ed3d8630114fddcaec41a";
+ sha256 = "1da0e908f24e3efe0e4dd43a10bb4ce620059bf6ceee3fa5f9d2a5d8d32ff31e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/de/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/de/thunderbird-128.4.0esr.tar.bz2";
locale = "de";
arch = "linux-x86_64";
- sha256 = "a0ef4564aa205006fd448ddd8d03f398a1fd525c156bbcbcba297a6a2c932cb7";
+ sha256 = "4a8751d1268ce303fcba4dcdb1cf93252338908a302f3532d2adb6276fe6eac8";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/dsb/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/dsb/thunderbird-128.4.0esr.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
- sha256 = "58eb03368703f0fdd760f04102fd3f1dddf525147fb7e5e4f1919e080935d6ea";
+ sha256 = "bc9b9d26d827794f61b046788e9f965e9275b4ce15017c3115fec2c1eda5de3f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/el/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/el/thunderbird-128.4.0esr.tar.bz2";
locale = "el";
arch = "linux-x86_64";
- sha256 = "1a1c48242ab368a8039edb04093c64cc41aa1885cbe67567340f324ce429dbe8";
+ sha256 = "a2a44db9099395350baad249ad252d8002cc990613b82d77b84e6f49ca60f54f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/en-CA/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/en-CA/thunderbird-128.4.0esr.tar.bz2";
locale = "en-CA";
arch = "linux-x86_64";
- sha256 = "f13a13039d3006320a71a01a6ffdcfebdfa446abd0aadc6858b4296dbbd01106";
+ sha256 = "a85f302f53ab25362dd9f60f926c7909cdb3df90587b2b930defe8b71e039adb";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/en-GB/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/en-GB/thunderbird-128.4.0esr.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
- sha256 = "10d698906140a7b104484a3e90875b1f0fc2d1d7abe3bfcc2c82ab793a8c7992";
+ sha256 = "76781c1c4e617995d79c22bf3b5aa0f0cf706ad2cb0ac59ab0ae736db2aa89f2";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/en-US/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/en-US/thunderbird-128.4.0esr.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
- sha256 = "72c185256191a6f1f8b4e497b65dde1fedd919a2251261ccad6da06c62dd627b";
+ sha256 = "e6aae02f5f9e01768b850b2df18404f19ac4f0f0e9aa176683d0152d8731876f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/es-AR/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/es-AR/thunderbird-128.4.0esr.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
- sha256 = "211d5fbe5d72d5365c74153817fc95eb376d7eb2f1fba9aea1522491fe718afc";
+ sha256 = "7fb83af57053b258b63dec7327a814feee2550a7aef6db38ce55f1dda53eb40c";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/es-ES/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/es-ES/thunderbird-128.4.0esr.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
- sha256 = "6fcf5a499accf6882dae1c1f1a69da600a8b8ba28a902a6c7a3b4d8de51d17e1";
+ sha256 = "fe16a9eddc488c8318ada85130bc7720b4aff243e6ee02c702c1e167d6831358";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/es-MX/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/es-MX/thunderbird-128.4.0esr.tar.bz2";
locale = "es-MX";
arch = "linux-x86_64";
- sha256 = "aeba0e0b1637ce57d8ef11e73efbc39e5843c03d1efaf2e9519e60a03d6f50de";
+ sha256 = "80d23de928a1f23f9b53c593a2c39f8ec316c0b8c2614e66b77864917445b9d1";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/et/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/et/thunderbird-128.4.0esr.tar.bz2";
locale = "et";
arch = "linux-x86_64";
- sha256 = "04b7e75de0df9fb9ca09ea2910a618d9c6ed60d9b71c2505ec8850b183ee98a3";
+ sha256 = "066cdae27bdfcf37c8f06bee52c1b2c6dd08a87ac9046d16272958508b2164d6";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/eu/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/eu/thunderbird-128.4.0esr.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
- sha256 = "5499fac8f11acc67b1590ca43dad0c136e9c0a00134ff14469265845154b791d";
+ sha256 = "a86df82e8c15ff6f30ee30227bf3ae85c9d0c8df8264b63542f5a64fda9b2a00";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/fi/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/fi/thunderbird-128.4.0esr.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
- sha256 = "3254378b2ee27f7462129428176a92277315c0089915c0f3a80dfa435bd2205e";
+ sha256 = "ad266dd4c903c53c48e62c62288e210c5b98ef653ef03196b9a261ce1f6e8415";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/fr/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/fr/thunderbird-128.4.0esr.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
- sha256 = "56861692b1c421d7f5a90657397b86e678cb6c162853362e69aaa7db4f28925f";
+ sha256 = "54e6aaa6fc5b976f62930ec44a8069cda5edb0780fa342673daa0421e2eb9f6f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/fy-NL/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/fy-NL/thunderbird-128.4.0esr.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
- sha256 = "63dca4a0a7c71b4d717f92213d8b7524b1eca29ad50e4540edaac148badf0586";
+ sha256 = "2c0e5b5f3ada77823a3812ed342dca95171b05f151bf43beac62c7ca4d37fcca";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ga-IE/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ga-IE/thunderbird-128.4.0esr.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
- sha256 = "70ded506c128d9e7962dcf8621b772840834f44d59ab1a6a8c8c543175242858";
+ sha256 = "29a77f6d2ebf8b1aec6942a212f0a524c5d4faa804e344cd31eae1fd2e4c2e9f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/gd/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/gd/thunderbird-128.4.0esr.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
- sha256 = "e65b6d02421f5b37d19c6b65cba400d12f64418b80410ffebafdc83b11758eeb";
+ sha256 = "f0b3cc12e081308572eea9a122ebf53a33f042fdaa77962dd2b11c52ce964ebc";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/gl/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/gl/thunderbird-128.4.0esr.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
- sha256 = "a92eb0bfd1efba1f5b5efe794b915050d3a67c116e78b84b0abce563553efbd1";
+ sha256 = "10c148f76d49a2bb17fd990fedfd6940ddcadde772f0026255263e6381690743";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/he/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/he/thunderbird-128.4.0esr.tar.bz2";
locale = "he";
arch = "linux-x86_64";
- sha256 = "5fe6d0a4b259ddb0e85d192659e205610a11c5f1d32498dc84ff4956ce0ecc52";
+ sha256 = "00d5e80ad49c9839fea580648b02636ad3a284eefee89fceaceff1cfcfca2761";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/hr/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/hr/thunderbird-128.4.0esr.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
- sha256 = "05d9d2a86ae030b7c036292ebbdccd5095efb26c32bb9ceb618f1e049514aa94";
+ sha256 = "b02ed6adeb246c263436f3d4f23b40ec830487b88f30585cdfe58e4ead140c9e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/hsb/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/hsb/thunderbird-128.4.0esr.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
- sha256 = "e9a807e8ac2ee94d2ff214e92e1b69cba5f00c3b9c6cbc0244fea2e9ac2386aa";
+ sha256 = "c2c3ff348f1ee9af50c9ca068cd3970f151a679621b94f3aafef817966f50fa5";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/hu/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/hu/thunderbird-128.4.0esr.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
- sha256 = "0347ccb486557e961ef46979f4a221b8fed55307379d9eb3e77afafc4d07d736";
+ sha256 = "093059f5e6e7f9b8fd653719ed21bd7988ffe180890c9bc8a1e086ce8ec61aa3";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/hy-AM/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/hy-AM/thunderbird-128.4.0esr.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
- sha256 = "636762093f4697a778696bd56864aa8eaae04e48c7f4a4129b116247cd78b998";
+ sha256 = "a632e051dc232c36aec69531eb64d98483899f9128042c90ad0b238b498b3415";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/id/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/id/thunderbird-128.4.0esr.tar.bz2";
locale = "id";
arch = "linux-x86_64";
- sha256 = "291f1bddffcc0dc308a7532455e232d6e587bc8e0a803b4f6dd85f6f80346135";
+ sha256 = "d44ca9526e7444ac56ee0edb8a29c709093a463e193cd9752b7cb00c51fbea17";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/is/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/is/thunderbird-128.4.0esr.tar.bz2";
locale = "is";
arch = "linux-x86_64";
- sha256 = "01ace7af5465472c958e3e3ff1784c6b3978a46f3b008fe1a0a556e825d8b327";
+ sha256 = "6bc92c2f7eb0d7577687fe8f987798edf694944214c6fa53b02b7d2c13858f2f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/it/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/it/thunderbird-128.4.0esr.tar.bz2";
locale = "it";
arch = "linux-x86_64";
- sha256 = "1ba69fa4e8baaf106a3006dd651c92be6b3ba19701ca8c553fd0c3fc7e34425f";
+ sha256 = "9751063446cce37f9d166d5d3685b9dc4c75e2dcb870acc536b99aaad809ecf9";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ja/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ja/thunderbird-128.4.0esr.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
- sha256 = "98c79c493f9c23a698bf2a6627975cf918bead4e2e7ae9bdf8b132e8e5e205ec";
+ sha256 = "7606009ff008abc3919d93ef61c7ae2a23f8ed78b878f22bda83be211ece04a9";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ka/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ka/thunderbird-128.4.0esr.tar.bz2";
locale = "ka";
arch = "linux-x86_64";
- sha256 = "e4e9a739ead52440b1bf0b9dc535d530c812b4d2a91bf6828cbc635f8273a8d1";
+ sha256 = "72fe8b5150caeedbda2084ac6b09cc9793c840fd0964c8326c6ce030b62448b5";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/kab/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/kab/thunderbird-128.4.0esr.tar.bz2";
locale = "kab";
arch = "linux-x86_64";
- sha256 = "e36858baf702c8402fa72ac4f1805852dd5d371766e47482f1bc7cb1a73c59fb";
+ sha256 = "be4a52751123bc92470f03200a5875964ff6105e31d9e4ae0f1aa6d52223dab1";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/kk/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/kk/thunderbird-128.4.0esr.tar.bz2";
locale = "kk";
arch = "linux-x86_64";
- sha256 = "53e88b687cc6db2abeb3e1f90f861df946c06c6026f4a5cc05a598b3f98ea2ab";
+ sha256 = "159c2554fe613cb4abc157debe9b301c028f9b982b5ae8c4f2117a135cd4954e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ko/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ko/thunderbird-128.4.0esr.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
- sha256 = "6a18161a3977fe91e5c878dbf28f9de76c919f753dc1e29211168ecd0bb76ea4";
+ sha256 = "d8f8096f503c12429c94c42c119e21957a6cf3924d14f0030da9e46ae3b9326e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/lt/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/lt/thunderbird-128.4.0esr.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
- sha256 = "6cf21bbaf1fee99a86f036e49c56a6c789795375db7b7c2b2d66c9cf4db2009d";
+ sha256 = "1d0ab203ef07760d3808aa92acfa734219f0fcfc2ba23f1a0d7ca8011e0a58f4";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/lv/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/lv/thunderbird-128.4.0esr.tar.bz2";
locale = "lv";
arch = "linux-x86_64";
- sha256 = "ee6207c449bfaf50acbb8d666a87439080ddc6c151324064c6114ddbacfc03bc";
+ sha256 = "89e2eb6f61846e69e67f9e10360b2a3e88f0b21a75996f1167f6c169b6870c9f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ms/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ms/thunderbird-128.4.0esr.tar.bz2";
locale = "ms";
arch = "linux-x86_64";
- sha256 = "6f73ddde1f47f484819c14e80e9f91be095b6229a69b7ea584b670acfe88af74";
+ sha256 = "f4b11168bbaaaf519f16b8d637a635a405729f68d34b8844224a5782ea6b5afb";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/nb-NO/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/nb-NO/thunderbird-128.4.0esr.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
- sha256 = "64f324a7d0c3cfce88383ca8cb844e29df33f9b740bc6d02c718e8e436a555bf";
+ sha256 = "ca8661ecbf45808aac86b4d40acf129d04d71551f8cce206dc913ac63946c80b";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/nl/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/nl/thunderbird-128.4.0esr.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
- sha256 = "d7a982d8ba02c6ddad2c1891ae09f5cff5aa80b19e6d2fc26848f8df593fd1a4";
+ sha256 = "2b852d095844fc93f8e326adfc18572461046db0f40abb3bfa16cbf80ddfccdb";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/nn-NO/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/nn-NO/thunderbird-128.4.0esr.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
- sha256 = "0d572d3d4f79958083603e2238b3cfe1a5c7d333a1de5a55f0c320ae8415b4fe";
+ sha256 = "387aa2d3bd17236082257f049bbc1bd0ceb8bebfcfa073197fc7f906f1cc13c1";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/pa-IN/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/pa-IN/thunderbird-128.4.0esr.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
- sha256 = "ded2cd04fec68d5639c5ebf93a9f50ebd7855cd316b8135c4be36d15dc03d6e5";
+ sha256 = "baff051c11778958a6c52e4127760987d323bf0b100fb6c205f0ec3f8925ba86";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/pl/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/pl/thunderbird-128.4.0esr.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
- sha256 = "a7b4c48be5aaa11b836069862bf471d19f7297575b579411938cd9a1b5f19886";
+ sha256 = "08bd02a1e671c88f7ae9689b6cfca9b138c3923071e8278e529790deaee4272b";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/pt-BR/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/pt-BR/thunderbird-128.4.0esr.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
- sha256 = "32a1c309b143c5b2c9d9993c65f3f475ddc279c683d5c6434c1fa92176908e49";
+ sha256 = "7b55c074e0342876e5cfe2c069724e673742069fce307576021407edf9ae87c0";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/pt-PT/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/pt-PT/thunderbird-128.4.0esr.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
- sha256 = "9f3b43fef1200627869eeef5d0814a7831ef6be2b9893cef94f6060ac579f4f9";
+ sha256 = "8f81ab9e58d69f751aed4dfe16a23b667196a520115e2d0cc930295a8fa8189f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/rm/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/rm/thunderbird-128.4.0esr.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
- sha256 = "900a77024280148075888fc3dfadeaa7944b7fbe96cbcf359e3cc4cd421ef71d";
+ sha256 = "0c07d0faea7d8795ad2389960bd5b8c47e2000fdfea14b93ff8f6c7e6c3db730";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ro/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ro/thunderbird-128.4.0esr.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
- sha256 = "7d556f80f1fa9b60f93ec0a9bfdcc02cb063569515ff5e285aec2b8d6ef3b0f6";
+ sha256 = "7beeb1f9c6a3159c351596caae91609a7247de3eef2df775703fd8ac71d1f858";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/ru/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/ru/thunderbird-128.4.0esr.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
- sha256 = "bbbf234d7b1e8c7cdd71f582f1c4cf1b14ae2e9e695e9edfd56e7358ffcf9daa";
+ sha256 = "c52a4a86626b025dd5b421f9033cd9ca8b13b7278946fc061b60706364541147";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/sk/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/sk/thunderbird-128.4.0esr.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
- sha256 = "665f506a18615247a57c7b936d3b4f0fef7240967c2e64e206ca44fe8842f65f";
+ sha256 = "3b5e3d688b6168b42cb8142c095749e6339618fb56f77fbf43bb4abf1ee49e7e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/sl/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/sl/thunderbird-128.4.0esr.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
- sha256 = "6cb65f62b5759336d08cf4735cd4eb4a4dfa3664786e06988dc5db3fa74267b9";
+ sha256 = "b8301c1136e9145a1b45c9eaabaee5daec9eac84a883978cac91b4eecfb1a13d";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/sq/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/sq/thunderbird-128.4.0esr.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
- sha256 = "578d0542d3e0b4615653832d4474d5253ab7f11aafecc4a4bfb370ff14d09c85";
+ sha256 = "21ce583b646bdb0451f6cf2b0178ab7d56b80fce5bdba38cb3b65598cd91e3e3";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/sr/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/sr/thunderbird-128.4.0esr.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
- sha256 = "69f922567c45c44c2902255c6abc58312f625d2be421cbf986a488addc96af92";
+ sha256 = "95b476e61cc72787642c9ceec7d26b652cc5d1ec8f756e62a89e4d45022f3d66";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/sv-SE/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/sv-SE/thunderbird-128.4.0esr.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
- sha256 = "338f53c983182a93febd49671b73e519da023e6d9653d16dcb1e96d62589d095";
+ sha256 = "36f24520dfaea9a3090812b326ca29434f93fdad055793f6aeff85aad6f47599";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/th/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/th/thunderbird-128.4.0esr.tar.bz2";
locale = "th";
arch = "linux-x86_64";
- sha256 = "89498e7b762e95e27d5a5cb7b33cfdcb04057f7c25bbec594f02b5ba11049cd3";
+ sha256 = "c63e0b7c645a0dc60fdf74c98f3e429fd2ce7f0e460e3eaaad51bbb8a3c753e8";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/tr/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/tr/thunderbird-128.4.0esr.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
- sha256 = "e08daa81402551cada7b056d40ddcd77f19d19584552349895cb6d206fc3e3b2";
+ sha256 = "8713083de4a756194e48038923d5584722ec49368a33a2b08157a51963ff658b";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/uk/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/uk/thunderbird-128.4.0esr.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
- sha256 = "d008cdb485bfa80654acbda091761f31cea620b5fda06cea86df9920f807da90";
+ sha256 = "fd83a6354ccdedb72a41a74755a637ca8fc3f44424306abcab5f8af7efefecef";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/uz/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/uz/thunderbird-128.4.0esr.tar.bz2";
locale = "uz";
arch = "linux-x86_64";
- sha256 = "6d73e85cc68bc9dbe519a46e217f2c62d4b002757cac6f3eee73142642259575";
+ sha256 = "fa5bb891a80deca794b190e52c8496e43ea0b610f85451c31eb5d6851a1181a0";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/vi/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/vi/thunderbird-128.4.0esr.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
- sha256 = "6f7b1aa7b314f9f7a23bea9f7e5dcf654891f14eadf543603e057a62e56eb1c3";
+ sha256 = "f6b09e305770da8cd27702c0024e5b237b3e7c0a7d237324188e569eaaafdba9";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/zh-CN/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/zh-CN/thunderbird-128.4.0esr.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
- sha256 = "4b63f9cc7e02e1048273de888df5238c4e308a5b62caa97b9177ac9daddfaef1";
+ sha256 = "0f4d8444c65d57294ab5a2eb110386d90164da2f40959b6ccbd2f959515c1f7e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-x86_64/zh-TW/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-x86_64/zh-TW/thunderbird-128.4.0esr.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
- sha256 = "c3697d78a62dd49b6c9c264809fa3a208edee853fd6f2371a90a3180d88e3ec8";
+ sha256 = "d87055f5fbd0970c3123d3b3dc5d3e5ac30a056af4ba0b5030e14a995691f543";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/af/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/af/thunderbird-128.4.0esr.tar.bz2";
locale = "af";
arch = "linux-i686";
- sha256 = "d396f5bd5a22cf7e7edff3ea71cc05922c4b0326859f7460f363eb31df09ddcd";
+ sha256 = "40b8316fb40a81f674a1ab8b070f36a0250006d815ebaef338b429ec2c477a9c";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ar/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ar/thunderbird-128.4.0esr.tar.bz2";
locale = "ar";
arch = "linux-i686";
- sha256 = "c095953766c3aa7f1308a8931017b202ef63783562404344efbab9a9367f38b6";
+ sha256 = "ba6316f8d639b21b29c0400dcd5004c55250dde52eefb290c406b52764fae625";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ast/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ast/thunderbird-128.4.0esr.tar.bz2";
locale = "ast";
arch = "linux-i686";
- sha256 = "1039b107a3adcadc4d1e329416792fe668c0588a4a1e1283caed89789b2c49e8";
+ sha256 = "0a3be4e77102a994a61280615cefdee894611c94c0902bb446c5bc7dd19e0780";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/be/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/be/thunderbird-128.4.0esr.tar.bz2";
locale = "be";
arch = "linux-i686";
- sha256 = "43a3da378465f4e3b7a6adcd55dfbb9a100392d06dd96e49a3d50ae756a3ca02";
+ sha256 = "12299b04da9ba5dbf0ac3d6ee6d11a0e0f7dda07c90f6b5f874b29702acd6f7d";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/bg/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/bg/thunderbird-128.4.0esr.tar.bz2";
locale = "bg";
arch = "linux-i686";
- sha256 = "03be328293a1039ea0c4d05fc8ea091c073d95c4b72dfb4f348f5982647ac5db";
+ sha256 = "f668f2dae9b4f3071af1a3a0e87d019ed3ad044f20f45153e62603a2e90edeb3";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/br/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/br/thunderbird-128.4.0esr.tar.bz2";
locale = "br";
arch = "linux-i686";
- sha256 = "11e5309a82b6ae36906d2285aefca39db32247501cf60a582bfe69a879646a9e";
+ sha256 = "aab0c30d08a1687389c53b14170839828b7ee5c85be1e77b30db72135119804a";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ca/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ca/thunderbird-128.4.0esr.tar.bz2";
locale = "ca";
arch = "linux-i686";
- sha256 = "9a17b59732a651b3247f7af810bd633f07e608ba66c1e7d00b341baac9f0ec69";
+ sha256 = "bbfbb488667237a4cde6e73948df78f2a8ebf4fd78e40227c2000eb15155ef9a";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/cak/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/cak/thunderbird-128.4.0esr.tar.bz2";
locale = "cak";
arch = "linux-i686";
- sha256 = "2796ae01d6fa7b48d22837d0c6f10ba6bf00ffbd35794bb1f38e3a136c8cccb2";
+ sha256 = "64c28f5a4b123ce00884c90fbf246e34bce6453ce30e3bfea6b2574496d46052";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/cs/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/cs/thunderbird-128.4.0esr.tar.bz2";
locale = "cs";
arch = "linux-i686";
- sha256 = "f2e65539e93222d4a7e552b7f670be776853b65aeb2f7fb144d68072b3bdd50d";
+ sha256 = "e86a6704f92a5a0b8bdffca1ea066310818690e0dec2a5ddd2029504f677258c";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/cy/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/cy/thunderbird-128.4.0esr.tar.bz2";
locale = "cy";
arch = "linux-i686";
- sha256 = "a59825b1692b9dffeb39bf30ea8b5f36cc30445dcd5ea184cc8487fc01fdff75";
+ sha256 = "2dc05b825b3f1d58eea7042fd502da562999391d1e889f267916a2bef0fe008e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/da/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/da/thunderbird-128.4.0esr.tar.bz2";
locale = "da";
arch = "linux-i686";
- sha256 = "d0c8b043c86e83ccc86a728743489a48cb0cc4e46d6976bd3595752a306c0774";
+ sha256 = "5cbccb42d58dd622e1f7d165523597f1be5d527dc532400919e5b0e84e9cd95b";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/de/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/de/thunderbird-128.4.0esr.tar.bz2";
locale = "de";
arch = "linux-i686";
- sha256 = "917ce52fc4d81ebbe5276240b41565fbce6bdfc53ffa7753db97e7e640a2f90a";
+ sha256 = "25c6cefa9eae00bb8983d071a8bb7c2175d69386b96236c8c75389901919392e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/dsb/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/dsb/thunderbird-128.4.0esr.tar.bz2";
locale = "dsb";
arch = "linux-i686";
- sha256 = "2c6ffd2c7e140d7710e5d702008f85892761e834e81ee1dd80f561e1aa56ddf6";
+ sha256 = "ff2a8ad07dbf6ea8c0860c984b438c94f01fd37861b16805a0f50e8bc9401cf7";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/el/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/el/thunderbird-128.4.0esr.tar.bz2";
locale = "el";
arch = "linux-i686";
- sha256 = "9213a7c441951f9a07766ccff191da85cab2a24fd7fbce1f19bae077387e5c08";
+ sha256 = "ee6eeb93e95a960b2e6b43566896d2c3ce9eb24ed477c9600148ccc533809bed";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/en-CA/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/en-CA/thunderbird-128.4.0esr.tar.bz2";
locale = "en-CA";
arch = "linux-i686";
- sha256 = "77895c740967e60406ca466afbcf294be052a6ee81d5c4b2cd531750d23fa661";
+ sha256 = "6c6f11aa8f46bb49e07105c8a4a7391663cdfda166285b326ff35c1a40a38abd";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/en-GB/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/en-GB/thunderbird-128.4.0esr.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
- sha256 = "4c547974c874a4ce973b02a890fd12ac917d89c8ebf0a9d332262092ef8b9be9";
+ sha256 = "6fc49aed294f7bdce470834596ba3ba7f65c938105d0d747daa425cdc182401f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/en-US/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/en-US/thunderbird-128.4.0esr.tar.bz2";
locale = "en-US";
arch = "linux-i686";
- sha256 = "161b7ea35c5d4c1ecdb8cf0229fbcf3ea152c09c22543e0762eece4b7d6bb6eb";
+ sha256 = "c4edd030485a935fdba3ec4faac0aa8a78de047af8e0d5e47ca95bc879a17621";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/es-AR/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/es-AR/thunderbird-128.4.0esr.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
- sha256 = "bb83137654be3e90cd5c0836342f00b85b065663f5318f562b09bcd2714084e9";
+ sha256 = "f0c29400917af1bce184b994f65892115c69ed492c16e7180b83905f29bd03d7";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/es-ES/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/es-ES/thunderbird-128.4.0esr.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
- sha256 = "4744ecee5a3e72560aa25efd25c793b8786764aa7d9f8ac33cf1a33ccbe28a76";
+ sha256 = "1dd664e361a4163ec516f4526e5f60c565645cd892d61ea3c72a5ca8f0454f1a";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/es-MX/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/es-MX/thunderbird-128.4.0esr.tar.bz2";
locale = "es-MX";
arch = "linux-i686";
- sha256 = "6a63c009191b205ced9f8147cfe36a801e9a02d5d74a9a57f66960c78a9b3671";
+ sha256 = "819e064ab10fa975d8a483f1f1b648f7ccd41d8e1cda59d6cdf26db34a74f457";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/et/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/et/thunderbird-128.4.0esr.tar.bz2";
locale = "et";
arch = "linux-i686";
- sha256 = "aa2cc826ecbe7397b21a7c5b603026105a5db5ae3d8046ca806749b2133e38b5";
+ sha256 = "5f07c0e0b9dca3ce883dc3382141f7c38e1b042bc5609b4ae85d7d792231f58b";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/eu/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/eu/thunderbird-128.4.0esr.tar.bz2";
locale = "eu";
arch = "linux-i686";
- sha256 = "28762f614cc70ebbd3d4863a671257cbbccb5d60258d7d07f7d1e42ca3c1b2ee";
+ sha256 = "b9ac89ba8815d30a527f27f3d01dec0548be1cedf9449acba17b7948d44b92d1";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/fi/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/fi/thunderbird-128.4.0esr.tar.bz2";
locale = "fi";
arch = "linux-i686";
- sha256 = "f5b844a279088b43538b4e3f96cfa1c8614710398022d3cf0d4c3c4fbacea456";
+ sha256 = "313dd6d2f2bbf36395b826f7e04c69fae434c7fc9a2ad886d4af536b0b2ac098";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/fr/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/fr/thunderbird-128.4.0esr.tar.bz2";
locale = "fr";
arch = "linux-i686";
- sha256 = "4e75cc4efc0bef081cf6e0b74ac7dd74f450dd87a1a0bfbabdc8cdcc383be3c9";
+ sha256 = "8883f2c417ecc6336155d5f05c9de82409d035894726936923bb96f4d70b37f1";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/fy-NL/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/fy-NL/thunderbird-128.4.0esr.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
- sha256 = "11ec4e4be64feac976e21dadcca77145dc4fea225c0d00c9dceaa509ec61cabc";
+ sha256 = "ae4875e8dac4729546770a24dba35b904a0f34342dc2f56c3dca5870b8f3fabc";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ga-IE/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ga-IE/thunderbird-128.4.0esr.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
- sha256 = "b4eaace12a57f7b24f56f476fbaa9e9606f25d1f82b34e67cb1a0e10d191e3d6";
+ sha256 = "72bf9ee607ab87f9d6975eecaf3e2104cf98a32ace843178aa156bd167db9359";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/gd/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/gd/thunderbird-128.4.0esr.tar.bz2";
locale = "gd";
arch = "linux-i686";
- sha256 = "1f669d83cc4caf91bfdd61b9e63e282f90f0d7cbb96c1100c0f904d003f9e076";
+ sha256 = "9364706897f6505d4b6c8eaa315fd9c9ee85880ee58924c8d118fcd5ef551193";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/gl/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/gl/thunderbird-128.4.0esr.tar.bz2";
locale = "gl";
arch = "linux-i686";
- sha256 = "5eb51acfb2955bc0038e299d77ed8491648b4d7293d31d8a01648b67dc1e575e";
+ sha256 = "5de972bf2fc002fba0d1e5afc4e6b2f83bb6c740c7f6ef4958734fc18984f94c";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/he/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/he/thunderbird-128.4.0esr.tar.bz2";
locale = "he";
arch = "linux-i686";
- sha256 = "87f4fb6eaf8f32e9b041a8d5e5da6072b1106492a9da75a4cac4255ccb818121";
+ sha256 = "a4414c6642a7aeb4e754ae75f583dc0582e98b0e4555130590b2abf68b29cf13";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/hr/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/hr/thunderbird-128.4.0esr.tar.bz2";
locale = "hr";
arch = "linux-i686";
- sha256 = "d93a01b31369d687865d1bafca101b349c697bc7e7b48ff470831849b0444814";
+ sha256 = "d2312db3e884a4575ab3c2d0e3fedbfc85f6ace385895451c15a27f06a746a06";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/hsb/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/hsb/thunderbird-128.4.0esr.tar.bz2";
locale = "hsb";
arch = "linux-i686";
- sha256 = "78d421c94906c39d64013679d786579ae60a574adebdb4b4729a2861e392b5ad";
+ sha256 = "972a1f9391fd1b32bd9eec5341483d01b1b91ed04e8febe05a9dfea9dea42300";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/hu/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/hu/thunderbird-128.4.0esr.tar.bz2";
locale = "hu";
arch = "linux-i686";
- sha256 = "cb6a581fb55422aedb80ad1cf2b67dc07a82f0e3817612454bd0894522a77051";
+ sha256 = "5ad67c2c7b215be82dcd223519b8750a68dc2a8947e6f1f2e2af1808126a2fe8";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/hy-AM/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/hy-AM/thunderbird-128.4.0esr.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
- sha256 = "b7f29b312f7c26fd5f876d864006eea66977e14e5ff6c761d25b00dedb520272";
+ sha256 = "58460cfd499f75be278fc810834188247ddf26e4909c4685d6571822d4199497";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/id/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/id/thunderbird-128.4.0esr.tar.bz2";
locale = "id";
arch = "linux-i686";
- sha256 = "b8942767658f68d76c071a3d4c22bde09e09886a036f3b1e5fb46af18ca76434";
+ sha256 = "2c9b914b683af7434d0af1a44b1fcca0cd80ba87815aec9d0013f86a012b98a9";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/is/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/is/thunderbird-128.4.0esr.tar.bz2";
locale = "is";
arch = "linux-i686";
- sha256 = "7023c95b4036be5a1f6d8924e746b92aef9e76e8e82726a221473bd540dc3bf7";
+ sha256 = "8d0e365474bcffb29adefc95346aa39653106347130ac2168d625b251a6cc3c3";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/it/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/it/thunderbird-128.4.0esr.tar.bz2";
locale = "it";
arch = "linux-i686";
- sha256 = "cd594a8bf3e316e9598007ede696e785013f5a11bd68b14ce742d97abb7cef8d";
+ sha256 = "cb49c2dde4e8190cfe59639456940f3e96474f9cb19c72e9952107ed3806e8d0";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ja/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ja/thunderbird-128.4.0esr.tar.bz2";
locale = "ja";
arch = "linux-i686";
- sha256 = "c17eca728cf0a861f25fb9cb419ed2c20f979c19c15582b6a17a99544881d723";
+ sha256 = "e28ee17dfd116b8bdd0aca4e988df23b9ffd8a56ddd62166a4eceaa3c3224e7a";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ka/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ka/thunderbird-128.4.0esr.tar.bz2";
locale = "ka";
arch = "linux-i686";
- sha256 = "495c8d23f24dd7660e9d4836d4cb18ca48c7f3b0edb255cf18daa627ad78d6ee";
+ sha256 = "14a457fa40ee1f684663ecfc2bfdf7c812efa6822496fa68afebb15e789b9660";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/kab/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/kab/thunderbird-128.4.0esr.tar.bz2";
locale = "kab";
arch = "linux-i686";
- sha256 = "6fd780bbecad88ab558c76938599a54677e93689d0d451e96beddc886569e3a6";
+ sha256 = "32d538f85c9f77907126c7f67376b45186f583542ab3ca0df15d9feeb6c99950";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/kk/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/kk/thunderbird-128.4.0esr.tar.bz2";
locale = "kk";
arch = "linux-i686";
- sha256 = "92d2e2e9e80f75285aabb3ac62edc6db028b15b752a6cbcbb3795566cbeb744f";
+ sha256 = "16ddc3622e4c2d456aa98328f55a6bf93e0c0462b0ca72382be6f3e0edc6811f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ko/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ko/thunderbird-128.4.0esr.tar.bz2";
locale = "ko";
arch = "linux-i686";
- sha256 = "4ea9a6c97b458928a66341d86ed0fd274b27b1e3a2259971b8bf795ab36656c7";
+ sha256 = "874447583a9c7685c48cfcfdd663d8234540e088ad6336b3281837a355ba5df3";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/lt/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/lt/thunderbird-128.4.0esr.tar.bz2";
locale = "lt";
arch = "linux-i686";
- sha256 = "5037fd5bff06a053331b2ad6312f35af1dd881b2b017fb92ac4c433bf7c10a20";
+ sha256 = "dd57c0e4c96e9ddde9e49f8db763246a4f65c451be62d4f74989993d72edff11";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/lv/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/lv/thunderbird-128.4.0esr.tar.bz2";
locale = "lv";
arch = "linux-i686";
- sha256 = "0498e5ae2815fcb979230f3166cfeed89d02bddc9c7ed73646600fca2eb44aec";
+ sha256 = "e1b0fdb30d1d4129fd3e9cb1a72040f6a0cbc906e7a8f09b70bc06a742062afa";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ms/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ms/thunderbird-128.4.0esr.tar.bz2";
locale = "ms";
arch = "linux-i686";
- sha256 = "bfbb9fa1a5c1d4aa4c9c73c7e02628c1f01c314fc252370fc6a96896a666db57";
+ sha256 = "4ef54e071c9ca46a39aec1a965cd7a0a2509ceff6643279b0655bcdacebc9adf";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/nb-NO/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/nb-NO/thunderbird-128.4.0esr.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
- sha256 = "da6ce60429e87f38ff66ce975f4a63e1f2e6f8b2a7ba4f895a32760c09fa02da";
+ sha256 = "92d48bf7e3bab1f3e56affeedf7942616b99c7702254f2e88ceacdd0bfe4ce27";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/nl/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/nl/thunderbird-128.4.0esr.tar.bz2";
locale = "nl";
arch = "linux-i686";
- sha256 = "514646876e7654bc5a7141d919cce98eff22e07180a37d6765f87629fc48724b";
+ sha256 = "08060766e951a2c45304dc16a0ab3eb25b8b5b6e0dbcf9ec3b6bf42813287e5d";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/nn-NO/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/nn-NO/thunderbird-128.4.0esr.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
- sha256 = "dda61d6545277b5d8f53100712796e2ebbf3c8b759c4bee0f5c467bf8419d9ed";
+ sha256 = "8722da03e9accc9d746ea4bbee2e54a402bb727e3e7dec89f707a3a893542aa9";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/pa-IN/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/pa-IN/thunderbird-128.4.0esr.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
- sha256 = "02b524802db090431e2c1888b1fee5148d22ae7ae7a6d4a22c18afda11bf5c84";
+ sha256 = "afa7ff5f443879b6423c5d68b320aa4783fce66a400000b87d5ab8141538ea65";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/pl/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/pl/thunderbird-128.4.0esr.tar.bz2";
locale = "pl";
arch = "linux-i686";
- sha256 = "43991a49c7e68753599b4b7b6e5b0d23f199d57b85824ccc56b9b4bfa2c4f7e5";
+ sha256 = "c464f3af685089e44b95b6d328465f84b8b9052e05d8cf6650eba704500789d1";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/pt-BR/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/pt-BR/thunderbird-128.4.0esr.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
- sha256 = "d9af07aadc66ce20772407de1a458756545775b95b70c8c56c71a6b3ca48cd94";
+ sha256 = "fb0067b077d68e8d5b11b70a72ac7fccbaf8b0a235b1a0f4b32b7ed0d21a94cd";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/pt-PT/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/pt-PT/thunderbird-128.4.0esr.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
- sha256 = "523bcc1b478dcc9e54a1f4c6743fc546ea0b18956d907149641d34598ffccc6e";
+ sha256 = "446e8b19db276e988f1d25f057e4343f467d82f6a1ca33fe96e19f51c6d9a2e3";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/rm/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/rm/thunderbird-128.4.0esr.tar.bz2";
locale = "rm";
arch = "linux-i686";
- sha256 = "5a6fef50c1acfb0cd2e91d9e03aad4afd688436dcca5280bdb49ba144e97a439";
+ sha256 = "7ea76c1352591cc5c2e612c150ad51b57d0fa18f75b667ac24551ede81f0c3fb";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ro/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ro/thunderbird-128.4.0esr.tar.bz2";
locale = "ro";
arch = "linux-i686";
- sha256 = "298aeaa7ae0afaa6531a566e2e8ce072adcc62f7646cf33bfbd3acc450335881";
+ sha256 = "8cbce1993c005a231e47a034affe17f1bcdfdba8d6a157320c997353ab63efeb";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/ru/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/ru/thunderbird-128.4.0esr.tar.bz2";
locale = "ru";
arch = "linux-i686";
- sha256 = "c017f418996a8cc7fb7bd2c4062df1ba1dcf4c2b8df7d23a44fe7e0aebd00b2c";
+ sha256 = "79f4ca2a069d07ab2888061e53c360b992e95fa74129924abaf74e00158f73c9";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/sk/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/sk/thunderbird-128.4.0esr.tar.bz2";
locale = "sk";
arch = "linux-i686";
- sha256 = "84079eedbd6c2a5cf4733f256a583b302209dc84a30d2305b859bd10efa87c1f";
+ sha256 = "57a42e9106f6c51b0f1fe4f6c573d9efa1e5ac5f39e0573902243a1518164de7";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/sl/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/sl/thunderbird-128.4.0esr.tar.bz2";
locale = "sl";
arch = "linux-i686";
- sha256 = "99651a3c3c28cfc1d664066bf0c197951622e55b21ba4be8f157606d63c2dafb";
+ sha256 = "6a3ed3e7c8371cb367fda41db743a2dadf54ddd7095239c1a9ab1dd37cbbdc17";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/sq/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/sq/thunderbird-128.4.0esr.tar.bz2";
locale = "sq";
arch = "linux-i686";
- sha256 = "47953845a4f03c67148bb183a629a349f3e90bb4c425fc148b1b2cab9f0631e2";
+ sha256 = "47c1e95035dcb5aae2ec736766019a5395299748d68ef1c8171f080dab50c48f";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/sr/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/sr/thunderbird-128.4.0esr.tar.bz2";
locale = "sr";
arch = "linux-i686";
- sha256 = "266e2d380f3607a3da4e68b9567d936a47552bd49173d1a44ecce572cc7338ee";
+ sha256 = "29eb0d3cbaec91f01af604328ee441822f1292cff73118dc62d9ff5c76c860ff";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/sv-SE/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/sv-SE/thunderbird-128.4.0esr.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
- sha256 = "0e97466c633f662293b53e7e61b15034d1f88718232e8cfeb32797d4110dd3af";
+ sha256 = "f8b063eaae59e4401424e3e5b0a063bfbc18aabe9de850bdde21f60dfb680f6e";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/th/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/th/thunderbird-128.4.0esr.tar.bz2";
locale = "th";
arch = "linux-i686";
- sha256 = "18bb3e26ed34c2896a2b5e57d2f740e3870354785e762b7aa827a17b9b8d5708";
+ sha256 = "60121b78803375589bbfc8b0a4e5a7027d066fde61766c43245761c50fce88a8";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/tr/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/tr/thunderbird-128.4.0esr.tar.bz2";
locale = "tr";
arch = "linux-i686";
- sha256 = "6c1d1f511ee94247f02e4b26d7125ef7e4cd839a508c1be7018127378e80915f";
+ sha256 = "eb20b61417b001a8d9a307d2fd83f5f5811d2fed4298fcfb5cf2b51426eea5a2";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/uk/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/uk/thunderbird-128.4.0esr.tar.bz2";
locale = "uk";
arch = "linux-i686";
- sha256 = "5b36b7f5efe32bf58d14d74d773cb4cdf092fe3e89e1f2facf63183699967d48";
+ sha256 = "77a58bc92ea8f6f8b0d7c2a6875c557a4dff5e364e45409631a5ba81c28f903c";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/uz/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/uz/thunderbird-128.4.0esr.tar.bz2";
locale = "uz";
arch = "linux-i686";
- sha256 = "ade3f2442dcc5b6dcce7a8114209bc7bdd3730f7e1ffd9b63b71a452fd9f657a";
+ sha256 = "eec9257fa45715942dcef7caf5e60bd257c07bd6156fffaf28df11d362ead079";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/vi/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/vi/thunderbird-128.4.0esr.tar.bz2";
locale = "vi";
arch = "linux-i686";
- sha256 = "9224b6c394daeddb695b7ccc30c21e5cbf6356db2bd1f7a6746a292a9f077b6b";
+ sha256 = "d115628a1e082a740caa3170eb7ef1f446c7c7df30589e51b22684dab8c6b00c";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/zh-CN/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/zh-CN/thunderbird-128.4.0esr.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
- sha256 = "fe17248658dd5ebcbe3f5d3dd82fa3c20f6b2a82b49e037369d8d8fa9a331083";
+ sha256 = "14bfcc00a480027136a71367183ca874ed6baa14cb81027f90b3dcc126b5a0f8";
}
- { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.3.2esr/linux-i686/zh-TW/thunderbird-128.3.2esr.tar.bz2";
+ { url = "http://archive.mozilla.org/pub/thunderbird/releases/128.4.0esr/linux-i686/zh-TW/thunderbird-128.4.0esr.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
- sha256 = "057c904f9c5e37a9b43d8410f422bf5838f18c63135add2b3f3270e2c900ea09";
+ sha256 = "2e413d73f33586ed87eb8a736ef12b62593158bc67a3f57bec3e04b77513717a";
}
];
}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index 9b406f623489..65f001348788 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -27,6 +27,7 @@ let
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
license = licenses.mpl20;
+ knownVulnerabilities = lib.optionals (lib.versionOlder version "116") [ "Thunderbird 115 support ended in Octoboer 2024." ];
};
}).override {
geolocationSupport = false;
@@ -61,8 +62,8 @@ in rec {
};
thunderbird-128 = common {
- version = "128.3.1esr";
- sha512 = "9fef04a0c498eb16688c141cb7d45e803ecc75ea6fc6117ff8ad1e6b049716f49b435f3e5a1baa703fa937e25483137e22256e58572eeacf317de264b961ba6a";
+ version = "128.4.0esr";
+ sha512 = "ad031b3a9b738598358cead23cf8438435016222cd9a474c31892dc1b3db43d2d5d3a10c9639df770dc76eb3c0bc9db8be8beab84828d54ee50fc1e03f0da0a5";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-128";
diff --git a/pkgs/by-name/to/tor-browser/package.nix b/pkgs/by-name/to/tor-browser/package.nix
index 8c09006e74da..a148e0552835 100644
--- a/pkgs/by-name/to/tor-browser/package.nix
+++ b/pkgs/by-name/to/tor-browser/package.nix
@@ -102,7 +102,7 @@ lib.warnIf (useHardenedMalloc != null)
++ lib.optionals mediaSupport [ ffmpeg ]
);
- version = "14.0";
+ version = "14.0.1";
sources = {
x86_64-linux = fetchurl {
@@ -112,7 +112,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
];
- hash = "sha256-RNsTj8/HP10ElIjutYCqp50gN7W7Kz+DA94rkkU/VaI=";
+ hash = "sha256-DQbKMaXgEXNKHPonQF7RZ1TtEqCRnvD81ahyVUkknY8=";
};
i686-linux = fetchurl {
@@ -122,7 +122,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
];
- hash = "sha256-rHInikR2UvsB8A0cC7gqj09CWajJtR9ZhS3WFrv2z94=";
+ hash = "sha256-khY/B4c0DjqRd0s9PblEhL0jJONVU5mQCAqZ60M+CjE=";
};
};
diff --git a/pkgs/development/libraries/nss/latest.nix b/pkgs/development/libraries/nss/latest.nix
index 143bb32a5677..a6c5e3dd4c2b 100644
--- a/pkgs/development/libraries/nss/latest.nix
+++ b/pkgs/development/libraries/nss/latest.nix
@@ -5,6 +5,6 @@
# Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
import ./generic.nix {
- version = "3.105";
- hash = "sha256-Nfd7u0sdGqUCznnUxEJQFs+QuRSb+b7rZrcvKryimOQ=";
+ version = "3.106";
+ hash = "sha256-j8B5RgEdBbtqPmIUniNF8ToGPIrPJ8gVTMplcv72fD0=";
}
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index e22779f6d9ca..2925404ef1f8 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -23,7 +23,11 @@ rec {
"x86_64-darwin"
"x86_64-linux"
"x86_64-windows"
- ]
+ ],
+
+ # Extra attributes to be merged into the resulting derivation's
+ # meta attribute.
+ meta ? {}
}:
{ lib
@@ -152,7 +156,7 @@ rec {
license = licenses.asl20;
maintainers = with maintainers; [ lorenzleutgeb liff ];
mainProgram = "gradle";
- };
+ } // meta;
});
# NOTE: Default JDKs that are hardcoded below must be LTS versions
@@ -178,5 +182,11 @@ rec {
nativeVersion = "0.22-milestone-20";
hash = "sha256-PiQCKFON6fGHcqV06ZoLqVnoPW7zUQFDgazZYxeBOJo=";
defaultJava = jdk11;
+ meta.knownVulnerabilities = [
+ "CVE-2021-29429: '[...]files created with open permissions in the system temporary directory can allow an attacker to access information downloaded by Gradle[...]'"
+ "CVE-2021-29427: '[...]there is a vulnerability which can lead to information disclosure and/or dependency poisoning[...] In some cases, Gradle may ignore content filters and search all repositories for dependencies. This only occurs when repository content filtering is used from within a `pluginManagement` block in a settings file.'"
+ "CVE-2021-29428: '[...]the system temporary directory can be created with open permissions that allow multiple users to create and delete files within it. Gradle builds could be vulnerable to a local privilege escalation from an attacker quickly deleting and recreating files in the system temporary directory.'"
+ "CVE-2021-32751: '[...]start scripts generated by the `application` plugin and the `gradlew` script are both vulnerable to arbitrary code execution when an attacker is able to change environment variables for the user running the script[...]'"
+ ];
};
}
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index d5190aa1d945..d342f76a2d9c 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -29,7 +29,8 @@
assert releaseType == "alpha"
|| releaseType == "headless"
- || releaseType == "demo";
+ || releaseType == "demo"
+ || releaseType == "expansion";
let
@@ -272,6 +273,7 @@ let
cp -a doc-html $out/share/factorio
'';
};
+ expansion = alpha;
};
in
diff --git a/pkgs/games/factorio/update.py b/pkgs/games/factorio/update.py
index c234b36264e8..6da1d9dfee7d 100755
--- a/pkgs/games/factorio/update.py
+++ b/pkgs/games/factorio/update.py
@@ -55,6 +55,7 @@ SYSTEMS = [
RELEASE_TYPES = [
ReleaseType("alpha", needs_auth=True),
+ ReleaseType("expansion", needs_auth=True),
ReleaseType("demo"),
ReleaseType("headless"),
]
diff --git a/pkgs/games/factorio/versions-1.json b/pkgs/games/factorio/versions-1.json
new file mode 100644
index 000000000000..60e88c026f9d
--- /dev/null
+++ b/pkgs/games/factorio/versions-1.json
@@ -0,0 +1,58 @@
+{
+ "x86_64-linux": {
+ "alpha": {
+ "experimental": {
+ "name": "factorio_alpha_x64-1.1.110.tar.xz",
+ "needsAuth": true,
+ "sha256": "0ndhb94lh47n09a7wshm2inv52fd6rjfa7fk7nk9b7zzh84i7f4x",
+ "tarDirectory": "x64",
+ "url": "https://factorio.com/get-download/1.1.110/alpha/linux64",
+ "version": "1.1.110"
+ },
+ "stable": {
+ "name": "factorio_alpha_x64-1.1.110.tar.xz",
+ "needsAuth": true,
+ "sha256": "0ndhb94lh47n09a7wshm2inv52fd6rjfa7fk7nk9b7zzh84i7f4x",
+ "tarDirectory": "x64",
+ "url": "https://factorio.com/get-download/1.1.110/alpha/linux64",
+ "version": "1.1.110"
+ }
+ },
+ "demo": {
+ "experimental": {
+ "name": "factorio_demo_x64-1.1.110.tar.xz",
+ "needsAuth": false,
+ "sha256": "0dasxgrybl00vrabgrlarsvg0hdg5rvn3y4hsljhqc4zpbf93nxx",
+ "tarDirectory": "x64",
+ "url": "https://factorio.com/get-download/1.1.110/demo/linux64",
+ "version": "1.1.110"
+ },
+ "stable": {
+ "name": "factorio_demo_x64-1.1.110.tar.xz",
+ "needsAuth": false,
+ "sha256": "0dasxgrybl00vrabgrlarsvg0hdg5rvn3y4hsljhqc4zpbf93nxx",
+ "tarDirectory": "x64",
+ "url": "https://factorio.com/get-download/1.1.110/demo/linux64",
+ "version": "1.1.110"
+ }
+ },
+ "headless": {
+ "experimental": {
+ "name": "factorio_headless_x64-1.1.110.tar.xz",
+ "needsAuth": false,
+ "sha256": "0sk4g9y051xjhiwdhj1yz808308zwsbpq3nps1ywvpp56vdycps8",
+ "tarDirectory": "x64",
+ "url": "https://factorio.com/get-download/1.1.110/headless/linux64",
+ "version": "1.1.110"
+ },
+ "stable": {
+ "name": "factorio_headless_x64-1.1.110.tar.xz",
+ "needsAuth": false,
+ "sha256": "0sk4g9y051xjhiwdhj1yz808308zwsbpq3nps1ywvpp56vdycps8",
+ "tarDirectory": "x64",
+ "url": "https://factorio.com/get-download/1.1.110/headless/linux64",
+ "version": "1.1.110"
+ }
+ }
+ }
+}
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index 60e88c026f9d..63ea8becf28f 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,20 +2,20 @@
"x86_64-linux": {
"alpha": {
"experimental": {
- "name": "factorio_alpha_x64-1.1.110.tar.xz",
+ "name": "factorio_alpha_x64-2.0.8.tar.xz",
"needsAuth": true,
- "sha256": "0ndhb94lh47n09a7wshm2inv52fd6rjfa7fk7nk9b7zzh84i7f4x",
+ "sha256": "11g1fgfm0lki9j2jsfmvlxzisbyx7482ia2qf7gnjcqhp6jkdsll",
"tarDirectory": "x64",
- "url": "https://factorio.com/get-download/1.1.110/alpha/linux64",
- "version": "1.1.110"
+ "url": "https://factorio.com/get-download/2.0.8/alpha/linux64",
+ "version": "2.0.8"
},
"stable": {
- "name": "factorio_alpha_x64-1.1.110.tar.xz",
+ "name": "factorio_alpha_x64-2.0.8.tar.xz",
"needsAuth": true,
- "sha256": "0ndhb94lh47n09a7wshm2inv52fd6rjfa7fk7nk9b7zzh84i7f4x",
+ "sha256": "11g1fgfm0lki9j2jsfmvlxzisbyx7482ia2qf7gnjcqhp6jkdsll",
"tarDirectory": "x64",
- "url": "https://factorio.com/get-download/1.1.110/alpha/linux64",
- "version": "1.1.110"
+ "url": "https://factorio.com/get-download/2.0.8/alpha/linux64",
+ "version": "2.0.8"
}
},
"demo": {
@@ -36,22 +36,32 @@
"version": "1.1.110"
}
},
+ "expansion": {
+ "stable": {
+ "name": "factorio_expansion_x64-2.0.8.tar.xz",
+ "needsAuth": true,
+ "sha256": "0q3abb01ld1mlbp21lgzpa62j1gybs982yzan5j1axma9n1ax3j0",
+ "tarDirectory": "x64",
+ "url": "https://factorio.com/get-download/2.0.8/expansion/linux64",
+ "version": "2.0.8"
+ }
+ },
"headless": {
"experimental": {
- "name": "factorio_headless_x64-1.1.110.tar.xz",
+ "name": "factorio_headless_x64-2.0.8.tar.xz",
"needsAuth": false,
- "sha256": "0sk4g9y051xjhiwdhj1yz808308zwsbpq3nps1ywvpp56vdycps8",
+ "sha256": "1jp1vlc4indicgy0xnrxq87h32wcv9s4g2hqbfb4ygiaam6lqnfr",
"tarDirectory": "x64",
- "url": "https://factorio.com/get-download/1.1.110/headless/linux64",
- "version": "1.1.110"
+ "url": "https://factorio.com/get-download/2.0.8/headless/linux64",
+ "version": "2.0.8"
},
"stable": {
- "name": "factorio_headless_x64-1.1.110.tar.xz",
+ "name": "factorio_headless_x64-2.0.8.tar.xz",
"needsAuth": false,
- "sha256": "0sk4g9y051xjhiwdhj1yz808308zwsbpq3nps1ywvpp56vdycps8",
+ "sha256": "1jp1vlc4indicgy0xnrxq87h32wcv9s4g2hqbfb4ygiaam6lqnfr",
"tarDirectory": "x64",
- "url": "https://factorio.com/get-download/1.1.110/headless/linux64",
- "version": "1.1.110"
+ "url": "https://factorio.com/get-download/2.0.8/headless/linux64",
+ "version": "2.0.8"
}
}
}
diff --git a/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon.nix b/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon.nix
index 5e7ed1b817e0..460c05d880b7 100644
--- a/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon.nix
+++ b/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon.nix
@@ -1,6 +1,6 @@
{ callPackage
, fetchFromGitHub
-, gradle_6
+, fetchpatch
, substitute
}:
@@ -16,10 +16,26 @@ callPackage ./generic.nix rec {
hash = "sha256-VQcWkbGe/0qyt3M5WWgTxczwC5mE3lRHbYidOwRoukI=";
};
- patches = [(substitute {
- src = ./disable-git-version.patch;
- substitutions = [ "--subst-var-by" "version" version ];
- })];
+ patches = [
+ (substitute {
+ src = ./disable-git-version.patch;
+ substitutions = [ "--subst-var-by" "version" version ];
+ })
+ # FIXME: Remove after next release
+ (fetchpatch {
+ name = "Update-desktop-build-script-for-Gradle-7.0+";
+ url = "https://github.com/TrashboxBobylev/Summoning-Pixel-Dungeon/commit/5610142126e161cbdc78a07c5d5abfbcd6eaf8a6.patch";
+ hash = "sha256-zAiOz/Cu89Y+VmAyLCf7fzq0Mr0sYFZu14sqBZ/XvZU=";
+ })
+ ];
+
+ postPatch = ''
+ # Upstream patched this in https://github.com/TrashboxBobylev/Summoning-Pixel-Dungeon/commit/c8a6fdd57c49fd91bf65be48679ae6a77578ef9f,
+ # but the patch fails to apply cleanly. Manually replace the deprecated option instead.
+ # FIXME: Remove after next release
+ substituteInPlace gradle.properties \
+ --replace-fail "-XX:MaxPermSize" "-XX:MaxMetaspaceSize"
+ '';
depsHash = "sha256-0P/BcjNnbDN25DguRcCyzPuUG7bouxEx1ySodIbSwvg=";
@@ -30,7 +46,4 @@ callPackage ./generic.nix rec {
downloadPage = "https://github.com/TrashboxBobylev/Summoning-Pixel-Dungeon/releases";
description = "A fork of the Shattered Pixel Dungeon roguelike with added summoning mechanics";
};
-
- # Probably due to https://github.com/gradle/gradle/issues/17236
- gradle = gradle_6;
}
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index 4d3d1f076be7..5103437ccb53 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "microcode-intel";
- version = "20240910";
+ version = "20241029";
src = fetchFromGitHub {
owner = "intel";
repo = "Intel-Linux-Processor-Microcode-Data-Files";
rev = "microcode-${version}";
- hash = "sha256-cn0qK81dwbamh5PBlPuC9KtDWyT2NwSxDD0XlCRAv6s=";
+ hash = "sha256-iS7OSWjAYBRHP7X1C+DiMwX2xudA6tXX6cEv/IcICxc=";
};
nativeBuildInputs = [ iucode-tool libarchive ];
diff --git a/pkgs/os-specific/linux/scx/default.nix b/pkgs/os-specific/linux/scx/default.nix
new file mode 100644
index 000000000000..e064e45c50cb
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/default.nix
@@ -0,0 +1,79 @@
+{
+ lib,
+ callPackage,
+ pkg-config,
+ rustPlatform,
+ llvmPackages,
+ elfutils,
+ zlib,
+ fetchFromGitHub,
+}:
+let
+ versionInfo = lib.importJSON ./version.json;
+
+ # Useful function for packaging schedulers, should be used unless the build system is too complex
+ # passes some default values like src, version (all of which can be overridden)
+ mkScxScheduler =
+ packageType:
+ args@{ schedulerName, ... }:
+ (if packageType == "rust" then rustPlatform.buildRustPackage else llvmPackages.stdenv.mkDerivation)
+ (
+ args
+ // {
+ pname = "${schedulerName}";
+ version = args.version or versionInfo.scx.version;
+
+ src = args.src or fetchFromGitHub {
+ owner = "sched-ext";
+ repo = "scx";
+ rev = "refs/tags/v${versionInfo.scx.version}";
+ inherit (versionInfo.scx) hash;
+ };
+
+ nativeBuildInputs = [
+ pkg-config
+ llvmPackages.clang
+ ] ++ (args.nativeBuildInputs or [ ]);
+ buildInputs = [
+ elfutils
+ zlib
+ ] ++ (args.buildInputs or [ ]);
+
+ env.LIBCLANG_PATH = args.env.LIBCLANG_PATH or "${llvmPackages.libclang.lib}/lib";
+
+ # Needs to be disabled in BPF builds
+ hardeningDisable = [
+ "zerocallusedregs"
+ ] ++ (args.hardeningDisable or [ ]);
+
+ meta = (args.meta or { }) // {
+ description = args.meta.description or "";
+ longDescription =
+ (args.meta.longDescription or "")
+ + ''
+ \n\nSched-ext schedulers are only available on supported kernels
+ (6.12 and above or any kernel with the scx patchset applied).'';
+
+ homepage = args.meta.homepage or "https://github.com/sched-ext/scx";
+ license = args.meta.license or lib.licenses.gpl2Only;
+ platforms = args.meta.platforms or lib.platforms.linux;
+ maintainers = (args.meta.maintainers or [ ]) ++ (with lib.maintainers; [ johnrtitor ]);
+ };
+ }
+ );
+
+ schedulers = lib.mergeAttrsList [
+ { bpfland = import ./scx_bpfland; }
+ { lavd = import ./scx_lavd; }
+ { layered = import ./scx_layered; }
+ { rlfifo = import ./scx_rlfifo; }
+ { rustland = import ./scx_rustland; }
+ { rusty = import ./scx_rusty; }
+ { csheds = import ./scx_csheds.nix; }
+ { full = import ./scx_full.nix; }
+ ];
+in
+(lib.mapAttrs (name: scheduler: callPackage scheduler { inherit mkScxScheduler; }) schedulers)
+// {
+ inherit mkScxScheduler;
+}
diff --git a/pkgs/os-specific/linux/scx/scx_bpfland/Cargo.lock b/pkgs/os-specific/linux/scx/scx_bpfland/Cargo.lock
new file mode 100644
index 000000000000..8ff68f351b08
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_bpfland/Cargo.lock
@@ -0,0 +1,1530 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
+
+[[package]]
+name = "autocfg"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+
+[[package]]
+name = "bindgen"
+version = "0.69.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+dependencies = [
+ "bitflags",
+ "cexpr",
+ "clang-sys",
+ "itertools",
+ "lazy_static",
+ "lazycell",
+ "log",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn",
+ "which",
+]
+
+[[package]]
+name = "bitflags"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "serde",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "camino"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-platform"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cc"
+version = "1.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1"
+dependencies = [
+ "shlex",
+]
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
+[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
+ "terminal_size",
+ "unicase",
+ "unicode-width 0.2.0",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
+
+[[package]]
+name = "const_format"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48"
+dependencies = [
+ "const_format_proc_macros",
+]
+
+[[package]]
+name = "const_format_proc_macros"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[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 = "crossbeam"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "ctrlc"
+version = "3.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3"
+dependencies = [
+ "nix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "either"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+
+[[package]]
+name = "endian-type"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
+
+[[package]]
+name = "filetime"
+version = "0.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "libredox",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.15.0",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "js-sys"
+version = "0.3.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0cb94a0ffd3f3ee755c20f7d8752f45cac88605a4dcf808abcff72873296ec7b"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libbpf-cargo"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79a715b0dbcbf93cb2d674d244341180120e9bff0ddbc81b42d6ccf1a4fdd483"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.15.4",
+ "clap",
+ "libbpf-rs",
+ "memmap2",
+ "regex",
+ "semver",
+ "serde",
+ "serde_json",
+ "tempfile",
+]
+
+[[package]]
+name = "libbpf-rs"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bafb274d5b387bfe6e91e95b2481891c0cfcd7ee4bb48e992439becd0eb3e36c"
+dependencies = [
+ "bitflags",
+ "libbpf-sys",
+ "libc",
+ "vsprintf",
+]
+
+[[package]]
+name = "libbpf-sys"
+version = "1.4.5+v1.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cabee52b6f7e73308d6fd4f8e6bbbdcb97670f49f6e581c5897e4d2410b6019"
+dependencies = [
+ "cc",
+ "nix",
+ "pkg-config",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.159"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
+
+[[package]]
+name = "libloading"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
+dependencies = [
+ "cfg-if",
+ "windows-targets",
+]
+
+[[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+
+[[package]]
+name = "log"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "memmap2"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "metrics"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261"
+dependencies = [
+ "ahash",
+ "portable-atomic",
+]
+
+[[package]]
+name = "metrics-util"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828"
+dependencies = [
+ "aho-corasick",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "hashbrown 0.14.5",
+ "indexmap",
+ "metrics",
+ "num_cpus",
+ "ordered-float",
+ "quanta",
+ "radix_trie",
+ "sketches-ddsketch",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "nibble_vec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[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 = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "num_threads"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+
+[[package]]
+name = "ordered-float"
+version = "4.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d501f1a72f71d3c063a6bbc8f7271fa73aa09fe5d6283b6571e2ed176a2537"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
+
+[[package]]
+name = "portable-atomic"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "prettyplease"
+version = "0.2.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba"
+dependencies = [
+ "proc-macro2",
+ "syn",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quanta"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5"
+dependencies = [
+ "crossbeam-utils",
+ "libc",
+ "once_cell",
+ "raw-cpuid",
+ "wasi",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "radix_trie"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
+dependencies = [
+ "endian-type",
+ "nibble_vec",
+]
+
+[[package]]
+name = "raw-cpuid"
+version = "11.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "regex"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.38.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
+dependencies = [
+ "bitflags",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
+
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+
+[[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 = "scx_bpfland"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "clap",
+ "crossbeam",
+ "ctrlc",
+ "libbpf-rs",
+ "log",
+ "scx_stats",
+ "scx_stats_derive",
+ "scx_utils",
+ "serde",
+ "simplelog",
+]
+
+[[package]]
+name = "scx_stats"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "crossbeam",
+ "libc",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_stats_derive"
+version = "1.0.5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "scx_stats",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_utils"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "bindgen",
+ "bitvec",
+ "glob",
+ "hex",
+ "lazy_static",
+ "libbpf-cargo",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "metrics",
+ "metrics-util",
+ "paste",
+ "regex",
+ "scx_stats",
+ "serde",
+ "sscanf",
+ "tar",
+ "vergen",
+ "version-compare",
+ "walkdir",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.128"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "simplelog"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0"
+dependencies = [
+ "log",
+ "termcolor",
+ "time",
+]
+
+[[package]]
+name = "sketches-ddsketch"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c"
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "sscanf"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a147d3cf7e723671ed11355b5b008c8019195f7fc902e213f5557d931e9f839d"
+dependencies = [
+ "const_format",
+ "lazy_static",
+ "regex",
+ "sscanf_macro",
+]
+
+[[package]]
+name = "sscanf_macro"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af3a37bdf8e90e77cc60f74473edf28d922ae2eacdd595e67724ccd2381774cc"
+dependencies = [
+ "convert_case",
+ "proc-macro2",
+ "quote",
+ "regex-syntax 0.6.29",
+ "strsim 0.10.0",
+ "syn",
+ "unicode-width 0.1.12",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
+name = "syn"
+version = "2.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tar"
+version = "0.4.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "once_cell",
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef"
+dependencies = [
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "time"
+version = "0.3.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+dependencies = [
+ "deranged",
+ "itoa",
+ "libc",
+ "num-conv",
+ "num_threads",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "unicase"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
+
+[[package]]
+name = "unicode-width"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
+[[package]]
+name = "vergen"
+version = "8.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.18.1",
+ "cfg-if",
+ "regex",
+ "rustversion",
+ "time",
+]
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "vsprintf"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aec2f81b75ca063294776b4f7e8da71d1d5ae81c2b1b149c8d89969230265d63"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[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.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef073ced962d62984fb38a36e5fdc1a2b23c9e0e1fa0689bb97afa4202ef6887"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4bfab14ef75323f4eb75fa52ee0a3fb59611977fd3240da19b2cf36ff85030e"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7bec9830f60924d9ceb3ef99d55c155be8afa76954edffbb5936ff4509474e7"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c74f6e152a76a2ad448e223b0fc0b6b5747649c3d769cc6bf45737bf97d0ed6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a42f6c679374623f295a8623adfe63d9284091245c3504bde47c17a3ce2777d9"
+
+[[package]]
+name = "web-sys"
+version = "0.3.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44188d185b5bdcae1052d08bcbcf9091a5524038d4572cc4f4f2bb9d5554ddd9"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+]
+
+[[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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xattr"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
+dependencies = [
+ "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
diff --git a/pkgs/os-specific/linux/scx/scx_bpfland/default.nix b/pkgs/os-specific/linux/scx/scx_bpfland/default.nix
new file mode 100644
index 000000000000..96284e55bc40
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_bpfland/default.nix
@@ -0,0 +1,38 @@
+{
+ stdenv,
+ lib,
+ mkScxScheduler,
+}:
+
+mkScxScheduler "rust" {
+ schedulerName = "scx_bpfland";
+
+ cargoRoot = "scheds/rust/scx_bpfland";
+ cargoLock.lockFile = ./Cargo.lock;
+ postPatch = ''
+ rm Cargo.toml Cargo.lock
+ ln -fs ${./Cargo.lock} scheds/rust/scx_bpfland/Cargo.lock
+ '';
+
+ preBuild = ''
+ cd scheds/rust/scx_bpfland
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/bin
+ cp target/${stdenv.targetPlatform.config}/release/scx_bpfland $out/bin/
+ runHook postInstall
+ '';
+
+ meta = {
+ description = "Sched-ext Rust userspace scheduler";
+ longDescription = ''
+ Vruntime-based Sched-ext scheduler that prioritizes interactive workloads. This
+ scheduler is derived from scx_rustland, but it is fully implemented in BPF. It
+ has a minimal user-space Rust part to process command line options, collect metrics
+ and log out scheduling statistics. The BPF part makes all the scheduling decisions.
+ '';
+ mainProgram = "scx_bpfland";
+ };
+}
diff --git a/pkgs/os-specific/linux/scx/scx_csheds.nix b/pkgs/os-specific/linux/scx/scx_csheds.nix
new file mode 100644
index 000000000000..82d175141357
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_csheds.nix
@@ -0,0 +1,109 @@
+{
+ stdenv,
+ lib,
+ mkScxScheduler,
+ fetchFromGitHub,
+ writeShellScript,
+ bash,
+ meson,
+ ninja,
+ jq,
+ bpftools,
+ elfutils,
+ zlib,
+ libbpf,
+}:
+
+let
+ versionInfo = lib.importJSON ./version.json;
+
+ # scx needs a specific commit of bpftool
+ # can be found in meson.build of scx src
+ # grep 'bpftool_commit =' ./meson.build
+ bpftools_src = fetchFromGitHub {
+ owner = "libbpf";
+ repo = "bpftool";
+ inherit (versionInfo.bpftool) rev hash;
+ fetchSubmodules = true;
+ };
+
+ # scx needs a specific commit of bpftool
+ # this imitates the fetch_bpftool script in src/meson-scripts
+ fetchBpftool = writeShellScript "fetch_bpftool" ''
+ [ "$2" == '${bpftools_src.rev}' ] || exit 1
+ cd "$1"
+ cp --no-preserve=mode,owner -r "${bpftools_src}/" ./bpftool
+ '';
+
+ # Fixes a bug with the meson build script where it specifies
+ # /bin/bash twice in the script
+ misbehaviorBash = writeShellScript "bash" ''
+ shift 1
+ exec ${lib.getExe bash} "$@"
+ '';
+
+ # Won't build with stable libbpf, so use the latest commit
+ libbpf-git = libbpf.overrideAttrs (oldAttrs: {
+ src = fetchFromGitHub {
+ owner = "libbpf";
+ repo = "libbpf";
+ inherit (versionInfo.libbpf) rev hash;
+ fetchSubmodules = true;
+ };
+ });
+
+in
+mkScxScheduler "c" {
+ schedulerName = "scx_csheds";
+
+ postPatch = ''
+ rm meson-scripts/fetch_bpftool
+ patchShebangs ./meson-scripts
+ cp ${fetchBpftool} meson-scripts/fetch_bpftool
+ substituteInPlace meson.build \
+ --replace-fail '[build_bpftool' "['${misbehaviorBash}', build_bpftool"
+ '';
+
+ nativeBuildInputs = [
+ meson
+ ninja
+ jq
+ ] ++ bpftools.buildInputs ++ bpftools.nativeBuildInputs;
+
+ buildInputs = [
+ elfutils
+ zlib
+ libbpf-git
+ ];
+
+ mesonFlags = [
+ (lib.mapAttrsToList lib.mesonEnable {
+ # systemd unit is implemented in the nixos module
+ # upstream systemd files are a hassle to patch
+ "systemd" = false;
+ "openrc" = false;
+ # libbpf is already fetched as FOD
+ "libbpf_a" = false;
+ # not for nix
+ "libalpm" = false;
+ })
+ (lib.mapAttrsToList lib.mesonBool {
+ # needed libs are already fetched as FOD
+ "offline" = true;
+ # rust based schedulers are built seperately
+ "enable_rust" = false;
+ })
+ ];
+
+ hardeningDisable = [
+ "stackprotector"
+ ];
+
+ meta = {
+ description = "Sched-ext C userspace schedulers";
+ longDescription = ''
+ This includes C based schedulers such as scx_central, scx_flatcg,
+ scx_nest, scx_pair, scx_qmap, scx_simple, scx_userland.
+ '';
+ };
+}
diff --git a/pkgs/os-specific/linux/scx/scx_full.nix b/pkgs/os-specific/linux/scx/scx_full.nix
new file mode 100644
index 000000000000..48254ee4c2c8
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_full.nix
@@ -0,0 +1,28 @@
+{
+ stdenv,
+ lib,
+ scx,
+ mkScxScheduler,
+}:
+scx.csheds.overrideAttrs (oldAttrs: {
+ pname = "scx_full";
+ postInstall =
+ (oldAttrs.postInstall or "")
+ + ''
+ cp ${lib.getExe scx.bpfland} $out/bin/
+ cp ${lib.getExe scx.lavd} $out/bin/
+ cp ${lib.getExe scx.layered} $out/bin/
+ cp ${lib.getExe scx.rlfifo} $out/bin/
+ cp ${lib.getExe scx.rustland} $out/bin/
+ cp ${lib.getExe scx.rusty} $out/bin/
+ '';
+
+ meta = oldAttrs.meta // {
+ description = "Sched-ext C and Rust userspace schedulers";
+ longDescription = ''
+ This includes C based schedulers such as scx_central, scx_flatcg,
+ scx_pair, scx_qmap, scx_simple, scx_userland and Rust based schedulers
+ like scx_rustland, scx_bpfland, scx_lavd, scx_layered, scx_rlfifo.
+ '';
+ };
+})
diff --git a/pkgs/os-specific/linux/scx/scx_lavd/Cargo.lock b/pkgs/os-specific/linux/scx/scx_lavd/Cargo.lock
new file mode 100644
index 000000000000..154449b6d2aa
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_lavd/Cargo.lock
@@ -0,0 +1,1646 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
+
+[[package]]
+name = "autocfg"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+
+[[package]]
+name = "bindgen"
+version = "0.69.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+dependencies = [
+ "bitflags 2.6.0",
+ "cexpr",
+ "clang-sys",
+ "itertools 0.12.1",
+ "lazy_static",
+ "lazycell",
+ "log",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn",
+ "which",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "serde",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "camino"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-platform"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cc"
+version = "1.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1"
+dependencies = [
+ "shlex",
+]
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
+[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
+ "terminal_size",
+ "unicase",
+ "unicode-width 0.2.0",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
+
+[[package]]
+name = "const_format"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48"
+dependencies = [
+ "const_format_proc_macros",
+]
+
+[[package]]
+name = "const_format_proc_macros"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[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 = "crossbeam"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "ctrlc"
+version = "3.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3"
+dependencies = [
+ "nix 0.29.0",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "either"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+
+[[package]]
+name = "endian-type"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
+
+[[package]]
+name = "fb_procfs"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16e986e12a0b63c17fe7df3569ed524da77d258a900863034571fd08f7553ac"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "nix 0.25.1",
+ "openat",
+ "serde",
+ "thiserror",
+ "threadpool",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "libredox",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "gpoint"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c00f1d62d57408109a871dd9e12b76645ec4284406d5ec838d277777ef1ef6c"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.15.0",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itertools"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "js-sys"
+version = "0.3.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0cb94a0ffd3f3ee755c20f7d8752f45cac88605a4dcf808abcff72873296ec7b"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libbpf-cargo"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79a715b0dbcbf93cb2d674d244341180120e9bff0ddbc81b42d6ccf1a4fdd483"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.15.4",
+ "clap",
+ "libbpf-rs",
+ "memmap2",
+ "regex",
+ "semver",
+ "serde",
+ "serde_json",
+ "tempfile",
+]
+
+[[package]]
+name = "libbpf-rs"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bafb274d5b387bfe6e91e95b2481891c0cfcd7ee4bb48e992439becd0eb3e36c"
+dependencies = [
+ "bitflags 2.6.0",
+ "libbpf-sys",
+ "libc",
+ "vsprintf",
+]
+
+[[package]]
+name = "libbpf-sys"
+version = "1.4.5+v1.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cabee52b6f7e73308d6fd4f8e6bbbdcb97670f49f6e581c5897e4d2410b6019"
+dependencies = [
+ "cc",
+ "nix 0.29.0",
+ "pkg-config",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.159"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
+
+[[package]]
+name = "libloading"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
+dependencies = [
+ "cfg-if",
+ "windows-targets",
+]
+
+[[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags 2.6.0",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+
+[[package]]
+name = "log"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "memmap2"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "metrics"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261"
+dependencies = [
+ "ahash",
+ "portable-atomic",
+]
+
+[[package]]
+name = "metrics-util"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828"
+dependencies = [
+ "aho-corasick",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "hashbrown 0.14.5",
+ "indexmap",
+ "metrics",
+ "num_cpus",
+ "ordered-float 4.3.0",
+ "quanta",
+ "radix_trie",
+ "sketches-ddsketch",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "nibble_vec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
+name = "nix"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
+dependencies = [
+ "autocfg",
+ "bitflags 1.3.2",
+ "cfg-if",
+ "libc",
+ "memoffset",
+ "pin-utils",
+]
+
+[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags 2.6.0",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[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 = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "num_threads"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+
+[[package]]
+name = "openat"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95aa7c05907b3ebde2610d602f4ddd992145cc6a84493647c30396f30ba83abe"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "ordered-float"
+version = "3.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "ordered-float"
+version = "4.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d501f1a72f71d3c063a6bbc8f7271fa73aa09fe5d6283b6571e2ed176a2537"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+
+[[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.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
+
+[[package]]
+name = "plain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
+
+[[package]]
+name = "portable-atomic"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "prettyplease"
+version = "0.2.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba"
+dependencies = [
+ "proc-macro2",
+ "syn",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quanta"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5"
+dependencies = [
+ "crossbeam-utils",
+ "libc",
+ "once_cell",
+ "raw-cpuid",
+ "wasi",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "radix_trie"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
+dependencies = [
+ "endian-type",
+ "nibble_vec",
+]
+
+[[package]]
+name = "raw-cpuid"
+version = "11.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "regex"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.38.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
+dependencies = [
+ "bitflags 2.6.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
+
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+
+[[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 = "scx_lavd"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "bitvec",
+ "clap",
+ "crossbeam",
+ "ctrlc",
+ "fb_procfs",
+ "gpoint",
+ "hex",
+ "itertools 0.13.0",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "ordered-float 3.9.2",
+ "plain",
+ "scx_stats",
+ "scx_stats_derive",
+ "scx_utils",
+ "serde",
+ "simplelog",
+ "static_assertions",
+]
+
+[[package]]
+name = "scx_stats"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "crossbeam",
+ "libc",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_stats_derive"
+version = "1.0.5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "scx_stats",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_utils"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "bindgen",
+ "bitvec",
+ "glob",
+ "hex",
+ "lazy_static",
+ "libbpf-cargo",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "metrics",
+ "metrics-util",
+ "paste",
+ "regex",
+ "scx_stats",
+ "serde",
+ "sscanf",
+ "tar",
+ "vergen",
+ "version-compare",
+ "walkdir",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.128"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "simplelog"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0"
+dependencies = [
+ "log",
+ "termcolor",
+ "time",
+]
+
+[[package]]
+name = "sketches-ddsketch"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c"
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "sscanf"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a147d3cf7e723671ed11355b5b008c8019195f7fc902e213f5557d931e9f839d"
+dependencies = [
+ "const_format",
+ "lazy_static",
+ "regex",
+ "sscanf_macro",
+]
+
+[[package]]
+name = "sscanf_macro"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af3a37bdf8e90e77cc60f74473edf28d922ae2eacdd595e67724ccd2381774cc"
+dependencies = [
+ "convert_case",
+ "proc-macro2",
+ "quote",
+ "regex-syntax 0.6.29",
+ "strsim 0.10.0",
+ "syn",
+ "unicode-width 0.1.12",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
+name = "syn"
+version = "2.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tar"
+version = "0.4.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "once_cell",
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef"
+dependencies = [
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "threadpool"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+dependencies = [
+ "num_cpus",
+]
+
+[[package]]
+name = "time"
+version = "0.3.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+dependencies = [
+ "deranged",
+ "itoa",
+ "libc",
+ "num-conv",
+ "num_threads",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "unicase"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
+
+[[package]]
+name = "unicode-width"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
+[[package]]
+name = "vergen"
+version = "8.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.18.1",
+ "cfg-if",
+ "regex",
+ "rustversion",
+ "time",
+]
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "vsprintf"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aec2f81b75ca063294776b4f7e8da71d1d5ae81c2b1b149c8d89969230265d63"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[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.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef073ced962d62984fb38a36e5fdc1a2b23c9e0e1fa0689bb97afa4202ef6887"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4bfab14ef75323f4eb75fa52ee0a3fb59611977fd3240da19b2cf36ff85030e"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7bec9830f60924d9ceb3ef99d55c155be8afa76954edffbb5936ff4509474e7"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c74f6e152a76a2ad448e223b0fc0b6b5747649c3d769cc6bf45737bf97d0ed6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a42f6c679374623f295a8623adfe63d9284091245c3504bde47c17a3ce2777d9"
+
+[[package]]
+name = "web-sys"
+version = "0.3.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44188d185b5bdcae1052d08bcbcf9091a5524038d4572cc4f4f2bb9d5554ddd9"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+]
+
+[[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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xattr"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
+dependencies = [
+ "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
diff --git a/pkgs/os-specific/linux/scx/scx_lavd/default.nix b/pkgs/os-specific/linux/scx/scx_lavd/default.nix
new file mode 100644
index 000000000000..68b278dff195
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_lavd/default.nix
@@ -0,0 +1,37 @@
+{
+ stdenv,
+ lib,
+ mkScxScheduler,
+}:
+
+mkScxScheduler "rust" {
+ schedulerName = "scx_lavd";
+
+ cargoRoot = "scheds/rust/scx_lavd";
+ cargoLock.lockFile = ./Cargo.lock;
+ postPatch = ''
+ rm Cargo.toml Cargo.lock
+ ln -fs ${./Cargo.lock} scheds/rust/scx_lavd/Cargo.lock
+ '';
+
+ preBuild = ''
+ cd scheds/rust/scx_lavd
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/bin
+ cp target/${stdenv.targetPlatform.config}/release/scx_lavd $out/bin/
+ runHook postInstall
+ '';
+
+ meta = {
+ description = "Sched-ext Rust userspace scheduler";
+ longDescription = ''
+ BPF scheduler that implements an LAVD (Latency-criticality Aware Virtual Deadline)
+ scheduling algorithm. typical use case involves highly interactive applications,
+ such as gaming, which requires high throughput and low tail latencies.
+ '';
+ mainProgram = "scx_lavd";
+ };
+}
diff --git a/pkgs/os-specific/linux/scx/scx_layered/Cargo.lock b/pkgs/os-specific/linux/scx/scx_layered/Cargo.lock
new file mode 100644
index 000000000000..81dd90a77f1c
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_layered/Cargo.lock
@@ -0,0 +1,1672 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
+
+[[package]]
+name = "autocfg"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+
+[[package]]
+name = "bindgen"
+version = "0.69.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+dependencies = [
+ "bitflags 2.6.0",
+ "cexpr",
+ "clang-sys",
+ "itertools",
+ "lazy_static",
+ "lazycell",
+ "log",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn",
+ "which",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "serde",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "camino"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-platform"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cc"
+version = "1.1.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945"
+dependencies = [
+ "shlex",
+]
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
+[[package]]
+name = "chrono"
+version = "0.4.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "js-sys",
+ "num-traits",
+ "wasm-bindgen",
+ "windows-targets",
+]
+
+[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
+ "terminal_size",
+ "unicase",
+ "unicode-width 0.2.0",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
+
+[[package]]
+name = "const_format"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48"
+dependencies = [
+ "const_format_proc_macros",
+]
+
+[[package]]
+name = "const_format_proc_macros"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[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-sys"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
+
+[[package]]
+name = "crossbeam"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "ctrlc"
+version = "3.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3"
+dependencies = [
+ "nix 0.29.0",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "either"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+
+[[package]]
+name = "endian-type"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
+
+[[package]]
+name = "fb_procfs"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16e986e12a0b63c17fe7df3569ed524da77d258a900863034571fd08f7553ac"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "nix 0.25.1",
+ "openat",
+ "serde",
+ "thiserror",
+ "threadpool",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "libredox",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows-core",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.15.0",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "js-sys"
+version = "0.3.72"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libbpf-cargo"
+version = "0.24.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e728b7b8be47b3650fdce768075691c69c8798022eb1bab6167cce20f82b10c"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.15.4",
+ "clap",
+ "libbpf-rs",
+ "memmap2",
+ "regex",
+ "semver",
+ "serde",
+ "serde_json",
+ "tempfile",
+]
+
+[[package]]
+name = "libbpf-rs"
+version = "0.24.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73d2e61404e42ba2d97a9acbc24d046cfae978393e21b428e780adbc997504d0"
+dependencies = [
+ "bitflags 2.6.0",
+ "libbpf-sys",
+ "libc",
+ "vsprintf",
+]
+
+[[package]]
+name = "libbpf-sys"
+version = "1.4.5+v1.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cabee52b6f7e73308d6fd4f8e6bbbdcb97670f49f6e581c5897e4d2410b6019"
+dependencies = [
+ "cc",
+ "nix 0.29.0",
+ "pkg-config",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.161"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
+
+[[package]]
+name = "libloading"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
+dependencies = [
+ "cfg-if",
+ "windows-targets",
+]
+
+[[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags 2.6.0",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+
+[[package]]
+name = "log"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "memmap2"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "metrics"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261"
+dependencies = [
+ "ahash",
+ "portable-atomic",
+]
+
+[[package]]
+name = "metrics-util"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828"
+dependencies = [
+ "aho-corasick",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "hashbrown 0.14.5",
+ "indexmap",
+ "metrics",
+ "num_cpus",
+ "ordered-float",
+ "quanta",
+ "radix_trie",
+ "sketches-ddsketch",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "nibble_vec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
+name = "nix"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
+dependencies = [
+ "autocfg",
+ "bitflags 1.3.2",
+ "cfg-if",
+ "libc",
+ "memoffset",
+ "pin-utils",
+]
+
+[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags 2.6.0",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[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 = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "num_threads"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+
+[[package]]
+name = "openat"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95aa7c05907b3ebde2610d602f4ddd992145cc6a84493647c30396f30ba83abe"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "ordered-float"
+version = "4.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83e7ccb95e240b7c9506a3d544f10d935e142cc90b0a1d56954fb44d89ad6b97"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+
+[[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.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
+
+[[package]]
+name = "portable-atomic"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "prettyplease"
+version = "0.2.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba"
+dependencies = [
+ "proc-macro2",
+ "syn",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.88"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c3a7fc5db1e57d5a779a352c8cdb57b29aa4c40cc69c3a68a7fedc815fbf2f9"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quanta"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5"
+dependencies = [
+ "crossbeam-utils",
+ "libc",
+ "once_cell",
+ "raw-cpuid",
+ "wasi",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "radix_trie"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
+dependencies = [
+ "endian-type",
+ "nibble_vec",
+]
+
+[[package]]
+name = "raw-cpuid"
+version = "11.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "regex"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.38.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
+dependencies = [
+ "bitflags 2.6.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248"
+
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+
+[[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 = "scx_layered"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "bitvec",
+ "chrono",
+ "clap",
+ "crossbeam",
+ "ctrlc",
+ "fastrand",
+ "fb_procfs",
+ "lazy_static",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "scx_stats",
+ "scx_stats_derive",
+ "scx_utils",
+ "serde",
+ "serde_json",
+ "simplelog",
+]
+
+[[package]]
+name = "scx_stats"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "crossbeam",
+ "libc",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_stats_derive"
+version = "1.0.5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "scx_stats",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_utils"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "bindgen",
+ "bitvec",
+ "glob",
+ "hex",
+ "lazy_static",
+ "libbpf-cargo",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "metrics",
+ "metrics-util",
+ "paste",
+ "regex",
+ "scx_stats",
+ "serde",
+ "sscanf",
+ "tar",
+ "vergen",
+ "version-compare",
+ "walkdir",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.129"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6dbcf9b78a125ee667ae19388837dd12294b858d101fdd393cb9d5501ef09eb2"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "simplelog"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0"
+dependencies = [
+ "log",
+ "termcolor",
+ "time",
+]
+
+[[package]]
+name = "sketches-ddsketch"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c"
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "sscanf"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a147d3cf7e723671ed11355b5b008c8019195f7fc902e213f5557d931e9f839d"
+dependencies = [
+ "const_format",
+ "lazy_static",
+ "regex",
+ "sscanf_macro",
+]
+
+[[package]]
+name = "sscanf_macro"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af3a37bdf8e90e77cc60f74473edf28d922ae2eacdd595e67724ccd2381774cc"
+dependencies = [
+ "convert_case",
+ "proc-macro2",
+ "quote",
+ "regex-syntax 0.6.29",
+ "strsim 0.10.0",
+ "syn",
+ "unicode-width 0.1.12",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
+name = "syn"
+version = "2.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tar"
+version = "0.4.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "once_cell",
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef"
+dependencies = [
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "threadpool"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+dependencies = [
+ "num_cpus",
+]
+
+[[package]]
+name = "time"
+version = "0.3.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+dependencies = [
+ "deranged",
+ "itoa",
+ "libc",
+ "num-conv",
+ "num_threads",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "unicase"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
+
+[[package]]
+name = "unicode-width"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
+[[package]]
+name = "vergen"
+version = "8.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.18.1",
+ "cfg-if",
+ "regex",
+ "rustversion",
+ "time",
+]
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "vsprintf"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aec2f81b75ca063294776b4f7e8da71d1d5ae81c2b1b149c8d89969230265d63"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[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.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"
+
+[[package]]
+name = "web-sys"
+version = "0.3.72"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+]
+
+[[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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[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-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xattr"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
+dependencies = [
+ "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
diff --git a/pkgs/os-specific/linux/scx/scx_layered/default.nix b/pkgs/os-specific/linux/scx/scx_layered/default.nix
new file mode 100644
index 000000000000..2c0f6ee14d7e
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_layered/default.nix
@@ -0,0 +1,36 @@
+{
+ stdenv,
+ lib,
+ mkScxScheduler,
+}:
+
+mkScxScheduler "rust" {
+ schedulerName = "scx_layered";
+
+ cargoRoot = "scheds/rust/scx_layered";
+ cargoLock.lockFile = ./Cargo.lock;
+ postPatch = ''
+ rm Cargo.toml Cargo.lock
+ ln -fs ${./Cargo.lock} scheds/rust/scx_layered/Cargo.lock
+ '';
+
+ preBuild = ''
+ cd scheds/rust/scx_layered
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/bin
+ cp target/${stdenv.targetPlatform.config}/release/scx_layered $out/bin/
+ runHook postInstall
+ '';
+
+ meta = {
+ description = "Sched-ext Rust userspace scheduler";
+ longDescription = ''
+ Highly configurable multi-layer BPF/userspace hybrid scheduler.
+ It is designed to be highly customizable, and can be targeted for specific applications.
+ '';
+ mainProgram = "scx_layered";
+ };
+}
diff --git a/pkgs/os-specific/linux/scx/scx_rlfifo/Cargo.lock b/pkgs/os-specific/linux/scx/scx_rlfifo/Cargo.lock
new file mode 100644
index 000000000000..997b1943b53f
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_rlfifo/Cargo.lock
@@ -0,0 +1,1486 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
+
+[[package]]
+name = "autocfg"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+
+[[package]]
+name = "bindgen"
+version = "0.69.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+dependencies = [
+ "bitflags",
+ "cexpr",
+ "clang-sys",
+ "itertools",
+ "lazy_static",
+ "lazycell",
+ "log",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn",
+ "which",
+]
+
+[[package]]
+name = "bitflags"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "serde",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "camino"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-platform"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cc"
+version = "1.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1"
+dependencies = [
+ "shlex",
+]
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
+[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
+
+[[package]]
+name = "const_format"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48"
+dependencies = [
+ "const_format_proc_macros",
+]
+
+[[package]]
+name = "const_format_proc_macros"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[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 = "crossbeam"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "ctrlc"
+version = "3.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3"
+dependencies = [
+ "nix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "either"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+
+[[package]]
+name = "endian-type"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
+
+[[package]]
+name = "filetime"
+version = "0.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "libredox",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.15.0",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "js-sys"
+version = "0.3.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0cb94a0ffd3f3ee755c20f7d8752f45cac88605a4dcf808abcff72873296ec7b"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libbpf-cargo"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79a715b0dbcbf93cb2d674d244341180120e9bff0ddbc81b42d6ccf1a4fdd483"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.15.4",
+ "clap",
+ "libbpf-rs",
+ "memmap2",
+ "regex",
+ "semver",
+ "serde",
+ "serde_json",
+ "tempfile",
+]
+
+[[package]]
+name = "libbpf-rs"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bafb274d5b387bfe6e91e95b2481891c0cfcd7ee4bb48e992439becd0eb3e36c"
+dependencies = [
+ "bitflags",
+ "libbpf-sys",
+ "libc",
+ "vsprintf",
+]
+
+[[package]]
+name = "libbpf-sys"
+version = "1.4.5+v1.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cabee52b6f7e73308d6fd4f8e6bbbdcb97670f49f6e581c5897e4d2410b6019"
+dependencies = [
+ "cc",
+ "nix",
+ "pkg-config",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.159"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
+
+[[package]]
+name = "libloading"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
+dependencies = [
+ "cfg-if",
+ "windows-targets",
+]
+
+[[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+
+[[package]]
+name = "log"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "memmap2"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "metrics"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261"
+dependencies = [
+ "ahash",
+ "portable-atomic",
+]
+
+[[package]]
+name = "metrics-util"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828"
+dependencies = [
+ "aho-corasick",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "hashbrown 0.14.5",
+ "indexmap",
+ "metrics",
+ "num_cpus",
+ "ordered-float",
+ "quanta",
+ "radix_trie",
+ "sketches-ddsketch",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "nibble_vec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[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 = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "num_threads"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+
+[[package]]
+name = "ordered-float"
+version = "4.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d501f1a72f71d3c063a6bbc8f7271fa73aa09fe5d6283b6571e2ed176a2537"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
+
+[[package]]
+name = "plain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
+
+[[package]]
+name = "portable-atomic"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "prettyplease"
+version = "0.2.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba"
+dependencies = [
+ "proc-macro2",
+ "syn",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quanta"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5"
+dependencies = [
+ "crossbeam-utils",
+ "libc",
+ "once_cell",
+ "raw-cpuid",
+ "wasi",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "radix_trie"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
+dependencies = [
+ "endian-type",
+ "nibble_vec",
+]
+
+[[package]]
+name = "raw-cpuid"
+version = "11.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "regex"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.38.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
+dependencies = [
+ "bitflags",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
+
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+
+[[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 = "scx_rlfifo"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "ctrlc",
+ "libbpf-rs",
+ "libc",
+ "plain",
+ "scx_rustland_core",
+ "scx_utils",
+]
+
+[[package]]
+name = "scx_rustland_core"
+version = "2.1.2"
+dependencies = [
+ "anyhow",
+ "libbpf-rs",
+ "libc",
+ "plain",
+ "scx_utils",
+ "tar",
+ "walkdir",
+]
+
+[[package]]
+name = "scx_stats"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "crossbeam",
+ "libc",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_utils"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "bindgen",
+ "bitvec",
+ "glob",
+ "hex",
+ "lazy_static",
+ "libbpf-cargo",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "metrics",
+ "metrics-util",
+ "paste",
+ "regex",
+ "scx_stats",
+ "serde",
+ "sscanf",
+ "tar",
+ "vergen",
+ "version-compare",
+ "walkdir",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.128"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "sketches-ddsketch"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c"
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "sscanf"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a147d3cf7e723671ed11355b5b008c8019195f7fc902e213f5557d931e9f839d"
+dependencies = [
+ "const_format",
+ "lazy_static",
+ "regex",
+ "sscanf_macro",
+]
+
+[[package]]
+name = "sscanf_macro"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af3a37bdf8e90e77cc60f74473edf28d922ae2eacdd595e67724ccd2381774cc"
+dependencies = [
+ "convert_case",
+ "proc-macro2",
+ "quote",
+ "regex-syntax 0.6.29",
+ "strsim 0.10.0",
+ "syn",
+ "unicode-width",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
+name = "syn"
+version = "2.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tar"
+version = "0.4.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "once_cell",
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "time"
+version = "0.3.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+dependencies = [
+ "deranged",
+ "itoa",
+ "libc",
+ "num-conv",
+ "num_threads",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
+[[package]]
+name = "vergen"
+version = "8.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.18.1",
+ "cfg-if",
+ "regex",
+ "rustversion",
+ "time",
+]
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "vsprintf"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aec2f81b75ca063294776b4f7e8da71d1d5ae81c2b1b149c8d89969230265d63"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[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.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef073ced962d62984fb38a36e5fdc1a2b23c9e0e1fa0689bb97afa4202ef6887"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4bfab14ef75323f4eb75fa52ee0a3fb59611977fd3240da19b2cf36ff85030e"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7bec9830f60924d9ceb3ef99d55c155be8afa76954edffbb5936ff4509474e7"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c74f6e152a76a2ad448e223b0fc0b6b5747649c3d769cc6bf45737bf97d0ed6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a42f6c679374623f295a8623adfe63d9284091245c3504bde47c17a3ce2777d9"
+
+[[package]]
+name = "web-sys"
+version = "0.3.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44188d185b5bdcae1052d08bcbcf9091a5524038d4572cc4f4f2bb9d5554ddd9"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+]
+
+[[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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xattr"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
+dependencies = [
+ "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
diff --git a/pkgs/os-specific/linux/scx/scx_rlfifo/default.nix b/pkgs/os-specific/linux/scx/scx_rlfifo/default.nix
new file mode 100644
index 000000000000..fb5a549fddc5
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_rlfifo/default.nix
@@ -0,0 +1,37 @@
+{
+ stdenv,
+ lib,
+ mkScxScheduler,
+}:
+
+mkScxScheduler "rust" {
+ schedulerName = "scx_rlfifo";
+
+ cargoRoot = "scheds/rust/scx_rlfifo";
+ cargoLock.lockFile = ./Cargo.lock;
+ postPatch = ''
+ rm Cargo.toml Cargo.lock
+ ln -fs ${./Cargo.lock} scheds/rust/scx_rlfifo/Cargo.lock
+ '';
+
+ preBuild = ''
+ cd scheds/rust/scx_rlfifo
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/bin
+ cp target/${stdenv.targetPlatform.config}/release/scx_rlfifo $out/bin/
+ runHook postInstall
+ '';
+
+ meta = {
+ description = "Sched-ext Rust userspace scheduler";
+ longDescription = ''
+ scx_rlfifo is a simple FIFO scheduler runs in user-space, based on the
+ scx_rustland_core framework. Not for production use, but useful to test as a
+ baseline against complex scheduling polices or for a basic FIFO scheduling approach.
+ '';
+ mainProgram = "scx_rlfifo";
+ };
+}
diff --git a/pkgs/os-specific/linux/scx/scx_rustland/Cargo.lock b/pkgs/os-specific/linux/scx/scx_rustland/Cargo.lock
new file mode 100644
index 000000000000..7f37b49262c4
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_rustland/Cargo.lock
@@ -0,0 +1,1630 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
+
+[[package]]
+name = "autocfg"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+
+[[package]]
+name = "bindgen"
+version = "0.69.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+dependencies = [
+ "bitflags 2.6.0",
+ "cexpr",
+ "clang-sys",
+ "itertools",
+ "lazy_static",
+ "lazycell",
+ "log",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn",
+ "which",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "serde",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "camino"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-platform"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cc"
+version = "1.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1"
+dependencies = [
+ "shlex",
+]
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
+[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
+ "terminal_size",
+ "unicase",
+ "unicode-width 0.2.0",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
+
+[[package]]
+name = "const_format"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48"
+dependencies = [
+ "const_format_proc_macros",
+]
+
+[[package]]
+name = "const_format_proc_macros"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[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 = "crossbeam"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "ctrlc"
+version = "3.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3"
+dependencies = [
+ "nix 0.29.0",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "either"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+
+[[package]]
+name = "endian-type"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
+
+[[package]]
+name = "fb_procfs"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16e986e12a0b63c17fe7df3569ed524da77d258a900863034571fd08f7553ac"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "nix 0.25.1",
+ "openat",
+ "serde",
+ "thiserror",
+ "threadpool",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "libredox",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.15.0",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "js-sys"
+version = "0.3.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0cb94a0ffd3f3ee755c20f7d8752f45cac88605a4dcf808abcff72873296ec7b"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libbpf-cargo"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79a715b0dbcbf93cb2d674d244341180120e9bff0ddbc81b42d6ccf1a4fdd483"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.15.4",
+ "clap",
+ "libbpf-rs",
+ "memmap2",
+ "regex",
+ "semver",
+ "serde",
+ "serde_json",
+ "tempfile",
+]
+
+[[package]]
+name = "libbpf-rs"
+version = "0.24.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bafb274d5b387bfe6e91e95b2481891c0cfcd7ee4bb48e992439becd0eb3e36c"
+dependencies = [
+ "bitflags 2.6.0",
+ "libbpf-sys",
+ "libc",
+ "vsprintf",
+]
+
+[[package]]
+name = "libbpf-sys"
+version = "1.4.5+v1.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cabee52b6f7e73308d6fd4f8e6bbbdcb97670f49f6e581c5897e4d2410b6019"
+dependencies = [
+ "cc",
+ "nix 0.29.0",
+ "pkg-config",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.159"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
+
+[[package]]
+name = "libloading"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
+dependencies = [
+ "cfg-if",
+ "windows-targets",
+]
+
+[[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags 2.6.0",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+
+[[package]]
+name = "log"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "memmap2"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "metrics"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261"
+dependencies = [
+ "ahash",
+ "portable-atomic",
+]
+
+[[package]]
+name = "metrics-util"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828"
+dependencies = [
+ "aho-corasick",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "hashbrown 0.14.5",
+ "indexmap",
+ "metrics",
+ "num_cpus",
+ "ordered-float 4.3.0",
+ "quanta",
+ "radix_trie",
+ "sketches-ddsketch",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "nibble_vec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
+name = "nix"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
+dependencies = [
+ "autocfg",
+ "bitflags 1.3.2",
+ "cfg-if",
+ "libc",
+ "memoffset",
+ "pin-utils",
+]
+
+[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags 2.6.0",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[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 = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "num_threads"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+
+[[package]]
+name = "openat"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95aa7c05907b3ebde2610d602f4ddd992145cc6a84493647c30396f30ba83abe"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "ordered-float"
+version = "3.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "ordered-float"
+version = "4.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44d501f1a72f71d3c063a6bbc8f7271fa73aa09fe5d6283b6571e2ed176a2537"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+
+[[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.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
+
+[[package]]
+name = "plain"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6"
+
+[[package]]
+name = "portable-atomic"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "prettyplease"
+version = "0.2.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba"
+dependencies = [
+ "proc-macro2",
+ "syn",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quanta"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5"
+dependencies = [
+ "crossbeam-utils",
+ "libc",
+ "once_cell",
+ "raw-cpuid",
+ "wasi",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "radix_trie"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
+dependencies = [
+ "endian-type",
+ "nibble_vec",
+]
+
+[[package]]
+name = "raw-cpuid"
+version = "11.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "regex"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.38.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
+dependencies = [
+ "bitflags 2.6.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
+
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+
+[[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 = "scx_rustland"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "clap",
+ "ctrlc",
+ "fb_procfs",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "ordered-float 3.9.2",
+ "plain",
+ "scx_rustland_core",
+ "scx_stats",
+ "scx_stats_derive",
+ "scx_utils",
+ "serde",
+ "simplelog",
+]
+
+[[package]]
+name = "scx_rustland_core"
+version = "2.1.2"
+dependencies = [
+ "anyhow",
+ "libbpf-rs",
+ "libc",
+ "plain",
+ "scx_utils",
+ "tar",
+ "walkdir",
+]
+
+[[package]]
+name = "scx_stats"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "crossbeam",
+ "libc",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_stats_derive"
+version = "1.0.5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "scx_stats",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_utils"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "bindgen",
+ "bitvec",
+ "glob",
+ "hex",
+ "lazy_static",
+ "libbpf-cargo",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "metrics",
+ "metrics-util",
+ "paste",
+ "regex",
+ "scx_stats",
+ "serde",
+ "sscanf",
+ "tar",
+ "vergen",
+ "version-compare",
+ "walkdir",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.210"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.128"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "simplelog"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0"
+dependencies = [
+ "log",
+ "termcolor",
+ "time",
+]
+
+[[package]]
+name = "sketches-ddsketch"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c"
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "sscanf"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a147d3cf7e723671ed11355b5b008c8019195f7fc902e213f5557d931e9f839d"
+dependencies = [
+ "const_format",
+ "lazy_static",
+ "regex",
+ "sscanf_macro",
+]
+
+[[package]]
+name = "sscanf_macro"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af3a37bdf8e90e77cc60f74473edf28d922ae2eacdd595e67724ccd2381774cc"
+dependencies = [
+ "convert_case",
+ "proc-macro2",
+ "quote",
+ "regex-syntax 0.6.29",
+ "strsim 0.10.0",
+ "syn",
+ "unicode-width 0.1.12",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
+name = "syn"
+version = "2.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tar"
+version = "0.4.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "once_cell",
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef"
+dependencies = [
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "threadpool"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+dependencies = [
+ "num_cpus",
+]
+
+[[package]]
+name = "time"
+version = "0.3.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+dependencies = [
+ "deranged",
+ "itoa",
+ "libc",
+ "num-conv",
+ "num_threads",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "unicase"
+version = "2.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
+dependencies = [
+ "version_check",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
+
+[[package]]
+name = "unicode-width"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
+[[package]]
+name = "vergen"
+version = "8.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.18.1",
+ "cfg-if",
+ "regex",
+ "rustversion",
+ "time",
+]
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "vsprintf"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aec2f81b75ca063294776b4f7e8da71d1d5ae81c2b1b149c8d89969230265d63"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[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.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef073ced962d62984fb38a36e5fdc1a2b23c9e0e1fa0689bb97afa4202ef6887"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4bfab14ef75323f4eb75fa52ee0a3fb59611977fd3240da19b2cf36ff85030e"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7bec9830f60924d9ceb3ef99d55c155be8afa76954edffbb5936ff4509474e7"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c74f6e152a76a2ad448e223b0fc0b6b5747649c3d769cc6bf45737bf97d0ed6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.94"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a42f6c679374623f295a8623adfe63d9284091245c3504bde47c17a3ce2777d9"
+
+[[package]]
+name = "web-sys"
+version = "0.3.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44188d185b5bdcae1052d08bcbcf9091a5524038d4572cc4f4f2bb9d5554ddd9"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+]
+
+[[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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xattr"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
+dependencies = [
+ "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
diff --git a/pkgs/os-specific/linux/scx/scx_rustland/default.nix b/pkgs/os-specific/linux/scx/scx_rustland/default.nix
new file mode 100644
index 000000000000..066690e210c2
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_rustland/default.nix
@@ -0,0 +1,38 @@
+{
+ stdenv,
+ lib,
+ mkScxScheduler,
+}:
+
+mkScxScheduler "rust" {
+ schedulerName = "scx_rustland";
+
+ cargoRoot = "scheds/rust/scx_rustland";
+ cargoLock.lockFile = ./Cargo.lock;
+ postPatch = ''
+ rm Cargo.toml Cargo.lock
+ ln -fs ${./Cargo.lock} scheds/rust/scx_rustland/Cargo.lock
+ '';
+
+ preBuild = ''
+ cd scheds/rust/scx_rustland
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/bin
+ cp target/${stdenv.targetPlatform.config}/release/scx_rustland $out/bin/
+ runHook postInstall
+ '';
+
+ meta = {
+ description = "Sched-ext Rust userspace scheduler";
+ longDescription = ''
+ Made of a BPF component (scx_rustland_core) that implements the low level sched-ext functionalities
+ and a user-space counterpart (scheduler), written in Rust, that implements the actual scheduling policy.
+ It is designed to prioritize interactive workloads over background CPU-intensive workloads. Typical use
+ case involves low-latency interactive applications, such as gaming, video conferencing and live streaming.
+ '';
+ mainProgram = "scx_rustland";
+ };
+}
diff --git a/pkgs/os-specific/linux/scx/scx_rusty/Cargo.lock b/pkgs/os-specific/linux/scx/scx_rusty/Cargo.lock
new file mode 100644
index 000000000000..c3d93d9113c3
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_rusty/Cargo.lock
@@ -0,0 +1,1689 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ahash"
+version = "0.8.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+ "zerocopy",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anstream"
+version = "0.6.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23a1e53f0f5d86382dafe1cf314783b2044280f406e7e1506368220ad11b1338"
+dependencies = [
+ "anstyle",
+ "anstyle-parse",
+ "anstyle-query",
+ "anstyle-wincon",
+ "colorchoice",
+ "is_terminal_polyfill",
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8365de52b16c035ff4fcafe0092ba9390540e3e352870ac09933bebcaa2c8c56"
+
+[[package]]
+name = "anstyle-parse"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9"
+dependencies = [
+ "utf8parse",
+]
+
+[[package]]
+name = "anstyle-query"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "anstyle-wincon"
+version = "3.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125"
+dependencies = [
+ "anstyle",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c042108f3ed77fd83760a5fd79b53be043192bb3b9dba91d8c574c0ada7850c8"
+
+[[package]]
+name = "autocfg"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
+
+[[package]]
+name = "bindgen"
+version = "0.69.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+dependencies = [
+ "bitflags 2.6.0",
+ "cexpr",
+ "clang-sys",
+ "itertools",
+ "lazy_static",
+ "lazycell",
+ "log",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn",
+ "which",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "serde",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
+
+[[package]]
+name = "camino"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-platform"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.15.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "serde",
+ "serde_json",
+ "thiserror",
+]
+
+[[package]]
+name = "cc"
+version = "1.1.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2e7962b54006dcfcc61cb72735f4d89bb97061dd6a7ed882ec6b8ee53714c6f"
+dependencies = [
+ "shlex",
+]
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
+[[package]]
+name = "chrono"
+version = "0.4.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "js-sys",
+ "num-traits",
+ "wasm-bindgen",
+ "windows-targets",
+]
+
+[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "clap"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"
+dependencies = [
+ "clap_builder",
+ "clap_derive",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.5.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "clap_lex",
+ "strsim 0.11.1",
+ "terminal_size",
+ "unicase",
+ "unicode-width 0.2.0",
+]
+
+[[package]]
+name = "clap_derive"
+version = "4.5.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
+
+[[package]]
+name = "colorchoice"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
+
+[[package]]
+name = "const_format"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c990efc7a285731f9a4378d81aff2f0e85a2c8781a05ef0f8baa8dac54d0ff48"
+dependencies = [
+ "const_format_proc_macros",
+]
+
+[[package]]
+name = "const_format_proc_macros"
+version = "0.2.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e026b6ce194a874cb9cf32cd5772d1ef9767cc8fcb5765948d74f37a9d8b2bf6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[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-sys"
+version = "0.8.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
+
+[[package]]
+name = "crossbeam"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
+dependencies = [
+ "crossbeam-channel",
+ "crossbeam-deque",
+ "crossbeam-epoch",
+ "crossbeam-queue",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
+dependencies = [
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
+dependencies = [
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
+
+[[package]]
+name = "ctrlc"
+version = "3.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3"
+dependencies = [
+ "nix 0.29.0",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "deranged"
+version = "0.3.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
+dependencies = [
+ "powerfmt",
+]
+
+[[package]]
+name = "either"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
+
+[[package]]
+name = "endian-type"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d"
+
+[[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
+name = "errno"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
+dependencies = [
+ "libc",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
+
+[[package]]
+name = "fb_procfs"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d16e986e12a0b63c17fe7df3569ed524da77d258a900863034571fd08f7553ac"
+dependencies = [
+ "lazy_static",
+ "libc",
+ "nix 0.25.1",
+ "openat",
+ "serde",
+ "thiserror",
+ "threadpool",
+]
+
+[[package]]
+name = "filetime"
+version = "0.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "libredox",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "hashbrown"
+version = "0.14.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+dependencies = [
+ "ahash",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
+
+[[package]]
+name = "heck"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.61"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows-core",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "indexmap"
+version = "2.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
+dependencies = [
+ "equivalent",
+ "hashbrown 0.15.0",
+]
+
+[[package]]
+name = "is_terminal_polyfill"
+version = "1.70.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
+
+[[package]]
+name = "js-sys"
+version = "0.3.72"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libbpf-cargo"
+version = "0.24.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e728b7b8be47b3650fdce768075691c69c8798022eb1bab6167cce20f82b10c"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.15.4",
+ "clap",
+ "libbpf-rs",
+ "memmap2",
+ "regex",
+ "semver",
+ "serde",
+ "serde_json",
+ "tempfile",
+]
+
+[[package]]
+name = "libbpf-rs"
+version = "0.24.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73d2e61404e42ba2d97a9acbc24d046cfae978393e21b428e780adbc997504d0"
+dependencies = [
+ "bitflags 2.6.0",
+ "libbpf-sys",
+ "libc",
+ "vsprintf",
+]
+
+[[package]]
+name = "libbpf-sys"
+version = "1.4.5+v1.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cabee52b6f7e73308d6fd4f8e6bbbdcb97670f49f6e581c5897e4d2410b6019"
+dependencies = [
+ "cc",
+ "nix 0.29.0",
+ "pkg-config",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.161"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
+
+[[package]]
+name = "libloading"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
+dependencies = [
+ "cfg-if",
+ "windows-targets",
+]
+
+[[package]]
+name = "libredox"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
+dependencies = [
+ "bitflags 2.6.0",
+ "libc",
+ "redox_syscall",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
+
+[[package]]
+name = "log"
+version = "0.4.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "memmap2"
+version = "0.5.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "metrics"
+version = "0.23.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261"
+dependencies = [
+ "ahash",
+ "portable-atomic",
+]
+
+[[package]]
+name = "metrics-util"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4259040465c955f9f2f1a4a8a16dc46726169bca0f88e8fb2dbeced487c3e828"
+dependencies = [
+ "aho-corasick",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+ "hashbrown 0.14.5",
+ "indexmap",
+ "metrics",
+ "num_cpus",
+ "ordered-float 4.4.0",
+ "quanta",
+ "radix_trie",
+ "sketches-ddsketch",
+]
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "nibble_vec"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
+name = "nix"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
+dependencies = [
+ "autocfg",
+ "bitflags 1.3.2",
+ "cfg-if",
+ "libc",
+ "memoffset",
+ "pin-utils",
+]
+
+[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags 2.6.0",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[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 = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
+[[package]]
+name = "num-traits"
+version = "0.2.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "num_threads"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
+
+[[package]]
+name = "openat"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95aa7c05907b3ebde2610d602f4ddd992145cc6a84493647c30396f30ba83abe"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "ordered-float"
+version = "3.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "ordered-float"
+version = "4.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83e7ccb95e240b7c9506a3d544f10d935e142cc90b0a1d56954fb44d89ad6b97"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
+
+[[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.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
+
+[[package]]
+name = "portable-atomic"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
+
+[[package]]
+name = "powerfmt"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
+
+[[package]]
+name = "prettyplease"
+version = "0.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033"
+dependencies = [
+ "proc-macro2",
+ "syn",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.89"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quanta"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5"
+dependencies = [
+ "crossbeam-utils",
+ "libc",
+ "once_cell",
+ "raw-cpuid",
+ "wasi",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "radix_trie"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd"
+dependencies = [
+ "endian-type",
+ "nibble_vec",
+]
+
+[[package]]
+name = "raw-cpuid"
+version = "11.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.5.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
+dependencies = [
+ "bitflags 2.6.0",
+]
+
+[[package]]
+name = "regex"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.8.5",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "rustix"
+version = "0.38.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa260229e6538e52293eeb577aabd09945a09d6d9cc0fc550ed7529056c2e32a"
+dependencies = [
+ "bitflags 2.6.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.52.0",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248"
+
+[[package]]
+name = "ryu"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
+
+[[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 = "scx_rusty"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "chrono",
+ "clap",
+ "crossbeam",
+ "ctrlc",
+ "fb_procfs",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "ordered-float 3.9.2",
+ "scx_stats",
+ "scx_stats_derive",
+ "scx_utils",
+ "serde",
+ "simplelog",
+ "sorted-vec",
+ "static_assertions",
+]
+
+[[package]]
+name = "scx_stats"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "crossbeam",
+ "libc",
+ "log",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_stats_derive"
+version = "1.0.5"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "scx_stats",
+ "serde_json",
+ "syn",
+]
+
+[[package]]
+name = "scx_utils"
+version = "1.0.5"
+dependencies = [
+ "anyhow",
+ "bindgen",
+ "bitvec",
+ "glob",
+ "hex",
+ "lazy_static",
+ "libbpf-cargo",
+ "libbpf-rs",
+ "libc",
+ "log",
+ "metrics",
+ "metrics-util",
+ "paste",
+ "regex",
+ "scx_stats",
+ "serde",
+ "sscanf",
+ "tar",
+ "vergen",
+ "version-compare",
+ "walkdir",
+]
+
+[[package]]
+name = "semver"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.214"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.214"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.132"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "simplelog"
+version = "0.12.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16257adbfaef1ee58b1363bdc0664c9b8e1e30aed86049635fb5f147d065a9c0"
+dependencies = [
+ "log",
+ "termcolor",
+ "time",
+]
+
+[[package]]
+name = "sketches-ddsketch"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c"
+
+[[package]]
+name = "smallvec"
+version = "1.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
+
+[[package]]
+name = "sorted-vec"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f64b077cc81ab5f1209bb44c6530a3277261aeaa5405111d48326897306918b"
+
+[[package]]
+name = "sscanf"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a147d3cf7e723671ed11355b5b008c8019195f7fc902e213f5557d931e9f839d"
+dependencies = [
+ "const_format",
+ "lazy_static",
+ "regex",
+ "sscanf_macro",
+]
+
+[[package]]
+name = "sscanf_macro"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af3a37bdf8e90e77cc60f74473edf28d922ae2eacdd595e67724ccd2381774cc"
+dependencies = [
+ "convert_case",
+ "proc-macro2",
+ "quote",
+ "regex-syntax 0.6.29",
+ "strsim 0.10.0",
+ "syn",
+ "unicode-width 0.1.12",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "strsim"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
+
+[[package]]
+name = "syn"
+version = "2.0.85"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5023162dfcd14ef8f32034d8bcd4cc5ddc61ef7a247c024a33e24e1f24d21b56"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "tar"
+version = "0.4.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "once_cell",
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "terminal_size"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef"
+dependencies = [
+ "rustix",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "threadpool"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+dependencies = [
+ "num_cpus",
+]
+
+[[package]]
+name = "time"
+version = "0.3.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+dependencies = [
+ "deranged",
+ "itoa",
+ "libc",
+ "num-conv",
+ "num_threads",
+ "powerfmt",
+ "serde",
+ "time-core",
+ "time-macros",
+]
+
+[[package]]
+name = "time-core"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
+
+[[package]]
+name = "time-macros"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+dependencies = [
+ "num-conv",
+ "time-core",
+]
+
+[[package]]
+name = "unicase"
+version = "2.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
+
+[[package]]
+name = "unicode-width"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
+
+[[package]]
+name = "utf8parse"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
+
+[[package]]
+name = "vergen"
+version = "8.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2990d9ea5967266ea0ccf413a4aa5c42a93dbcfda9cb49a97de6931726b12566"
+dependencies = [
+ "anyhow",
+ "cargo_metadata 0.18.1",
+ "cfg-if",
+ "regex",
+ "rustversion",
+ "time",
+]
+
+[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
+name = "version_check"
+version = "0.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
+
+[[package]]
+name = "vsprintf"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aec2f81b75ca063294776b4f7e8da71d1d5ae81c2b1b149c8d89969230265d63"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "walkdir"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[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.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d"
+
+[[package]]
+name = "web-sys"
+version = "0.3.72"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix",
+]
+
+[[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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+dependencies = [
+ "windows-sys 0.59.0",
+]
+
+[[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-core"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.59.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
+
+[[package]]
+name = "xattr"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
+dependencies = [
+ "libc",
+ "linux-raw-sys",
+ "rustix",
+]
+
+[[package]]
+name = "zerocopy"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
+dependencies = [
+ "zerocopy-derive",
+]
+
+[[package]]
+name = "zerocopy-derive"
+version = "0.7.35"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
diff --git a/pkgs/os-specific/linux/scx/scx_rusty/default.nix b/pkgs/os-specific/linux/scx/scx_rusty/default.nix
new file mode 100644
index 000000000000..55ed309aba62
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/scx_rusty/default.nix
@@ -0,0 +1,38 @@
+{
+ stdenv,
+ lib,
+ mkScxScheduler,
+}:
+
+mkScxScheduler "rust" {
+ schedulerName = "scx_rusty";
+
+ cargoRoot = "scheds/rust/scx_rusty";
+ cargoLock.lockFile = ./Cargo.lock;
+ postPatch = ''
+ rm Cargo.toml Cargo.lock
+ ln -fs ${./Cargo.lock} scheds/rust/scx_rusty/Cargo.lock
+ '';
+
+ preBuild = ''
+ cd scheds/rust/scx_rusty
+ '';
+
+ installPhase = ''
+ runHook preInstall
+ mkdir -p $out/bin
+ cp target/${stdenv.targetPlatform.config}/release/scx_rusty $out/bin/
+ runHook postInstall
+ '';
+
+ meta = {
+ description = "Sched-ext Rust userspace scheduler";
+ longDescription = ''
+ Multi-domain, BPF/userspace hybrid scheduler. BPF portion of the scheduler does
+ a simple round robin in each domain, and the userspace portion calculates the load
+ factor of each domain, and informs BPF of how tasks should be load balanced accordingly.
+ Rusty is designed to be flexible, accommodating different architectures and workloads.
+ '';
+ mainProgram = "scx_rusty";
+ };
+}
diff --git a/pkgs/os-specific/linux/scx/update.sh b/pkgs/os-specific/linux/scx/update.sh
new file mode 100755
index 000000000000..4e8048d803e2
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/update.sh
@@ -0,0 +1,50 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p coreutils moreutils curl jq nix-prefetch-git cargo gnugrep gawk
+# shellcheck shell=bash
+
+set -euo pipefail
+
+versionJson="$(realpath "./pkgs/os-specific/linux/scx/version.json")"
+nixFolder="$(dirname "$versionJson")"
+
+localVer=$(jq -r .version <$versionJson)
+latestVer=$(curl -s https://api.github.com/repos/sched-ext/scx/releases/latest | jq -r .tag_name | sed 's/v//g')
+
+if [ "$localVer" == "$latestVer" ]; then
+ exit 0
+fi
+
+latestHash=$(nix-prefetch-git https://github.com/sched-ext/scx.git --rev refs/tags/v$latestVer --quiet | jq -r .hash)
+
+tmp=$(mktemp -d)
+trap 'rm -rf -- "${tmp}"' EXIT
+
+git clone --depth 1 --branch "v$latestVer" https://github.com/sched-ext/scx.git "$tmp/scx"
+
+pushd "$tmp/scx"
+
+bpftoolRev=$(grep 'bpftool_commit =' ./meson.build | awk -F"'" '{print $2}')
+bpftoolHash=$(nix-prefetch-git https://github.com/libbpf/bpftool.git --rev $bpftoolRev --fetch-submodules --quiet | jq -r .hash)
+
+libbpfRev=$(curl -s "https://api.github.com/repos/libbpf/libbpf/commits/master" | jq -r '.sha')
+libbpfHash=$(nix-prefetch-git https://github.com/libbpf/libbpf.git --rev $libbpfRev --fetch-submodules --quiet | jq -r .hash)
+
+jq \
+ --arg latestVer "$latestVer" --arg latestHash "$latestHash" \
+ --arg bpftoolRev "$bpftoolRev" --arg bpftoolHash "$bpftoolHash" \
+ --arg libbpfRev "$libbpfRev" --arg libbpfHash "$libbpfHash" \
+ ".scx.version = \$latestVer | .scx.hash = \$latestHash |\
+ .bpftool.rev = \$bpftoolRev | .bpftool.hash = \$bpftoolHash |\
+ .libbpf.rev = \$libbpfRev | .libbpf.hash = \$libbpfHash" \
+ "$versionJson" | sponge $versionJson
+
+rm -f Cargo.toml Cargo.lock
+
+for scheduler in bpfland lavd layered rlfifo rustland rusty; do
+ pushd "scheds/rust/scx_$scheduler"
+
+ cargo generate-lockfile
+ cp Cargo.lock "$nixFolder/scx_$scheduler/Cargo.lock"
+
+ popd
+done
diff --git a/pkgs/os-specific/linux/scx/version.json b/pkgs/os-specific/linux/scx/version.json
new file mode 100644
index 000000000000..99148b7e3c73
--- /dev/null
+++ b/pkgs/os-specific/linux/scx/version.json
@@ -0,0 +1,14 @@
+{
+ "scx": {
+ "version": "1.0.5",
+ "hash": "sha256-nb2bzEanPPWTUhMmGw/8/bwOkdgNmwoZX2lMFq5Av5Q="
+ },
+ "bpftool": {
+ "rev": "77a72987353fcae8ce330fd87d4c7afb7677a169",
+ "hash": "sha256-pItTVewlXgB97AC/WH9rW9J/eYSe2ZdBkJaAgGnDeUU="
+ },
+ "libbpf": {
+ "rev": "09b9e83102eb8ab9e540d36b4559c55f3bcdb95d",
+ "hash": "sha256-0PadA9OppNGmgSTLi8sXrh3syxPVkqrnTkBr8cyp+Ug="
+ }
+}
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index bf6c041205e4..6d5bf4847c4c 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -28,11 +28,11 @@ self: with self; {
# THIS IS A GENERATED FILE. DO NOT EDIT!
bdftopcf = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "bdftopcf";
- version = "1.1.1";
+ version = "1.1.2";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/util/bdftopcf-1.1.1.tar.xz";
- sha256 = "026rzs92h9jsc7r0kvvyvwhm22q0805gp38rs14x6ghg7kam7j8i";
+ url = "mirror://xorg/individual/util/bdftopcf-1.1.2.tar.xz";
+ sha256 = "0fjjn1z0cbsmhxkms93w73j2jbzf9f3xgbnjvnisl3rk0icvwq5w";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
@@ -854,11 +854,11 @@ self: with self; {
# THIS IS A GENERATED FILE. DO NOT EDIT!
fonttosfnt = callPackage ({ stdenv, pkg-config, fetchurl, libfontenc, freetype, xorgproto, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "fonttosfnt";
- version = "1.2.3";
+ version = "1.2.4";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/app/fonttosfnt-1.2.3.tar.xz";
- sha256 = "1bv1glfz4jqvkwx8hmv2vqilvxxl6jww3rvbzv6zbl6b83r96yma";
+ url = "mirror://xorg/individual/app/fonttosfnt-1.2.4.tar.xz";
+ sha256 = "0wk3fs038sh2sl1sqayzfjvygmcdp903qa1pd3aankxrgzv3b5i4";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
@@ -2418,11 +2418,11 @@ self: with self; {
# THIS IS A GENERATED FILE. DO NOT EDIT!
xcmsdb = callPackage ({ stdenv, pkg-config, fetchurl, libX11, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "xcmsdb";
- version = "1.0.6";
+ version = "1.0.7";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/app/xcmsdb-1.0.6.tar.xz";
- sha256 = "0magrza0i5qwpf0zlpqjychp3bzxgdw3p5v616xl4nbxag2fwxrw";
+ url = "mirror://xorg/individual/app/xcmsdb-1.0.7.tar.xz";
+ sha256 = "0f5wddi707cjqm21hynckkqr12mpjqn3dq9fm5gb11w19270di2y";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
@@ -2618,11 +2618,11 @@ self: with self; {
# THIS IS A GENERATED FILE. DO NOT EDIT!
xf86inputevdev = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libevdev, udev, mtdev, xorgserver, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "xf86-input-evdev";
- version = "2.10.6";
+ version = "2.11.0";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/driver/xf86-input-evdev-2.10.6.tar.bz2";
- sha256 = "1h1y0fwnawlp4yc5llr1l7hwfcxxpln2fxhy6arcf6w6h4z0f9l7";
+ url = "mirror://xorg/individual/driver/xf86-input-evdev-2.11.0.tar.xz";
+ sha256 = "058k0xdf4hkn8lz5gx4c08mgbzvv58haz7a32axndhscjgg2403k";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
@@ -2678,11 +2678,11 @@ self: with self; {
# THIS IS A GENERATED FILE. DO NOT EDIT!
xf86inputlibinput = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libinput, xorgserver, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "xf86-input-libinput";
- version = "1.4.0";
+ version = "1.5.0";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/driver/xf86-input-libinput-1.4.0.tar.xz";
- sha256 = "1673ydfrvfqd4inz3vx1qyxa0mhr0f4bi0r7mrcmpisxi76i8g9s";
+ url = "mirror://xorg/individual/driver/xf86-input-libinput-1.5.0.tar.xz";
+ sha256 = "1rl06l0gdqmc4v08mya93m74ana76b7s3fzkmq8ylm3535gw6915";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
@@ -3078,11 +3078,11 @@ self: with self; {
# THIS IS A GENERATED FILE. DO NOT EDIT!
xf86videomga = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "xf86-video-mga";
- version = "2.0.1";
+ version = "2.1.0";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/driver/xf86-video-mga-2.0.1.tar.xz";
- sha256 = "1aq3aqh2yg09gy864kkshfx5pjl5w05jdz97bx5bnrbrhdq3p8r7";
+ url = "mirror://xorg/individual/driver/xf86-video-mga-2.1.0.tar.xz";
+ sha256 = "0wxbcgg5i4yq22pbc50567877z8irxhqzgl3sk6vf5zs9szmvy3v";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
@@ -3238,11 +3238,11 @@ self: with self; {
# THIS IS A GENERATED FILE. DO NOT EDIT!
xf86videor128 = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "xf86-video-r128";
- version = "6.12.1";
+ version = "6.13.0";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/driver/xf86-video-r128-6.12.1.tar.xz";
- sha256 = "0hf7h54wxgs8njavp0kgadjq1787fhbd588j7pj685hz2wmkq0kx";
+ url = "mirror://xorg/individual/driver/xf86-video-r128-6.13.0.tar.xz";
+ sha256 = "0igpfgls5nx4sz8a7yppr42qi37prqmxsy08zqbxbv81q9dfs2zj";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
@@ -3858,11 +3858,11 @@ self: with self; {
# THIS IS A GENERATED FILE. DO NOT EDIT!
xkbprint = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libxkbfile, xorgproto, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "xkbprint";
- version = "1.0.6";
+ version = "1.0.7";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/app/xkbprint-1.0.6.tar.xz";
- sha256 = "1c57kb8d8cbf720n9bcjhhaqpk08lac0sk4l0jp8j0mryw299k4r";
+ url = "mirror://xorg/individual/app/xkbprint-1.0.7.tar.xz";
+ sha256 = "1k2rm8lvc2klcdz2s3mymb9a2ahgwqwkgg67v3phv7ij6304jkqw";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
@@ -4016,18 +4016,18 @@ self: with self; {
})) {};
# THIS IS A GENERATED FILE. DO NOT EDIT!
- xmag = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libXaw, libXmu, libXt, wrapWithXFileSearchPathHook, testers }: stdenv.mkDerivation (finalAttrs: {
+ xmag = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libXaw, libXmu, xorgproto, libXt, wrapWithXFileSearchPathHook, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "xmag";
- version = "1.0.7";
+ version = "1.0.8";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/app/xmag-1.0.7.tar.xz";
- sha256 = "0qblrqrhxml2asgbck53a1v7c4y7ap7jcyqjg500h1i7bb63d680";
+ url = "mirror://xorg/individual/app/xmag-1.0.8.tar.xz";
+ sha256 = "0clm0vm35lkcir5w3bkypax9j57vyzkl9l89qqxbanvr7mc3qv9j";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
nativeBuildInputs = [ pkg-config wrapWithXFileSearchPathHook ];
- buildInputs = [ libX11 libXaw libXmu libXt ];
+ buildInputs = [ libX11 libXaw libXmu xorgproto libXt ];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ ];
@@ -4478,11 +4478,11 @@ self: with self; {
# THIS IS A GENERATED FILE. DO NOT EDIT!
xwud = callPackage ({ stdenv, pkg-config, fetchurl, libX11, xorgproto, testers }: stdenv.mkDerivation (finalAttrs: {
pname = "xwud";
- version = "1.0.6";
+ version = "1.0.7";
builder = ./builder.sh;
src = fetchurl {
- url = "mirror://xorg/individual/app/xwud-1.0.6.tar.xz";
- sha256 = "1zhsih1l3x1038fi1wi9npvfnn8j7580ca73saixjg5sbv8qq134";
+ url = "mirror://xorg/individual/app/xwud-1.0.7.tar.xz";
+ sha256 = "07n6q1z33sjkx8lx8lbd26m8ri5gi145k3mz39kmyykdngdbwp75";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list
index f58c526f7def..7a20a7d9023c 100644
--- a/pkgs/servers/x11/xorg/tarballs.list
+++ b/pkgs/servers/x11/xorg/tarballs.list
@@ -9,7 +9,7 @@ mirror://xorg/individual/xcb/xcb-util-wm-0.4.2.tar.xz
mirror://xorg/individual/app/appres-1.0.6.tar.xz
mirror://xorg/individual/app/bitmap-1.1.1.tar.xz
mirror://xorg/individual/app/editres-1.0.9.tar.xz
-mirror://xorg/individual/app/fonttosfnt-1.2.3.tar.xz
+mirror://xorg/individual/app/fonttosfnt-1.2.4.tar.xz
mirror://xorg/individual/app/iceauth-1.0.10.tar.xz
mirror://xorg/individual/app/ico-1.0.6.tar.xz
mirror://xorg/individual/app/listres-1.0.6.tar.xz
@@ -26,7 +26,7 @@ mirror://xorg/individual/app/xauth-1.1.3.tar.xz
mirror://xorg/individual/app/xbacklight-1.2.3.tar.bz2
mirror://xorg/individual/app/xcalc-1.1.2.tar.xz
mirror://xorg/individual/app/xclock-1.1.1.tar.xz
-mirror://xorg/individual/app/xcmsdb-1.0.6.tar.xz
+mirror://xorg/individual/app/xcmsdb-1.0.7.tar.xz
mirror://xorg/individual/app/xcompmgr-1.1.9.tar.xz
mirror://xorg/individual/app/xconsole-1.0.8.tar.xz
mirror://xorg/individual/app/xcursorgen-1.0.8.tar.xz
@@ -46,14 +46,14 @@ mirror://xorg/individual/app/xinit-1.4.2.tar.xz
mirror://xorg/individual/app/xinput-1.6.4.tar.xz
mirror://xorg/individual/app/xkbcomp-1.4.7.tar.xz
mirror://xorg/individual/app/xkbevd-1.1.5.tar.xz
-mirror://xorg/individual/app/xkbprint-1.0.6.tar.xz
+mirror://xorg/individual/app/xkbprint-1.0.7.tar.xz
mirror://xorg/individual/app/xkbutils-1.0.6.tar.xz
mirror://xorg/individual/app/xkill-1.0.6.tar.xz
mirror://xorg/individual/app/xload-1.2.0.tar.xz
mirror://xorg/individual/app/xlsatoms-1.1.4.tar.xz
mirror://xorg/individual/app/xlsclients-1.1.5.tar.xz
mirror://xorg/individual/app/xlsfonts-1.0.8.tar.xz
-mirror://xorg/individual/app/xmag-1.0.7.tar.xz
+mirror://xorg/individual/app/xmag-1.0.8.tar.xz
mirror://xorg/individual/app/xmessage-1.0.7.tar.xz
mirror://xorg/individual/app/xmodmap-1.0.11.tar.xz
mirror://xorg/individual/app/xmore-1.0.4.tar.xz
@@ -70,16 +70,16 @@ mirror://xorg/individual/app/xtrap-1.0.3.tar.bz2
mirror://xorg/individual/app/xvinfo-1.1.5.tar.xz
mirror://xorg/individual/app/xwd-1.0.9.tar.xz
mirror://xorg/individual/app/xwininfo-1.1.6.tar.xz
-mirror://xorg/individual/app/xwud-1.0.6.tar.xz
+mirror://xorg/individual/app/xwud-1.0.7.tar.xz
mirror://xorg/individual/data/xbitmaps-1.1.3.tar.xz
mirror://xorg/individual/data/xcursor-themes-1.0.7.tar.xz
mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.41.tar.xz
mirror://xorg/individual/doc/xorg-docs-1.7.3.tar.xz
mirror://xorg/individual/doc/xorg-sgml-doctools-1.12.1.tar.xz
-mirror://xorg/individual/driver/xf86-input-evdev-2.10.6.tar.bz2
+mirror://xorg/individual/driver/xf86-input-evdev-2.11.0.tar.xz
mirror://xorg/individual/driver/xf86-input-joystick-1.6.4.tar.xz
mirror://xorg/individual/driver/xf86-input-keyboard-2.0.0.tar.xz
-mirror://xorg/individual/driver/xf86-input-libinput-1.4.0.tar.xz
+mirror://xorg/individual/driver/xf86-input-libinput-1.5.0.tar.xz
mirror://xorg/individual/driver/xf86-input-mouse-1.9.5.tar.xz
mirror://xorg/individual/driver/xf86-input-synaptics-1.9.2.tar.xz
mirror://xorg/individual/driver/xf86-input-vmmouse-13.2.0.tar.xz
@@ -99,7 +99,7 @@ mirror://xorg/individual/driver/xf86-video-glint-1.2.9.tar.bz2
mirror://xorg/individual/driver/xf86-video-i128-1.4.1.tar.xz
mirror://xorg/individual/driver/xf86-video-i740-1.4.0.tar.bz2
mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2
-mirror://xorg/individual/driver/xf86-video-mga-2.0.1.tar.xz
+mirror://xorg/individual/driver/xf86-video-mga-2.1.0.tar.xz
mirror://xorg/individual/driver/xf86-video-neomagic-1.3.1.tar.xz
mirror://xorg/individual/driver/xf86-video-newport-0.2.4.tar.bz2
https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/-/archive/3ee7cbca8f9144a3bb5be7f71ce70558f548d268/xf86-video-nouveau-3ee7cbca8f9144a3bb5be7f71ce70558f548d268.tar.bz2
@@ -107,7 +107,7 @@ mirror://xorg/individual/driver/xf86-video-nv-2.1.23.tar.xz
mirror://xorg/individual/driver/xf86-video-omap-0.4.5.tar.bz2
mirror://xorg/individual/driver/xf86-video-openchrome-0.6.0.tar.bz2
mirror://xorg/individual/driver/xf86-video-qxl-0.1.6.tar.xz
-mirror://xorg/individual/driver/xf86-video-r128-6.12.1.tar.xz
+mirror://xorg/individual/driver/xf86-video-r128-6.13.0.tar.xz
mirror://xorg/individual/driver/xf86-video-rendition-4.2.7.tar.bz2
mirror://xorg/individual/driver/xf86-video-s3virge-1.11.1.tar.xz
mirror://xorg/individual/driver/xf86-video-savage-2.4.1.tar.xz
@@ -211,7 +211,7 @@ mirror://xorg/individual/lib/xcb-util-cursor-0.1.5.tar.xz
mirror://xorg/individual/lib/xtrans-1.5.0.tar.xz
mirror://xorg/individual/proto/xcb-proto-1.17.0.tar.xz
mirror://xorg/individual/proto/xorgproto-2024.1.tar.xz
-mirror://xorg/individual/util/bdftopcf-1.1.1.tar.xz
+mirror://xorg/individual/util/bdftopcf-1.1.2.tar.xz
mirror://xorg/individual/util/gccmakedep-1.0.4.tar.xz
mirror://xorg/individual/util/imake-1.0.10.tar.xz
mirror://xorg/individual/util/lndir-1.0.5.tar.xz
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index edf53c8e4579..ed545e1f5684 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -1,7 +1,7 @@
{ egl-wayland
+, bash
, libepoxy
, fetchurl
-, fetchpatch
, fontutil
, lib
, libdecor
@@ -49,22 +49,17 @@
stdenv.mkDerivation rec {
pname = "xwayland";
- version = "24.1.0";
+ version = "24.1.4";
src = fetchurl {
url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
- hash = "sha256-vvIcTxiAek7VccTi32CrY7VGa71QLszrJIW4kqt23MI=";
+ hash = "sha256-2Wp426uBn1V1AXNERESZW1Ax69zBW3ev672NvAKvNPQ=";
};
- patches = [
- # Backport fix for pkg-config generation to make CMake happy
- # FIXME: remove when merged
- # Upstream PR: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1543
- (fetchpatch {
- url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/8cb1c21a4240a5b6bf4aeeef51819639b4e0ad24.patch";
- hash = "sha256-MZPP9QgYO4RFJ/vcjkpu7SVSo5Dh09ZdZjOwTopjdYQ=";
- })
- ];
+ postPatch = ''
+ substituteInPlace os/utils.c \
+ --replace-fail '/bin/sh' '${lib.getExe' bash "sh"}'
+ '';
depsBuildBuild = [
pkg-config
diff --git a/pkgs/tools/inputmethods/libinput-gestures/default.nix b/pkgs/tools/inputmethods/libinput-gestures/default.nix
index bb466e38ba53..07489693e1d3 100644
--- a/pkgs/tools/inputmethods/libinput-gestures/default.nix
+++ b/pkgs/tools/inputmethods/libinput-gestures/default.nix
@@ -1,17 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper,
- libinput, wmctrl, python3,
- coreutils, xdotool ? null,
- extraUtilsPath ? lib.optional (xdotool != null) xdotool
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ makeWrapper,
+ libinput,
+ wmctrl,
+ python3,
+ coreutils,
+ xdotool ? null,
+ extraUtilsPath ? lib.optional (xdotool != null) xdotool,
}:
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
pname = "libinput-gestures";
- version = "2.76";
+ version = "2.77";
src = fetchFromGitHub {
owner = "bulletmark";
repo = "libinput-gestures";
- rev = version;
- sha256 = "sha256-Tb/gQ/2Ul4JzEiLEUPJBj9T6ZAqzMSPdgiofdnDj73Q=";
+ rev = "refs/tags/${finalAttrs.version}";
+ hash = "sha256-eMXNlSgQSuN+/5SXJQjsylC1ygHS87sIEmnVGFk3pzA=";
};
patches = [
./0001-hardcode-name.patch
@@ -21,36 +28,35 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ python3 ];
- postPatch =
- ''
- substituteInPlace libinput-gestures-setup --replace /usr/ /
+ postPatch = ''
+ substituteInPlace libinput-gestures-setup --replace-fail /usr/ /
- substituteInPlace libinput-gestures \
- --replace /etc "$out/etc" \
- --subst-var-by libinput "${libinput}/bin/libinput" \
- --subst-var-by wmctrl "${wmctrl}/bin/wmctrl"
- '';
- installPhase =
- ''
- runHook preInstall
- ${stdenv.shell} libinput-gestures-setup -d "$out" install
- runHook postInstall
- '';
- postFixup =
- ''
- rm "$out/bin/libinput-gestures-setup"
- substituteInPlace "$out/share/systemd/user/libinput-gestures.service" --replace "/usr" "$out"
- substituteInPlace "$out/share/applications/libinput-gestures.desktop" --replace "/usr" "$out"
- chmod +x "$out/share/applications/libinput-gestures.desktop"
- wrapProgram "$out/bin/libinput-gestures" --prefix PATH : "${lib.makeBinPath ([coreutils] ++ extraUtilsPath)}"
- '';
+ substituteInPlace libinput-gestures \
+ --replace-fail /etc "$out/etc" \
+ --subst-var-by libinput "${libinput}/bin/libinput" \
+ --subst-var-by wmctrl "${wmctrl}/bin/wmctrl"
+ '';
+ installPhase = ''
+ runHook preInstall
+ ${stdenv.shell} libinput-gestures-setup -d "$out" install
+ runHook postInstall
+ '';
+ postFixup = ''
+ rm "$out/bin/libinput-gestures-setup"
+ substituteInPlace "$out/share/systemd/user/libinput-gestures.service" --replace "/usr" "$out"
+ substituteInPlace "$out/share/applications/libinput-gestures.desktop" --replace "/usr" "$out"
+ chmod +x "$out/share/applications/libinput-gestures.desktop"
+ wrapProgram "$out/bin/libinput-gestures" --prefix PATH : "${
+ lib.makeBinPath ([ coreutils ] ++ extraUtilsPath)
+ }"
+ '';
- meta = with lib; {
+ meta = {
homepage = "https://github.com/bulletmark/libinput-gestures";
description = "Gesture mapper for libinput";
mainProgram = "libinput-gestures";
- license = licenses.gpl3Plus;
- platforms = platforms.linux;
- maintainers = with maintainers; [ teozkr ];
+ license = lib.licenses.gpl3Plus;
+ platforms = lib.platforms.linux;
+ maintainers = with lib.maintainers; [ teozkr ];
};
-}
+})
diff --git a/pkgs/tools/misc/panoply/default.nix b/pkgs/tools/misc/panoply/default.nix
index 885d6d85e502..8164238fcc62 100644
--- a/pkgs/tools/misc/panoply/default.nix
+++ b/pkgs/tools/misc/panoply/default.nix
@@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "panoply";
- version = "5.5.3";
+ version = "5.5.4";
src = fetchurl {
url = "https://www.giss.nasa.gov/tools/panoply/download/PanoplyJ-${version}.tgz";
- hash = "sha256-TCuCLWMVp7t0JpHA6TbwUdURj/aBggzLa9I7llRY0TU=";
+ hash = "sha256-rC2vQcaanK2nNSDtiXNhyBiV0SN3QqtwU8WNBc7D/Nw=";
};
nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/package-management/nix/common.nix b/pkgs/tools/package-management/nix/common.nix
index a6b890fcb90d..198034dc9a63 100644
--- a/pkgs/tools/package-management/nix/common.nix
+++ b/pkgs/tools/package-management/nix/common.nix
@@ -16,6 +16,7 @@ let
atLeast210 = lib.versionAtLeast version "2.10pre";
atLeast213 = lib.versionAtLeast version "2.13pre";
atLeast214 = lib.versionAtLeast version "2.14pre";
+ atLeast218 = lib.versionAtLeast version "2.18pre";
atLeast219 = lib.versionAtLeast version "2.19pre";
atLeast220 = lib.versionAtLeast version "2.20pre";
atLeast221 = lib.versionAtLeast version "2.21pre";
@@ -42,6 +43,7 @@ in
, callPackage
, coreutils
, curl
+, darwin
, docbook_xsl_ns
, docbook5
, editline
@@ -150,6 +152,8 @@ self = stdenv.mkDerivation {
libseccomp
] ++ lib.optionals withAWS [
aws-sdk-cpp
+ ] ++ lib.optional (atLeast218 && stdenv.hostPlatform.isDarwin) [
+ darwin.apple_sdk.libs.sandbox
];
installCheckInputs = lib.optionals atLeast221 [
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 50787eb5a251..f24f3bb24d55 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -176,42 +176,85 @@ in lib.makeExtensible (self: ({
version = "2.18.8";
hash = "sha256-0rHRifdjzzxMh/im8pRx6XoY62irDTDUes+Pn0CR65I=";
self_attribute_name = "nix_2_18";
+ patches = [
+ ./patches/2_18/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
+ ./patches/2_18/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
+ ./patches/2_18/0003-local-derivation-goal-Refactor.patch
+ ./patches/2_18/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
+ ];
};
nix_2_19 = common {
version = "2.19.6";
hash = "sha256-XT5xiwOLgXf+TdyOjbJVOl992wu9mBO25WXHoyli/Tk=";
self_attribute_name = "nix_2_19";
+ patches = [
+ ./patches/2_19/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
+ ./patches/2_19/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
+ ./patches/2_19/0003-local-derivation-goal-Refactor.patch
+ ./patches/2_19/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
+ ];
};
nix_2_20 = common {
version = "2.20.8";
hash = "sha256-M2tkMtjKi8LDdNLsKi3IvD8oY/i3rtarjMpvhybS3WY=";
self_attribute_name = "nix_2_20";
+ patches = [
+ ./patches/2_20/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
+ ./patches/2_20/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
+ ./patches/2_20/0003-local-derivation-goal-Refactor.patch
+ ./patches/2_20/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
+ ];
};
nix_2_21 = common {
version = "2.21.4";
hash = "sha256-c6nVZ0pSrfhFX3eVKqayS+ioqyAGp3zG9ZPO5rkXFRQ=";
self_attribute_name = "nix_2_21";
+ patches = [
+ ./patches/2_21/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
+ ./patches/2_21/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
+ ./patches/2_21/0003-local-derivation-goal-Refactor.patch
+ ./patches/2_21/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
+ ];
};
nix_2_22 = common {
version = "2.22.3";
hash = "sha256-l04csH5rTWsK7eXPWVxJBUVRPMZXllFoSkYFTq/i8WU=";
self_attribute_name = "nix_2_22";
+ patches = [
+ ./patches/2_22/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
+ ./patches/2_22/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
+ ./patches/2_22/0003-local-derivation-goal-Refactor.patch
+ ./patches/2_22/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
+ ];
};
nix_2_23 = common {
version = "2.23.3";
hash = "sha256-lAoLGVIhRFrfgv7wcyduEkyc83QKrtsfsq4of+WrBeg=";
self_attribute_name = "nix_2_23";
+ patches = [
+ ./patches/2_23/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
+ ./patches/2_23/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
+ ./patches/2_23/0003-local-derivation-goal-Refactor.patch
+ ./patches/2_23/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
+ ];
};
nix_2_24 = (common {
version = "2.24.8";
hash = "sha256-YPJA0stZucs13Y2DQr3JIL6JfakP//LDbYXNhic/rKk=";
self_attribute_name = "nix_2_24";
+ patches = [
+ ./patches/2_24/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
+ ./patches/2_24/0002-packaging-Add-darwin-lsandbox-in-meson.patch
+ ./patches/2_24/0003-local-derivation-goal-Print-sandbox-error-detail-on-.patch
+ ./patches/2_24/0004-local-derivation-goal-Refactor.patch
+ ./patches/2_24/0005-local-derivation-goal-Move-builder-preparation-to-no.patch
+ ];
}).override (lib.optionalAttrs (stdenv.isDarwin && stdenv.isx86_64) {
# Fix the following error with the default x86_64-darwin SDK:
#
@@ -232,6 +275,14 @@ in lib.makeExtensible (self: ({
rev = "ca3fc1693b309ab6b8b0c09408a08d0055bf0363";
hash = "sha256-Hp7dkx7zfB9a4l5QusXUob0b1T2qdZ23LFo5dcp3xrU=";
};
+ patches = [
+ ./patches/git/0001-Fix-meson-build-on-darwin.patch
+ ./patches/git/0002-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
+ ./patches/git/0003-packaging-Add-darwin-lsandbox-in-meson.patch
+ ./patches/git/0004-local-derivation-goal-Print-sandbox-error-detail-on-.patch
+ ./patches/git/0005-local-derivation-goal-Refactor.patch
+ ./patches/git/0006-local-derivation-goal-Move-builder-preparation-to-no.patch
+ ];
self_attribute_name = "git";
}).override (lib.optionalAttrs (stdenv.isDarwin && stdenv.isx86_64) {
# Fix the following error with the default x86_64-darwin SDK:
diff --git a/pkgs/tools/package-management/nix/patches/2_18/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch b/pkgs/tools/package-management/nix/patches/2_18/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
new file mode 100644
index 000000000000..c13844f8bdd7
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_18/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
@@ -0,0 +1,315 @@
+From 3c4bc6929eb13cf648c54931a28797bb1c289052 Mon Sep 17 00:00:00 2001
+From: Puck Meerburg <puck@puckipedia.com>
+Date: Fri, 1 Mar 2024 11:42:24 -0500
+Subject: [PATCH 1/4] fix: Run all derivation builders inside the sandbox on
+ macOS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ configure.ac | 6 +-
+ flake.nix | 1 +
+ src/libstore/build/local-derivation-goal.cc | 221 ++++++++++----------
+ 3 files changed, 114 insertions(+), 114 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 4e50d0913..44852ad79 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -58,13 +58,17 @@ AC_CHECK_TOOL([AR], [ar])
+ AC_SYS_LARGEFILE
+
+
+-# Solaris-specific stuff.
++# OS-specific stuff.
+ AC_STRUCT_DIRENT_D_TYPE
+ case "$host_os" in
+ solaris*)
+ # Solaris requires -lsocket -lnsl for network functions
+ LDFLAGS="-lsocket -lnsl $LDFLAGS"
+ ;;
++ darwin*)
++ # Need to link to libsandbox.
++ LDFLAGS="-lsandbox $LDFLAGS"
++ ;;
+ esac
+
+
+diff --git a/flake.nix b/flake.nix
+index 6c9bef4d8..66ac1bfd8 100644
+--- a/flake.nix
++++ b/flake.nix
+@@ -173,6 +173,7 @@
+ boost
+ lowdown-nix
+ ]
++ ++ lib.optionals stdenv.isDarwin [darwin.apple_sdk.libs.sandbox]
+ ++ lib.optionals stdenv.isLinux [(libseccomp.overrideAttrs (_: rec {
+ version = "2.5.5";
+ src = fetchurl {
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index 4d690beaf..fb83cfdc7 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -53,6 +53,10 @@
+ #if __APPLE__
+ #include <spawn.h>
+ #include <sys/sysctl.h>
++#include <sandbox.h>
++
++/* This definition is undocumented but depended upon by all major browsers. */
++extern "C" int sandbox_init_with_parameters(const char *profile, uint64_t flags, const char *const parameters[], char **errorbuf);
+ #endif
+
+ #include <pwd.h>
+@@ -2034,141 +2038,132 @@ void LocalDerivationGoal::runChild()
+
+ std::string builder = "invalid";
+
+- if (drv->isBuiltin()) {
+- ;
+- }
+ #if __APPLE__
+- else {
+- /* This has to appear before import statements. */
+- std::string sandboxProfile = "(version 1)\n";
+-
+- if (useChroot) {
+-
+- /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
+- PathSet ancestry;
+-
+- /* We build the ancestry before adding all inputPaths to the store because we know they'll
+- all have the same parents (the store), and there might be lots of inputs. This isn't
+- particularly efficient... I doubt it'll be a bottleneck in practice */
+- for (auto & i : dirsInChroot) {
+- Path cur = i.first;
+- while (cur.compare("/") != 0) {
+- cur = dirOf(cur);
+- ancestry.insert(cur);
+- }
+- }
++ /* This has to appear before import statements. */
++ std::string sandboxProfile = "(version 1)\n";
+
+- /* And we want the store in there regardless of how empty dirsInChroot. We include the innermost
+- path component this time, since it's typically /nix/store and we care about that. */
+- Path cur = worker.store.storeDir;
++ if (useChroot) {
++
++ /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
++ PathSet ancestry;
++
++ /* We build the ancestry before adding all inputPaths to the store because we know they'll
++ all have the same parents (the store), and there might be lots of inputs. This isn't
++ particularly efficient... I doubt it'll be a bottleneck in practice */
++ for (auto & i : dirsInChroot) {
++ Path cur = i.first;
+ while (cur.compare("/") != 0) {
+- ancestry.insert(cur);
+ cur = dirOf(cur);
++ ancestry.insert(cur);
+ }
++ }
+
+- /* Add all our input paths to the chroot */
+- for (auto & i : inputPaths) {
+- auto p = worker.store.printStorePath(i);
+- dirsInChroot[p] = p;
+- }
+-
+- /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
+- if (settings.darwinLogSandboxViolations) {
+- sandboxProfile += "(deny default)\n";
+- } else {
+- sandboxProfile += "(deny default (with no-log))\n";
+- }
++ /* And we want the store in there regardless of how empty dirsInChroot. We include the innermost
++ path component this time, since it's typically /nix/store and we care about that. */
++ Path cur = worker.store.storeDir;
++ while (cur.compare("/") != 0) {
++ ancestry.insert(cur);
++ cur = dirOf(cur);
++ }
+
+- sandboxProfile +=
+- #include "sandbox-defaults.sb"
+- ;
++ /* Add all our input paths to the chroot */
++ for (auto & i : inputPaths) {
++ auto p = worker.store.printStorePath(i);
++ dirsInChroot[p] = p;
++ }
+
+- if (!derivationType->isSandboxed())
+- sandboxProfile +=
+- #include "sandbox-network.sb"
+- ;
+-
+- /* Add the output paths we'll use at build-time to the chroot */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & [_, path] : scratchOutputs)
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+-
+- sandboxProfile += ")\n";
+-
+- /* Our inputs (transitive dependencies and any impurities computed above)
+-
+- without file-write* allowed, access() incorrectly returns EPERM
+- */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & i : dirsInChroot) {
+- if (i.first != i.second.source)
+- throw Error(
+- "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
+- i.first, i.second.source);
+-
+- std::string path = i.first;
+- struct stat st;
+- if (lstat(path.c_str(), &st)) {
+- if (i.second.optional && errno == ENOENT)
+- continue;
+- throw SysError("getting attributes of path '%s", path);
+- }
+- if (S_ISDIR(st.st_mode))
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
+- else
+- sandboxProfile += fmt("\t(literal \"%s\")\n", path);
+- }
+- sandboxProfile += ")\n";
++ /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
++ if (settings.darwinLogSandboxViolations) {
++ sandboxProfile += "(deny default)\n";
++ } else {
++ sandboxProfile += "(deny default (with no-log))\n";
++ }
+
+- /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
+- sandboxProfile += "(allow file-read*\n";
+- for (auto & i : ancestry) {
+- sandboxProfile += fmt("\t(literal \"%s\")\n", i);
+- }
+- sandboxProfile += ")\n";
++ sandboxProfile +=
++ #include "sandbox-defaults.sb"
++ ;
+
+- sandboxProfile += additionalSandboxProfile;
+- } else
++ if (!derivationType->isSandboxed())
+ sandboxProfile +=
+- #include "sandbox-minimal.sb"
++ #include "sandbox-network.sb"
+ ;
+
+- debug("Generated sandbox profile:");
+- debug(sandboxProfile);
++ /* Add the output paths we'll use at build-time to the chroot */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & [_, path] : scratchOutputs)
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+
+- Path sandboxFile = tmpDir + "/.sandbox.sb";
++ sandboxProfile += ")\n";
+
+- writeFile(sandboxFile, sandboxProfile);
++ /* Our inputs (transitive dependencies and any impurities computed above)
+
+- bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++ without file-write* allowed, access() incorrectly returns EPERM
++ */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & i : dirsInChroot) {
++ if (i.first != i.second.source)
++ throw Error(
++ "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
++ i.first, i.second.source);
+
+- /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
+- to find temporary directories, so we want to open up a broader place for them to dump their files, if needed. */
+- Path globalTmpDir = canonPath(defaultTempDir(), true);
++ std::string path = i.first;
++ struct stat st;
++ if (lstat(path.c_str(), &st)) {
++ if (i.second.optional && errno == ENOENT)
++ continue;
++ throw SysError("getting attributes of path '%s", path);
++ }
++ if (S_ISDIR(st.st_mode))
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
++ else
++ sandboxProfile += fmt("\t(literal \"%s\")\n", path);
++ }
++ sandboxProfile += ")\n";
+
+- /* They don't like trailing slashes on subpath directives */
+- while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
+- globalTmpDir.pop_back();
++ /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
++ sandboxProfile += "(allow file-read*\n";
++ for (auto & i : ancestry) {
++ sandboxProfile += fmt("\t(literal \"%s\")\n", i);
++ }
++ sandboxProfile += ")\n";
+
+- if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
+- builder = "/usr/bin/sandbox-exec";
+- args.push_back("sandbox-exec");
+- args.push_back("-f");
+- args.push_back(sandboxFile);
+- args.push_back("-D");
+- args.push_back("_GLOBAL_TMP_DIR=" + globalTmpDir);
+- if (allowLocalNetworking) {
+- args.push_back("-D");
+- args.push_back(std::string("_ALLOW_LOCAL_NETWORKING=1"));
+- }
+- args.push_back(drv->builder);
+- } else {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
++ sandboxProfile += additionalSandboxProfile;
++ } else
++ sandboxProfile +=
++ #include "sandbox-minimal.sb"
++ ;
++
++ debug("Generated sandbox profile:");
++ debug(sandboxProfile);
++
++ bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++
++ /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
++ to find temporary directories, so we want to open up a broader place for them to dump their files, if needed. */
++ Path globalTmpDir = canonPath(defaultTempDir(), true);
++
++ /* They don't like trailing slashes on subpath directives */
++ while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
++ globalTmpDir.pop_back();
++
++ if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
++ Strings sandboxArgs;
++ sandboxArgs.push_back("_GLOBAL_TMP_DIR");
++ sandboxArgs.push_back(globalTmpDir);
++ if (allowLocalNetworking) {
++ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
++ sandboxArgs.push_back("1");
++ }
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
++ writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ _exit(1);
+ }
+ }
++
++ builder = drv->builder;
++ args.push_back(std::string(baseNameOf(drv->builder)));
+ #else
+- else {
++ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_18/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch b/pkgs/tools/package-management/nix/patches/2_18/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
new file mode 100644
index 000000000000..a3bc4f05cdaf
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_18/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
@@ -0,0 +1,34 @@
+From 4ac099d6ab4b6851aeb8b7a1e37f5794716d5138 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:44:12 +0200
+Subject: [PATCH 2/4] local-derivation-goal: Print sandbox error detail on
+ darwin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index fb83cfdc7..d41d1c1e5 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2154,8 +2154,9 @@ void LocalDerivationGoal::runChild()
+ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
+ sandboxArgs.push_back("1");
+ }
+- if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
+- writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ char * sandbox_errbuf = nullptr;
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), &sandbox_errbuf)) {
++ writeFull(STDERR_FILENO, fmt("failed to configure sandbox: %s\n", sandbox_errbuf ? sandbox_errbuf : "(null)"));
+ _exit(1);
+ }
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_18/0003-local-derivation-goal-Refactor.patch b/pkgs/tools/package-management/nix/patches/2_18/0003-local-derivation-goal-Refactor.patch
new file mode 100644
index 000000000000..81997405a5f7
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_18/0003-local-derivation-goal-Refactor.patch
@@ -0,0 +1,41 @@
+From 6fe3a5e26def808b99856099d74aa3017ecf6d9d Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:50:27 +0200
+Subject: [PATCH 3/4] local-derivation-goal: Refactor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This works because the `builder` and `args` variables are only used
+in the non-builtin code path.
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index d41d1c1e5..faecc403b 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2160,15 +2160,12 @@ void LocalDerivationGoal::runChild()
+ _exit(1);
+ }
+ }
++#endif
+
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+-#else
+ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+-#endif
+
+ for (auto & i : drv->args)
+ args.push_back(rewriteStrings(i, inputRewrites));
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_18/0004-local-derivation-goal-Move-builder-preparation-to-no.patch b/pkgs/tools/package-management/nix/patches/2_18/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
new file mode 100644
index 000000000000..4a17ccedbdbd
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_18/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
@@ -0,0 +1,75 @@
+From d219faa93badcfc8134c81ba0d2b821775eb947c Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:57:00 +0200
+Subject: [PATCH 4/4] local-derivation-goal: Move builder preparation to
+ non-builtin code path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 25 +++++++++------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index faecc403b..23d5d5e3f 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2033,11 +2033,6 @@ void LocalDerivationGoal::runChild()
+ throw SysError("setuid failed");
+ }
+
+- /* Fill in the arguments. */
+- Strings args;
+-
+- std::string builder = "invalid";
+-
+ #if __APPLE__
+ /* This has to appear before import statements. */
+ std::string sandboxProfile = "(version 1)\n";
+@@ -2162,14 +2157,6 @@ void LocalDerivationGoal::runChild()
+ }
+ #endif
+
+- if (!drv->isBuiltin()) {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+- }
+-
+- for (auto & i : drv->args)
+- args.push_back(rewriteStrings(i, inputRewrites));
+-
+ /* Indicate that we managed to set up the build environment. */
+ writeFull(STDERR_FILENO, std::string("\2\n"));
+
+@@ -2199,6 +2186,14 @@ void LocalDerivationGoal::runChild()
+ }
+ }
+
++ // Now builder is not builtin
++
++ Strings args;
++ args.push_back(std::string(baseNameOf(drv->builder)));
++
++ for (auto & i : drv->args)
++ args.push_back(rewriteStrings(i, inputRewrites));
++
+ #if __APPLE__
+ posix_spawnattr_t attrp;
+
+@@ -2220,9 +2215,9 @@ void LocalDerivationGoal::runChild()
+ posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL);
+ }
+
+- posix_spawn(NULL, builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ posix_spawn(NULL, drv->builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #else
+- execve(builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ execve(drv->builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #endif
+
+ throw SysError("executing '%1%'", drv->builder);
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_19/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch b/pkgs/tools/package-management/nix/patches/2_19/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
new file mode 100644
index 000000000000..dfe091b48c7d
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_19/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
@@ -0,0 +1,312 @@
+From 172734f47a8062285cec0055133efcc45df03e54 Mon Sep 17 00:00:00 2001
+From: Puck Meerburg <puck@puckipedia.com>
+Date: Fri, 1 Mar 2024 11:42:24 -0500
+Subject: [PATCH 1/4] fix: Run all derivation builders inside the sandbox on
+ macOS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ configure.ac | 6 +-
+ flake.nix | 1 +
+ src/libstore/build/local-derivation-goal.cc | 217 ++++++++++----------
+ 3 files changed, 112 insertions(+), 112 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 281ba2c32..6d73804e2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -58,13 +58,17 @@ AC_CHECK_TOOL([AR], [ar])
+ AC_SYS_LARGEFILE
+
+
+-# Solaris-specific stuff.
++# OS-specific stuff.
+ AC_STRUCT_DIRENT_D_TYPE
+ case "$host_os" in
+ solaris*)
+ # Solaris requires -lsocket -lnsl for network functions
+ LDFLAGS="-lsocket -lnsl $LDFLAGS"
+ ;;
++ darwin*)
++ # Need to link to libsandbox.
++ LDFLAGS="-lsandbox $LDFLAGS"
++ ;;
+ esac
+
+
+diff --git a/flake.nix b/flake.nix
+index 6deb09f22..98f9cc25f 100644
+--- a/flake.nix
++++ b/flake.nix
+@@ -202,6 +202,7 @@
+ libsodium
+ ]
+ ++ lib.optionals stdenv.isLinux [libseccomp]
++ ++ lib.optionals stdenv.isDarwin [darwin.apple_sdk.libs.sandbox]
+ ++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid;
+
+ checkDeps = [
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index b6c7666e5..effd9c613 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -55,6 +55,10 @@
+ #if __APPLE__
+ #include <spawn.h>
+ #include <sys/sysctl.h>
++#include <sandbox.h>
++
++/* This definition is undocumented but depended upon by all major browsers. */
++extern "C" int sandbox_init_with_parameters(const char *profile, uint64_t flags, const char *const parameters[], char **errorbuf);
+ #endif
+
+ #include <pwd.h>
+@@ -2031,140 +2035,131 @@ void LocalDerivationGoal::runChild()
+
+ std::string builder = "invalid";
+
+- if (drv->isBuiltin()) {
+- ;
+- }
+ #if __APPLE__
+- else {
+- /* This has to appear before import statements. */
+- std::string sandboxProfile = "(version 1)\n";
+-
+- if (useChroot) {
+-
+- /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
+- PathSet ancestry;
+-
+- /* We build the ancestry before adding all inputPaths to the store because we know they'll
+- all have the same parents (the store), and there might be lots of inputs. This isn't
+- particularly efficient... I doubt it'll be a bottleneck in practice */
+- for (auto & i : pathsInChroot) {
+- Path cur = i.first;
+- while (cur.compare("/") != 0) {
+- cur = dirOf(cur);
+- ancestry.insert(cur);
+- }
+- }
++ /* This has to appear before import statements. */
++ std::string sandboxProfile = "(version 1)\n";
+
+- /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
+- path component this time, since it's typically /nix/store and we care about that. */
+- Path cur = worker.store.storeDir;
++ if (useChroot) {
++
++ /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
++ PathSet ancestry;
++
++ /* We build the ancestry before adding all inputPaths to the store because we know they'll
++ all have the same parents (the store), and there might be lots of inputs. This isn't
++ particularly efficient... I doubt it'll be a bottleneck in practice */
++ for (auto & i : pathsInChroot) {
++ Path cur = i.first;
+ while (cur.compare("/") != 0) {
+- ancestry.insert(cur);
+ cur = dirOf(cur);
++ ancestry.insert(cur);
+ }
++ }
+
+- /* Add all our input paths to the chroot */
+- for (auto & i : inputPaths) {
+- auto p = worker.store.printStorePath(i);
+- pathsInChroot[p] = p;
+- }
++ /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
++ path component this time, since it's typically /nix/store and we care about that. */
++ Path cur = worker.store.storeDir;
++ while (cur.compare("/") != 0) {
++ ancestry.insert(cur);
++ cur = dirOf(cur);
++ }
+
+- /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
+- if (settings.darwinLogSandboxViolations) {
+- sandboxProfile += "(deny default)\n";
+- } else {
+- sandboxProfile += "(deny default (with no-log))\n";
+- }
++ /* Add all our input paths to the chroot */
++ for (auto & i : inputPaths) {
++ auto p = worker.store.printStorePath(i);
++ pathsInChroot[p] = p;
++ }
++
++ /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
++ if (settings.darwinLogSandboxViolations) {
++ sandboxProfile += "(deny default)\n";
++ } else {
++ sandboxProfile += "(deny default (with no-log))\n";
++ }
+
++ sandboxProfile +=
++ #include "sandbox-defaults.sb"
++ ;
++
++ if (!derivationType->isSandboxed())
+ sandboxProfile +=
+- #include "sandbox-defaults.sb"
++ #include "sandbox-network.sb"
+ ;
+
+- if (!derivationType->isSandboxed())
+- sandboxProfile +=
+- #include "sandbox-network.sb"
+- ;
+-
+- /* Add the output paths we'll use at build-time to the chroot */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & [_, path] : scratchOutputs)
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+-
+- sandboxProfile += ")\n";
+-
+- /* Our inputs (transitive dependencies and any impurities computed above)
+-
+- without file-write* allowed, access() incorrectly returns EPERM
+- */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & i : pathsInChroot) {
+- if (i.first != i.second.source)
+- throw Error(
+- "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
+- i.first, i.second.source);
+-
+- std::string path = i.first;
+- struct stat st;
+- if (lstat(path.c_str(), &st)) {
+- if (i.second.optional && errno == ENOENT)
+- continue;
+- throw SysError("getting attributes of path '%s", path);
+- }
+- if (S_ISDIR(st.st_mode))
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
+- else
+- sandboxProfile += fmt("\t(literal \"%s\")\n", path);
+- }
+- sandboxProfile += ")\n";
++ /* Add the output paths we'll use at build-time to the chroot */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & [_, path] : scratchOutputs)
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+
+- /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
+- sandboxProfile += "(allow file-read*\n";
+- for (auto & i : ancestry) {
+- sandboxProfile += fmt("\t(literal \"%s\")\n", i);
+- }
+- sandboxProfile += ")\n";
++ sandboxProfile += ")\n";
+
+- sandboxProfile += additionalSandboxProfile;
+- } else
+- sandboxProfile +=
+- #include "sandbox-minimal.sb"
+- ;
++ /* Our inputs (transitive dependencies and any impurities computed above)
++
++ without file-write* allowed, access() incorrectly returns EPERM
++ */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & i : pathsInChroot) {
++ if (i.first != i.second.source)
++ throw Error(
++ "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
++ i.first, i.second.source);
++
++ std::string path = i.first;
++ struct stat st;
++ if (lstat(path.c_str(), &st)) {
++ if (i.second.optional && errno == ENOENT)
++ continue;
++ throw SysError("getting attributes of path '%s", path);
++ }
++ if (S_ISDIR(st.st_mode))
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
++ else
++ sandboxProfile += fmt("\t(literal \"%s\")\n", path);
++ }
++ sandboxProfile += ")\n";
+
+- debug("Generated sandbox profile:");
+- debug(sandboxProfile);
++ /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
++ sandboxProfile += "(allow file-read*\n";
++ for (auto & i : ancestry) {
++ sandboxProfile += fmt("\t(literal \"%s\")\n", i);
++ }
++ sandboxProfile += ")\n";
+
+- Path sandboxFile = tmpDir + "/.sandbox.sb";
++ sandboxProfile += additionalSandboxProfile;
++ } else
++ sandboxProfile +=
++ #include "sandbox-minimal.sb"
++ ;
+
+- writeFile(sandboxFile, sandboxProfile);
++ debug("Generated sandbox profile:");
++ debug(sandboxProfile);
+
+- bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++ bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
+
+- /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
+- to find temporary directories, so we want to open up a broader place for them to dump their files, if needed. */
+- Path globalTmpDir = canonPath(getEnvNonEmpty("TMPDIR").value_or("/tmp"), true);
++ /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
++ to find temporary directories, so we want to open up a broader place for them to dump their files, if needed. */
++ Path globalTmpDir = canonPath(getEnvNonEmpty("TMPDIR").value_or("/tmp"), true);
+
+- /* They don't like trailing slashes on subpath directives */
+- if (globalTmpDir.back() == '/') globalTmpDir.pop_back();
++ /* They don't like trailing slashes on subpath directives */
++ if (globalTmpDir.back() == '/') globalTmpDir.pop_back();
+
+- if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
+- builder = "/usr/bin/sandbox-exec";
+- args.push_back("sandbox-exec");
+- args.push_back("-f");
+- args.push_back(sandboxFile);
+- args.push_back("-D");
+- args.push_back("_GLOBAL_TMP_DIR=" + globalTmpDir);
+- if (allowLocalNetworking) {
+- args.push_back("-D");
+- args.push_back(std::string("_ALLOW_LOCAL_NETWORKING=1"));
+- }
+- args.push_back(drv->builder);
+- } else {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
++ if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
++ Strings sandboxArgs;
++ sandboxArgs.push_back("_GLOBAL_TMP_DIR");
++ sandboxArgs.push_back(globalTmpDir);
++ if (allowLocalNetworking) {
++ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
++ sandboxArgs.push_back("1");
++ }
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
++ writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ _exit(1);
+ }
+ }
++
++ builder = drv->builder;
++ args.push_back(std::string(baseNameOf(drv->builder)));
+ #else
+- else {
++ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_19/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch b/pkgs/tools/package-management/nix/patches/2_19/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
new file mode 100644
index 000000000000..8378f739dd7e
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_19/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
@@ -0,0 +1,34 @@
+From 4a5018019e969537fdba36314fe5c19fe91828af Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:44:12 +0200
+Subject: [PATCH 2/4] local-derivation-goal: Print sandbox error detail on
+ darwin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index effd9c613..a67347b59 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2150,8 +2150,9 @@ void LocalDerivationGoal::runChild()
+ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
+ sandboxArgs.push_back("1");
+ }
+- if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
+- writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ char * sandbox_errbuf = nullptr;
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), &sandbox_errbuf)) {
++ writeFull(STDERR_FILENO, fmt("failed to configure sandbox: %s\n", sandbox_errbuf ? sandbox_errbuf : "(null)"));
+ _exit(1);
+ }
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_19/0003-local-derivation-goal-Refactor.patch b/pkgs/tools/package-management/nix/patches/2_19/0003-local-derivation-goal-Refactor.patch
new file mode 100644
index 000000000000..f98d7069b554
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_19/0003-local-derivation-goal-Refactor.patch
@@ -0,0 +1,41 @@
+From f9e5b3b52323fdcac4e21bfec4d03bd66ea6a503 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:50:27 +0200
+Subject: [PATCH 3/4] local-derivation-goal: Refactor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This works because the `builder` and `args` variables are only used
+in the non-builtin code path.
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index a67347b59..eeb2635ee 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2156,15 +2156,12 @@ void LocalDerivationGoal::runChild()
+ _exit(1);
+ }
+ }
++#endif
+
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+-#else
+ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+-#endif
+
+ for (auto & i : drv->args)
+ args.push_back(rewriteStrings(i, inputRewrites));
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_19/0004-local-derivation-goal-Move-builder-preparation-to-no.patch b/pkgs/tools/package-management/nix/patches/2_19/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
new file mode 100644
index 000000000000..523e0edea3d9
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_19/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
@@ -0,0 +1,75 @@
+From 126a1fd3385175ac94ae4000a9798e0cafb3c168 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:57:00 +0200
+Subject: [PATCH 4/4] local-derivation-goal: Move builder preparation to
+ non-builtin code path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 25 +++++++++------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index eeb2635ee..e29330f0e 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2030,11 +2030,6 @@ void LocalDerivationGoal::runChild()
+ throw SysError("setuid failed");
+ }
+
+- /* Fill in the arguments. */
+- Strings args;
+-
+- std::string builder = "invalid";
+-
+ #if __APPLE__
+ /* This has to appear before import statements. */
+ std::string sandboxProfile = "(version 1)\n";
+@@ -2158,14 +2153,6 @@ void LocalDerivationGoal::runChild()
+ }
+ #endif
+
+- if (!drv->isBuiltin()) {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+- }
+-
+- for (auto & i : drv->args)
+- args.push_back(rewriteStrings(i, inputRewrites));
+-
+ /* Indicate that we managed to set up the build environment. */
+ writeFull(STDERR_FILENO, std::string("\2\n"));
+
+@@ -2195,6 +2182,14 @@ void LocalDerivationGoal::runChild()
+ }
+ }
+
++ // Now builder is not builtin
++
++ Strings args;
++ args.push_back(std::string(baseNameOf(drv->builder)));
++
++ for (auto & i : drv->args)
++ args.push_back(rewriteStrings(i, inputRewrites));
++
+ #if __APPLE__
+ posix_spawnattr_t attrp;
+
+@@ -2216,9 +2211,9 @@ void LocalDerivationGoal::runChild()
+ posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL);
+ }
+
+- posix_spawn(NULL, builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ posix_spawn(NULL, drv->builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #else
+- execve(builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ execve(drv->builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #endif
+
+ throw SysError("executing '%1%'", drv->builder);
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_20/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch b/pkgs/tools/package-management/nix/patches/2_20/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
new file mode 100644
index 000000000000..6c5d8b785990
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_20/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
@@ -0,0 +1,320 @@
+From aa54b01af503644a393e4e4055c4ce2a23ce9139 Mon Sep 17 00:00:00 2001
+From: Puck Meerburg <puck@puckipedia.com>
+Date: Fri, 1 Mar 2024 11:42:24 -0500
+Subject: [PATCH 1/4] fix: Run all derivation builders inside the sandbox on
+ macOS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ configure.ac | 6 +-
+ package.nix | 2 +
+ src/libstore/build/local-derivation-goal.cc | 217 ++++++++++----------
+ 3 files changed, 113 insertions(+), 112 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8c29c1e62..8c524fd93 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -58,13 +58,17 @@ AC_CHECK_TOOL([AR], [ar])
+ AC_SYS_LARGEFILE
+
+
+-# Solaris-specific stuff.
++# OS-specific stuff.
+ AC_STRUCT_DIRENT_D_TYPE
+ case "$host_os" in
+ solaris*)
+ # Solaris requires -lsocket -lnsl for network functions
+ LDFLAGS="-lsocket -lnsl $LDFLAGS"
+ ;;
++ darwin*)
++ # Need to link to libsandbox.
++ LDFLAGS="-lsandbox $LDFLAGS"
++ ;;
+ esac
+
+
+diff --git a/package.nix b/package.nix
+index d1d14d10e..40283ffcf 100644
+--- a/package.nix
++++ b/package.nix
+@@ -24,6 +24,7 @@
+ , libgit2
+ , libseccomp
+ , libsodium
++, darwin
+ , lowdown
+ , mdbook
+ , mdbook-linkcheck
+@@ -233,6 +234,7 @@ in {
+ gtest
+ rapidcheck
+ ] ++ lib.optional stdenv.isLinux libseccomp
++ ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.sandbox
+ ++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid
+ # There have been issues building these dependencies
+ ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform && (stdenv.isLinux || stdenv.isDarwin))
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index b8228bc11..9ab676429 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -57,6 +57,10 @@
+ #if __APPLE__
+ #include <spawn.h>
+ #include <sys/sysctl.h>
++#include <sandbox.h>
++
++/* This definition is undocumented but depended upon by all major browsers. */
++extern "C" int sandbox_init_with_parameters(const char *profile, uint64_t flags, const char *const parameters[], char **errorbuf);
+ #endif
+
+ #include <pwd.h>
+@@ -2023,140 +2027,131 @@ void LocalDerivationGoal::runChild()
+
+ std::string builder = "invalid";
+
+- if (drv->isBuiltin()) {
+- ;
+- }
+ #if __APPLE__
+- else {
+- /* This has to appear before import statements. */
+- std::string sandboxProfile = "(version 1)\n";
+-
+- if (useChroot) {
+-
+- /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
+- PathSet ancestry;
+-
+- /* We build the ancestry before adding all inputPaths to the store because we know they'll
+- all have the same parents (the store), and there might be lots of inputs. This isn't
+- particularly efficient... I doubt it'll be a bottleneck in practice */
+- for (auto & i : pathsInChroot) {
+- Path cur = i.first;
+- while (cur.compare("/") != 0) {
+- cur = dirOf(cur);
+- ancestry.insert(cur);
+- }
+- }
++ /* This has to appear before import statements. */
++ std::string sandboxProfile = "(version 1)\n";
+
+- /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
+- path component this time, since it's typically /nix/store and we care about that. */
+- Path cur = worker.store.storeDir;
++ if (useChroot) {
++
++ /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
++ PathSet ancestry;
++
++ /* We build the ancestry before adding all inputPaths to the store because we know they'll
++ all have the same parents (the store), and there might be lots of inputs. This isn't
++ particularly efficient... I doubt it'll be a bottleneck in practice */
++ for (auto & i : pathsInChroot) {
++ Path cur = i.first;
+ while (cur.compare("/") != 0) {
+- ancestry.insert(cur);
+ cur = dirOf(cur);
++ ancestry.insert(cur);
+ }
++ }
+
+- /* Add all our input paths to the chroot */
+- for (auto & i : inputPaths) {
+- auto p = worker.store.printStorePath(i);
+- pathsInChroot[p] = p;
+- }
++ /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
++ path component this time, since it's typically /nix/store and we care about that. */
++ Path cur = worker.store.storeDir;
++ while (cur.compare("/") != 0) {
++ ancestry.insert(cur);
++ cur = dirOf(cur);
++ }
+
+- /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
+- if (settings.darwinLogSandboxViolations) {
+- sandboxProfile += "(deny default)\n";
+- } else {
+- sandboxProfile += "(deny default (with no-log))\n";
+- }
++ /* Add all our input paths to the chroot */
++ for (auto & i : inputPaths) {
++ auto p = worker.store.printStorePath(i);
++ pathsInChroot[p] = p;
++ }
++
++ /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
++ if (settings.darwinLogSandboxViolations) {
++ sandboxProfile += "(deny default)\n";
++ } else {
++ sandboxProfile += "(deny default (with no-log))\n";
++ }
+
++ sandboxProfile +=
++ #include "sandbox-defaults.sb"
++ ;
++
++ if (!derivationType->isSandboxed())
+ sandboxProfile +=
+- #include "sandbox-defaults.sb"
++ #include "sandbox-network.sb"
+ ;
+
+- if (!derivationType->isSandboxed())
+- sandboxProfile +=
+- #include "sandbox-network.sb"
+- ;
+-
+- /* Add the output paths we'll use at build-time to the chroot */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & [_, path] : scratchOutputs)
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+-
+- sandboxProfile += ")\n";
+-
+- /* Our inputs (transitive dependencies and any impurities computed above)
+-
+- without file-write* allowed, access() incorrectly returns EPERM
+- */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & i : pathsInChroot) {
+- if (i.first != i.second.source)
+- throw Error(
+- "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
+- i.first, i.second.source);
+-
+- std::string path = i.first;
+- struct stat st;
+- if (lstat(path.c_str(), &st)) {
+- if (i.second.optional && errno == ENOENT)
+- continue;
+- throw SysError("getting attributes of path '%s", path);
+- }
+- if (S_ISDIR(st.st_mode))
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
+- else
+- sandboxProfile += fmt("\t(literal \"%s\")\n", path);
+- }
+- sandboxProfile += ")\n";
++ /* Add the output paths we'll use at build-time to the chroot */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & [_, path] : scratchOutputs)
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+
+- /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
+- sandboxProfile += "(allow file-read*\n";
+- for (auto & i : ancestry) {
+- sandboxProfile += fmt("\t(literal \"%s\")\n", i);
+- }
+- sandboxProfile += ")\n";
++ sandboxProfile += ")\n";
+
+- sandboxProfile += additionalSandboxProfile;
+- } else
+- sandboxProfile +=
+- #include "sandbox-minimal.sb"
+- ;
++ /* Our inputs (transitive dependencies and any impurities computed above)
++
++ without file-write* allowed, access() incorrectly returns EPERM
++ */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & i : pathsInChroot) {
++ if (i.first != i.second.source)
++ throw Error(
++ "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
++ i.first, i.second.source);
++
++ std::string path = i.first;
++ struct stat st;
++ if (lstat(path.c_str(), &st)) {
++ if (i.second.optional && errno == ENOENT)
++ continue;
++ throw SysError("getting attributes of path '%s", path);
++ }
++ if (S_ISDIR(st.st_mode))
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
++ else
++ sandboxProfile += fmt("\t(literal \"%s\")\n", path);
++ }
++ sandboxProfile += ")\n";
+
+- debug("Generated sandbox profile:");
+- debug(sandboxProfile);
++ /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
++ sandboxProfile += "(allow file-read*\n";
++ for (auto & i : ancestry) {
++ sandboxProfile += fmt("\t(literal \"%s\")\n", i);
++ }
++ sandboxProfile += ")\n";
+
+- Path sandboxFile = tmpDir + "/.sandbox.sb";
++ sandboxProfile += additionalSandboxProfile;
++ } else
++ sandboxProfile +=
++ #include "sandbox-minimal.sb"
++ ;
+
+- writeFile(sandboxFile, sandboxProfile);
++ debug("Generated sandbox profile:");
++ debug(sandboxProfile);
+
+- bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++ bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
+
+- /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
+- to find temporary directories, so we want to open up a broader place for them to dump their files, if needed. */
+- Path globalTmpDir = canonPath(getEnvNonEmpty("TMPDIR").value_or("/tmp"), true);
++ /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
++ to find temporary directories, so we want to open up a broader place for them to dump their files, if needed. */
++ Path globalTmpDir = canonPath(getEnvNonEmpty("TMPDIR").value_or("/tmp"), true);
+
+- /* They don't like trailing slashes on subpath directives */
+- if (globalTmpDir.back() == '/') globalTmpDir.pop_back();
++ /* They don't like trailing slashes on subpath directives */
++ if (globalTmpDir.back() == '/') globalTmpDir.pop_back();
+
+- if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
+- builder = "/usr/bin/sandbox-exec";
+- args.push_back("sandbox-exec");
+- args.push_back("-f");
+- args.push_back(sandboxFile);
+- args.push_back("-D");
+- args.push_back("_GLOBAL_TMP_DIR=" + globalTmpDir);
+- if (allowLocalNetworking) {
+- args.push_back("-D");
+- args.push_back(std::string("_ALLOW_LOCAL_NETWORKING=1"));
+- }
+- args.push_back(drv->builder);
+- } else {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
++ if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
++ Strings sandboxArgs;
++ sandboxArgs.push_back("_GLOBAL_TMP_DIR");
++ sandboxArgs.push_back(globalTmpDir);
++ if (allowLocalNetworking) {
++ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
++ sandboxArgs.push_back("1");
++ }
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
++ writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ _exit(1);
+ }
+ }
++
++ builder = drv->builder;
++ args.push_back(std::string(baseNameOf(drv->builder)));
+ #else
+- else {
++ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_20/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch b/pkgs/tools/package-management/nix/patches/2_20/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
new file mode 100644
index 000000000000..d644be6703e7
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_20/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
@@ -0,0 +1,34 @@
+From b78e489f79165457b59faa2270fd89769d0fc17d Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:44:12 +0200
+Subject: [PATCH 2/4] local-derivation-goal: Print sandbox error detail on
+ darwin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index 9ab676429..8476e038e 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2142,8 +2142,9 @@ void LocalDerivationGoal::runChild()
+ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
+ sandboxArgs.push_back("1");
+ }
+- if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
+- writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ char * sandbox_errbuf = nullptr;
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), &sandbox_errbuf)) {
++ writeFull(STDERR_FILENO, fmt("failed to configure sandbox: %s\n", sandbox_errbuf ? sandbox_errbuf : "(null)"));
+ _exit(1);
+ }
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_20/0003-local-derivation-goal-Refactor.patch b/pkgs/tools/package-management/nix/patches/2_20/0003-local-derivation-goal-Refactor.patch
new file mode 100644
index 000000000000..05e8c5843ace
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_20/0003-local-derivation-goal-Refactor.patch
@@ -0,0 +1,41 @@
+From db6bcf3f7714929d5a21b655c5f8ccd2ddbdf7f2 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:50:27 +0200
+Subject: [PATCH 3/4] local-derivation-goal: Refactor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This works because the `builder` and `args` variables are only used
+in the non-builtin code path.
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index 8476e038e..12b67df69 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2148,15 +2148,12 @@ void LocalDerivationGoal::runChild()
+ _exit(1);
+ }
+ }
++#endif
+
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+-#else
+ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+-#endif
+
+ for (auto & i : drv->args)
+ args.push_back(rewriteStrings(i, inputRewrites));
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_20/0004-local-derivation-goal-Move-builder-preparation-to-no.patch b/pkgs/tools/package-management/nix/patches/2_20/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
new file mode 100644
index 000000000000..852940d3b711
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_20/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
@@ -0,0 +1,75 @@
+From 55be7deee1471e77e3ad408c5e23842df0d5bc28 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:57:00 +0200
+Subject: [PATCH 4/4] local-derivation-goal: Move builder preparation to
+ non-builtin code path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 25 +++++++++------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index 12b67df69..ada86dbb8 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2022,11 +2022,6 @@ void LocalDerivationGoal::runChild()
+ throw SysError("setuid failed");
+ }
+
+- /* Fill in the arguments. */
+- Strings args;
+-
+- std::string builder = "invalid";
+-
+ #if __APPLE__
+ /* This has to appear before import statements. */
+ std::string sandboxProfile = "(version 1)\n";
+@@ -2150,14 +2145,6 @@ void LocalDerivationGoal::runChild()
+ }
+ #endif
+
+- if (!drv->isBuiltin()) {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+- }
+-
+- for (auto & i : drv->args)
+- args.push_back(rewriteStrings(i, inputRewrites));
+-
+ /* Indicate that we managed to set up the build environment. */
+ writeFull(STDERR_FILENO, std::string("\2\n"));
+
+@@ -2187,6 +2174,14 @@ void LocalDerivationGoal::runChild()
+ }
+ }
+
++ // Now builder is not builtin
++
++ Strings args;
++ args.push_back(std::string(baseNameOf(drv->builder)));
++
++ for (auto & i : drv->args)
++ args.push_back(rewriteStrings(i, inputRewrites));
++
+ #if __APPLE__
+ posix_spawnattr_t attrp;
+
+@@ -2208,9 +2203,9 @@ void LocalDerivationGoal::runChild()
+ posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL);
+ }
+
+- posix_spawn(NULL, builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ posix_spawn(NULL, drv->builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #else
+- execve(builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ execve(drv->builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #endif
+
+ throw SysError("executing '%1%'", drv->builder);
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_21/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch b/pkgs/tools/package-management/nix/patches/2_21/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
new file mode 100644
index 000000000000..d35d20896e6b
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_21/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
@@ -0,0 +1,320 @@
+From ae8a38d29cc0fbd6394acd72fdaaa62b3798f698 Mon Sep 17 00:00:00 2001
+From: Puck Meerburg <puck@puckipedia.com>
+Date: Fri, 1 Mar 2024 11:42:24 -0500
+Subject: [PATCH 1/4] fix: Run all derivation builders inside the sandbox on
+ macOS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ configure.ac | 6 +-
+ package.nix | 2 +
+ src/libstore/build/local-derivation-goal.cc | 217 ++++++++++----------
+ 3 files changed, 113 insertions(+), 112 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 676b145a5..f6fa35c81 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,13 +62,17 @@ AC_CHECK_TOOL([AR], [ar])
+ AC_SYS_LARGEFILE
+
+
+-# Solaris-specific stuff.
++# OS-specific stuff.
+ AC_STRUCT_DIRENT_D_TYPE
+ case "$host_os" in
+ solaris*)
+ # Solaris requires -lsocket -lnsl for network functions
+ LDFLAGS="-lsocket -lnsl $LDFLAGS"
+ ;;
++ darwin*)
++ # Need to link to libsandbox.
++ LDFLAGS="-lsandbox $LDFLAGS"
++ ;;
+ esac
+
+
+diff --git a/package.nix b/package.nix
+index 7d9a39771..de2e1aff1 100644
+--- a/package.nix
++++ b/package.nix
+@@ -25,6 +25,7 @@
+ , libseccomp
+ , libsodium
+ , man
++, darwin
+ , lowdown
+ , mdbook
+ , mdbook-linkcheck
+@@ -239,6 +240,7 @@ in {
+ gtest
+ rapidcheck
+ ] ++ lib.optional stdenv.isLinux libseccomp
++ ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.sandbox
+ ++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid
+ # There have been issues building these dependencies
+ ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform && (stdenv.isLinux || stdenv.isDarwin))
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index 710304b67..c73b30b80 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -58,6 +58,10 @@
+ #if __APPLE__
+ #include <spawn.h>
+ #include <sys/sysctl.h>
++#include <sandbox.h>
++
++/* This definition is undocumented but depended upon by all major browsers. */
++extern "C" int sandbox_init_with_parameters(const char *profile, uint64_t flags, const char *const parameters[], char **errorbuf);
+ #endif
+
+ #include <pwd.h>
+@@ -2018,140 +2022,131 @@ void LocalDerivationGoal::runChild()
+
+ std::string builder = "invalid";
+
+- if (drv->isBuiltin()) {
+- ;
+- }
+ #if __APPLE__
+- else {
+- /* This has to appear before import statements. */
+- std::string sandboxProfile = "(version 1)\n";
+-
+- if (useChroot) {
+-
+- /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
+- PathSet ancestry;
+-
+- /* We build the ancestry before adding all inputPaths to the store because we know they'll
+- all have the same parents (the store), and there might be lots of inputs. This isn't
+- particularly efficient... I doubt it'll be a bottleneck in practice */
+- for (auto & i : pathsInChroot) {
+- Path cur = i.first;
+- while (cur.compare("/") != 0) {
+- cur = dirOf(cur);
+- ancestry.insert(cur);
+- }
+- }
++ /* This has to appear before import statements. */
++ std::string sandboxProfile = "(version 1)\n";
+
+- /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
+- path component this time, since it's typically /nix/store and we care about that. */
+- Path cur = worker.store.storeDir;
++ if (useChroot) {
++
++ /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
++ PathSet ancestry;
++
++ /* We build the ancestry before adding all inputPaths to the store because we know they'll
++ all have the same parents (the store), and there might be lots of inputs. This isn't
++ particularly efficient... I doubt it'll be a bottleneck in practice */
++ for (auto & i : pathsInChroot) {
++ Path cur = i.first;
+ while (cur.compare("/") != 0) {
+- ancestry.insert(cur);
+ cur = dirOf(cur);
++ ancestry.insert(cur);
+ }
++ }
+
+- /* Add all our input paths to the chroot */
+- for (auto & i : inputPaths) {
+- auto p = worker.store.printStorePath(i);
+- pathsInChroot[p] = p;
+- }
++ /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
++ path component this time, since it's typically /nix/store and we care about that. */
++ Path cur = worker.store.storeDir;
++ while (cur.compare("/") != 0) {
++ ancestry.insert(cur);
++ cur = dirOf(cur);
++ }
+
+- /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
+- if (settings.darwinLogSandboxViolations) {
+- sandboxProfile += "(deny default)\n";
+- } else {
+- sandboxProfile += "(deny default (with no-log))\n";
+- }
++ /* Add all our input paths to the chroot */
++ for (auto & i : inputPaths) {
++ auto p = worker.store.printStorePath(i);
++ pathsInChroot[p] = p;
++ }
++
++ /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
++ if (settings.darwinLogSandboxViolations) {
++ sandboxProfile += "(deny default)\n";
++ } else {
++ sandboxProfile += "(deny default (with no-log))\n";
++ }
+
++ sandboxProfile +=
++ #include "sandbox-defaults.sb"
++ ;
++
++ if (!derivationType->isSandboxed())
+ sandboxProfile +=
+- #include "sandbox-defaults.sb"
++ #include "sandbox-network.sb"
+ ;
+
+- if (!derivationType->isSandboxed())
+- sandboxProfile +=
+- #include "sandbox-network.sb"
+- ;
+-
+- /* Add the output paths we'll use at build-time to the chroot */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & [_, path] : scratchOutputs)
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+-
+- sandboxProfile += ")\n";
+-
+- /* Our inputs (transitive dependencies and any impurities computed above)
+-
+- without file-write* allowed, access() incorrectly returns EPERM
+- */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & i : pathsInChroot) {
+- if (i.first != i.second.source)
+- throw Error(
+- "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
+- i.first, i.second.source);
+-
+- std::string path = i.first;
+- struct stat st;
+- if (lstat(path.c_str(), &st)) {
+- if (i.second.optional && errno == ENOENT)
+- continue;
+- throw SysError("getting attributes of path '%s", path);
+- }
+- if (S_ISDIR(st.st_mode))
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
+- else
+- sandboxProfile += fmt("\t(literal \"%s\")\n", path);
+- }
+- sandboxProfile += ")\n";
++ /* Add the output paths we'll use at build-time to the chroot */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & [_, path] : scratchOutputs)
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+
+- /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
+- sandboxProfile += "(allow file-read*\n";
+- for (auto & i : ancestry) {
+- sandboxProfile += fmt("\t(literal \"%s\")\n", i);
+- }
+- sandboxProfile += ")\n";
++ sandboxProfile += ")\n";
+
+- sandboxProfile += additionalSandboxProfile;
+- } else
+- sandboxProfile +=
+- #include "sandbox-minimal.sb"
+- ;
++ /* Our inputs (transitive dependencies and any impurities computed above)
++
++ without file-write* allowed, access() incorrectly returns EPERM
++ */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & i : pathsInChroot) {
++ if (i.first != i.second.source)
++ throw Error(
++ "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
++ i.first, i.second.source);
++
++ std::string path = i.first;
++ struct stat st;
++ if (lstat(path.c_str(), &st)) {
++ if (i.second.optional && errno == ENOENT)
++ continue;
++ throw SysError("getting attributes of path '%s", path);
++ }
++ if (S_ISDIR(st.st_mode))
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
++ else
++ sandboxProfile += fmt("\t(literal \"%s\")\n", path);
++ }
++ sandboxProfile += ")\n";
+
+- debug("Generated sandbox profile:");
+- debug(sandboxProfile);
++ /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
++ sandboxProfile += "(allow file-read*\n";
++ for (auto & i : ancestry) {
++ sandboxProfile += fmt("\t(literal \"%s\")\n", i);
++ }
++ sandboxProfile += ")\n";
+
+- Path sandboxFile = tmpDir + "/.sandbox.sb";
++ sandboxProfile += additionalSandboxProfile;
++ } else
++ sandboxProfile +=
++ #include "sandbox-minimal.sb"
++ ;
+
+- writeFile(sandboxFile, sandboxProfile);
++ debug("Generated sandbox profile:");
++ debug(sandboxProfile);
+
+- bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++ bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
+
+- /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
+- to find temporary directories, so we want to open up a broader place for them to dump their files, if needed. */
+- Path globalTmpDir = canonPath(getEnvNonEmpty("TMPDIR").value_or("/tmp"), true);
++ /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
++ to find temporary directories, so we want to open up a broader place for them to dump their files, if needed. */
++ Path globalTmpDir = canonPath(getEnvNonEmpty("TMPDIR").value_or("/tmp"), true);
+
+- /* They don't like trailing slashes on subpath directives */
+- if (globalTmpDir.back() == '/') globalTmpDir.pop_back();
++ /* They don't like trailing slashes on subpath directives */
++ if (globalTmpDir.back() == '/') globalTmpDir.pop_back();
+
+- if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
+- builder = "/usr/bin/sandbox-exec";
+- args.push_back("sandbox-exec");
+- args.push_back("-f");
+- args.push_back(sandboxFile);
+- args.push_back("-D");
+- args.push_back("_GLOBAL_TMP_DIR=" + globalTmpDir);
+- if (allowLocalNetworking) {
+- args.push_back("-D");
+- args.push_back(std::string("_ALLOW_LOCAL_NETWORKING=1"));
+- }
+- args.push_back(drv->builder);
+- } else {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
++ if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
++ Strings sandboxArgs;
++ sandboxArgs.push_back("_GLOBAL_TMP_DIR");
++ sandboxArgs.push_back(globalTmpDir);
++ if (allowLocalNetworking) {
++ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
++ sandboxArgs.push_back("1");
++ }
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
++ writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ _exit(1);
+ }
+ }
++
++ builder = drv->builder;
++ args.push_back(std::string(baseNameOf(drv->builder)));
+ #else
+- else {
++ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_21/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch b/pkgs/tools/package-management/nix/patches/2_21/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
new file mode 100644
index 000000000000..053d3eb672d9
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_21/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
@@ -0,0 +1,34 @@
+From b429e96583e2d005c77df8c82261022397f20648 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:44:12 +0200
+Subject: [PATCH 2/4] local-derivation-goal: Print sandbox error detail on
+ darwin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index c73b30b80..e6f4c397d 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2137,8 +2137,9 @@ void LocalDerivationGoal::runChild()
+ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
+ sandboxArgs.push_back("1");
+ }
+- if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
+- writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ char * sandbox_errbuf = nullptr;
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), &sandbox_errbuf)) {
++ writeFull(STDERR_FILENO, fmt("failed to configure sandbox: %s\n", sandbox_errbuf ? sandbox_errbuf : "(null)"));
+ _exit(1);
+ }
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_21/0003-local-derivation-goal-Refactor.patch b/pkgs/tools/package-management/nix/patches/2_21/0003-local-derivation-goal-Refactor.patch
new file mode 100644
index 000000000000..97809a556b57
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_21/0003-local-derivation-goal-Refactor.patch
@@ -0,0 +1,41 @@
+From 74b93c1edba00c2601e20b8acdcc78e29bd3f092 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:50:27 +0200
+Subject: [PATCH 3/4] local-derivation-goal: Refactor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This works because the `builder` and `args` variables are only used
+in the non-builtin code path.
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index e6f4c397d..e81818fa8 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2143,15 +2143,12 @@ void LocalDerivationGoal::runChild()
+ _exit(1);
+ }
+ }
++#endif
+
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+-#else
+ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+-#endif
+
+ for (auto & i : drv->args)
+ args.push_back(rewriteStrings(i, inputRewrites));
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_21/0004-local-derivation-goal-Move-builder-preparation-to-no.patch b/pkgs/tools/package-management/nix/patches/2_21/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
new file mode 100644
index 000000000000..b2f3b2b7815c
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_21/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
@@ -0,0 +1,75 @@
+From c8de35f74cbce58651c3b64ba66061040f546b9f Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:57:00 +0200
+Subject: [PATCH 4/4] local-derivation-goal: Move builder preparation to
+ non-builtin code path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/build/local-derivation-goal.cc | 25 +++++++++------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
+index e81818fa8..078f1a5be 100644
+--- a/src/libstore/build/local-derivation-goal.cc
++++ b/src/libstore/build/local-derivation-goal.cc
+@@ -2017,11 +2017,6 @@ void LocalDerivationGoal::runChild()
+ throw SysError("setuid failed");
+ }
+
+- /* Fill in the arguments. */
+- Strings args;
+-
+- std::string builder = "invalid";
+-
+ #if __APPLE__
+ /* This has to appear before import statements. */
+ std::string sandboxProfile = "(version 1)\n";
+@@ -2145,14 +2140,6 @@ void LocalDerivationGoal::runChild()
+ }
+ #endif
+
+- if (!drv->isBuiltin()) {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+- }
+-
+- for (auto & i : drv->args)
+- args.push_back(rewriteStrings(i, inputRewrites));
+-
+ /* Indicate that we managed to set up the build environment. */
+ writeFull(STDERR_FILENO, std::string("\2\n"));
+
+@@ -2183,6 +2170,14 @@ void LocalDerivationGoal::runChild()
+ }
+ }
+
++ // Now builder is not builtin
++
++ Strings args;
++ args.push_back(std::string(baseNameOf(drv->builder)));
++
++ for (auto & i : drv->args)
++ args.push_back(rewriteStrings(i, inputRewrites));
++
+ #if __APPLE__
+ posix_spawnattr_t attrp;
+
+@@ -2204,9 +2199,9 @@ void LocalDerivationGoal::runChild()
+ posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL);
+ }
+
+- posix_spawn(NULL, builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ posix_spawn(NULL, drv->builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #else
+- execve(builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ execve(drv->builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #endif
+
+ throw SysError("executing '%1%'", drv->builder);
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_22/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch b/pkgs/tools/package-management/nix/patches/2_22/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
new file mode 100644
index 000000000000..72470dec5fd2
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_22/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
@@ -0,0 +1,327 @@
+From 8217054e3554ffd376f42fb0a65087a7af2ddfab Mon Sep 17 00:00:00 2001
+From: Puck Meerburg <puck@puckipedia.com>
+Date: Fri, 1 Mar 2024 11:42:24 -0500
+Subject: [PATCH 1/4] fix: Run all derivation builders inside the sandbox on
+ macOS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ configure.ac | 6 +-
+ package.nix | 5 +-
+ .../unix/build/local-derivation-goal.cc | 223 +++++++++---------
+ 3 files changed, 118 insertions(+), 116 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 8f60bf4be..5e67e04be 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,13 +62,17 @@ AC_CHECK_TOOL([AR], [ar])
+ AC_SYS_LARGEFILE
+
+
+-# Solaris-specific stuff.
++# OS-specific stuff.
+ AC_STRUCT_DIRENT_D_TYPE
+ case "$host_os" in
+ solaris*)
+ # Solaris requires -lsocket -lnsl for network functions
+ LDFLAGS="-lsocket -lnsl $LDFLAGS"
+ ;;
++ darwin*)
++ # Need to link to libsandbox.
++ LDFLAGS="-lsandbox $LDFLAGS"
++ ;;
+ esac
+
+
+diff --git a/package.nix b/package.nix
+index 59265f522..28be97400 100644
+--- a/package.nix
++++ b/package.nix
+@@ -27,6 +27,7 @@
+ , libseccomp
+ , libsodium
+ , man
++, darwin
+ , lowdown
+ , mdbook
+ , mdbook-linkcheck
+@@ -249,7 +250,9 @@ in {
+ ] ++ lib.optionals buildUnitTests [
+ gtest
+ rapidcheck
+- ] ++ lib.optional stdenv.isLinux (libseccomp.overrideAttrs (_: rec {
++ ]
++ ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.sandbox
++ ++ lib.optional stdenv.isLinux (libseccomp.overrideAttrs (_: rec {
+ version = "2.5.5";
+ src = fetchurl {
+ url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index b8ccdf834..449d4b07c 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -58,6 +58,10 @@
+ #if __APPLE__
+ #include <spawn.h>
+ #include <sys/sysctl.h>
++#include <sandbox.h>
++
++/* This definition is undocumented but depended upon by all major browsers. */
++extern "C" int sandbox_init_with_parameters(const char *profile, uint64_t flags, const char *const parameters[], char **errorbuf);
+ #endif
+
+ #include <pwd.h>
+@@ -2026,141 +2030,132 @@ void LocalDerivationGoal::runChild()
+
+ std::string builder = "invalid";
+
+- if (drv->isBuiltin()) {
+- ;
+- }
+ #if __APPLE__
+- else {
+- /* This has to appear before import statements. */
+- std::string sandboxProfile = "(version 1)\n";
+-
+- if (useChroot) {
+-
+- /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
+- PathSet ancestry;
+-
+- /* We build the ancestry before adding all inputPaths to the store because we know they'll
+- all have the same parents (the store), and there might be lots of inputs. This isn't
+- particularly efficient... I doubt it'll be a bottleneck in practice */
+- for (auto & i : pathsInChroot) {
+- Path cur = i.first;
+- while (cur.compare("/") != 0) {
+- cur = dirOf(cur);
+- ancestry.insert(cur);
+- }
+- }
++ /* This has to appear before import statements. */
++ std::string sandboxProfile = "(version 1)\n";
++
++ if (useChroot) {
+
+- /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
+- path component this time, since it's typically /nix/store and we care about that. */
+- Path cur = worker.store.storeDir;
++ /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
++ PathSet ancestry;
++
++ /* We build the ancestry before adding all inputPaths to the store because we know they'll
++ all have the same parents (the store), and there might be lots of inputs. This isn't
++ particularly efficient... I doubt it'll be a bottleneck in practice */
++ for (auto & i : pathsInChroot) {
++ Path cur = i.first;
+ while (cur.compare("/") != 0) {
+- ancestry.insert(cur);
+ cur = dirOf(cur);
++ ancestry.insert(cur);
+ }
++ }
+
+- /* Add all our input paths to the chroot */
+- for (auto & i : inputPaths) {
+- auto p = worker.store.printStorePath(i);
+- pathsInChroot[p] = p;
+- }
+-
+- /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
+- if (settings.darwinLogSandboxViolations) {
+- sandboxProfile += "(deny default)\n";
+- } else {
+- sandboxProfile += "(deny default (with no-log))\n";
+- }
++ /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
++ path component this time, since it's typically /nix/store and we care about that. */
++ Path cur = worker.store.storeDir;
++ while (cur.compare("/") != 0) {
++ ancestry.insert(cur);
++ cur = dirOf(cur);
++ }
+
+- sandboxProfile +=
+- #include "sandbox-defaults.sb"
+- ;
++ /* Add all our input paths to the chroot */
++ for (auto & i : inputPaths) {
++ auto p = worker.store.printStorePath(i);
++ pathsInChroot[p] = p;
++ }
+
+- if (!derivationType->isSandboxed())
+- sandboxProfile +=
+- #include "sandbox-network.sb"
+- ;
+-
+- /* Add the output paths we'll use at build-time to the chroot */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & [_, path] : scratchOutputs)
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+-
+- sandboxProfile += ")\n";
+-
+- /* Our inputs (transitive dependencies and any impurities computed above)
+-
+- without file-write* allowed, access() incorrectly returns EPERM
+- */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & i : pathsInChroot) {
+- if (i.first != i.second.source)
+- throw Error(
+- "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
+- i.first, i.second.source);
+-
+- std::string path = i.first;
+- auto optSt = maybeLstat(path.c_str());
+- if (!optSt) {
+- if (i.second.optional)
+- continue;
+- throw SysError("getting attributes of required path '%s", path);
+- }
+- if (S_ISDIR(optSt->st_mode))
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
+- else
+- sandboxProfile += fmt("\t(literal \"%s\")\n", path);
+- }
+- sandboxProfile += ")\n";
++ /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
++ if (settings.darwinLogSandboxViolations) {
++ sandboxProfile += "(deny default)\n";
++ } else {
++ sandboxProfile += "(deny default (with no-log))\n";
++ }
+
+- /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
+- sandboxProfile += "(allow file-read*\n";
+- for (auto & i : ancestry) {
+- sandboxProfile += fmt("\t(literal \"%s\")\n", i);
+- }
+- sandboxProfile += ")\n";
++ sandboxProfile +=
++ #include "sandbox-defaults.sb"
++ ;
+
+- sandboxProfile += additionalSandboxProfile;
+- } else
++ if (!derivationType->isSandboxed())
+ sandboxProfile +=
+- #include "sandbox-minimal.sb"
++ #include "sandbox-network.sb"
+ ;
+
+- debug("Generated sandbox profile:");
+- debug(sandboxProfile);
+-
+- Path sandboxFile = tmpDir + "/.sandbox.sb";
++ /* Add the output paths we'll use at build-time to the chroot */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & [_, path] : scratchOutputs)
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+
+- writeFile(sandboxFile, sandboxProfile);
++ sandboxProfile += ")\n";
+
+- bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++ /* Our inputs (transitive dependencies and any impurities computed above)
+
+- /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
+- to find temporary directories, so we want to open up a broader place for them to put their files, if needed. */
+- Path globalTmpDir = canonPath(defaultTempDir(), true);
++ without file-write* allowed, access() incorrectly returns EPERM
++ */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & i : pathsInChroot) {
++ if (i.first != i.second.source)
++ throw Error(
++ "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
++ i.first, i.second.source);
++
++ std::string path = i.first;
++ auto optSt = maybeLstat(path.c_str());
++ if (!optSt) {
++ if (i.second.optional)
++ continue;
++ throw SysError("getting attributes of required path '%s", path);
++ }
++ if (S_ISDIR(optSt->st_mode))
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
++ else
++ sandboxProfile += fmt("\t(literal \"%s\")\n", path);
++ }
++ sandboxProfile += ")\n";
+
+- /* They don't like trailing slashes on subpath directives */
+- while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
+- globalTmpDir.pop_back();
++ /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
++ sandboxProfile += "(allow file-read*\n";
++ for (auto & i : ancestry) {
++ sandboxProfile += fmt("\t(literal \"%s\")\n", i);
++ }
++ sandboxProfile += ")\n";
+
+- if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
+- builder = "/usr/bin/sandbox-exec";
+- args.push_back("sandbox-exec");
+- args.push_back("-f");
+- args.push_back(sandboxFile);
+- args.push_back("-D");
+- args.push_back("_GLOBAL_TMP_DIR=" + globalTmpDir);
+- if (allowLocalNetworking) {
+- args.push_back("-D");
+- args.push_back(std::string("_ALLOW_LOCAL_NETWORKING=1"));
+- }
+- args.push_back(drv->builder);
+- } else {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
++ sandboxProfile += additionalSandboxProfile;
++ } else
++ sandboxProfile +=
++ #include "sandbox-minimal.sb"
++ ;
++
++ debug("Generated sandbox profile:");
++ debug(sandboxProfile);
++
++ bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++
++ /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
++ to find temporary directories, so we want to open up a broader place for them to put their files, if needed. */
++ Path globalTmpDir = canonPath(defaultTempDir(), true);
++
++ /* They don't like trailing slashes on subpath directives */
++ while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
++ globalTmpDir.pop_back();
++
++ if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
++ Strings sandboxArgs;
++ sandboxArgs.push_back("_GLOBAL_TMP_DIR");
++ sandboxArgs.push_back(globalTmpDir);
++ if (allowLocalNetworking) {
++ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
++ sandboxArgs.push_back("1");
++ }
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
++ writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ _exit(1);
+ }
+ }
++
++ builder = drv->builder;
++ args.push_back(std::string(baseNameOf(drv->builder)));
+ #else
+- else {
++ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_22/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch b/pkgs/tools/package-management/nix/patches/2_22/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
new file mode 100644
index 000000000000..6ac281e6316c
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_22/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
@@ -0,0 +1,34 @@
+From f0677f190d0bd042c3a864508a5307b19a2c2d26 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:44:12 +0200
+Subject: [PATCH 2/4] local-derivation-goal: Print sandbox error detail on
+ darwin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/unix/build/local-derivation-goal.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index 449d4b07c..b74bd2e64 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2146,8 +2146,9 @@ void LocalDerivationGoal::runChild()
+ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
+ sandboxArgs.push_back("1");
+ }
+- if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
+- writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ char * sandbox_errbuf = nullptr;
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), &sandbox_errbuf)) {
++ writeFull(STDERR_FILENO, fmt("failed to configure sandbox: %s\n", sandbox_errbuf ? sandbox_errbuf : "(null)"));
+ _exit(1);
+ }
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_22/0003-local-derivation-goal-Refactor.patch b/pkgs/tools/package-management/nix/patches/2_22/0003-local-derivation-goal-Refactor.patch
new file mode 100644
index 000000000000..dfb5add1978d
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_22/0003-local-derivation-goal-Refactor.patch
@@ -0,0 +1,41 @@
+From 1b39753f4d63465c709d18482945ce680b6f3f1e Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:50:27 +0200
+Subject: [PATCH 3/4] local-derivation-goal: Refactor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This works because the `builder` and `args` variables are only used
+in the non-builtin code path.
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/unix/build/local-derivation-goal.cc | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index b74bd2e64..9b8b3c51b 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2152,15 +2152,12 @@ void LocalDerivationGoal::runChild()
+ _exit(1);
+ }
+ }
++#endif
+
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+-#else
+ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+-#endif
+
+ for (auto & i : drv->args)
+ args.push_back(rewriteStrings(i, inputRewrites));
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_22/0004-local-derivation-goal-Move-builder-preparation-to-no.patch b/pkgs/tools/package-management/nix/patches/2_22/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
new file mode 100644
index 000000000000..8e200685dc73
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_22/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
@@ -0,0 +1,75 @@
+From 9e198a75f76ac08f835975d4b2743e156616a219 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:57:00 +0200
+Subject: [PATCH 4/4] local-derivation-goal: Move builder preparation to
+ non-builtin code path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ .../unix/build/local-derivation-goal.cc | 25 ++++++++-----------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index 9b8b3c51b..08366712c 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2025,11 +2025,6 @@ void LocalDerivationGoal::runChild()
+ throw SysError("setuid failed");
+ }
+
+- /* Fill in the arguments. */
+- Strings args;
+-
+- std::string builder = "invalid";
+-
+ #if __APPLE__
+ /* This has to appear before import statements. */
+ std::string sandboxProfile = "(version 1)\n";
+@@ -2154,14 +2149,6 @@ void LocalDerivationGoal::runChild()
+ }
+ #endif
+
+- if (!drv->isBuiltin()) {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+- }
+-
+- for (auto & i : drv->args)
+- args.push_back(rewriteStrings(i, inputRewrites));
+-
+ /* Indicate that we managed to set up the build environment. */
+ writeFull(STDERR_FILENO, std::string("\2\n"));
+
+@@ -2192,6 +2179,14 @@ void LocalDerivationGoal::runChild()
+ }
+ }
+
++ // Now builder is not builtin
++
++ Strings args;
++ args.push_back(std::string(baseNameOf(drv->builder)));
++
++ for (auto & i : drv->args)
++ args.push_back(rewriteStrings(i, inputRewrites));
++
+ #if __APPLE__
+ posix_spawnattr_t attrp;
+
+@@ -2213,9 +2208,9 @@ void LocalDerivationGoal::runChild()
+ posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL);
+ }
+
+- posix_spawn(NULL, builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ posix_spawn(NULL, drv->builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #else
+- execve(builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ execve(drv->builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #endif
+
+ throw SysError("executing '%1%'", drv->builder);
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_23/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch b/pkgs/tools/package-management/nix/patches/2_23/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
new file mode 100644
index 000000000000..f309ff6818d4
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_23/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
@@ -0,0 +1,323 @@
+From 05994033d58e358ddafe51d1d04626eb76b8a192 Mon Sep 17 00:00:00 2001
+From: Puck Meerburg <puck@puckipedia.com>
+Date: Fri, 1 Mar 2024 11:42:24 -0500
+Subject: [PATCH 1/4] fix: Run all derivation builders inside the sandbox on
+ macOS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ configure.ac | 6 +-
+ package.nix | 2 +
+ .../unix/build/local-derivation-goal.cc | 223 +++++++++---------
+ 3 files changed, 116 insertions(+), 115 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 90a6d45d5..f98a0a5ea 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,12 +62,16 @@ AC_CHECK_TOOL([AR], [ar])
+ AC_SYS_LARGEFILE
+
+
+-# Solaris-specific stuff.
++# OS-specific stuff.
+ case "$host_os" in
+ solaris*)
+ # Solaris requires -lsocket -lnsl for network functions
+ LDFLAGS="-lsocket -lnsl $LDFLAGS"
+ ;;
++ darwin*)
++ # Need to link to libsandbox.
++ LDFLAGS="-lsandbox $LDFLAGS"
++ ;;
+ esac
+
+
+diff --git a/package.nix b/package.nix
+index cf1654c6a..1dfe7ab31 100644
+--- a/package.nix
++++ b/package.nix
+@@ -27,6 +27,7 @@
+ , libseccomp
+ , libsodium
+ , man
++, darwin
+ , lowdown
+ , mdbook
+ , mdbook-linkcheck
+@@ -250,6 +251,7 @@ in {
+ gtest
+ rapidcheck
+ ] ++ lib.optional stdenv.isLinux libseccomp
++ ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.sandbox
+ ++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid
+ # There have been issues building these dependencies
+ ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform && (stdenv.isLinux || stdenv.isDarwin))
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index ae9c715d6..878644fa5 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -58,6 +58,10 @@
+ #if __APPLE__
+ #include <spawn.h>
+ #include <sys/sysctl.h>
++#include <sandbox.h>
++
++/* This definition is undocumented but depended upon by all major browsers. */
++extern "C" int sandbox_init_with_parameters(const char *profile, uint64_t flags, const char *const parameters[], char **errorbuf);
+ #endif
+
+ #include <pwd.h>
+@@ -2017,141 +2021,132 @@ void LocalDerivationGoal::runChild()
+
+ std::string builder = "invalid";
+
+- if (drv->isBuiltin()) {
+- ;
+- }
+ #if __APPLE__
+- else {
+- /* This has to appear before import statements. */
+- std::string sandboxProfile = "(version 1)\n";
+-
+- if (useChroot) {
+-
+- /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
+- PathSet ancestry;
+-
+- /* We build the ancestry before adding all inputPaths to the store because we know they'll
+- all have the same parents (the store), and there might be lots of inputs. This isn't
+- particularly efficient... I doubt it'll be a bottleneck in practice */
+- for (auto & i : pathsInChroot) {
+- Path cur = i.first;
+- while (cur.compare("/") != 0) {
+- cur = dirOf(cur);
+- ancestry.insert(cur);
+- }
+- }
++ /* This has to appear before import statements. */
++ std::string sandboxProfile = "(version 1)\n";
++
++ if (useChroot) {
+
+- /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
+- path component this time, since it's typically /nix/store and we care about that. */
+- Path cur = worker.store.storeDir;
++ /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
++ PathSet ancestry;
++
++ /* We build the ancestry before adding all inputPaths to the store because we know they'll
++ all have the same parents (the store), and there might be lots of inputs. This isn't
++ particularly efficient... I doubt it'll be a bottleneck in practice */
++ for (auto & i : pathsInChroot) {
++ Path cur = i.first;
+ while (cur.compare("/") != 0) {
+- ancestry.insert(cur);
+ cur = dirOf(cur);
++ ancestry.insert(cur);
+ }
++ }
+
+- /* Add all our input paths to the chroot */
+- for (auto & i : inputPaths) {
+- auto p = worker.store.printStorePath(i);
+- pathsInChroot[p] = p;
+- }
+-
+- /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
+- if (settings.darwinLogSandboxViolations) {
+- sandboxProfile += "(deny default)\n";
+- } else {
+- sandboxProfile += "(deny default (with no-log))\n";
+- }
++ /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
++ path component this time, since it's typically /nix/store and we care about that. */
++ Path cur = worker.store.storeDir;
++ while (cur.compare("/") != 0) {
++ ancestry.insert(cur);
++ cur = dirOf(cur);
++ }
+
+- sandboxProfile +=
+- #include "sandbox-defaults.sb"
+- ;
++ /* Add all our input paths to the chroot */
++ for (auto & i : inputPaths) {
++ auto p = worker.store.printStorePath(i);
++ pathsInChroot[p] = p;
++ }
+
+- if (!derivationType->isSandboxed())
+- sandboxProfile +=
+- #include "sandbox-network.sb"
+- ;
+-
+- /* Add the output paths we'll use at build-time to the chroot */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & [_, path] : scratchOutputs)
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+-
+- sandboxProfile += ")\n";
+-
+- /* Our inputs (transitive dependencies and any impurities computed above)
+-
+- without file-write* allowed, access() incorrectly returns EPERM
+- */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & i : pathsInChroot) {
+- if (i.first != i.second.source)
+- throw Error(
+- "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
+- i.first, i.second.source);
+-
+- std::string path = i.first;
+- auto optSt = maybeLstat(path.c_str());
+- if (!optSt) {
+- if (i.second.optional)
+- continue;
+- throw SysError("getting attributes of required path '%s", path);
+- }
+- if (S_ISDIR(optSt->st_mode))
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
+- else
+- sandboxProfile += fmt("\t(literal \"%s\")\n", path);
+- }
+- sandboxProfile += ")\n";
++ /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
++ if (settings.darwinLogSandboxViolations) {
++ sandboxProfile += "(deny default)\n";
++ } else {
++ sandboxProfile += "(deny default (with no-log))\n";
++ }
+
+- /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
+- sandboxProfile += "(allow file-read*\n";
+- for (auto & i : ancestry) {
+- sandboxProfile += fmt("\t(literal \"%s\")\n", i);
+- }
+- sandboxProfile += ")\n";
++ sandboxProfile +=
++ #include "sandbox-defaults.sb"
++ ;
+
+- sandboxProfile += additionalSandboxProfile;
+- } else
++ if (!derivationType->isSandboxed())
+ sandboxProfile +=
+- #include "sandbox-minimal.sb"
++ #include "sandbox-network.sb"
+ ;
+
+- debug("Generated sandbox profile:");
+- debug(sandboxProfile);
+-
+- Path sandboxFile = tmpDir + "/.sandbox.sb";
++ /* Add the output paths we'll use at build-time to the chroot */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & [_, path] : scratchOutputs)
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+
+- writeFile(sandboxFile, sandboxProfile);
++ sandboxProfile += ")\n";
+
+- bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++ /* Our inputs (transitive dependencies and any impurities computed above)
+
+- /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
+- to find temporary directories, so we want to open up a broader place for them to put their files, if needed. */
+- Path globalTmpDir = canonPath(defaultTempDir(), true);
++ without file-write* allowed, access() incorrectly returns EPERM
++ */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & i : pathsInChroot) {
++ if (i.first != i.second.source)
++ throw Error(
++ "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
++ i.first, i.second.source);
++
++ std::string path = i.first;
++ auto optSt = maybeLstat(path.c_str());
++ if (!optSt) {
++ if (i.second.optional)
++ continue;
++ throw SysError("getting attributes of required path '%s", path);
++ }
++ if (S_ISDIR(optSt->st_mode))
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
++ else
++ sandboxProfile += fmt("\t(literal \"%s\")\n", path);
++ }
++ sandboxProfile += ")\n";
+
+- /* They don't like trailing slashes on subpath directives */
+- while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
+- globalTmpDir.pop_back();
++ /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
++ sandboxProfile += "(allow file-read*\n";
++ for (auto & i : ancestry) {
++ sandboxProfile += fmt("\t(literal \"%s\")\n", i);
++ }
++ sandboxProfile += ")\n";
+
+- if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
+- builder = "/usr/bin/sandbox-exec";
+- args.push_back("sandbox-exec");
+- args.push_back("-f");
+- args.push_back(sandboxFile);
+- args.push_back("-D");
+- args.push_back("_GLOBAL_TMP_DIR=" + globalTmpDir);
+- if (allowLocalNetworking) {
+- args.push_back("-D");
+- args.push_back(std::string("_ALLOW_LOCAL_NETWORKING=1"));
+- }
+- args.push_back(drv->builder);
+- } else {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
++ sandboxProfile += additionalSandboxProfile;
++ } else
++ sandboxProfile +=
++ #include "sandbox-minimal.sb"
++ ;
++
++ debug("Generated sandbox profile:");
++ debug(sandboxProfile);
++
++ bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++
++ /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
++ to find temporary directories, so we want to open up a broader place for them to put their files, if needed. */
++ Path globalTmpDir = canonPath(defaultTempDir(), true);
++
++ /* They don't like trailing slashes on subpath directives */
++ while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
++ globalTmpDir.pop_back();
++
++ if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
++ Strings sandboxArgs;
++ sandboxArgs.push_back("_GLOBAL_TMP_DIR");
++ sandboxArgs.push_back(globalTmpDir);
++ if (allowLocalNetworking) {
++ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
++ sandboxArgs.push_back("1");
++ }
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
++ writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ _exit(1);
+ }
+ }
++
++ builder = drv->builder;
++ args.push_back(std::string(baseNameOf(drv->builder)));
+ #else
+- else {
++ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_23/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch b/pkgs/tools/package-management/nix/patches/2_23/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
new file mode 100644
index 000000000000..e264b4f1b4dc
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_23/0002-local-derivation-goal-Print-sandbox-error-detail-on-.patch
@@ -0,0 +1,34 @@
+From c43954ffac356b4168cbcfe2a67b4bad3f0dff5d Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:44:12 +0200
+Subject: [PATCH 2/4] local-derivation-goal: Print sandbox error detail on
+ darwin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/unix/build/local-derivation-goal.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index 878644fa5..0df1f0683 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2137,8 +2137,9 @@ void LocalDerivationGoal::runChild()
+ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
+ sandboxArgs.push_back("1");
+ }
+- if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
+- writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ char * sandbox_errbuf = nullptr;
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), &sandbox_errbuf)) {
++ writeFull(STDERR_FILENO, fmt("failed to configure sandbox: %s\n", sandbox_errbuf ? sandbox_errbuf : "(null)"));
+ _exit(1);
+ }
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_23/0003-local-derivation-goal-Refactor.patch b/pkgs/tools/package-management/nix/patches/2_23/0003-local-derivation-goal-Refactor.patch
new file mode 100644
index 000000000000..27c632b041dd
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_23/0003-local-derivation-goal-Refactor.patch
@@ -0,0 +1,41 @@
+From 53b4bdcb8b0f114bea978cffbea325fd73f779b5 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:50:27 +0200
+Subject: [PATCH 3/4] local-derivation-goal: Refactor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This works because the `builder` and `args` variables are only used
+in the non-builtin code path.
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/unix/build/local-derivation-goal.cc | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index 0df1f0683..9e67283c9 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2143,15 +2143,12 @@ void LocalDerivationGoal::runChild()
+ _exit(1);
+ }
+ }
++#endif
+
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+-#else
+ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+-#endif
+
+ for (auto & i : drv->args)
+ args.push_back(rewriteStrings(i, inputRewrites));
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_23/0004-local-derivation-goal-Move-builder-preparation-to-no.patch b/pkgs/tools/package-management/nix/patches/2_23/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
new file mode 100644
index 000000000000..6ef5c8e48c4c
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_23/0004-local-derivation-goal-Move-builder-preparation-to-no.patch
@@ -0,0 +1,75 @@
+From 67b5c7004302cbd344f63ccd306673a9adec4520 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:57:00 +0200
+Subject: [PATCH 4/4] local-derivation-goal: Move builder preparation to
+ non-builtin code path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ .../unix/build/local-derivation-goal.cc | 25 ++++++++-----------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index 9e67283c9..1f4bafb56 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2016,11 +2016,6 @@ void LocalDerivationGoal::runChild()
+ throw SysError("setuid failed");
+ }
+
+- /* Fill in the arguments. */
+- Strings args;
+-
+- std::string builder = "invalid";
+-
+ #if __APPLE__
+ /* This has to appear before import statements. */
+ std::string sandboxProfile = "(version 1)\n";
+@@ -2145,14 +2140,6 @@ void LocalDerivationGoal::runChild()
+ }
+ #endif
+
+- if (!drv->isBuiltin()) {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+- }
+-
+- for (auto & i : drv->args)
+- args.push_back(rewriteStrings(i, inputRewrites));
+-
+ /* Indicate that we managed to set up the build environment. */
+ writeFull(STDERR_FILENO, std::string("\2\n"));
+
+@@ -2183,6 +2170,14 @@ void LocalDerivationGoal::runChild()
+ }
+ }
+
++ // Now builder is not builtin
++
++ Strings args;
++ args.push_back(std::string(baseNameOf(drv->builder)));
++
++ for (auto & i : drv->args)
++ args.push_back(rewriteStrings(i, inputRewrites));
++
+ #if __APPLE__
+ posix_spawnattr_t attrp;
+
+@@ -2204,9 +2199,9 @@ void LocalDerivationGoal::runChild()
+ posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL);
+ }
+
+- posix_spawn(NULL, builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ posix_spawn(NULL, drv->builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #else
+- execve(builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ execve(drv->builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #endif
+
+ throw SysError("executing '%1%'", drv->builder);
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_24/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch b/pkgs/tools/package-management/nix/patches/2_24/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
new file mode 100644
index 000000000000..9c3d5f987da2
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_24/0001-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
@@ -0,0 +1,323 @@
+From 170242cf0ca3e9fadbad2004126793634d56623e Mon Sep 17 00:00:00 2001
+From: Puck Meerburg <puck@puckipedia.com>
+Date: Fri, 1 Mar 2024 11:42:24 -0500
+Subject: [PATCH 1/5] fix: Run all derivation builders inside the sandbox on
+ macOS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ configure.ac | 6 +-
+ package.nix | 2 +
+ .../unix/build/local-derivation-goal.cc | 223 +++++++++---------
+ 3 files changed, 116 insertions(+), 115 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5c22ed176..dff35981b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,12 +62,16 @@ AC_CHECK_TOOL([AR], [ar])
+ AC_SYS_LARGEFILE
+
+
+-# Solaris-specific stuff.
++# OS-specific stuff.
+ case "$host_os" in
+ solaris*)
+ # Solaris requires -lsocket -lnsl for network functions
+ LDFLAGS="-lsocket -lnsl $LDFLAGS"
+ ;;
++ darwin*)
++ # Need to link to libsandbox.
++ LDFLAGS="-lsandbox $LDFLAGS"
++ ;;
+ esac
+
+
+diff --git a/package.nix b/package.nix
+index a7c8923e8..fcd1e1898 100644
+--- a/package.nix
++++ b/package.nix
+@@ -23,6 +23,7 @@
+ , libseccomp
+ , libsodium
+ , man
++, darwin
+ , lowdown
+ , mdbook
+ , mdbook-linkcheck
+@@ -235,6 +236,7 @@ in {
+ gtest
+ rapidcheck
+ ] ++ lib.optional stdenv.isLinux libseccomp
++ ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.sandbox
+ ++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid
+ # There have been issues building these dependencies
+ ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform && (stdenv.isLinux || stdenv.isDarwin))
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index 54ca69580..7ce266122 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -58,6 +58,10 @@
+ #if __APPLE__
+ #include <spawn.h>
+ #include <sys/sysctl.h>
++#include <sandbox.h>
++
++/* This definition is undocumented but depended upon by all major browsers. */
++extern "C" int sandbox_init_with_parameters(const char *profile, uint64_t flags, const char *const parameters[], char **errorbuf);
+ #endif
+
+ #include <pwd.h>
+@@ -2039,141 +2043,132 @@ void LocalDerivationGoal::runChild()
+
+ std::string builder = "invalid";
+
+- if (drv->isBuiltin()) {
+- ;
+- }
+ #if __APPLE__
+- else {
+- /* This has to appear before import statements. */
+- std::string sandboxProfile = "(version 1)\n";
+-
+- if (useChroot) {
+-
+- /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
+- PathSet ancestry;
+-
+- /* We build the ancestry before adding all inputPaths to the store because we know they'll
+- all have the same parents (the store), and there might be lots of inputs. This isn't
+- particularly efficient... I doubt it'll be a bottleneck in practice */
+- for (auto & i : pathsInChroot) {
+- Path cur = i.first;
+- while (cur.compare("/") != 0) {
+- cur = dirOf(cur);
+- ancestry.insert(cur);
+- }
+- }
++ /* This has to appear before import statements. */
++ std::string sandboxProfile = "(version 1)\n";
++
++ if (useChroot) {
+
+- /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
+- path component this time, since it's typically /nix/store and we care about that. */
+- Path cur = worker.store.storeDir;
++ /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
++ PathSet ancestry;
++
++ /* We build the ancestry before adding all inputPaths to the store because we know they'll
++ all have the same parents (the store), and there might be lots of inputs. This isn't
++ particularly efficient... I doubt it'll be a bottleneck in practice */
++ for (auto & i : pathsInChroot) {
++ Path cur = i.first;
+ while (cur.compare("/") != 0) {
+- ancestry.insert(cur);
+ cur = dirOf(cur);
++ ancestry.insert(cur);
+ }
++ }
+
+- /* Add all our input paths to the chroot */
+- for (auto & i : inputPaths) {
+- auto p = worker.store.printStorePath(i);
+- pathsInChroot[p] = p;
+- }
+-
+- /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
+- if (settings.darwinLogSandboxViolations) {
+- sandboxProfile += "(deny default)\n";
+- } else {
+- sandboxProfile += "(deny default (with no-log))\n";
+- }
++ /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
++ path component this time, since it's typically /nix/store and we care about that. */
++ Path cur = worker.store.storeDir;
++ while (cur.compare("/") != 0) {
++ ancestry.insert(cur);
++ cur = dirOf(cur);
++ }
+
+- sandboxProfile +=
+- #include "sandbox-defaults.sb"
+- ;
++ /* Add all our input paths to the chroot */
++ for (auto & i : inputPaths) {
++ auto p = worker.store.printStorePath(i);
++ pathsInChroot[p] = p;
++ }
+
+- if (!derivationType->isSandboxed())
+- sandboxProfile +=
+- #include "sandbox-network.sb"
+- ;
+-
+- /* Add the output paths we'll use at build-time to the chroot */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & [_, path] : scratchOutputs)
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+-
+- sandboxProfile += ")\n";
+-
+- /* Our inputs (transitive dependencies and any impurities computed above)
+-
+- without file-write* allowed, access() incorrectly returns EPERM
+- */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & i : pathsInChroot) {
+- if (i.first != i.second.source)
+- throw Error(
+- "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
+- i.first, i.second.source);
+-
+- std::string path = i.first;
+- auto optSt = maybeLstat(path.c_str());
+- if (!optSt) {
+- if (i.second.optional)
+- continue;
+- throw SysError("getting attributes of required path '%s", path);
+- }
+- if (S_ISDIR(optSt->st_mode))
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
+- else
+- sandboxProfile += fmt("\t(literal \"%s\")\n", path);
+- }
+- sandboxProfile += ")\n";
++ /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
++ if (settings.darwinLogSandboxViolations) {
++ sandboxProfile += "(deny default)\n";
++ } else {
++ sandboxProfile += "(deny default (with no-log))\n";
++ }
+
+- /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
+- sandboxProfile += "(allow file-read*\n";
+- for (auto & i : ancestry) {
+- sandboxProfile += fmt("\t(literal \"%s\")\n", i);
+- }
+- sandboxProfile += ")\n";
++ sandboxProfile +=
++ #include "sandbox-defaults.sb"
++ ;
+
+- sandboxProfile += additionalSandboxProfile;
+- } else
++ if (!derivationType->isSandboxed())
+ sandboxProfile +=
+- #include "sandbox-minimal.sb"
++ #include "sandbox-network.sb"
+ ;
+
+- debug("Generated sandbox profile:");
+- debug(sandboxProfile);
+-
+- Path sandboxFile = tmpDir + "/.sandbox.sb";
++ /* Add the output paths we'll use at build-time to the chroot */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & [_, path] : scratchOutputs)
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+
+- writeFile(sandboxFile, sandboxProfile);
++ sandboxProfile += ")\n";
+
+- bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++ /* Our inputs (transitive dependencies and any impurities computed above)
+
+- /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
+- to find temporary directories, so we want to open up a broader place for them to put their files, if needed. */
+- Path globalTmpDir = canonPath(defaultTempDir(), true);
++ without file-write* allowed, access() incorrectly returns EPERM
++ */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & i : pathsInChroot) {
++ if (i.first != i.second.source)
++ throw Error(
++ "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
++ i.first, i.second.source);
++
++ std::string path = i.first;
++ auto optSt = maybeLstat(path.c_str());
++ if (!optSt) {
++ if (i.second.optional)
++ continue;
++ throw SysError("getting attributes of required path '%s", path);
++ }
++ if (S_ISDIR(optSt->st_mode))
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
++ else
++ sandboxProfile += fmt("\t(literal \"%s\")\n", path);
++ }
++ sandboxProfile += ")\n";
+
+- /* They don't like trailing slashes on subpath directives */
+- while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
+- globalTmpDir.pop_back();
++ /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
++ sandboxProfile += "(allow file-read*\n";
++ for (auto & i : ancestry) {
++ sandboxProfile += fmt("\t(literal \"%s\")\n", i);
++ }
++ sandboxProfile += ")\n";
+
+- if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
+- builder = "/usr/bin/sandbox-exec";
+- args.push_back("sandbox-exec");
+- args.push_back("-f");
+- args.push_back(sandboxFile);
+- args.push_back("-D");
+- args.push_back("_GLOBAL_TMP_DIR=" + globalTmpDir);
+- if (allowLocalNetworking) {
+- args.push_back("-D");
+- args.push_back(std::string("_ALLOW_LOCAL_NETWORKING=1"));
+- }
+- args.push_back(drv->builder);
+- } else {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
++ sandboxProfile += additionalSandboxProfile;
++ } else
++ sandboxProfile +=
++ #include "sandbox-minimal.sb"
++ ;
++
++ debug("Generated sandbox profile:");
++ debug(sandboxProfile);
++
++ bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++
++ /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
++ to find temporary directories, so we want to open up a broader place for them to put their files, if needed. */
++ Path globalTmpDir = canonPath(defaultTempDir(), true);
++
++ /* They don't like trailing slashes on subpath directives */
++ while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
++ globalTmpDir.pop_back();
++
++ if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
++ Strings sandboxArgs;
++ sandboxArgs.push_back("_GLOBAL_TMP_DIR");
++ sandboxArgs.push_back(globalTmpDir);
++ if (allowLocalNetworking) {
++ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
++ sandboxArgs.push_back("1");
++ }
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
++ writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ _exit(1);
+ }
+ }
++
++ builder = drv->builder;
++ args.push_back(std::string(baseNameOf(drv->builder)));
+ #else
+- else {
++ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_24/0002-packaging-Add-darwin-lsandbox-in-meson.patch b/pkgs/tools/package-management/nix/patches/2_24/0002-packaging-Add-darwin-lsandbox-in-meson.patch
new file mode 100644
index 000000000000..c709ea62354d
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_24/0002-packaging-Add-darwin-lsandbox-in-meson.patch
@@ -0,0 +1,53 @@
+From f8a1a149c73113e01c44b73ce9e1005575d52a9a Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:23:17 +0200
+Subject: [PATCH 2/5] packaging: Add darwin -lsandbox in meson
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/meson.build | 5 +++++
+ src/libstore/package.nix | 2 ++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/src/libstore/meson.build b/src/libstore/meson.build
+index 50b15e15d..b23c85061 100644
+--- a/src/libstore/meson.build
++++ b/src/libstore/meson.build
+@@ -68,6 +68,11 @@ has_acl_support = cxx.has_header('sys/xattr.h') \
+ and cxx.has_function('lremovexattr')
+ configdata.set('HAVE_ACL_SUPPORT', has_acl_support.to_int())
+
++if host_machine.system() == 'darwin'
++ sandbox = cxx.find_library('sandbox')
++ deps_other += [sandbox]
++endif
++
+ subdir('build-utils-meson/threads')
+
+ boost = dependency(
+diff --git a/src/libstore/package.nix b/src/libstore/package.nix
+index 4582ba0d2..d98bac16d 100644
+--- a/src/libstore/package.nix
++++ b/src/libstore/package.nix
+@@ -7,6 +7,7 @@
+ , ninja
+ , pkg-config
+ , unixtools
++, darwin
+
+ , nix-util
+ , boost
+@@ -65,6 +66,7 @@ mkMesonDerivation (finalAttrs: {
+ sqlite
+ ] ++ lib.optional stdenv.hostPlatform.isLinux libseccomp
+ # There have been issues building these dependencies
++ ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.sandbox
+ ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform && (stdenv.isLinux || stdenv.isDarwin))
+ aws-sdk-cpp
+ ;
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_24/0003-local-derivation-goal-Print-sandbox-error-detail-on-.patch b/pkgs/tools/package-management/nix/patches/2_24/0003-local-derivation-goal-Print-sandbox-error-detail-on-.patch
new file mode 100644
index 000000000000..2c984b6343db
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_24/0003-local-derivation-goal-Print-sandbox-error-detail-on-.patch
@@ -0,0 +1,34 @@
+From ae7a2ea74136363c2f6ac6e624ea95da7abfafcc Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:44:12 +0200
+Subject: [PATCH 3/5] local-derivation-goal: Print sandbox error detail on
+ darwin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/unix/build/local-derivation-goal.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index 7ce266122..706771e8e 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2159,8 +2159,9 @@ void LocalDerivationGoal::runChild()
+ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
+ sandboxArgs.push_back("1");
+ }
+- if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
+- writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ char * sandbox_errbuf = nullptr;
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), &sandbox_errbuf)) {
++ writeFull(STDERR_FILENO, fmt("failed to configure sandbox: %s\n", sandbox_errbuf ? sandbox_errbuf : "(null)"));
+ _exit(1);
+ }
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_24/0004-local-derivation-goal-Refactor.patch b/pkgs/tools/package-management/nix/patches/2_24/0004-local-derivation-goal-Refactor.patch
new file mode 100644
index 000000000000..dbf54c5020c9
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_24/0004-local-derivation-goal-Refactor.patch
@@ -0,0 +1,41 @@
+From 047ee50db2f660eb3f50fab8f7543ce95e814b7c Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:50:27 +0200
+Subject: [PATCH 4/5] local-derivation-goal: Refactor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This works because the `builder` and `args` variables are only used
+in the non-builtin code path.
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/unix/build/local-derivation-goal.cc | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index 706771e8e..d9738a1ea 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2165,15 +2165,12 @@ void LocalDerivationGoal::runChild()
+ _exit(1);
+ }
+ }
++#endif
+
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+-#else
+ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+-#endif
+
+ for (auto & i : drv->args)
+ args.push_back(rewriteStrings(i, inputRewrites));
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/2_24/0005-local-derivation-goal-Move-builder-preparation-to-no.patch b/pkgs/tools/package-management/nix/patches/2_24/0005-local-derivation-goal-Move-builder-preparation-to-no.patch
new file mode 100644
index 000000000000..c4fc9b2c2117
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/2_24/0005-local-derivation-goal-Move-builder-preparation-to-no.patch
@@ -0,0 +1,75 @@
+From 50f83e4bbd9107576399f94449ac9cb4e80d575e Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:57:00 +0200
+Subject: [PATCH 5/5] local-derivation-goal: Move builder preparation to
+ non-builtin code path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ .../unix/build/local-derivation-goal.cc | 25 ++++++++-----------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index d9738a1ea..2a09e3dd4 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2038,11 +2038,6 @@ void LocalDerivationGoal::runChild()
+ throw SysError("setuid failed");
+ }
+
+- /* Fill in the arguments. */
+- Strings args;
+-
+- std::string builder = "invalid";
+-
+ #if __APPLE__
+ /* This has to appear before import statements. */
+ std::string sandboxProfile = "(version 1)\n";
+@@ -2167,14 +2162,6 @@ void LocalDerivationGoal::runChild()
+ }
+ #endif
+
+- if (!drv->isBuiltin()) {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+- }
+-
+- for (auto & i : drv->args)
+- args.push_back(rewriteStrings(i, inputRewrites));
+-
+ /* Indicate that we managed to set up the build environment. */
+ writeFull(STDERR_FILENO, std::string("\2\n"));
+
+@@ -2205,6 +2192,14 @@ void LocalDerivationGoal::runChild()
+ }
+ }
+
++ // Now builder is not builtin
++
++ Strings args;
++ args.push_back(std::string(baseNameOf(drv->builder)));
++
++ for (auto & i : drv->args)
++ args.push_back(rewriteStrings(i, inputRewrites));
++
+ #if __APPLE__
+ posix_spawnattr_t attrp;
+
+@@ -2226,9 +2221,9 @@ void LocalDerivationGoal::runChild()
+ posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL);
+ }
+
+- posix_spawn(NULL, builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ posix_spawn(NULL, drv->builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #else
+- execve(builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ execve(drv->builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #endif
+
+ throw SysError("executing '%1%'", drv->builder);
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/git/0001-Fix-meson-build-on-darwin.patch b/pkgs/tools/package-management/nix/patches/git/0001-Fix-meson-build-on-darwin.patch
new file mode 100644
index 000000000000..e03bed014561
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/git/0001-Fix-meson-build-on-darwin.patch
@@ -0,0 +1,28 @@
+From 766263d53ae69d70c5915426e6e8f58abd988226 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Tue, 22 Oct 2024 15:28:04 +0200
+Subject: [PATCH 1/6] Fix meson build on darwin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+std::stringbuf is defined in <sstream>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libutil/strings.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/libutil/strings.cc b/src/libutil/strings.cc
+index d1c9f700c..c221a43c6 100644
+--- a/src/libutil/strings.cc
++++ b/src/libutil/strings.cc
+@@ -1,5 +1,6 @@
+ #include <filesystem>
+ #include <string>
++#include <sstream>
+
+ #include "strings-inline.hh"
+ #include "os-string.hh"
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/git/0002-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch b/pkgs/tools/package-management/nix/patches/git/0002-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
new file mode 100644
index 000000000000..36218646f3b6
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/git/0002-fix-Run-all-derivation-builders-inside-the-sandbox-o.patch
@@ -0,0 +1,323 @@
+From d2c880b03f58eb4fdd6d19eb3ffa4345a0477419 Mon Sep 17 00:00:00 2001
+From: Puck Meerburg <puck@puckipedia.com>
+Date: Fri, 1 Mar 2024 11:42:24 -0500
+Subject: [PATCH 2/6] fix: Run all derivation builders inside the sandbox on
+ macOS
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ configure.ac | 6 +-
+ package.nix | 2 +
+ .../unix/build/local-derivation-goal.cc | 223 +++++++++---------
+ 3 files changed, 116 insertions(+), 115 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 198198dea..c7c9b3f4b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -62,12 +62,16 @@ AC_CHECK_TOOL([AR], [ar])
+ AC_SYS_LARGEFILE
+
+
+-# Solaris-specific stuff.
++# OS-specific stuff.
+ case "$host_os" in
+ solaris*)
+ # Solaris requires -lsocket -lnsl for network functions
+ LDFLAGS="-lsocket -lnsl $LDFLAGS"
+ ;;
++ darwin*)
++ # Need to link to libsandbox.
++ LDFLAGS="-lsandbox $LDFLAGS"
++ ;;
+ esac
+
+
+diff --git a/package.nix b/package.nix
+index 00621d475..77f1de58c 100644
+--- a/package.nix
++++ b/package.nix
+@@ -23,6 +23,7 @@
+ , libseccomp
+ , libsodium
+ , man
++, darwin
+ , lowdown
+ , mdbook
+ , mdbook-linkcheck
+@@ -232,6 +233,7 @@ in {
+ gtest
+ rapidcheck
+ ] ++ lib.optional stdenv.isLinux libseccomp
++ ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.sandbox
+ ++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid
+ # There have been issues building these dependencies
+ ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform && (stdenv.isLinux || stdenv.isDarwin))
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index b4685b3a7..067755c0d 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -58,6 +58,10 @@
+ #if __APPLE__
+ #include <spawn.h>
+ #include <sys/sysctl.h>
++#include <sandbox.h>
++
++/* This definition is undocumented but depended upon by all major browsers. */
++extern "C" int sandbox_init_with_parameters(const char *profile, uint64_t flags, const char *const parameters[], char **errorbuf);
+ #endif
+
+ #include <pwd.h>
+@@ -2088,141 +2092,132 @@ void LocalDerivationGoal::runChild()
+
+ std::string builder = "invalid";
+
+- if (drv->isBuiltin()) {
+- ;
+- }
+ #if __APPLE__
+- else {
+- /* This has to appear before import statements. */
+- std::string sandboxProfile = "(version 1)\n";
+-
+- if (useChroot) {
+-
+- /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
+- PathSet ancestry;
+-
+- /* We build the ancestry before adding all inputPaths to the store because we know they'll
+- all have the same parents (the store), and there might be lots of inputs. This isn't
+- particularly efficient... I doubt it'll be a bottleneck in practice */
+- for (auto & i : pathsInChroot) {
+- Path cur = i.first;
+- while (cur.compare("/") != 0) {
+- cur = dirOf(cur);
+- ancestry.insert(cur);
+- }
+- }
++ /* This has to appear before import statements. */
++ std::string sandboxProfile = "(version 1)\n";
++
++ if (useChroot) {
+
+- /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
+- path component this time, since it's typically /nix/store and we care about that. */
+- Path cur = worker.store.storeDir;
++ /* Lots and lots and lots of file functions freak out if they can't stat their full ancestry */
++ PathSet ancestry;
++
++ /* We build the ancestry before adding all inputPaths to the store because we know they'll
++ all have the same parents (the store), and there might be lots of inputs. This isn't
++ particularly efficient... I doubt it'll be a bottleneck in practice */
++ for (auto & i : pathsInChroot) {
++ Path cur = i.first;
+ while (cur.compare("/") != 0) {
+- ancestry.insert(cur);
+ cur = dirOf(cur);
++ ancestry.insert(cur);
+ }
++ }
+
+- /* Add all our input paths to the chroot */
+- for (auto & i : inputPaths) {
+- auto p = worker.store.printStorePath(i);
+- pathsInChroot[p] = p;
+- }
+-
+- /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
+- if (settings.darwinLogSandboxViolations) {
+- sandboxProfile += "(deny default)\n";
+- } else {
+- sandboxProfile += "(deny default (with no-log))\n";
+- }
++ /* And we want the store in there regardless of how empty pathsInChroot. We include the innermost
++ path component this time, since it's typically /nix/store and we care about that. */
++ Path cur = worker.store.storeDir;
++ while (cur.compare("/") != 0) {
++ ancestry.insert(cur);
++ cur = dirOf(cur);
++ }
+
+- sandboxProfile +=
+- #include "sandbox-defaults.sb"
+- ;
++ /* Add all our input paths to the chroot */
++ for (auto & i : inputPaths) {
++ auto p = worker.store.printStorePath(i);
++ pathsInChroot[p] = p;
++ }
+
+- if (!derivationType->isSandboxed())
+- sandboxProfile +=
+- #include "sandbox-network.sb"
+- ;
+-
+- /* Add the output paths we'll use at build-time to the chroot */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & [_, path] : scratchOutputs)
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+-
+- sandboxProfile += ")\n";
+-
+- /* Our inputs (transitive dependencies and any impurities computed above)
+-
+- without file-write* allowed, access() incorrectly returns EPERM
+- */
+- sandboxProfile += "(allow file-read* file-write* process-exec\n";
+- for (auto & i : pathsInChroot) {
+- if (i.first != i.second.source)
+- throw Error(
+- "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
+- i.first, i.second.source);
+-
+- std::string path = i.first;
+- auto optSt = maybeLstat(path.c_str());
+- if (!optSt) {
+- if (i.second.optional)
+- continue;
+- throw SysError("getting attributes of required path '%s", path);
+- }
+- if (S_ISDIR(optSt->st_mode))
+- sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
+- else
+- sandboxProfile += fmt("\t(literal \"%s\")\n", path);
+- }
+- sandboxProfile += ")\n";
++ /* Violations will go to the syslog if you set this. Unfortunately the destination does not appear to be configurable */
++ if (settings.darwinLogSandboxViolations) {
++ sandboxProfile += "(deny default)\n";
++ } else {
++ sandboxProfile += "(deny default (with no-log))\n";
++ }
+
+- /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
+- sandboxProfile += "(allow file-read*\n";
+- for (auto & i : ancestry) {
+- sandboxProfile += fmt("\t(literal \"%s\")\n", i);
+- }
+- sandboxProfile += ")\n";
++ sandboxProfile +=
++ #include "sandbox-defaults.sb"
++ ;
+
+- sandboxProfile += additionalSandboxProfile;
+- } else
++ if (!derivationType->isSandboxed())
+ sandboxProfile +=
+- #include "sandbox-minimal.sb"
++ #include "sandbox-network.sb"
+ ;
+
+- debug("Generated sandbox profile:");
+- debug(sandboxProfile);
+-
+- Path sandboxFile = tmpDir + "/.sandbox.sb";
++ /* Add the output paths we'll use at build-time to the chroot */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & [_, path] : scratchOutputs)
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", worker.store.printStorePath(path));
+
+- writeFile(sandboxFile, sandboxProfile);
++ sandboxProfile += ")\n";
+
+- bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++ /* Our inputs (transitive dependencies and any impurities computed above)
+
+- /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
+- to find temporary directories, so we want to open up a broader place for them to put their files, if needed. */
+- Path globalTmpDir = canonPath(defaultTempDir(), true);
++ without file-write* allowed, access() incorrectly returns EPERM
++ */
++ sandboxProfile += "(allow file-read* file-write* process-exec\n";
++ for (auto & i : pathsInChroot) {
++ if (i.first != i.second.source)
++ throw Error(
++ "can't map '%1%' to '%2%': mismatched impure paths not supported on Darwin",
++ i.first, i.second.source);
++
++ std::string path = i.first;
++ auto optSt = maybeLstat(path.c_str());
++ if (!optSt) {
++ if (i.second.optional)
++ continue;
++ throw SysError("getting attributes of required path '%s", path);
++ }
++ if (S_ISDIR(optSt->st_mode))
++ sandboxProfile += fmt("\t(subpath \"%s\")\n", path);
++ else
++ sandboxProfile += fmt("\t(literal \"%s\")\n", path);
++ }
++ sandboxProfile += ")\n";
+
+- /* They don't like trailing slashes on subpath directives */
+- while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
+- globalTmpDir.pop_back();
++ /* Allow file-read* on full directory hierarchy to self. Allows realpath() */
++ sandboxProfile += "(allow file-read*\n";
++ for (auto & i : ancestry) {
++ sandboxProfile += fmt("\t(literal \"%s\")\n", i);
++ }
++ sandboxProfile += ")\n";
+
+- if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
+- builder = "/usr/bin/sandbox-exec";
+- args.push_back("sandbox-exec");
+- args.push_back("-f");
+- args.push_back(sandboxFile);
+- args.push_back("-D");
+- args.push_back("_GLOBAL_TMP_DIR=" + globalTmpDir);
+- if (allowLocalNetworking) {
+- args.push_back("-D");
+- args.push_back(std::string("_ALLOW_LOCAL_NETWORKING=1"));
+- }
+- args.push_back(drv->builder);
+- } else {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
++ sandboxProfile += additionalSandboxProfile;
++ } else
++ sandboxProfile +=
++ #include "sandbox-minimal.sb"
++ ;
++
++ debug("Generated sandbox profile:");
++ debug(sandboxProfile);
++
++ bool allowLocalNetworking = parsedDrv->getBoolAttr("__darwinAllowLocalNetworking");
++
++ /* The tmpDir in scope points at the temporary build directory for our derivation. Some packages try different mechanisms
++ to find temporary directories, so we want to open up a broader place for them to put their files, if needed. */
++ Path globalTmpDir = canonPath(defaultTempDir(), true);
++
++ /* They don't like trailing slashes on subpath directives */
++ while (!globalTmpDir.empty() && globalTmpDir.back() == '/')
++ globalTmpDir.pop_back();
++
++ if (getEnv("_NIX_TEST_NO_SANDBOX") != "1") {
++ Strings sandboxArgs;
++ sandboxArgs.push_back("_GLOBAL_TMP_DIR");
++ sandboxArgs.push_back(globalTmpDir);
++ if (allowLocalNetworking) {
++ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
++ sandboxArgs.push_back("1");
++ }
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
++ writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ _exit(1);
+ }
+ }
++
++ builder = drv->builder;
++ args.push_back(std::string(baseNameOf(drv->builder)));
+ #else
+- else {
++ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/git/0003-packaging-Add-darwin-lsandbox-in-meson.patch b/pkgs/tools/package-management/nix/patches/git/0003-packaging-Add-darwin-lsandbox-in-meson.patch
new file mode 100644
index 000000000000..0dfbd10ab1e8
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/git/0003-packaging-Add-darwin-lsandbox-in-meson.patch
@@ -0,0 +1,53 @@
+From f7335530619f9b18d6cc249a297e4dca369101a5 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:23:17 +0200
+Subject: [PATCH 3/6] packaging: Add darwin -lsandbox in meson
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/meson.build | 5 +++++
+ src/libstore/package.nix | 2 ++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/src/libstore/meson.build b/src/libstore/meson.build
+index 6a6aabf97..c2aa5bff3 100644
+--- a/src/libstore/meson.build
++++ b/src/libstore/meson.build
+@@ -69,6 +69,11 @@ has_acl_support = cxx.has_header('sys/xattr.h') \
+ and cxx.has_function('lremovexattr')
+ configdata.set('HAVE_ACL_SUPPORT', has_acl_support.to_int())
+
++if host_machine.system() == 'darwin'
++ sandbox = cxx.find_library('sandbox')
++ deps_other += [sandbox]
++endif
++
+ subdir('build-utils-meson/threads')
+
+ boost = dependency(
+diff --git a/src/libstore/package.nix b/src/libstore/package.nix
+index 9568462b5..f04e3b95f 100644
+--- a/src/libstore/package.nix
++++ b/src/libstore/package.nix
+@@ -3,6 +3,7 @@
+ , mkMesonLibrary
+
+ , unixtools
++, darwin
+
+ , nix-util
+ , boost
+@@ -56,6 +57,7 @@ mkMesonLibrary (finalAttrs: {
+ sqlite
+ ] ++ lib.optional stdenv.hostPlatform.isLinux libseccomp
+ # There have been issues building these dependencies
++ ++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.libs.sandbox
+ ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform && (stdenv.isLinux || stdenv.isDarwin))
+ aws-sdk-cpp
+ ;
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/git/0004-local-derivation-goal-Print-sandbox-error-detail-on-.patch b/pkgs/tools/package-management/nix/patches/git/0004-local-derivation-goal-Print-sandbox-error-detail-on-.patch
new file mode 100644
index 000000000000..4bff61efdf7f
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/git/0004-local-derivation-goal-Print-sandbox-error-detail-on-.patch
@@ -0,0 +1,34 @@
+From 14d09e0b55898ac22d4cdeade3bf6c4174052ffd Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:44:12 +0200
+Subject: [PATCH 4/6] local-derivation-goal: Print sandbox error detail on
+ darwin
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/unix/build/local-derivation-goal.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index 067755c0d..f34d68403 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2208,8 +2208,9 @@ void LocalDerivationGoal::runChild()
+ sandboxArgs.push_back("_ALLOW_LOCAL_NETWORKING");
+ sandboxArgs.push_back("1");
+ }
+- if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), NULL)) {
+- writeFull(STDERR_FILENO, "failed to configure sandbox\n");
++ char * sandbox_errbuf = nullptr;
++ if (sandbox_init_with_parameters(sandboxProfile.c_str(), 0, stringsToCharPtrs(sandboxArgs).data(), &sandbox_errbuf)) {
++ writeFull(STDERR_FILENO, fmt("failed to configure sandbox: %s\n", sandbox_errbuf ? sandbox_errbuf : "(null)"));
+ _exit(1);
+ }
+ }
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/git/0005-local-derivation-goal-Refactor.patch b/pkgs/tools/package-management/nix/patches/git/0005-local-derivation-goal-Refactor.patch
new file mode 100644
index 000000000000..cec9d67513ed
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/git/0005-local-derivation-goal-Refactor.patch
@@ -0,0 +1,41 @@
+From 06e27042e176b79561f50decb0fdf836b7bec3f5 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:50:27 +0200
+Subject: [PATCH 5/6] local-derivation-goal: Refactor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This works because the `builder` and `args` variables are only used
+in the non-builtin code path.
+
+Co-Authored-By: Théophane Hufschmitt <theophane.hufschmitt@tweag.io>
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ src/libstore/unix/build/local-derivation-goal.cc | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index f34d68403..f781a84c6 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2214,15 +2214,12 @@ void LocalDerivationGoal::runChild()
+ _exit(1);
+ }
+ }
++#endif
+
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+-#else
+ if (!drv->isBuiltin()) {
+ builder = drv->builder;
+ args.push_back(std::string(baseNameOf(drv->builder)));
+ }
+-#endif
+
+ for (auto & i : drv->args)
+ args.push_back(rewriteStrings(i, inputRewrites));
+--
+2.46.1
+
diff --git a/pkgs/tools/package-management/nix/patches/git/0006-local-derivation-goal-Move-builder-preparation-to-no.patch b/pkgs/tools/package-management/nix/patches/git/0006-local-derivation-goal-Move-builder-preparation-to-no.patch
new file mode 100644
index 000000000000..4e63db1f183e
--- /dev/null
+++ b/pkgs/tools/package-management/nix/patches/git/0006-local-derivation-goal-Move-builder-preparation-to-no.patch
@@ -0,0 +1,75 @@
+From d1e0bae55afb3c3ef0bcad5d644b0e04da6279b3 Mon Sep 17 00:00:00 2001
+From: Robert Hensing <robert@roberthensing.nl>
+Date: Thu, 3 Oct 2024 12:57:00 +0200
+Subject: [PATCH 6/6] local-derivation-goal: Move builder preparation to
+ non-builtin code path
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
+---
+ .../unix/build/local-derivation-goal.cc | 25 ++++++++-----------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc
+index f781a84c6..dcfaadeef 100644
+--- a/src/libstore/unix/build/local-derivation-goal.cc
++++ b/src/libstore/unix/build/local-derivation-goal.cc
+@@ -2087,11 +2087,6 @@ void LocalDerivationGoal::runChild()
+ throw SysError("setuid failed");
+ }
+
+- /* Fill in the arguments. */
+- Strings args;
+-
+- std::string builder = "invalid";
+-
+ #if __APPLE__
+ /* This has to appear before import statements. */
+ std::string sandboxProfile = "(version 1)\n";
+@@ -2216,14 +2211,6 @@ void LocalDerivationGoal::runChild()
+ }
+ #endif
+
+- if (!drv->isBuiltin()) {
+- builder = drv->builder;
+- args.push_back(std::string(baseNameOf(drv->builder)));
+- }
+-
+- for (auto & i : drv->args)
+- args.push_back(rewriteStrings(i, inputRewrites));
+-
+ /* Indicate that we managed to set up the build environment. */
+ writeFull(STDERR_FILENO, std::string("\2\n"));
+
+@@ -2254,6 +2241,14 @@ void LocalDerivationGoal::runChild()
+ }
+ }
+
++ // Now builder is not builtin
++
++ Strings args;
++ args.push_back(std::string(baseNameOf(drv->builder)));
++
++ for (auto & i : drv->args)
++ args.push_back(rewriteStrings(i, inputRewrites));
++
+ #if __APPLE__
+ posix_spawnattr_t attrp;
+
+@@ -2275,9 +2270,9 @@ void LocalDerivationGoal::runChild()
+ posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL);
+ }
+
+- posix_spawn(NULL, builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ posix_spawn(NULL, drv->builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #else
+- execve(builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
++ execve(drv->builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
+ #endif
+
+ throw SysError("executing '%1%'", drv->builder);
+--
+2.46.1
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d74de4f4ad70..39aac77560e1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -33193,6 +33193,8 @@ with pkgs;
scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { };
+ scx = recurseIntoAttrs (callPackage ../os-specific/linux/scx { });
+
shod = callPackage ../applications/window-managers/shod { };
shotcut = qt6Packages.callPackage ../applications/video/shotcut {
@@ -36625,7 +36627,10 @@ with pkgs;
fltk = fltk-minimal;
};
- factorio = callPackage ../games/factorio { releaseType = "alpha"; };
+ factorio = callPackage ../games/factorio {
+ releaseType = "alpha";
+ versionsJson = ../games/factorio/versions-1.json;
+ };
factorio-experimental = factorio.override { releaseType = "alpha"; experimental = true; };
@@ -36635,6 +36640,30 @@ with pkgs;
factorio-demo = factorio.override { releaseType = "demo"; };
+ factorio_1 = factorio;
+
+ factorio_1-experimental = factorio-experimental;
+
+ factorio_1-headless = factorio-headless;
+
+ factorio_1-headless-experimental = factorio-headless-experimental;
+
+ factorio_1-demo = factorio-demo;
+
+ factorio_2 = factorio.override { versionsJson = ../games/factorio/versions.json; };
+
+ factorio_2-experimental = factorio-experimental.override { versionsJson = ../games/factorio/versions.json; };
+
+ factorio_2-headless = factorio-headless.override { versionsJson = ../games/factorio/versions.json; };
+
+ factorio_2-headless-experimental = factorio-headless-experimental.override { versionsJson = ../games/factorio/versions.json; };
+
+ # there is no factorio_2-demo
+
+ factorio-space-age = factorio_2.override { releaseType = "expansion"; };
+
+ factorio-space-age-experimental = factorio_2.override { releaseType = "expansion"; experimental = true; };
+
factorio-mods = callPackage ../games/factorio/mods.nix { };
factorio-utils = callPackage ../games/factorio/utils.nix { };