Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2022-09-03 00:13:42 +00:00
committed by GitHub
108 changed files with 3996 additions and 704 deletions
+7 -1
View File
@@ -2931,7 +2931,7 @@
danth = {
name = "Daniel Thwaites";
email = "danthwaites30@btinternet.com";
matrix = "@danth:pwak.org";
matrix = "@danth:danth.me";
github = "danth";
githubId = 28959268;
keys = [{
@@ -8621,6 +8621,12 @@
fingerprint = "FEF0 AE2D 5449 3482 5F06 40AA 186A 1EDA C5C6 3F83";
}];
};
mightyiam = {
email = "mightyiampresence@gmail.com";
github = "mightyiam";
githubId = 635591;
name = "Shahar Dawn Or";
};
mihnea-s = {
email = "mihn.stn@gmail.com";
github = "mihnea-s";
+5 -4
View File
@@ -73,10 +73,10 @@ in
default = 50;
type = types.int;
description = lib.mdDoc ''
Maximum amount of memory that can be used by the zram swap devices
Maximum total amount of memory that can be stored in the zram swap devices
(as a percentage of your total memory). Defaults to 1/2 of your total
RAM. Run `zramctl` to check how good memory is
compressed.
RAM. Run `zramctl` to check how good memory is compressed.
This doesn't define how much memory will be used by the zram swap devices.
'';
};
@@ -84,8 +84,9 @@ in
default = null;
type = with types; nullOr int;
description = lib.mdDoc ''
Maximum total amount of memory (in bytes) that can be used by the zram
Maximum total amount of memory (in bytes) that can be stored in the zram
swap devices.
This doesn't define how much memory will be used by the zram swap devices.
'';
};
+5 -2
View File
@@ -56,8 +56,10 @@ let
mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
phpExt = pkgs.php81.withExtensions
({ enabled, all }: with all; [ iconv mbstring curl openssl tokenizer xmlrpc soap ctype zip gd simplexml dom intl json sqlite3 pgsql pdo_sqlite pdo_pgsql pdo_odbc pdo_mysql pdo mysqli session zlib xmlreader fileinfo filter opcache ]);
phpExt = pkgs.php80.buildEnv {
extensions = { all, ... }: with all; [ iconv mbstring curl openssl tokenizer soap ctype zip gd simplexml dom intl sqlite3 pgsql pdo_sqlite pdo_pgsql pdo_odbc pdo_mysql pdo mysqli session zlib xmlreader fileinfo filter opcache exif sodium ];
extraConfig = "max_input_vars = 5000";
};
in
{
# interface
@@ -230,6 +232,7 @@ in
phpOptions = ''
zend_extension = opcache.so
opcache.enable = 1
max_input_vars = 5000
'';
settings = {
"listen.owner" = config.services.httpd.user;
+1
View File
@@ -278,6 +278,7 @@ in {
kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {};
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
leaps = handleTest ./leaps.nix {};
lemmy = handleTest ./lemmy.nix {};
libinput = handleTest ./libinput.nix {};
libreddit = handleTest ./libreddit.nix {};
libresprite = handleTest ./libresprite.nix {};
+1
View File
@@ -33,6 +33,7 @@ in
hardware.opengl.enable = true;
programs.xwayland.enable = true;
services.udisks2.enable = true;
environment.systemPackages = [ pkgs.cagebreak pkgs.wayland-utils ];
# Need to switch to a different GPU driver than the default one (-vga std) so that Cagebreak can launch:
+85
View File
@@ -0,0 +1,85 @@
import ./make-test-python.nix ({ pkgs, lib, ... }:
let
uiPort = 1234;
backendPort = 5678;
lemmyNodeName = "server";
in
{
name = "lemmy";
meta = with lib.maintainers; { maintainers = [ mightyiam ]; };
nodes = {
client = { };
"${lemmyNodeName}" = {
services.lemmy = {
enable = true;
jwtSecretPath = pkgs.writeTextFile {
name = "lemmy-secret";
text = "very-secret-password123";
};
ui.port = uiPort;
settings = {
hostname = "http://${lemmyNodeName}";
port = backendPort;
database.createLocally = true;
};
caddy.enable = true;
};
networking.firewall.allowedTCPPorts = [ 80 ];
# pict-rs seems to need more than 1025114112 bytes
virtualisation.memorySize = 2000;
};
};
testScript = ''
server = ${lemmyNodeName}
with subtest("the backend starts and responds"):
server.wait_for_unit("lemmy.service")
server.wait_for_open_port(${toString backendPort})
server.succeed("curl --fail localhost:${toString backendPort}/api/v3/site")
with subtest("the UI starts and responds"):
server.wait_for_unit("lemmy-ui.service")
server.wait_for_open_port(${toString uiPort})
server.succeed("curl --fail localhost:${toString uiPort}")
with subtest("Lemmy-UI responds through the caddy reverse proxy"):
server.wait_for_unit("network-online.target")
server.wait_for_unit("caddy.service")
server.wait_for_open_port(80)
body = server.execute("curl --fail --location ${lemmyNodeName}")[1]
assert "Lemmy" in body, f"String Lemmy not found in response for ${lemmyNodeName}: \n{body}"
with subtest("the server is exposed externally"):
client.wait_for_unit("network-online.target")
client.succeed("curl -v --fail ${lemmyNodeName}")
with subtest("caddy correctly routes backend requests"):
# Make sure we are not hitting frontend
server.execute("systemctl stop lemmy-ui.service")
def assert_http_code(url, expected_http_code, extra_curl_args=""):
_, http_code = server.execute(f'curl --silent -o /dev/null {extra_curl_args} --fail --write-out "%{{http_code}}" {url}')
assert http_code == str(expected_http_code), f"expected http code {expected_http_code}, got {http_code}"
# Caddy responds with HTTP code 502 if it cannot handle the requested path
assert_http_code("${lemmyNodeName}/obviously-wrong-path/", 502)
assert_http_code("${lemmyNodeName}/static/js/client.js", 200)
assert_http_code("${lemmyNodeName}/api/v3/site", 200)
# A 404 confirms that the request goes to the backend
# No path can return 200 until after we upload an image to pict-rs
assert_http_code("${lemmyNodeName}/pictrs/", 404)
# The paths `/feeds/*` and `/nodeinfo/*` are not tested because they seem to be misconfigured
assert_http_code("${lemmyNodeName}/some-other-made-up-path/", 404, "-X POST")
assert_http_code("${lemmyNodeName}/some-other-path", 404, "-H 'Accept: application/activity+json'")
assert_http_code("${lemmyNodeName}/some-other-path", 404, "-H 'Accept: application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"'")
'';
})
+2 -2
View File
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "praat";
version = "6.2.16";
version = "6.2.17";
src = fetchFromGitHub {
owner = "praat";
repo = "praat";
rev = "v${version}";
sha256 = "sha256-k6wFTwXMXpLb+nddJ6fOfhzCOrcbQR7Pot8rmrx2gYs=";
sha256 = "sha256-368Dq4UU1+NTlskQQ5t/nEmyjLvSfdW3rhqzwKoKjzE=";
};
configurePhase = ''
+2 -2
View File
@@ -13,13 +13,13 @@
mkDerivation rec {
pname = "ptcollab";
version = "0.6.1.1";
version = "0.6.2.0";
src = fetchFromGitHub {
owner = "yuxshao";
repo = "ptcollab";
rev = "v${version}";
sha256 = "sha256-ydn3qKOK0GwA/mBPbGwSIac09b9cz6YOFbuDFFV8jJs=";
sha256 = "sha256-iSCuFCwOPrvff9N/a2J0kPrxikhyR7yYbD4VaU/TF4M=";
};
nativeBuildInputs = [ qmake pkg-config ];
+2 -4
View File
@@ -39,13 +39,13 @@
stdenv.mkDerivation rec {
pname = "sonic-pi";
version = "4.0.3";
version = "4.1.0";
src = fetchFromGitHub {
owner = "sonic-pi-net";
repo = pname;
rev = "v${version}";
hash = "sha256-kTuW+i/kdPhyG3L6SkgQTE9UvADY49KahJcw3+5Uz4k=";
hash = "sha256-kEZNVTAWkiqxyPJHSL4Gismpwxd+PnXiH8CgQCV3+PQ=";
};
mixFodDeps = beamPackages.fetchMixDeps {
@@ -61,10 +61,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
wrapQtAppsHook
copyDesktopItems
cmake
pkg-config
erlang
elixir
beamPackages.hex
@@ -12,16 +12,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "electrs";
version = "0.9.7";
version = "0.9.9";
src = fetchFromGitHub {
owner = "romanz";
repo = pname;
rev = "v${version}";
hash = "sha256-hdXc64gj7QtCnTq3f5mpQDEKLM6qaDBLkQE07xxNaDE=";
hash = "sha256-jU0qN+T5bHn9l/SXDR/Wa8uCGyJhIDUCHzEQe39L2MQ=";
};
cargoHash = "sha256-xMATO+H3bGkM/tLRimmLGYtrOAX8hzkw5Hb0c6iVAXY=";
cargoHash = "sha256-hdScQd0Fd6gE9/f4kk0zjZLK42oK1aaDzIOcAIsJqbU=";
# needed for librocksdb-sys
nativeBuildInputs = [ llvmPackages.clang ];
+29 -15
View File
@@ -1,18 +1,16 @@
{ lib
, buildDotnetModule
, fetchFromGitHub
, dotnetCorePackages
, wrapGAppsHook
, libX11
, libgdiplus
, ffmpeg
, SDL2_mixer
, openal
, libsoundio
, sndio
, pulseaudio
, gtk3
, gdk-pixbuf
, wrapGAppsHook
, vulkan-loader
, libICE
, libSM
@@ -22,28 +20,24 @@
, libXrandr
, fontconfig
, glew
, libGL
, SDL2
, SDL2_mixer
}:
buildDotnetModule rec {
pname = "ryujinx";
version = "1.1.223"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
version = "1.1.248"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
src = fetchFromGitHub {
owner = "Ryujinx";
repo = "Ryujinx";
rev = "951700fdd8f54fb34ffe8a3fb328a68b5bf37abe";
sha256 = "0kzchsxir8wh74rxvp582mci855hbd0vma6yhcc9vpz0zmhi2cpf";
rev = "5ff5fe47bad947a95545390865c597bec6c62070";
sha256 = "0nfzf7q58mhdyszwv3mbz3wqf4w0m1p3fmf3cpga1pf9mfq65nqz";
};
projectFile = "Ryujinx.sln";
nugetDeps = ./deps.nix;
dotnetFlags = [ "/p:ExtraDefineConstants=DISABLE_UPDATER" ];
# TODO: Add the headless frontend. Currently errors on the following:
# System.Exception: SDL2 initlaization failed with error "No available video device"
executables = [ "Ryujinx" "Ryujinx.Ava" ];
nativeBuildInputs = [
wrapGAppsHook
];
@@ -74,12 +68,30 @@ buildDotnetModule rec {
libXrandr
fontconfig
glew
# Headless executable
libGL
SDL2
];
patches = [
./appdir.patch # Ryujinx attempts to write to the nix store. This patch redirects it to "~/.config/Ryujinx" on Linux.
];
projectFile = "Ryujinx.sln";
testProjectFile = "Ryujinx.Tests/Ryujinx.Tests.csproj";
doCheck = true;
dotnetFlags = [
"/p:ExtraDefineConstants=DISABLE_UPDATER"
];
executables = [
"Ryujinx.Headless.SDL2"
"Ryujinx.Ava"
"Ryujinx"
];
makeWrapperArgs = [
# Without this Ryujinx fails to start on wayland. See https://github.com/Ryujinx/Ryujinx/issues/2714
"--set GDK_BACKEND x11"
@@ -100,8 +112,10 @@ buildDotnetModule rec {
install -D ./ryujinx-mime.xml $out/share/mime/packages/ryujinx-mime.xml
install -D ./ryujinx-logo.svg $out/share/icons/hicolor/scalable/apps/ryujinx.svg
substituteInPlace $out/share/applications/ryujinx.desktop --replace \
"Exec=Ryujinx" "Exec=$out/bin/Ryujinx"
substituteInPlace $out/share/applications/ryujinx.desktop \
--replace "Exec=Ryujinx" "Exec=$out/bin/Ryujinx"
ln -s $out/bin/Ryujinx $out/bin/ryujinx
popd
'';
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "sameboy";
version = "0.15.4";
version = "0.15.5";
src = fetchFromGitHub {
owner = "LIJI32";
repo = "SameBoy";
rev = "v${version}";
sha256 = "sha256-YLWo6Em/NdU60Dtu4ePANSKLixozxpxVwD3dJcAOs3g=";
sha256 = "sha256-R93ZIc1Ics3diJJDdGUBCEGRDW25YnC1ZY0DyJjpyVM=";
};
enableParallelBuilding = true;
@@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, runtimeShell
{ stdenv, lib, fetchurl, fetchpatch, runtimeShell, buildPackages
, gettext, pkg-config, python3
, avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp
, curl, systemd, libxml2, poppler, gawk
@@ -29,8 +29,26 @@ stdenv.mkDerivation {
sha256 = "055iicihxa6b28iv5fnz13n67frdr5nrydq2c846f9x7q0vw4a1s";
};
patches = [
# sane-desc will be used in postInstall so compile it for build
# https://github.com/void-linux/void-packages/blob/master/srcpkgs/sane/patches/sane-desc-cross.patch
(fetchpatch {
name = "compile-sane-desc-for-build.patch";
url = "https://raw.githubusercontent.com/void-linux/void-packages/4b97cd2fb4ec38712544438c2491b6d7d5ab334a/srcpkgs/sane/patches/sane-desc-cross.patch";
sha256 = "sha256-y6BOXnOJBSTqvRp6LwAucqaqv+OLLyhCS/tXfLpnAPI=";
})
];
postPatch = ''
# related to the compile-sane-desc-for-build
substituteInPlace tools/Makefile.in \
--replace 'cc -I' '$(CC_FOR_BUILD) -I'
'';
outputs = [ "out" "doc" "man" ];
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [
gettext
pkg-config
@@ -62,6 +80,10 @@ stdenv.mkDerivation {
++ lib.optional (libusb1 != null) "--with-usb"
;
# autoconf check for HAVE_MMAP is never set on cross compilation.
# The pieusb backend fails compilation if HAVE_MMAP is not set.
buildFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "CFLAGS=-DHAVE_MMAP=${if stdenv.hostPlatform.isLinux then "1" else "0"}" ];
postInstall = let
compatFirmware = extraFirmware
+37
View File
@@ -0,0 +1,37 @@
{ stdenv
, lib
, fetchFromGitHub
}:
stdenv.mkDerivation {
pname = "dwmbar";
version = "unstable-2021-12-22";
src = fetchFromGitHub {
owner = "thytom";
repo = "dwmbar";
rev = "574f5703c558a56bc9c354471543511255423dc7";
sha256 = "sha256-IrelZpgsxq2dnsjMdh7VC5eKffEGRbDkZmZBD+tROPs=";
};
postPatch = ''
substituteInPlace dwmbar \
--replace 'DEFAULT_CONFIG_DIR="/usr/share/dwmbar"' "DEFAULT_CONFIG_DIR=\"$out/share/dwmbar\""
'';
installPhase = ''
install -d $out/share/dwmbar
cp -r modules $out/share/dwmbar/
install -D -t $out/share/dwmbar/ config
install -D -t $out/share/dwmbar/ bar.sh
install -Dm755 -t $out/bin/ dwmbar
'';
meta = with lib; {
homepage = "https://github.com/thytom/dwmbar";
description = "A Modular Status Bar for dwm";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ baitinq ];
platforms = platforms.linux;
};
}
+2 -2
View File
@@ -7,14 +7,14 @@
let
pname = "krename";
version = "5.0.1";
version = "5.0.2";
in mkDerivation rec {
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
sha256 = "0zbadxjp13jqxgb58wslhm0wy2lhpdq1bgbvyhyn21mssfppib6a";
sha256 = "sha256-sjxgp93Z9ttN1/VaxV/MqKVY+miq+PpcuJ4er2kvI+0=";
};
buildInputs = [ taglib exiv2 podofo ];
+2 -2
View File
@@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "p2pool";
version = "2.2.1";
version = "2.3";
src = fetchFromGitHub {
owner = "SChernykh";
repo = "p2pool";
rev = "v${version}";
sha256 = "sha256-iDswjKDGii1OnMmdhiisbwuWjs7omNOF+tubJLs69qY=";
sha256 = "sha256-hf0iU246cmTCDYotPdTACFY135L2+cRV3FpVYnRZtRc=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -6,13 +6,13 @@
mkDerivation rec {
pname = "pure-maps";
version = "3.1.0";
version = "3.1.1";
src = fetchFromGitHub {
owner = "rinigus";
repo = "pure-maps";
rev = version;
hash = "sha256-PjZ8aKF+g3mH7z6LIUxI7mbtkcFv3wznBywaX/Y+1FU=";
hash = "sha256-ZPW2hNnaRfv5aTXqku7hPShN0leOuVEJ3T/OOTzwgXQ=";
fetchSubmodules = true;
};
+1 -1
View File
@@ -1,4 +1,4 @@
{ lib, python3Packages, fetchFromGitHub, glibcLocales, unittestCheckHook }:
{ lib, python3Packages, fetchFromGitHub, glibcLocales }:
with python3Packages;
+32 -43
View File
@@ -1,65 +1,54 @@
{ mkDerivation, lib, fetchhg
{ lib, stdenv, fetchFromGitLab, substituteAll, installShellFiles
, qmake, qttools
, qtbase, qtsvg, qtxmlpatterns
, poppler_utils
, qtsvg, qttranslations, qtxmlpatterns
, wrapQtAppsHook
}:
with lib;
mkDerivation rec {
stdenv.mkDerivation rec {
pname = "valentina";
version = "0.6.1";
version = "0.7.51";
src = fetchhg {
url = "https://bitbucket.org/dismine/valentina";
src = fetchFromGitLab {
owner = "smart-pattern";
repo = "valentina";
rev = "v${version}";
sha256 = "0dxk2av7xbsd233sr9wa1hamzb7pp8yx6p5b43rsnvnzchkqf423";
hash = "sha256-N9fC2tCP4TVNncatHaz5W5Mp3jOmAcEWYCl30+0myaE=";
};
patches = (substituteAll {
# See https://github.com/NixOS/nixpkgs/issues/86054
src = ./fix-qttranslations-path.patch;
inherit qttranslations;
});
postPatch = ''
substituteInPlace common.pri \
--replace '$$[QT_INSTALL_HEADERS]/QtXmlPatterns' '${getDev qtxmlpatterns}/include/QtXmlPatterns' \
--replace '$$[QT_INSTALL_HEADERS]/QtSvg' '${getDev qtsvg}/include/QtSvg' \
--replace '$$[QT_INSTALL_HEADERS]/' '${getDev qtbase}/include/' \
--replace '$$[QT_INSTALL_HEADERS]' '${getDev qtbase}'
substituteInPlace src/app/tape/tape.pro \
--replace '$$[QT_INSTALL_BINS]/rcc' '${getDev qtbase}/bin/rcc'
substituteInPlace src/app/translations.pri \
--replace '$$[QT_INSTALL_BINS]/$$LRELEASE' '${getDev qttools}/bin/lrelease'
substituteInPlace src/app/valentina/mainwindowsnogui.cpp \
--replace 'define PDFTOPS "pdftops"' 'define PDFTOPS "${getBin poppler_utils}/bin/pdftops"'
substituteInPlace src/app/valentina/dialogs/dialogsavelayout.h \
--replace 'define PDFTOPS "pdftops"' 'define PDFTOPS "${getBin poppler_utils}/bin/pdftops"'
--replace '$$[QT_INSTALL_BINS]/$$LRELEASE' '${lib.getDev qttools}/bin/lrelease'
'';
nativeBuildInputs = [ qmake qttools ];
nativeBuildInputs = [ qmake qttools wrapQtAppsHook installShellFiles ];
buildInputs = [ qtbase qtsvg qtxmlpatterns poppler_utils ];
buildInputs = [ qtsvg qtxmlpatterns ];
configurePhase = ''
qmake PREFIX=/ Valentina.pro -r "CONFIG += noTests noRunPath no_ccache noDebugSymbols"
'';
installFlags = [ "INSTALL_ROOT=$(out)" ];
qmakeFlags = [
"-r"
"PREFIX=${placeholder "out"}"
"CONFIG+=noTests"
"CONFIG+=noRunPath"
"CONFIG+=no_ccache"
"CONFIG+=noDebugSymbols"
];
postInstall = ''
mv $out/usr/share $out/
rmdir $out/usr
mkdir -p $out/share/man/man1
gzip -9c dist/debian/valentina.1 > $out/share/man/man1/valentina.1.gz
gzip -9c dist/debian/tape.1 > $out/share/man/man1/tape.1.gz
mkdir -p $out/share/mime/packages
cp dist/debian/valentina.sharedmimeinfo $out/share/mime/packages/valentina.xml
installManPage dist/debian/*.1
install -Dm644 dist/debian/valentina.sharedmimeinfo $out/share/mime/packages/valentina.xml
'';
enableParallelBuilding = true;
meta = {
meta = with lib; {
description = "An open source sewing pattern drafting software";
homepage = "https://valentinaproject.bitbucket.io/";
license = licenses.gpl3;
homepage = "https://smart-pattern.com.ua/";
changelog = "https://gitlab.com/smart-pattern/valentina/-/blob/v${version}/ChangeLog.txt";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ jfrankenau ];
};
@@ -0,0 +1,37 @@
diff --git i/src/libs/vmisc/vabstractapplication.cpp w/src/libs/vmisc/vabstractapplication.cpp
index b64817bab..5f9aa3518 100644
--- i/src/libs/vmisc/vabstractapplication.cpp
+++ w/src/libs/vmisc/vabstractapplication.cpp
@@ -221,26 +221,26 @@ void VAbstractApplication::LoadTranslation(const QString &locale)
ClearTranslation();
qtTranslator = new QTranslator(this);
-#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN)
qtTranslator->load("qt_" + locale, translationsPath(locale));
#else
- qtTranslator->load("qt_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ qtTranslator->load("qt_" + locale, QLatin1String("@qttranslations@/translations"));
#endif
installTranslator(qtTranslator);
qtxmlTranslator = new QTranslator(this);
-#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN)
qtxmlTranslator->load("qtxmlpatterns_" + locale, translationsPath(locale));
#else
- qtxmlTranslator->load("qtxmlpatterns_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ qtxmlTranslator->load("qtxmlpatterns_" + locale, QLatin1String("@qttranslations@/translations"));
#endif
installTranslator(qtxmlTranslator);
qtBaseTranslator = new QTranslator(this);
-#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
+#if defined(Q_OS_WIN)
qtBaseTranslator->load("qtbase_" + locale, translationsPath(locale));
#else
- qtBaseTranslator->load("qtbase_" + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ qtBaseTranslator->load("qtbase_" + locale, QLatin1String("@qttranslations@/translations"));
#endif
installTranslator(qtBaseTranslator);
@@ -160,6 +160,10 @@ let
./patches/no-build-timestamps.patch
# For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags:
./patches/widevine-79.patch
# Required to fix the build with a more recent wayland-protocols version
# (we currently package 1.26 in Nixpkgs while Chromium bundles 1.21):
# Source: https://bugs.chromium.org/p/angleproject/issues/detail?id=7582#c1
./patches/angle-wayland-include-protocol.patch
];
postPatch = ''
@@ -289,10 +293,6 @@ let
rtc_use_pipewire = true;
# Disable PGO because the profile data requires a newer compiler version (LLVM 14 isn't sufficient):
chrome_pgo_phase = 0;
} // optionalAttrs (chromiumVersionAtLeast "105") {
# https://bugs.chromium.org/p/chromium/issues/detail?id=1334390:
use_system_libwayland = false;
use_system_wayland_scanner = false;
} // optionalAttrs proprietaryCodecs {
# enable support for the H.264 codec
proprietary_codecs = true;
@@ -0,0 +1,38 @@
diff -upr a/third_party/angle/BUILD.gn b/third_party/angle/BUILD.gn
--- a/third_party/angle/BUILD.gn 2022-08-17 19:38:11.000000000 +0000
+++ b/third_party/angle/BUILD.gn 2022-08-18 11:04:09.061751111 +0000
@@ -489,6 +489,12 @@ config("angle_vulkan_wayland_config") {
if (angle_enable_vulkan && angle_use_wayland &&
defined(vulkan_wayland_include_dirs)) {
include_dirs = vulkan_wayland_include_dirs
+ } else if (angle_enable_vulkan && angle_use_wayland) {
+ include_dirs = [
+ "$wayland_gn_dir/src/src",
+ "$wayland_gn_dir/include/src",
+ "$wayland_gn_dir/include/protocol",
+ ]
}
}
@@ -1073,6 +1079,7 @@ if (angle_use_wayland) {
include_dirs = [
"$wayland_dir/egl",
"$wayland_dir/src",
+ "$wayland_gn_dir/include/protocol",
]
}
diff -upr a/third_party/angle/src/third_party/volk/BUILD.gn b/third_party/angle/src/third_party/volk/BUILD.gn
--- a/third_party/angle/src/third_party/volk/BUILD.gn 2022-08-17 19:38:12.000000000 +0000
+++ b/third_party/angle/src/third_party/volk/BUILD.gn 2022-08-18 11:04:36.499828006 +0000
@@ -21,6 +21,9 @@ source_set("volk") {
configs += [ "$angle_root:angle_no_cfi_icall" ]
public_deps = [ "$angle_vulkan_headers_dir:vulkan_headers" ]
if (angle_use_wayland) {
- include_dirs = [ "$wayland_dir/src" ]
+ include_dirs = [
+ "$wayland_dir/src",
+ "$wayland_gn_dir/include/protocol",
+ ]
}
}
@@ -1,27 +1,8 @@
{
"stable": {
"version": "104.0.5112.101",
"sha256": "0nrghgngxdn9richjnxii9y94dg5zpwc3gd3vx609r4xaphibw30",
"sha256bin64": "1cj2mi3g5wl376wc52jgqg28h7izbsqm2gji526zkhmgb7rwq4sw",
"deps": {
"gn": {
"version": "2022-06-08",
"url": "https://gn.googlesource.com/gn",
"rev": "2ecd43a10266bd091c98e6dcde507c64f6a0dad3",
"sha256": "1q06vsz9b4bb764wy1wy8n177z2pgpm97kq3rl1hmq185mz5fhra"
}
},
"chromedriver": {
"version": "104.0.5112.79",
"sha256_linux": "1naxi6pa5l9ciwzlqimcwqfjsqzyqndg1i0hp6zwh20wfvcfms3w",
"sha256_darwin": "0lgls8vsv31apgxjvksqaaiqj78q5v3bs0mnrxhfbw7cbhf6wxk5",
"sha256_darwin_aarch64": "11rjqdd65zibhb1gvdwy0slcdpvwh77mkhcj5hdg4hdlysd1a3a2"
}
},
"beta": {
"version": "105.0.5195.52",
"sha256": "0hkwjilzy0x28knm6nrkywnsmldhz4kgpnxka2iaghihkjzb4wfw",
"sha256bin64": "155w4h4py3pn337060csfia9xxbjlxvhw7s7ljb9mz6qvpijd434",
"version": "105.0.5195.102",
"sha256": "0qlj6s182d4nv0g76r0pcr1rvvh74pngcv79ml3cbqsir4khbfhw",
"sha256bin64": "0n6rghaszyd9s6l702wypm8k13770kl6njnc2pwzahbxq5v921wa",
"deps": {
"gn": {
"version": "2022-07-11",
@@ -29,12 +10,31 @@
"rev": "9ef321772ecc161937db69acb346397e0ccc484d",
"sha256": "0j85kgf8c1psys6kfsq5mph8n80hcbzhr7d2blqiiysmjj0wc6ng"
}
},
"chromedriver": {
"version": "105.0.5195.52",
"sha256_linux": "063k766d95ssngg0rlx3c8w9157miga2k9kwig2fbdn7qs5ch764",
"sha256_darwin": "0rs8g25p0v3krbj00jwh5fy2nw5anrr2dzxaxaj1c8ph6qn9iqn0",
"sha256_darwin_aarch64": "14v5r4s2c76md09wgpd3mhfhnw5y57dqkq1iqajgahgqmvvim1by"
}
},
"beta": {
"version": "106.0.5249.21",
"sha256": "0d3ha2r54sjx1rhaas0mrgk2dl4xvgb83r5pbq9qzh52z43ynmlv",
"sha256bin64": "1lcfggqrzr8rbrayffgdygzx0g1i289zvg9fbq282p2x9nwb36cm",
"deps": {
"gn": {
"version": "2022-08-11",
"url": "https://gn.googlesource.com/gn",
"rev": "0bcd37bd2b83f1a9ee17088037ebdfe6eab6d31a",
"sha256": "13zks2z65kg7fzzsysq4mswd4bhhy3h7ycdrpxfilcvixx2n2gac"
}
}
},
"dev": {
"version": "106.0.5249.12",
"sha256": "0brqn9rs3z3fdsnzjq2mr4p5c6d5fjllhfjfg39z3zmijcmd7f5y",
"sha256bin64": "1giay4nfcyczzcgrrdxrizd4pkiy7hqqc4ni6jg4rnbalh72p78n",
"version": "106.0.5249.21",
"sha256": "0d3ha2r54sjx1rhaas0mrgk2dl4xvgb83r5pbq9qzh52z43ynmlv",
"sha256bin64": "0bawgqjkpllqif0jaah43vys57c9y8w7a5rjn35bxlmjrfmfwhwc",
"deps": {
"gn": {
"version": "2022-08-11",
@@ -45,19 +45,19 @@
}
},
"ungoogled-chromium": {
"version": "104.0.5112.102",
"sha256": "0sjpmfln6c96c2i83q8c2v1jfii8527951nbnyqi0g4wam5jqrfj",
"version": "105.0.5195.54",
"sha256": "0hj40scp54hp5xw036vb9v0h951hik4dq8skr52hffw24jqa9d5k",
"sha256bin64": null,
"deps": {
"gn": {
"version": "2022-06-08",
"version": "2022-07-11",
"url": "https://gn.googlesource.com/gn",
"rev": "2ecd43a10266bd091c98e6dcde507c64f6a0dad3",
"sha256": "1q06vsz9b4bb764wy1wy8n177z2pgpm97kq3rl1hmq185mz5fhra"
"rev": "9ef321772ecc161937db69acb346397e0ccc484d",
"sha256": "0j85kgf8c1psys6kfsq5mph8n80hcbzhr7d2blqiiysmjj0wc6ng"
},
"ungoogled-patches": {
"rev": "104.0.5112.102-1",
"sha256": "06l6af4a6ywjn6x02dgb5ywk057p30rylrvr483iwvrj4jlhqvii"
"rev": "105.0.5195.54-1",
"sha256": "021y7cm1fdwkakhqrvz3jw5hx30740qn827wcvih0jdc3msfgd97"
}
}
}
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kn";
version = "1.6.1";
version = "1.7.0";
src = fetchFromGitHub {
owner = "knative";
repo = "client";
rev = "knative-v${version}";
sha256 = "sha256-LCO59gfwbFzhF1ZkbnAO7W3AquaT55YzMR2P2YIVweY=";
sha256 = "sha256-rcjAdujiK6urn14eG27Lnq/6g+O0n2KmrL7k8A5ONjg=";
};
vendorSha256 = null;
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "pluto";
version = "5.10.5";
version = "5.10.6";
src = fetchFromGitHub {
owner = "FairwindsOps";
repo = "pluto";
rev = "v${version}";
sha256 = "sha256-Pdw8xPpH9PjLDbno8u3IWI7ygO18j2P3puE55+Pmzec=";
sha256 = "sha256-FNt+e13IEpIWB6gBYWfwJ+Qu7W/cyHvV+XGNhn17rdg=";
};
vendorSha256 = "sha256-hAnlKMDqrQG8vlmBLufJlq79rb1vo4PdVaJjBBSjnRM=";
vendorSha256 = "sha256-M/D7V6v4+BlROoxhT9URuj9EI6qXYG2VoXcCVN+j6aU=";
ldflags = [
"-w" "-s"
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "talosctl";
version = "1.1.2";
version = "1.2.0";
src = fetchFromGitHub {
owner = "siderolabs";
repo = "talos";
rev = "v${version}";
sha256 = "sha256-20dbBRJ0OwRiYoLVmXyV8XApOzGsyppaTW079TGK5fI=";
sha256 = "sha256-+cipDqPsBrUw4Q3uDkV76buPWTgtJXnvFsEaqqifTH8=";
};
vendorSha256 = "sha256-Xb4gkYBDTSFPwxCSxVqXLxDLn75xyy/k6Vwy+ot59KU=";
vendorSha256 = "sha256-58XLmJaE3g2KG9e4rOyO1ouBBlCGX96e8AWfr0XVHC4=";
ldflags = [ "-s" "-w" ];
@@ -11,16 +11,16 @@
buildGoModule rec {
pname = "werf";
version = "1.2.166";
version = "1.2.168";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
rev = "v${version}";
sha256 = "sha256-8LBGdjcnZTejH+lRo0im+czJJHOfhpmEB4DXM/qugYs=";
hash = "sha256-/Shmnnpme1ffN7GMTryb4ddPlcAsruyWhFdjr1PJ3HM=";
};
vendorSha256 = "sha256-E5yDk48O7zze8QTeLQ999QmB8XLkpKNZ8JQ2wVRMGCU=";
vendorHash = "sha256-E5yDk48O7zze8QTeLQ999QmB8XLkpKNZ8JQ2wVRMGCU=";
proxyVendor = true;
@@ -29,6 +29,8 @@ buildGoModule rec {
nativeBuildInputs = [ installShellFiles ];
buildInputs = lib.optionals stdenv.isLinux [ btrfs-progs glibc.static ];
CGO_ENABLED = if stdenv.isLinux then 1 else 0;
ldflags = [
"-s"
"-w"
@@ -50,8 +52,16 @@ buildGoModule rec {
"static_build"
];
# There are no tests for cmd/werf.
doCheck = false;
preCheck = ''
# Test all targets.
unset subPackages
# Remove tests that require external services.
rm -rf \
integration/suites \
pkg/true_git/*test.go \
test/e2e
'';
postInstall = ''
installShellCompletion --cmd werf \
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
name = "cinny-desktop";
version = "2.1.2";
version = "2.1.3";
src = fetchurl {
url = "https://github.com/cinnyapp/cinny-desktop/releases/download/v${version}/Cinny_desktop-x86_64.deb";
sha256 = "sha256-JLu6xAnUaeRTM/yj2Qsc7pXTRXCnvxx8NL2fDXyAUg0=";
sha256 = "sha256-fUnWGnulj/515aEdd+rCy/LGLLAs2yAOOBUn9K1LhNs=";
};
nativeBuildInputs = [
@@ -4,11 +4,11 @@ let
configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf);
in stdenv.mkDerivation rec {
pname = "cinny";
version = "2.1.2";
version = "2.1.3";
src = fetchurl {
url = "https://github.com/ajbura/cinny/releases/download/v${version}/cinny-v${version}.tar.gz";
sha256 = "sha256-UbL9HP90zfsoj/ClUoBF27n5zkvvN4UU4pxQu8QsoUA=";
sha256 = "sha256-Tn8pT0tppBEQtLdwQf0edUBe3dkK7fedunnNYIld/SQ=";
};
installPhase = ''
@@ -9,7 +9,7 @@
stdenv.mkDerivation rec {
pname = "signal-desktop";
version = "5.56.0"; # Please backport all updates to the stable channel.
version = "5.57.0"; # Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "sha256-8z6FSeEEOrkNYWh9cS7c6GDAufBuiVmHmo7Ie6mueyI=";
sha256 = "sha256-42xKqK/7V2GPHk/L396O7UoWn5vTyILVTbLa0Tf6NaY=";
};
nativeBuildInputs = [
@@ -1,665 +1,665 @@
{
version = "102.2.0";
version = "102.2.1";
sources = [
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/af/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/af/thunderbird-102.2.1.tar.bz2";
locale = "af";
arch = "linux-x86_64";
sha256 = "e0d5a533c7455301f00dcd31c3d9ce6eeaf257f42afec1ed2414c130db426152";
sha256 = "d38c09e55cf1438269d80461672a615c155e975d65c8c35f5879f4236702c9eb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ar/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ar/thunderbird-102.2.1.tar.bz2";
locale = "ar";
arch = "linux-x86_64";
sha256 = "325ae46353ea013325af5c42430fe5dbf2643e385f339627425dfc6086d973d2";
sha256 = "881eb9bafcea2646ab0830cc5a7d3ed2979b0e745ddb7a018336ed7b8382e491";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ast/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ast/thunderbird-102.2.1.tar.bz2";
locale = "ast";
arch = "linux-x86_64";
sha256 = "012006fa85f1f6f45c257206ef83a94b802061e4a6e1367a3a86114ba985347e";
sha256 = "17cba24fa82d4b3a16be5d44ea9be4b7bb1aff4b206841d5eb169815951a9f7f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/be/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/be/thunderbird-102.2.1.tar.bz2";
locale = "be";
arch = "linux-x86_64";
sha256 = "a1febd1083e17e3476e40c1026793fb56c308dca199f8eff1f930118957222b5";
sha256 = "271b5d606fc489918cec8d8d316f0b8cf295a296b95a1dd458dd0b7f68fe148b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/bg/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/bg/thunderbird-102.2.1.tar.bz2";
locale = "bg";
arch = "linux-x86_64";
sha256 = "54ef16d94ac2f95039dbbe03240dd401651234cfa65ed9cd128f7b78a5170809";
sha256 = "1e68a8cd66f72712f74bc3735af6c0016256ebfe1c7c2e820624268ed8837350";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/br/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/br/thunderbird-102.2.1.tar.bz2";
locale = "br";
arch = "linux-x86_64";
sha256 = "296c837719db56356f2b23b06b2e0114a6c213d338e014b468bba0de6eda1165";
sha256 = "82ab077f9a5f43875c6c82ad7d0e17f9c0b893e0bf307574fa8506e3220c8604";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ca/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ca/thunderbird-102.2.1.tar.bz2";
locale = "ca";
arch = "linux-x86_64";
sha256 = "3193ed376a1a1634b81c868d4a48cb5a4c73f8549dbda62319e3d591cbe77f8e";
sha256 = "2ed8291572dbfaee211f5b9fdb97d4faa591f853815d9eaa43b704270551b02e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/cak/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/cak/thunderbird-102.2.1.tar.bz2";
locale = "cak";
arch = "linux-x86_64";
sha256 = "182074172b1b0481978c6201eab49875006c9a9feb1fdcbcf5a74594afd3f4c0";
sha256 = "a5e472616951c799e6dbbdfedc3e8ba497812b027ab22c909166c3e452a29d74";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/cs/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/cs/thunderbird-102.2.1.tar.bz2";
locale = "cs";
arch = "linux-x86_64";
sha256 = "75186fecd4c0b248653808342fb0fcb1a4fbd1d19ef1b8cbed5d547bb74fdffd";
sha256 = "1d3d1e0355275152050a0c5d32fc0b0f6b53f336d02837ca7653416888e271b5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/cy/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/cy/thunderbird-102.2.1.tar.bz2";
locale = "cy";
arch = "linux-x86_64";
sha256 = "ac340fb179bf03226298d5a9b963c66aeec4b0a8d0a584fb5147dfa07afcb4b8";
sha256 = "4b2f3cc7e1e81abdc52969cd08cd3586e14ea2ff574c8c3b334109dab00ccd64";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/da/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/da/thunderbird-102.2.1.tar.bz2";
locale = "da";
arch = "linux-x86_64";
sha256 = "2743548ce40a7d4732eead3dc6003c4b71e020489ca73582c7e8da7c3d542399";
sha256 = "89613187e078a6f341ad8799cb4980cca770b2a0ccb0969740f53e5e7073f00b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/de/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/de/thunderbird-102.2.1.tar.bz2";
locale = "de";
arch = "linux-x86_64";
sha256 = "41629ea31959a2aa7db06908e27cc8ca73d2dd80069c6dd1bc8ddf3b8454ccb2";
sha256 = "4b7a030cb532a94a6eb3cc1343144bb90abcb7b2fcd3df81dc126b831d0a2740";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/dsb/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/dsb/thunderbird-102.2.1.tar.bz2";
locale = "dsb";
arch = "linux-x86_64";
sha256 = "c7e38f67ef8350694cb77a6a5ec289870205f172d52b6d7d2b57089d9123d6b4";
sha256 = "e1d05cac1f513ba573239dd677da6edb94cda9badef57b168f498b5bc218a3ee";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/el/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/el/thunderbird-102.2.1.tar.bz2";
locale = "el";
arch = "linux-x86_64";
sha256 = "7e5048dcd204524e516c7a2f2cf8179f389ae02ed683779a5df47e810d983f71";
sha256 = "d63891c05b56970021fdc455fe67d2d6f27233670e436b52522cfd012c503c74";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/en-CA/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/en-CA/thunderbird-102.2.1.tar.bz2";
locale = "en-CA";
arch = "linux-x86_64";
sha256 = "dbf9d22ddc1d65e7d47c2d7cb1706c157be82367af46714592f72a6568702cf7";
sha256 = "34c81ec572000433e356ec5f13dbe461ca788b19ca0af9fc34ab50d7feda9cd1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/en-GB/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/en-GB/thunderbird-102.2.1.tar.bz2";
locale = "en-GB";
arch = "linux-x86_64";
sha256 = "bad92cabd1c7f2886bed381b95e42a5b90a2c00a7590112df6d63dfaed191f09";
sha256 = "2e9aeef97495ebe462a62cfd0d9966b66cdf0a0464a8d5d012cf3d430b4a28cb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/en-US/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/en-US/thunderbird-102.2.1.tar.bz2";
locale = "en-US";
arch = "linux-x86_64";
sha256 = "fc46eed51f11b09a22d048a2e294bab3759ed17047ad049b295ac06124ac26d6";
sha256 = "92883c21319411096c355569c43b6cae2cbe7770c1814a9997ea7b9746431271";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/es-AR/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/es-AR/thunderbird-102.2.1.tar.bz2";
locale = "es-AR";
arch = "linux-x86_64";
sha256 = "9904a857ea7d64917ab9a408ec3c15c61a6110f3bc0edc33f792229e9d462da9";
sha256 = "51730734c71b67ffc865646453fec802e92852fd9ab7eb371d31d9c3e843f810";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/es-ES/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/es-ES/thunderbird-102.2.1.tar.bz2";
locale = "es-ES";
arch = "linux-x86_64";
sha256 = "aba7bc43a22b4dc72fc86abc567b688b088bc0aff6bd98fc4d56c4befdc86d68";
sha256 = "c61667e937b15fdb22e03b7875a474e422069800780df73529b6811cdb384824";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/es-MX/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/es-MX/thunderbird-102.2.1.tar.bz2";
locale = "es-MX";
arch = "linux-x86_64";
sha256 = "07757eca4947cb99cb9fb5588659b2da053d96eb9a71b836a30c25c8d78b22f0";
sha256 = "7c5a404101f20fd9624c5402e8ba2c0699986739302de5739ad3304e2ea234f6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/et/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/et/thunderbird-102.2.1.tar.bz2";
locale = "et";
arch = "linux-x86_64";
sha256 = "5118f9c33520e3eac6b3179b63b6d22082784272df52c96e29240360a2db927d";
sha256 = "5fb2498c2a7e1a76512ace5421bfff47a1ef336cf95f671e85188dce7c8fea78";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/eu/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/eu/thunderbird-102.2.1.tar.bz2";
locale = "eu";
arch = "linux-x86_64";
sha256 = "e1dd14890a17abe0a35f89b9ab020184b4e74436218db87f020d0650bd1e6d6b";
sha256 = "0eb3f3ca7e23e950ebafbdb6d4f4200279cc8e18a042a91ad163eb83c939c704";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/fi/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/fi/thunderbird-102.2.1.tar.bz2";
locale = "fi";
arch = "linux-x86_64";
sha256 = "cece483ceff36920c39172647759a482d9f62d1f5b62dbcb4f8ad45cddc2f5d6";
sha256 = "ae76c531ac5b826593310b2b4b2e01d877dd246379a7ae8427f6039eb5dd581f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/fr/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/fr/thunderbird-102.2.1.tar.bz2";
locale = "fr";
arch = "linux-x86_64";
sha256 = "ad6d12bfe74549582d8e155bb4cdd036657c324a5d4d1e34cae24fe227d976b0";
sha256 = "3b344b3348487c393ea72012eb6fd82dd647e31cb1dd0c305dbe6aafa8438c53";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/fy-NL/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/fy-NL/thunderbird-102.2.1.tar.bz2";
locale = "fy-NL";
arch = "linux-x86_64";
sha256 = "eb736ed3354635decf682cb1c85f25d160383e0385146825ad2fdfc9523eb99b";
sha256 = "3143c39b7e3aac2d90e6d68e2d1f782a306fdabd69641a4aa31afd02b6cd172f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ga-IE/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ga-IE/thunderbird-102.2.1.tar.bz2";
locale = "ga-IE";
arch = "linux-x86_64";
sha256 = "adf6b52fec4df57e8c53f5209ffb90d2241a17c9d950a108be42b68b7809e849";
sha256 = "db877b69e105c8d14b6ff420448712eafbaf6580a13fd415eb5112930a8633b8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/gd/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/gd/thunderbird-102.2.1.tar.bz2";
locale = "gd";
arch = "linux-x86_64";
sha256 = "6a5d219878914a9b17fef0a18d2f7ab9ca8e44fa05a33af8155117b3a892b222";
sha256 = "3025fcddde35315267b3f0cc9d57696c5462bbe6705fb26b7a1be1eb670ca984";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/gl/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/gl/thunderbird-102.2.1.tar.bz2";
locale = "gl";
arch = "linux-x86_64";
sha256 = "ad32a71cadb1f3abeec0f397d825d839ce268249c7d8737699e86fa4c6db6648";
sha256 = "39469544764d5607d73d3ffc0eafbcd2117072b2af6dba1a4a7ab43c3af2eb75";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/he/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/he/thunderbird-102.2.1.tar.bz2";
locale = "he";
arch = "linux-x86_64";
sha256 = "984652267caed5007b30db4ef72e8b4d5addb84e431b36c9e590ed572e7f6dac";
sha256 = "52c67f10bda950e12822207d41c6b425079d29f0d1d5654bb10b6e1d88751828";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/hr/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/hr/thunderbird-102.2.1.tar.bz2";
locale = "hr";
arch = "linux-x86_64";
sha256 = "10fc94bf9c86a7b93c90e97380694991515d68565f772c6b65fdb3c29b6b366c";
sha256 = "e584a8f724d8e337743f9ad22e637089c5771c082091e221aad55b97541e0c16";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/hsb/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/hsb/thunderbird-102.2.1.tar.bz2";
locale = "hsb";
arch = "linux-x86_64";
sha256 = "421f91a2ad1e4d591223a36df583860a789fc5068af65eb17ec9789306582169";
sha256 = "0304b06dd0f23ca59f85e34e3068cd9ac3275c815e2e2004358540b38cf058c9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/hu/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/hu/thunderbird-102.2.1.tar.bz2";
locale = "hu";
arch = "linux-x86_64";
sha256 = "59bd60b855e74d6a22f30a2f5e1621d7831da9187fb5f87096dd751234a940ab";
sha256 = "ef155776003ddccfe863e920f31b45f673ef445c01556d69b6ed086561a74768";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/hy-AM/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/hy-AM/thunderbird-102.2.1.tar.bz2";
locale = "hy-AM";
arch = "linux-x86_64";
sha256 = "b22473ac123ece7b191198ab989b7e4f8ee3bf1683851c67f42c342a6d16b735";
sha256 = "c65a335777b3cd9ab95b14007a9b6f10304b17c267388889a7f299ea61c44fbf";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/id/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/id/thunderbird-102.2.1.tar.bz2";
locale = "id";
arch = "linux-x86_64";
sha256 = "435bbcfe33fc787646eda7307af038c2ed5958db147c7249d6be231df69b548f";
sha256 = "a407cd50ed7b4fce63b2607632a82c4e9b853b76ba522a564aae219afd0034ed";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/is/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/is/thunderbird-102.2.1.tar.bz2";
locale = "is";
arch = "linux-x86_64";
sha256 = "d650362838f0b764c90bda391f2727abd5360a6ae9449b8f8adb08cfc7c13c10";
sha256 = "6035248bcfde9fea269fa10ff3a87f035e3552b8cf76c10dfc86dd889cc7e958";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/it/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/it/thunderbird-102.2.1.tar.bz2";
locale = "it";
arch = "linux-x86_64";
sha256 = "1b5d6c9624b5e230880a0a6839319b317d19ebeb9ee5b73d9d515273b1e3185f";
sha256 = "afeef80077a18120cff1854d54067ccbc92b30f9c0e75b41067ec1e398340eb9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ja/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ja/thunderbird-102.2.1.tar.bz2";
locale = "ja";
arch = "linux-x86_64";
sha256 = "587b6e71ad34e3f2a6ffb9c0b73397cbb0a237607fc2f984da4ce5123f1ac20c";
sha256 = "1d98a3c50d1aff70bec9ae9335708a85cf4458fbe0ff49db45a57f4d29614de4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ka/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ka/thunderbird-102.2.1.tar.bz2";
locale = "ka";
arch = "linux-x86_64";
sha256 = "7af13df4fa3d598d89b615c059a2aba8667211c84b169f86275ff248c69c42c1";
sha256 = "5c749efe25f328be5f17ba2b2eeda41af0ce69f0f3e9cbc8bb55d58a3990d99a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/kab/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/kab/thunderbird-102.2.1.tar.bz2";
locale = "kab";
arch = "linux-x86_64";
sha256 = "2109b2f25965043b95778b9109371997c380366d7db1a4b6983c19cdd845145b";
sha256 = "93b93383e4bad3b4f930bcbc35d178639a50fd7a30eaac573bc74b895955ec5a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/kk/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/kk/thunderbird-102.2.1.tar.bz2";
locale = "kk";
arch = "linux-x86_64";
sha256 = "4d5571386687c77d108ebd36ba3e2d8ce77dda77f838f78f7f3dfdb7f9be2979";
sha256 = "298e2c42888f29b90fdc6589b6336c5c2261a5331f5d52db89ee5b6618ec120f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ko/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ko/thunderbird-102.2.1.tar.bz2";
locale = "ko";
arch = "linux-x86_64";
sha256 = "9622dfed1f9456bc8619e065d5ec73165f0a6a3a67373804e9a5b2160e53d00f";
sha256 = "75625d041a0193cfd8015174a1eaddd7315f3030258e58828df4b3521863bba8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/lt/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/lt/thunderbird-102.2.1.tar.bz2";
locale = "lt";
arch = "linux-x86_64";
sha256 = "9354e778336ea6fcc6d5fb62b67feaf13891a40331d3c52615207ca8698715bd";
sha256 = "c5705caf0c71efb566a0d1828ec36e940940eeee23d37b9d66246abbb28114bc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/lv/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/lv/thunderbird-102.2.1.tar.bz2";
locale = "lv";
arch = "linux-x86_64";
sha256 = "428caff991e4e683c1584fbf352ee4853c9a615b85b1eeed48e2924bd7322940";
sha256 = "d26ea9198e8d5e9ae5f51fa2456181bd979694d7bc9bcab8f3a82c01233760d6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ms/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ms/thunderbird-102.2.1.tar.bz2";
locale = "ms";
arch = "linux-x86_64";
sha256 = "a2c8de445f99d2d2bfc11a1c3e0dd152e435f57b98dbacdc89116d87ab09af70";
sha256 = "6dca09cd5f9306d102bca42d01607b63e1219324d1107447a728bab8693aeb8b";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/nb-NO/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/nb-NO/thunderbird-102.2.1.tar.bz2";
locale = "nb-NO";
arch = "linux-x86_64";
sha256 = "1d6f5d729f22a7e70034b40f8b9d2e1dbdc19f13847e3a9d188c438b2241d5dd";
sha256 = "8d2a62dd4ccade7544ecfc6a4f88bd354f70089cf161f2fe92aeb9886e6f6411";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/nl/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/nl/thunderbird-102.2.1.tar.bz2";
locale = "nl";
arch = "linux-x86_64";
sha256 = "2ca1bb47a95aa26de1c7d38f73327b0761ed4be71a06cf3ebbc3a4f6e1fdc19c";
sha256 = "b82895cfc2058be4b7818ea17521deb014a17659ddb57c093cbdc26ab3e7f7cb";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/nn-NO/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/nn-NO/thunderbird-102.2.1.tar.bz2";
locale = "nn-NO";
arch = "linux-x86_64";
sha256 = "87ea920192587f9d266bc894903614ededf2e331186dde5b8e034292776ea7e8";
sha256 = "aea319db70387a2f075776fcf07b29e433ca16f898af70689d9cd4ed9d98d52f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/pa-IN/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/pa-IN/thunderbird-102.2.1.tar.bz2";
locale = "pa-IN";
arch = "linux-x86_64";
sha256 = "4173330ea979aa3af5c904a6b061f5b2446b33d0eb86b69768361a200a5c6bf7";
sha256 = "02c366563dd39f64ae11f9377c62434291aaedd951cea43e867a236dcd99dc2d";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/pl/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/pl/thunderbird-102.2.1.tar.bz2";
locale = "pl";
arch = "linux-x86_64";
sha256 = "23a4864083d98587ee47e75fb3f7680bc0f6eac5108223530ea07d7919a90a7c";
sha256 = "5e2b8d486eacda9a8913e0ab60e2c4079d3fb89e827ca1fba871f2b6295c6cbc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/pt-BR/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/pt-BR/thunderbird-102.2.1.tar.bz2";
locale = "pt-BR";
arch = "linux-x86_64";
sha256 = "2d018b23e00810517e2d6ab50977e09f9c2c8cdbf78b49040b047e76e2722266";
sha256 = "83339737a6ff360f1036a5b11b56f6d6648011f0c206a13da2b557aa85f4e2a0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/pt-PT/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/pt-PT/thunderbird-102.2.1.tar.bz2";
locale = "pt-PT";
arch = "linux-x86_64";
sha256 = "80e1f64d4697d7729162b0c63f4540eb9e5b98da162ab4ec0a9841dad7e76b8a";
sha256 = "4950899b2da0a706f39767199ec412e9da2b670bf15c29153244c5eb3a317731";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/rm/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/rm/thunderbird-102.2.1.tar.bz2";
locale = "rm";
arch = "linux-x86_64";
sha256 = "4fc642c5a681d8fd84500452a895172b376b76e0935f7126ac4d1c773003505c";
sha256 = "d9030e30196b03c341b1fd9078447d9baf7542a119617494ea73d11192f194e0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ro/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ro/thunderbird-102.2.1.tar.bz2";
locale = "ro";
arch = "linux-x86_64";
sha256 = "fd333ad0cbe09a6a598f79921548382579cc032ac5ffecf4756da8694ba9ec28";
sha256 = "d3be25f071698102abc71b50d71253326a9201ff9db3e7935afdd27d728985e1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/ru/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/ru/thunderbird-102.2.1.tar.bz2";
locale = "ru";
arch = "linux-x86_64";
sha256 = "4e1858e7baf59ebd38994a21c12d5a490324146d89b493177ab79f9088a69bb3";
sha256 = "f9a520adaca32180b01f18fb9b8280145075248378a4a1fd273c9687733cbf42";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/sk/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sk/thunderbird-102.2.1.tar.bz2";
locale = "sk";
arch = "linux-x86_64";
sha256 = "68fdfcf95a5bd2836622e5863c83529f15037c4676467c9e436aab3c2031a037";
sha256 = "4045843feb9303bc65612d1060f874d21fdf39c0abadc84c84af0017b1fcee32";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/sl/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sl/thunderbird-102.2.1.tar.bz2";
locale = "sl";
arch = "linux-x86_64";
sha256 = "c42bcc5ab3e6ca4a354eb5de7ce5e9560c096a45064329abbd85b0095e9c61ce";
sha256 = "d914ee5a953b4ec651e634d7c2b971987ccb2ebdd130dd3ee4ab3d0cae274f59";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/sq/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sq/thunderbird-102.2.1.tar.bz2";
locale = "sq";
arch = "linux-x86_64";
sha256 = "d352d21bbf1e915c23ed675a1efac5ee9ed7b9b43e90aff571d6846766fb9dd1";
sha256 = "2fd3128af2a55cae9a8adc248afcc9497d602f0d36cb2cd7ff51aaca1b064487";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/sr/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sr/thunderbird-102.2.1.tar.bz2";
locale = "sr";
arch = "linux-x86_64";
sha256 = "f20c4dd96f77e0e804be47265bfb354c0c4930dbcb5593d59471981d437f1ffb";
sha256 = "2c5ffe0a8f4d431c37cb7f39fbd145937839425232aa72e173b88fa49628ded6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/sv-SE/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/sv-SE/thunderbird-102.2.1.tar.bz2";
locale = "sv-SE";
arch = "linux-x86_64";
sha256 = "af90aea4186067856dce2b8d3a81de1ad8a28c4ddd789e871be5453e13a668b1";
sha256 = "e98429f73e6379ebfb2bf98f9396f86025e158543e664b2b219875964dae6e1c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/th/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/th/thunderbird-102.2.1.tar.bz2";
locale = "th";
arch = "linux-x86_64";
sha256 = "763ee3216755967f5a8f27a1083ac4c0c0ca245de6682b946f43130f64194beb";
sha256 = "605a86e6be2eabd0ade653f93fe62e6ae47eb80951fa9c7ab9035d13bc22e52f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/tr/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/tr/thunderbird-102.2.1.tar.bz2";
locale = "tr";
arch = "linux-x86_64";
sha256 = "d70bb634e0e0634ea78dcedb12ed6fa0135662dd98fab804b51ecf20c9367c4a";
sha256 = "51dfa4db80dd7596c24e6a0b67e1196d59b9083de63550862fccb6672535825a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/uk/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/uk/thunderbird-102.2.1.tar.bz2";
locale = "uk";
arch = "linux-x86_64";
sha256 = "6884e6518b12a7d8cd9f0755244ba9faa72457c200e10c6aa16df4351368c563";
sha256 = "a6fcd5719501d801ed0e9f39ac100309945e567d535e6972791ca97c509131fd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/uz/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/uz/thunderbird-102.2.1.tar.bz2";
locale = "uz";
arch = "linux-x86_64";
sha256 = "f4268739d0c85450bf7fdb9c0bc10882c683a890f739b75bd8778f749c2dc529";
sha256 = "e4666827e963fd2180babba2a117425cadff2bf47674e30225ec4f046cde1adf";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/vi/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/vi/thunderbird-102.2.1.tar.bz2";
locale = "vi";
arch = "linux-x86_64";
sha256 = "4c2345b6b8faed2af549015d09f2679ca604f1d0edafb0522d11a822186483da";
sha256 = "67cfdc9bb1753852250aeb523f2f91ec2fdfcab910ca1e38ac61e3922f281ee9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/zh-CN/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/zh-CN/thunderbird-102.2.1.tar.bz2";
locale = "zh-CN";
arch = "linux-x86_64";
sha256 = "e7475977ca163db56081a2c017fca98120d014ddff7ce1f23993161430a0a889";
sha256 = "f2bcca607b71c567f0ba3414e668e033633f05fff7404a1cd321d165172a36b6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-x86_64/zh-TW/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-x86_64/zh-TW/thunderbird-102.2.1.tar.bz2";
locale = "zh-TW";
arch = "linux-x86_64";
sha256 = "5e67c1039028037274f9f2a85d8fbd88a0ba7339132ffbf52fa2632fdd0b3ef0";
sha256 = "e827be51e3af98fd484bb82d387754e5375cb7a5749bd1b8d0401632172165ed";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/af/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/af/thunderbird-102.2.1.tar.bz2";
locale = "af";
arch = "linux-i686";
sha256 = "e1395eac1c8048376e90ad10012063d29c7b8413d65f3bd4862d7b3481227c36";
sha256 = "42e10d674f9bc1220a1ae08f5c20551ceb9030700991681b32df137fb1fbbda6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ar/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ar/thunderbird-102.2.1.tar.bz2";
locale = "ar";
arch = "linux-i686";
sha256 = "0da531cd5c650d41bc04994ae1b2a917a663a69afbf802bc9774efcff6ddc826";
sha256 = "d5a6370d2e20fea976165cc0d84c13832b8ded075fefdc98f21e1ab530dc8624";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ast/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ast/thunderbird-102.2.1.tar.bz2";
locale = "ast";
arch = "linux-i686";
sha256 = "090a6c78576aa8376313edd7324820391832860fd9b91c861a0c08f4c2658715";
sha256 = "19f2ac39f04b47fb2789b0c0df8b9e0634062bcd3f117cf2cf776a39d701ec7e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/be/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/be/thunderbird-102.2.1.tar.bz2";
locale = "be";
arch = "linux-i686";
sha256 = "991ab842e66834aed3f0f841c3eb59262ff67e925706de4ef61b03967dfc8507";
sha256 = "4e007951f445b5c9daf36523535db459e869b50b732a8e82f64b3c0d898c512f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/bg/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/bg/thunderbird-102.2.1.tar.bz2";
locale = "bg";
arch = "linux-i686";
sha256 = "11bcccdb1a7d1b0cee6e46c8645013be8f0372656ebe0e9f4d042950fd77976e";
sha256 = "6430c82f5ebc4daa2fc099d54f0aacc1d680a4c603fe69fe117490d58d9c7af3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/br/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/br/thunderbird-102.2.1.tar.bz2";
locale = "br";
arch = "linux-i686";
sha256 = "0c612c2261997e4def626ce1be51d4ffa405e7ff17ccf31b1abd2e4bf2870540";
sha256 = "84568e1ec4284d1f81cf5f5627de0e19db7a32f57cb621210df27f61178961ea";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ca/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ca/thunderbird-102.2.1.tar.bz2";
locale = "ca";
arch = "linux-i686";
sha256 = "de9db187169c39ad823c0bb2154384ff698d04badc65e4cbd928e1f215d186e3";
sha256 = "496bd038e349d2480c7ca8c05f8ec9ccd93d0e17210cf1ffe8f65c470a2db5ad";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/cak/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/cak/thunderbird-102.2.1.tar.bz2";
locale = "cak";
arch = "linux-i686";
sha256 = "89972257154dc19f08c64bba98f383b67e99712af17df918da0ac047be0ab610";
sha256 = "f1e811a5f1e821ecffb6d4d110f19fe55ef153992cbcf53980fd56c16552f663";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/cs/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/cs/thunderbird-102.2.1.tar.bz2";
locale = "cs";
arch = "linux-i686";
sha256 = "cabce94fec815a9da981ec915cd56662bfaedc881ff9cb8f8247ae4baaa7477b";
sha256 = "6ff1add590d03bb49fab16ead5b549eb32c5767998ecc955c394163ef36d8554";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/cy/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/cy/thunderbird-102.2.1.tar.bz2";
locale = "cy";
arch = "linux-i686";
sha256 = "beb124d16c8fab044d2e33a1d51885a32efeacd489804fdb97f0bc3136d8cdd2";
sha256 = "6605ab434753eda8d9f67eb57d470616e9c3b202978d655738bdd4f478cbfd42";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/da/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/da/thunderbird-102.2.1.tar.bz2";
locale = "da";
arch = "linux-i686";
sha256 = "6792f973b1580fac934ef8848e3ae63dd19f66d874f917d97bb2dc2f157a66a6";
sha256 = "7f60ac0c21c4894dbaacc43e74753e5dd29a768a31167eb3b0ad86c0333c247e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/de/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/de/thunderbird-102.2.1.tar.bz2";
locale = "de";
arch = "linux-i686";
sha256 = "042a2bed47a37c073b3c07ff8afdaea8c76820d41b7ffc443aee4e991e6c877b";
sha256 = "9d9ee8d7d92cbfa94732d915cfd4fd86278ff08225c4099d421f48527c5b279a";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/dsb/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/dsb/thunderbird-102.2.1.tar.bz2";
locale = "dsb";
arch = "linux-i686";
sha256 = "af8b5805f40003de0d44cb136ceaf1e050ac267e5d07b9adee7c74e8e2b5e2e5";
sha256 = "37c2ea9d16be51d4cbd9eff62d0a146681d52caa63e2407e1f0d8d422b7c62de";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/el/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/el/thunderbird-102.2.1.tar.bz2";
locale = "el";
arch = "linux-i686";
sha256 = "42106c5e72dd43d7c370a0809ed3f46409708aec5278d44ce0326d610b56a585";
sha256 = "e3804af2c4a34c8ec6679e7a06449d00416641d17f2d58d15e745b25cac4fb82";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/en-CA/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/en-CA/thunderbird-102.2.1.tar.bz2";
locale = "en-CA";
arch = "linux-i686";
sha256 = "3accbf4e9bdb3f91412ef681fa6f051b0ef157a8011757ccc04d33d825a25676";
sha256 = "6d2dc53467776fc068935a1181c3ec7f6c2ab9c6387ff8c12b4f689b904e9430";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/en-GB/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/en-GB/thunderbird-102.2.1.tar.bz2";
locale = "en-GB";
arch = "linux-i686";
sha256 = "31a419251f58e31317ffb9354a958ebe45c7397b1d4fa4a6359b2b5e73c7eeaf";
sha256 = "f0a2db3262832de3cf5edf4721327538af261a8eaae831337a1f1f732045f1a2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/en-US/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/en-US/thunderbird-102.2.1.tar.bz2";
locale = "en-US";
arch = "linux-i686";
sha256 = "c64e332a907769297ea4fa9261b643b95c061ff71931cba448394811ba5e8009";
sha256 = "04754457bbcd3b037c27cf5c1186ab1224fc01d3b1106c76ca21d26770ff28a1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/es-AR/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/es-AR/thunderbird-102.2.1.tar.bz2";
locale = "es-AR";
arch = "linux-i686";
sha256 = "bef709b48546e812dee7705db58f6fa0b0668c01e82e2a121439553517d0a42e";
sha256 = "9fd407ef93b7c613709312350b5ba520f06c5b0d664e315ef671f85e5af50ac0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/es-ES/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/es-ES/thunderbird-102.2.1.tar.bz2";
locale = "es-ES";
arch = "linux-i686";
sha256 = "24c59cb2779215e468bd1ec1329accc4e4bb276748cf94798aaf87a8240286be";
sha256 = "a3975e3489c8c67374a7ade117a45c85aa42c5379670204571dce0118f7aaf8f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/es-MX/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/es-MX/thunderbird-102.2.1.tar.bz2";
locale = "es-MX";
arch = "linux-i686";
sha256 = "8de5de1c701f8894839fa286b3fdd67fc5e188b1b8d1681186e6e11b8e862096";
sha256 = "857d1f4073ffbfa81a1ad17d219ccde4f8a8b18adc6e3e2f844020be32e1c5a8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/et/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/et/thunderbird-102.2.1.tar.bz2";
locale = "et";
arch = "linux-i686";
sha256 = "4af58f8787ca36a49d7659fed575c18b05d7c54ceb5383911b917c00f45c5311";
sha256 = "37b5f428f5f16dc80736de0c2f23ca24003de5d4639e1500f303b1f4aa664460";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/eu/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/eu/thunderbird-102.2.1.tar.bz2";
locale = "eu";
arch = "linux-i686";
sha256 = "89a3b35a85077d7ba5e85aa7b6fe24c6726a82bc9d5fc794f6b47af543c14e1a";
sha256 = "0e4a8abe3b956d304d79218d63f64b01ef566122d00d025ef69c07f73aa87fec";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/fi/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/fi/thunderbird-102.2.1.tar.bz2";
locale = "fi";
arch = "linux-i686";
sha256 = "04065018c7dc5a686e2aec5c5b46e583695d1d5cbbfc6dcbe4042e004532c05f";
sha256 = "0a3242f6d791ab5f1be52b67d8f95ac8245bc7cf556f9dda814c2827d8f60e40";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/fr/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/fr/thunderbird-102.2.1.tar.bz2";
locale = "fr";
arch = "linux-i686";
sha256 = "13293388059f55f039e9326dbd6f303e06b9f0ab3acc307a577334be2c98d900";
sha256 = "32c67c444bbe3d920aa4c30226fdbf469d5caba7a066b3d84270d0f9e0daabe5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/fy-NL/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/fy-NL/thunderbird-102.2.1.tar.bz2";
locale = "fy-NL";
arch = "linux-i686";
sha256 = "1a20599ae1eed1a15db7773bb8493c9b2c6d8462c26def64704a4a3c2bd66d89";
sha256 = "0405585c63321c44f3f459356db4bbd0cf73cccf7ae6c8684b13152e3aa3b7f3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ga-IE/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ga-IE/thunderbird-102.2.1.tar.bz2";
locale = "ga-IE";
arch = "linux-i686";
sha256 = "1cdd88f46f2a1a100124a9409f50b6a860504bae94b5c4d3032320ec8d9b12be";
sha256 = "54e4e55b3339d6436591d8967de6c1cffab94da38d064df6fc0d8b85c4475d84";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/gd/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/gd/thunderbird-102.2.1.tar.bz2";
locale = "gd";
arch = "linux-i686";
sha256 = "fa0e81fc06902fdb977d5fcd0fba76b462e80e507f7ad740f59523e4cda499fc";
sha256 = "46130971e0b49bb45c6895d7cf9ec890d7f95fda6479bba38cf180d36e4c4eb7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/gl/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/gl/thunderbird-102.2.1.tar.bz2";
locale = "gl";
arch = "linux-i686";
sha256 = "eb7f9c93a58f341c5e6f48527a1c8fd68a5018e4d3a79410aeaa7ac2c92a6081";
sha256 = "6e0ae14bb163b5a10c58cbdd49793e69d9d5042b0045f40be4c595781ad84c92";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/he/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/he/thunderbird-102.2.1.tar.bz2";
locale = "he";
arch = "linux-i686";
sha256 = "88c9fc856f27559b2e87b4c5aaa6be4afa049d1f415bb5f2f8d82828de12d47c";
sha256 = "6d353e9ec5a72366b991854aea9163385ab902c812690c0161790c882343e5a4";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/hr/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/hr/thunderbird-102.2.1.tar.bz2";
locale = "hr";
arch = "linux-i686";
sha256 = "ee1d57da19764898fda8867442ae3600d2e9c34a19db1eb9f61dd757802e15ab";
sha256 = "a05a828b434cb2677b1d3c9f317d5448db003c1373edbb84d1822182a93d3e7c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/hsb/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/hsb/thunderbird-102.2.1.tar.bz2";
locale = "hsb";
arch = "linux-i686";
sha256 = "afee806f7cf3f31b9711be299ae9ce85a71fd896fcffaf1e2b7373fa5d8fd4d5";
sha256 = "4573f6938c41160f1d4c79be035f24426bc83d9440b36ca269004b729a5564e2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/hu/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/hu/thunderbird-102.2.1.tar.bz2";
locale = "hu";
arch = "linux-i686";
sha256 = "ce3c7e6117646c3f47cff9fa86cfdaad2eab2a4b2e447a00e58c031931fc22f3";
sha256 = "727246ee523554d64ff72611d353aead8c8b79e8f55cf187b3fb3d9f442a947e";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/hy-AM/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/hy-AM/thunderbird-102.2.1.tar.bz2";
locale = "hy-AM";
arch = "linux-i686";
sha256 = "2b1e51d05939e5fa5940d2b13b6d88cca27036bf5b16c4269bd07f9296befdf0";
sha256 = "467c8af9d3cfdbd18ea04214369b9d262c9d925a171a2f56548af00ec85a3611";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/id/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/id/thunderbird-102.2.1.tar.bz2";
locale = "id";
arch = "linux-i686";
sha256 = "f0924b16cb34d52abd11b12023fd16de3655d19a6e2396dc213245beefae0812";
sha256 = "4177b047863412c9ef91d8552440b7fa1f848b8675cc55b881a4cc5fdb157303";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/is/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/is/thunderbird-102.2.1.tar.bz2";
locale = "is";
arch = "linux-i686";
sha256 = "00d302b3e8e7061b4953c716af844a04df0fee265a320eb8ddb10af8885746f0";
sha256 = "cb8cc7838fe3c4182d887c711c636b66d017b1854a2fadbb0f6e862a54a66d40";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/it/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/it/thunderbird-102.2.1.tar.bz2";
locale = "it";
arch = "linux-i686";
sha256 = "8c57f5ced863464faa061b12bca9b7ebc21e1e2d0c65e3399565cd7efdd98a38";
sha256 = "9e9214820e407c0067cf60a3b360e8f5a608225a41708a0fd25d00fb91e46d00";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ja/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ja/thunderbird-102.2.1.tar.bz2";
locale = "ja";
arch = "linux-i686";
sha256 = "e4c9d5ced11c04791323f9a6f2ec7972e37b59a5de8b9cb80601acee2b084c31";
sha256 = "ffa126f9b4a25165163df6eca65299c553b087fc2313f6dd1c7b266d41a1769f";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ka/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ka/thunderbird-102.2.1.tar.bz2";
locale = "ka";
arch = "linux-i686";
sha256 = "6f141c07c58f04aa1a321c0c7b141b4b4b816e5930a9d399e3adadd9a0250a2d";
sha256 = "563eb58790172bf3a037f5828786dfb7624e3f03b81c1a57a4126f102e9572f8";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/kab/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/kab/thunderbird-102.2.1.tar.bz2";
locale = "kab";
arch = "linux-i686";
sha256 = "0549fe744c9d65656b333053061eaab75a2feceea8442c5a6968d0c9b6f50df3";
sha256 = "c79ff5505434a23ef88c2b1aadd9e70562ad9ea77fdb379169e3495725cad1a3";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/kk/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/kk/thunderbird-102.2.1.tar.bz2";
locale = "kk";
arch = "linux-i686";
sha256 = "ba5cce04a893d45788e3e350f1f0860aa13af28f789e9119fd7ac769a54ee52b";
sha256 = "bfc4037fa631727d454c5b22af1e8861b436c40aa2bafda007221e5d5a813dd7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ko/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ko/thunderbird-102.2.1.tar.bz2";
locale = "ko";
arch = "linux-i686";
sha256 = "5bd950922fca96ea24a33c1796912f347cd5d1868c0064e1881813dc01b65f55";
sha256 = "386921200c4b6544407994c5d1d73a3671a383f1e5b69d5f34b7a8ec727bc646";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/lt/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/lt/thunderbird-102.2.1.tar.bz2";
locale = "lt";
arch = "linux-i686";
sha256 = "78050a52770641145c0e3dfed35e83e2b384ff2b7bb271458fd5444e2077f5af";
sha256 = "2027b59fc1a8f11dbc8ce693296a26604e9ba579e34df02e9f0c8243eda38e94";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/lv/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/lv/thunderbird-102.2.1.tar.bz2";
locale = "lv";
arch = "linux-i686";
sha256 = "746cb7995683cbc64a93bd5562eb537f1449b0f4b7c4818e786f4083c190eff0";
sha256 = "a5179ee6caa6847b36e9494e09d3c233beb9bb8651c586b11ce160b054e12d73";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ms/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ms/thunderbird-102.2.1.tar.bz2";
locale = "ms";
arch = "linux-i686";
sha256 = "4c6927646e16ae85fc4522d784886c377ab11b6d0c016899af0a41f54b611e59";
sha256 = "6d1f11d137da476fe7dbe04e7d5692c5dc81931d30e116217083ad187fdc37cc";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/nb-NO/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/nb-NO/thunderbird-102.2.1.tar.bz2";
locale = "nb-NO";
arch = "linux-i686";
sha256 = "df8a53f2e992e7113e53f42aa854ed71bbe9cde213e337eb87a051c92ce038f2";
sha256 = "d7a50f3f8734d249e565cbf1078627fb0e3cfa42f293574127bd2fa549652be9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/nl/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/nl/thunderbird-102.2.1.tar.bz2";
locale = "nl";
arch = "linux-i686";
sha256 = "4e3b4060d0672cec8ddd0f0f7fc5f472c74ef4dbe2fa3f321ec1a2d83f5da5b1";
sha256 = "8962f690d105d4589df0279770b63f0b90485cb499f86e953393dd4116a87b2c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/nn-NO/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/nn-NO/thunderbird-102.2.1.tar.bz2";
locale = "nn-NO";
arch = "linux-i686";
sha256 = "bdee6b2564fbe0c27f8f73b12f0d098c880d9620aaab4a0ac4a45843c3d3cb31";
sha256 = "d0b940decdc8d77a0a6371ded16c551d8ce081134c4bb7d795adde39c5844254";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/pa-IN/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/pa-IN/thunderbird-102.2.1.tar.bz2";
locale = "pa-IN";
arch = "linux-i686";
sha256 = "d1b4977be649dc8ce14e2d1718a7e4848e2b779ab590a73d9ab9cbb93f367fe8";
sha256 = "dd5a2d9b78085786039ca20ef88f991285ff7b59ce47857b7d81bc74faa6ec54";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/pl/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/pl/thunderbird-102.2.1.tar.bz2";
locale = "pl";
arch = "linux-i686";
sha256 = "d525db6addbce4a8184b41979762f059f1ab320689dccf2d05ebbe21605bc5a4";
sha256 = "9da17d31bbacc006c2a9530d42d864ea56c9cf5b84a73d03add270bc275543b0";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/pt-BR/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/pt-BR/thunderbird-102.2.1.tar.bz2";
locale = "pt-BR";
arch = "linux-i686";
sha256 = "2fb7e81228bf937da77e9c6f3b31d6fc997963747d9c350f49061bde7a45bb8f";
sha256 = "81fee2a7ba6a2b0b8607e412324b2eebd1dc3f28194dc7de1efa5af9f1fa23a6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/pt-PT/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/pt-PT/thunderbird-102.2.1.tar.bz2";
locale = "pt-PT";
arch = "linux-i686";
sha256 = "5668d31d58bf0e127b1469a8e06751ba19cfcda76cd1cc98d02018de4165bc76";
sha256 = "82e354e1642b8018c0a6f2ccc3d3d38f3a7aa39333a30d9a6ea7c6c52df6d6f5";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/rm/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/rm/thunderbird-102.2.1.tar.bz2";
locale = "rm";
arch = "linux-i686";
sha256 = "904d413f3a07ef047d125a5a9395b87ef5a7babddab14ca813581861450531e4";
sha256 = "d7fa26de70531e74931892a78a5148f95df92d29a94e7ce5aeef11168c1069ce";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ro/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ro/thunderbird-102.2.1.tar.bz2";
locale = "ro";
arch = "linux-i686";
sha256 = "e19bb49a4a542028d8457d00dce350644843795350787aa6f08c95bc74437113";
sha256 = "c4392159cabd3cf19b575d8a0598b0d52a1f9fb993234d1170240c6c6a5e4fa6";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/ru/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/ru/thunderbird-102.2.1.tar.bz2";
locale = "ru";
arch = "linux-i686";
sha256 = "95ba91fba53940a4966a6a7cb844498e2923b4b0ca7cf51c6e2b41f30f91b3f6";
sha256 = "ac3d6fc7b555298ae05cb3b0fef2b6264ff11a5961f5e044664022e80bb9ae34";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/sk/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sk/thunderbird-102.2.1.tar.bz2";
locale = "sk";
arch = "linux-i686";
sha256 = "ea321124434fac1d6ba5266d2e8b4abd1038e5447a6bc0cd44542eff4bdc4ce2";
sha256 = "41cc5938d5b64508bcc095ddfbe3eef3cde3dd88a8f145ed279bf825785fde50";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/sl/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sl/thunderbird-102.2.1.tar.bz2";
locale = "sl";
arch = "linux-i686";
sha256 = "6921a1590a1369eadd5f064aa5cf395fc162dde32ff0b61dc55d49a9e67807d0";
sha256 = "f8fb013b2705ce34749d1470e799d47c09b5ba94a9580a5e2d12be8b660c58c7";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/sq/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sq/thunderbird-102.2.1.tar.bz2";
locale = "sq";
arch = "linux-i686";
sha256 = "c91a7703064f9c17c1e95b25cb4f669f95efe54b174e530bc2776d870c5225cc";
sha256 = "dc7407c4cb28070693b7862bc29b465a4d96c473b5b4f553d238390c694804a1";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/sr/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sr/thunderbird-102.2.1.tar.bz2";
locale = "sr";
arch = "linux-i686";
sha256 = "ad7d6a645e7ee883f1ae0cad11f4be146f97953d93e0deaefb6e890734a95cbb";
sha256 = "640731bbc689acb4874bc0f439f34213e30812bafae3ef94471945b13ae27243";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/sv-SE/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/sv-SE/thunderbird-102.2.1.tar.bz2";
locale = "sv-SE";
arch = "linux-i686";
sha256 = "a9571d48f8cd48bc7a28fd8f6e1159ed808f316ac8e3e4a5bfaf6ce34f79fef5";
sha256 = "6d71d4ffa6393bc997566dc604992c093c24bd3a978b947704f82f03893fccfd";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/th/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/th/thunderbird-102.2.1.tar.bz2";
locale = "th";
arch = "linux-i686";
sha256 = "ff826f5422e47661edda7c6a9cf6ece9118134bcd5db44a77e64baf36d42d03a";
sha256 = "faecaf65b8737dc63d2ea469ba1181c1e0a71c334baf29c8677730faecffb57c";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/tr/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/tr/thunderbird-102.2.1.tar.bz2";
locale = "tr";
arch = "linux-i686";
sha256 = "4b2195603362dca61f2134055642a803362fd778df64bc3cc886233387b0dacb";
sha256 = "c6401dfca452996547b3f33dead4690f9e376313920ef7880774c8a3e556b213";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/uk/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/uk/thunderbird-102.2.1.tar.bz2";
locale = "uk";
arch = "linux-i686";
sha256 = "ebe0d31a0eaa084d2c34a09951bc3be9dcbdc0b70e4c445a604da10972c9dac1";
sha256 = "05fc335e16ad0c28a59a6ba51566161f92c0053b12b0ec56409e62eaf77fa2b2";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/uz/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/uz/thunderbird-102.2.1.tar.bz2";
locale = "uz";
arch = "linux-i686";
sha256 = "4b4333b4f3fd335cc8dd46b2c180cee40ab259f94d4b1d483b8e065efe5ff05c";
sha256 = "5690ad8156e70dba56ed7664f99ac335409e88f5fc0d05be530774fdeedd20ee";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/vi/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/vi/thunderbird-102.2.1.tar.bz2";
locale = "vi";
arch = "linux-i686";
sha256 = "ea5916ae8265ddc6f25305f902de24bec8cd4bbe81f8710689fd53e2c0833894";
sha256 = "41cb6da3b59cfa31ebf28e67f93349977dcd640df5491fa451f19bc0670aa2d9";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/zh-CN/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/zh-CN/thunderbird-102.2.1.tar.bz2";
locale = "zh-CN";
arch = "linux-i686";
sha256 = "2e159880fcc061eae67c7a166a6deef10e9d277f00e19fbf9ee00ad46e63cb3a";
sha256 = "79f9f7e1620efa56ab2a8f3a1d1aea91cf82a0c12b6f0bbac01bbd5fdc6b3c63";
}
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.0/linux-i686/zh-TW/thunderbird-102.2.0.tar.bz2";
{ url = "http://archive.mozilla.org/pub/thunderbird/releases/102.2.1/linux-i686/zh-TW/thunderbird-102.2.1.tar.bz2";
locale = "zh-TW";
arch = "linux-i686";
sha256 = "26d10a147f3dc0f40a83a1c7a9ea84862a36c85f4a5ff4c36578814ed7f8ebbb";
sha256 = "763790430eff0c8689cb045e30920b1c0fe239a324ce739b153f8a16ccb07b25";
}
];
}
@@ -39,13 +39,13 @@ rec {
};
thunderbird-102 = (buildMozillaMach rec {
pname = "thunderbird";
version = "102.2.0";
version = "102.2.1";
application = "comm/mail";
applicationName = "Mozilla Thunderbird";
binaryName = pname;
src = fetchurl {
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
sha512 = "a9ca311e3c55c8703aaecfe30f8a8040a16acc445530f7462baeaaf941f7221e60b66b0894ea0b3c0eb83ccc882706674cfa319ae93557405946ffffb1f6b5dc";
sha512 = "7b69cfffb5de56690cbbd97f6b627733072dee498a15adfece990f9019df8df948762ce8eb2ca2d91ef12ff56262fb1905476d8a477aed70bc71cd2f9f986ea4";
};
extraPatches = [
# The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "nvc";
version = "1.7.0";
version = "1.7.1";
src = fetchFromGitHub {
owner = "nickg";
repo = pname;
rev = "r${version}";
sha256 = "sha256-U9VxpHzrAQPMqnSs0YcEnc9dlQUutTuZCJP5F1v7eaA=";
sha256 = "sha256-OcRwhhX93E8LHUeFzgjGxw6OANACOUJmY4i0JKjtHfI=";
};
nativeBuildInputs = [
@@ -84,6 +84,10 @@ let common = { version, sha256, patches ? [ ] }:
};
in
{
z3_4_11 = common {
version = "4.11.0";
sha256 = "sha256-ItmtZHDhCeLAVtN7K80dqyAh20o7TM4xk2sTb9QgHvk=";
};
z3_4_8 = common {
version = "4.8.15";
sha256 = "0xkwqz0y5d1lfb6kfqy8wn8n2dqalzf4c8ghmjsajc1bpdl70yc5";
@@ -0,0 +1,29 @@
{ lib
, python3
, fetchFromGitHub
}:
python3.pkgs.buildPythonPackage rec {
pname = "mov-cli";
version = "unstable-2022-06-30";
src = fetchFromGitHub {
owner = "mov-cli";
repo = "mov-cli";
rev = "b89e807e8ffc830b0b18c8e98712441c03774b8e";
sha256 = "sha256-D+OeXcLdkbG4ASbPQYIWf7J1CRZ9jH3UXxfTL4WleY0=";
};
propagatedBuildInputs = with python3.pkgs; [ setuptools httpx click beautifulsoup4 colorama ];
postPatch = ''
substituteInPlace setup.py --replace "bs4" "beautifulsoup4"
'';
meta = with lib; {
homepage = "https://github.com/mov-cli/mov-cli";
description = "A cli tool to browse and watch movies";
license = licenses.gpl3Only;
maintainers = with maintainers; [ baitinq ];
};
}
@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "obs-gstreamer";
version = "0.3.4";
version = "0.3.5";
src = fetchFromGitHub {
owner = "fzwoch";
repo = "obs-gstreamer";
rev = "v${version}";
hash = "sha256-CDtWe4bx1M06nfqvVmIZaLQoKAsXFnG0Xy/mhiSbMgU=";
hash = "sha256-zP1MMoXLp+gp0fjVbWi/Wse6I8u9/K2IeSew3OjkCkE=";
};
nativeBuildInputs = [ pkg-config meson ninja ];
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "nixpacks";
version = "0.3.8";
version = "0.3.12";
src = fetchFromGitHub {
owner = "railwayapp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Fzj22vGW4qLXSw5lICxVbiVFxYYvkarVLLHT+DdLVRk=";
sha256 = "sha256-wzbyBofWYXkOx+kNAmo9lDQdfkYLndh+Pw09+bxNqbU=";
};
cargoSha256 = "sha256-v3LNadq3E08Z+LfRSGQxG1HPgYWBQ8K/44LOrjgrsy0=";
cargoSha256 = "sha256-0KMs4YeWMj4Wz+iIVQ5XEwswVRs0q5Vibcy5fFNbH04=";
# skip test due FHS dependency
doCheck = false;
@@ -0,0 +1,33 @@
{ lib, stdenvNoCC, fetchFromGitHub, python3 }:
stdenvNoCC.mkDerivation rec {
pname = "ovmfvartool";
version = "unstable-2021-06-16";
src = fetchFromGitHub {
owner = "hlandau";
repo = pname;
rev = "c4c0c24dce1d201f95dfd69fd7fd9d51ea301377";
hash = "sha256-3OvYAB41apPn1c2YTKBIEITmHSUMQ0oEijY5DhZWWGo=";
};
postPatch = let
pythonPkg = python3.withPackages (p: with p; [ pyyaml ]);
in ''
# needed in build but /usr/bin/env is not available in sandbox
substituteInPlace ovmfvartool \
--replace "/usr/bin/env python3" "${pythonPkg.interpreter}"
'';
installPhase = ''
mkdir -p $out/bin
install -m 755 ovmfvartool $out/bin/
'';
meta = with lib; {
description = "Parse and generate OVMF_VARS.fd from Yaml";
homepage = "https://github.com/hlandau/ovmfvartool";
license = licenses.gpl3;
maintainers = with maintainers; [ baloo raitobezarius ];
};
}
@@ -41,11 +41,11 @@ stdenv.mkDerivation rec {
+ lib.optionalString xenSupport "-xen"
+ lib.optionalString hostCpuOnly "-host-cpu-only"
+ lib.optionalString nixosTestRunner "-for-vm-tests";
version = "7.0.0";
version = "7.1.0";
src = fetchurl {
url= "https://download.qemu.org/qemu-${version}.tar.xz";
sha256 = "sha256-9rN1x5UfcoQCeYsLqrsthkeMpT1Eztvvq74cRr9G+Dk=";
url = "https://download.qemu.org/qemu-${version}.tar.xz";
sha256 = "1rmvrgqjhrvcmchnz170dxvrrf14n6nm39y8ivrprmfydd9lwqx0";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -109,44 +109,6 @@ stdenv.mkDerivation rec {
sha256 = "sha256-oC+bRjEHixv1QEFO9XAm4HHOwoiT+NkhknKGPydnZ5E=";
revert = true;
})
# make nixos tests that boot from USB more stable
# https://lists.nongnu.org/archive/html/qemu-devel/2022-05/msg01484.html
(fetchpatch {
url = "https://gitlab.com/raboof/qemu/-/commit/3fb5e8fe4434130b1167a995b2a01c077cca2cd5.patch";
sha256 = "sha256-evzrN3i4ntc/AFG0C0rezQpQbWcnx74nXO+5DLErX8o=";
})
# fix 9p on macOS host, landed in master
(fetchpatch {
name = "fix-9p-on-macos.patch";
url = "https://gitlab.com/qemu/qemu/-/commit/f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65.patch";
sha256 = "sha256-8i13wU135h+YxoXFtkXweBN3hMslpWoNoeQ7Ydmn3V4=";
})
(fetchpatch {
name = "CVE-2022-35414.patch";
url = "https://gitlab.com/qemu-project/qemu/-/commit/418ade7849ce7641c0f7333718caf5091a02fd4c.patch";
sha256 = "sha256-zQHDXedIXZBnabv4+3TA4z5mY1+KZiPmqUbhaSkGLgA=";
})
# needed for CVE-2022-0216's test to pass
(fetchpatch {
name = "fuzz-tests-x86-only.patch";
url = "https://gitlab.com/qemu-project/qemu/-/commit/b911c30c566dee48a27bc1bfa1ee6df3a729cbbb.patch";
sha256 = "sha256-RXKRmZo25yZ1VuBtBA+BsY8as9kIcACqE6aEYmIm9KQ=";
})
(fetchpatch {
name = "CVE-2022-0216.part-1.patch";
url = "https://gitlab.com/qemu-project/qemu/-/commit/6c8fa961da5e60f574bb52fd3ad44b1e9e8ad4b8.patch";
sha256 = "sha256-0z0zVPBVXFSU8qEV0Ea2+rDxyikMyitlDM0jZOLLC6s=";
})
(fetchpatch {
name = "CVE-2022-0216.part-2.patch";
url = "https://gitlab.com/qemu-project/qemu/-/commit/4367a20cc442c56b05611b4224de9a61908f9eac.patch";
sha256 = "sha256-hpNu4Zjw1dIbT6Vt57cayHE1Elaltp0a/bsKlDY0Qr8=";
})
(fetchpatch {
name = "CVE-2020-14394.patch";
url = "https://gitlab.com/qemu-project/qemu/-/commit/effaf5a240e03020f4ae953e10b764622c3e87cc.patch";
sha256 = "sha256-NobsIxRC+xlyj8d/oD4mqgXAGX37pfww/PQQuKhrTzc=";
})
]
++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch;
@@ -1,16 +1,17 @@
diff -Naur a/qga/commands-posix.c b/qga/commands-posix.c
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -109,6 +109,8 @@
reopen_fd_to_null(1);
reopen_fd_to_null(2);
+ execle("/run/current-system/sw/bin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
+ "hypervisor initiated shutdown", (char*)NULL, environ);
execle("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
"hypervisor initiated shutdown", (char*)NULL, environ);
_exit(EXIT_FAILURE);
@@ -157,11 +159,13 @@
diff --git i/qga/commands-posix.c w/qga/commands-posix.c
index 954efed01b..39c4b916ce 100644
--- i/qga/commands-posix.c
+++ w/qga/commands-posix.c
@@ -123,6 +123,8 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
execl("/sbin/shutdown", "shutdown", shutdown_flag, "-g0", "-y",
"hypervisor initiated shutdown", (char *)NULL);
#else
+ execl("/run/current-system/sw/bin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
+ "hypervisor initiated shutdown", (char *)NULL);
execl("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
"hypervisor initiated shutdown", (char *)NULL);
#endif
@@ -158,11 +160,13 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
pid_t pid;
Error *local_err = NULL;
struct timeval tv;
@@ -25,12 +26,11 @@ diff -Naur a/qga/commands-posix.c b/qga/commands-posix.c
}
if (!hwclock_available) {
@@ -207,6 +211,8 @@
@@ -208,6 +212,7 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
/* Use '/sbin/hwclock -w' to set RTC from the system time,
* or '/sbin/hwclock -s' to set the system time from RTC. */
+ execle(hwclock_path_nix, "hwclock", has_time ? "-w" : "-s",
+ NULL, environ);
execle(hwclock_path, "hwclock", has_time ? "-w" : "-s",
NULL, environ);
+ execl(hwclock_path_nix, "hwclock", has_time ? "-w" : "-s", NULL);
execl(hwclock_path, "hwclock", has_time ? "-w" : "-s", NULL);
_exit(EXIT_FAILURE);
} else if (pid < 0) {
@@ -1,4 +1,4 @@
From 19b0952b36b6b5c4bd2665cc0bd4e55a85f81b55 Mon Sep 17 00:00:00 2001
From 756021d1e433925cf9a732d7ea67b01b0beb061c Mon Sep 17 00:00:00 2001
From: Will Cohen <willcohen@users.noreply.github.com>
Date: Tue, 29 Mar 2022 14:00:56 -0400
Subject: [PATCH] Revert "ui/cocoa: Add clipboard support"
@@ -7,8 +7,8 @@ This reverts commit 7e3e20d89129614f4a7b2451fe321cc6ccca3b76.
---
include/ui/clipboard.h | 2 +-
ui/clipboard.c | 2 +-
ui/cocoa.m | 121 -----------------------------------------
3 files changed, 2 insertions(+), 123 deletions(-)
ui/cocoa.m | 123 -----------------------------------------
3 files changed, 2 insertions(+), 125 deletions(-)
diff --git a/include/ui/clipboard.h b/include/ui/clipboard.h
index ce76aa451f..c4e1dc4ff4 100644
@@ -37,18 +37,18 @@ index 9079ef829b..6b9ed59e1b 100644
{
if (!info ||
diff --git a/ui/cocoa.m b/ui/cocoa.m
index c4e5468f9e..cd3bdf0cec 100644
index 5a8bd5dd84..79ed6d043f 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -28,7 +28,6 @@
#include <crt_externs.h>
@@ -29,7 +29,6 @@
#include "qemu-common.h"
#include "qemu/help-texts.h"
#include "qemu-main.h"
-#include "ui/clipboard.h"
#include "ui/console.h"
#include "ui/input.h"
#include "ui/kbd-state.h"
@@ -107,10 +106,6 @@ static void cocoa_switch(DisplayChangeListener *dcl,
@@ -109,10 +108,6 @@ static void cocoa_switch(DisplayChangeListener *dcl,
static QemuSemaphore app_started_sem;
static bool allow_events;
@@ -59,7 +59,7 @@ index c4e5468f9e..cd3bdf0cec 100644
// Utility functions to run specified code block with iothread lock held
typedef void (^CodeBlock)(void);
typedef bool (^BoolCodeBlock)(void);
@@ -1805,105 +1800,6 @@ static void addRemovableDevicesMenuItems(void)
@@ -1815,107 +1810,6 @@ static void addRemovableDevicesMenuItems(void)
qapi_free_BlockInfoList(pointerToFree);
}
@@ -146,16 +146,18 @@ index c4e5468f9e..cd3bdf0cec 100644
-static void cocoa_clipboard_request(QemuClipboardInfo *info,
- QemuClipboardType type)
-{
- NSAutoreleasePool *pool;
- NSData *text;
-
- switch (type) {
- case QEMU_CLIPBOARD_TYPE_TEXT:
- pool = [[NSAutoreleasePool alloc] init];
- text = [[NSPasteboard generalPasteboard] dataForType:NSPasteboardTypeString];
- if (text) {
- qemu_clipboard_set_data(&cbpeer, info, type,
- [text length], [text bytes], true);
- [text release];
- }
- [pool release];
- break;
- default:
- break;
@@ -165,7 +167,7 @@ index c4e5468f9e..cd3bdf0cec 100644
/*
* The startup process for the OSX/Cocoa UI is complicated, because
* OSX insists that the UI runs on the initial main thread, and so we
@@ -1938,7 +1834,6 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info,
@@ -1950,7 +1844,6 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info,
COCOA_DEBUG("Second thread: calling qemu_main()\n");
status = qemu_main(gArgc, gArgv, *_NSGetEnviron());
COCOA_DEBUG("Second thread: qemu_main() returned, exiting\n");
@@ -173,7 +175,7 @@ index c4e5468f9e..cd3bdf0cec 100644
exit(status);
}
@@ -2054,18 +1949,6 @@ static void cocoa_refresh(DisplayChangeListener *dcl)
@@ -2066,18 +1959,6 @@ static void cocoa_refresh(DisplayChangeListener *dcl)
[cocoaView setAbsoluteEnabled:YES];
});
}
@@ -192,7 +194,7 @@ index c4e5468f9e..cd3bdf0cec 100644
[pool release];
}
@@ -2105,10 +1988,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
@@ -2117,10 +1998,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
// register vga output callbacks
register_displaychangelistener(&dcl);
@@ -84,6 +84,11 @@ stdenv.mkDerivation rec {
postPatch =
''
patchShebangs .
# Disable tests that rely on objdump whitespace until fixed upstream:
# https://issues.dlang.org/show_bug.cgi?id=23317
rm dmd/test/runnable/cdvecfill.sh
rm dmd/test/compilable/cdcmp.d
''
# This one has tested against a hardcoded year, then against a current year on
+15 -17
View File
@@ -1,28 +1,26 @@
{ lib, stdenv, fetchurl, fetchpatch }:
{ lib
, stdenv
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "mcpp";
version = "2.7.2";
version = "2.7.2.1";
src = fetchurl {
url = "mirror://sourceforge/mcpp/mcpp-${version}.tar.gz";
sha256 = "0r48rfghjm90pkdyr4khxg783g9v98rdx2n69xn8f6c5i0hl96rv";
src = fetchFromGitHub {
owner = "museoa";
repo = "mcpp";
rev = finalAttrs.version;
hash= "sha256-T4feegblOeG+NU+c+PAobf8HT8KDSfcINkRAa1hNpkY=";
};
configureFlags = [ "--enable-mcpplib" ];
patches = [
(fetchpatch {
name = "CVE-2019-14274.patch";
url = "https://github.com/h8liu/mcpp/commit/ea453aca2742be6ac43ba4ce0da6f938a7e5a5d8.patch";
sha256 = "0svkdr3w9b45v6scgzvggw9nsh6a3k7g19fqk0w3vlckwmk5ydzr";
})
];
meta = with lib; {
homepage = "http://mcpp.sourceforge.net/";
description = "A portable c preprocessor";
homepage = "https://github.com/museoa/mcpp";
description = "Matsui's C preprocessor";
license = licenses.bsd2;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}
})
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "ecpdap";
version = "0.1.7";
version = "0.1.8";
src = fetchFromGitHub {
owner = "adamgreig";
repo = pname;
rev = "v${version}";
sha256 = "sha256-fdvpGmEy54i48H6YJ4E1LIuogimNEL8PJS5ScoW/6DM=";
sha256 = "sha256-KXfEQnbhUUKsCDKhPBjwjF9eJMuiCx5o7gOSzyWv36s=";
};
cargoSha256 = "sha256-2YARNoHVDBwGr8FE/oRlNZMX/vCPIre7OnZbr04eF/M=";
cargoSha256 = "sha256-BEfsNSzrdV/tnzWk4oOwchOupW6PzZ8TEx7zUzwLBV8=";
nativeBuildInputs = [ pkg-config ];
+6 -1
View File
@@ -33,7 +33,7 @@ let
fmt (formerly cppformat) is an open-source formatting library. It can be
used as a fast and safe alternative to printf and IOStreams.
'';
homepage = "http://fmtlib.net/";
homepage = "https://fmt.dev/";
downloadPage = "https://github.com/fmtlib/fmt/";
maintainers = [ maintainers.jdehaas ];
license = licenses.mit;
@@ -51,4 +51,9 @@ in
version = "8.1.1";
sha256 = "sha256-leb2800CwdZMJRWF5b1Y9ocK0jXpOX/nwo95icDf308=";
};
fmt_9 = generic {
version = "9.0.0";
sha256 = "sha256-nwlAzMkY1JdhLtes48VaNH9LS7GzqtPCwk2dZA/bGmQ=";
};
}
+2 -2
View File
@@ -22,13 +22,13 @@
stdenv.mkDerivation rec {
pname = "folly";
version = "2022.08.22.00";
version = "2022.08.29.00";
src = fetchFromGitHub {
owner = "facebook";
repo = "folly";
rev = "v${version}";
sha256 = "sha256-Cj8JK3uoObt1G8kd2y4KxS88WwLPthdBvPcLi1C24aQ=";
sha256 = "sha256-OALOfjr9qEqr8dbL9G8USKImU+hDP8iDfJijzT6KPLM=";
};
nativeBuildInputs = [
+1 -1
View File
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
homepage = "http://fox-toolkit.org";
license = licenses.lgpl3;
maintainers = [];
broken = stdenv.isDarwin;
broken = stdenv.isDarwin && stdenv.isAarch64;
platforms = platforms.all;
};
}
-1
View File
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
preConfigure = "patchShebangs configure";
meta = with lib; {
broken = stdenv.isDarwin;
license = licenses.mit;
homepage = "https://www.gecode.org";
description = "Toolkit for developing constraint-based systems";
+2 -2
View File
@@ -21,7 +21,7 @@
stdenv.mkDerivation rec {
pname = "grpc";
version = "1.48.0"; # N.B: if you change this, please update:
version = "1.48.1"; # N.B: if you change this, please update:
# pythonPackages.grpcio-tools
# pythonPackages.grpcio-status
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
owner = "grpc";
repo = "grpc";
rev = "v${version}";
hash = "sha256-cR+K3po/9XpYWe+sRXGwzvNAPChrWzYu5D4ygBTKKIQ=";
hash = "sha256-It9oFenKoPDCOVxiKCGJc8i18zdDZCceR22HR5Tu1sw=";
fetchSubmodules = true;
};
+3 -4
View File
@@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, makeWrapper
, perlPackages, libxml2, libiconv }:
, perlPackages, libxml2, libintl }:
stdenv.mkDerivation rec {
pname = "hivex";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
libxml2
]
++ (with perlPackages; [ perl IOStringy ])
++ lib.optionals stdenv.isDarwin [ libiconv ];
++ lib.optionals stdenv.isDarwin [ libintl ];
postInstall = ''
wrapProgram $out/bin/hivexregedit \
@@ -29,11 +29,10 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
broken = stdenv.isDarwin;
description = "Windows registry hive extraction library";
license = licenses.lgpl2;
homepage = "https://github.com/libguestfs/hivex";
maintainers = with maintainers; [offline];
platforms = platforms.linux ++ platforms.darwin;
platforms = platforms.unix;
};
}
@@ -12,8 +12,12 @@ stdenv.mkDerivation rec {
sha256 = "1i9qly13bwwmgj68vma766hgvsd1m75236haqsp9zgh5znlmkm3z";
};
patches = [
# Fix spacing around string literal for modern clang
./v3-darwin.patch
];
meta = with lib; {
broken = stdenv.isDarwin;
homepage = "http://musicbrainz.org/doc/libmusicbrainz";
description = "MusicBrainz Client Library (3.x version)";
longDescription = ''
@@ -0,0 +1,22 @@
diff --git a/src/webservice.cpp b/src/webservice.cpp
index 3a36167..df14812 100644
--- a/src/webservice.cpp
+++ b/src/webservice.cpp
@@ -184,7 +184,7 @@ WebService::get(const std::string &entity,
if (!sess)
throw WebServiceError("ne_session_create() failed.");
ne_set_server_auth(sess, httpAuth, this);
- ne_set_useragent(sess, PACKAGE"/"VERSION);
+ ne_set_useragent(sess, PACKAGE "/" VERSION);
// Use proxy server
if (!d->proxyHost.empty()) {
@@ -269,7 +269,7 @@ WebService::post(const std::string &entity,
if (!sess)
throw WebServiceError("ne_session_create() failed.");
ne_set_server_auth(sess, httpAuth, this);
- ne_set_useragent(sess, PACKAGE"/"VERSION);
+ ne_set_useragent(sess, PACKAGE "/" VERSION);
// Use proxy server
if (!d->proxyHost.empty()) {
@@ -1,14 +1,14 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "phpstan";
version = "1.8.2";
version = "1.8.3";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
sha256 = "sha256-NnbEN9dhPUBtgEiKj5mBtW9RnTE9jmx/ZqRdqmuyIog=";
sha256 = "sha256-hKpwTpeEYKDvkkmwU7olW+a1pWiQTPDlN7Wy1IDk4UY=";
};
dontUnpack = true;
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "awscrt";
version = "0.14.0";
version = "0.14.3";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-MGLTFcsWVC/gTdgjny6LwyOO6QRc1QcLkVzy677Lqqw=";
hash = "sha256-nLlldO4otyWKn91L6vCiBh9csplFrN8tiK1tfeik6Y4=";
};
buildInputs = lib.optionals stdenv.isDarwin [
@@ -3,7 +3,6 @@
, fetchPypi
, celery
, humanize
, mock
, pytz
, tornado
, prometheus-client
@@ -12,12 +11,12 @@
buildPythonPackage rec {
pname = "flower";
version = "1.1.0";
version = "1.2.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-+SDKKQLXU5/BgKsV5R8dkYNV5cwj2oVP+dWcbloXJbY=";
sha256 = "46493c7e8d9ca2167e8a46eb97ae8d280997cb40a81993230124d74f0fe40bac";
};
postPatch = ''
@@ -35,27 +34,17 @@ buildPythonPackage rec {
];
checkInputs = [
mock
pytestCheckHook
];
disabledTests = [
# AssertionError as the celery release can't be detected
"test_default"
"test_with_app"
];
pythonImportsCheck = [
"flower"
];
meta = with lib; {
description = "Celery Flower";
description = "Real-time monitor and web admin for Celery distributed task queue";
homepage = "https://github.com/mher/flower";
license = licenses.bsdOriginal;
maintainers = with maintainers; [ arnoldfarkas ];
knownVulnerabilities = [
"CVE-2022-30034"
];
};
}
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "google-cloud-securitycenter";
version = "1.14.0";
version = "1.15.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-VNvIt3WYMMXOMovJvbSwKU2/Xz8/F+BW0XoKdi0QSo0=";
hash = "sha256-rWV7lY0CHrVJFOA/Yix/o3OE++wKSK5EEXOV6o5lwIo=";
};
propagatedBuildInputs = [
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "grpcio-status";
version = "1.48.0";
version = "1.48.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "afac961fc3713889d3c48c11461aba49842ca62a54dfe8f346442046036e9856";
sha256 = "655af4d0d6e67586cb2ca24c3db5fe08e4e2972d17f295f6b546fa7bd7eef1f6";
};
propagatedBuildInputs = [
@@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "grpcio-tools";
version = "1.48.0";
version = "1.48.1";
src = fetchPypi {
inherit pname version;
sha256 = "dd7f757608e7dfae4ab2e7fc1e8951e6eb9526ebdc7ce90597329bc4c408c9a1";
sha256 = "1178f2ea531f80cc2027ec64728df6ffc8e98cf1df61652a496eafd612127183";
};
outputs = [ "out" "dev" ];
@@ -18,6 +18,7 @@
, mock
, magic-wormhole-transit-relay
, magic-wormhole-mailbox-server
, pytestCheckHook
}:
buildPythonPackage rec {
@@ -49,7 +50,7 @@ buildPythonPackage rec {
mock
magic-wormhole-transit-relay
magic-wormhole-mailbox-server
twisted
pytestCheckHook
];
postPatch = lib.optionalString stdenv.isLinux ''
@@ -60,18 +61,6 @@ buildPythonPackage rec {
install -Dm644 docs/wormhole.1 $out/share/man/man1/wormhole.1
'';
checkPhase = ''
export PATH=$out/bin:$PATH
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
substituteInPlace src/wormhole/test/test_cli.py \
--replace 'getProcessOutputAndValue("locale", ["-a"])' 'getProcessOutputAndValue("locale", ["-a"], env=os.environ)' \
--replace 'if (os.path.dirname(os.path.abspath(wormhole))' 'if not os.path.abspath(wormhole).startswith("/nix/store") and (os.path.dirname(os.path.abspath(wormhole))' \
--replace 'locale_env = dict(LC_ALL=locale, LANG=locale)' 'locale_env = dict(LC_ALL=locale, LANG=locale, LOCALE_ARCHIVE=os.getenv("LOCALE_ARCHIVE"))'
trial -j$NIX_BUILD_CORES wormhole
'';
meta = with lib; {
description = "Securely transfer data between computers";
homepage = "https://github.com/magic-wormhole/magic-wormhole";
@@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "nextcord";
version = "2.0.0";
version = "2.1.0";
format = "setuptools";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "nextcord";
repo = "nextcord";
rev = "refs/tags/v${version}";
hash = "sha256-MjpWPirupXoSnvnRNePx4hUTbiWHcL2bwUOoZAvN7pU=";
hash = "sha256-/M7Wyb1GW6LPWm41jVnhWA6+dyTrdLyJ6pfsMozw5xI=";
};
patches = [
@@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "python-novaclient";
version = "18.0.0";
version = "18.1.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-6esqm9ukZNggwQB3XDwvZJMIjfZq8T37kyXMa4ZcjSM=";
hash = "sha256-eCBVnRZfGk2BDn2nyV+IQl2L5JX20aPG9CA7isGH4lQ=";
};
propagatedBuildInputs = [
@@ -4,38 +4,41 @@
, fetchFromGitHub
, webencodings
, pytestCheckHook
, flit-core
}:
buildPythonPackage rec {
pname = "tinycss2";
version = "1.1.0";
disabled = pythonOlder "3.5";
version = "1.1.1";
format = "flit";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "kozea";
repo = "tinycss2";
rev = "v${version}";
# for tests
fetchSubmodules = true;
sha256 = "sha256-WA88EYolL76WqeA1UKR3Sfw11j8NuOGOxPezujYizH8=";
sha256 = "sha256-RUF/3cjNgDFofoxl9iKY3u5ZAVVQmXu2Qbb5U4brdcQ=";
};
propagatedBuildInputs = [ webencodings ];
checkInputs = [
pytestCheckHook
];
postPatch = ''
substituteInPlace pyproject.toml \
--replace "'pytest-cov', 'pytest-flake8', 'pytest-isort', 'coverage[toml]'" "" \
--replace "--isort --flake8 --cov" ""
--replace "--isort --flake8 --cov --no-cov-on-fail" ""
'';
nativeBuildInputs = [ flit-core ];
propagatedBuildInputs = [ webencodings ];
checkInputs = [ pytestCheckHook ];
meta = with lib; {
description = "Low-level CSS parser for Python";
homepage = "https://github.com/Kozea/tinycss2";
license = licenses.bsd3;
maintainers = with maintainers; [ onny ];
};
}
@@ -1,31 +1,14 @@
{ lib, buildRubyGem, ruby, writeScript }:
{ buildRubyGem, ruby }:
buildRubyGem rec {
inherit ruby;
name = "${gemName}-${version}";
gemName = "bundler";
version = "2.3.21";
source.sha256 = "sha256-+u3H/8Fno8U7ZMRj2me1DVvkOAR2HeWmjdo0TCG/0d4=";
version = "2.3.20";
source.sha256 = "sha256-gJJ3vHzrJo6XpHS1iwLb77jd9ZB39GGLcOJQSrgaBHw=";
dontPatchShebangs = true;
passthru.updateScript = writeScript "gem-update-script" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl common-updater-scripts jq
set -eu -o pipefail
latest_version=$(curl -s https://rubygems.org/api/v1/gems/${gemName}.json | jq --raw-output .version)
update-source-version ${gemName} "$latest_version"
'';
postFixup = ''
sed -i -e "s/activate_bin_path/bin_path/g" $out/bin/bundle
'';
meta = with lib; {
description = "Manage your Ruby application's gem dependencies";
homepage = "https://bundler.io";
license = licenses.mit;
maintainers = with maintainers; [anthonyroussel];
};
}
@@ -0,0 +1,27 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "buf-language-server";
version = "unstable-2022-08-19";
src = fetchFromGitHub {
owner = "bufbuild";
repo = pname;
rev = "6f08a7eed22c5a178cb55613f454319e09be112c";
sha256 = "sha256-UHsWrWDOC/f3YS2g533CgUkuUmz4MUQRunClQiY/YPQ=";
};
vendorSha256 = "sha256-ORzCOmBx6k1GZj6pYLhqPsdneCc7Tt1yHpI5mw5ruFU=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "Language server for protocol buffers";
homepage = "https://github.com/bufbuild/buf-language-server";
license = licenses.asl20;
maintainers = with maintainers; [ svrana ];
};
}
@@ -0,0 +1,41 @@
diff --git a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java
index 6fff2af..7e2877e 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/local/PosixLocalEnvProvider.java
@@ -47,6 +47,16 @@ public final class PosixLocalEnvProvider implements LocalEnvProvider {
Map<String, String> env, BinTools binTools, String fallbackTmpDir) {
ImmutableMap.Builder<String, String> result = ImmutableMap.builder();
result.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR")));
+
+ // In case we are running on NixOS.
+ // If bash is called with an unset PATH on this platform,
+ // it will set it to /no-such-path and default tools will be missings.
+ // See, https://github.com/NixOS/nixpkgs/issues/94222
+ // So we ensure that minimal dependencies are present.
+ if (!env.containsKey("PATH")){
+ result.put("PATH", "@actionsPathPatch@");
+ }
+
String p = clientEnv.get("TMPDIR");
if (Strings.isNullOrEmpty(p)) {
// Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR
index 95642767c6..39d3c62461 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/local/XcodeLocalEnvProvider.java
@@ -74,6 +74,16 @@ public final class XcodeLocalEnvProvider implements LocalEnvProvider {
ImmutableMap.Builder<String, String> newEnvBuilder = ImmutableMap.builder();
newEnvBuilder.putAll(Maps.filterKeys(env, k -> !k.equals("TMPDIR")));
+
+ // In case we are running on NixOS.
+ // If bash is called with an unset PATH on this platform,
+ // it will set it to /no-such-path and default tools will be missings.
+ // See, https://github.com/NixOS/nixpkgs/issues/94222
+ // So we ensure that minimal dependencies are present.
+ if (!env.containsKey("PATH")){
+ newEnvBuilder.put("PATH", "@actionsPathPatch@");
+ }
+
String p = clientEnv.get("TMPDIR");
if (Strings.isNullOrEmpty(p)) {
// Do not use `fallbackTmpDir`, use `/tmp` instead. This way if the user didn't export TMPDIR
@@ -0,0 +1,668 @@
{ stdenv, callPackage, lib, fetchurl, fetchpatch, fetchFromGitHub, installShellFiles
, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
# this package (through the fixpoint glass)
, bazel_self
# needed only for the updater
, bazel_4
, lr, xe, zip, unzip, bash, writeCBin, coreutils
, which, gawk, gnused, gnutar, gnugrep, gzip, findutils
# updater
, python27, python3, writeScript
# Apple dependencies
, cctools, libcxx, CoreFoundation, CoreServices, Foundation
# Allow to independently override the jdks used to build and run respectively
, buildJdk, runJdk
, runtimeShell
# Downstream packages for tests
, bazel-watcher
# Always assume all markers valid (this is needed because we remove markers; they are non-deterministic).
# Also, don't clean up environment variables (so that NIX_ environment variables are passed to compilers).
, enableNixHacks ? false
, gcc-unwrapped
, autoPatchelfHook
, file
, substituteAll
, writeTextFile
}:
let
version = "6.0.0-pre.20220720.3";
sourceRoot = ".";
src = fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
hash = "sha256-i8d4yLSq8fL+YT11wYmBvLDLSprq1gVfyjsKBYci1bk=";
};
# Update with `eval $(nix-build -A bazel_5.updater)`,
# then add new dependencies from the dict in ./src-deps.json as required.
srcDeps = lib.attrsets.attrValues srcDepsSet;
srcDepsSet =
let
srcs = lib.importJSON ./src-deps.json;
toFetchurl = d: lib.attrsets.nameValuePair d.name (fetchurl {
urls = d.urls;
sha256 = d.sha256;
});
in builtins.listToAttrs (map toFetchurl [
srcs.desugar_jdk_libs
srcs.io_bazel_skydoc
srcs.bazel_skylib
srcs.bazelci_rules
srcs.io_bazel_rules_sass
srcs.platforms
srcs.remote_java_tools_for_testing
srcs."coverage_output_generator-v2.6.zip"
srcs.build_bazel_rules_nodejs
srcs."android_tools_pkg-0.26.0.tar.gz"
srcs."zulu11.56.19-ca-jdk11.0.15-linux_x64.tar.gz"
srcs.bazel_toolchains
srcs.com_github_grpc_grpc
srcs.upb
srcs.com_google_protobuf
srcs.rules_pkg
srcs.rules_cc
srcs.rules_java
srcs.rules_proto
srcs.rules_nodejs
srcs.rules_license
srcs.com_google_absl
srcs.com_googlesource_code_re2
srcs.com_github_cares_cares
]);
distDir = runCommand "bazel-deps" {} ''
mkdir -p $out
for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
'';
defaultShellUtils =
# Keep this list conservative. For more exotic tools, prefer to use
# @rules_nixpkgs to pull in tools from the nix repository. Example:
#
# WORKSPACE:
#
# nixpkgs_git_repository(
# name = "nixpkgs",
# revision = "def5124ec8367efdba95a99523dd06d918cb0ae8",
# )
#
# # This defines an external Bazel workspace.
# nixpkgs_package(
# name = "bison",
# repositories = { "nixpkgs": "@nixpkgs//:default.nix" },
# )
#
# some/BUILD.bazel:
#
# genrule(
# ...
# cmd = "$(location @bison//:bin/bison) -other -args",
# tools = [
# ...
# "@bison//:bin/bison",
# ],
# )
#
# Some of the scripts explicitly depend on Python 2.7. Otherwise, we
# default to using python3. Therefore, both python27 and python3 are
# runtime dependencies.
[
bash
coreutils
file
findutils
gawk
gnugrep
gnused
gnutar
gzip
python27
python3
unzip
which
zip
];
defaultShellPath = lib.makeBinPath defaultShellUtils;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";
# on aarch64 Darwin, `uname -m` returns "arm64"
arch = with stdenv.hostPlatform; if isDarwin && isAarch64 then "arm64" else parsed.cpu.name;
bazelRC = writeTextFile {
name = "bazel-rc";
text = ''
startup --server_javabase=${runJdk}
# Can't use 'common'; https://github.com/bazelbuild/bazel/issues/3054
# Most commands inherit from 'build' anyway.
build --distdir=${distDir}
fetch --distdir=${distDir}
query --distdir=${distDir}
build --extra_toolchains=@bazel_tools//tools/jdk:nonprebuilt_toolchain_definition
build --tool_java_runtime_version=local_jdk_11
build --java_runtime_version=local_jdk_11
# load default location for the system wide configuration
try-import /etc/bazel.bazelrc
'';
};
in
stdenv.mkDerivation rec {
pname = "bazel";
inherit version;
meta = with lib; {
homepage = "https://github.com/bazelbuild/bazel/";
description = "Build tool that builds code quickly and reliably";
sourceProvenance = with sourceTypes; [
fromSource
binaryBytecode # source bundles dependencies as jars
];
license = licenses.asl20;
maintainers = lib.teams.bazel.members;
inherit platforms;
};
inherit src;
inherit sourceRoot;
patches = [
# Force usage of the _non_ prebuilt java toolchain.
# the prebuilt one does not work in nix world.
./java_toolchain.patch
# On Darwin, the last argument to gcc is coming up as an empty string. i.e: ''
# This is breaking the build of any C target. This patch removes the last
# argument if it's found to be an empty string.
../trim-last-argument-to-gcc-if-empty.patch
# `java_proto_library` ignores `strict_proto_deps`
# https://github.com/bazelbuild/bazel/pull/16146
./strict_proto_deps.patch
# On Darwin, using clang 6 to build fails because of a linker error (see #105573),
# but using clang 7 fails because libarclite_macosx.a cannot be found when linking
# the xcode_locator tool.
# This patch removes using the -fobjc-arc compiler option and makes the code
# compile without automatic reference counting. Caveat: this leaks memory, but
# we accept this fact because xcode_locator is only a short-lived process used during the build.
(substituteAll {
src = ./no-arc.patch;
multiBinPatch = if stdenv.hostPlatform.system == "aarch64-darwin" then "arm64" else "x86_64";
})
# --experimental_strict_action_env (which may one day become the default
# see bazelbuild/bazel#2574) hardcodes the default
# action environment to a non hermetic value (e.g. "/usr/local/bin").
# This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries.
# So we are replacing this bazel paths by defaultShellPath,
# improving hermeticity and making it work in nixos.
(substituteAll {
src = ../strict_action_env.patch;
strictActionEnvPatch = defaultShellPath;
})
(substituteAll {
src = ./actions_path.patch;
actionsPathPatch = defaultShellPath;
})
# bazel reads its system bazelrc in /etc
# override this path to a builtin one
(substituteAll {
src = ../bazel_rc.patch;
bazelSystemBazelRCPath = bazelRC;
})
] ++ lib.optional enableNixHacks ./nix-hacks.patch;
# Additional tests that check bazels functionality. Execute
#
# nix-build . -A bazel_5.tests
#
# in the nixpkgs checkout root to exercise them locally.
passthru.tests =
let
runLocal = name: attrs: script:
let
attrs' = removeAttrs attrs [ "buildInputs" ];
buildInputs = attrs.buildInputs or [];
in
runCommandCC name ({
inherit buildInputs;
preferLocalBuild = true;
meta.platforms = platforms;
} // attrs') script;
# bazel wants to extract itself into $install_dir/install every time it runs,
# so lets do that only once.
extracted = bazelPkg:
let install_dir =
# `install_base` field printed by `bazel info`, minus the hash.
# yes, this path is kinda magic. Sorry.
"$HOME/.cache/bazel/_bazel_nixbld";
in runLocal "bazel-extracted-homedir" { passthru.install_dir = install_dir; } ''
export HOME=$(mktemp -d)
touch WORKSPACE # yeah, everything sucks
install_base="$(${bazelPkg}/bin/bazel info | grep install_base)"
# assert its actually below install_dir
[[ "$install_base" =~ ${install_dir} ]] \
|| (echo "oh no! $install_base but we are \
trying to copy ${install_dir} to $out instead!"; exit 1)
cp -R ${install_dir} $out
'';
bazelTest = { name, bazelScript, workspaceDir, bazelPkg, buildInputs ? [] }:
let
be = extracted bazelPkg;
in runLocal name { inherit buildInputs; } (
# skip extraction caching on Darwin, because nobody knows how Darwin works
(lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
# set up home with pre-unpacked bazel
export HOME=$(mktemp -d)
mkdir -p ${be.install_dir}
cp -R ${be}/install ${be.install_dir}
# https://stackoverflow.com/questions/47775668/bazel-how-to-skip-corrupt-installation-on-centos6
# Bazel checks whether the mtime of the install dir files
# is >9 years in the future, otherwise it extracts itself again.
# see PosixFileMTime::IsUntampered in src/main/cpp/util
# What the hell bazel.
${lr}/bin/lr -0 -U ${be.install_dir} | ${xe}/bin/xe -N0 -0 touch --date="9 years 6 months" {}
'')
+
''
# Note https://github.com/bazelbuild/bazel/issues/5763#issuecomment-456374609
# about why to create a subdir for the workspace.
cp -r ${workspaceDir} wd && chmod u+w wd && cd wd
${bazelScript}
touch $out
'');
bazelWithNixHacks = bazel_self.override { enableNixHacks = true; };
bazel-examples = fetchFromGitHub {
owner = "bazelbuild";
repo = "examples";
rev = "4183fc709c26a00366665e2d60d70521dc0b405d";
sha256 = "1mm4awx6sa0myiz9j4hwp71rpr7yh8vihf3zm15n2ii6xb82r31k";
};
in (if !stdenv.hostPlatform.isDarwin then {
# `extracted` doesnt work on darwin
shebang = callPackage ../shebang-test.nix { inherit runLocal extracted bazelTest distDir; bazel = bazel_self;};
} else {}) // {
bashTools = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self;};
cpp = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazel_self;};
java = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazel_self;};
protobuf = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self; };
pythonBinPath = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazel_self;};
bashToolsWithNixHacks = callPackage ../bash-tools-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
cppWithNixHacks = callPackage ../cpp-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
javaWithNixHacks = callPackage ../java-test.nix { inherit runLocal bazelTest bazel-examples distDir; bazel = bazelWithNixHacks; };
protobufWithNixHacks = callPackage ../protobuf-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
pythonBinPathWithNixHacks = callPackage ../python-bin-path-test.nix { inherit runLocal bazelTest distDir; bazel = bazelWithNixHacks; };
# downstream packages using buildBazelPackage
# fixed-output hashes of the fetch phase need to be spot-checked manually
downstream = recurseIntoAttrs ({
inherit bazel-watcher;
});
};
src_for_updater = stdenv.mkDerivation rec {
name = "updater-sources";
inherit src;
nativeBuildInputs = [ unzip ];
inherit sourceRoot;
installPhase = ''
runHook preInstall
cp -r . "$out"
runHook postInstall
'';
};
# update the list of workspace dependencies
passthru.updater = writeScript "update-bazel-deps.sh" ''
#!${runtimeShell}
(cd "${src_for_updater}" &&
BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \
"${bazel_4}"/bin/bazel \
query 'kind(http_archive, //external:all) + kind(http_file, //external:all) + kind(distdir_tar, //external:all) + kind(git_repository, //external:all)' \
--loading_phase_threads=1 \
--output build) \
| "${python3}"/bin/python3 "${./update-srcDeps.py}" \
"${builtins.toString ./src-deps.json}"
'';
# Necessary for the tests to pass on Darwin with sandbox enabled.
# Bazel starts a local server and needs to bind a local address.
__darwinAllowLocalNetworking = true;
postPatch = let
darwinPatches = ''
bazelLinkFlags () {
eval set -- "$NIX_LDFLAGS"
local flag
for flag in "$@"; do
printf ' -Wl,%s' "$flag"
done
}
# Disable Bazel's Xcode toolchain detection which would configure compilers
# and linkers from Xcode instead of from PATH
export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1
# Explicitly configure gcov since we don't have it on Darwin, so autodetection fails
export GCOV=${coreutils}/bin/false
# Framework search paths aren't added by bintools hook
# https://github.com/NixOS/nixpkgs/pull/41914
export NIX_LDFLAGS+=" -F${CoreFoundation}/Library/Frameworks -F${CoreServices}/Library/Frameworks -F${Foundation}/Library/Frameworks"
# libcxx includes aren't added by libcxx hook
# https://github.com/NixOS/nixpkgs/pull/41589
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${lib.getDev libcxx}/include/c++/v1"
# don't use system installed Xcode to run clang, use Nix clang instead
sed -i -E "s;/usr/bin/xcrun (--sdk macosx )?clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
scripts/bootstrap/compile.sh \
tools/osx/BUILD
substituteInPlace scripts/bootstrap/compile.sh --replace ' -mmacosx-version-min=10.9' ""
# nixpkgs's libSystem cannot use pthread headers directly, must import GCD headers instead
sed -i -e "/#include <pthread\/spawn.h>/i #include <dispatch/dispatch.h>" src/main/cpp/blaze_util_darwin.cc
# clang installed from Xcode has a compatibility wrapper that forwards
# invocations of gcc to clang, but vanilla clang doesn't
sed -i -e 's;_find_generic(repository_ctx, "gcc", "CC", overriden_tools);_find_generic(repository_ctx, "clang", "CC", overriden_tools);g' tools/cpp/unix_cc_configure.bzl
sed -i -e 's;"/usr/bin/libtool";_find_generic(repository_ctx, "libtool", "LIBTOOL", overriden_tools);g' tools/cpp/unix_cc_configure.bzl
wrappers=( tools/cpp/osx_cc_wrapper.sh tools/cpp/osx_cc_wrapper.sh.tpl )
for wrapper in "''${wrappers[@]}"; do
sed -i -e "s,/usr/bin/gcc,${stdenv.cc}/bin/clang,g" $wrapper
sed -i -e "s,/usr/bin/install_name_tool,${cctools}/bin/install_name_tool,g" $wrapper
done
'';
genericPatches = ''
# md5sum is part of coreutils
sed -i 's|/sbin/md5|md5sum|g' \
src/BUILD third_party/ijar/test/testenv.sh tools/objc/libtool.sh
# replace initial value of pythonShebang variable in BazelPythonSemantics.java
substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java \
--replace '"#!/usr/bin/env " + pythonExecutableName' "\"#!${python3}/bin/python\""
substituteInPlace src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python/PyRuntimeInfoApi.java \
--replace '"#!/usr/bin/env python3"' "\"#!${python3}/bin/python\""
# substituteInPlace is rather slow, so prefilter the files with grep
grep -rlZ /bin/ src/main/java/com/google/devtools | while IFS="" read -r -d "" path; do
# If you add more replacements here, you must change the grep above!
# Only files containing /bin are taken into account.
# We default to python3 where possible. See also `postFixup` where
# python3 is added to $out/nix-support
substituteInPlace "$path" \
--replace /bin/bash ${bash}/bin/bash \
--replace "/usr/bin/env bash" ${bash}/bin/bash \
--replace "/usr/bin/env python" ${python3}/bin/python \
--replace /usr/bin/env ${coreutils}/bin/env \
--replace /bin/true ${coreutils}/bin/true
done
grep -rlZ /bin/ tools/python | while IFS="" read -r -d "" path; do
substituteInPlace "$path" \
--replace "/usr/bin/env python2" ${python27}/bin/python \
--replace "/usr/bin/env python3" ${python3}/bin/python \
--replace /usr/bin/env ${coreutils}/bin/env
done
# bazel test runner include references to /bin/bash
substituteInPlace tools/build_rules/test_rules.bzl \
--replace /bin/bash ${bash}/bin/bash
for i in $(find tools/cpp/ -type f)
do
substituteInPlace $i \
--replace /bin/bash ${bash}/bin/bash
done
# Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
substituteInPlace scripts/bootstrap/compile.sh \
--replace /bin/bash ${bash}/bin/bash
# add nix environment vars to .bazelrc
cat >> .bazelrc <<EOF
# Limit the resources Bazel is allowed to use during the build to 1/2 the
# available RAM and 3/4 the available CPU cores. This should help avoid
# overwhelming the build machine.
build --toolchain_resolution_debug=".*"
build --local_ram_resources=HOST_RAM*.5
build --local_cpu_resources=HOST_CPUS*.75
build --distdir=${distDir}
fetch --distdir=${distDir}
build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')"
build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')"
build --linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')"
build --host_linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')"
build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')"
build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')"
build --extra_toolchains=@bazel_tools//tools/jdk:nonprebuilt_toolchain_definition
build --verbose_failures
build --curses=no
build --features=-layering_check
build --experimental_strict_java_deps=off
build --strict_proto_deps=off
EOF
cat >> third_party/grpc/bazel_1.41.0.patch <<EOF
diff --git a/third_party/grpc/BUILD b/third_party/grpc/BUILD
index 39ee9f97c6..9128d20c85 100644
--- a/third_party/grpc/BUILD
+++ b/third_party/grpc/BUILD
@@ -28,7 +28,6 @@ licenses(["notice"])
package(
default_visibility = ["//visibility:public"],
features = [
- "layering_check",
"-parse_headers",
],
)
EOF
# add the same environment vars to compile.sh
sed -e "/\$command \\\\$/a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" \
-e "/\$command \\\\$/a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" \
-e "/\$command \\\\$/a --linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt=\"/g')\" \\\\" \
-e "/\$command \\\\$/a --host_linkopt=\"$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt=\"/g')\" \\\\" \
-e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \
-e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \
-e "/\$command \\\\$/a --tool_java_runtime_version=local_jdk_11 \\\\" \
-e "/\$command \\\\$/a --java_runtime_version=local_jdk_11 \\\\" \
-e "/\$command \\\\$/a --verbose_failures \\\\" \
-e "/\$command \\\\$/a --curses=no \\\\" \
-e "/\$command \\\\$/a --features=-layering_check \\\\" \
-e "/\$command \\\\$/a --experimental_strict_java_deps=off \\\\" \
-e "/\$command \\\\$/a --strict_proto_deps=off \\\\" \
-i scripts/bootstrap/compile.sh
# This is necessary to avoid:
# "error: no visible @interface for 'NSDictionary' declares the selector
# 'initWithContentsOfURL:error:'"
# This can be removed when the apple_sdk is upgraded beyond 10.13+
sed -i '/initWithContentsOfURL:versionPlistUrl/ {
N
s/error:nil\];/\];/
}' tools/osx/xcode_locator.m
# append the PATH with defaultShellPath in tools/bash/runfiles/runfiles.bash
echo "PATH=\$PATH:${defaultShellPath}" >> runfiles.bash.tmp
cat tools/bash/runfiles/runfiles.bash >> runfiles.bash.tmp
mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash
patchShebangs .
'';
in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
+ genericPatches;
buildInputs = [buildJdk] ++ defaultShellUtils;
# when a command cant be found in a bazel build, you might also
# need to add it to `defaultShellPath`.
nativeBuildInputs = [
installShellFiles
makeWrapper
python3
unzip
which
zip
python3.pkgs.absl-py # Needed to build fish completion
] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ];
# Bazel makes extensive use of symlinks in the WORKSPACE.
# This causes problems with infinite symlinks if the build output is in the same location as the
# Bazel WORKSPACE. This is why before executing the build, the source code is moved into a
# subdirectory.
# Failing to do this causes "infinite symlink expansion detected"
preBuildPhases = ["preBuildPhase"];
preBuildPhase = ''
mkdir bazel_src
shopt -s dotglob extglob
mv !(bazel_src) bazel_src
'';
buildPhase = ''
runHook preBuild
# Increasing memory during compilation might be necessary.
# export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m"
# If EMBED_LABEL isn't set, it'd be auto-detected from CHANGELOG.md
# and `git rev-parse --short HEAD` which would result in
# "3.7.0- (@non-git)" due to non-git build and incomplete changelog.
# Actual bazel releases use scripts/release/common.sh which is based
# on branch/tag information which we don't have with tarball releases.
# Note that .bazelversion is always correct and is based on bazel-*
# executable name, version checks should work fine
export EMBED_LABEL="${version}- (@non-git)"
${bash}/bin/bash ./bazel_src/compile.sh
./bazel_src/scripts/generate_bash_completion.sh \
--bazel=./bazel_src/output/bazel \
--output=./bazel_src/output/bazel-complete.bash \
--prepend=./bazel_src/scripts/bazel-complete-header.bash \
--prepend=./bazel_src/scripts/bazel-complete-template.bash
${python3}/bin/python3 ./bazel_src/scripts/generate_fish_completion.py \
--bazel=./bazel_src/output/bazel \
--output=./bazel_src/output/bazel-complete.fish
# need to change directory for bazel to find the workspace
cd ./bazel_src
# build execlog tooling
export HOME=$(mktemp -d)
./output/bazel build src/tools/execlog:parser_deploy.jar
cd -
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
# official wrapper scripts that searches for $WORKSPACE_ROOT/tools/bazel
# if it cant find something in tools, it calls $out/bin/bazel-{version}-{os_arch}
# The binary _must_ exist with this naming if your project contains a .bazelversion
# file.
cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
wrapProgram $out/bin/bazel $wrapperfile --suffix PATH : ${defaultShellPath}
mv ./bazel_src/output/bazel $out/bin/bazel-${version}-${system}-${arch}
mkdir $out/share
cp ./bazel_src/bazel-bin/src/tools/execlog/parser_deploy.jar $out/share/parser_deploy.jar
cat <<EOF > $out/bin/bazel-execlog
#!${runtimeShell} -e
${runJdk}/bin/java -jar $out/share/parser_deploy.jar \$@
EOF
chmod +x $out/bin/bazel-execlog
# shell completion files
installShellCompletion --bash \
--name bazel.bash \
./bazel_src/output/bazel-complete.bash
installShellCompletion --zsh \
--name _bazel \
./bazel_src/scripts/zsh_completion/_bazel
installShellCompletion --fish \
--name bazel.fish \
./bazel_src/output/bazel-complete.fish
'';
# Install check fails on `aarch64-darwin`
# https://github.com/NixOS/nixpkgs/issues/145587
doInstallCheck = stdenv.hostPlatform.system != "aarch64-darwin";
installCheckPhase = ''
export TEST_TMPDIR=$(pwd)
hello_test () {
$out/bin/bazel test \
--test_output=errors \
examples/cpp:hello-success_test \
examples/java-native/src/test/java/com/example/myproject:hello
}
cd ./bazel_src
# test whether $WORKSPACE_ROOT/tools/bazel works
mkdir -p tools
cat > tools/bazel <<"EOF"
#!${runtimeShell} -e
exit 1
EOF
chmod +x tools/bazel
# first call should fail if tools/bazel is used
! hello_test
cat > tools/bazel <<"EOF"
#!${runtimeShell} -e
exec "$BAZEL_REAL" "$@"
EOF
# second call succeeds because it defers to $out/bin/bazel-{version}-{os_arch}
hello_test
runHook postInstall
'';
# Save paths to hardcoded dependencies so Nix can detect them.
# This is needed because the templates get tard up into a .jar.
postFixup = ''
mkdir -p $out/nix-support
echo "${defaultShellPath}" >> $out/nix-support/depends
# The string literal specifying the path to the bazel-rc file is sometimes
# stored non-contiguously in the binary due to gcc optimisations, which leads
# Nix to miss the hash when scanning for dependencies
echo "${bazelRC}" >> $out/nix-support/depends
'' + lib.optionalString stdenv.isDarwin ''
echo "${cctools}" >> $out/nix-support/depends
'';
dontStrip = true;
dontPatchELF = true;
}
@@ -0,0 +1,33 @@
diff --git a/tools/jdk/BUILD.tools b/tools/jdk/BUILD.tools
--- a/tools/jdk/BUILD.tools
+++ b/tools/jdk/BUILD.tools
@@ -3,6 +3,7 @@ load(
"DEFAULT_TOOLCHAIN_CONFIGURATION",
"PREBUILT_TOOLCHAIN_CONFIGURATION",
"VANILLA_TOOLCHAIN_CONFIGURATION",
+ "NONPREBUILT_TOOLCHAIN_CONFIGURATION",
"bootclasspath",
"default_java_toolchain",
"java_runtime_files",
@@ -321,6 +322,21 @@ alias(
actual = ":toolchain",
)
+default_java_toolchain(
+ name = "nonprebuilt_toolchain",
+ configuration = NONPREBUILT_TOOLCHAIN_CONFIGURATION,
+ java_runtime = "@local_jdk//:jdk",
+)
+
+default_java_toolchain(
+ name = "nonprebuilt_toolchain_java11",
+ configuration = NONPREBUILT_TOOLCHAIN_CONFIGURATION,
+ java_runtime = "@local_jdk//:jdk",
+ source_version = "11",
+ target_version = "11",
+)
+
+
RELEASES = (8, 9, 10, 11)
[
@@ -0,0 +1,40 @@
diff --git a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
index 25fbdcac9d..49616d37df 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/repository/RepositoryDelegatorFunction.java
@@ -568,22 +568,7 @@ public final class RepositoryDelegatorFunction implements SkyFunction {
String content;
try {
content = FileSystemUtils.readContent(markerPath, StandardCharsets.UTF_8);
- String markerRuleKey = readMarkerFile(content, markerData);
- boolean verified = false;
- if (Preconditions.checkNotNull(ruleKey).equals(markerRuleKey)) {
- verified = handler.verifyMarkerData(rule, markerData, env);
- if (env.valuesMissing()) {
- return null;
- }
- }
-
- if (verified) {
- return new Fingerprint().addString(content).digestAndReset();
- } else {
- // So that we are in a consistent state if something happens while fetching the repository
- markerPath.delete();
- return null;
- }
+ return new Fingerprint().addString(content).digestAndReset();
} catch (IOException e) {
throw new RepositoryFunctionException(e, Transience.TRANSIENT);
}
diff --git a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
index 1a45b8a3a2..a6b73213f6 100644
--- a/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/shell/JavaSubprocessFactory.java
@@ -152,7 +152,6 @@ public class JavaSubprocessFactory implements SubprocessFactory {
ProcessBuilder builder = new ProcessBuilder();
builder.command(params.getArgv());
if (params.getEnv() != null) {
- builder.environment().clear();
builder.environment().putAll(params.getEnv());
}
@@ -0,0 +1,42 @@
diff --git a/tools/osx/BUILD b/tools/osx/BUILD
index 990afe3e8c..cd5b7b1b7a 100644
--- a/tools/osx/BUILD
+++ b/tools/osx/BUILD
@@ -28,8 +28,8 @@ exports_files([
])
DARWIN_XCODE_LOCATOR_COMPILE_COMMAND = """
- /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -fobjc-arc -framework CoreServices \
- -framework Foundation -arch arm64 -arch x86_64 -Wl,-no_adhoc_codesign -Wl,-no_uuid -o $@ $< && \
+ /usr/bin/xcrun --sdk macosx clang -mmacosx-version-min=10.9 -framework CoreServices \
+ -framework Foundation -arch @multiBinPatch@ -Wl,-no_uuid -o $@ $< && \
env -i codesign --identifier $@ --force --sign - $@
"""
diff --git a/tools/osx/xcode_configure.bzl b/tools/osx/xcode_configure.bzl
index 2b819f07ec..a98ce37673 100644
--- a/tools/osx/xcode_configure.bzl
+++ b/tools/osx/xcode_configure.bzl
@@ -127,7 +127,6 @@ def run_xcode_locator(repository_ctx, xcode_locator_src_label):
"macosx",
"clang",
"-mmacosx-version-min=10.9",
- "-fobjc-arc",
"-framework",
"CoreServices",
"-framework",
diff --git a/tools/osx/xcode_locator.m b/tools/osx/xcode_locator.m
index ed2ef87453..e0ce6dbdd1 100644
--- a/tools/osx/xcode_locator.m
+++ b/tools/osx/xcode_locator.m
@@ -21,10 +21,6 @@
// 6,6.4,6.4.1 = 6.4.1
// 6.3,6.3.0 = 6.3
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
#import <CoreServices/CoreServices.h>
#import <Foundation/Foundation.h>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,21 @@
diff --git a/src/main/starlark/builtins_bzl/common/java/proto/java_proto_library.bzl b/src/main/starlark/builtins_bzl/common/java/proto/java_proto_library.bzl
index 63f68167e4..f106e64c9b 100644
--- a/src/main/starlark/builtins_bzl/common/java/proto/java_proto_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/proto/java_proto_library.bzl
@@ -114,6 +114,7 @@ def java_compile_for_protos(ctx, output_jar_suffix, source_jar = None, deps = []
exports = exports,
output = output_jar,
output_source_jar = source_jar,
+ strict_deps = ctx.fragments.proto.strict_proto_deps(),
injecting_rule_kind = injecting_rule_kind,
javac_opts = java_toolchain.compatible_javacopts("proto"),
enable_jspecify = False,
@@ -140,7 +141,7 @@ bazel_java_proto_aspect = aspect(
attr_aspects = ["deps", "exports"],
required_providers = [ProtoInfo],
provides = [JavaInfo, JavaProtoAspectInfo],
- fragments = ["java"],
+ fragments = ["java", "proto"],
)
def bazel_java_proto_library_rule(ctx):
@@ -0,0 +1,54 @@
#!/usr/bin/env python3
import sys
import json
if len(sys.argv) != 2:
print("usage: ./this-script src-deps.json < WORKSPACE", file=sys.stderr)
print("Takes the bazel WORKSPACE file and reads all archives into a json dict (by evaling it as python code)", file=sys.stderr)
print("Hail Eris.", file=sys.stderr)
sys.exit(1)
http_archives = []
# just the kw args are the dict { name, sha256, urls … }
def http_archive(**kw):
http_archives.append(kw)
# like http_file
def http_file(**kw):
http_archives.append(kw)
# this is inverted from http_archive/http_file and bundles multiple archives
def _distdir_tar(**kw):
for archive_name in kw['archives']:
http_archives.append({
"name": archive_name,
"sha256": kw['sha256'][archive_name],
"urls": kw['urls'][archive_name]
})
# TODO?
def git_repository(**kw):
print(json.dumps(kw, sort_keys=True, indent=4), file=sys.stderr)
sys.exit(1)
# execute the WORKSPACE like it was python code in this module,
# using all the function stubs from above.
exec(sys.stdin.read())
# transform to a dict with the names as keys
d = { el['name']: el for el in http_archives }
def has_urls(el):
return ('url' in el and el['url']) or ('urls' in el and el['urls'])
def has_sha256(el):
return 'sha256' in el and el['sha256']
bad_archives = list(filter(lambda el: not has_urls(el) or not has_sha256(el), d.values()))
if bad_archives:
print('Following bazel dependencies are missing url or sha256', file=sys.stderr)
print('Check bazel sources for master or non-checksummed dependencies', file=sys.stderr)
for el in bad_archives:
print(json.dumps(el, sort_keys=True, indent=4), file=sys.stderr)
sys.exit(1)
with open(sys.argv[1], "w") as f:
print(json.dumps(d, sort_keys=True, indent=4), file=f)
@@ -2,7 +2,8 @@
bazel
, bazelTest
, bazel-examples
, gccStdenv
, stdenv
, darwin
, lib
, runLocal
, runtimeShell
@@ -16,9 +17,10 @@ let
toolsBazel = writeScript "bazel" ''
#! ${runtimeShell}
export CXX='${gccStdenv.cc}/bin/g++'
export LD='${gccStdenv.cc}/bin/ld'
export CC='${gccStdenv.cc}/bin/gcc'
export CXX='${stdenv.cc}/bin/clang++'
export LD='${darwin.cctools}/bin/ld'
export LIBTOOL='${darwin.cctools}/bin/libtool'
export CC='${stdenv.cc}/bin/clang'
# XXX: hack for macosX, this flags disable bazel usage of xcode
# See: https://github.com/bazelbuild/bazel/issues/4231
@@ -31,7 +33,7 @@ let
cp -r ${bazel-examples}/cpp-tutorial/stage3 $out
find $out -type d -exec chmod 755 {} \;
''
+ (lib.optionalString gccStdenv.isDarwin ''
+ (lib.optionalString stdenv.isDarwin ''
mkdir $out/tools
cp ${toolsBazel} $out/tools/bazel
''));
@@ -46,7 +48,10 @@ let
--distdir=${distDir} \
--curses=no \
--sandbox_debug \
//...
//... \
'' + lib.optionalString (stdenv.isDarwin) ''
--cxxopt=-x --cxxopt=c++ --host_cxxopt=-x --host_cxxopt=c++ \
--linkopt=-stdlib=libc++ --host_linkopt=-stdlib=libc++ \
'';
};
@@ -2,7 +2,8 @@
bazel
, bazelTest
, bazel-examples
, gccStdenv
, stdenv
, darwin
, lib
, openjdk8
, jdk11_headless
@@ -18,9 +19,10 @@ let
toolsBazel = writeScript "bazel" ''
#! ${runtimeShell}
export CXX='${gccStdenv.cc}/bin/g++'
export LD='${gccStdenv.cc}/bin/ld'
export CC='${gccStdenv.cc}/bin/gcc'
export CXX='${stdenv.cc}/bin/clang++'
export LD='${darwin.cctools}/bin/ld'
export LIBTOOL='${darwin.cctools}/bin/libtool'
export CC='${stdenv.cc}/bin/clang'
# XXX: hack for macosX, this flags disable bazel usage of xcode
# See: https://github.com/bazelbuild/bazel/issues/4231
@@ -33,7 +35,7 @@ let
cp -r ${bazel-examples}/java-tutorial $out
find $out -type d -exec chmod 755 {} \;
''
+ (lib.optionalString gccStdenv.isDarwin ''
+ (lib.optionalString stdenv.isDarwin ''
mkdir $out/tools
cp ${toolsBazel} $out/tools/bazel
''));
@@ -47,14 +49,15 @@ let
${bazel}/bin/bazel \
run \
--distdir=${distDir} \
--verbose_failures \
--curses=no \
--sandbox_debug \
//:ProjectRunner \
--verbose_failures \
--curses=no \
--sandbox_debug \
--strict_java_deps=off \
//:ProjectRunner \
'' + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") ''
--host_javabase='@local_jdk//:jdk' \
--java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \
--javabase='@local_jdk//:jdk' \
--host_javabase='@local_jdk//:jdk' \
--java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \
--javabase='@local_jdk//:jdk' \
'';
};
@@ -3,7 +3,8 @@
, bazelTest
, fetchFromGitHub
, fetchurl
, gccStdenv
, stdenv
, darwin
, lib
, openjdk8
, jdk11_headless
@@ -132,9 +133,10 @@ let
toolsBazel = writeScript "bazel" ''
#! ${runtimeShell}
export CXX='${gccStdenv.cc}/bin/g++'
export LD='${gccStdenv.cc}/bin/ld'
export CC='${gccStdenv.cc}/bin/gcc'
export CXX='${stdenv.cc}/bin/clang++'
export LD='${darwin.cctools}/bin/ld'
export LIBTOOL='${darwin.cctools}/bin/libtool'
export CC='${stdenv.cc}/bin/clang'
# XXX: hack for macosX, this flags disable bazel usage of xcode
# See: https://github.com/bazelbuild/bazel/issues/4231
@@ -152,7 +154,7 @@ let
cp ${personProto} $out/person/person.proto
cp ${personBUILD} $out/person/BUILD.bazel
''
+ (lib.optionalString gccStdenv.isDarwin ''
+ (lib.optionalString stdenv.isDarwin ''
mkdir $out/tools
cp ${toolsBazel} $out/tools/bazel
''));
@@ -166,14 +168,19 @@ let
${bazel}/bin/bazel \
build \
--distdir=${distDir} \
--verbose_failures \
--curses=no \
--sandbox_debug \
//... \
--verbose_failures \
--curses=no \
--sandbox_debug \
--strict_java_deps=off \
--strict_proto_deps=off \
//... \
'' + lib.optionalString (lib.strings.versionOlder bazel.version "5.0.0") ''
--host_javabase='@local_jdk//:jdk' \
--java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \
--javabase='@local_jdk//:jdk' \
--host_javabase='@local_jdk//:jdk' \
--java_toolchain='@bazel_tools//tools/jdk:toolchain_hostjdk8' \
--javabase='@local_jdk//:jdk' \
'' + lib.optionalString (stdenv.isDarwin) ''
--cxxopt=-x --cxxopt=c++ --host_cxxopt=-x --host_cxxopt=c++ \
--linkopt=-stdlib=libc++ --host_linkopt=-stdlib=libc++ \
'';
};
@@ -1,6 +1,32 @@
{ writeText, bazel, bazelTest, runLocal, distDir }:
{
bazel
, bazelTest
, stdenv
, darwin
, lib
, runLocal
, runtimeShell
, writeScript
, writeText
, distDir
}:
let
toolsBazel = writeScript "bazel" ''
#! ${runtimeShell}
export CXX='${stdenv.cc}/bin/clang++'
export LD='${darwin.cctools}/bin/ld'
export LIBTOOL='${darwin.cctools}/bin/libtool'
export CC='${stdenv.cc}/bin/clang'
# XXX: hack for macosX, this flags disable bazel usage of xcode
# See: https://github.com/bazelbuild/bazel/issues/4231
export BAZEL_USE_CPP_ONLY_TOOLCHAIN=1
exec "$BAZEL_REAL" "$@"
'';
WORKSPACE = writeText "WORKSPACE" ''
workspace(name = "our_workspace")
'';
@@ -29,14 +55,18 @@ let
)
'';
workspaceDir = runLocal "our_workspace" {} ''
workspaceDir = runLocal "our_workspace" {} (''
mkdir $out
cp ${WORKSPACE} $out/WORKSPACE
mkdir $out/python
cp ${pythonLib} $out/python/lib.py
cp ${pythonBin} $out/python/bin.py
cp ${pythonBUILD} $out/python/BUILD.bazel
'';
''
+ (lib.optionalString stdenv.isDarwin ''
mkdir $out/tools
cp ${toolsBazel} $out/tools/bazel
''));
testBazel = bazelTest {
name = "bazel-test-builtin-rules";
@@ -45,8 +75,8 @@ let
bazelScript = ''
${bazel}/bin/bazel \
run \
--distdir=${distDir} \
//python:bin
--distdir=${distDir} \
//python:bin
'';
};
+28
View File
@@ -0,0 +1,28 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "ctlptl";
version = "0.8.6";
src = fetchFromGitHub {
owner = "tilt-dev";
repo = pname;
rev = "v${version}";
sha256 = "sha256-FJtp4g4kIkXFYvYcM9yF3BY6tgHmip11/oIyMSfTwqM=";
};
vendorSha256 = "sha256-s+Cc7pG/GLK0ZhXX/wK7jMNcDIeu/Am2vCgzrNXKpdw=";
ldflags = [
"-s"
"-w"
"-X main.version=${version}"
];
meta = with lib; {
description = "CLI for declaratively setting up local Kubernetes clusters";
homepage = "https://github.com/tilt-dev/ctlptl";
license = licenses.asl20;
maintainers = with maintainers; [ svrana ];
};
}
+2 -2
View File
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "hclfmt";
version = "2.13.0";
version = "2.14.0";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "hcl";
rev = "v${version}";
hash = "sha256-ENvXFOdsv3PL4jH7OfI3ZIY6ekj7ywgNOYl1uRQjypM=";
hash = "sha256-Rx073Ob7CqaPEGIskJHW/xmt4S+WE/AWKewXpjY3kQ4=";
};
vendorSha256 = "sha256-9IGHILgByNFviQcHJCFoEX9cZif1uuHCu4xvmGZYoXk=";
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "kafkactl";
version = "1.23.1";
version = "2.5.0";
src = fetchFromGitHub {
owner = "deviceinsight";
repo = pname;
rev = "v${version}";
sha256 = "1zg0lar16axi25mnmdbdyrm876rbc328kq1yvhjlnzskmkhzjsg2";
sha256 = "sha256-cCAmqiriiNSEpo5fHLPsarmLLhBE9QILa9xFNLlCorM=";
};
vendorSha256 = "0pnnrpyg40lb54h0k36c4iibapzlh54cdvc4mampmj13kphk3zzg";
vendorSha256 = "sha256-Y0Muihh9S8g3SLH12jw1MYyq5mpbrTJWJu4cSNTCqmE=";
doCheck = false;
meta = with lib; {
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "act";
version = "0.2.30";
version = "0.2.31";
src = fetchFromGitHub {
owner = "nektos";
repo = pname;
rev = "v${version}";
sha256 = "sha256-QNuCXBVSERNjn4ehqpOepAmLLqZAA2FvMBmMwceh4kI=";
sha256 = "sha256-6JMWt6svJwW7FNn2sOSUjFtXBqmC02uFEiybj5H9wTw=";
};
vendorSha256 = "sha256-T5HWT0h9ZSVQBbQbwIL1wu8BXvOkFIXtimz7QMUkWtQ=";
vendorSha256 = "sha256-caFM1A4SGZ8MIIoWnzBdKJOAgzscrf9eGtv/GCSfzag=";
doCheck = false;
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "oh-my-posh";
version = "8.36.7";
version = "8.37.1";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = pname;
rev = "v${version}";
sha256 = "sha256-K4+d7HIH7FDvXkjkf6YCJjbTgPYBBMFqKDHXUNkL2Jo=";
sha256 = "sha256-ZiDrG1GkUple+Q+MoNQlHdbq3P8PeQFWvxMC9dh7VTM=";
};
vendorSha256 = "sha256-t4FpvXsGVsTYoGM8wY2JelscnlmDzrLMPYk7zGUfo58=";
@@ -0,0 +1,51 @@
{ fetchCrate
, lib
, rustPlatform
, pkg-config
, openssl
, zlib
, stdenv
, darwin
, libssh2
, libgit2
, IOKit
, Security
, CoreFoundation
, AppKit
, System
}:
rustPlatform.buildRustPackage rec {
pname = "cargo-workspaces";
version = "0.2.35";
src = fetchCrate {
inherit pname version;
sha256 = "sha256-MHoVeutoMaHHl1uxv52NOuvXsssqDuyfHTuyTqg9y+U=";
};
cargoSha256 = "sha256-wUVNsUx7JS5icjxbz3CV1lNUvuuL+gTL2QzuE+030WU=";
verifyCargoDeps = true;
# needed to get libssh2/libgit2 to link properly
LIBGIT2_SYS_USE_PKG_CONFIG = true;
LIBSSH2_SYS_USE_PKG_CONFIG = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl zlib libssh2 libgit2 ] ++ (
lib.optionals stdenv.isDarwin ([ IOKit Security CoreFoundation AppKit ]
++ (lib.optionals stdenv.isAarch64 [ System ]))
);
meta = with lib; {
description = "A tool for managing cargo workspaces and their crates, inspired by lerna";
longDescription = ''
A tool that optimizes the workflow around cargo workspaces with
git and cargo by providing utilities to version, publish, execute
commands and more.
'';
homepage = "https://github.com/pksunkara/cargo-workspaces";
license = licenses.mit;
maintainers = with maintainers; [ macalinao ];
};
}
@@ -1,17 +1,19 @@
{ lib, stdenv, fetchFromGitHub, rustPlatform }:
{ lib, stdenv, fetchFromGitHub, rustPlatform, Security }:
rustPlatform.buildRustPackage rec {
pname = "worker-build";
version = "0.0.10";
version = "0.0.11";
src = fetchFromGitHub {
owner = "cloudflare";
repo = "workers-rs";
rev = "v${version}";
sha256 = "sha256-p19Q/XAOvDKXRvDWeMRo4C1TnvxYg88CAyldN7AhJDM=";
sha256 = "sha256-oqnYWrytQ3hCf4T/PNIXTs3tW+W8HvuvIulRhdhzsDU=";
};
cargoSha256 = "sha256-8fnsiWZjxCxhv4NWcRIpKbT8vQyhe27es80ttKX/oPs=";
cargoSha256 = "sha256-t35LMyiQl2bsGjNIKqb8sKbrmCLZ0pmoo0qX0buGA+o=";
buildInputs = lib.optionals stdenv.isDarwin [ Security ];
buildAndTestSubdir = "worker-build";
+3 -3
View File
@@ -1,10 +1,10 @@
{ lib, stdenv, fetchurl, bash, jre }:
let
mcVersion = "1.18.2";
buildNum = "313";
mcVersion = "1.19.2";
buildNum = "131";
jar = fetchurl {
url = "https://papermc.io/api/v2/projects/paper/versions/${mcVersion}/builds/${buildNum}/downloads/paper-${mcVersion}-${buildNum}.jar";
sha256 = "sha256-wotk0Pu1wKomj83nMCyzzPZ+Y9RkQUbfeWjRGaSt7lE=";
sha256 = "sha256-y7+bByWPc/2KBG/DOX/CFsIQWNboJs68++6Y64lyVt4=";
};
in stdenv.mkDerivation {
pname = "papermc";
+2 -2
View File
@@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "pdns-recursor";
version = "4.7.1";
version = "4.7.2";
src = fetchurl {
url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
sha256 = "sha256-0vlFc6bw5joQNMorMBwn6/LhMAplW6ZpzFAtXqjW7Gg=";
sha256 = "sha256-vbQZB5D+dZd41vBRWvu8wKKLPn4bg8Vwyq84QZ1Xgg0=";
};
nativeBuildInputs = [ pkg-config ];
+3 -3
View File
@@ -15,16 +15,16 @@ let
in
buildGoModule rec {
pname = "minio";
version = "2022-08-26T19-53-15Z";
version = "2022-09-01T23-53-36Z";
src = fetchFromGitHub {
owner = "minio";
repo = "minio";
rev = "RELEASE.${version}";
sha256 = "sha256-VZsByVcErl6dts8OlggEFnvA+9ds8ZgQvZkCb53bSac=";
sha256 = "sha256-ceiwLyhpXM6Ia21KPO0nlYMcmLg0aOuCV7Iqb+djJ7o=";
};
vendorSha256 = "sha256-eAHL8UsRllnZ5frWYxXXYlkvf9QmrcvJHx5wEcbGeM4=";
vendorSha256 = "sha256-ziW1jxlyNiXoYP6z0Uea5XVxV5O094tmZNI0vHYofMk=";
doCheck = false;
+2 -2
View File
@@ -5,13 +5,13 @@
buildGoModule rec {
pname = "pocketbase";
version = "0.5.1";
version = "0.5.2";
src = fetchFromGitHub {
owner = "pocketbase";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Wcj2pAKuRT3gWzczoNd0mJktM2dUL3z+2JUsM5SYRVM=";
sha256 = "sha256-ykjk2OJ1AFG4S8vQi5yb7JzQRh3hSbFm/6XqzqXNmt8=";
};
vendorSha256 = "sha256-OGbfcKvPTSM9DGJ+u2fXBmHq0Sv/n8oMbHNoPZy854Q=";
@@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "pgrouting";
version = "3.3.1";
version = "3.3.2";
nativeBuildInputs = [ cmake perl ];
buildInputs = [ postgresql boost ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
owner = "pgRouting";
repo = pname;
rev = "v${version}";
sha256 = "sha256-QOIuJM0d1l56ESzTjtm5IIiZx+2oYrO5mIhkAD8kFpQ=";
sha256 = "sha256-H7h+eiH02qLscpiZ8yV5ofL7upeqRBXNQDGYS86f3og=";
};
installPhase = ''
@@ -8,7 +8,7 @@
stdenv.mkDerivation rec {
pname = "timescaledb";
version = "2.7.2";
version = "2.8.0";
nativeBuildInputs = [ cmake ];
buildInputs = [ postgresql openssl libkrb5 ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
owner = "timescale";
repo = "timescaledb";
rev = version;
sha256 = "sha256-roM4a+WWn8aODkS/kvouM6rO4TnVR7hAZmCkJkLpHKQ=";
sha256 = "sha256-xJidQ25JPIFY0KMV9EVrp4+qbU+QWDLaCSNHKOQq+dI=";
};
cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" "-DTAP_CHECKS=OFF" ]
+2
View File
@@ -8,6 +8,7 @@
, Security
, protobuf
, rustfmt
, nixosTests
}:
let
pinData = lib.importJSON ./pin.json;
@@ -42,6 +43,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ protobuf rustfmt ];
passthru.updateScript = ./update.sh;
passthru.tests.lemmy-server = nixosTests.lemmy;
meta = with lib; {
description = "🐀 Building a federated alternative to reddit in rust";
+2
View File
@@ -6,6 +6,7 @@
, pkg-config
, fetchFromGitHub
, fetchYarnDeps
, nixosTests
}:
let
@@ -67,6 +68,7 @@ mkYarnPackage {
distPhase = "true";
passthru.updateScript = ./update.sh;
passthru.tests.lemmy-ui = nixosTests.lemmy;
meta = with lib; {
description = "Building a federated alternative to reddit in rust";
+8 -3
View File
@@ -1,8 +1,13 @@
{ lib, stdenv, fetchurl, writeText, plugins ? [ ] }:
let
version = "3.11.6";
stableVersion = lib.concatStrings (lib.take 2 (lib.splitVersion version));
version = "4.0.2";
versionParts = lib.take 2 (lib.splitVersion version);
# 4.2 -> 402, 3.11 -> 311
stableVersion = lib.removePrefix "0" (lib.concatMapStrings
(p: if (lib.toInt p) < 10 then (lib.concatStrings ["0" p]) else p)
versionParts);
in stdenv.mkDerivation rec {
pname = "moodle";
@@ -10,7 +15,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://download.moodle.org/stable${stableVersion}/${pname}-${version}.tgz";
sha256 = "sha256-g3qHYkxiXb18vJ23THUw8ej+s5SgIkJpmjQmmARwQhs=";
sha256 = "sha256-Ouz1U5bMzwzQZiMmVOrx3oWtqyn7GE/oeaTrsXmsBJI=";
};
phpConfig = writeText "config.php" ''
+3 -3
View File
@@ -5,13 +5,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "searxng";
version = "unstable-2022-07-15";
version = "unstable-2022-09-01";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "7bf4e8d12d1d0ee53bf71f7c3a4010ef936f25d9";
sha256 = "sha256-Fuv9AoV9WnI6qMgj4Ve016RF8gaLXYgw89jRROcm/A8=";
rev = "174e5242569812618af4ebd9a646ba2a6ded5459";
sha256 = "sha256-Q1+4HkgOoTRtW5XYWpC5dpukkrjG5fP0585soo/srmQ=";
};
postPatch = ''
+27
View File
@@ -0,0 +1,27 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "murex";
version = "2.10.2400";
src = fetchFromGitHub {
owner = "lmorg";
repo = pname;
rev = "v${version}";
sha256 = "0bqd91m7m4i4lfvz4p1lbrfs01kyh73p0g236q13bv4x1n1lkqr3";
};
vendorSha256 = "sha256-hLz36ESf6To6sT/ha/yXyhG0U1gGw8HDfnrPJnws25g=";
subPackages = [ "." ];
meta = with lib; {
description = "Bash-like shell and scripting environment with advanced features designed for safety and productivity";
homepage = "https://murex.rocks";
license = licenses.gpl2;
maintainers = with maintainers; [ dit7ya ];
};
}
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "copilot-cli";
version = "1.21.0";
version = "1.21.1";
src = fetchFromGitHub {
owner = "aws";
repo = pname;
rev = "v${version}";
sha256 = "sha256-zGmb3EvWkGGJuq9R3GWEfHZvFn7DMC6B6Onk06mFiWI=";
sha256 = "sha256-6x809FXjPQH7Q90GCZdcMI1SuqR868UGnVK1Hs5qZNo=";
};
vendorSha256 = "sha256-8avzCfCBSVLsWUgBBiD4pYTWrd2X2rdruU5v+AJ3EKY=";
vendorSha256 = "sha256-+nARXJdMmU36Gz2fjXbkFMafJGVUJx+T/zTQRcfVYik=";
nativeBuildInputs = [ installShellFiles ];
+11 -3
View File
@@ -5,6 +5,7 @@
, runCommand, btrfs-progs
, gitUpdater
, udevSupport ? true
, enablePython ? true
}:
stdenv.mkDerivation rec {
@@ -18,7 +19,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
pkg-config
] ++ lib.optionals enablePython [
python3 python3.pkgs.setuptools
] ++ [
sphinx
];
@@ -32,12 +35,17 @@ stdenv.mkDerivation rec {
install -v -m 444 -D btrfs-completion $out/share/bash-completion/completions/btrfs
'';
configureFlags = lib.optional stdenv.hostPlatform.isMusl "--disable-backtrace"
++ lib.optional (!udevSupport) "--disable-libudev";
configureFlags = lib.optionals stdenv.hostPlatform.isMusl [
"--disable-backtrace"
] ++ lib.optionals (!enablePython) [
"--disable-python"
] ++ lib.optionals (!udevSupport) [
"--disable-libudev"
];
makeFlags = [ "udevruledir=$(out)/lib/udev/rules.d" ];
installFlags = [ "install_python" ];
installFlags = lib.optionals enablePython [ "install_python" ];
enableParallelBuilding = true;
+2 -2
View File
@@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "agi";
version = "3.1.0-dev-20220811";
version = "3.2.0-dev-20220831";
src = fetchzip {
url = "https://github.com/google/agi-dev-releases/releases/download/v${version}/agi-${version}-linux.zip";
sha256 = "sha256-7lxcyIX3imqsU15HQ2Xc0S8ki6LWMlkM4fdTOCuCti8=";
sha256 = "sha256-pAPYIhNqr7TpVDnHhRVGkd6HCqu945OCXa5dpGi2UhU=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "chezmoi";
version = "2.21.1";
version = "2.22.0";
src = fetchFromGitHub {
owner = "twpayne";
repo = "chezmoi";
rev = "v${version}";
sha256 = "sha256-WBshiEohUO58LSRpbwunXfSRvnYtnB8g+1zUZTZtUOg=";
sha256 = "sha256-igZURbPa4ldhkjae6olAbW9L8qddxZj6wwkIJ3L23aA=";
};
vendorSha256 = "sha256-KcUe3Wbco+s4Zt3TS6C60AYiCuTAW5qdz+x68UBPALY=";
vendorSha256 = "sha256-riGN7d+am9DXCcFVkc2WIxmHvsNaZxHm/aEDcb8kCz4=";
doCheck = false;
+6 -4
View File
@@ -1,14 +1,14 @@
{ lib, fetchFromGitHub, rustPlatform }:
{ stdenv, lib, fetchFromGitHub, rustPlatform, AppKit }:
rustPlatform.buildRustPackage rec {
pname = "du-dust";
version = "0.8.2";
version = "0.8.3";
src = fetchFromGitHub {
owner = "bootandy";
repo = "dust";
rev = "v${version}";
sha256 = "sha256-ZPIxJ8D8yxaL7RKIVKIIlqwUXBbVM0JprE5TSTGkhfI=";
sha256 = "sha256-+YcHiW4kR4JeIY6zv1WJ97dCIakvtbn8+b9tLFH+aLE=";
# Remove unicode file names which leads to different checksums on HFS+
# vs. other filesystems because of unicode normalisation.
postFetch = ''
@@ -16,7 +16,9 @@ rustPlatform.buildRustPackage rec {
'';
};
cargoSha256 = "sha256-dgAyxSVNe+UKuT0UJqPvYcrLolKtC2+EN/okSvzkhcA=";
cargoSha256 = "sha256-yKj9CBoEC6UJf4L+XO2qi69//45lSqblMe8ofnLctEw=";
buildInputs = lib.optionals stdenv.isDarwin [ AppKit ];
doCheck = false;
+3 -3
View File
@@ -2,15 +2,15 @@
buildGoModule rec {
pname = "infracost";
version = "0.10.10";
version = "0.10.11";
src = fetchFromGitHub {
owner = "infracost";
rev = "v${version}";
repo = "infracost";
sha256 = "sha256-7SaT2jwrM0pD0BqX18d3nutU52RMCnQb2FuDtoJZMQM=";
sha256 = "sha256-ZBm93lBu6sblc/P5m1igf5K8yJ8ff5qcvECZ9o3Gn6I=";
};
vendorSha256 = "sha256-ccoFTg5OYpaagyzb2lJLr6WlTO/L4YevXK09gZOELOw=";
vendorSha256 = "sha256-Hs+WWc2UJtxc2isSfef8xvKDqhWytkUWh6DEq+bbAt4=";
ldflags = [ "-s" "-w" "-X github.com/infracost/infracost/internal/version.Version=v${version}" ];

Some files were not shown because too many files have changed in this diff Show More