On Mon, 6 Feb 2023 23:23:05 +0900
Takashi Yano wrote:

> On Sun, 5 Feb 2023 16:34:07 +0000
> Jon Turney wrote:
> > On 05/02/2023 08:37, Takashi Yano via Cygwin-apps wrote:
> > > I would like to take over the maintenance of pulseaudio
> > > package which is currently orphanded. I have already
> > > prepared the updated package at:
> > > 
> > > https://tyan0.yr32.net/cygwin/x86_64/release/pulseaudio/
> > 
> > > src_compile() {
> > >         cd ${S}
> > >         inherit meson
> > 
> > It's more conventional to write the inherits once at the start of the 
> > cygport.
> > 
> > Otherwise, looks good.
> 
> Thanks for the advice. Now I am working on this package.
> Please wait a while.

The cygport file is updated as attached. Thanks in advance.

-- 
Takashi Yano <takashi.y...@nifty.ne.jp>
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"

Reply via email to