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

Reply via email to