Skip to content

feat: add limited support for FreeBSD#15439

Open
RockLakeGrass wants to merge 11 commits into
tauri-apps:devfrom
RockLakeGrass:freebsd
Open

feat: add limited support for FreeBSD#15439
RockLakeGrass wants to merge 11 commits into
tauri-apps:devfrom
RockLakeGrass:freebsd

Conversation

@RockLakeGrass
Copy link
Copy Markdown

@RockLakeGrass RockLakeGrass commented May 26, 2026

Refs #12735, add support to FreeBSD

Changes:

  • Pass cargo test on FreeBSD and add snapshot for FreeBSD
  • Add support for FreeBSD of tauri-cli, tauri-driver
  • Add support for FreeBSD of updater, without v1 support. Porting of updater plugin is required
  • Add support for FreeBSD of tauri-bundler, enabling bundle pkg installers
  • Move wrangler to optional dependency to enable pnpm install on FreeBSD
  • Add cfg to cargo-mobile related features, to pass cargo clippy
  • Disable pnpm build on FreeBSD ARM64 so maintain the integrity on other platforms by adding vite-build.mjs
  • Add build of tauri-cli node bindings on FreeBSD ARM64 and AMD64

Limitations:

  • Cargo-mobile2 is disabled on FreeBSD. Since Android Studio and Android Development kit do not natively support FreeBSD, I don't think this feature is necessary on FreeBSD
  • Manually create pkg bundle instead of using poudriere, since poudriere requires much more heavy environment to maintain a port, which is not neccessary for most developpers.

TODO:

  • Add GitHub Actions on FreeBSD

Disclaimer: This pull request was created with the assistance of AI tools. All changes have been manually reviewed, validated, and tested by the author. This pull request complies with the AI Tool Policy required by Tauri Team.

Current Status:
- Pass cargo test on FreeBSD and add snapshot for FreeBSD
- Add support for FreeBSD of tauri-cli
- Add support for FreeBSD of tauri-bundler, enabling bundle pkg installers
- Patch vite and move wrangler to optional dependency to enable `pnpm install` on FreeBSD
TODO:
- Test on FreeBSD AMD64 target
- Add freebsd target to tauri-cli on nodejs
…eeBSD on ARM64

Change:
- Add cfg to cargo-mobile related features, to pass cargo clippy
- Remove patch on vite and disable `pnpm build` on FreeBSD ARM64 so maintain the integrity on other platforms
- Add build of tauri-cli node bindings on FreeBSD ARM64 and AMD64
Changes:
- Add README to two new cli platforms
- Verified FreeBSD AMD64 compatibility
@RockLakeGrass
Copy link
Copy Markdown
Author

There is a commented build-freebsd in publish-cli-js.yml. I don't know why it was commented, so I did not add github workflow scripts to the repo.

@RockLakeGrass RockLakeGrass marked this pull request as ready for review May 26, 2026 14:07
@RockLakeGrass RockLakeGrass requested a review from a team as a code owner May 26, 2026 14:07
@RockLakeGrass RockLakeGrass changed the title feat: add support for FreeBSD feat: add limited support for FreeBSD May 27, 2026
@RockLakeGrass RockLakeGrass marked this pull request as draft May 27, 2026 11:59
Changes:
- Port tauri-driver to FreeBSD
- Port updater to FreeBSD, only v2 mode is needed
- Fix pkg generation behaviour
- Minor fixes for FreeBSD
@RockLakeGrass RockLakeGrass marked this pull request as ready for review May 28, 2026 07:56
@github-actions
Copy link
Copy Markdown
Contributor

Package Changes Through b1f9523

There are 2 changes which include tauri-utils with patch, tauri-bundler with patch

Planned Package Versions

The following package releases are the planned based on the context of changes in this pull request.

package current next
tauri-utils 2.9.2 2.9.3
tauri-bundler 2.9.2 2.9.3
tauri-runtime 2.11.2 2.11.3
tauri-runtime-wry 2.11.2 2.11.3
tauri-codegen 2.6.2 2.6.3
tauri-macros 2.6.2 2.6.3
tauri-plugin 2.6.2 2.6.3
tauri-build 2.6.2 2.6.3
tauri 2.11.2 2.11.3
@tauri-apps/cli 2.11.2 2.11.3
tauri-cli 2.11.2 2.11.3

Add another change file through the GitHub UI by following this link.


Read about change files or the docs at github.com/jbolda/covector

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant