diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 98d9ed30cec8..bc894410620f 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -216,7 +216,8 @@ - `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. 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). +- `deno` has been updated to Deno 2, which has breaking changes. + See the [migration guide](https://docs.deno.com/runtime/reference/migration_guide/) for details. - `gogs` has been removed. Upstream development has stalled and it has several [critical vulnerabilities](https://github.com/gogs/gogs/issues/7777) that weren't addressed diff --git a/pkgs/by-name/de/deno/1/librusty_v8.nix b/pkgs/by-name/de/deno/1/librusty_v8.nix deleted file mode 100644 index f36371830ebf..000000000000 --- a/pkgs/by-name/de/deno/1/librusty_v8.nix +++ /dev/null @@ -1,12 +0,0 @@ -# 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="; - }; -} diff --git a/pkgs/by-name/de/deno/1/package.nix b/pkgs/by-name/de/deno/1/package.nix deleted file mode 100644 index 3b2774153171..000000000000 --- a/pkgs/by-name/de/deno/1/package.nix +++ /dev/null @@ -1,118 +0,0 @@ -{ - 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" ]; - }; -} diff --git a/pkgs/by-name/de/deno/1/tests/basic.ts b/pkgs/by-name/de/deno/1/tests/basic.ts deleted file mode 100644 index 5959aa217b3c..000000000000 --- a/pkgs/by-name/de/deno/1/tests/basic.ts +++ /dev/null @@ -1 +0,0 @@ -console.log(1 + 1) diff --git a/pkgs/by-name/de/deno/1/tests/default.nix b/pkgs/by-name/de/deno/1/tests/default.nix deleted file mode 100644 index c28490ee0d00..000000000000 --- a/pkgs/by-name/de/deno/1/tests/default.nix +++ /dev/null @@ -1,79 +0,0 @@ -{ - 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"; - }; -} diff --git a/pkgs/by-name/de/deno/1/tests/import-json/data.json b/pkgs/by-name/de/deno/1/tests/import-json/data.json deleted file mode 100644 index 7f0de9ebe0b9..000000000000 --- a/pkgs/by-name/de/deno/1/tests/import-json/data.json +++ /dev/null @@ -1 +0,0 @@ -{ "msg": "hello from JSON" } diff --git a/pkgs/by-name/de/deno/1/tests/import-json/index.ts b/pkgs/by-name/de/deno/1/tests/import-json/index.ts deleted file mode 100644 index 525f25f74da2..000000000000 --- a/pkgs/by-name/de/deno/1/tests/import-json/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -import file from "./data.json" assert { type: "json" }; -console.log(file.msg); diff --git a/pkgs/by-name/de/deno/1/tests/import-ts/index.ts b/pkgs/by-name/de/deno/1/tests/import-ts/index.ts deleted file mode 100644 index 34fec283a169..000000000000 --- a/pkgs/by-name/de/deno/1/tests/import-ts/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { sayHello } from "./lib.ts" - -sayHello("ts") diff --git a/pkgs/by-name/de/deno/1/tests/import-ts/lib.ts b/pkgs/by-name/de/deno/1/tests/import-ts/lib.ts deleted file mode 100644 index 3b5e05aaaaf3..000000000000 --- a/pkgs/by-name/de/deno/1/tests/import-ts/lib.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function sayHello(thing: string) { - console.log(`hello from ${thing}`); -} diff --git a/pkgs/by-name/de/deno/1/tests/read-file/data.txt b/pkgs/by-name/de/deno/1/tests/read-file/data.txt deleted file mode 100644 index 7eee1b0c107c..000000000000 --- a/pkgs/by-name/de/deno/1/tests/read-file/data.txt +++ /dev/null @@ -1 +0,0 @@ -hello from a file diff --git a/pkgs/by-name/de/deno/1/tests/read-file/index.ts b/pkgs/by-name/de/deno/1/tests/read-file/index.ts deleted file mode 100644 index be792a3d6628..000000000000 --- a/pkgs/by-name/de/deno/1/tests/read-file/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -// 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); diff --git a/pkgs/by-name/de/deno/package.nix b/pkgs/by-name/de/deno/package.nix index efb9cdcf7941..5f9ec2885562 100644 --- a/pkgs/by-name/de/deno/package.nix +++ b/pkgs/by-name/de/deno/package.nix @@ -7,8 +7,8 @@ cmake, protobuf, installShellFiles, - libiconv, - darwin, + apple-sdk_11, + darwinMinVersionHook, librusty_v8 ? callPackage ./librusty_v8.nix { inherit (callPackage ./fetchers.nix { }) fetchLibrustyV8; }, @@ -45,20 +45,12 @@ rustPlatform.buildRustPackage rec { protobuf installShellFiles ]; - buildInputs = lib.optionals stdenv.isDarwin ( - [ - libiconv - darwin.libobjc - ] - ++ (with darwin.apple_sdk_11_0.frameworks; [ - Security - CoreServices - Metal - MetalPerformanceShaders - Foundation - QuartzCore - ]) - ); + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + apple-sdk_11 + # V8 supports 10.15+; binary references `aligned_alloc` directly + (darwinMinVersionHook "10.15") + ]; buildAndTestSubdir = "cli"; @@ -116,8 +108,5 @@ rustPlatform.buildRustPackage rec { "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" ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dd396293a78c..d6059168e061 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6822,8 +6822,6 @@ with pkgs; deer = callPackage ../shells/zsh/zsh-deer { }; - deno_1 = callPackage ../by-name/de/deno/1/package.nix { }; - deqp-runner = callPackage ../tools/graphics/deqp-runner { }; detox = callPackage ../tools/misc/detox { };