Merge pull request #182311 from 06kellyjac/deno

This commit is contained in:
Sandro 2022-09-07 18:35:19 +02:00 committed by GitHub
commit 759945155a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 33 deletions

View File

@ -8,6 +8,10 @@
, which
}:
let
# avoid "malformed 32-bit x.y.z" error on mac when using clang
isCleanVer = version: builtins.match "^[0-9]\\.+[0-9]+\\.[0-9]+" version != null;
in
stdenv.mkDerivation rec {
pname = "tcc";
version = "unstable-2022-07-15";
@ -62,7 +66,11 @@ stdenv.mkDerivation rec {
];
preConfigure = ''
echo ${version} > VERSION
${
if stdenv.isDarwin && ! isCleanVer version
then "echo 'not overwriting VERSION since it would upset ld'"
else "echo ${version} > VERSION"
}
configureFlagsArray+=("--elfinterp=$(< $NIX_CC/nix-support/dynamic-linker)")
'';

View File

@ -4,7 +4,6 @@
, fetchFromGitHub
, rustPlatform
, installShellFiles
, fetchpatch
, tinycc
, libiconv
, libobjc
@ -16,38 +15,17 @@
, librusty_v8 ? callPackage ./librusty_v8.nix { }
}:
let
libtcc = tinycc.overrideAttrs (oa: {
makeFlags = [ "libtcc.a" ];
# tests want tcc binary
doCheck = false;
outputs = [ "out" ];
installPhase = ''
mkdir -p $out/lib/
mv libtcc.a $out/lib/
'';
});
in
rustPlatform.buildRustPackage rec {
pname = "deno";
version = "1.23.4";
version = "1.25.1";
src = fetchFromGitHub {
owner = "denoland";
repo = pname;
rev = "v${version}";
sha256 = "sha256-nLQqfLRuh9mhZfjeiPaGpQbi5bXEg7HiGwrwDmaIRWM=";
sha256 = "sha256-nKMQDfCU1HsOfdzVwmgCIWa/rUmvufHlsS9jcDwcZzw=";
};
cargoSha256 = "sha256-l5Ce/ypYXZKEi859OFskwC/Unpo842ZPxIHvp6lCjQc=";
patches = [
# remove after https://github.com/denoland/deno/pull/15193 is in a release
(fetchpatch {
name = "byo-tcc.patch";
url = "https://github.com/denoland/deno/pull/15193/commits/c43698b2b58af1ef69b1558d55c8ebea0268dfea.patch";
sha256 = "sha256-YE5mGHyEm20FjFhr8yveBRlrOVL3+qQYxz2xp/IfmJs=";
})
];
cargoSha256 = "sha256-jFoVQK74gnhC6Ume/PHe8NG7rNeTkwPMBBWn/hT7nCs=";
postPatch = ''
# upstream uses lld on aarch64-darwin for faster builds
@ -68,7 +46,20 @@ rustPlatform.buildRustPackage rec {
# The deno_ffi package currently needs libtcc.a on linux and macos and will try to compile it at build time
# To avoid this we point it to our copy (dir)
# In the future tinycc will be replaced with asm
DENO_FFI_LIBTCC = "${libtcc}/lib";
libtcc = tinycc.overrideAttrs (oa: {
makeFlags = [ "libtcc.a" ];
# tests want tcc binary
doCheck = false;
outputs = [ "out" ];
installPhase = ''
mkdir -p $out/lib/
mv libtcc.a $out/lib/
'';
# building the whole of tcc on darwin is broken in nixpkgs
# but just building libtcc.a works fine so mark this as unbroken
meta.broken = false;
});
TCC_PATH = "${libtcc}/lib";
# Tests have some inconsistencies between runs with output integration tests
# Skipping until resolved

View File

@ -11,11 +11,11 @@ let
};
in
fetch_librusty_v8 {
version = "0.45.0";
version = "0.49.0";
shas = {
x86_64-linux = "sha256-yZw6zwEhJyRntqOmyk03N+sHxzIrbY/e67AQ21ePlAU=";
aarch64-linux = "sha256-2p21Smm5wZycv9u+yDbyerKTjSTB7yau5WC2aJ+Vr8w=";
x86_64-darwin = "sha256-HO287V+iBwdqKZUWhZJnuGJO9RE4wGG4cQMN8CkB7WQ=";
aarch64-darwin = "sha256-ekoMhWMQpBUdM7R7i82NWrNtQMNqCujNYy1ijOxT64U=";
x86_64-linux = "sha256-l6+NdMzYI9r2aHU7/OUhbgmc/LmAZjEFL8y8GrJ+EX8=";
aarch64-linux = "sha256-uo+/Wsrlkm+xotoIr8xlQWoiWzMz02TKFW+olfXtpz8=";
x86_64-darwin = "sha256-gWxljTgt6aXUzwex2zu46B9YzTvhN0Pi9C1Ll1eiohg=";
aarch64-darwin = "sha256-/UnBIQ/wA/0biIG9vIDKylhqFJ8QCoqjKH7xiePZ/eg=";
};
}

View File

@ -27,7 +27,7 @@ const getLibrustyV8Version = async (
) =>
fetch(`https://github.com/${owner}/${repo}/raw/${version}/core/Cargo.toml`)
.then((res) => res.text())
.then((txt) => mod.parse(txt).dependencies.v8.version);
.then((txt) => toml.parse(txt).dependencies.v8.version);
const fetchArchShaTasks = (version: string, arches: Architecture[]) =>
arches.map(