mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00

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.
67 lines
1.4 KiB
Markdown
67 lines
1.4 KiB
Markdown
# Linux
|
|
|
|
## Requirements
|
|
|
|
These instructions are written for Debian/Ubuntu; adjust for your distribution.
|
|
|
|
**Ensure some basic tools are installed**:
|
|
|
|
```
|
|
$ sudo apt install bash grep findutils curl gcc g++ git gettext
|
|
```
|
|
|
|
The 'find' utility is 'findutils' on Debian.
|
|
|
|
**Install Python 3.8**:
|
|
|
|
If you're on a modern distribution, you may be able to install Python from the repo:
|
|
|
|
```
|
|
$ sudo apt install python3.8
|
|
```
|
|
|
|
If python3.8 is not available in your distro, you can download it from python.org.
|
|
|
|
Notes:
|
|
|
|
- The build scripts expect to find 'python3.8' on your path, so Python 3.7 or 3.9 will
|
|
not work.
|
|
- An active Python venv is not required, and may cause problems.
|
|
|
|
**Install Bazelisk**:
|
|
|
|
Download it under the name 'bazel':
|
|
|
|
```
|
|
$ curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.7.4/bazelisk-linux-amd64 -o ./bazel
|
|
```
|
|
|
|
And put it on your path:
|
|
|
|
```
|
|
$ chmod +x bazel && sudo mv bazel /usr/local/bin/
|
|
```
|
|
|
|
## 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, 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 //...
|
|
```
|