-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deno: init at 1.0.0 #87653
Deno: init at 1.0.0 #87653
Conversation
Force-pushed |
I've finally got past Edit: |
Force-pushed move to building from source, |
574aec7
to
ad637a1
Compare
Force-pushed completions for:
Need to test them with |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/deno-an-expression-in-need-of-love/6978/5 |
Deno |
|
Built
Probably best not to build compile heavy programs directly on the arm device. I need to try compile for Without checks works fine.
Maybe just a timeout issue? Could also disable checks if not |
Hey all. I have absolutely no idea what deno is, but there's this someone who I've talked with at discourse who have made interesting progress regarding packaging deno while building from source: https://discourse.nixos.org/t/deno-an-expression-in-need-of-love/6978 I think you'll be able to pick up something from there, while perhaps incorporating some of the advices I gave him. The thing is, they seem to not want to open a GitHub account so they are not able to put their ideas directly here. I have no idea why but I don't judge. I'm happy to proxy his comments because they seem so nice 💚 . |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/deno-an-expression-in-need-of-love/6978/6 |
Hi @doronbehar, thanks! I had a bit of a scan through the discourse when I was first stuck on From my experience playing with building deno & from what I know about v8 is it's a pita to build from source. This build is already around 12mins long on my As far as I can tell the node packages also don't build v8 from source:
hydra build for v8 Also note the node build was "only" "1h 22m 21s" but just v8 on it's own is "2h 29m 29s"!!! I could be wrong, there could be a load of tests in the v8 run that aren't needed for node etc. but this seems like more than enough depth for the build. Most package managers will just take the bin from the release and you're done. (Kinda like my first iteration) I'll make a discourse account some time soon to make contacting me easier 🙂 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to CONTRIBUTING.md, the commit message should be “deno: init at 1.0.0”. Otherwise looks good.
718d0d5
to
ac3a3df
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left couple of nits, but they are not blocking the merge.
Ignore this - Couldn't see the comments on the new GH App |
Not sure why that
tracking issue denoland/deno#5324 |
Some small changes to make this build on Darwin: diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 8cd2421800b..eb2669cd8b7 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -5,6 +5,9 @@
, rustPlatform
, python27
, installShellFiles
+, Security
+, CoreServices
+, lib
}:
let
pname = "deno";
@@ -48,6 +51,8 @@ rustPlatform.buildRustPackage rec {
installShellFiles
];
+ buildInputs = 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 = ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index db3491be140..b34d55f5f2f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2829,7 +2829,9 @@ in
deer = callPackage ../shells/zsh/zsh-deer { };
- deno = callPackage ../development/web/deno { };
+ deno = callPackage ../development/web/deno {
+ inherit (darwin.apple_sdk.frameworks) Security CoreServices;
+ };
detox = callPackage ../tools/misc/detox { };
|
No need to add |
Thanks both. I'll get that patched in soon & tested on a mac |
@GrahamcOfBorg build deno |
Adding deno for it's 1.0.0 release * Builds from source (doesn't build V8 from source) * Runs most of the tests * Bundles completions for: * bash - tested * zsh - untested * fish - untested * Set up for multiple builds: * x86_64-linux * Passed - NixOS * aarch64-linux * Passed just build - Raspbian on RPI4 * Failed build + check (ended with SIGKILL 9) * x86_64-darwin * Untested
Deno I'll run a build on my machine either way New |
Just a heads up - there's a |
@Sorixelle correct 👍 Yeah I noticed that when reading the deno CI trying to add an aarch64 release for non-nix users deno |
LGTM, thank you! |
Thanks @marsam ! Now I'll add a pr for the 1.0.2 version bump :) |
Motivation for this change
Adding
deno
for it's1.0.0
releaseResolves: #78461
Tracking issue for
1.0.0
release: denoland/deno#2473PR for
1.0.0
release: denoland/deno#5273Release post: https://deno.land/v1
Version is currently1.0.0-rc3
as that's the latest release. I will force-push once 1.0.0 is out (ETA 13th May)Any and all suggestions and criticisms welcome, most of my nix packaging experience is on my own machine so I'd like to know if I'm straying from best/good practices.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)Concerns
Currently using built zipNow building from source, not rebuilding v8 thoughProbably preferable to build from source releases but had issues withSolvedrusty_v8
The release has a.d.ts
definitionI haven't done much actual work withdeno
yet so IDK if I should install this somewhereThe deno_install script doesn't seem to touch it so it should be finedeno tags > lib.deno.d.ts
Tests of
deno
after install:Examples from help
Watch fs
watch.ts
:deno run --allow-read watch.ts
Deno Packages/Programs
deno install --unstable --allow-read --allow-run -f https://deno.land/x/denon/denon.ts
~/.deno/bin/denon log.ts
log.ts
: