deno: 1.23.3 -> 1.23.4

This commit is contained in:
06kellyjac 2022-07-13 17:13:17 +01:00
parent e703a434b7
commit 18348a5e4d
3 changed files with 41 additions and 13 deletions

View File

@ -4,6 +4,8 @@
, fetchFromGitHub
, rustPlatform
, installShellFiles
, fetchpatch
, tinycc
, libiconv
, libobjc
, Security
@ -14,17 +16,38 @@
, 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.3";
version = "1.23.4";
src = fetchFromGitHub {
owner = "denoland";
repo = pname;
rev = "v${version}";
sha256 = "sha256-kxQZDuqVddooYeelW3gJBbU7N/PnARj/IG7eBVJoAJ8=";
sha256 = "sha256-nLQqfLRuh9mhZfjeiPaGpQbi5bXEg7HiGwrwDmaIRWM=";
};
cargoSha256 = "sha256-bQZpE3kBqN5+lPdHWiiUQsWQwuMkvnfHLy3S1HnS4lk=";
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=";
})
];
postPatch = ''
# upstream uses lld on aarch64-darwin for faster builds
@ -32,18 +55,21 @@ rustPlatform.buildRustPackage rec {
substituteInPlace .cargo/config.toml --replace '"-C", "link-arg=-fuse-ld=lld"' ""
'';
# Install completions post-install
nativeBuildInputs = [ installShellFiles ];
buildAndTestSubdir = "cli";
buildInputs = lib.optionals stdenv.isDarwin
[ libiconv libobjc Security CoreServices Metal Foundation QuartzCore ];
buildAndTestSubdir = "cli";
# The v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem
# To avoid this we pre-download the file and export it via RUSTY_V8_ARCHIVE
RUSTY_V8_ARCHIVE = librusty_v8;
# 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";
# Tests have some inconsistencies between runs with output integration tests
# Skipping until resolved
doCheck = false;

View File

@ -11,11 +11,11 @@ let
};
in
fetch_librusty_v8 {
version = "0.44.3";
version = "0.45.0";
shas = {
x86_64-linux = "sha256-0l05QWfWICFTStB0AVGMAzB28MFOe4kH7Y5mT6CxvGc=";
aarch64-linux = "sha256-G2yZPD1lXHZvEX3CwnijoFyWF2dv6fM07+xK0oYKMVU=";
x86_64-darwin = "sha256-f0lBrayYNo7ivCqeJcYF5EMEnmrgH+qHLofMzbUJ+Os=";
aarch64-darwin = "sha256-3DG8IIMeniYLk+GyK0znFpx/f3URxFy5SFMusEPzykU=";
x86_64-linux = "sha256-yZw6zwEhJyRntqOmyk03N+sHxzIrbY/e67AQ21ePlAU=";
aarch64-linux = "sha256-2p21Smm5wZycv9u+yDbyerKTjSTB7yau5WC2aJ+Vr8w=";
x86_64-darwin = "sha256-HO287V+iBwdqKZUWhZJnuGJO9RE4wGG4cQMN8CkB7WQ=";
aarch64-darwin = "sha256-ekoMhWMQpBUdM7R7i82NWrNtQMNqCujNYy1ijOxT64U=";
};
}

View File

@ -1,3 +1,4 @@
import * as toml from "https://deno.land/std@0.148.0/encoding/toml.ts";
import {
genValueRegExp,
getExistingVersion,
@ -7,6 +8,7 @@ import {
write,
} from "./common.ts";
const log = logger("librusty_v8");
export interface Architecture {
@ -25,7 +27,7 @@ const getLibrustyV8Version = async (
) =>
fetch(`https://github.com/${owner}/${repo}/raw/${version}/core/Cargo.toml`)
.then((res) => res.text())
.then((txt) => txt.match(genValueRegExp("v8", versionRegExp))?.shift());
.then((txt) => mod.parse(txt).dependencies.v8.version);
const fetchArchShaTasks = (version: string, arches: Architecture[]) =>
arches.map(