-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
harfbuzz: add mingw32 support #273663
harfbuzz: add mingw32 support #273663
Conversation
@edolstra Any chance I can snag a review :)? |
ab64bd1
to
0899577
Compare
3dbbdac
to
bdb9552
Compare
bdb9552
to
85e203e
Compare
++ lib.optionals withCoreText [ ApplicationServices CoreText ]; | ||
|
||
propagatedBuildInputs = lib.optional withGraphite2 graphite2 | ||
++ lib.optionals withIcu [ icu harfbuzz ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was also causing a circular dependency when trying to build mingw. Perhaps I should do...
propagateHarfbuzz ? if stdenv.hostplatform.isMinGW then false else true
...
++ lib.optionals withIcu [ icu ]
++ lib.optionals propagateHarfbuzz [ harfbuzz ]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's clear from withIcu ? stdenv.hostPlatform.isMinGW
that ICU support is enforced for MinGW (why?), so just pass (withIcu && !stdenv.hostPlatform.isMinGW)
here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had trouble getting this to compile without icu.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added recommended changes
++ lib.optionals withCoreText [ ApplicationServices CoreText ]; | ||
|
||
propagatedBuildInputs = lib.optional withGraphite2 graphite2 | ||
++ lib.optionals withIcu [ icu harfbuzz ]; | ||
++ lib.optionals withIcu [ icu ]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
++ lib.optionals withIcu [ icu ]; | |
++ lib.optionals withIcu [ icu ] | |
++ lib.optionals (withIcu && !stdenv.hostPlatform.isMinGW) [ harfbuzz ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Used suggestion
@@ -18,13 +18,14 @@ | |||
, ApplicationServices | |||
, CoreText | |||
, withCoreText ? false | |||
, withIcu ? false # recommended by upstream as default, but most don't needed and it's big | |||
, withGraphite2 ? true # it is small and major distros do include it | |||
, withIcu ? if stdenv.hostPlatform.isMinGW then true else false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
, withIcu ? if stdenv.hostPlatform.isMinGW then true else false | |
, withIcu ? stdenv.hostPlatform.isMinGW # recommended by upstream as default, but most don't needed and it's big |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
used suggestion
, withGraphite2 ? true # it is small and major distros do include it | ||
, withIcu ? if stdenv.hostPlatform.isMinGW then true else false | ||
, withGlib ? lib.meta.availableOn stdenv.hostPlatform glib | ||
, withGraphite2 ? lib.meta.availableOn stdenv.hostPlatform graphite2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
, withGraphite2 ? lib.meta.availableOn stdenv.hostPlatform graphite2 | |
, withGraphite2 ? lib.meta.availableOn stdenv.hostPlatform graphite2 # it is small and major distros do include it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Used suggestion
Wait, |
85e203e
to
67024cb
Compare
Oof. I am not sure. My goal is to get this dependency working for qt6.qtbase. I have a hello world application working with the changes here. I may publish my overlays so the community can upstream/improve the packages |
Closing PR since upstream changes seemed to have implemented this better than I have when I started. Here is the repo to my overlays that I mentioned in my previous comment. |
Description of changes
Adding mingw32 host platform build support for harfbuzz. Depency update needed to add mingw32 build support for qt6. See #272538
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.