NetBSD Problem Report #43420
From sjamaan@frohike.homeunix.org Sat Jun 5 17:11:34 2010
Return-Path: <sjamaan@frohike.homeunix.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by www.NetBSD.org (Postfix) with ESMTP id E666263B8EB
for <gnats-bugs@gnats.NetBSD.org>; Sat, 5 Jun 2010 17:11:33 +0000 (UTC)
Message-Id: <20100605161030.E5946F7E020@frohike.homeunix.org>
Date: Sat, 5 Jun 2010 18:10:30 +0200 (CEST)
From: Peter.Bex@xs4all.nl
Reply-To: Peter.Bex@xs4all.nl
To: gnats-bugs@gnats.NetBSD.org
Subject: audio/pulseaudio has too many nonoptional dependencies
X-Send-Pr-Version: 3.95
>Number: 43420
>Category: pkg
>Synopsis: pulseaudio's dependencies are mostly optional but not in pkgsrc
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sat Jun 05 17:15:00 +0000 2010
>Originator: Peter Bex
>Release: NetBSD 5.0.1_PATCH
>Organization:
>Environment:
System: NetBSD frohike.homeunix.org 5.0.1_PATCH NetBSD 5.0.1_PATCH (FROHIKE) #0: Tue Aug 11 22:31:56 CEST 2009 sjamaan@frohike.homeunix.org:/usr/obj/sys/arch/amd64/compile/FROHIKE amd64
Architecture: x86_64
Machine: amd64
>Description:
Several of audio/pulseaudio's dependencies that are listed in the
package as hard dependencies are in reality optional.
>How-To-Repeat:
$ cd /usr/pkgsrc/audio/pulseaudio
$ make print-run-depends-list
>Fix:
Here's a patch to make most optional dependencies into PKG_OPTIONS
This makes a difference of up to 10 packages that don't have to
be installed when the user doesn't need or want them.
If the user doesn't want X11 and it triggers installation of
Xorg from pkgsrc, it makes a much bigger difference obviously.
Alternatively, the separate modules/options could probably be
made into separate packages (much like libao has libao-esound,
libao-arts etc) but I'll leave that to the real pkgsrc gurus :)
I've seen it in some Linux distros, so I guess it's at least possible.
This patch is sufficient for my purposes.
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/audio/pulseaudio/Makefile,v
retrieving revision 1.35
diff -u -r1.35 Makefile
--- Makefile 22 Feb 2010 21:48:03 -0000 1.35
+++ Makefile 5 Jun 2010 16:05:46 -0000
@@ -24,7 +24,6 @@
AUTOCONF_REQD= 2.62
PKGCONFIG_OVERRIDE+= libpulse-browse.pc.in
-PKGCONFIG_OVERRIDE+= libpulse-mainloop-glib.pc.in
PKGCONFIG_OVERRIDE+= libpulse-simple.pc.in
PKGCONFIG_OVERRIDE+= libpulse.pc.in
@@ -41,8 +40,6 @@
CONF_FILES+= ${EGDIR}/daemon.conf ${PKG_SYSCONFDIR}/daemon.conf
CONF_FILES+= ${EGDIR}/default.pa ${PKG_SYSCONFDIR}/default.pa
CONF_FILES+= ${EGDIR}/system.pa ${PKG_SYSCONFDIR}/system.pa
-CONF_FILES+= ${EGDIR}/pulseaudio-system.conf \
- ${PKG_SYSCONFBASE}/dbus-1/system.d/pulseaudio-system.conf
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFBASE}
CONFIGURE_ARGS+= --localstatedir=${VARBASE}
@@ -71,7 +68,7 @@
BUILDLINK_TRANSFORM+= rm:-Wl,--no-undefined
.endif
-PLIST_VARS+= evdev hal oss
+PLIST_VARS+= evdev oss
PLIST_SUBST+= PULSEAUDIO_VER=${PULSEAUDIO_VER:Q}
.if ${OPSYS} == "Darwin"
@@ -79,7 +76,6 @@
BUILDLINK_TRANSFORM+= rm:-Wl,-no-undefined
BUILDLINK_TRANSFORM+= rm:-Wl,-z rm:-Wl,nodelete
.else
-PLIST.hal= yes
PLIST.oss= yes
.endif
@@ -113,21 +109,7 @@
.include "../../audio/libsndfile/buildlink3.mk"
.include "../../audio/speex/buildlink3.mk"
.include "../../databases/gdbm/buildlink3.mk"
-.include "../../devel/GConf/schemas.mk"
-.include "../../devel/glib2/buildlink3.mk"
.include "../../devel/libltdl/buildlink3.mk"
.include "../../devel/liboil/buildlink3.mk"
-.include "../../security/openssl/buildlink3.mk"
-.include "../../security/policykit/buildlink3.mk"
-.include "../../sysutils/dbus/buildlink3.mk"
-.if ${OPSYS} != "Darwin"
-.include "../../sysutils/consolekit/buildlink3.mk"
-.endif
-.include "../../sysutils/hal/buildlink3.mk"
-.include "../../x11/libICE/buildlink3.mk"
-.include "../../x11/libSM/buildlink3.mk"
-.include "../../x11/libX11/buildlink3.mk"
-.include "../../x11/libXtst/buildlink3.mk"
-.include "../../x11/xextproto/buildlink3.mk"
.include "../../mk/oss.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/audio/pulseaudio/PLIST,v
retrieving revision 1.7
diff -u -r1.7 PLIST
--- PLIST 2 Feb 2010 11:35:11 -0000 1.7
+++ PLIST 5 Jun 2010 16:05:46 -0000
@@ -9,10 +9,10 @@
bin/parec
bin/parecord
bin/pasuspender
-bin/pax11publish
+${PLIST.x11}bin/pax11publish
bin/pulseaudio
bin/start-pulseaudio-kde
-bin/start-pulseaudio-x11
+${PLIST.x11}bin/start-pulseaudio-x11
include/pulse/cdecl.h
include/pulse/channelmap.h
include/pulse/context.h
@@ -21,7 +21,7 @@
include/pulse/ext-device-manager.h
include/pulse/ext-stream-restore.h
include/pulse/gccmacro.h
-include/pulse/glib-mainloop.h
+${PLIST.glib2}include/pulse/glib-mainloop.h
include/pulse/introspect.h
include/pulse/mainloop-api.h
include/pulse/mainloop-signal.h
@@ -42,14 +42,14 @@
include/pulse/version.h
include/pulse/volume.h
include/pulse/xmalloc.h
-lib/libpulse-mainloop-glib.la
+${PLIST.glib2}lib/libpulse-mainloop-glib.la
lib/libpulse-simple.la
lib/libpulse.la
lib/libpulsecommon-${PULSEAUDIO_VER}.la
lib/libpulsecore-${PULSEAUDIO_VER}.la
${PLIST.oss}lib/libpulsedsp.a
${PLIST.oss}lib/libpulsedsp.so
-lib/pkgconfig/libpulse-mainloop-glib.pc
+${PLIST.glib2}lib/pkgconfig/libpulse-mainloop-glib.pc
lib/pkgconfig/libpulse-simple.pc
lib/pkgconfig/libpulse.pc
lib/pulse-${PULSEAUDIO_VER}/modules/libcli.a
@@ -66,8 +66,8 @@
lib/pulse-${PULSEAUDIO_VER}/modules/libprotocol-native.so
lib/pulse-${PULSEAUDIO_VER}/modules/libprotocol-simple.a
lib/pulse-${PULSEAUDIO_VER}/modules/libprotocol-simple.so
-lib/pulse-${PULSEAUDIO_VER}/modules/libraop.a
-lib/pulse-${PULSEAUDIO_VER}/modules/libraop.so
+${PLIST.openssl}lib/pulse-${PULSEAUDIO_VER}/modules/libraop.a
+${PLIST.openssl}lib/pulse-${PULSEAUDIO_VER}/modules/libraop.so
lib/pulse-${PULSEAUDIO_VER}/modules/librtp.a
lib/pulse-${PULSEAUDIO_VER}/modules/librtp.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-always-sink.a
@@ -84,8 +84,8 @@
lib/pulse-${PULSEAUDIO_VER}/modules/module-cli.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-combine.a
lib/pulse-${PULSEAUDIO_VER}/modules/module-combine.so
-lib/pulse-${PULSEAUDIO_VER}/modules/module-console-kit.a
-lib/pulse-${PULSEAUDIO_VER}/modules/module-console-kit.so
+${PLIST.consolekit}lib/pulse-${PULSEAUDIO_VER}/modules/module-console-kit.a
+${PLIST.consolekit}lib/pulse-${PULSEAUDIO_VER}/modules/module-console-kit.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-cork-music-on-phone.a
lib/pulse-${PULSEAUDIO_VER}/modules/module-cork-music-on-phone.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-default-device-restore.a
@@ -106,8 +106,8 @@
lib/pulse-${PULSEAUDIO_VER}/modules/module-esound-protocol-unix.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-esound-sink.a
lib/pulse-${PULSEAUDIO_VER}/modules/module-esound-sink.so
-lib/pulse-${PULSEAUDIO_VER}/modules/module-gconf.a
-lib/pulse-${PULSEAUDIO_VER}/modules/module-gconf.so
+${PLIST.GConf}lib/pulse-${PULSEAUDIO_VER}/modules/module-gconf.a
+${PLIST.GConf}lib/pulse-${PULSEAUDIO_VER}/modules/module-gconf.so
${PLIST.hal}lib/pulse-${PULSEAUDIO_VER}/modules/module-hal-detect.a
${PLIST.hal}lib/pulse-${PULSEAUDIO_VER}/modules/module-hal-detect.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-http-protocol-tcp.a
@@ -140,8 +140,8 @@
lib/pulse-${PULSEAUDIO_VER}/modules/module-pipe-source.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-position-event-sounds.a
lib/pulse-${PULSEAUDIO_VER}/modules/module-position-event-sounds.so
-lib/pulse-${PULSEAUDIO_VER}/modules/module-raop-sink.a
-lib/pulse-${PULSEAUDIO_VER}/modules/module-raop-sink.so
+${PLIST.openssl}lib/pulse-${PULSEAUDIO_VER}/modules/module-raop-sink.a
+${PLIST.openssl}lib/pulse-${PULSEAUDIO_VER}/modules/module-raop-sink.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-remap-sink.a
lib/pulse-${PULSEAUDIO_VER}/modules/module-remap-sink.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-rescue-streams.a
@@ -150,8 +150,8 @@
lib/pulse-${PULSEAUDIO_VER}/modules/module-rtp-recv.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-rtp-send.a
lib/pulse-${PULSEAUDIO_VER}/modules/module-rtp-send.so
-lib/pulse-${PULSEAUDIO_VER}/modules/module-rygel-media-server.a
-lib/pulse-${PULSEAUDIO_VER}/modules/module-rygel-media-server.so
+${PLIST.dbus}lib/pulse-${PULSEAUDIO_VER}/modules/module-rygel-media-server.a
+${PLIST.dbus}lib/pulse-${PULSEAUDIO_VER}/modules/module-rygel-media-server.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-simple-protocol-tcp.a
lib/pulse-${PULSEAUDIO_VER}/modules/module-simple-protocol-tcp.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-simple-protocol-unix.a
@@ -170,15 +170,15 @@
lib/pulse-${PULSEAUDIO_VER}/modules/module-tunnel-source.so
lib/pulse-${PULSEAUDIO_VER}/modules/module-volume-restore.a
lib/pulse-${PULSEAUDIO_VER}/modules/module-volume-restore.so
-lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-bell.a
-lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-bell.so
-lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-cork-request.a
-lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-cork-request.so
-lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-publish.a
-lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-publish.so
-lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-xsmp.a
-lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-xsmp.so
-libexec/pulse/gconf-helper
+${PLIST.x11}lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-bell.a
+${PLIST.x11}lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-bell.so
+${PLIST.x11}lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-cork-request.a
+${PLIST.x11}lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-cork-request.so
+${PLIST.x11}lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-publish.a
+${PLIST.x11}lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-publish.so
+${PLIST.x11}lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-xsmp.a
+${PLIST.x11}lib/pulse-${PULSEAUDIO_VER}/modules/module-x11-xsmp.so
+${PLIST.GConf}libexec/pulse/gconf-helper
man/man1/esdcompat.1
man/man1/pabrowse.1
man/man1/pacat.1
@@ -187,7 +187,7 @@
man/man1/padsp.1
man/man1/paplay.1
man/man1/pasuspender.1
-man/man1/pax11publish.1
+${PLIST.x11}man/man1/pax11publish.1
man/man1/pulseaudio.1
man/man5/default.pa.5
man/man5/pulse-client.conf.5
@@ -197,8 +197,8 @@
share/examples/pulseaudio/default.pa
share/examples/pulseaudio/pulseaudio-system.conf
share/examples/pulseaudio/system.pa
-share/gnome/autostart/pulseaudio-kde.desktop
-share/gnome/autostart/pulseaudio.desktop
+${PLIST.x11}share/gnome/autostart/pulseaudio-kde.desktop
+${PLIST.x11}share/gnome/autostart/pulseaudio.desktop
share/locale/as/LC_MESSAGES/pulseaudio.mo
share/locale/bn_IN/LC_MESSAGES/pulseaudio.mo
share/locale/ca/LC_MESSAGES/pulseaudio.mo
Index: buildlink3.mk
===================================================================
RCS file: /cvsroot/pkgsrc/audio/pulseaudio/buildlink3.mk,v
retrieving revision 1.7
diff -u -r1.7 buildlink3.mk
--- buildlink3.mk 11 Feb 2010 17:52:10 -0000 1.7
+++ buildlink3.mk 5 Jun 2010 16:05:46 -0000
@@ -10,18 +10,31 @@
.include "../../mk/bsd.fast.prefs.mk"
+pkgbase := pulseaudio
+.include "../../mk/pkg-build-options.mk"
+
.if ${OPSYS} == "NetBSD" && !exists(/usr/include/sys/atomic.h)
.include "../../devel/libatomic_ops/buildlink3.mk"
.endif
.include "../../audio/libsndfile/buildlink3.mk"
.include "../../databases/gdbm/buildlink3.mk"
+
+.if !empty(PKG_BUILD_OPTIONS.pulseaudio:Mglib2)
.include "../../devel/glib2/buildlink3.mk"
+.endif
+
+.if !empty(PKG_BUILD_OPTIONS.pulseaudio:Mdbus)
.include "../../sysutils/dbus/buildlink3.mk"
+.endif
+
+.if !empty(PKG_BUILD_OPTIONS.pulseaudio:Mx11)
.include "../../x11/libICE/buildlink3.mk"
.include "../../x11/libSM/buildlink3.mk"
.include "../../x11/libX11/buildlink3.mk"
.include "../../x11/libXtst/buildlink3.mk"
+.endif
+
.endif # PULSEAUDIO_BUILDLINK3_MK
BUILDLINK_TREE+= -pulseaudio
Index: options.mk
===================================================================
RCS file: /cvsroot/pkgsrc/audio/pulseaudio/options.mk,v
retrieving revision 1.2
diff -u -r1.2 options.mk
--- options.mk 21 Jan 2010 12:12:27 -0000 1.2
+++ options.mk 5 Jun 2010 16:05:46 -0000
@@ -1,8 +1,13 @@
# $NetBSD: options.mk,v 1.2 2010/01/21 12:12:27 drochner Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.pulseaudio
-PKG_SUPPORTED_OPTIONS= avahi
+PKG_SUPPORTED_OPTIONS= avahi dbus policykit glib2 GConf openssl x11
+.if ${OPSYS} != "Darwin"
+PKG_SUPPORTED_OPTIONS+= hal
+.endif
+PKG_SUGGESTED_OPTIONS= x11
PLIST_VARS+= ${PKG_SUPPORTED_OPTIONS}
+PLIST_VARS+= consolekit
.include "../../mk/bsd.options.mk"
###
@@ -14,3 +19,82 @@
.else
CONFIGURE_ARGS+= --disable-avahi
.endif
+
+###
+### dbus
+###
+.if !empty(PKG_OPTIONS:Mdbus)
+CONF_FILES+= ${EGDIR}/pulseaudio-system.conf \
+ ${PKG_SYSCONFBASE}/dbus-1/system.d/pulseaudio-system.conf
+.include "../../sysutils/dbus/buildlink3.mk"
+.if ${OPSYS} != "Darwin"
+.include "../../sysutils/consolekit/buildlink3.mk"
+PLIST.consolekit= yes
+.endif
+.else
+CONFIGURE_ARGS+= --disable-dbus
+.endif
+
+###
+### hal
+###
+.if !empty(PKG_OPTIONS:Mhal)
+.include "../../sysutils/hal/buildlink3.mk"
+PLIST.hal= yes
+.else
+CONFIGURE_ARGS+= --disable-hal
+.endif
+
+###
+### policykit
+###
+.if !empty(PKG_OPTIONS:Mpolicykit)
+.include "../../security/policykit/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --disable-policykit
+.endif
+
+###
+### glib2
+###
+.if !empty(PKG_OPTIONS:Mglib2)
+.include "../../devel/glib2/buildlink3.mk"
+PLIST.glib2= yes
+.else
+CONFIGURE_ARGS+= --disable-glib2
+PKGCONFIG_OVERRIDE+= libpulse-mainloop-glib.pc.in
+.endif
+
+###
+### GConf
+###
+.if !empty(PKG_OPTIONS:MGConf)
+.include "../../devel/GConf/schemas.mk"
+PLIST.GConf= yes
+.else
+CONFIGURE_ARGS+= --disable-gconf
+.endif
+
+###
+### openssl (used for Airtunes/RAOP)
+###
+.if !empty(PKG_OPTIONS:Mopenssl)
+.include "../../security/openssl/buildlink3.mk"
+PLIST.openssl= yes
+.else
+CONFIGURE_ARGS+= --disable-openssl
+.endif
+
+###
+### x11
+###
+.if !empty(PKG_OPTIONS:Mx11)
+.include "../../x11/libICE/buildlink3.mk"
+.include "../../x11/libSM/buildlink3.mk"
+.include "../../x11/libX11/buildlink3.mk"
+.include "../../x11/libXtst/buildlink3.mk"
+.include "../../x11/xextproto/buildlink3.mk"
+PLIST.x11= yes
+.else
+CONFIGURE_ARGS+= --disable-x11
+.endif
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.