deno: 1.6.3 -> 1.8.0
Added aarch64-darwin as it's been manually complied and added to releases since 0.14.0 Removed fetchSubmodules as it couldn't fetch wpt at detached commit a51d36327febebc8634d7b523a7e620f4ebdbf26. Doesn't seem required for much other than testing. Added installCheckPhase Moved the librusty_v8 stuff within the preBuild phase and changed the names Skipped 1.7.X releases as there wasn't an aarch64-linux release of librusty_v8.a available
This commit is contained in:
parent
163ffe2fe4
commit
dd50d1df59
|
@ -1,4 +1,5 @@
|
||||||
{ lib, stdenv
|
{ stdenv
|
||||||
|
, lib
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, rust
|
, rust
|
||||||
|
@ -7,27 +8,18 @@
|
||||||
, Security
|
, Security
|
||||||
, CoreServices
|
, CoreServices
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
deps = import ./deps.nix { };
|
|
||||||
arch = rust.toRustTarget stdenv.hostPlatform;
|
|
||||||
rustyV8Lib = with deps.rustyV8Lib; fetchurl {
|
|
||||||
url = "https://github.com/denoland/rusty_v8/releases/download/v${version}/librusty_v8_release_${arch}.a";
|
|
||||||
sha256 = sha256s."${stdenv.hostPlatform.system}";
|
|
||||||
meta = { inherit version; };
|
|
||||||
};
|
|
||||||
in
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "deno";
|
pname = "deno";
|
||||||
version = "1.6.3";
|
version = "1.8.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "denoland";
|
owner = "denoland";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1wmkx458fpsfw57ysawxc0ghxag8v051hiyswm7nnb7gckrm6j8z";
|
sha256 = "sha256-26VTwc99XunkTqsdP4b7axjflLL93PGkgjGtMmI4/4A=";
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
};
|
||||||
cargoSha256 = "08vzsp53019gmxkn8lpa6l84w3fvbrnr11lzrfgf99nmii6l2hq5";
|
cargoSha256 = "sha256-T/xu/uokDvf9nBXNL31oXl+L5KifSs+bF4J7Tfw37zs=";
|
||||||
|
|
||||||
# Install completions post-install
|
# Install completions post-install
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
@ -36,17 +28,27 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
# The rusty_v8 package will try to download a `librusty_v8.a` release at build time to our read-only filesystem
|
# The rusty_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 place it in the locations it will require it in advance
|
# To avoid this we pre-download the file and place it in the locations it will require it in advance
|
||||||
preBuild = ''
|
preBuild =
|
||||||
_rusty_v8_setup() {
|
let
|
||||||
for v in "$@"; do
|
inherit (import ./deps.nix { }) librusty_v8;
|
||||||
dir="target/$v/gn_out/obj"
|
arch = rust.toRustTarget stdenv.hostPlatform;
|
||||||
mkdir -p "$dir" && cp "${rustyV8Lib}" "$dir/librusty_v8.a"
|
librusty_v8_release = fetchurl {
|
||||||
done
|
url = "https://github.com/denoland/rusty_v8/releases/download/v${librusty_v8.version}/librusty_v8_release_${arch}.a";
|
||||||
}
|
sha256 = librusty_v8.sha256s.${stdenv.hostPlatform.system};
|
||||||
|
meta = { inherit (librusty_v8) version; };
|
||||||
|
};
|
||||||
|
in
|
||||||
|
''
|
||||||
|
_rusty_v8_setup() {
|
||||||
|
for v in "$@"; do
|
||||||
|
dir="target/$v/gn_out/obj"
|
||||||
|
mkdir -p "$dir" && cp "${librusty_v8_release}" "$dir/librusty_v8.a"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
# Copy over the `librusty_v8.a` file inside target/XYZ/gn_out/obj, symlink not allowed
|
# Copy over the `librusty_v8.a` file inside target/XYZ/gn_out/obj, symlink not allowed
|
||||||
_rusty_v8_setup "debug" "release" "${arch}/release"
|
_rusty_v8_setup "debug" "release" "${arch}/release"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Tests have some inconsistencies between runs with output integration tests
|
# Tests have some inconsistencies between runs with output integration tests
|
||||||
# Skipping until resolved
|
# Skipping until resolved
|
||||||
|
@ -54,7 +56,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# remove test plugin and test server
|
# remove test plugin and test server
|
||||||
rm -rf $out/lib $out/bin/test_server
|
rm -r $out/lib $out/bin/test_server $out/bin/denort
|
||||||
|
|
||||||
installShellCompletion --cmd deno \
|
installShellCompletion --cmd deno \
|
||||||
--bash <($out/bin/deno completions bash) \
|
--bash <($out/bin/deno completions bash) \
|
||||||
|
@ -62,11 +64,19 @@ rustPlatform.buildRustPackage rec {
|
||||||
--zsh <($out/bin/deno completions zsh)
|
--zsh <($out/bin/deno completions zsh)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
runHook preInstallCheck
|
||||||
|
$out/bin/deno --help
|
||||||
|
$out/bin/deno --version | grep "deno ${version}"
|
||||||
|
runHook postInstallCheck
|
||||||
|
'';
|
||||||
|
|
||||||
passthru.updateScript = ./update/update.ts;
|
passthru.updateScript = ./update/update.ts;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://deno.land/";
|
homepage = "https://deno.land/";
|
||||||
changelog = "${src.meta.homepage}/releases/tag/v${version}";
|
changelog = "https://github.com/denoland/deno/releases/tag/v${version}";
|
||||||
description = "A secure runtime for JavaScript and TypeScript";
|
description = "A secure runtime for JavaScript and TypeScript";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
Deno aims to be a productive and secure scripting environment for the modern programmer.
|
Deno aims to be a productive and secure scripting environment for the modern programmer.
|
||||||
|
@ -79,6 +89,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
'';
|
'';
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = with maintainers; [ jk ];
|
maintainers = with maintainers; [ jk ];
|
||||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
|
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
# auto-generated file -- DO NOT EDIT!
|
# auto-generated file -- DO NOT EDIT!
|
||||||
{}:
|
{}:
|
||||||
rec {
|
rec {
|
||||||
rustyV8Lib = {
|
librusty_v8 = {
|
||||||
version = "0.15.0";
|
version = "0.20.0";
|
||||||
sha256s = {
|
sha256s = {
|
||||||
x86_64-linux = "1j789pvqh44vsffzl5wg3pp3awrlixjrhbnjx2klsml7jv0lp0mq";
|
x86_64-linux = "1y0av2hghdvk2qv8kgw29x833wy31i89z7z6hw4jd1y21ihqsdd5";
|
||||||
aarch64-linux = "13srja4vc275ygm806hcsr8mxjnd9qkzaqs58lxnp0702qs5xls6";
|
aarch64-linux = "0726ay48w74y79j892is8qxx0kg3m35lmbniwcgy37idxm06vx28";
|
||||||
x86_64-darwin = "0aij9yb5i1r3pz0pyl51qdbgfspfdngwbk1qgkp4gxzl3cbnysx1";
|
x86_64-darwin = "0gmfdmd5dvxh5xyxsq3nk8fpvdmpczq7nmj1b2zsakl8v3j14jck";
|
||||||
|
aarch64-darwin = "1zw3pxp13s38wspv5lwcns02wzrqagay9zjxj2wiygfzzr5b2c88";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@ const templateDeps = (version: string, deps: PrefetchResult[]) =>
|
||||||
`# auto-generated file -- DO NOT EDIT!
|
`# auto-generated file -- DO NOT EDIT!
|
||||||
{}:
|
{}:
|
||||||
rec {
|
rec {
|
||||||
rustyV8Lib = {
|
librusty_v8 = {
|
||||||
version = "${version}";
|
version = "${version}";
|
||||||
sha256s = {
|
sha256s = {
|
||||||
${deps.map((d) => ` ${d.arch.nix} = "${d.sha256}";`).join("\n")}
|
${deps.map((d) => ` ${d.arch.nix} = "${d.sha256}";`).join("\n")}
|
||||||
|
@ -65,9 +65,9 @@ export async function updateDeps(
|
||||||
// 0.0.0
|
// 0.0.0
|
||||||
const version = await getRustyV8Version(owner, repo, denoVersion);
|
const version = await getRustyV8Version(owner, repo, denoVersion);
|
||||||
if (typeof version !== "string") {
|
if (typeof version !== "string") {
|
||||||
throw "no rusty_v8 version";
|
throw "no librusty_v8 version";
|
||||||
}
|
}
|
||||||
log("rusty_v8 version:", version);
|
log("librusty_v8 version:", version);
|
||||||
const existingVersion = await getExistingVersion(filePath);
|
const existingVersion = await getExistingVersion(filePath);
|
||||||
if (version === existingVersion) {
|
if (version === existingVersion) {
|
||||||
log("Version already matches latest, skipping...");
|
log("Version already matches latest, skipping...");
|
||||||
|
|
|
@ -24,6 +24,7 @@ const architectures: Architecture[] = [
|
||||||
{ nix: "x86_64-linux", rust: "x86_64-unknown-linux-gnu" },
|
{ nix: "x86_64-linux", rust: "x86_64-unknown-linux-gnu" },
|
||||||
{ nix: "aarch64-linux", rust: "aarch64-unknown-linux-gnu" },
|
{ nix: "aarch64-linux", rust: "aarch64-unknown-linux-gnu" },
|
||||||
{ nix: "x86_64-darwin", rust: "x86_64-apple-darwin" },
|
{ nix: "x86_64-darwin", rust: "x86_64-apple-darwin" },
|
||||||
|
{ nix: "aarch64-darwin", rust: "aarch64-apple-darwin" },
|
||||||
];
|
];
|
||||||
|
|
||||||
log("Updating deno");
|
log("Updating deno");
|
||||||
|
|
Loading…
Reference in New Issue