-
Notifications
You must be signed in to change notification settings - Fork 363
Closed
Description
PyICU is a bit of a painful dependency:
- upstream does not ship wheels
- locally-built wheels become tied to the shared library version of ICU installed on your system
- if you later update ICU, you need to rebuild and reinstall these wheels, but the wheel's build is often cached, which makes this process difficult
- because no wheels are available, it adds to build time and makes cross-compiling builds at release time more difficult
It could be argued that the cost to benefit ratio of this dependency has been quite high since its introduction.
We could instead consider using the ICU4X project (which I believe is the successor to ICU), which is written in Rust and could therefore be used a dependency in the Rust component of Synapse.
Rust crates are generally pretty predictable in how they are packaged and built, so this would turn ICU from less of a special snowflake dependency into something less painful.
See:
vxtlsclokep, MadLittleMods, ilDuna and lamoboos223sandhose and lamoboos223
Metadata
Metadata
Assignees
Labels
No labels