Fix Raqm licensing issue by building against SheenBiDi and simplify the build - #9926
Open
khaledhosny wants to merge 7 commits into
Open
Fix Raqm licensing issue by building against SheenBiDi and simplify the build#9926khaledhosny wants to merge 7 commits into
khaledhosny wants to merge 7 commits into
Conversation
Contributor
|
Ah, I was actually just looking at doing this too! This may have some implications for downstream packagers like Debian though. |
Author
|
This affects only binary wheels, distros can continue using FriBiDi. |
khaledhosny
force-pushed
the
raqm-sheenbidi
branch
2 times, most recently
from
August 31, 2026 07:05
6c6a904 to
788e87b
Compare
Raqm was built in a special way because FriBiDi (a Raqm dependency) LGPL license. Raqm has since gained support for using Apache-2.0-licensed SheenBidi. Raqm is configured with -Dsheenbidi=true. A winbuild/raqm.cmake is added for Windows builds (Raqm upstream has no CMake support). The extension still compiles the bundled Raqm copy, so nothing links these libraries at the moment.
Use the dependency builds introduced in the previous commit. The whole FriBiDi shim setup is not longer needed since Rqam is built against SheenBidi. This simplifies the setup greatly and drops the need for bundling Raqm at all. Raqm availability is now decided at compile time. The "fribidi" feature is meaningless now, but instead of introducing a "sheenbidi" feature (which we can not reliably detect when dynamic linking Raqm), it is now deprecated and made an alias of "raqm" feature. The same goes for "harfbuzz" feature.
Nothing links FriBiDi any more.
There are no licensing issues now with FriBiDi being replaced with SheenBidi which is statically built as well.
The Linux runner now builds Raqm against SheenBidi like wheel sdo. Raqm with FriBiDi path is still covered by Homebrew’s libraqm on macOS and the MSYS2 one on Windows.
The shipped copy carried a 2016 copyright line and an old address. Take the text from the Raqm 0.11.0 release.
khaledhosny
force-pushed
the
raqm-sheenbidi
branch
from
August 31, 2026 12:11
788e87b to
b4792d7
Compare
Author
|
I think the windows failures are a corrupt file in the ci cache and don't seem to have a way to invalidate that cache, so a maintainer has to drop the bad cache entey. |
Author
|
I don’t know what to do the remaining failures, maybe flacky ci jobs? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Raqm was built in a special way because FriBiDi (a Raqm dependency) LGPL license. Raqm has since gained support for using Apache-2.0-licensed SheenBidi.
The build is now simplified to no longer require fribidi-shim and consequently vendored raqm. This also enabled raqm on iOS. See individual commits for more details.