diff --git a/nix/plugin.nix b/nix/plugin.nix index 331c0e3..374a61a 100644 --- a/nix/plugin.nix +++ b/nix/plugin.nix @@ -1,6 +1,7 @@ { lib, craneLib, + mold, pkg-config, qt6, writeShellScript, @@ -67,6 +68,7 @@ let nativeBuildInputs = [ pkg-config + mold qt6.qtbase qt6.qtdeclarative ]; @@ -79,8 +81,12 @@ let # qt6.qtbase's setup hook overrides QMAKE after derivation attrs are set, # so re-assert it in preBuild which runs after all setup hooks. + # Force mold as the linker (cxx-qt book deprecates ld.gold). Setting via + # CARGO_TARGET_*_LINKER + RUSTFLAGS is the only path that survives nixpkgs' + # cc-wrapper - `-fuse-ld=` from build.rs gets eaten by the wrapper. preBuild = '' export QMAKE=${qmakeWrapper} + export RUSTFLAGS="-C link-arg=-fuse-ld=mold ''${RUSTFLAGS:-}" ''; };