-
-
Notifications
You must be signed in to change notification settings - Fork 39.5k
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
shell.nix: Fix compatibility with Nix >= 2.10.0 on x86_64-darwin
#17673
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The `poetry` package from the used Nixpkgs snapshot triggers the regex compatibility issue in Nix >= 2.10.0 binaries for `x86_64-darwin`: https://www.github.com/NixOS/nix/issues/4758 Remove the `poetry` package from the Nix shell environment for now (it is not really required to compile QMK, only to develop the Nix shell environment itself). In addition, all `poetry` version earlier than 1.1.14 became effectively non-functional after a breaking change of the PyPI JSON API: https://www.github.com/python-poetry/poetry/pull/5973 Updating the `poetry` package is not trivial (just adding it it to `pyproject.toml` does not work due to dependency version conflicts with other modules), therefore removing it seems to be the easiest solution to restore compatibility with new Nix versions while not creating any major inconvenience for QMK users.
purcell
approved these changes
Jul 15, 2022
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.
Makes sense to me, thanks
andresilva
approved these changes
Jul 18, 2022
zvecr
approved these changes
Jul 18, 2022
smocky
pushed a commit
to smocky/qmk_firmware
that referenced
this pull request
Jul 22, 2022
The `poetry` package from the used Nixpkgs snapshot triggers the regex compatibility issue in Nix >= 2.10.0 binaries for `x86_64-darwin`: https://www.github.com/NixOS/nix/issues/4758 Remove the `poetry` package from the Nix shell environment for now (it is not really required to compile QMK, only to develop the Nix shell environment itself). In addition, all `poetry` version earlier than 1.1.14 became effectively non-functional after a breaking change of the PyPI JSON API: https://www.github.com/python-poetry/poetry/pull/5973 Updating the `poetry` package is not trivial (just adding it it to `pyproject.toml` does not work due to dependency version conflicts with other modules), therefore removing it seems to be the easiest solution to restore compatibility with new Nix versions while not creating any major inconvenience for QMK users.
Haruki
pushed a commit
to Haruki/qmk_firmware
that referenced
this pull request
Jul 23, 2022
The `poetry` package from the used Nixpkgs snapshot triggers the regex compatibility issue in Nix >= 2.10.0 binaries for `x86_64-darwin`: https://www.github.com/NixOS/nix/issues/4758 Remove the `poetry` package from the Nix shell environment for now (it is not really required to compile QMK, only to develop the Nix shell environment itself). In addition, all `poetry` version earlier than 1.1.14 became effectively non-functional after a breaking change of the PyPI JSON API: https://www.github.com/python-poetry/poetry/pull/5973 Updating the `poetry` package is not trivial (just adding it it to `pyproject.toml` does not work due to dependency version conflicts with other modules), therefore removing it seems to be the easiest solution to restore compatibility with new Nix versions while not creating any major inconvenience for QMK users.
schattenbrot
pushed a commit
to schattenbrot/qmk_firmware
that referenced
this pull request
Aug 2, 2022
The `poetry` package from the used Nixpkgs snapshot triggers the regex compatibility issue in Nix >= 2.10.0 binaries for `x86_64-darwin`: https://www.github.com/NixOS/nix/issues/4758 Remove the `poetry` package from the Nix shell environment for now (it is not really required to compile QMK, only to develop the Nix shell environment itself). In addition, all `poetry` version earlier than 1.1.14 became effectively non-functional after a breaking change of the PyPI JSON API: https://www.github.com/python-poetry/poetry/pull/5973 Updating the `poetry` package is not trivial (just adding it it to `pyproject.toml` does not work due to dependency version conflicts with other modules), therefore removing it seems to be the easiest solution to restore compatibility with new Nix versions while not creating any major inconvenience for QMK users.
imhoffman
pushed a commit
to imhoffman/qmk_firmware
that referenced
this pull request
Aug 20, 2022
The `poetry` package from the used Nixpkgs snapshot triggers the regex compatibility issue in Nix >= 2.10.0 binaries for `x86_64-darwin`: https://www.github.com/NixOS/nix/issues/4758 Remove the `poetry` package from the Nix shell environment for now (it is not really required to compile QMK, only to develop the Nix shell environment itself). In addition, all `poetry` version earlier than 1.1.14 became effectively non-functional after a breaking change of the PyPI JSON API: https://www.github.com/python-poetry/poetry/pull/5973 Updating the `poetry` package is not trivial (just adding it it to `pyproject.toml` does not work due to dependency version conflicts with other modules), therefore removing it seems to be the easiest solution to restore compatibility with new Nix versions while not creating any major inconvenience for QMK users.
nolanseaton
pushed a commit
to nolanseaton/qmk_firmware
that referenced
this pull request
Jan 23, 2023
The `poetry` package from the used Nixpkgs snapshot triggers the regex compatibility issue in Nix >= 2.10.0 binaries for `x86_64-darwin`: https://www.github.com/NixOS/nix/issues/4758 Remove the `poetry` package from the Nix shell environment for now (it is not really required to compile QMK, only to develop the Nix shell environment itself). In addition, all `poetry` version earlier than 1.1.14 became effectively non-functional after a breaking change of the PyPI JSON API: https://www.github.com/python-poetry/poetry/pull/5973 Updating the `poetry` package is not trivial (just adding it it to `pyproject.toml` does not work due to dependency version conflicts with other modules), therefore removing it seems to be the easiest solution to restore compatibility with new Nix versions while not creating any major inconvenience for QMK users.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The
poetry
package from the used Nixpkgs snapshot is no longer buildable when using the official binary releases of Nix >= 2.10.0 onx86_64-darwin
due to a regex compatibility issue (NixOS/nix#4758). The failure looks like:In addition, all
poetry
version earlier than 1.1.14 became effectively non-functional after a breaking change of the PyPI JSON API (python-poetry/poetry#5973) — they generate brokenpoetry.lock
files without any hash values, therefore the old version ofpoetry
that was added to the Nix shell environment became useless anyway.Updating the
poetry
package to the most recent stable release (1.1.14 at the moment) without bumpingnixpkgs
is not trivial:poetry = ">=1.1.14"
topyproject.toml
does not work due to dependency version conflicts with other modules.poetry2nix
exports apoetry
package, it makes that package available only as a flake output (it could be possible to importoverlay.nix
from there directly, but that is not documented; this would also require changing the arguments added in Allow overriding Niv's sources in shell.nix #16602 —poetry2nix ? pkgs.callPackage (import sources.poetry2nix) { }
would no longer be sufficient).Given those facts, looks like the only way to fix the problem without major changes is to remove the
poetry
package from the Nix shell environment. This should not cause any problems for QMK users, because thepoetry
tool is not needed to compile the QMK firmware — it may be needed only if someone wants to update the Nix shell environment itself, and in that case something likenix run github:NixOS/nixpkgs/nixos-unstable#poetry
could be used for now.I don't actually have any Apple hardware to test this on, but the failure could be observed on the
macos-*
machines provided by GitHub (e.g., https://github.com/sigprof/qmk-nix-support/actions/runs/2666127722 — failed tests are for themaster
code without this change). The failure started to happen after the Nix 2.10.0 release a couple of days ago (cachix/install-nix-action
installs the latest stable Nix release by default); Nix 2.10.1 did not change anything.Cc: @purcell @AstridYu @andresilva
Types of Changes
Checklist