anki/docs/mac.md
Damien Elmes aea0a6fcc6 initial Bazel conversion
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.
2020-11-01 14:26:58 +10:00

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 //...
```