feat(bundler): Add support for creating NSIS bundles on unix hosts#5788
feat(bundler): Add support for creating NSIS bundles on unix hosts#5788lucasfernog merged 33 commits intodevfrom
Conversation
amrbashir
left a comment
There was a problem hiding this comment.
Other than these two nit-picks, I think this PR is ready
9b808f9 to
b207f0b
Compare
|
Should we maybe add a log output saying that cross compilation is experimental/unsupported or something? i have a feeling that saying this in the docs won't be enough x) |
|
oh and another thing, should nsis' verbose logging be tied to the |
Sounds good!
by default, nsis is executed with maximum logging |
Ah yeah you're right. i always used the |
| dirs-next = "2.0" | ||
|
|
||
| [target."cfg(target_os = \"windows\")".dependencies] | ||
| # dependencies for Windows targets |
There was a problem hiding this comment.
covector will strip this later :( so sad
|
The timing of the warning may be a bit weird. It prints after cargo build, before it starts creating the bundles, so if Or maybe it needs some rephrasing so that it's more about the bundling step and not just |
|
For macOS: Install nsis: Install the lld linker: add the msvc rust target: Install the windows sdks: (I had to add the disable-symlinks flag otherwise it failed to run) Add or modify .cargo/config.toml with these contents: |
|
marked it as draft again because of missing cross-compilation support in tauri-build. Going to look how we can add it with winres/winresource. Edit: I think i found a way to use mingw's windres with the msvc setup from above. going to create tauri-winres tomorrow and update tauri-build accordingly. |
|
On Linux we now also need to do Now the problem is macOS, looks like you have to install the whole mingw-w64 toolchain :/ ( |
|
Still works on Linux, and also works on macOS without downloading any extra dependency @FabianLars 🥳 |
This should not be merged into the nsis branch directly, i just used it as a base here for a better diff view
This adds support for building nsis setup bundles (including the updater bundle) on Linux hosts. macos should hopefully work too but i am not sure how to get makensis there.
I explicitly have only the msvc toolchain in mind when talking about windows targets, even when cross compiling so the setup is a little bit more involved:
sudo apt install nsissudo apt install lldrustup target add x86_64-pc-windows-msvccargo install xwin
xwin --accept-license splat --output ~/xwin
.cargo/config.tomlwith these contents:Now to the fun part:
cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/nsis-linuxcargo tauri build --target x86_64-pc-windows-msvcWhat kind of change does this PR introduce?
Does this PR introduce a breaking change?
Checklist
fix: remove a typo, closes #___, #___)