Index | Thread | Search

From:
Rafael Sadowski <rafael@sizeofvoid.org>
Subject:
Re: www/chromium vaapi support
To:
Robert Nagy <robert@openbsd.org>
Cc:
ports@openbsd.org
Date:
Thu, 9 Oct 2025 16:47:52 +0200

Download raw body.

Thread
On Thu Oct 09, 2025 at 06:54:00AM +0200, Robert Nagy wrote:
> diff /usr/ports/mystuff
> path + /usr/ports/mystuff
> commit - d4231d91d7cc2be17ba097e1775489fffaa60dd2
> blob - 208050c9bcd6c5fd3280c9140d0d6b23b3205ffa
> file + www/chromium-beta/Makefile
> --- www/chromium-beta/Makefile
> +++ www/chromium-beta/Makefile
> @@ -55,13 +55,13 @@ COMPILER=		ports-clang
>  
>  # uses pledge()
>  WANTLIB+=	GL X11 Xcomposite Xdamage Xext Xfixes Xi Xrandr Xrender Xtst
> -WANTLIB+=	aom atk-1.0 atk-bridge-2.0 atspi c cairo cbor crypto cups
> +WANTLIB+=	atk-1.0 atk-bridge-2.0 atspi c cairo cbor crypto cups
>  WANTLIB+=	dav1d dbus-1 drm epoll-shim execinfo expat fido2 fontconfig
>  WANTLIB+=	gbm gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0
>  WANTLIB+=	harfbuzz harfbuzz-subset icudata icui18n icuuc intl jpeg kvm
>  WANTLIB+=	m nspr4 nss3 nssutil3 openh264 opus pango-1.0 pangocairo-1.0
>  WANTLIB+=	plc4 plds4 png pthread pthread smime3 sndio udev usbhid util
> -WANTLIB+=	vpx xcb xkbcommon xml2 xshmfence xslt z
> +WANTLIB+=	xcb xkbcommon xml2 xshmfence xslt z
>  
>  RUN_DEPENDS=	devel/xdg-utils \
>  		devel/desktop-file-utils \
> @@ -90,9 +90,7 @@ BUILD_DEPENDS=	archivers/bzip2 \
>  LIB_DEPENDS=	audio/opus \
>  		devel/pango \
>  		graphics/jpeg \
> -		multimedia/aom \
>  		multimedia/dav1d \
> -		multimedia/libvpx \
>  		multimedia/openh264 \
>  		security/nss \
>  		textproc/icu4c \
> @@ -144,10 +142,8 @@ BUILDDIR=	${WRKSRC}/out/${BUILDTYPE}
>  GN_SYSTEM_LIBS=	dav1d \
>  		fontconfig \
>  		icu \
> -		libaom \
>  		libjpeg \
>  		libpng \
> -		libvpx \
>  		libxml \
>  		libxslt \
>  		openh264 \
> @@ -195,9 +191,12 @@ GN_ARGS+=	enable_rust=true \
>  		rust_sysroot_absolute=\"${LOCALBASE}\" \
>  		rustc_version=\"${RUSTC_VERSION}\"
>  
> -# notyet
> -GN_ARGS+=	use_vaapi=false
> +# pull in our patched sources for libaom and libvpx
> +GN_ARGS+=	use_vaapi=true
> +BUILD_DEPENDS+=	multimedia/aom:patch \
> +		multimedia/libvpx:patch
>  
> +
>  .if ${MACHINE_ARCH} == "aarch64"
>  GN_ARGS+=	extra_ldflags=\"-L${LOCALBASE}/lib -L${X11BASE}/lib\"
>  PKG_ARGS+=	-Dswiftshader=0
> @@ -256,6 +255,12 @@ GN_ARGS+=	use_thin_lto=false \
>  		thin_lto_enable_optimizations=true
>  .endif
>  
> +pre-patch:
> +	cd ${WRKDIR}/multimedia/aom/libaom-* && \
> +		pax -rw -s '/^.*${PATCHORIG}$$//' . ${WRKSRC}/third_party/libaom
> +	cd ${WRKDIR}/multimedia/libvpx/libvpx-* && \
> +		pax -rw -s '/^.*${PATCHORIG}$$//' . ${WRKSRC}/third_party/libvpx
> +
>  post-patch:
>  	@ln -sf ${MODPY_BIN} ${WRKDIR}/bin/python
>  	@ln -sf ${LOCALBASE}/bin/llvm-ar-${MODCLANG_VERSION} ${WRKDIR}/bin/ar
> 

Thanks for the patch-bits but you forgot to remove it from
GN_SYSTEM_LIBS and the bump. With the following diff, it can be
compiled and executed without any issues.

diff --git a/www/chromium/Makefile b/www/chromium/Makefile
index ae67f128536..5701fcd5616 100644
--- a/www/chromium/Makefile
+++ b/www/chromium/Makefile
@@ -15,6 +15,7 @@ COMMENT=		Chromium browser
 V=			141.0.7390.54
 
 DISTNAME=		chromium-${V}
+REVISION=		0
 
 DISTFILES+=		${CHROMIUM_DISTFILES} \
 			${REGRESS_DISTFILES}
@@ -55,13 +56,13 @@ COMPILER=		ports-clang
 
 # uses pledge()
 WANTLIB+=	GL X11 Xcomposite Xdamage Xext Xfixes Xi Xrandr Xrender Xtst
-WANTLIB+=	aom atk-1.0 atk-bridge-2.0 atspi c cairo cbor crypto cups
+WANTLIB+=	atk-1.0 atk-bridge-2.0 atspi c cairo cbor crypto cups
 WANTLIB+=	dav1d dbus-1 drm epoll-shim execinfo expat fido2 fontconfig
 WANTLIB+=	gbm gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0
 WANTLIB+=	harfbuzz harfbuzz-subset icudata icui18n icuuc intl jpeg kvm
 WANTLIB+=	m nspr4 nss3 nssutil3 openh264 opus pango-1.0 pangocairo-1.0
 WANTLIB+=	plc4 plds4 png pthread pthread smime3 sndio udev usbhid util
-WANTLIB+=	vpx xcb xkbcommon xml2 xshmfence xslt z
+WANTLIB+=	xcb xkbcommon xml2 xshmfence xslt z
 
 RUN_DEPENDS=	devel/xdg-utils \
 		devel/desktop-file-utils \
@@ -90,9 +91,7 @@ BUILD_DEPENDS=	archivers/bzip2 \
 LIB_DEPENDS=	audio/opus \
 		devel/pango \
 		graphics/jpeg \
-		multimedia/aom \
 		multimedia/dav1d \
-		multimedia/libvpx \
 		multimedia/openh264 \
 		security/nss \
 		textproc/icu4c \
@@ -144,10 +143,8 @@ BUILDDIR=	${WRKSRC}/out/${BUILDTYPE}
 GN_SYSTEM_LIBS=	dav1d \
 		fontconfig \
 		icu \
-		libaom \
 		libjpeg \
 		libpng \
-		libvpx \
 		libxml \
 		libxslt \
 		openh264 \
@@ -195,8 +192,10 @@ GN_ARGS+=	enable_rust=true \
 		rust_sysroot_absolute=\"${LOCALBASE}\" \
 		rustc_version=\"${RUSTC_VERSION}\"
 
-# notyet
-GN_ARGS+=	use_vaapi=false
+# pull in our patched sources for libaom and libvpx
+GN_ARGS+=	use_vaapi=true
+BUILD_DEPENDS+=	multimedia/aom:patch \
+		multimedia/libvpx:patch
 
 .if ${MACHINE_ARCH} == "aarch64"
 GN_ARGS+=	extra_ldflags=\"-L${LOCALBASE}/lib -L${X11BASE}/lib\"
@@ -256,6 +255,12 @@ GN_ARGS+=	use_thin_lto=false \
 		thin_lto_enable_optimizations=true
 .endif
 
+pre-patch:
+	cd ${WRKDIR}/multimedia/aom/libaom-* && \
+		pax -rw -s '/^.*${PATCHORIG}$$//' . ${WRKSRC}/third_party/libaom
+	cd ${WRKDIR}/multimedia/libvpx/libvpx-* && \
+		pax -rw -s '/^.*${PATCHORIG}$$//' . ${WRKSRC}/third_party/libvpx
+
 post-patch:
 	@ln -sf ${MODPY_BIN} ${WRKDIR}/bin/python
 	@ln -sf ${LOCALBASE}/bin/llvm-ar-${MODCLANG_VERSION} ${WRKDIR}/bin/ar