aea0a6fcc6
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.
58 lines
1.2 KiB
Markdown
58 lines
1.2 KiB
Markdown
# 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 //...
|
|
```
|