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

dotnet: migrate nuget lockfiles to JSON #362278

Merged
merged 8 commits into from
Dec 18, 2024

Conversation

GGG-KILLER
Copy link
Contributor

@GGG-KILLER GGG-KILLER commented Dec 6, 2024

This changes the buildDotnetModule lockfiles to be JSON instead of Nix.

Changes were made in a backwards-compatible fashion, however a warning was added to guide users to migrate to the new format.

Existing in-tree packages were migrated to the new format using a helper script and manual changes for places that didn't have the file directly specified.

cc: @NixOS/dotnet @MattSturgeon @UlyssesZh @TomaSajt @SuperSandro2000 @Atemu

Closes #362182, closes #325053.
Fixes #358025.

Things done

  • 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/)
  • 25.05 Release Notes (or backporting 24.11 and 25.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.

@GGG-KILLER

This comment was marked as outdated.

Copy link
Contributor

@MattSturgeon MattSturgeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial minor questions/suggestions. Thanks for working on this, it's looking good from my perspective!

pkgs/build-support/dotnet/make-nuget-deps/default.nix Outdated Show resolved Hide resolved
pkgs/build-support/dotnet/make-nuget-deps/default.nix Outdated Show resolved Hide resolved
pkgs/by-name/nu/nuget-to-json/package.nix Outdated Show resolved Hide resolved
pkgs/by-name/nu/nuget-to-json/nuget-to-json.sh Outdated Show resolved Hide resolved
pkgs/by-name/nu/nuget-to-json/nuget-to-json.sh Outdated Show resolved Hide resolved
pkgs/build-support/dotnet/make-nuget-deps/default.nix Outdated Show resolved Hide resolved
Copy link
Member

@Atemu Atemu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small notes

pkgs/build-support/dotnet/add-nuget-deps/default.nix Outdated Show resolved Hide resolved
pkgs/build-support/dotnet/add-nuget-deps/default.nix Outdated Show resolved Hide resolved
pkgs/build-support/dotnet/add-nuget-deps/default.nix Outdated Show resolved Hide resolved
pkgs/build-support/dotnet/add-nuget-deps/default.nix Outdated Show resolved Hide resolved
@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Dec 6, 2024
@UlyssesZh UlyssesZh mentioned this pull request Dec 7, 2024
13 tasks
@GGG-KILLER GGG-KILLER force-pushed the nuget-lockfile-to-json branch from 7856eeb to 2b4190a Compare December 17, 2024 22:49
@GGG-KILLER GGG-KILLER removed the 2.status: merge conflict This PR has merge conflicts with the target branch label Dec 17, 2024
@corngood corngood added the backport release-24.11 Backport PR automatically label Dec 18, 2024
Copy link
Contributor

@corngood corngood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This all looks good. I added the backport label even though it's almost certainly going to fail the automatic backport. I'm sure some of the treewide changes will backport, but we'll have to do a pass on the rest.

@corngood
Copy link
Contributor

Thanks for all the work on this. I'd like to merge it soon, but I just wanted to give anyone a last chance to raise an objection.

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Dec 18, 2024
@Atemu
Copy link
Member

Atemu commented Dec 18, 2024

The backport will probably have to be done manually.

We could also opt to not backport the tree-wide (as the Nix files still work) but that'd necessitate every update backport for dotnet packages to be backported manually.

Given that we have nearly perfect QA for this (eval is the same), I don't see a great risk.

Copy link
Member

@Atemu Atemu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that every user involved in this thread reacted with a rocket, I think we're good to go ;)

@Atemu Atemu merged commit 83a5427 into NixOS:master Dec 18, 2024
44 of 45 checks passed
@nixpkgs-ci
Copy link

nixpkgs-ci bot commented Dec 18, 2024

Backport failed for release-24.11, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin release-24.11
git worktree add -d .worktree/backport-362278-to-release-24.11 origin/release-24.11
cd .worktree/backport-362278-to-release-24.11
git switch --create backport-362278-to-release-24.11
git cherry-pick -x 1726304559622bcd20c8e3b7006b41a09bada599 3cc4563eb2f435ddc0da0a4a39f509a7ff7ffb7c bccae9e7c0f234d41ae7c9aebbaaf4f65a27282c c94c5087cc19cc8339e2c4b3e7a1546f6e990fcc 8ea76507abb96c2bdb971b4f7fdadebeea627324 318b37a8d6d1991369606455b4b446a34811f49f 1cd9516969553291792021f1b327f0e2e2775b3c 2b4190a2c20a7d33062f5806b0a0f879082b2340

@gepbird gepbird mentioned this pull request Dec 18, 2024
13 tasks
@GGG-KILLER GGG-KILLER deleted the nuget-lockfile-to-json branch December 19, 2024 17:10
@UlyssesZh UlyssesZh mentioned this pull request Dec 22, 2024
13 tasks
Petingoso added a commit to Petingoso/nixpkgs that referenced this pull request Dec 28, 2024
This is an attempt to package [Olympus](https://everestapi.github.io/), a GUI for installing Everest and managing Celeste mods.
This is based on this [draft](NixOS#295258), with the authors permission.

It maintains the previous issue of not being able to launch Steam
versions of Celeste from the command line but that's not feasible
without upstream changes.

I only have to note that it has a popup complaining about
finishing the installation but that's due to xdg-mime
x-scheme-handler/everest not being set.

Finally I want to note that it depends on lua51Packages.nfd, which
is broken while [this](NixOS#309026)
isn't merged so currently has the fix there.

Finally, [Lönn](https://github.com/CelestialCartographers/Loenn) works
as expected, being the installation managed by the program.

Ahorn is deprecated(in favor of Loenn) and it crashes over trying to run dynamic
executables

olympus: fixed zenity argument

olympus: bugfix add openssl to fhs

olympus: fixed to use the default nfd instead of patched version

olympus: changed location of ndf arg

olympus: bugfix: add xdg-utils as runtime dependency to fix pop-up

olympus: deleted zenity.patch

Due to nfd lua package being fixed, this patch is no longer needed

olympus: fix use of wrong nfd package

olympus: bumped up version to 24.07.06.02

olympus: format files with nixfmt-rfc

olympus: chores: comments, fixed lib conventions

olympus: make wrappers properly, use standard build process, misc fixes

olympus: update version, src; add updateScript

olympus: avoid rec; use lib.getExe; remove redundant .out; minor changes

olympus: use standard build process for dotnet; remove -nixos suffix in version; use new mono; add dotnet-runtime to fhs env

olympus: 24.10.27.02 -> 24.11.23.01; fix version.txt; remove unnecessary dependencies; add miniinstaller and celeste wrapper; other misc change
olympus-with-steam-run: init

olympus: more flexible celeste wrapper

olympus: accept emptry string and path as celeste wrapper; minor fix with lua cpath

olympus: minor fix with lua cpath; add xdg-utils to path

olympus: use standard lua-subprocess instead of fork

olympus: make MiniInstaller be properly wrapped

olympus: add option to skip handler

olympus: tweaked platforms, tweaked miniinstaller-fhs

olympus-with-steam-run: comment for reminder on fixing issues with
relative paths

olympus: removed extraneous package

olympus: add extra wrapper options for mininstaller and loenn

olympus: add more explicit comments, bump version

olympus: fixed mismatched hash in olympus

olympus: changed proprieties of miniinstaller-fhs (NixOS#336576)

olympus: tweak miniinstallerWrapper

olympus: migrated to deps.json (NixOS#362278)

olympus: remove meta.mainProgram explicitly (NixOS#358550)
Petingoso added a commit to Petingoso/nixpkgs that referenced this pull request Dec 28, 2024
This is an attempt to package [Olympus](https://everestapi.github.io/), a GUI for installing Everest and managing Celeste mods.
This is based on this [draft](NixOS#295258), with the authors permission.

It maintains the previous issue of not being able to launch Steam
versions of Celeste from the command line but that's not feasible
without upstream changes.

I only have to note that it has a popup complaining about
finishing the installation but that's due to xdg-mime
x-scheme-handler/everest not being set.

Finally I want to note that it depends on lua51Packages.nfd, which
is broken while [this](NixOS#309026)
isn't merged so currently has the fix there.

Finally, [Lönn](https://github.com/CelestialCartographers/Loenn) works
as expected, being the installation managed by the program.

Ahorn is deprecated(in favor of Loenn) and it crashes over trying to run dynamic
executables

olympus: fixed zenity argument

olympus: bugfix add openssl to fhs

olympus: fixed to use the default nfd instead of patched version

olympus: changed location of ndf arg

olympus: bugfix: add xdg-utils as runtime dependency to fix pop-up

olympus: deleted zenity.patch

Due to nfd lua package being fixed, this patch is no longer needed

olympus: fix use of wrong nfd package

olympus: bumped up version to 24.07.06.02

olympus: format files with nixfmt-rfc

olympus: chores: comments, fixed lib conventions

olympus: make wrappers properly, use standard build process, misc fixes

olympus: update version, src; add updateScript

olympus: avoid rec; use lib.getExe; remove redundant .out; minor changes

olympus: use standard build process for dotnet; remove -nixos suffix in version; use new mono; add dotnet-runtime to fhs env

olympus: 24.10.27.02 -> 24.11.23.01; fix version.txt; remove unnecessary dependencies; add miniinstaller and celeste wrapper; other misc change
olympus-with-steam-run: init

olympus: more flexible celeste wrapper

olympus: accept emptry string and path as celeste wrapper; minor fix with lua cpath

olympus: minor fix with lua cpath; add xdg-utils to path

olympus: use standard lua-subprocess instead of fork

olympus: make MiniInstaller be properly wrapped

olympus: add option to skip handler

olympus: tweaked platforms, tweaked miniinstaller-fhs

olympus-with-steam-run: comment for reminder on fixing issues with
relative paths

olympus: removed extraneous package

olympus: add extra wrapper options for mininstaller and loenn

olympus: add more explicit comments, bump version

olympus: fixed mismatched hash in olympus

olympus: changed proprieties of miniinstaller-fhs (NixOS#336576)

olympus: tweak miniinstallerWrapper

olympus: migrated to deps.json (NixOS#362278)

olympus: remove meta.mainProgram explicitly (NixOS#358550)
Petingoso added a commit to Petingoso/nixpkgs that referenced this pull request Dec 29, 2024
This is an attempt to package [Olympus](https://everestapi.github.io/), a GUI for installing Everest and managing Celeste mods.
This is based on this [draft](NixOS#295258), with the authors permission.

It maintains the previous issue of not being able to launch Steam
versions of Celeste from the command line but that's not feasible
without upstream changes.

I only have to note that it has a popup complaining about
finishing the installation but that's due to xdg-mime
x-scheme-handler/everest not being set.

Finally I want to note that it depends on lua51Packages.nfd, which
is broken while [this](NixOS#309026)
isn't merged so currently has the fix there.

Finally, [Lönn](https://github.com/CelestialCartographers/Loenn) works
as expected, being the installation managed by the program.

Ahorn is deprecated(in favor of Loenn) and it crashes over trying to run dynamic
executables

olympus: fixed zenity argument

olympus: bugfix add openssl to fhs

olympus: fixed to use the default nfd instead of patched version

olympus: changed location of ndf arg

olympus: bugfix: add xdg-utils as runtime dependency to fix pop-up

olympus: deleted zenity.patch

Due to nfd lua package being fixed, this patch is no longer needed

olympus: fix use of wrong nfd package

olympus: bumped up version to 24.07.06.02

olympus: format files with nixfmt-rfc

olympus: chores: comments, fixed lib conventions

olympus: make wrappers properly, use standard build process, misc fixes

olympus: update version, src; add updateScript

olympus: avoid rec; use lib.getExe; remove redundant .out; minor changes

olympus: use standard build process for dotnet; remove -nixos suffix in version; use new mono; add dotnet-runtime to fhs env

olympus: 24.10.27.02 -> 24.11.23.01; fix version.txt; remove unnecessary dependencies; add miniinstaller and celeste wrapper; other misc change
olympus-with-steam-run: init

olympus: more flexible celeste wrapper

olympus: accept emptry string and path as celeste wrapper; minor fix with lua cpath

olympus: minor fix with lua cpath; add xdg-utils to path

olympus: use standard lua-subprocess instead of fork

olympus: make MiniInstaller be properly wrapped

olympus: add option to skip handler

olympus: tweaked platforms, tweaked miniinstaller-fhs

olympus-with-steam-run: comment for reminder on fixing issues with
relative paths

olympus: removed extraneous package

olympus: add extra wrapper options for mininstaller and loenn

olympus: add more explicit comments, bump version

olympus: fixed mismatched hash in olympus

olympus: changed proprieties of miniinstaller-fhs (NixOS#336576)

olympus: tweak miniinstallerWrapper

olympus: migrated to deps.json (NixOS#362278)

olympus: remove meta.mainProgram explicitly (NixOS#358550)

olympus: bump to 24.12.28.01
changes to new install process of net8.0
Petingoso added a commit to Petingoso/nixpkgs that referenced this pull request Dec 29, 2024
This is an attempt to package [Olympus](https://everestapi.github.io/), a GUI for installing Everest and managing Celeste mods.
This is based on this [draft](NixOS#295258), with the authors permission.

It maintains the previous issue of not being able to launch Steam
versions of Celeste from the command line but that's not feasible
without upstream changes.

I only have to note that it has a popup complaining about
finishing the installation but that's due to xdg-mime
x-scheme-handler/everest not being set.

Finally I want to note that it depends on lua51Packages.nfd, which
is broken while [this](NixOS#309026)
isn't merged so currently has the fix there.

Finally, [Lönn](https://github.com/CelestialCartographers/Loenn) works
as expected, being the installation managed by the program.

Ahorn is deprecated(in favor of Loenn) and it crashes over trying to run dynamic
executables

olympus: fixed zenity argument

olympus: bugfix add openssl to fhs

olympus: fixed to use the default nfd instead of patched version

olympus: changed location of ndf arg

olympus: bugfix: add xdg-utils as runtime dependency to fix pop-up

olympus: deleted zenity.patch

Due to nfd lua package being fixed, this patch is no longer needed

olympus: fix use of wrong nfd package

olympus: bumped up version to 24.07.06.02

olympus: format files with nixfmt-rfc

olympus: chores: comments, fixed lib conventions

olympus: make wrappers properly, use standard build process, misc fixes

olympus: update version, src; add updateScript

olympus: avoid rec; use lib.getExe; remove redundant .out; minor changes

olympus: use standard build process for dotnet; remove -nixos suffix in version; use new mono; add dotnet-runtime to fhs env

olympus: 24.10.27.02 -> 24.11.23.01; fix version.txt; remove unnecessary dependencies; add miniinstaller and celeste wrapper; other misc change
olympus-with-steam-run: init

olympus: more flexible celeste wrapper

olympus: accept emptry string and path as celeste wrapper; minor fix with lua cpath

olympus: minor fix with lua cpath; add xdg-utils to path

olympus: use standard lua-subprocess instead of fork

olympus: make MiniInstaller be properly wrapped

olympus: add option to skip handler

olympus: tweaked platforms, tweaked miniinstaller-fhs

olympus-with-steam-run: comment for reminder on fixing issues with
relative paths

olympus: removed extraneous package

olympus: add extra wrapper options for mininstaller and loenn

olympus: add more explicit comments, bump version

olympus: fixed mismatched hash in olympus

olympus: changed proprieties of miniinstaller-fhs (NixOS#336576)

olympus: tweak miniinstallerWrapper

olympus: migrated to deps.json (NixOS#362278)

olympus: remove meta.mainProgram explicitly (NixOS#358550)

olympus: bump to 24.12.28.01
changes to new install process of net8.0

olympus : format
Petingoso added a commit to Petingoso/nixpkgs that referenced this pull request Dec 31, 2024
This is an attempt to package [Olympus](https://everestapi.github.io/), a GUI for installing Everest and managing Celeste mods.
This is based on this [draft](NixOS#295258), with the authors permission.

It maintains the previous issue of not being able to launch Steam
versions of Celeste from the command line but that's not feasible
without upstream changes.

I only have to note that it has a popup complaining about
finishing the installation but that's due to xdg-mime
x-scheme-handler/everest not being set.

Finally I want to note that it depends on lua51Packages.nfd, which
is broken while [this](NixOS#309026)
isn't merged so currently has the fix there.

Finally, [Lönn](https://github.com/CelestialCartographers/Loenn) works
as expected, being the installation managed by the program.

Ahorn is deprecated(in favor of Loenn) and it crashes over trying to run dynamic
executables

olympus: fixed zenity argument

olympus: bugfix add openssl to fhs

olympus: fixed to use the default nfd instead of patched version

olympus: changed location of ndf arg

olympus: bugfix: add xdg-utils as runtime dependency to fix pop-up

olympus: deleted zenity.patch

Due to nfd lua package being fixed, this patch is no longer needed

olympus: fix use of wrong nfd package

olympus: bumped up version to 24.07.06.02

olympus: format files with nixfmt-rfc

olympus: chores: comments, fixed lib conventions

olympus: make wrappers properly, use standard build process, misc fixes

olympus: update version, src; add updateScript

olympus: avoid rec; use lib.getExe; remove redundant .out; minor changes

olympus: use standard build process for dotnet; remove -nixos suffix in version; use new mono; add dotnet-runtime to fhs env

olympus: 24.10.27.02 -> 24.11.23.01; fix version.txt; remove unnecessary dependencies; add miniinstaller and celeste wrapper; other misc change
olympus-with-steam-run: init

olympus: more flexible celeste wrapper

olympus: accept emptry string and path as celeste wrapper; minor fix with lua cpath

olympus: minor fix with lua cpath; add xdg-utils to path

olympus: use standard lua-subprocess instead of fork

olympus: make MiniInstaller be properly wrapped

olympus: add option to skip handler

olympus: tweaked platforms, tweaked miniinstaller-fhs

olympus-with-steam-run: comment for reminder on fixing issues with
relative paths

olympus: removed extraneous package

olympus: add extra wrapper options for mininstaller and loenn

olympus: add more explicit comments, bump version

olympus: fixed mismatched hash in olympus

olympus: changed proprieties of miniinstaller-fhs (NixOS#336576)

olympus: tweak miniinstallerWrapper

olympus: migrated to deps.json (NixOS#362278)

olympus: remove meta.mainProgram explicitly (NixOS#358550)

olympus: bump to 24.12.28.01
changes to new install process of net8.0

olympus : format

olympus: changed install path, tweaked meta info
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: dotnet Language: .NET 6.topic: games 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: python 8.has: changelog 8.has: clean-up 8.has: documentation This PR adds or changes documentation 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 10.rebuild-linux: 1-10 12.approvals: 1 This PR was reviewed and approved by one reputable person backport release-24.11 Backport PR automatically
Projects
None yet
Development

Successfully merging this pull request may close these issues.

nuget-to-nix: Generated file not formatted
6 participants