-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
qt5: cross compile with a clean separation of build and host binaries #267311
base: master
Are you sure you want to change the base?
qt5: cross compile with a clean separation of build and host binaries #267311
Commits on May 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6d53085 - Browse repository at this point
Copy the full SHA 6d53085View commit details -
Revert "nixos/no-x-libs: build qtbase without qt translation"
Not sure what was the problem here, but as of next commit qtbase successfully builds with `environment.noXlibs = true` and qttranslations. This reverts commit 2e14d8b.
Configuration menu - View commit details
-
Copy full SHA for 964550b - Browse repository at this point
Copy the full SHA 964550bView commit details -
Add to qtbase support for building a small bootstrap package. Move qmake and other tools from qtbase.dev to qtbase.qmake to avoid pulling in a second version of qtbase.dev in cross builds. Use hidden bootstrap packages for qtbase and qttools instead of overrideScope-based staging process to solve some spurious builds and infinite recursions. This commit by itself will allow to cross compile only qttranslations and qtbase.
Configuration menu - View commit details
-
Copy full SHA for d81dd55 - Browse repository at this point
Copy the full SHA d81dd55View commit details -
qt5.qtbase: always build all packaged binaries for the hostPlatform
Also teach the setup hook, qmake and cmake scripts to search various build tools in PATH and use them for cross compilation. This will allow to cross compile packages that require only qtbase and qmake.
Configuration menu - View commit details
-
Copy full SHA for f7a5576 - Browse repository at this point
Copy the full SHA f7a5576View commit details -
qt5.qtbase: support substituting a cross-built qtbase dependency with…
… a native-built one For this we need to dynamically detect cross compilation in qtbase-setup-hook.sh and in mkspecs, and stop unconditionally using binary lndir in propagatedNativeBuildInputs. For now qtbase substitution will work only in one (most used) direction, and in many cases will additionally require to manually add a buildHost version of qtbase.qmake to nativeBuildInputs of the package that depends on qtbase.
Configuration menu - View commit details
-
Copy full SHA for 3d23b67 - Browse repository at this point
Copy the full SHA 3d23b67View commit details -
Configuration menu - View commit details
-
Copy full SHA for e26f0de - Browse repository at this point
Copy the full SHA e26f0deView commit details -
qt5: fix discovery of QT modules in cross builds
Without it qtwebchannel will fail to find some library includes, qtquickcontrols will refuse to build without properly failing the build: ``` Some of the required modules (qtHaveModule(quick)) are not available. Skipped. ``` And there are probably more problems, not always obvious.
Configuration menu - View commit details
-
Copy full SHA for 85a7eed - Browse repository at this point
Copy the full SHA 85a7eedView commit details -
qt5.qtwayland: fix cross compilation and dependencies
It needs only qtdeclarative to build, not qtquickcontrols.
Configuration menu - View commit details
-
Copy full SHA for 3a0a27b - Browse repository at this point
Copy the full SHA 3a0a27bView commit details -
qt5.qtdeclarative: fix cross for qtdeclarative and some of it's users
If you're a nativeBuildInput somewhere, you probably shouldn't propagate qtbase.
Configuration menu - View commit details
-
Copy full SHA for bef05f6 - Browse repository at this point
Copy the full SHA bef05f6View commit details -
qt5.qttools: fix detection of lrelease and other tools in cross build…
…s with qttools as a buildInput And don't propagate qtbase to avoid pulling in a second qtbase.dev in cross builds.
Configuration menu - View commit details
-
Copy full SHA for d37157c - Browse repository at this point
Copy the full SHA d37157cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e3eaf7e - Browse repository at this point
Copy the full SHA e3eaf7eView commit details -
qt5.qtwebkit: use hyphen from pkgs
The sources in tarbals are identical, and hyphen from pkgs properly supports cross compilation.
Configuration menu - View commit details
-
Copy full SHA for 041620b - Browse repository at this point
Copy the full SHA 041620bView commit details -
qt5.qtwebkit: add missing optional deps
It will use the bundled woff2 lib if we don't provide a system one. And "DWARF optimization and duplicate removal tool" is just nice to have, I guess.
Configuration menu - View commit details
-
Copy full SHA for f3ae8f6 - Browse repository at this point
Copy the full SHA f3ae8f6View commit details -
Revert "qt5.qtwebchannel: omit "bin" output when cross compiling"
Not sure why it was done. This reverts commit 49e8d9d.
Configuration menu - View commit details
-
Copy full SHA for 7b40a46 - Browse repository at this point
Copy the full SHA 7b40a46View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f6bb01 - Browse repository at this point
Copy the full SHA 0f6bb01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c2d838 - Browse repository at this point
Copy the full SHA 2c2d838View commit details -
pyqtwebengine: update cross compilation support
I expect here that qtwebengine will propagate qtwebchannel and qtdeclarative and that qtdeclarative will propagate itself as a nativeBuildInput. But maybe we shouldn't rely on those propagations?
Configuration menu - View commit details
-
Copy full SHA for 772fd80 - Browse repository at this point
Copy the full SHA 772fd80View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d64c29 - Browse repository at this point
Copy the full SHA 5d64c29View commit details -
qt5.full: simplify package functions' definitions and calls
Rely on callPackage whenever possible. And pass a spliced version of stdenv to fix cross compilaton for qtwebengine.
Configuration menu - View commit details
-
Copy full SHA for 0199c73 - Browse repository at this point
Copy the full SHA 0199c73View commit details -
qt5.qtbase: remove broken QMAKEMODULES code
It never worked and it's just an attempt to duplicate the logic from qmake (i.e. QMAKEPATH -> QMAKEMODULES translation) that qmake does all by itself.
Configuration menu - View commit details
-
Copy full SHA for dbabeed - Browse repository at this point
Copy the full SHA dbabeedView commit details -
Configuration menu - View commit details
-
Copy full SHA for 27353f1 - Browse repository at this point
Copy the full SHA 27353f1View commit details