-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
python312Packages.nose: fix, use pep517 builder #325935
Conversation
657e500
to
fa76fc6
Compare
Since we are not pulling the patches from upstream, what is their license? |
Oh, that's a good question. The answer is unfortunately unclear. It turns out the GitHub repository for aports is just a mirror, so I probably need to switch the fetchpatch2 URLs again. But that said, the license situation for aports is unclear. https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 So maybe we can't use Alpine Linux's patches :/ That said, the patches are fairly trivial. I was working on my own version of this before I pulled in the Alpine patches. I guess I'd better switch back to doing that? |
I went to their chat and asked, we'll hopefully receive an answer soon. |
We can assume the published patches to be derivative works of nose, and as such they would have to be published under (L)GPL. I think we can continue with this assumption. |
SGTM. Just in case, I did also post an alternate patch. #325968 If we're going ahead with this PR, I think I want to do the following:
|
The 3.12 patch is the one authored by the pynose maintainer (or at least the metadata claims that authorship, which isn’t necessarily proof positive). So, uh, I guess at least we have confirmation that that one is intended to be LGPL now. The 3.11 one seems too trivial and mechanical to be eligible for copyright protection anyway. I do think that this seems like a better approach than pulling in further updates from the pynose upstream. |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/error-nose-1-3-7-not-supported-for-interpreter-python3-12/48703/17 |
FWIW, both of the patches are actually pretty trivial: I didn't look at it in great detail, but I believe the largest segment of code is the That said, if we have too much cold feet over it, I'm happy to pivot towards #325968 where I make a fully independent patch. It has the advantage that I started on it before finding the other patch, so it is legitimately different, although the truth is that they're going to be similar no matter what since it's the same idea. The only strong disadvantage is that I'm sure my patch is not complete yet. No issue for me either way. I've been running a nixpkgs-review run over night and all seems to be well with this patch by Michael Mintz. I haven't checked every single failure, but of them I have yet to see a failure that hasn't already existed on |
The pynose fork was eventually relicensed LGPL, so that part isn’t an issue. Learning that the |
Makes sense to me. I'm a bit busy but I think I should be able to find time today to rebase and clean up that PR so it is ready to merge. |
This comment was marked as outdated.
This comment was marked as outdated.
Result of 220 packages marked as broken and skipped:
326 packages failed to build:
2783 packages built:
|
Wow, pretty absurd timing. I wonder why my nixpkgs-review run had so many less failures. |
Closing in favor of #325968. |
Result of 220 packages marked as broken and skipped:
275 packages failed to build:
2834 packages built:
|
Description of changes
(Closed in favor of #325968 for now.)
This ports the Alpine Linux patches for Nose in Python 3.12 to Nixpkgs.
I don't know if I can get consensus on this as the "right" way to go, but with pynose having licensing issues, a ton of packages are broken right now. I don't personally think it makes sense for us to have a bunch of downstream ports of test suites to other test runners. It may be relatively easy, but these patches for Nose are also pretty easy, except they fix Nose for everything simultaneously and only need to be touched when Python updates rather than potentially when any Nose-dependent downstream package updates.
Some packages are still broken in 3.12 for other reasons, so I didn't bother to go around and change other derivations. I think it would make sense to stop the bleeding first, if we can.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.