The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
Start anki-sync-server service and drive anki manually through its
python lib to test sync.
The anki python part isn't a stable API and might require freqent
rework, let's see if it holds up...
anki-sync-server will be used in new ankisyncd module.
anki itself was slightly modified to add its cargoLock as passthru so we
can use it for anki-sync-server as it's built from the same sources.
Link: https://github.com/NixOS/nixpkgs/pull/257692
Co-authored-by: Pavel Sobolev <paveloom@riseup.net>
Co-authored-by: h7x4 <h7x4@nani.wtf>
This redoes all the packaging for their new build-system.
It feels a bit fragile, but in practice it works.
Basically, we build most of it in nix, write some wrapper scripts to
mock out stuff we just did in nix, and then call thier build system to
make a wheel
anki-bin is built with buildFHSUserEnv on Linux, which makes using overrides
to pass in command line arguments impossible. This commit adds the
commandLineArgs argument to the package inputs and appends the string
to the runscript, allowing pkgs.override to add flags to pass to anki
when the derivation is built.
This is useful when anki's desired directory isn't the default, allowing
users to specify the directory in their overlays instead of adding a
flag everytime they call the program.
anki-bin is built with buildFHSUserEnv on Linux, which doesn't set a
version for the resulting derivation. This commit overrides the
resulting derivation to have a version set correctly.
This is important for end-users to be able to easily tell what
version of Anki they will get when they install `anki-bin`. It is
normally very important to use the correct version of Anki.