/* The host (Linux) side of the Windows GUI cross build: nixpkgs' native Qt 6 * tools in one prefix, for QT_HOST_PATH. * * MSYS2's Qt for Windows ships moc.exe, rcc.exe, qmlcachegen.exe and the rest * as Windows programs, which a Linux build cannot run; Qt wants the host tools * to be the *same version* as the target Qt (6.11.2 here, which is what * nixpkgs' Qt 6 is), so they come from nixpkgs rather than from MSYS2. * * scripts/package_windows_app.sh builds this and points the cross build at it. * Not a package: nothing installs it, it is a prefix assembled from the store * paths of qtbase/qtdeclarative/qtsvg (bin, libexec, lib/cmake, share/qt6). */ with import {}; let qtPkgs = [ qt6.qtbase qt6.qtbase.dev qt6.qtdeclarative qt6.qtdeclarative.dev qt6.qtsvg qt6.qtsvg.dev ]; script = '' set -eu mkdir -p $out for p in ${builtins.concatStringsSep " " (map toString qtPkgs)}; do [ -d "$p" ] || continue for d in bin lib/cmake libexec share/qt6; do if [ -d "$p/$d" ]; then mkdir -p "$out/$d" cp -rs "$p/$d/." "$out/$d/" 2>/dev/null || true fi done done ''; in runCommand "qt6-host" { } script