Skip to content

qt6.qtbase: move qmodule.pri to $dev too#481338

Closed
doronbehar wants to merge 1 commit intoNixOS:stagingfrom
doronbehar:pkg/qtbase@pkg-config-reference
Closed

qt6.qtbase: move qmodule.pri to $dev too#481338
doronbehar wants to merge 1 commit intoNixOS:stagingfrom
doronbehar:pkg/qtbase@pkg-config-reference

Conversation

@doronbehar
Copy link
Copy Markdown
Contributor

@doronbehar doronbehar commented Jan 18, 2026

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

This file retains a reference to `pkg-config`, and hence should be part
of the `$dev` output.
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. labels Jan 18, 2026
@K900
Copy link
Copy Markdown
Contributor

K900 commented Jan 18, 2026

What does this actually achieve?

@doronbehar
Copy link
Copy Markdown
Contributor Author

doronbehar commented Jan 18, 2026

What does this actually achieve?

It avoids having qt6.qtbase.out depend on pkg-config, and makes only qt6.qtbase.dev depend on pkg-config. In a cross compilation context, the dependency of qt6.qtbase.out on pkg-config is very expensive, as the latter pulls build platform Bash and more.

@K900
Copy link
Copy Markdown
Contributor

K900 commented Jan 18, 2026

Does it break qmake?

@doronbehar
Copy link
Copy Markdown
Contributor Author

Does it break qmake?

qt6.qmake is only a setup hook mostly based upon qt6.qtbase, and qt6.qtbase builds fine with this PR (merged upon branch master), and I also verified that:

nix why-depends --all --precise -f. pkgsCross.armv7l-hf-multiplatform.{qt6.qtbase,buildPackages.pkg-config.out}

Shows there is no dependence.

@K900
Copy link
Copy Markdown
Contributor

K900 commented Jan 19, 2026

qmake the build tool is what consumes these .pri files, and it likely needs to be patched to look in $dev.

@doronbehar doronbehar mentioned this pull request Jan 19, 2026
14 tasks
@doronbehar
Copy link
Copy Markdown
Contributor Author

Well TBH I think the situation is more complex then I though - after skimming over:

So I think I will close this, as I also tried to build pkgsCross.armv7l-hf-multiplatform.dsda-launcher and it failed to build due to related errors...

@doronbehar doronbehar closed this Jan 19, 2026
@eryngion
Copy link
Copy Markdown

eryngion commented Feb 4, 2026

it likely needs to be patched to look in $dev

It looks into QMAKEPATH that we collect in qtbase-setup-hook.sh. For qtbase itself it could maybe work as-is but for all other modules qmakePathHook has to be in envHostTargetHooks to work properly. Also in qt5 all .pri files go to $dev by virtue of hooks/move-qt-dev-tools.sh.

@doronbehar doronbehar deleted the pkg/qtbase@pkg-config-reference branch February 10, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants