Related: #68314
This fixes startup of anki, which currently shows this in a dialog:
Error during startup:
Traceback (most recent call last):
File "/nix/store/0h395dwc6b80n5xg93p86ywaz6kpz6ck-anki-2.1.15/lib/python3.7/site-packages/aqt/main.py", line 46, in __init__
self.setupAddons()
File "/nix/store/0h395dwc6b80n5xg93p86ywaz6kpz6ck-anki-2.1.15/lib/python3.7/site-packages/aqt/main.py", line 657, in setupAddons
import aqt.addons
File "/nix/store/0h395dwc6b80n5xg93p86ywaz6kpz6ck-anki-2.1.15/lib/python3.7/site-packages/aqt/addons.py", line 9, in <module>
import markdown
File "/nix/store/knq8798kl0xzzr7ii4bchskg1c8mq6pj-python3.7-Markdown-3.1.1/lib/python3.7/site-packages/markdown/__init__.py", line 25, in <module>
from .core import Markdown, markdown, markdownFromFile
File "/nix/store/knq8798kl0xzzr7ii4bchskg1c8mq6pj-python3.7-Markdown-3.1.1/lib/python3.7/site-packages/markdown/core.py", line 29, in <module>
import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
The Anki manual is distibuted in a separate repository and has to be
patched a bit to work offline.
The in-program manual now points to our distributed offline version.
Runtime doesn't work:
ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'
This is probably because qtwebengine is broken on darwin, but doesn't
fail the build (#40149)
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/anki/versions.
These checks were done:
- built on NixOS
- /nix/store/2dqw72sffcynzzgcfk0k9mh7jn8sw0kw-anki-2.0.52/bin/anki passed the binary check.
- /nix/store/2dqw72sffcynzzgcfk0k9mh7jn8sw0kw-anki-2.0.52/bin/..anki-wrapped-wrapped passed the binary check.
- /nix/store/2dqw72sffcynzzgcfk0k9mh7jn8sw0kw-anki-2.0.52/bin/.anki-wrapped passed the binary check.
- 3 of 3 passed binary check by having a zero exit code.
- 3 of 3 passed binary check by having the new version present in output.
- found 2.0.52 with grep in /nix/store/2dqw72sffcynzzgcfk0k9mh7jn8sw0kw-anki-2.0.52
- directory tree listing: https://gist.github.com/1a53026ee3eea78708113c1b6e9d857f
- du listing: https://gist.github.com/c8dcabda5b46155a959b86843ee24ddd
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/anki/versions.
These checks were done:
- built on NixOS
- ran `/nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51/bin/anki -h` got 0 exit code
- ran `/nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51/bin/anki --help` got 0 exit code
- ran `/nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51/bin/anki --version` and found version 2.0.51
- ran `/nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51/bin/..anki-wrapped-wrapped -h` got 0 exit code
- ran `/nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51/bin/..anki-wrapped-wrapped --help` got 0 exit code
- ran `/nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51/bin/..anki-wrapped-wrapped --version` and found version 2.0.51
- ran `/nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51/bin/.anki-wrapped -h` got 0 exit code
- ran `/nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51/bin/.anki-wrapped --help` got 0 exit code
- ran `/nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51/bin/.anki-wrapped --version` and found version 2.0.51
- found 2.0.51 with grep in /nix/store/pc80xsrc6hc3xw5fibqhcd3xy2z6krj8-anki-2.0.51
- directory tree listing: https://gist.github.com/47b6928b65d620f470e7c7f117898265
Semi-automatic update generated by https://github.com/ryantm/nix-update tools. These checks were done:
- built on NixOS
- ran `/nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50/bin/..anki-wrapped-wrapped -h` got 0 exit code
- ran `/nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50/bin/..anki-wrapped-wrapped --help` got 0 exit code
- ran `/nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50/bin/..anki-wrapped-wrapped --version` and found version 2.0.50
- ran `/nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50/bin/anki -h` got 0 exit code
- ran `/nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50/bin/anki --help` got 0 exit code
- ran `/nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50/bin/anki --version` and found version 2.0.50
- ran `/nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50/bin/.anki-wrapped -h` got 0 exit code
- ran `/nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50/bin/.anki-wrapped --help` got 0 exit code
- ran `/nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50/bin/.anki-wrapped --version` and found version 2.0.50
- found 2.0.50 with grep in /nix/store/yxxxxgsdxr65bgnv1xn0h9pdivpm2bvx-anki-2.0.50
Searching the web for the base-16 encoded hash of the one we have in the
Nix expression didn't give any results and I also couldn't find the
older tarball anywhere (even the mirrors I've checked don't have it).
So checking the updated hash I've found that other distros use this, so
I'd bet it's safe to do this.
I've tested building the package but I didn't do any runtime test.
Signed-off-by: aszlig <aszlig@nix.build>
Cc: @the-kenny
SQLAlchemy-0.9.9 was broken recently, probably because of an sqlite
update. So we just use the latest version.
The build expression used to take the entire package set as an argument,
which is poor style because it hides the true dependencies from the
interface. I've change the code to expect the appropriate individual
packages instead.
This refactoring changes a number of things:
- use system copies of Python libraries BeautifulSoup, and HTTPLIB2,
- custom install to avoid installation of unnecessary files and poor
directory structure, and
- add patch for sorting out file paths, in particular this fixes
localization.