Re: git: b4d0a174c529 - main - www/ungoogled-chromium: update to 125.0.6422.76 and implement selectable audio backend support

From: Robert Nagy <rnagy_at_freebsd.org>
Date: Fri, 24 May 2024 11:36:22 UTC
On 24/05/24 14:07 GMT, Vladimir Druzenko wrote:
> 24.05.2024 13:40, Robert Nagy пишет:
> > On 24/05/24 12:51 GMT, Vladimir Druzenko wrote:
> > > 24.05.2024 06:47, Robert Nagy пишет:
> > > > The branch main has been updated by rnagy:
> > > > 
> > > > URL:https://cgit.FreeBSD.org/ports/commit/?id=b4d0a174c529e8061d838aafba1721cc317af01f
> > > > 
> > > > commit b4d0a174c529e8061d838aafba1721cc317af01f
> > > > Author:     Robert Nagy<rnagy@FreeBSD.org>
> > > > AuthorDate: 2024-05-23 20:21:23 +0000
> > > > Commit:     Robert Nagy<rnagy@FreeBSD.org>
> > > > CommitDate: 2024-05-24 03:47:31 +0000
> > > > 
> > > >       www/ungoogled-chromium: update to 125.0.6422.76 and implement selectable audio backend support
> > > >       with these changes, chromium now automatically selects which
> > > >       audio backend to use in the following order:
> > > >       pulse (if running) -> sndio -> alsa -> fake
> > > >       an additional command line option has been also implemented so
> > > >       that the user can force which backend to use:
> > > >       --audio-backend={auto,sndio,pulse,alsa}
> > > >       Security:https://vuxml.freebsd.org/freebsd/8247af0d-183b-11ef-9f97-a8a1599412c6.html
> > > > ---
> > > > 
> > > > @@ -19,7 +19,8 @@ ONLY_FOR_ARCHS=	aarch64 amd64 i386
> > > >    PATCH_DEPENDS=	gpatch:devel/patch \
> > > >    		${PYTHON_VERSION}:lang/python${PYTHON_SUFFIX}
> > > > -BUILD_DEPENDS=	bash:shells/bash \
> > > > +BUILD_DEPENDS=	${LOCALBASE}/include/pulse/pulseaudio.h:audio/pulseaudio \
> > > > +		bash:shells/bash \
> > > >    		${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \
> > > >    		${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \
> > > >    		gperf:devel/gperf \
> > > > @@ -38,8 +39,10 @@ BUILD_DEPENDS=	bash:shells/bash \
> > > >    LIB_DEPENDS=	libatk-bridge-2.0.so:accessibility/at-spi2-core \
> > > >    		libatspi.so:accessibility/at-spi2-core \
> > > >    		libspeechd.so:accessibility/speech-dispatcher \
> > > > +		libasound.so:audio/alsa-lib \
> > > >    		libFLAC.so:audio/flac \
> > > >    		libopus.so:audio/opus \
> > > > +		libsndio.so:audio/sndio \
> > > >    		libspeex.so:audio/speex \
> > > >    		libdbus-1.so:devel/dbus \
> > > >    		libdbus-glib-1.so:devel/dbus-glib \
> > > > @@ -154,10 +162,8 @@ SUB_FILES=	ungoogled-chromium.desktop ungoogled-chromium
> > > >    SUB_LIST+=	COMMENT="${COMMENT}"
> > > >    OPTIONS_DEFINE=		CODECS CUPS DEBUG DRIVER KERBEROS LTO PIPEWIRE TEST WIDEVINE
> > > > -OPTIONS_DEFAULT=	CODECS CUPS DRIVER KERBEROS PIPEWIRE SNDIO
> > > > +OPTIONS_DEFAULT=	CODECS CUPS DRIVER KERBEROS PIPEWIRE
> > > >    OPTIONS_EXCLUDE_aarch64=LTO
> > > > -OPTIONS_GROUP=		AUDIO
> > > > -OPTIONS_GROUP_AUDIO=	ALSA PULSEAUDIO SNDIO
> > > >    OPTIONS_RADIO=		KERBEROS
> > > >    OPTIONS_RADIO_KERBEROS=	HEIMDAL HEIMDAL_BASE MIT
> > > >    OPTIONS_SUB=		yes
> > > > @@ -167,12 +173,6 @@ HEIMDAL_BASE_DESC=	Heimdal Kerberos (base)
> > > >    HEIMDAL_DESC=		Heimdal Kerberos (security/heimdal)
> > > >    MIT_DESC=		MIT Kerberos (security/krb5)
> > > > -ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
> > > > -ALSA_RUN_DEPENDS=	${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \
> > > > -			alsa-lib>=1.1.1_1:audio/alsa-lib
> > > > -ALSA_VARS=		GN_ARGS+=use_alsa=true
> > > > -ALSA_VARS_OFF=		GN_ARGS+=use_alsa=false
> > > > -
> > > >    CODECS_VARS=		GN_ARGS+=proprietary_codecs=true \
> > > >    			FFMPEG_BRAND="Chrome"
> > > >    CODECS_VARS_OFF=	GN_ARGS+=proprietary_codecs=false \
> > > > @@ -216,18 +216,6 @@ PIPEWIRE_VARS=		GN_ARGS+=rtc_use_pipewire=true \
> > > >    PIPEWIRE_VARS_OFF=	GN_ARGS+=rtc_use_pipewire=false \
> > > >    			GN_ARGS+=rtc_link_pipewire=false
> > > > -PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
> > > > -PULSEAUDIO_VARS=	GN_ARGS+=use_pulseaudio=true
> > > > -PULSEAUDIO_VARS_OFF=	GN_ARGS+=use_pulseaudio=false
> > > > -
> > > > -# With SNDIO=on we exclude audio_manager_linux from the build (see
> > > > -# media/audio/BUILD.gn) and use audio_manager_openbsd which does not
> > > > -# support falling back to ALSA or PulseAudio.
> > > > -SNDIO_PREVENTS=		ALSA PULSEAUDIO
> > > > -SNDIO_LIB_DEPENDS=	libsndio.so:audio/sndio
> > > > -SNDIO_VARS=		GN_ARGS+=use_sndio=true
> > > > -SNDIO_VARS_OFF=		GN_ARGS+=use_sndio=false
> > > > -
> > > >    WIDEVINE_DESC=		Depend on foreign-cdm to enable playback of DRM content
> > > >    WIDEVINE_RUN_DEPENDS=	foreign-cdm>0:www/foreign-cdm
> > > Please remove mandatory dependency (BUILD and LIB) from pulse and sndio and
> > > return build options.
> > > You can do with OPTIONS_DEFAULT what you want, but don't force install all
> > > these dependencies even for build.
> > I am sorry but I don't concur. Knobs are bad, there is literally no reason for someone
> > not to install sndio (which is the most supported by chrome) by default.
> I'm using alsa only build.
> > Pulseaudio is only a build dependency which is completely fine.
> No. It isn't fine. I don't want pulseaudio on my host - it break my sound.

Pulseaudio does not start by default at all, it will not get used unless you have
the daemon running and even then you can disable it with the new command line flag
of chromium and use whichever audio backend you want by default.

> > I am trying to remove even more build options. They make absolutely no sense.
> 
> You want to remove one of the most important advantages of the FreeBSD.

It would make sense to have an option if it would pull it in as a run or lib dependency,
but it does not, however I will look into it to see if we could build it without even
having pulseaudio as a build dependency.