Running and testing should be working on the three platforms, but there's still a fair bit that needs to be done: - Wheel building + testing in a venv still needs to be implemented. - Python requirements still need to be compiled with piptool and pinned; need to compile on all platforms then merge - Cargo deps in cargo/ and rslib/ need to be cleaned up, and ideally unified into one place - Currently using rustls to work around openssl compilation issues on Linux, but this will break corporate proxies with custom SSL authorities; need to conditionally use openssl or use https://github.com/seanmonstar/reqwest/pull/1058 - Makefiles and docs still need cleaning up - It may make sense to reparent ts/* to the top level, as we don't nest the other modules under a specific language. - rspy and pylib must always be updated in lock-step, so merging rspy into pylib as a private module would simplify things. - Merging desktop-ftl and mobile-ftl into the core ftl would make managing and updating translations easier. - Obsolete scripts need removing. - And probably more.
1.2 KiB
Mac
Requirements
Xcode:
Install the latest XCode from the App Store. Open it at least once so it installs the command line tools.
Homebrew & Homebrew Deps:
Install Homebrew from https://brew.sh/
Then install deps:
$ brew install rsync gettext bazelisk
Install Python 3.8:
Install Python 3.8 from https://python.org. You may be able to use the Homebrew version instead, but this is untested.
You do not need to set up a Python venv prior to building Anki.
When you run "python" in a shell, if it shows Python 2.x, you may get a bunch of hashlib warnings during build. You can work around this by pointing python to python3.8:
$ ln -sf /usr/local/bin/{python3.8,python}
Running Anki during development
From the top level of Anki's source folder:
./run
This will build Anki and run it in place.
The first build will take while, as it downloads and builds a bunch of dependencies. When the build is complete, Anki will automatically start.
To play audio, use Homebrew to install mpv. At the time of writing, recording is not yet supported, as currently pyaudio is not being installed.
Running tests
From inside the source folder:
bazel test //...