Merge staging-next-24.05 into staging-24.05

This commit is contained in:
github-actions[bot] 2024-07-30 00:15:14 +00:00 committed by GitHub
commit 6669a0e60a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 2065 additions and 1177 deletions

View File

@ -1016,6 +1016,23 @@ let
};
};
csharpier.csharpier-vscode = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "csharpier-vscode";
publisher = "csharpier";
version = "1.7.3";
hash = "sha256-/ZLjnlLl6xmgEazdCbnuE6UuuV1tDwAjpxz+vmBuYHE=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/csharpier.csharpier-vscode/changelog";
description = "CSharpier code formatter for Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=csharpier.csharpier-vscode";
homepage = "https://github.com/belav/csharpier";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.magnouvean ];
};
};
cweijan.dbclient-jdbc = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "dbclient-jdbc";
@ -2860,6 +2877,72 @@ let
ms-dotnettools.csdevkit = callPackage ./ms-dotnettools.csdevkit { };
ms-dotnettools.csharp = callPackage ./ms-dotnettools.csharp { };
ms-dotnettools.vscode-dotnet-runtime = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-dotnet-runtime";
publisher = "ms-dotnettools";
version = "2.1.1";
hash = "sha256-k14bjWITPDduJi79W59SnMV2TFNRCeAymhs6u1Y0vzk=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/ms-dotnettools.vscode-dotnet-runtime/changelog";
description = "Provides a way for other Visual Studio Code extensions to install local versions of .NET SDK/Runtime";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.vscode-dotnet-runtime";
homepage = "https://github.com/dotnet/vscode-dotnet-runtime";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.magnouvean ];
};
};
ms-dotnettools.vscodeintellicode-csharp = buildVscodeMarketplaceExtension {
mktplcRef =
let
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-oQMwzQuW5vjxtDboRCeiEO5aytsAY6rb14JDTmK3JPg=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
hash = "sha256-/9+qtLDNYUFvdoehit3BihA38p6RqJ7na5Q27xxpZk0=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-JqLlYMKyTXaEzuTPPxVaO8WJiuCUN+9xBzyA6+aYdSc=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-dhiUePePkO3MxRQ5UP+lOxRax503JlERe/GWJ8pPUIg=";
};
};
in
{
name = "vscodeintellicode-csharp";
publisher = "ms-dotnettools";
version = "2.1.11";
}
// sources.${stdenv.system};
nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
buildInputs = [
stdenv.cc.cc.lib
zlib
];
meta = {
changelog = "https://marketplace.visualstudio.com/items/ms-dotnettools.vscodeintellicode-csharp/changelog";
description = "AI-assisted development features for C# in Visual Studio Code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.vscodeintellicode-csharp";
homepage = "https://github.com/MicrosoftDocs/intellicode";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.magnouvean ];
platforms = [
"x86_64-linux"
"x86_64-darwin"
"aarch64-darwin"
"aarch64-linux"
];
};
};
ms-kubernetes-tools.vscode-kubernetes-tools = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-kubernetes-tools";

File diff suppressed because it is too large Load Diff

View File

@ -48,7 +48,7 @@ let
owner = "facebook";
repo = "sapling";
rev = version;
hash = "sha256-uzev4x9jY6foop35z4dvUMIfjRtRqhNFDVFpagOosAc";
hash = "sha256-4pOpJ91esTSH90MvvMu74CnlLULLUawqxcniUeqnLwA=";
};
addonsSrc = "${src}/addons";
@ -56,7 +56,7 @@ let
# Fetches the Yarn modules in Nix to to be used as an offline cache
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${addonsSrc}/yarn.lock";
sha256 = "sha256-3JFrVk78EiNVLLXkCFbuRnXwYHNfVv1pBPBS1yCHtPU";
sha256 = "sha256-jCtrflwDrwql6rY1ff1eXLKdwmnXhg5bCJPlCczBCIk=";
};
# Builds the NodeJS server that runs with `sl web`
@ -79,11 +79,11 @@ let
yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
patchShebangs node_modules
patchShebangs isl/node_modules
substituteInPlace build-tar.py \
--replace-fail 'run(yarn + ["--cwd", src_join(), "install", "--prefer-offline"])' 'pass'
# TODO: build-tar.py tries to run 'yarn install'. We patched
# shebangs node_modules, so we don't want 'yarn install'
# changing files. We should disable the 'yarn install' in
# build-tar.py to be safe.
${python3Packages.python}/bin/python3 build-tar.py \
--output isl-dist.tar.xz \
--yarn 'yarn --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress'
@ -113,10 +113,10 @@ python3Packages.buildPythonApplication {
lockFile = ./Cargo.lock;
outputHashes = {
"abomonation-0.7.3+smallvec1" = "sha256-AxEXR6GC8gHjycIPOfoViP7KceM29p2ZISIt4iwJzvM=";
"cloned-0.1.0" = "sha256-mzAqjM8qovZAd4ZF0GDuD0Ns/UztAO1pAJhukuKc5a0=";
"fb303_core-0.0.0" = "sha256-x8I0Lty+sRclpkNMqTMc29J46z/vMsVwOUS3EX7Shes=";
"fbthrift-0.0.1+unstable" = "sha256-yTS1wkh8tETZ4K43V0G+TbkN5jgSlXT0endDPBHa1Ps=";
"serde_bser-0.3.1" = "sha256-vvMCa6mlcr+xazxZVl2bcF8/r+ufzZmiQ79KofZGWrA=";
"cloned-0.1.0" = "sha256-2BaNR/pQmR7pHtRf6VBQLcZgLHbj2JCxeX4auAB0efU=";
"fb303_core-0.0.0" = "sha256-PDGdKjR6KPv1uH1JSTeoG5Rs0ZkmNJLqqSXtvV3RWic=";
"fbthrift-0.0.1+unstable" = "sha256-J4REXGuLjHyN3SHilSWhMoqpRcn1QnEtsTsZF4Z3feU=";
"serde_bser-0.4.0" = "sha256-Su1IP3NzQu/87p/+uQaG8JcICL9hit3OV1O9oFiACsQ=";
};
};
postPatch = ''

View File

@ -1,5 +1,5 @@
{
"links": [],
"version": "0.2.20240116-133042+8acecb66",
"versionHash": "11094621090461381576"
"version": "0.2.20240718-145624+f4e9df48",
"versionHash": "7014953821350190751"
}

View File

@ -322,15 +322,15 @@ rec {
};
docker_27 = callPackage dockerGen rec {
version = "27.0.3";
version = "27.1.1";
cliRev = "v${version}";
cliHash = "sha256-fpjSnUq3T6WZO/FLeT377FWxwevbULob9dPiSBxZdHI=";
cliHash = "sha256-r9figEMYHHSbMYVFiw7GUMzjZBhlF+jyZqKixyCpoQ0=";
mobyRev = "v${version}";
mobyHash = "sha256-xinRILDSuubAAJh/dmpaU3csTf0VgukJIfSUkcHpa28=";
mobyHash = "sha256-LuCEdQQ3eWt8VyzmWkQTxlxTok9h/UlACTVls5LcI7g=";
runcRev = "v1.1.13";
runcHash = "sha256-RQsM8Q7HogDVGbNpen3wxXNGR9lfqmNhkXTRoC+LBk8=";
containerdRev = "v1.7.18";
containerdHash = "sha256-IlK5IwniaBhqMgxQzV8btQcbdJkNEQeUMoh6aOsBOHQ=";
containerdRev = "v1.7.20";
containerdHash = "sha256-Q9lTzz+G5PSoChy8MZtbOpO81AyNWXC+CgGkdOg14uY=";
tiniRev = "v0.19.0";
tiniHash = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
};

View File

@ -64,11 +64,11 @@ let
in stdenv.mkDerivation (finalAttrs: {
pname = "google-chrome";
version = "126.0.6478.182";
version = "127.0.6533.72";
src = fetchurl {
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-izz3oEJAScI1MV3pBHLzwxCKs6M+rTORernvLv3sBYA=";
hash = "sha256-DpEYK/6SEaNfEa8uzGhXhALSSxt51X9X5ksaia8srJg=";
};
nativeBuildInputs = [ patchelf makeWrapper ];
@ -157,6 +157,7 @@ in stdenv.mkDerivation (finalAttrs: {
meta = {
description = "A freeware web browser developed by Google";
homepage = "https://www.google.com/chrome/browser/";
changelog = "https://chromereleases.googleblog.com/";
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with lib.maintainers; [ jnsgruk johnrtitor ];

View File

@ -1,10 +1,10 @@
{
"darwin": {
"hash": "sha256-ku1zQLrRDCvw8RJueWQb8rFJneW943mcPUJ5QB4SXzg=",
"version": "0.2024.07.09.08.01.stable_00"
"hash": "sha256-SNSWXDOmZAjPv33ioDOHSEflC6BKTmVAcAvc/Bn4VwE=",
"version": "0.2024.07.16.08.02.stable_03"
},
"linux": {
"hash": "sha256-EZrANAhkXukquQuCmfA/bIhQnJExE003WZuKU/axr98=",
"version": "0.2024.07.09.08.01.stable_00"
"hash": "sha256-rn97dcZ1XsQllzmQ9HbvLyvq5EsN42A5WHe1fVUjilY=",
"version": "0.2024.07.16.08.02.stable_03"
}
}

View File

@ -2,6 +2,7 @@
, preLibcCrossHeaders
, substitute, substituteAll, fetchFromGitHub, fetchpatch, fetchurl
, overrideCC, wrapCCWith, wrapBintoolsWith
, libxcrypt
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
, targetLlvm
@ -49,6 +50,10 @@ let
ln -s "${cc.lib}/lib/clang/${metadata.release_version}/include" "$rsrc"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'';
mkExtraBuildCommandsBasicRt = cc: mkExtraBuildCommands0 cc + ''
ln -s "${targetLlvmLibraries.compiler-rt-no-libc.out}/lib" "$rsrc/lib"
ln -s "${targetLlvmLibraries.compiler-rt-no-libc.out}/share" "$rsrc/share"
'';
mkExtraBuildCommands = cc: mkExtraBuildCommands0 cc + ''
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
ln -s "${targetLlvmLibraries.compiler-rt.out}/share" "$rsrc/share"
@ -245,34 +250,50 @@ let
'' + mkExtraBuildCommands cc;
};
clangNoLibcxx = wrapCCWith rec {
clangWithLibcAndBasicRtAndLibcxx = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = targetLlvmLibraries.libcxx;
bintools = bintools';
extraPackages = [
targetLlvmLibraries.compiler-rt-no-libc
] ++ lib.optionals (!stdenv.targetPlatform.isWasm) [
targetLlvmLibraries.libunwind
];
extraBuildCommands = ''
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt-no-libc}/lib" >> $out/nix-support/cc-cflags
'' + mkExtraBuildCommandsBasicRt cc;
};
clangWithLibcAndBasicRt = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null;
bintools = bintools';
extraPackages = [
targetLlvmLibraries.compiler-rt
targetLlvmLibraries.compiler-rt-no-libc
];
extraBuildCommands = ''
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt-no-libc}/lib" >> $out/nix-support/cc-cflags
echo "-nostdlib++" >> $out/nix-support/cc-cflags
'' + mkExtraBuildCommands cc;
'' + mkExtraBuildCommandsBasicRt cc;
};
clangNoLibc = wrapCCWith rec {
clangNoLibcWithBasicRt = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null;
bintools = bintoolsNoLibc';
extraPackages = [
targetLlvmLibraries.compiler-rt
targetLlvmLibraries.compiler-rt-no-libc
];
extraBuildCommands = ''
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
'' + mkExtraBuildCommands cc;
echo "-B${targetLlvmLibraries.compiler-rt-no-libc}/lib" >> $out/nix-support/cc-cflags
'' + mkExtraBuildCommandsBasicRt cc;
};
clangNoCompilerRt = wrapCCWith rec {
clangNoLibcNoRt = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null;
bintools = bintoolsNoLibc';
@ -282,6 +303,8 @@ let
'' + mkExtraBuildCommands0 cc;
};
# This is an "oddly ordered" bootstrap just for Darwin. Probably
# don't want it otherwise.
clangNoCompilerRtWithLibc = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null;
@ -290,13 +313,23 @@ let
extraBuildCommands = mkExtraBuildCommands0 cc;
};
# Aliases
clangNoCompilerRt = tools.clangNoLibcNoRt;
clangNoLibc = tools.clangNoLibcWithBasicRt;
clangNoLibcxx = tools.clangWithLibcAndBasicRt;
});
libraries = lib.makeExtensible (libraries: let
callPackage = newScope (libraries // buildLlvmTools // args // metadata);
in {
compiler-rt-libc = callPackage ../common/compiler-rt {
compiler-rt-libc = callPackage ../common/compiler-rt (let
stdenv =
if args.stdenv.hostPlatform.useLLVM or false then
overrideCC args.stdenv buildLlvmTools.clangWithLibcAndBasicRtAndLibcxx
else
args.stdenv;
in {
src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l";
patches = [
../common/compiler-rt/7-12-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
@ -312,10 +345,12 @@ let
../common/compiler-rt/armv6-sync-ops-no-thumb.patch
../common/compiler-rt/armv6-no-ldrexd-strexd.patch
];
stdenv = if stdenv.hostPlatform.useLLVM or false
then overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
else stdenv;
};
inherit stdenv;
} // lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
libxcrypt = (libxcrypt.override { inherit stdenv; }).overrideAttrs (old: {
configureFlags = old.configureFlags ++ [ "--disable-symvers" ];
});
});
compiler-rt-no-libc = callPackage ../common/compiler-rt {
src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l";
@ -333,15 +368,22 @@ let
../common/compiler-rt/armv6-sync-ops-no-thumb.patch
../common/compiler-rt/armv6-no-ldrexd-strexd.patch
];
stdenv = if stdenv.hostPlatform.useLLVM or false
then overrideCC stdenv buildLlvmTools.clangNoCompilerRt
else stdenv;
stdenv =
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform then
stdenv
else
# TODO: make this branch unconditional next rebuild
overrideCC stdenv buildLlvmTools.clangNoLibcNoRt;
};
# N.B. condition is safe because without useLLVM both are the same.
compiler-rt = if stdenv.hostPlatform.isAndroid
then libraries.compiler-rt-libc
else libraries.compiler-rt-no-libc;
compiler-rt =
# Building the with-libc compiler-rt and WASM doesn't yet work,
# because wasilibc doesn't provide some expected things. See
# compiler-rt's file for further details.
if stdenv.hostPlatform.libc == null || stdenv.hostPlatform.isWasm then
libraries.compiler-rt-no-libc
else
libraries.compiler-rt-libc;
stdenv = overrideCC stdenv buildLlvmTools.clang;
@ -376,7 +418,7 @@ let
];
})
];
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
stdenv = overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt;
};
libunwind = callPackage ../common/libunwind {
@ -384,7 +426,7 @@ let
patches = [
./libunwind/gnu-install-dirs.patch
];
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
stdenv = overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt;
};
openmp = callPackage ../common/openmp {

View File

@ -12,6 +12,7 @@
, python3
, xcbuild
, libllvm
, libcxx
, linuxHeaders
, libxcrypt
@ -33,6 +34,9 @@ let
useLLVM = stdenv.hostPlatform.useLLVM or false;
bareMetal = stdenv.hostPlatform.parsed.kernel.name == "none";
haveLibc = stdenv.cc.libc != null;
# TODO: Make this account for GCC having libstdcxx, which will help
# use clean up the `cmakeFlags` rats nest below.
haveLibcxx = stdenv.cc.libcxx != null;
isDarwinStatic = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isStatic && lib.versionAtLeast release_version "16";
inherit (stdenv.hostPlatform) isMusl isAarch64;
@ -46,7 +50,7 @@ let
cp -r ${monorepoSrc}/${baseName} "$out"
'' else src;
preConfigure = lib.optionalString (useLLVM && !haveLibc) ''
preConfigure = lib.optionalString (!haveLibc) ''
cmakeFlagsArray+=(-DCMAKE_C_FLAGS="-nodefaultlibs -ffreestanding")
'';
in
@ -82,23 +86,32 @@ stdenv.mkDerivation ({
"-DCMAKE_ASM_COMPILER_TARGET=${stdenv.hostPlatform.config}"
] ++ lib.optionals (haveLibc && stdenv.hostPlatform.libc == "glibc") [
"-DSANITIZER_COMMON_CFLAGS=-I${libxcrypt}/include"
] ++ lib.optionals ((useLLVM || bareMetal || isMusl || isAarch64) && (lib.versions.major release_version == "13")) [
] ++ lib.optionals (useLLVM && haveLibc && stdenv.cc.libcxx == libcxx) [
"-DSANITIZER_CXX_ABI=libcxxabi"
"-DSANITIZER_CXX_ABI_LIBNAME=libcxxabi"
"-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON"
] ++ lib.optionals ((!haveLibc || bareMetal || isMusl || isAarch64) && (lib.versions.major release_version == "13")) [
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
] ++ lib.optionals (useLLVM || bareMetal || isMusl || isDarwinStatic) [
] ++ lib.optionals (useLLVM && haveLibc) [
"-DCOMPILER_RT_BUILD_SANITIZERS=ON"
] ++ lib.optionals (!haveLibc || bareMetal || isMusl || isDarwinStatic) [
"-DCOMPILER_RT_BUILD_SANITIZERS=OFF"
] ++ lib.optionals ((useLLVM && !haveLibcxx) || !haveLibc || bareMetal || isMusl || isDarwinStatic) [
"-DCOMPILER_RT_BUILD_XRAY=OFF"
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF"
"-DCOMPILER_RT_BUILD_MEMPROF=OFF"
"-DCOMPILER_RT_BUILD_ORC=OFF" # may be possible to build with musl if necessary
] ++ lib.optionals (useLLVM || bareMetal) [
] ++ lib.optionals (useLLVM && haveLibc) [
"-DCOMPILER_RT_BUILD_PROFILE=ON"
] ++ lib.optionals (!haveLibc || bareMetal) [
"-DCOMPILER_RT_BUILD_PROFILE=OFF"
] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal || isDarwinStatic) [
] ++ lib.optionals (!haveLibc || bareMetal || isDarwinStatic) [
"-DCMAKE_CXX_COMPILER_WORKS=ON"
] ++ lib.optionals ((useLLVM && !haveLibc) || bareMetal) [
] ++ lib.optionals (!haveLibc || bareMetal) [
"-DCMAKE_C_COMPILER_WORKS=ON"
"-DCOMPILER_RT_BAREMETAL_BUILD=ON"
"-DCMAKE_SIZEOF_VOID_P=${toString (stdenv.hostPlatform.parsed.cpu.bits / 8)}"
] ++ lib.optionals (useLLVM && !haveLibc) [
] ++ lib.optionals (!haveLibc) [
"-DCMAKE_C_FLAGS=-nodefaultlibs"
] ++ lib.optionals (useLLVM) [
"-DCOMPILER_RT_BUILD_BUILTINS=ON"
@ -133,7 +146,7 @@ stdenv.mkDerivation ({
'' + lib.optionalString stdenv.isDarwin ''
substituteInPlace cmake/config-ix.cmake \
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
'' + lib.optionalString (useLLVM && !haveLibc) ((lib.optionalString (lib.versionAtLeast release_version "18") ''
'' + lib.optionalString (!haveLibc) ((lib.optionalString (lib.versionAtLeast release_version "18") ''
substituteInPlace lib/builtins/aarch64/sme-libc-routines.c \
--replace "<stdlib.h>" "<stddef.h>"
'') + ''
@ -179,8 +192,12 @@ stdenv.mkDerivation ({
# "All of the code in the compiler-rt project is dual licensed under the MIT
# license and the UIUC License (a BSD-like license)":
license = with lib.licenses; [ mit ncsa ];
# compiler-rt requires a Clang stdenv on 32-bit RISC-V:
# https://reviews.llvm.org/D43106#1019077
broken = stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang;
broken =
# compiler-rt requires a Clang stdenv on 32-bit RISC-V:
# https://reviews.llvm.org/D43106#1019077
(stdenv.hostPlatform.isRiscV32 && !stdenv.cc.isClang)
# emutls wants `<pthread.h>` which isn't avaiable (without exeprimental WASM threads proposal).
# `enable_execute_stack.c` Also doesn't sound like something WASM would support.
|| (stdenv.hostPlatform.isWasm && haveLibc);
};
} // (if lib.versionOlder release_version "16" then { inherit preConfigure; } else {}))

View File

@ -5,6 +5,7 @@
lib,
stdenv,
preLibcCrossHeaders,
libxcrypt,
substitute,
substituteAll,
fetchFromGitHub,
@ -114,6 +115,13 @@ let
ln -s "${cc.lib}/lib/clang/${clangVersion}/include" "$rsrc"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'';
mkExtraBuildCommandsBasicRt =
cc:
mkExtraBuildCommands0 cc
+ ''
ln -s "${targetLlvmLibraries.compiler-rt-no-libc.out}/lib" "$rsrc/lib"
ln -s "${targetLlvmLibraries.compiler-rt-no-libc.out}/share" "$rsrc/share"
'';
mkExtraBuildCommands =
cc:
mkExtraBuildCommands0 cc
@ -441,25 +449,76 @@ let
}
);
clangNoLibcxx = wrapCCWith (
clangWithLibcAndBasicRtAndLibcxx = wrapCCWith (
rec {
cc = tools.clang-unwrapped;
libcxx = null;
libcxx = targetLlvmLibraries.libcxx;
bintools = bintools';
extraPackages = [ targetLlvmLibraries.compiler-rt ];
extraPackages =
[ targetLlvmLibraries.compiler-rt-no-libc ]
++ lib.optionals (!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD) [
targetLlvmLibraries.libunwind
];
extraBuildCommands =
lib.optionalString (lib.versions.major metadata.release_version == "13") ''
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
echo "-nostdlib++" >> $out/nix-support/cc-cflags
''
+ mkExtraBuildCommands cc;
lib.optionalString (lib.versions.major metadata.release_version == "13") (
''
echo "-rtlib=compiler-rt -Wno-unused-command-line-argument" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt-no-libc}/lib" >> $out/nix-support/cc-cflags
''
+ lib.optionalString (!stdenv.targetPlatform.isWasm) ''
echo "--unwindlib=libunwind" >> $out/nix-support/cc-cflags
echo "-L${targetLlvmLibraries.libunwind}/lib" >> $out/nix-support/cc-ldflags
''
+ lib.optionalString (!stdenv.targetPlatform.isWasm && stdenv.targetPlatform.useLLVM or false) ''
echo "-lunwind" >> $out/nix-support/cc-ldflags
''
+ lib.optionalString stdenv.targetPlatform.isWasm ''
echo "-fno-exceptions" >> $out/nix-support/cc-cflags
''
)
+ mkExtraBuildCommandsBasicRt cc;
}
// lib.optionalAttrs (lib.versionAtLeast metadata.release_version "14") {
nixSupport.cc-cflags =
[
"-rtlib=compiler-rt"
"-B${targetLlvmLibraries.compiler-rt}/lib"
"-Wno-unused-command-line-argument"
"-B${targetLlvmLibraries.compiler-rt-no-libc}/lib"
]
++ lib.optional (
!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD
) "--unwindlib=libunwind"
++ lib.optional (
!stdenv.targetPlatform.isWasm
&& !stdenv.targetPlatform.isFreeBSD
&& stdenv.targetPlatform.useLLVM or false
) "-lunwind"
++ lib.optional stdenv.targetPlatform.isWasm "-fno-exceptions";
nixSupport.cc-ldflags = lib.optionals (
!stdenv.targetPlatform.isWasm && !stdenv.targetPlatform.isFreeBSD
) [ "-L${targetLlvmLibraries.libunwind}/lib" ];
}
);
clangWithLibcAndBasicRt = wrapCCWith (
rec {
cc = tools.clang-unwrapped;
libcxx = null;
bintools = bintools';
extraPackages = [ targetLlvmLibraries.compiler-rt-no-libc ];
extraBuildCommands =
lib.optionalString (lib.versions.major metadata.release_version == "13") ''
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt-no-libc}/lib" >> $out/nix-support/cc-cflags
echo "-nostdlib++" >> $out/nix-support/cc-cflags
''
+ mkExtraBuildCommandsBasicRt cc;
}
// lib.optionalAttrs (lib.versionAtLeast metadata.release_version "14") {
nixSupport.cc-cflags =
[
"-rtlib=compiler-rt"
"-B${targetLlvmLibraries.compiler-rt-no-libc}/lib"
"-nostdlib++"
]
++ lib.optional (
@ -468,24 +527,24 @@ let
}
);
clangNoLibc = wrapCCWith (
clangNoLibcWithBasicRt = wrapCCWith (
rec {
cc = tools.clang-unwrapped;
libcxx = null;
bintools = bintoolsNoLibc';
extraPackages = [ targetLlvmLibraries.compiler-rt ];
extraPackages = [ targetLlvmLibraries.compiler-rt-no-libc ];
extraBuildCommands =
lib.optionalString (lib.versions.major metadata.release_version == "13") ''
echo "-rtlib=compiler-rt" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt}/lib" >> $out/nix-support/cc-cflags
echo "-B${targetLlvmLibraries.compiler-rt-no-libc}/lib" >> $out/nix-support/cc-cflags
''
+ mkExtraBuildCommands cc;
+ mkExtraBuildCommandsBasicRt cc;
}
// lib.optionalAttrs (lib.versionAtLeast metadata.release_version "14") {
nixSupport.cc-cflags =
[
"-rtlib=compiler-rt"
"-B${targetLlvmLibraries.compiler-rt}/lib"
"-B${targetLlvmLibraries.compiler-rt-no-libc}/lib"
]
++ lib.optional (
lib.versionAtLeast metadata.release_version "15" && stdenv.targetPlatform.isWasm
@ -493,7 +552,7 @@ let
}
);
clangNoCompilerRt = wrapCCWith (
clangNoLibcNoRt = wrapCCWith (
rec {
cc = tools.clang-unwrapped;
libcxx = null;
@ -514,6 +573,8 @@ let
}
);
# This is an "oddly ordered" bootstrap just for Darwin. Probably
# don't want it otherwise.
clangNoCompilerRtWithLibc =
wrapCCWith rec {
cc = tools.clang-unwrapped;
@ -525,6 +586,11 @@ let
// lib.optionalAttrs (
lib.versionAtLeast metadata.release_version "15" && stdenv.targetPlatform.isWasm
) { nixSupport.cc-cflags = [ "-fno-exceptions" ]; };
# Aliases
clangNoCompilerRt = tools.clangNoLibcNoRt;
clangNoLibc = tools.clangNoLibcWithBasicRt;
clangNoLibcxx = tools.clangWithLibcAndBasicRt;
}
// lib.optionalAttrs (lib.versionAtLeast metadata.release_version "15") {
# TODO: pre-15: lldb/docs/index.rst:155:toctree contains reference to nonexisting document 'design/structureddataplugins'
@ -592,40 +658,57 @@ let
];
in
{
compiler-rt-libc = callPackage ./compiler-rt {
patches = compiler-rtPatches;
stdenv =
if
stdenv.hostPlatform.useLLVM or false
|| (
compiler-rt-libc = callPackage ./compiler-rt (
let
# temp rename to avoid infinite recursion
stdenv =
if args.stdenv.hostPlatform.useLLVM or false then
overrideCC args.stdenv buildLlvmTools.clangWithLibcAndBasicRtAndLibcxx
else if
lib.versionAtLeast metadata.release_version "16"
&& stdenv.hostPlatform.isDarwin
&& stdenv.hostPlatform.isStatic
)
then
overrideCC stdenv buildLlvmTools.clangNoCompilerRtWithLibc
else
args.stdenv;
};
&& args.stdenv.hostPlatform.isDarwin
&& args.stdenv.hostPlatform.isStatic
then
overrideCC args.stdenv buildLlvmTools.clangNoCompilerRtWithLibc
else
args.stdenv;
in
{
patches = compiler-rtPatches;
inherit stdenv;
}
// lib.optionalAttrs (stdenv.hostPlatform.useLLVM or false) {
libxcrypt = (libxcrypt.override { inherit stdenv; }).overrideAttrs (old: {
configureFlags = old.configureFlags ++ [ "--disable-symvers" ];
});
}
);
compiler-rt-no-libc = callPackage ./compiler-rt {
patches = compiler-rtPatches;
stdenv =
if stdenv.hostPlatform.useLLVM or false then
overrideCC stdenv buildLlvmTools.clangNoCompilerRt
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform == stdenv.buildPlatform then
stdenv
else
stdenv;
# TODO: make this branch unconditional next rebuild
overrideCC stdenv buildLlvmTools.clangNoLibcNoRt;
};
# N.B. condition is safe because without useLLVM both are the same.
compiler-rt =
if
stdenv.hostPlatform.isAndroid
|| (lib.versionAtLeast metadata.release_version "16" && stdenv.hostPlatform.isDarwin)
stdenv.hostPlatform.libc == null
# Building the with-libc compiler-rt and WASM doesn't yet work,
# because wasilibc doesn't provide some expected things. See
# compiler-rt's file for further details.
|| stdenv.hostPlatform.isWasm
# Failing `#include <term.h>` in
# `lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp`
# sanitizers, not sure where to get it.
|| stdenv.hostPlatform.isFreeBSD
then
libraries.compiler-rt-libc
libraries.compiler-rt-no-libc
else
libraries.compiler-rt-no-libc;
libraries.compiler-rt-libc;
stdenv = overrideCC stdenv buildLlvmTools.clang;
@ -689,7 +772,7 @@ let
)
# https://github.com/llvm/llvm-project/issues/64226
(metadata.getVersionFile "libcxx/0001-darwin-10.12-mbstate_t-fix.patch");
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
stdenv = overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt;
}
// lib.optionalAttrs (lib.versionOlder metadata.release_version "14") {
# TODO: remove this, causes LLVM 13 packages rebuild.
@ -701,7 +784,7 @@ let
patches = lib.optional (lib.versionOlder metadata.release_version "17") (
metadata.getVersionFile "libunwind/gnu-install-dirs.patch"
);
stdenv = overrideCC stdenv buildLlvmTools.clangNoLibcxx;
stdenv = overrideCC stdenv buildLlvmTools.clangWithLibcAndBasicRt;
};
openmp = callPackage ./openmp {

View File

@ -34,14 +34,14 @@
},
"29": {
"hashes": {
"aarch64-darwin": "07cb1c196db721f2094930e672cede0e55cbb2249d61bf856d98972e4dfb396b",
"aarch64-linux": "2d48177564b32b7a747798b4a10e8d8b65bc66d607be17910016d9edd40050cc",
"armv7l-linux": "d99590901a11e665c5d40cc2b7f11b151d4be47210ee7eea7ff732f807e63058",
"headers": "194vq6lcppf76ly7cz4b1299h8wfw6xvwfgfndqsqm1sg6g1hrmg",
"x86_64-darwin": "6ba1127154c444c1dee32872efb6f183659634a1ccae627fb0142f744938b3aa",
"x86_64-linux": "85ab5686909f131061d4a20f14f5bc2e95abe2aa51babcf90a2d54b60fe759d4"
"aarch64-darwin": "c4b1024ef77d3a6380541b3ae3b6cc60748ebdbeed17277cc2dc4b72944c1ddc",
"aarch64-linux": "b27d87b8d0da41cab3c683ac7fa71af84492fe5f9bcd5970da0c73901d18c5f8",
"armv7l-linux": "1f8681870ffda20a4f45afffd850619a55e711b3f6a033a5ac4a659540f7b339",
"headers": "0yzwc2d8hfrsrpg4m7234cyvcx9ch3psx9rsywbli1avzb8rkjdi",
"x86_64-darwin": "e3cf8e623049f18a0d7a7871fb5f14a9150352d7b1c5d59dca8388b3a9b42cb1",
"x86_64-linux": "b81bac1ffa3b0d82837d05212e988854ca9db0350c571857e0851f34443a5ecd"
},
"version": "29.4.4"
"version": "29.4.5"
},
"30": {
"hashes": {

View File

@ -1,14 +1,14 @@
{
"29": {
"hashes": {
"aarch64-darwin": "82e4158d2fc3f854911d665643d8fe9dfa90795c9599df797d01044d7381501b",
"aarch64-linux": "14ac2a9db3b183d51ed967700c93d56d38868695a180d40d8427a860162d6d2c",
"armv7l-linux": "7f35fa76df7c0e02c424b1461622c0620d45e7f4e56611626045136d9fa4ff04",
"headers": "194vq6lcppf76ly7cz4b1299h8wfw6xvwfgfndqsqm1sg6g1hrmg",
"x86_64-darwin": "b80fed41b99d4713fe7b44edbac0a74e5a6aafcfb019ae564c03b1380c6b8ac1",
"x86_64-linux": "b64425fe356aec15f4c8adf1e6a8b2caaccd989378bbe9d19632dd77a020ddfe"
"aarch64-darwin": "d2d4874957d6cf5b27168d9d1c96ef15cf333799b010dbee3bb6f64c16c228fb",
"aarch64-linux": "5bef9d44e32b853c31a11140c46304cfe2ba821e403beb55f14b9aa875ae1488",
"armv7l-linux": "128b6312f8677da8e133fc7878c7a476bd80f89d7002968e5f3d5946979c33a9",
"headers": "0yzwc2d8hfrsrpg4m7234cyvcx9ch3psx9rsywbli1avzb8rkjdi",
"x86_64-darwin": "f01ce2d13f6d3cdd957c06c90fc81ff1deb24b5d9084864bc0147acecaba2ea1",
"x86_64-linux": "4b305c3b0ce7b67316143162ba78bf217a95aa255c0cc847b2553551b0296790"
},
"version": "29.4.4"
"version": "29.4.5"
},
"30": {
"hashes": {

View File

@ -1831,10 +1831,10 @@
},
"src/electron": {
"fetcher": "fetchFromGitHub",
"hash": "sha256-nWCGQvQEXcImYaTWv+C3WjseqeSYtPvIRX6maD+BoGk=",
"hash": "sha256-CKDvVP0S2g4CIPzMXPLe5C8rqeWvF/0gaXam8bDynuw=",
"owner": "electron",
"repo": "electron",
"rev": "v29.4.4"
"rev": "v29.4.5"
},
"src/media/cdm/api": {
"fetcher": "fetchFromGitiles",
@ -2686,7 +2686,7 @@
"electron_yarn_hash": "0w41mjfnrhmkf2qy4lk5zwhc7afkaiqypxs4379s4ay1r6zpvf6q",
"modules": "121",
"node": "20.9.0",
"version": "29.4.4"
"version": "29.4.5"
},
"30": {
"chrome": "124.0.6367.243",