On Mon, Feb 12, 2024 at 01:51:30PM -0400, Jose Maldonado wrote: > > Hello everyone! > > This is an update for libplacebo. Our port version (v4.208.0) is > already two years old and we already have to make a small bump due to > the arrival of a new mpv (v0.37.0). > > This new version of libplacebo requires a series of additional > dependencies that I have submitted as new ports to the list: > devel/fast-float and graphics/glad. > > With this new version and its dependencies we can activate support for > Vulkan and OpenGL in the library, aiming to take advantage of these > capabilities. > > In the future, when we have Mesa-23.2.1 and ffmpeg-6.1 on OpenBSD, > perhaps we can take advantage of the ability of ffmpeg, mpv, and > libplacebo to obtain hwaccel through Vulkan (for h264, h265 and AV1, > without needing go through VAAPI). For now, the latter is in the > future, it will depend on our versions of Mesa and ffmpeg, along with > the appropriate support.
Thanks for the diff, a few comments below inline and then an updated diff from me attached. Please remember to CC maintainer as they may not always be subscribed to ports@. Also important to know if ports that depend on the library have been tested with the new version, and if any of them might need an update with the API changes. I can find only mpv and vlc when looking at WANTLIBs in sqlports, and I rebuilt mpv and it still works FWIW. There was trailing whitespace - it's generally recommended to run portcheck(1) (in /usr/ports/infrastructure/bin/) which will catch that (among other things). [...] > MAINTAINER= Brad Smith <b...@comstyle.com> [...] > -WANTLIB= epoxy execinfo lcms2 m pthread > +WANTLIB+= ${COMPILER_LIBCXX} epoxy execinfo GL lcms2 m pthread > +WANTLIB+= shaderc_shared vulkan $ make port-lib-depends-check libplacebo-6.338.2(graphics/libplacebo): Extra: GL.19 epoxy.4 I assume these 2 libraries are dlopen'd? In that case it would be preferable to add a comment about this above the WANTLIB block. > MODULES= devel/meson > > -LIB_DEPENDS= graphics/lcms2 > +BUILD_DEPENDS= devel/fast-float \ > + graphics/glad \ > + graphics/shaderc \ A LIB_DEPENDS is automatically also a BUILD_DEPENDS, so no need to list shaderc here. (see bsd.port.mk(5)) > + graphics/vulkan-headers \ I would avoid dangling '\' at the end. > +LIB_DEPENDS= graphics/lcms2 \ > + graphics/shaderc > + > +RUN_DEPENDS= graphics/vulkan-loader ===> Verifying specs: [...] Missing library for vulkan>=0.0 vulkan-loader needs to be LIB_DEPENDS given the WANTLIB entry. [...] > + > > COMPILER= base-clang ports-gcc > COMPILER_LANGS= c > > +CFLAGS += -I${X11BASE}/include > +LDFLAGS += -L${X11BASE}/lib > + > +MODMESON_CONFIGURE_ENV += LDFLAGS="${LDFLAGS}" > + > CONFIGURE_ARGS+=-Ddefault_library=both \ > -Dd3d11=disabled \ > -Ddemos=false \ > + -Ddovi=disabled \ > -Dglslang=disabled \ > - -Dshaderc=disabled \ > + -Dlibdovi=disabled \ > + -Dshaderc=enabled \ > + -Dopengl=enabled \ > -Dunwind=disabled \ > - -Dvulkan=disabled > + -Dvulkan=enabled \ > + -Dxxhash=disabled > > NO_TEST= Yes > > Index: distinfo > =================================================================== > RCS file: /cvs/ports/graphics/libplacebo/distinfo,v > retrieving revision 1.9 > diff -u -p -r1.9 distinfo > --- distinfo 23 Jul 2022 05:16:05 -0000 1.9 > +++ distinfo 12 Feb 2024 17:49:43 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (libplacebo-4.208.0.tar.gz) = > UJD7rU9luclQAoweDdhtIKpm0VnAhUqJs+uNQhCWa3M= > -SIZE (libplacebo-4.208.0.tar.gz) = 647068 > +SHA256 (libplacebo-6.338.2.tar.gz) = > Lx5iTgnXKoydtw+RD3Vg52ShwSba5CrMWzvO+DanrsY= > +SIZE (libplacebo-6.338.2.tar.gz) = 841168 > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/graphics/libplacebo/pkg/PLIST,v > retrieving revision 1.8 > diff -u -p -r1.8 PLIST > --- pkg/PLIST 11 Mar 2022 19:22:45 -0000 1.8 > +++ pkg/PLIST 12 Feb 2024 17:49:43 -0000 > @@ -1,20 +1,25 @@ > include/libplacebo/ > +include/libplacebo/cache.h > include/libplacebo/colorspace.h > include/libplacebo/common.h > include/libplacebo/config.h > -include/libplacebo/context.h > +include/libplacebo/d3d11.h > include/libplacebo/dispatch.h > include/libplacebo/dither.h > include/libplacebo/dummy.h > include/libplacebo/filters.h > +include/libplacebo/gamut_mapping.h > include/libplacebo/gpu.h > include/libplacebo/log.h > include/libplacebo/opengl.h > +include/libplacebo/options.h > include/libplacebo/renderer.h > include/libplacebo/shaders/ > include/libplacebo/shaders.h > include/libplacebo/shaders/colorspace.h > include/libplacebo/shaders/custom.h > +include/libplacebo/shaders/deinterlacing.h > +include/libplacebo/shaders/dithering.h > include/libplacebo/shaders/film_grain.h > include/libplacebo/shaders/icc.h > include/libplacebo/shaders/lut.h > @@ -24,10 +29,12 @@ include/libplacebo/tone_mapping.h > include/libplacebo/utils/ > include/libplacebo/utils/dav1d.h > include/libplacebo/utils/dav1d_internal.h > +include/libplacebo/utils/dolbyvision.h > include/libplacebo/utils/frame_queue.h > include/libplacebo/utils/libav.h > include/libplacebo/utils/libav_internal.h > include/libplacebo/utils/upload.h > +include/libplacebo/vulkan.h > @static-lib lib/libplacebo.a > @lib lib/libplacebo.so.${LIBplacebo_VERSION} > lib/pkgconfig/libplacebo.pc
Index: Makefile =================================================================== RCS file: /cvs/ports/graphics/libplacebo/Makefile,v retrieving revision 1.11 diff -u -p -r1.11 Makefile --- Makefile 23 Jul 2022 05:16:05 -0000 1.11 +++ Makefile 13 Feb 2024 22:56:01 -0000 @@ -2,32 +2,48 @@ COMMENT= reusable library for GPU-accele GH_ACCOUNT= haasn GH_PROJECT= libplacebo -GH_TAGNAME= v4.208.0 +GH_TAGNAME= v6.338.2 CATEGORIES= graphics -SHARED_LIBS= placebo 7.0 +SHARED_LIBS= placebo 8.0 MAINTAINER= Brad Smith <b...@comstyle.com> # LGPLv2.1+ PERMIT_PACKAGE= Yes -WANTLIB= epoxy execinfo lcms2 m pthread +WANTLIB+= ${COMPILER_LIBCXX} epoxy execinfo GL lcms2 m pthread +WANTLIB+= shaderc_shared vulkan MODULES= devel/meson -LIB_DEPENDS= graphics/lcms2 +BUILD_DEPENDS= devel/fast-float \ + graphics/glad \ + graphics/vulkan-headers + +LIB_DEPENDS= graphics/lcms2 \ + graphics/shaderc \ + graphics/vulkan-loader COMPILER= base-clang ports-gcc COMPILER_LANGS= c +CFLAGS += -I${X11BASE}/include +LDFLAGS += -L${X11BASE}/lib + +MODMESON_CONFIGURE_ENV += LDFLAGS="${LDFLAGS}" + CONFIGURE_ARGS+=-Ddefault_library=both \ -Dd3d11=disabled \ -Ddemos=false \ + -Ddovi=disabled \ -Dglslang=disabled \ - -Dshaderc=disabled \ + -Dlibdovi=disabled \ + -Dshaderc=enabled \ + -Dopengl=enabled \ -Dunwind=disabled \ - -Dvulkan=disabled + -Dvulkan=enabled \ + -Dxxhash=disabled NO_TEST= Yes Index: distinfo =================================================================== RCS file: /cvs/ports/graphics/libplacebo/distinfo,v retrieving revision 1.9 diff -u -p -r1.9 distinfo --- distinfo 23 Jul 2022 05:16:05 -0000 1.9 +++ distinfo 13 Feb 2024 22:56:01 -0000 @@ -1,2 +1,2 @@ -SHA256 (libplacebo-4.208.0.tar.gz) = UJD7rU9luclQAoweDdhtIKpm0VnAhUqJs+uNQhCWa3M= -SIZE (libplacebo-4.208.0.tar.gz) = 647068 +SHA256 (libplacebo-6.338.2.tar.gz) = Lx5iTgnXKoydtw+RD3Vg52ShwSba5CrMWzvO+DanrsY= +SIZE (libplacebo-6.338.2.tar.gz) = 841168 Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/graphics/libplacebo/pkg/PLIST,v retrieving revision 1.8 diff -u -p -r1.8 PLIST --- pkg/PLIST 11 Mar 2022 19:22:45 -0000 1.8 +++ pkg/PLIST 13 Feb 2024 22:56:01 -0000 @@ -1,20 +1,25 @@ include/libplacebo/ +include/libplacebo/cache.h include/libplacebo/colorspace.h include/libplacebo/common.h include/libplacebo/config.h -include/libplacebo/context.h +include/libplacebo/d3d11.h include/libplacebo/dispatch.h include/libplacebo/dither.h include/libplacebo/dummy.h include/libplacebo/filters.h +include/libplacebo/gamut_mapping.h include/libplacebo/gpu.h include/libplacebo/log.h include/libplacebo/opengl.h +include/libplacebo/options.h include/libplacebo/renderer.h include/libplacebo/shaders/ include/libplacebo/shaders.h include/libplacebo/shaders/colorspace.h include/libplacebo/shaders/custom.h +include/libplacebo/shaders/deinterlacing.h +include/libplacebo/shaders/dithering.h include/libplacebo/shaders/film_grain.h include/libplacebo/shaders/icc.h include/libplacebo/shaders/lut.h @@ -24,10 +29,12 @@ include/libplacebo/tone_mapping.h include/libplacebo/utils/ include/libplacebo/utils/dav1d.h include/libplacebo/utils/dav1d_internal.h +include/libplacebo/utils/dolbyvision.h include/libplacebo/utils/frame_queue.h include/libplacebo/utils/libav.h include/libplacebo/utils/libav_internal.h include/libplacebo/utils/upload.h +include/libplacebo/vulkan.h @static-lib lib/libplacebo.a @lib lib/libplacebo.so.${LIBplacebo_VERSION} lib/pkgconfig/libplacebo.pc