mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-15 22:19:17 +03:00
deno_1: init at 1.46.3
Add a pre v2 copy of deno as deno_1 to provide some stability until our next release and until 1.46 is fully abandoned soon. deno_1 is expected to be removed prior to 24.11. Added a release note.
This commit is contained in:
parent
43984407b5
commit
dfce2bc3a7
12 changed files with 228 additions and 1 deletions
|
@ -205,7 +205,7 @@
|
||||||
|
|
||||||
- `grafana` has been updated to version 11.1. This version doesn't support setting `http_addr` to a hostname anymore, an IP address is expected.
|
- `grafana` has been updated to version 11.1. This version doesn't support setting `http_addr` to a hostname anymore, an IP address is expected.
|
||||||
|
|
||||||
- `deno` has been updated to v2 which has breaking changes.
|
- `deno` has been updated to v2 which has breaking changes. Upstream will be abandoning v1 soon but for now you can use `deno_1` if you are yet to migrate (will be removed prior to cutting a final 24.11 release).
|
||||||
|
|
||||||
- `knot-dns` has been updated to version 3.4.x. Check the [migration guide](https://www.knot-dns.cz/docs/latest/html/migration.html#upgrade-3-3-x-to-3-4-x) for breaking changes.
|
- `knot-dns` has been updated to version 3.4.x. Check the [migration guide](https://www.knot-dns.cz/docs/latest/html/migration.html#upgrade-3-3-x-to-3-4-x) for breaking changes.
|
||||||
|
|
||||||
|
|
12
pkgs/by-name/de/deno/1/librusty_v8.nix
Normal file
12
pkgs/by-name/de/deno/1/librusty_v8.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# auto-generated file -- DO NOT EDIT!
|
||||||
|
{ fetchLibrustyV8 }:
|
||||||
|
|
||||||
|
fetchLibrustyV8 {
|
||||||
|
version = "0.105.0";
|
||||||
|
shas = {
|
||||||
|
x86_64-linux = "sha256-9yON4DNPxm4IUZSLZp9VZtzSRPPWX1tEuQLVJmN8cLs=";
|
||||||
|
aarch64-linux = "sha256-5vAjw2vimjCHKPxjIp5vcwMCWUUDYVlk4QyOeEI0DLY=";
|
||||||
|
x86_64-darwin = "sha256-o4WRkg4ptiJTNMkorn5K+P8xOJwpChM5PqkZCjP076g=";
|
||||||
|
aarch64-darwin = "sha256-ZuWBnvxu1PgDtjtguxtj3BhFO01AChlbjAS0kZUws3A=";
|
||||||
|
};
|
||||||
|
}
|
118
pkgs/by-name/de/deno/1/package.nix
Normal file
118
pkgs/by-name/de/deno/1/package.nix
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
callPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
rustPlatform,
|
||||||
|
cmake,
|
||||||
|
protobuf,
|
||||||
|
installShellFiles,
|
||||||
|
libiconv,
|
||||||
|
darwin,
|
||||||
|
librusty_v8 ? callPackage ./librusty_v8.nix {
|
||||||
|
inherit (callPackage ../fetchers.nix { }) fetchLibrustyV8;
|
||||||
|
},
|
||||||
|
}:
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "deno";
|
||||||
|
version = "1.46.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "denoland";
|
||||||
|
repo = "deno";
|
||||||
|
rev = "refs/tags/v${version}";
|
||||||
|
hash = "sha256-AM6SjcIHo6Koxcnznhkv3cXoKaMy2TEVpiWe/bczDuA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-D+CZpb6OTzM5Il0k8GQB7qSONy4myE5yKlaSkLLqHT8=";
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
# upstream uses lld on aarch64-darwin for faster builds
|
||||||
|
# within nix lld looks for CoreFoundation rather than CoreFoundation.tbd and fails
|
||||||
|
substituteInPlace .cargo/config.toml --replace "-fuse-ld=lld " ""
|
||||||
|
'';
|
||||||
|
|
||||||
|
# uses zlib-ng but can't dynamically link yet
|
||||||
|
# https://github.com/rust-lang/libz-sys/issues/158
|
||||||
|
nativeBuildInputs = [
|
||||||
|
# required by libz-ng-sys crate
|
||||||
|
cmake
|
||||||
|
# required by deno_kv crate
|
||||||
|
protobuf
|
||||||
|
installShellFiles
|
||||||
|
];
|
||||||
|
buildInputs = lib.optionals stdenv.isDarwin (
|
||||||
|
[
|
||||||
|
libiconv
|
||||||
|
darwin.libobjc
|
||||||
|
]
|
||||||
|
++ (with darwin.apple_sdk_11_0.frameworks; [
|
||||||
|
Security
|
||||||
|
CoreServices
|
||||||
|
Metal
|
||||||
|
MetalPerformanceShaders
|
||||||
|
Foundation
|
||||||
|
QuartzCore
|
||||||
|
])
|
||||||
|
);
|
||||||
|
|
||||||
|
buildAndTestSubdir = "cli";
|
||||||
|
|
||||||
|
# work around "error: unknown warning group '-Wunused-but-set-parameter'"
|
||||||
|
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-unknown-warning-option";
|
||||||
|
# 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
|
||||||
|
env.RUSTY_V8_ARCHIVE = librusty_v8;
|
||||||
|
|
||||||
|
# Tests have some inconsistencies between runs with output integration tests
|
||||||
|
# Skipping until resolved
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
preInstall = ''
|
||||||
|
find ./target -name libswc_common${stdenv.hostPlatform.extensions.sharedLibrary} -delete
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||||
|
installShellCompletion --cmd deno \
|
||||||
|
--bash <($out/bin/deno completions bash) \
|
||||||
|
--fish <($out/bin/deno completions fish) \
|
||||||
|
--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.tests = callPackage ./tests { };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://deno.land/";
|
||||||
|
changelog = "https://github.com/denoland/deno/releases/tag/v${version}";
|
||||||
|
description = "Secure runtime for JavaScript and TypeScript";
|
||||||
|
longDescription = ''
|
||||||
|
Deno aims to be a productive and secure scripting environment for the modern programmer.
|
||||||
|
Deno will always be distributed as a single executable.
|
||||||
|
Given a URL to a Deno program, it is runnable with nothing more than the ~15 megabyte zipped executable.
|
||||||
|
Deno explicitly takes on the role of both runtime and package manager.
|
||||||
|
It uses a standard browser-compatible protocol for loading modules: URLs.
|
||||||
|
Among other things, Deno is a great replacement for utility scripts that may have been historically written with
|
||||||
|
bash or python.
|
||||||
|
'';
|
||||||
|
license = licenses.mit;
|
||||||
|
mainProgram = "deno";
|
||||||
|
maintainers = with maintainers; [ jk ];
|
||||||
|
platforms = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
"x86_64-darwin"
|
||||||
|
"aarch64-darwin"
|
||||||
|
];
|
||||||
|
# NOTE: `aligned_alloc` error on darwin SDK < 10.15. Can't do usual overrideSDK with rust toolchain in current implementation.
|
||||||
|
# Should be fixed with darwin SDK refactor and can be revisited.
|
||||||
|
badPlatforms = [ "x86_64-darwin" ];
|
||||||
|
};
|
||||||
|
}
|
1
pkgs/by-name/de/deno/1/tests/basic.ts
Normal file
1
pkgs/by-name/de/deno/1/tests/basic.ts
Normal file
|
@ -0,0 +1 @@
|
||||||
|
console.log(1 + 1)
|
79
pkgs/by-name/de/deno/1/tests/default.nix
Normal file
79
pkgs/by-name/de/deno/1/tests/default.nix
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
{
|
||||||
|
deno,
|
||||||
|
runCommand,
|
||||||
|
lib,
|
||||||
|
testers,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
testDenoRun =
|
||||||
|
name:
|
||||||
|
{
|
||||||
|
args ? "",
|
||||||
|
dir ? ./. + "/${name}",
|
||||||
|
file ? "index.ts",
|
||||||
|
expected ? "",
|
||||||
|
expectFailure ? false,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
command = "deno run ${args} ${dir}/${file}";
|
||||||
|
in
|
||||||
|
runCommand "deno-test-${name}"
|
||||||
|
{
|
||||||
|
nativeBuildInputs = [ deno ];
|
||||||
|
meta.timeout = 60;
|
||||||
|
}
|
||||||
|
''
|
||||||
|
HOME=$(mktemp -d)
|
||||||
|
if output=$(${command} 2>&1); then
|
||||||
|
if [[ $output =~ '${expected}' ]]; then
|
||||||
|
echo "Test '${name}' passed"
|
||||||
|
touch $out
|
||||||
|
else
|
||||||
|
echo -n ${lib.escapeShellArg command} >&2
|
||||||
|
echo " output did not match what was expected." >&2
|
||||||
|
echo "The expected was:" >&2
|
||||||
|
echo '${expected}' >&2
|
||||||
|
echo "The output was:" >&2
|
||||||
|
echo "$output" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [[ "${toString expectFailure}" == "1" ]]; then
|
||||||
|
echo "Test '${name}' failed as expected"
|
||||||
|
touch $out
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
echo -n ${lib.escapeShellArg command} >&2
|
||||||
|
echo " returned a non-zero exit code." >&2
|
||||||
|
echo "$output" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
(lib.mapAttrs testDenoRun {
|
||||||
|
basic = {
|
||||||
|
dir = ./.;
|
||||||
|
file = "basic.ts";
|
||||||
|
expected = "2";
|
||||||
|
};
|
||||||
|
import-json = {
|
||||||
|
expected = "hello from JSON";
|
||||||
|
};
|
||||||
|
import-ts = {
|
||||||
|
expected = "hello from ts";
|
||||||
|
};
|
||||||
|
read-file = {
|
||||||
|
args = "--allow-read";
|
||||||
|
expected = "hello from a file";
|
||||||
|
};
|
||||||
|
fail-read-file = {
|
||||||
|
expectFailure = true;
|
||||||
|
dir = ./read-file;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
// {
|
||||||
|
version = testers.testVersion {
|
||||||
|
package = deno;
|
||||||
|
command = "deno --version";
|
||||||
|
};
|
||||||
|
}
|
1
pkgs/by-name/de/deno/1/tests/import-json/data.json
Normal file
1
pkgs/by-name/de/deno/1/tests/import-json/data.json
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{ "msg": "hello from JSON" }
|
2
pkgs/by-name/de/deno/1/tests/import-json/index.ts
Normal file
2
pkgs/by-name/de/deno/1/tests/import-json/index.ts
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
import file from "./data.json" assert { type: "json" };
|
||||||
|
console.log(file.msg);
|
3
pkgs/by-name/de/deno/1/tests/import-ts/index.ts
Normal file
3
pkgs/by-name/de/deno/1/tests/import-ts/index.ts
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import { sayHello } from "./lib.ts"
|
||||||
|
|
||||||
|
sayHello("ts")
|
3
pkgs/by-name/de/deno/1/tests/import-ts/lib.ts
Normal file
3
pkgs/by-name/de/deno/1/tests/import-ts/lib.ts
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
export function sayHello(thing: string) {
|
||||||
|
console.log(`hello from ${thing}`);
|
||||||
|
}
|
1
pkgs/by-name/de/deno/1/tests/read-file/data.txt
Normal file
1
pkgs/by-name/de/deno/1/tests/read-file/data.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
hello from a file
|
5
pkgs/by-name/de/deno/1/tests/read-file/index.ts
Normal file
5
pkgs/by-name/de/deno/1/tests/read-file/index.ts
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
// trim 'file://' prefix
|
||||||
|
const thisDir = Deno.mainModule.substring(7, Deno.mainModule.length);
|
||||||
|
const getParent = (path: string) => path.substring(0, path.lastIndexOf("/"))
|
||||||
|
const text = await Deno.readTextFile(getParent(thisDir) + "/data.txt");
|
||||||
|
console.log(text);
|
|
@ -6839,6 +6839,8 @@ with pkgs;
|
||||||
|
|
||||||
deer = callPackage ../shells/zsh/zsh-deer { };
|
deer = callPackage ../shells/zsh/zsh-deer { };
|
||||||
|
|
||||||
|
deno_1 = callPackage ../by-name/de/deno/1/package.nix { };
|
||||||
|
|
||||||
deqp-runner = callPackage ../tools/graphics/deqp-runner { };
|
deqp-runner = callPackage ../tools/graphics/deqp-runner { };
|
||||||
|
|
||||||
detox = callPackage ../tools/misc/detox { };
|
detox = callPackage ../tools/misc/detox { };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue