NAME="pulseaudio" VERSION=16.1 RELEASE=1 CATEGORY="Audio" SUMMARY="PulseAudio sound server" DESCRIPTION="PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for your sound applications. It allows you to do advanced operations on your sound data as it passes between your application and your hardware. Things like transferring the audio to a different machine, changing the sample format or channel count and mixing several sounds into one are easily achieved using a sound server." HOMEPAGE="http://www.freedesktop.org/wiki/Software/PulseAudio" LICENSE="LGPL-2.1-or-later" SRC_URI="http://freedesktop.org/software/pulseaudio/releases/${NAME}-${VERSION}.tar.xz" PATCH_URI=" http://pkgs.fedoraproject.org/cgit/rpms/pulseaudio.git/plain/pulseaudio-autostart.patch http://pkgs.fedoraproject.org/cgit/rpms/pulseaudio.git/plain/pulseaudio-9.0-disable_flat_volumes.patch 5.0-cygwin-compile.patch 1.1-cygwin-mutex.patch 1.1-cygwin-waveout.patch 2.1-cygwin-pulsedsp.patch 7.1-cygwin-proc.patch 7.1-cygwin-config.patch " PKG_NAMES="${NAME} ${NAME}-equalizer ${NAME}-utils ${NAME}-esound-compat ${NAME}-module-x11 ${NAME}-module-gconf ${NAME}-module-zeroconf libpulse0 libpulse-mainloop-glib0 libpulse-simple0 libpulse-devel libpulse-doc vala-libpulse" pulseaudio_CONTENTS=" --exclude=cygpulse-*.dll --exclude=cygpulsecommon-*.dll --exclude=start-pulseaudio-* --exclude=*avahi-wrap* --exclude=*protocol-esound* --exclude=module-equalizer* --exclude=module-esound* --exclude=module-gconf* --exclude=module-x11-* --exclude=module-zeroconf-* --exclude=html --exclude=vala --exclude=xdg etc/ usr/bin/*.dll usr/bin/pulseaudio.exe usr/lib/pulseaudio/modules/ usr/share/doc/ usr/share/locale/ usr/share/man/man1/pulseaudio.* usr/share/man/man5/" pulseaudio_equalizer_SUMMARY="PulseAudio Equalizer" pulseaudio_equalizer_CONTENTS=" usr/bin/qpaeq usr/lib/pulseaudio/modules/module-equalizer-sink.dll usr/share/applications/qpaeq.desktop" pulseaudio_module_x11_SUMMARY="X11 support modules for PulseAudio" pulseaudio_module_x11_REQUIRES="${NAME}-utils" pulseaudio_module_x11_CONTENTS=" etc/xdg/autostart/ usr/bin/start-pulseaudio-* usr/lib/pulseaudio/modules/module-x11-* usr/share/man/man1/start-pulseaudio-*" pulseaudio_module_gconf_SUMMARY="GConf support modules for PulseAudio" pulseaudio_module_gconf_CONTENTS=" usr/libexec/pulse/gsettings-helper.exe usr/share/GConf/gsettings/pulseaudio.convert usr/share/glib-2.0/schemas/org.freedesktop.pulseaudio.gschema.xml" pulseaudio_module_zeroconf_SUMMARY="ZeroConf support modules for PulseAudio" pulseaudio_module_zeroconf_CONTENTS=" usr/bin/cygavahi-wrap.dll usr/lib/pulseaudio/modules/module-zeroconf-*" pulseaudio_esound_compat_REQUIRES=${NAME} pulseaudio_esound_compat_SUMMARY="ESounD compatibility for PulseAudio" pulseaudio_esound_compat_CONTENTS=" usr/bin/*protocol-esound* usr/bin/esd* usr/lib/pulseaudio/modules/*esound* usr/share/man/man1/esd*" # Add the following line to pulseaudio_utils_CONTENTS if oss is enabled. # usr/lib/pulseaudio/*pulsedsp* pulseaudio_utils_CONTENTS=" --exclude=libpulsedsp.dll.a usr/bin/pa* usr/share/man/man1/pa* usr/share/bash-completion/ usr/share/zsh/ " libpulse0_CATEGORY="Libs" libpulse0_SUMMARY="PulseAudio client library" libpulse0_CONTENTS="usr/bin/cygpulse-0.dll usr/bin/cygpulsecommon-*.dll" libpulse_mainloop_glib0_CATEGORY="Libs" libpulse_mainloop_glib0_SUMMARY="PulseAudio GLib client library" libpulse_mainloop_glib0_CONTENTS="usr/bin/cygpulse-mainloop-glib-0.dll" libpulse_simple0_CATEGORY="Libs" libpulse_simple0_SUMMARY="PulseAudio simple client library" libpulse_simple0_CONTENTS="usr/bin/cygpulse-simple-0.dll" libpulse_devel_CATEGORY="Libs" libpulse_devel_SUMMARY="PulseAudio client libraries (development)" libpulse_devel_CONTENTS="usr/include/ usr/lib/cmake/ usr/lib/lib* usr/lib/pulseaudio/libpulse* usr/lib/pkgconfig/" libpulse_doc_CATEGORY="Doc" libpulse_doc_SUMMARY="PulseAudio client API documentation" libpulse_doc_CONTENTS="usr/share/doc/${NAME}/html/" vala_libpulse_CATEGORY="Libs" vala_libpulse_SUMMARY="PulseAudio client libraries (Vala bindings)" vala_libpulse_CONTENTS="usr/share/vala/" inherit meson # oss-output is disabled until cygwin 3.5 CYGMESON_ARGS=" -Dsamplerate=enabled -Doss-output=disabled -Dvalgrind=disabled -Dsystemd=disabled -Dalsa=disabled -Delogind=disabled -Dbluez5=disabled -Dbluez5-gstreamer=disabled -Djack=disabled -Dlirc=disabled -Dudev=disabled -Dgstreamer=disabled -Dwebrtc-aec=disabled" PATH=/usr/lib/pulseaudio:${PATH} src_compile() { cd ${S} meson_compile pushd ${S}/${ARCH}-pc-cygwin/doxygen doxygen doxygen.conf popd } src_install() { cd ${S} meson_install cd ${B} make_desktop_entry qpaeq "PulseAudio Equalizer" "multimedia-volume-control" "AudioVideo;Audio;Mixer" # obsoleted by x11_device_manager.patch rm -f ${D}/etc/xdg/autostart/pulseaudio-kde.desktop rm -f ${D}/etc/xdg/Xwayland-session.d/00-pulseaudio-x11 # replace esd dosym esdcompat /usr/bin/esd echo ".so esdcompat.1" >> ${D}/usr/share/man/man1/esd.1 # make install removes the .la files, so auto-fixups won't happen mv ${D}/usr/lib/pulseaudio/cygpulseco*.dll ${D}/usr/lib/pulseaudio/modules/cyg*.dll ${D}/usr/bin/ rm -f ${D}/usr/lib/pulseaudio/modules/*.dll.a rm -f ${D}/usr/lib/pulseaudio/libpulsecore*.dll.a make_etc_defaults /etc/pulse dodoc ${S}/${ARCH}-pc-cygwin/doxygen/html } DIFF_EXCLUDES=".version stamp-po" BUILD_REQUIRES="meson doxygen libtdb-devel libICE-devel libSM-devel libXtst-devel check libdbus1-devel speex-devel speexdsp-devel libwrap-devel libsoxr-devel liborc0.4-devel tcp_wrappers libavahi-client-devel libavahi-common-devel libgtk3-devel libsamplerate-devel libasyncns-devel"