tauri-apps / tao

The TAO of cross-platform windowing. A library in Rust built for Tauri.
Apache License 2.0
1.48k stars 177 forks source link

Make wayland a soft-dependency (via feature flag or other) #750

Open LinoBigatti opened 1 year ago

LinoBigatti commented 1 year ago

Is your feature request related to a problem? Please describe. Users building tauri apps for personal use in Gentoo Linux (and possibly other source-based distros) have the option to build gtk+ without Wayland support, as to not pull in Wayland as a dependency when only using X11. However, these people will find themselves with a linking error:

/home/lino/.cargo/registry/src/github.com-1ecc6299db9ec823/tao-0.16.2/src/platform_impl/linux/window.rs:812: undefined reference to `gdk_wayland_window_get_wl_surface'
          collect2: error: ld returned 1 exit status

  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified

Users with a pure Wayland system might have this issue too, but in reverse.

Describe the solution you'd like A feature flag (like --features wayland and --features x11) could be used to turn on/off the code paths related to these libraries. This would fix the linking errors. These features should probably come enabled by default, as this is the current behaviour.

Describe alternatives you've considered Gentoo users need to emerge gtk+ with the wayland use flag enabled. This works, but pulls in unnecesary dependencies into the system that will never be used. If it is decided that users should make this change themselves, it should be reflected in the docs.

Would you want to assign yourself to implement this feature?

wusyong commented 1 year ago

I think we should auto-detect this when we provoding hooks. I'll look into this next week. cc @dklassic

teonaseverin commented 7 months ago

We have the same issue when building a Tauri application in Yocto. Do you have any updates on this?

becseya commented 3 months ago

@teonaseverin Did you manage to make Tauri run under Yocto?