Commit graph

30 commits

Author SHA1 Message Date
Damien Elmes
4404324ac0 update to latest cargo-raze 2020-12-15 20:28:10 +10:00
Damien Elmes
7ebedb26c9 Merge pull request #848 from cecini/rslibdep
Update Rust deps, and nom to v6
2020-12-15 20:04:02 +10:00
cecini
77a94c8a45 Update rslib dep nom 2020-12-15 08:19:52 +00:00
cecini
f8a4b2ea84 fix update.py for compatible 2020-12-15 08:09:11 +00:00
Damien Elmes
cf8cfcf97f drop unused i686 references
https://forums.ankiweb.net/t/changing-ankis-build-system-to-bazel/4737/9
2020-12-09 15:45:01 +10:00
Damien Elmes
15f697aa30 bump rust deps 2020-12-09 15:34:43 +10:00
Damien Elmes
2bd73019df use compile_data with cargo raze
requires https://github.com/ankitects/cargo-raze/releases/tag/anki-2020-12-01
2020-12-01 16:48:45 +10:00
Damien Elmes
82c69ac260 make pyo/ring data arguments more specific 2020-12-01 16:48:45 +10:00
Damien Elmes
1315d8b3c1 update Rust deps incl. Pyo3
This includes the refcount bug fix from pyo3 0.12.4
2020-12-01 16:48:45 +10:00
Damien Elmes
2f9ddadf2c switch to workspace for Rust code 2020-11-24 18:41:03 +10:00
Damien Elmes
ed82c04b4e update rust deps 2020-11-24 16:57:37 +10:00
Damien Elmes
05725ab560 use ring on Linux; native-tls on other platforms
Python wheels on Linux require statically linked SSL libraries.
We were previously relying on the native-tls-vendored feature in
reqwest, but that does not work with Bazel, as openssl-src makes
assumptions that break when sandboxed. The static libs distributed
by distros like Ubuntu fail to link, and while we could potentially
build OpenSSL ourselves, we'd then need to keep it up to
date.

On Windows and Mac however, native-tls is preferable to ring, as it
allows us to get free updates from the OS, and results in
a smaller library.

Rust currently only supports platform-specific features in nightly,
and cargo-raze does not have support for them, so we currently need
to override the generated build file with a hand-crafted one that
specifies the relative features/deps for each platform.

update.py has been updated to automatically keep the version numbers
in this file up to date, so it should hopefully not prove too hard to
maintain going forward.
2020-11-15 15:25:28 +10:00
Damien Elmes
fd4c1edc7f add native-tls in preparation for Linux-only ring 2020-11-15 14:02:53 +10:00
Damien Elmes
702c4b29f9 update Rust deps 2020-11-15 13:31:24 +10:00
Damien Elmes
f83f0f08e2 drop El Capitan support 2020-11-12 20:03:41 +10:00
Damien Elmes
35fed9f0bd dump crate licenses as part of update run 2020-11-12 20:03:41 +10:00
Damien Elmes
588f677f7e rs dep updates 2020-11-12 20:03:41 +10:00
Damien Elmes
c4fcba6ade update to cargo-raze 0.7.0 + latest deps
Gives us wildcard entries in raze.toml, and solves warnings about
unrecognized "raze" entries.
2020-11-10 09:48:42 +10:00
Damien Elmes
f0e3d29979 switch to the stable Python ABI
Should allow the library to be imported in both Python 3.8+3.9.
2020-11-03 20:29:07 +10:00
Damien Elmes
f24d80bac5 update to latest fluent libs, and integrate maximum digit handling
We now limit number of digits in our formatter, instead of relying
on an upstream patch.
2020-11-03 14:10:45 +10:00
Damien Elmes
a001029961 add shallow_since to a bunch of git deps 2020-11-03 11:42:11 +10:00
Damien Elmes
6cde50e475 ues native roots with rustls 2020-11-03 10:42:20 +10:00
Damien Elmes
c6e6c8a54d update env_logger, and minor dep updates 2020-11-03 09:04:57 +10:00
Damien Elmes
439ae181d7 README updates 2020-11-03 09:03:00 +10:00
Damien Elmes
c62e2e1e58 reqwest was missing default-features = false
Still needed until we fix OpenSSL compilation on Linux
2020-11-02 21:53:24 +10:00
Alan Du
3d68b22962 Update to PyO3 0.12
+ cargo raze by Damien
2020-11-02 18:38:34 +10:00
Damien Elmes
f620bfc3bf update rusqlite and pin-project
Thanks to Alan for the heads up
2020-11-02 18:26:19 +10:00
Damien Elmes
46f2b059a3 remote/ needs to be removed before updating 2020-11-02 18:25:50 +10:00
Damien Elmes
db0e0e78f8 update cargo deps; add script to copy them from rslib/ 2020-11-02 18:17:26 +10:00
Damien Elmes
ce3b08ac58 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