Make PipeWire, GBM and Epoxy libs as required dependencies
ClosedPublic

Authored by jgrulich on Apr 8 2020, 10:08 AM.

Details

Summary

Also allow to completely disable PipeWire support in case some distribution don't ship PipeWire yet.

Diff Detail

Repository
R838 Flatpak Support: KDE Portal for XDG Desktop
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
jgrulich created this revision.Apr 8 2020, 10:08 AM
Restricted Application added a project: Plasma. · View Herald TranscriptApr 8 2020, 10:08 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
jgrulich requested review of this revision.Apr 8 2020, 10:08 AM
jgrulich edited the summary of this revision. (Show Details)Apr 8 2020, 10:08 AM
jgrulich added a reviewer: Plasma.

Also allow to completely disable Wayland support in case some distribution don't ship PipeWire yet.

I don't follow, why don't we just disable the screencasting thing if we don't have pipewire. I don't see why we would affect the rest.

Also allow to completely disable Wayland support in case some distribution don't ship PipeWire yet.

I don't follow, why don't we just disable the screencasting thing if we don't have pipewire. I don't see why we would affect the rest.

I wanted to avoid adding tons of ifdefs to the wayland integration part, which I currently use only for screencasting and background portal. Before it was used only for screencasting, which was fine and I just avoided building it, but it will be used more and more.

I asked on kde-distribution-packagers, so far I got only response from Slack and the response was they don't care about Wayland, if they would, they would have included PipeWire. I think it should be either don't support Wayland at all if distribution doesn't care or support it fully and let them get PipeWire included.

jgrulich updated this revision to Diff 79684.Apr 9 2020, 7:23 AM
jgrulich edited the summary of this revision. (Show Details)

Allow to disable only PipeWire, while keeping rest of Wayland support

Also allow to completely disable Wayland support in case some distribution don't ship PipeWire yet.

I don't follow, why don't we just disable the screencasting thing if we don't have pipewire. I don't see why we would affect the rest.

At the end it didn't hurt to make it this way :). It should now build with Wayland support for the background portal, but with DISABLE_PIPEWIRE_SUPPORT, it will drop everything relevant to PipeWire, screen sharing and remote desktop.

jgrulich edited the summary of this revision. (Show Details)Apr 9 2020, 8:34 AM

Thanks for keeping pipewire optional, this is in line with how we have been packaging xdg-desktop-portal-kde in Gentoo so far, we had just been conditionally disabling the cmake finding of these 3 libraries to do it, and will switch over to using the new option then.

CMakeLists.txt
23–26

maybe make it a proper cmake option?

51–52

This is odd, is it a leftover or did you forget to add an actual KF5 dependency here?

jgrulich updated this revision to Diff 79948.Apr 12 2020, 6:16 PM

Make DISABLE_PIPEWIRE_SUPPORT a cmake option and remove a leftover from previous change

jgrulich marked 2 inline comments as done.Apr 12 2020, 6:17 PM
jgrulich added inline comments.
CMakeLists.txt
23–26

I made it a cmake option. I have never used it before so please check if it's correct.

51–52

It was a leftover, removed now.

apol accepted this revision.Apr 12 2020, 8:42 PM
apol added a subscriber: apol.

CMake bits look good.

It's a bit of a shame that this whole complexity needs to be added, but oh well.

This revision is now accepted and ready to land.Apr 12 2020, 8:42 PM
arfrever added inline comments.
CMakeLists.txt
23–25

Could this option be renamed to positively sounding option enabled by default? (And word SUPPORT seems redundant.)

option(ENABLE_PIPEWIRE "Enable PipeWire support. PipeWire is needed for screen sharing and remote desktop" ON)
jgrulich updated this revision to Diff 80001.Apr 13 2020, 12:35 PM
jgrulich marked 2 inline comments as done.
  • Better naming for the cmake option disabling PipeWire
This revision was automatically updated to reflect the committed changes.