Opened 6 years ago

Closed 6 years ago

#57643 closed defect (fixed)

pulseaudio: Examine gtk3 dependency

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: Ionic (Mihai Moldovan)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: pulseaudio

Description

pulseaudio declares a library dependency on gtk3 (unless the minimal variant is used). Is this really necessary? I see that it is using gtk3 headers at build time, but it does not appear to link to gtk3 libraries. Would a build dependency be sufficient, or does it somehow still use gtk3 files at runtime?

I ask because pulseaudio's gtk3 dependency is the only remaining reason why wine eventually depends on harfbuzz. wine must build universal, and as of version 2, for the moment harfbuzz cannot build universal anymore. So at present I cannot update harfbuzz in MacPorts to version 2 without making wine unbuildable. If pulseaudio didn't really require gtk3 libraries at runtime, then pulseaudio could use depends_skip_archcheck-append gtk3 so that gtk3 and its dependencies would not need to be installed universal.

Change History (3)

comment:1 Changed 6 years ago by Ionic (Mihai Moldovan)

Hmm, as far as I remember, some binaries used GTK3 in the past, like pavumeter. Not sure if these binaries are still built, so yeah, maybe we can drop the gtk3 dependency. I'll have to investigate.

comment:2 Changed 6 years ago by Ionic (Mihai Moldovan)

The only thing still using gtk3 within PulseAudio is a gtk-test utility.

I'll make it a build dependency (test wouldn't be appropriate).

comment:3 Changed 6 years ago by Mihai Moldovan <ionic@…>

Resolution: fixed
Status: assignedclosed

In 4b30d1de62b48b55ea2f89d6fb475e3c2313b50c/macports-ports (master):

audio/pulseaudio: update to 12.2 (no changes), drop gtk3 dependency.

GTK3 is currently only needed for a test program, but we don't even use
the testsuite currently. Can't move to depends_test, though, since the
test program is built with all other artifacts.

Also added some test code, but disabled for now. Adding check as an
unused general build-time dependency sounds like a bad idea.

Fixes: #57643

Note: See TracTickets for help on using tickets.