Skip to content
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: 1.46.3 -> 2.0.0, deno_1: init at 1.46.3 #347484

Merged
merged 2 commits into from
Oct 10, 2024
Merged

Conversation

06kellyjac
Copy link
Member

@06kellyjac 06kellyjac commented Oct 9, 2024

Things done

Updates deno to v2
Adds a deno_1 to hold v1 for now.
Depending on deno's support plans v1 may be removed just before the 24.11 release.

Updated the update scripts to use new Deno v2 interfaces and pull latest
toml dependency from jsr rather than the deno.land registry.

Note: need to double check it's ok to put deno_1 inside pkgs/by-name/deno/v1/package.nix

Note: might wait a bit for the deno v2 announcement blog

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@06kellyjac 06kellyjac force-pushed the deno_v2 branch 4 times, most recently from 3086d3e to d786953 Compare October 9, 2024 14:06
@github-actions github-actions bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: documentation This PR adds or changes documentation 8.has: changelog labels Oct 9, 2024
@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 11.by: package-maintainer This PR was created by the maintainer of the package it changes 10.rebuild-darwin: 11-100 10.rebuild-linux: 11-100 labels Oct 9, 2024
@fabianhjr
Copy link
Member

Note: might wait a bit for the deno v2 announcement blog

Even better, an announcement video/live 2 hrs ago! https://www.youtube.com/watch?v=d35SlRgVxT8

@fabianhjr
Copy link
Member

fabian@fabian-desktop ~/D/O/n/main (main)> ls -1 pkgs/by-name/*/*/*/*.nix
pkgs/by-name/au/autoprefixer/tests/simple-execution.nix
pkgs/by-name/ch/changelog-d/tests/basic.nix
pkgs/by-name/cr/criterion/tests/001-version.nix
pkgs/by-name/cu/cue/tests/001-all-good.nix
pkgs/by-name/de/deno/tests/default.nix
pkgs/by-name/do/doctoc/test-generates-valid-markdown/default.nix
pkgs/by-name/el/elvish/tests/expect-version.nix
pkgs/by-name/fa/fastjar/tests/version-fastjar.nix
pkgs/by-name/fa/fastjar/tests/version-grepjar.nix
pkgs/by-name/ga/gancio/plugin-telegram-bridge/default.nix
pkgs/by-name/gn/gnome-bluetooth/1.0/default.nix
pkgs/by-name/gn/gnome-settings-daemon/43/default.nix
pkgs/by-name/ha/haunt/tests/001-test-version.nix
pkgs/by-name/im/implot/demos/default.nix
pkgs/by-name/in/inja/simple-cmake-test/default.nix
pkgs/by-name/in/installShellFiles/tests/install-bin-output.nix
pkgs/by-name/in/installShellFiles/tests/install-bin.nix
pkgs/by-name/in/installShellFiles/tests/install-completion-cmd.nix
pkgs/by-name/in/installShellFiles/tests/install-completion-fifo.nix
pkgs/by-name/in/installShellFiles/tests/install-completion-inference.nix
pkgs/by-name/in/installShellFiles/tests/install-completion-name.nix
pkgs/by-name/in/installShellFiles/tests/install-completion-output.nix
pkgs/by-name/in/installShellFiles/tests/install-completion.nix
pkgs/by-name/in/installShellFiles/tests/install-manpage-outputs.nix
pkgs/by-name/in/installShellFiles/tests/install-manpage.nix
pkgs/by-name/is/isabelle/components/default.nix
pkgs/by-name/is/isabelle/components/isabelle-linter.nix
pkgs/by-name/ki/kikit/solidpython/default.nix
pkgs/by-name/ma/maturin/pyo3-test/default.nix
pkgs/by-name/mi/micro/tests/version.nix
pkgs/by-name/mu/mutter/43/default.nix
pkgs/by-name/na/nanopb/test-message-with-annotations/default.nix
pkgs/by-name/na/nanopb/test-message-with-options/default.nix
pkgs/by-name/na/nanopb/test-simple-proto2/default.nix
pkgs/by-name/na/nanopb/test-simple-proto3/default.nix
pkgs/by-name/ne/needle/nix/default.nix
pkgs/by-name/np/npiet/tests/default.nix
pkgs/by-name/np/npiet/tests/run-test.nix
pkgs/by-name/pr/pretalx/plugins/downstream.nix
pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix
pkgs/by-name/pr/pretalx/plugins/pages.nix
pkgs/by-name/pr/pretalx/plugins/public-voting.nix
pkgs/by-name/pr/pretalx/plugins/venueless.nix
pkgs/by-name/pr/pretalx/plugins/vimeo.nix
pkgs/by-name/pr/pretalx/plugins/youtube.nix
pkgs/by-name/pr/pretix/plugins/default.nix
pkgs/by-name/pr/pretix/plugins/pages.nix
pkgs/by-name/pr/pretix/plugins/passbook.nix
pkgs/by-name/pr/pretix/plugins/reluctant-stripe.nix
pkgs/by-name/pr/pretix/plugins/stretchgoals.nix
pkgs/by-name/pr/pretix/plugins/zugferd.nix
pkgs/by-name/sa/sanjuuni/tests/run-on-nixos-artwork.nix
pkgs/by-name/sp/spigot/tests/approximation.nix
pkgs/by-name/uc/ucg/tests/simple.nix
pkgs/by-name/wi/windowmaker/dockapps/AlsaMixer-app.nix
pkgs/by-name/wi/windowmaker/dockapps/cputnik.nix
pkgs/by-name/wi/windowmaker/dockapps/default.nix
pkgs/by-name/wi/windowmaker/dockapps/libdockapp.nix
pkgs/by-name/wi/windowmaker/dockapps/wmCalClock.nix
pkgs/by-name/wi/windowmaker/dockapps/wmcube.nix
pkgs/by-name/wi/windowmaker/dockapps/wmsm-app.nix
pkgs/by-name/wi/windowmaker/dockapps/wmsystemtray.nix
pkgs/by-name/xu/xunit-viewer/test/example.nix
pkgs/by-name/zc/zchunk/tests/version.nix
fabian@fabian-desktop ~/D/O/n/main (main)> rg "by-name.*\{ \}" pkgs/top-level/all-packages.nix 
2135:  forgejo-lts = callPackage ../by-name/fo/forgejo/lts.nix { };
3132:  authentik-outposts = recurseIntoAttrs (callPackages ../by-name/au/authentik/outposts.nix { });
7941:  gnome-panel-with-modules = callPackage ../by-name/gn/gnome-panel/wrapper.nix { };
8651:  incus-lts = callPackage ../by-name/in/incus/lts.nix { };
10792:  sshd-openpgp-auth = callPackage ../by-name/ss/ssh-openpgp-auth/daemon.nix { };
19391:  vapoursynth-editor = libsForQt5.callPackage ../by-name/va/vapoursynth/editor.nix { };
23415:  valeStyles = recurseIntoAttrs (callPackages ../by-name/va/vale/styles.nix { });
23868:  hareHook = callPackage ../by-name/ha/hare/hook.nix { };
35641:  gnome-bluetooth_1_0 = callPackage ../by-name/gn/gnome-bluetooth/1.0 { };
35645:  gnome-session-ctl = callPackage ../by-name/gn/gnome-session/ctl.nix { };
35648:  gnome-settings-daemon43 = callPackage ../by-name/gn/gnome-settings-daemon/43 { };
35679:  mutter43 = callPackage ../by-name/mu/mutter/43 { };
36479:  isabelle-components = recurseIntoAttrs (callPackage ../by-name/is/isabelle/components { });

Pattern of calling by-name sub-packages/versions seems already in use

@fabianhjr
Copy link
Member

nit: split into several commits (eg, the move of deno to deno_1 by-name, deno 2 init being separate commits)

@rawkode
Copy link
Member

rawkode commented Oct 10, 2024

hey @06kellyjac ! Looks like you need to run nixfmt 👍🏻

@06kellyjac
Copy link
Member Author

Thanks Fabian.
I've split it into 2 commits but as I've thought about it more I don't really like it.
I think I'll flip it back around so I update the original files in one commit, then in a 2nd commit add deno_1.
Then it also means there won't be a commit where deno is missing and probably suites better for cutting out deno_1 just before finalizing 24.11.
Then it'll be 2 commits but fit a bit better IMO.

Less important but I've also changed the dir from v1 to 1 just to match existing ones a bit more

λ fd '^\d' --type d ./pkgs/by-name
./pkgs/by-name/de/deno/1/
./pkgs/by-name/gn/gnome-bluetooth/1.0/
./pkgs/by-name/gn/gnome-settings-daemon/43/
./pkgs/by-name/mu/mutter/43/

Hi David, long time no see.
Formatting should be addressed now. Just going to make the adjustments above

Updates deno to v2.
Slight refactor of fetcher code for grabbing librusty_v8.
Updated the update scripts to use new Deno v2 interfaces and pull latest
toml dependency from jsr rather than the deno.land registry.
Added release note.
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.
@06kellyjac
Copy link
Member Author

restructured commits as described above. Formatting checks should pass 🙏

@06kellyjac 06kellyjac marked this pull request as ready for review October 10, 2024 10:53
@06kellyjac
Copy link
Member Author

Some context for the PR and why the plan is to drop deno_1 before 24.11 (or earlier)

image

If you would like to use deno_1 after it's been dropped from nixpkgs, the power of nix allows you to trivially pull in old packages.
After merging PR dropping deno_1 I'll provide a snippet which references the oldest commit with deno_1

@fabianhjr
Copy link
Member

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 347484


x86_64-linux

⏩ 2 packages blacklisted:
  • nixos-install-tools
  • tests.nixos-functions.nixos-test
✅ 19 packages built:
  • deno
  • deno_1
  • era
  • quarto
  • quartoMinimal
  • rstudio
  • rstudio-server
  • rstudioServerWrapper
  • rstudioWrapper
  • silverbullet
  • vimPlugins.ddc-filter-matcher_head
  • vimPlugins.ddc-filter-sorter_rank
  • vimPlugins.ddc-source-lsp
  • vimPlugins.ddc-ui-native
  • vimPlugins.ddc-ui-pum
  • vimPlugins.ddc-vim
  • vimPlugins.denops-vim
  • vimPlugins.vim-pluto
  • windmill

@fabianhjr fabianhjr merged commit 0cdc526 into NixOS:master Oct 10, 2024
59 of 61 checks passed
@06kellyjac 06kellyjac deleted the deno_v2 branch October 10, 2024 21:13
@sammypanda
Copy link

thank you :D

@emilazy
Copy link
Member

emilazy commented Oct 11, 2024

We only have two weeks left before the 24.11 freeze, and it sounds like they’re not going to be doing security updates, so I’m going to drop Deno 1 immediately.

In general we should not carry multiple versions of packages unless upstream plans to support them or there are severe compatibility problems, especially for packages where security is a concern. It’s not a good idea to introduce packages that will be removed soon after adding them.

@bradylill

This comment was marked as resolved.

emilazy added a commit to emilazy/nixpkgs that referenced this pull request Oct 11, 2024
Upstream do not plan to support this version (see
<NixOS#347484 (comment)>),
so we should not package a version that will surely accumulate CVEs
from V8 etc. in 24.11. As this package was only added yesterday,
I don’t think there’s any need for a compatibility alias.
@interroobang
Copy link

I really need this update!

emilazy added a commit to emilazy/nixpkgs that referenced this pull request Oct 16, 2024
Upstream do not plan to support this version (see
<NixOS#347484 (comment)>),
so we should not package a version that will surely accumulate CVEs
from V8 etc. in 24.11. As this package was only added yesterday,
I don’t think there’s any need for a compatibility alias.
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Oct 16, 2024
Upstream do not plan to support this version (see
<NixOS#347484 (comment)>),
so we should not package a version that will surely accumulate CVEs
from V8 etc. in 24.11. As this package was only added yesterday,
I don’t think there’s any need for a compatibility alias.
@detroyejr detroyejr mentioned this pull request Oct 19, 2024
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog 8.has: documentation This PR adds or changes documentation 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 11-100 10.rebuild-linux: 11-100 11.by: package-maintainer This PR was created by the maintainer of the package it changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants