Skip to content

anki: move python libraries into 'lib' output - #438958

Merged
isabelroses merged 1 commit into
NixOS:masterfrom
euank:anki-split-lib
Sep 12, 2025
Merged

anki: move python libraries into 'lib' output#438958
isabelroses merged 1 commit into
NixOS:masterfrom
euank:anki-split-lib

Conversation

@euank

@euank euank commented Aug 31, 2025

Copy link
Copy Markdown
Member

Fixes #438598

Anki's packaging got reworked in
#425219, and one of the changes was to effectively 'pip install' the wheels for anki and its dependencies into $out directly.

This resulted in an output structure of '$out/bin' and '$out/lib', with python files in 'lib'.

Per #438598, this can cause conflicts.

Let's split anki into anki.out and anki.lib, requiring a user to specifically include anki.lib in their environment in order to hit the python conflicts described there.

This seems like the easiest solution, though I'm of course open to any better alternatives.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@euank euank mentioned this pull request Aug 31, 2025
3 tasks
@nixpkgs-ci nixpkgs-ci Bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 6.topic: games Gaming on NixOS labels Aug 31, 2025
@nix-owners
nix-owners Bot requested review from JuneStepp and oxij August 31, 2025 16:53

@eyJhb eyJhb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I've tested these changes, and they resolve the issues I had. Confirmed that Anki still works as well :)

I'm not that much into how $out vs. $lib, so I can't comment on that sadly. But I really appreciate the fast response ❤️

@eljamm eljamm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good aside from the small nit.

Comment thread pkgs/games/anki/default.nix Outdated
@nixpkgs-ci nixpkgs-ci Bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Sep 9, 2025
Fixes NixOS#438598

Anki's packaging got reworked in
NixOS#425219, and one of the changes was
to effectively 'pip install' the anki wheel into $out directly.

This resulted in an output structure of '$out/bin' and '$out/lib', with
python files in 'lib'.

Per NixOS#438598, this can cause conflicts.

Let's split anki into `anki.out` and `anki.lib`, requiring a user to
specifically include `anki.lib` in their environment in order to hit the
python conflicts described there.

This seems like the easiest solution, though I'm of course open to any
better alternatives.

@eljamm eljamm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 438958
Commit: f955f2ce5e400bcccfc506c0bc7e6662567dd4f1 (subsequent changes)
Merge: 99cf65bb19aa9eb018070168f23e190df2d138e3

Logs: https://github.com/eljamm/nixpkgs-review-gha/actions/runs/17626292759


x86_64-linux

✅ 8 packages built:
  • anki
  • anki.doc
  • anki.lib
  • anki.man
  • ki
  • ki.dist
  • mnemosyne
  • mnemosyne.dist

aarch64-linux

✅ 8 packages built:
  • anki
  • anki.doc
  • anki.lib
  • anki.man
  • ki
  • ki.dist
  • mnemosyne
  • mnemosyne.dist

x86_64-darwin

No rebuilds


aarch64-darwin

No rebuilds

@nixpkgs-ci nixpkgs-ci Bot added 12.approvals: 2 This PR was reviewed and approved by two persons. and removed 12.approvals: 1 This PR was reviewed and approved by one person. labels Sep 11, 2025
@isabelroses
isabelroses added this pull request to the merge queue Sep 12, 2025
Merged via the queue into NixOS:master with commit 5cb8c1c Sep 12, 2025
31 of 33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: games Gaming on NixOS 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 12.approvals: 2 This PR was reviewed and approved by two persons.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Anki: Conflicting subpaths

5 participants