Page MenuHomeFreeBSD

audio/libcanberra: add Mk/Uses/canberra.mk, modularize plugins/integrations
Needs RevisionPublic

Authored by val_packett.cool on Jul 1 2019, 8:45 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Apr 14, 7:51 AM
Unknown Object (File)
Fri, Apr 12, 1:54 PM
Unknown Object (File)
Tue, Apr 9, 3:12 AM
Unknown Object (File)
Mon, Apr 8, 1:12 PM
Unknown Object (File)
Mon, Apr 8, 8:58 AM
Unknown Object (File)
Sat, Mar 30, 5:09 AM
Unknown Object (File)
Mon, Mar 18, 5:02 PM
Unknown Object (File)
Feb 1 2024, 8:21 AM

Details

Reviewers
kwm
swills
tcberner
adridg
Group Reviewers
gnome
kde
O5: Ports Framework(Owns No Changed Paths)
portmgr
Summary

The libcanberra port was not in a good state… :)

@tcberner initially wanted to depend on libcanberra-pulse in KDE Plasma 5.
I want to get rid of gtk2 dependencies as much as possible, and libcanberra-gtk was forcing gtk2 onto a lot of systems unnecessarily.

With this update,

  • libcanberra-gtk2 and libcanberra-gtk3 integrations are in separate packages
  • libcanberra-gtk2 is only depended on when actually used in the port
  • header and vapi for gtk (which is used by any of the gtk 2/3) are in the main package, so there's no "require 2 if using 3" or vice versa situation
    • well "require 3 if using 2" would kinda be acceptable, but that would be harder to do with the Uses/canberra.mk code
  • libcanberra-pulse and libcanberra-gstreamer backends are in separate packages
  • libcanberra-pulse actually will be used if installed
  • the dependency on canberra is written with USES
  • the canberra dependency is dropped from up-to-date gnome ports (e.g. some games) that have switched to only using the gsound API
  • libudev won't be picked up when building outside of poudriere (it's useless here for us, the calls are for alsa soundcards I think)

References:

Diff Detail

Repository
rP FreeBSD ports repository
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 25182
Build 23869: arc lint + arc unit

Event Timeline

As discussed with @swills

TODO:

  • create -gtk2 slave
  • create USES=canberra or some other magic

Create canberra.mk and convert tree to use it.

  • maybe add canberra-gtk-header port?
tcberner retitled this revision from audio/libcanberra: remove options, create slave ports to audio/libcanberra: remove options, create slave ports, add Mk/Uses/canberra.mk.Jul 2 2019, 6:11 PM
audio/libcanberra/pkg-plist
1

How about also putting canberra-gtk.h in this plist like the current port does?

sysutils/mate-control-center/Makefile
28

Just picking a random spot. This (and others like it) don't seem right. Mate uses gtk30 so it seems gtk2 isn't needed. The reason why both libcanberra-gtk and libcanberra-gtk3 are listed is because the gtk3 depended on the -gtk port and because the stage-qa script was reporting a missing dependany.

The alternative would be to have a port that simply installes the shared gtk header.

at quick glance It looks like it should more be a bunch of flavors than slave ports, am I missing something?

Way too many things have :gtk2 here, no gtk3 apps should need it

audio/pavucontrol/Makefile
18

pavucontrol does not need gtk2

deskutils/gnome-screenshot/Makefile
21

Why would this need gtk2?

mail/geary/Makefile
30

This is a gtk3 app

In D20830#614158, @greg_unrelenting.technology wrote:

Way too many things have :gtk2 here, no gtk3 apps should need it

would you mind commandeering this and finishing it?

val_packett.cool retitled this revision from audio/libcanberra: remove options, create slave ports, add Mk/Uses/canberra.mk to audio/libcanberra: add Mk/Uses/canberra.mk, modularize plugins/integrations.
val_packett.cool edited the summary of this revision. (Show Details)

oof. Hopefully this is good now, I haven't tested everything, but lots of things build fine without gtk2 now.

devel/kf5-knotifications/Makefile
31

@tcberner hopefully this kde cmake stuff is all correct, I haven't tested with these options OFF

val_packett.cool added a reviewer: adridg.
val_packett.cool added a subscriber: adridg.

Uploading the current rebase since @adridg pinged on bugzilla.

Again, I have not tested every affected port, so this does need better testing…

tcberner requested changes to this revision.Feb 1 2022, 5:19 PM
tcberner added inline comments.
Mk/Uses/canberra.mk
64

^ double - in canberra--${component}_TYPE+=

This revision now requires changes to proceed.Feb 1 2022, 5:19 PM