Running from source
--------------------

For non-developers who want to try this development code, the easiest way is
to use a binary package - please see:

https://anki.tenderapp.com/discussions/beta-testing

You are welcome to run Anki from source instead, but it is expected that you
can sort out all dependencies and issues by yourself - we are not able to
provide support for problems you encounter when running from source.

To start, make sure you have the following installed:

 - Python 3.6+
 - Qt 5.9.x or 5.11.x+
 - portaudio
 - mpv
 - lame
 - npm
 - your platform's C compiler, eg gcc, Xcode or Visual Studio 2017.
 - GNU make
 - protoc v3 (https://github.com/protocolbuffers/protobuf/releases)
 - rustup (https://rustup.rs/)
 - pip 19+

Next, build a Python virtual environment and activate it:

$ python3 -m venv ~/pyenv
$ . ~/pyenv/bin/activate

If the distro you are using has PyQt5 installed, make sure you have the PyQt5
WebEngine module and development tools (eg pyqt5-dev-tools) installed as well.
Otherwise, run:

$ pip install -r requirements.qt

Then to run the development version:

$ make run

If you get any errors please return to the top and check the requirements
again, and make sure you don't have another version of Anki installed.

If you want to use a language other than English, copy the locale/ folder
from a source tarball into the root of the repo.

To run the unit tests and checks:

$ make check

Before contributing code, please read README.contributing.

If you'd like to contribute translations, please see the translations section
of http://ankisrs.net/docs/manual.html#_contributing

Mac users
----------

You can use homebrew to install some dependencies:

$ brew install python mpv lame portaudio protobuf npm rustup-init

Windows users
--------------

The build process uses a GNU makefile, so you'll either need to run
GNU make via WSL (https://docs.microsoft.com/en-us/windows/wsl/install-win10)
or Cygwin, or manually execute the build steps.
