Commit Graph

29 Commits

Author SHA1 Message Date
Matt Sturgeon
cd5e77db80 wrapQtAppsHook: support structuredAttrs
With `__structuredAttrs = true`, `qtWrapperArgs` is provided as an
array; without it, it is provided as a string.

Use stdenv's `concatTo` helper to normalize `qtWrapperArgs` to a bash
array, regardless of its representation.

Adjust the hook's tests to cover both __structuredAttrs true and false.
2026-06-04 01:43:31 +01:00
Stefan Frijters
896e11b507 qt6.qtbase: fix incorrect substitution in setupHook 2026-02-25 11:56:09 +01:00
Guillaume Girol
09d904640a wrapQtAppsHook: wrap once per output instead of only the first output
the `wrapQtAppsHook` function is called for each output, with prefix set
to the path of the output. As a result, with the previous code it would
only wrap the first output. Instead, ensure the code is called only once
on each output.
2026-01-21 11:40:53 +01:00
K900
36dba6e1cc qt6.wrapQtAppsHook: don't include qtwayland
The base windowing integration for Wayland lives in qtbase now,
and qtwayland only provides libadwaita decorations, which are
only relevant on GNOME-likes without server-side decoration support,
and should probably be installed by the appropriate modules.
2025-10-21 16:20:17 +03:00
sund3RRR
f74e440d7f qt6: use isELF and isMachO in wrapQtAppsHook 2025-04-02 22:01:44 +03:00
Lin Jian
7712700b18 wrapQtAppsHook: actually use makeQtWrapper for symlinks
Since -f implies -h, -h needs to be checked first.
2025-02-18 19:19:46 +08:00
Wolfgang Walther
9d243b6e7b treewide: handle *Phases variables __structuredAttrs-agnostically (round 2) (#352709) 2024-12-16 22:36:44 +01:00
Yueh-Shun Li
8bd6a78399 qt6.wrapQtAppsHook: append *Phases with appendToVar 2024-12-17 01:46:04 +08:00
K900
2873053688 qt6: 6.8.0 -> 6.8.1, reorganize everything
- move patches to their corresponding modules
- inline patches list for qtbase into the expression itself
- don't treat patches as series, as they are not
- clean up outdated headers from all the patches
- drop doc tools patch, replace it with setting newly added cmake var in a hook
- add a new patch to disable SBOM generation that's very broken with split installs
2024-12-02 13:39:36 +03:00
K900
c8aec3b28a qt: editing pass on docs 2024-11-07 21:57:17 +02:00
rewine
9501a20539 qtbase-setup-hook: add wrapQtAppsNoGuiHook to error message
Co-authored-by: eclairevoyant <contactmeongithubinstead@proton.me>
2024-11-07 21:57:17 +02:00
Yueh-Shun Li
758056dac7 treewide: handle postPhases __structuredAttrs-agnostically
Always specify the postPhases attribute as a list instead of a string.

Append elements to the postPhases Bash variable using appendToVar
instead of string or Bash array concatenation.
2024-09-03 05:56:17 +08:00
Yueh-Shun Li
21c0129841 treewide: handle prePhases __structuredAttrs-agnostically
Always specify the prePhases attribute as a list instead of a string.

Append elements to the prePhases Bash variable using appendToVar
instead of string or Bash array concatenation.
2024-09-03 05:33:59 +08:00
Wolfgang Walther
1bcca7d66b qt: support structuredAttrs in qmake hook
Tested qbs with and without __structuredAttrs.
2024-08-24 12:23:38 +02:00
Nick Cao
7c0bcd6197 qt6: drop debug and developerBuild in favor of cmakeBuildType 2024-04-28 18:37:05 -04:00
K900
ee70129510 qt5, qt6: use versioned QML import paths in wrappers
Qt is smart enough to figure out the target Qt version for native plugins.
However, Qt is _not_ smart enough to figure out the target Qt version for
QML imports, which causes all kinds of funny breakage when you start running
Qt 5 applications from Qt 6 ones and vice versa.

So, do some minimally invasive surgery to make different Qt versions pick up
different QML import path variables, so they don't mess with each other.

This is kind of very cursed, but what can you do.
2024-01-17 11:32:40 +03:00
rewine
df8475e786 qtbase-setup-hook: don't use envBuildHostHooks 2023-05-24 09:52:24 +08:00
rewine
9bc545612e qt6.qtbase: allow find qt tools in QTTOOLSPATH 2023-05-24 09:52:24 +08:00
Nick Cao
52703c427e qt6: move mkspecs/modules to dev output 2023-04-16 22:17:25 +08:00
Nick Cao
d25348517e qt6.qtbase: fixup paths in setup hooks 2023-04-14 19:29:58 +08:00
Nick Cao
f9f2b3ae42 qt6: fix references to qmake
As devTools are no longer moved to the dev output,
paths to qmake has to be updated.
2023-04-14 19:09:57 +08:00
Nick Cao
d84e2bf056 qt6: do not move devTools to dev output 2023-04-14 19:09:56 +08:00
Nick Cao
1cf3cca8c0 qt6: move all qmake related files to dev output 2023-04-11 15:40:56 +08:00
Sergei Trofimovich
69cf5181c3 stdenv/generic/setup.sh: enable parallel installs by default
The primary motivating example is openssl:

Before the change full package build took 1m54s minutes.
After the change full package build takes 59s.

About a 2x speedup.

The difference is visible because openssl builds hundreds of manpages
spawning a perl process per manual in `install` phase. Such a workload
is very easy to parallelize.

Another example would be `autotools`+`libtool` based build system where
install step requires relinking. The more binaries there are to relink
the more gain it will be to do it in parallel.

The change enables parallel installs by default only for buiilds that
already have parallel builds enabled. There is a high chance those build
systems already handle parallelism well but some packages will fail.

Consistently propagated the enableParallelBuilding to:
- cmake (enabled by default, similar to builds)
- ninja (set parallelism explicitly, don't rely on default)
- bmake (enable when requested)
- scons (enable when requested)
- meson (set parallelism explicitly, don't rely on default)
- waf (set parallelism explicitly, don't rely on default)
- qmake-4/5/6 (enable by default, similar to builds)
- xorg (always enable, similar to builds)
2023-02-26 22:02:09 +00:00
Luna Nova
b5f31454a3 qt-6: Port hooks from qt-5 2022-10-05 22:09:13 -07:00
Milan Hauth
b182d552d5 qt6.wrapQtAppsHook: pretty error on missing buildInputs 2022-07-14 14:15:25 +02:00
Milan Hauth
1fb721156a qt6.wrapQtAppsHook: fix addEnvHooks: hostOffset -> targetOffset
use buildInputs from buildPythonPackage
2022-07-14 14:14:26 +02:00
Milan Hauth
38262f960f qt6.wrapQtAppsHook: fix: also wrap scripts 2022-07-14 12:45:12 +02:00
milahu
5baa20d7c8 qt6: init at 6.3.0 2022-05-23 09:37:40 +08:00