Change:
Project description Deno - A secure JavaScript and TypeScript runtime Metadata homepage URL: source URL: license: mit platforms: unix, linux, darwin
I have it building on nix. However it needs modifications to rusty_v8 so we can use our llvm9 instead of the llvm10 that ships with it. It also needs modification to use libstdc++ instead of custom libc++ incase you want to build against musl.
Do you have it anywhere in the open? I want to continue working on it from there. I couldn't get it to work initially.
I don't have a nix expression to build it as a derivation, I just made a with the dependencies and manually edited the files in the cargo cache. give me a few days and I'll push what I've done to get it to work at the very least.
I'm extremely sorry, this is first few lines of code I ever have written in nix (and I feel like it could be my last) but I want to share it anyway p.s. I don't even know how to provide some examples of using this since it only works in one particular project and fails with example code I got online, I hope someone can use it anyway
I tested your build, and it doesn't seem to work due to linking issues that I've noticed just using the binary on its own. I'm not sure how to solve them though.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

Discussion:
githubId = 51518420; name = "jitwit"; }; <ins> jk = { email = "hello+nixpkgs@j-k.io"; github = "06kellyjac"; githubId = 9866621; name = "Jack"; }; </ins> jlesquembre = { email = "jl@lafuente.me"; github = "jlesquembre";

<ins> { stdenv , fetchurl , fetchFromGitHub , rust , rustPlatform , python27 , installShellFiles , Security , CoreServices }: let pname = "deno"; version = "1.0.0"; denoSrc = fetchFromGitHub { owner = "denoland"; repo = pname; rev = "v${version}"; sha256 = "0k8mqy1hf9hkp60jhd0x4z814y36g51083b3r7prc69ih2523hd1"; fetchSubmodules = true; }; cargoSha256 = "1fjl07qqvl1f20qazcqxh32xmdfh80jni7i3jzvz6vgsfw1g5cmk"; rustyV8Lib = fetchlib "rusty_v8" "0.4.2" { x86_64-linux = "1ac6kv3kv087df6kdgfd7kbh24187cg9z7xhbz6rw6jjv4ci2zbi"; aarch64-linux = "06iyjx4p4vp2i81wdy0vxai2k18pki972ff7k0scjqrgmnav1p8k"; x86_64-darwin = "02hwbpsqdzb9mvfndgykvv44f1jig3w3a26l0h26hs5shsrp47jv"; }; arch = rust.toRustTarget stdenv.hostPlatform; fetchlib = name: version: sha256: fetchurl { url = "https://github.com/denoland/${name}/releases/download/v${version}/librusty_v8_release_${arch}.a"; sha256 = sha256."${stdenv.hostPlatform.system}"; meta = { inherit version; }; }; in rustPlatform.buildRustPackage rec { inherit pname version cargoSha256; src = denoSrc; nativeBuildInputs = [ # chromium/V8 requires python 2.7, we're not building V8 from source # but as a result rusty_v8's download script also uses python 2.7 # tracking issue: https://bugs.chromium.org/p/chromium/issues/detail?id=942720 python27 # Install completions post-install installShellFiles ]; buildInputs = with stdenv.lib; [ ] ++ optionals stdenv.isDarwin [ Security CoreServices ]; # 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 preBuild = '' # Check the rusty_v8 lib downloaded matches the Cargo.lock file rusty_v8_ver="$(grep 'name = "rusty_v8"' -A 1 Cargo.lock | grep "version =" | cut -d" -f2)" if [ "${rustyV8Lib.meta.version}" != "$rusty_v8_ver" ]; then printf "%sn" >&2  "version mismatch between 'rusty_v8' in Cargo.lock and downloaded library:"  "  wanted: ${rustyV8Lib.meta.version}"  "  got:    $rusty_v8_ver" exit 1 fi; _rusty_v8_setup() { for v in "$@"; do dir="target/$v/gn_out/obj" mkdir -p "$dir" && cp "${rustyV8Lib}" "$dir/librusty_v8.a" done } # Copy over the `librusty_v8.a` file inside target/XYZ/gn_out/obj, symlink not allowed _rusty_v8_setup "debug" "release" "${arch}/release" ''; # Set home to existing env var TMP dir so tests that write there work correctly preCheck = '' export HOME="$TMPDIR" ''; checkFlags = [ # Strace not allowed on hydra "--skip benchmark_test" # Tests that try to write to `/build/source/target/debug` "--skip _017_import_redirect" "--skip https_import" "--skip js_unit_tests" "--skip lock_write_fetch" # Cargo test runs a deno test on the std lib with sub-benchmarking-tests, # The sub-sub-tests that are failing: # forAwaitFetchDenolandX10, promiseAllFetchDenolandX10is # Trying to access https://deno.land/ on build's limited network access "--skip std_tests" # Fails on aarch64 machines # tracking issue: https://github.com/denoland/deno/issues/5324 "--skip run_v8_flags" # Skip for multiple reasons: # downloads x86_64 binary on aarch64 machines # tracking issue: https://github.com/denoland/deno/pull/5402 # downloads a binary that needs ELF patching & tries to run imediately # upgrade will likely never work with nix as it tries to replace itself # code: https://github.com/denoland/deno/blob/v1.0.0/cli/upgrade.rs#L211 "--skip upgrade_in_tmpdir" "--skip upgrade_with_version_in_tmpdir" ]; # TODO: Move to enhanced installShellCompletion when merged: PR #83630 postInstall = '' $out/bin/deno completions bash > deno.bash $out/bin/deno completions fish > deno.fish $out/bin/deno completions zsh  > _deno installShellCompletion deno.{bash,fish} --zsh _deno ''; meta = with stdenv.lib; { homepage = "https://deno.land/"; description = "A 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; maintainers = with maintainers; [ jk ]; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; }; } </ins>

deer = callPackage ../shells/zsh/zsh-deer { }; <ins> deno = callPackage ../development/web/deno { inherit (darwin.apple_sdk.frameworks) Security CoreServices; }; </ins> detox = callPackage ../tools/misc/detox { }; devilspie2 = callPackage ../applications/misc/devilspie2 {