Commit Graph

79 Commits

Author SHA1 Message Date
Damien Elmes
7f0384b968 mention glibc requirements
https://forums.ankiweb.net/t/wheel-not-supported-on-the-platform-which-built-it/14432
2021-10-26 18:08:08 +10:00
Damien Elmes
ab01677ff1 add dockerfiles for amd64 and arm64 builds 2021-10-23 20:42:16 +10:00
Damien Elmes
a80a267cff //ts:format now runs on current working directory, instead of entire repo 2021-10-23 15:48:33 +10:00
Damien Elmes
3b8b71b815 minor tweak to new-platforms.md, and run prettier on docs 2021-10-23 15:40:45 +10:00
Damien Elmes
ee644e08a3 fixes and documentation for Linux ARM64
+ add qt6 dep to wheel install docs
+ remove x86_64 constraint on orjson
2021-10-23 15:22:24 +10:00
Damien Elmes
ad2c17aced docs: the old TS flakiness should be gone, but renames are a problem 2021-10-18 22:24:06 +10:00
Damien Elmes
e58646909f get PyQt working directly with ./run on macOS
It's no longer necessary to copy everything into bazel-copy, and you
can safely remove that folder.
2021-10-16 18:07:29 +10:00
Damien Elmes
bdbcb6d7aa default to a vendored copy of Python
Brings Python in line with our other dependencies, and means users
no longer need to install it prior to building, or deal with
issues caused by having the wrong version available.
2021-10-15 22:14:05 +10:00
Jakub Kaczmarzyk
183e45c698
replace dockerfile (#1410)
* replaces Dockerfile using bazel-based build system

This commit updates the Dockerfile to work with anki's bazel-based build
system.

The anki Dockerfile was originally added in
https://github.com/ankitects/anki/pull/753 back in September 2020. The
file was moved to `docs/Dockerfile` in
0d354da93a, with a note that the file had
to be updated to work with anki's updated build system. The file
`docs/Dockerfile` was removed in
7cd2e9618f.

* install setuptools and wheel + xkb libraries

* install anki virtual env in fresh base image

* move Dockerfile out of root directory

* add readme file for dockerized anki
2021-10-15 10:41:15 +10:00
Gesa Stupperich
5d093e1142
Mac bazelrc build tip (#1418)
* Copy build tip from Linux to Mac instructions

* Update build tip

* Accept BSD 3 clause license
2021-10-12 16:58:42 +10:00
Damien Elmes
1e8b02592d mention missing libs in linux.md 2021-10-12 16:19:27 +10:00
Damien Elmes
46b80ca773 move node_modules into root folder [action required]
Recommend removing ts/node_modules folder before attempting to
build after this update.

This moves ts/node_modules into the root of the project to work around
https://github.com/ankitects/anki/pull/1405#issuecomment-936213861

Also fixes the sass errors shown when running scripts/svelte-check
2021-10-07 11:42:27 +10:00
Damien Elmes
e9c7b2287f bump minimum Python to 3.9 2021-10-04 15:05:15 +10:00
Damien Elmes
944b064e54 update Rust deps 2021-10-02 20:42:03 +10:00
blue-putty
77995148c2 Typo correction
test changed to tense
2021-09-29 20:59:57 -04:00
Damien Elmes
1cdf0b1e9d tweak linux.md and add forum link 2021-09-02 20:52:55 +10:00
RumovZ
470312ca87 Update proto format call in docs 2021-07-22 10:08:50 +02:00
Damien Elmes
fe5845266b public API comment 2021-07-20 12:07:01 +10:00
Damien Elmes
ecd207bf26 add a brief architecture file 2021-07-20 11:59:39 +10:00
Damien Elmes
fc0035306c drop Rust Analyzer Bazel rule
With proper excludes set up, starting it outside of Bazel is similarly
fast, and unit tests work correctly. It also makes initial Bazel startup
faster, as the Rust sources no longer need to be fetched.
2021-07-19 23:27:11 +10:00
Damien Elmes
372a28be29 rename workspace
I'd forgotten that Bazel "helpfully" adds __init__.py files into folders
that match the workspace name, breaking imports.
2021-07-10 23:58:53 +10:00
Damien Elmes
616db33c0e refactor protobuf handling for split/import
In order to split backend.proto into a more manageable size, the protobuf
handling needed to be updated. This took more time than I would have
liked, as each language handles protobuf differently:

- The Python Protobuf code ignores "package" directives, and relies
solely on how the files are laid out on disk. While it would have been
nice to keep the generated files in a private subpackage, Protobuf gets
confused if the files are located in a location that does not match
their original .proto layout, so the old approach of storing them in
_backend/ will not work. They now clutter up pylib/anki instead. I'm
rather annoyed by that, but alternatives seem to be having to add an extra
level to the Protobuf path, making the other languages suffer, or trying
to hack around the issue by munging sys.modules.
- Protobufjs fails to expose packages if they don't start with a capital
letter, despite the fact that lowercase packages are the norm in most
languages :-( This required a patch to fix.
- Rust was the easiest, as Prost is relatively straightforward compared
to Google's tools.

The Protobuf files are now stored in /proto/anki, with a separate package
for each file. I've split backend.proto into a few files as a test, but
the majority of that work is still to come.

The Python Protobuf building is a bit of a hack at the moment, hard-coding
"proto" as the top level folder, but it seems to get the job done for now.

Also changed the workspace name, as there seems to be a number of Bazel
repos moving away from the more awkward reverse DNS naming style.
2021-07-10 19:17:05 +10:00
Damien Elmes
4ab0820bbc mention JS flakiness in Mac/Linux instructions 2021-06-21 13:23:03 +10:00
Damien Elmes
2bfb0c9286 update to latest rules_rust
- bumps rust version to 1.53
- drops support for incremental building, which is currently
disabled in stable Rust releases due to bugs. 'cargo check' can still
be used to quickly check things compile
2021-06-21 13:09:36 +10:00
cherryblossom
92fe68abfe
fix documentation links 2021-06-03 16:51:03 +10:00
Damien Elmes
01049b1289 add an updated script to run mypy as a daemon
Sadly doesn't work on Windows
2021-04-14 18:10:38 +10:00
Damien Elmes
1cc63f9267 update to latest rules_rust incremental compilation 2021-04-09 12:48:24 +10:00
Damien Elmes
6f7a4bf29e update rules_rust with worker refactor
If you were using the optional Rust worker support, please see the
change to development.md
2021-03-30 17:24:51 +10:00
Damien Elmes
89d249b3b6 update to the latest rules_rust + security framework update 2021-03-27 19:28:19 +10:00
Damien Elmes
5a59789a29 contributing.md update 2021-02-03 16:06:34 +10:00
Damien Elmes
f0f2da0f56 doc tweaks 2021-01-31 20:54:43 +10:00
Damien Elmes
d411aba909 clarify test running in docs 2021-01-19 10:26:00 +10:00
Damien Elmes
633034b24d add local sync server frontend 2021-01-13 11:42:00 +10:00
Damien Elmes
c6e23dbdc5 document extra formatter 2021-01-09 17:42:26 +10:00
Damien Elmes
3dad3c90d0 add .sql file formatter
Uses the logic from the sqltools VSCode add-on, with a workaround
for the use of 'type' in some table columns.

By detecting the presence of 'BUILD_WORKSPACE_DIRECTORY' we can tell
if the rule is running in test mode or was run directly, avoiding the
need for separate check and fix rules. It might be nice to extend this
to other formatting rules in the future as well.
2021-01-09 14:22:49 +10:00
Damien Elmes
f9e939aaff Make orjson optional again
While 32 bit platform support is probably not going to come back,
this allows Anki to run on other architectures orjson doesn't support.
2021-01-07 09:44:40 +10:00
Damien Elmes
65f90fa3a8 docs: musl and local node 2021-01-02 09:49:41 +10:00
Damien Elmes
eecdc07c68 add some Python source deps 2021-01-01 08:49:29 +10:00
Damien Elmes
2e7213f8b0 add some porting notes 2020-12-31 14:03:38 +10:00
Damien Elmes
32a5892327 fix typo in docs
Thanks to Gustavo for the report

Closes #876
2020-12-30 13:54:27 +10:00
Damien Elmes
58db3866fe
Merge pull request #868 from Arthur-Milchior/contributing_sh
Contributing shell code in backtick
2020-12-28 10:46:34 +10:00
Damien Elmes
1633d6bd9f remove reference to 'make pull-i18n', it's no longer required 2020-12-27 18:26:14 +10:00
Arthur Milchior
f7ad281170 Contributing shell code in backtick
Currently, on ebc77985d8/docs/contributing.md the
whole code is on a single line. Copying does not work, as the test is commented
2020-12-27 08:57:40 +01:00
Damien Elmes
355e4cd519 use PYTHON_SYS_EXECUTABLE for setting path to Python 2020-12-23 21:53:13 +10:00
Damien Elmes
7a3e21daad revert docs change; rollup issues occurred again in CI 2020-12-23 16:27:45 +10:00
Damien Elmes
02d7e55f9b update to rules_nodejs 3.0.0
Seems to fix the rollup issues on Windows.
2020-12-23 16:05:15 +10:00
Damien Elmes
86108cca55 mention deleting ts/node_modules in the docs
https://forums.ankiweb.net/t/strange-behaviour-in-the-html-editor/5796/6
2020-12-22 09:29:30 +10:00
Damien Elmes
32b6e8e198 document ANKI_PROFILE_CODE and add bazel command to run snakeviz 2020-12-17 12:03:24 +10:00
Damien Elmes
ecb7c1482f use QtMultimedia for recording instead of PyAudio
The unmute-on-first-duration-change approach is to try to prevent
clicks/pops that can happen at the start of recordings. If it doesn't
solve the problem, we may need to drop down to the lower-level
QAudioInput().

Closes https://github.com/ankitects/help-wanted/issues/23

May fix https://forums.ankiweb.net/t/anki-crashes-periodically-after-clicking-record-audio-button/5824,
which I suspect was caused by processEvents()
2020-12-16 19:33:25 +10:00
Damien Elmes
4b04905ff8 mention requirements.txt in editing docs 2020-12-16 15:38:02 +10:00