Re: git: a5e4dc2e4a39 - main - multimedia/vapoursynth: Update to R73 and adopt port

From: Vladimir Druzenko <vvd_at_freebsd.org>
Date: Fri, 19 Jun 2026 20:27:00 UTC
After this update build fails:
FAILED: [code=1] libavx2.a.p/src_core_kernel_x86_convolution_avx2.cpp.o
c++ -Ilibavx2.a.p -I. -I.. -I../include -fvisibility=hidden -flto 
-fdiagnostics-color=never -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall 
-Winvalid-pch -std=c++17 -DVS_CORE_EXPORTS -DVS_CURRENT_RELEASE=73 
-DVS_GRAPH_API '-DVS_PATH_PLUGINDIR="/usr/local/lib/vapoursynth"' 
-DVS_USE_LATEST_API -DVSSCRIPT_USE_LATEST_API -Wno-ignored-attributes 
-fno-math-errno -fno-trapping-math -DVS_TARGET_OS_LINUX 
-DHAVE_SCHED_GETAFFINITY -DHAVE_CPUSET_GETAFFINITY -DVS_TARGET_CPU_X86 
-O2 -pipe -march=core2 -fstack-protector-strong -fno-strict-aliasing 
-fPIC -MD -MQ libavx2.a.p/src_core_kernel_x86_convolution_avx2.cpp.o -MF 
libavx2.a.p/src_core_kernel_x86_convolution_avx2.cpp.o.d -o 
libavx2.a.p/src_core_kernel_x86_convolution_avx2.cpp.o -c 
../src/core/kernel/x86/convolution_avx2.cpp
../src/core/kernel/x86/convolution_avx2.cpp:81:20: error: always_inline 
function '_mm256_set1_epi32' requires target feature 'avx', but would be 
inlined into function 'conv_scanline_h_byte_pass' that is compiled 
without support for 'avx'
    81 |     __m256i w0w1 = _mm256_set1_epi32((weight(1) << 16) | 
weight(0));
       |                    ^
../src/core/kernel/x86/convolution_avx2.cpp:81:20: error: AVX vector 
return of type '__m256i' (vector of 4 'long long' values) without 'avx' 
enabled changes the ABI
../src/core/kernel/x86/convolution_avx2.cpp:82:20: error: always_inline 
function '_mm256_set1_epi32' requires target feature 'avx', but would be 
inlined into function 'conv_scanline_h_byte_pass' that is compiled 
without support for 'avx'
    82 |     __m256i w2w3 = _mm256_set1_epi32((weight(3) << 16) | 
weight(2));
       |                    ^
../src/core/kernel/x86/convolution_avx2.cpp:82:20: error: AVX vector 
return of type '__m256i' (vector of 4 'long long' values) without 'avx' 
enabled changes the ABI
../src/core/kernel/x86/convolution_avx2.cpp:83:20: error: always_inline 
function '_mm256_set1_epi32' requires target feature 'avx', but would be 
inlined into function 'conv_scanline_h_byte_pass' that is compiled 
without support for 'avx'
    83 |     __m256i w4w5 = _mm256_set1_epi32((weight(5) << 16) | 
weight(4));
       |                    ^

Patch:
-.if !defined(CPUTYPE) && ${ARCH} == amd64
+.if (!defined(CPUTYPE) || ${MACHINE_CPU:Navx2}) && ${ARCH} == amd64

19.06.2026 15:17, Daniel Engberg пишет:
> Hi,
>
> Okay, I didn't see that but either way it's incomplete and no point in 
> holding on to autotools is it's dropped upstream in later releases.
>
> Best regards,
> Daniel
>
> On 2026-06-19 13:51, Vladimir Druzenko wrote:
>> Hi.
>>
>> We are working on this update already: 
>> https://reviews.freebsd.org/D57652
>> Also on multimedia/vapoursynth-l-smash-works (https:// 
>> reviews.freebsd.org/D57653) and on multimedia/av1an (https:// 
>> reviews.freebsd.org/D57651).
>> multimedia/av1an 0.5.0 fails with multimedia/vapoursynth newer than 72.
>>
>> 19.06.2026 14:36, Daniel Engberg пишет:
>>> The branch main has been updated by diizzy:
>>>
>>> URL: https://cgit.FreeBSD.org/ports/commit/? 
>>> id=a5e4dc2e4a39b8ca656729c8ab3551798f34713f
>>>
>>> commit a5e4dc2e4a39b8ca656729c8ab3551798f34713f
>>> Author:     Daniel Engberg <diizzy@FreeBSD.org>
>>> AuthorDate: 2026-06-19 10:41:25 +0000
>>> Commit:     Daniel Engberg <diizzy@FreeBSD.org>
>>> CommitDate: 2026-06-19 11:36:05 +0000
>>>
>>>      multimedia/vapoursynth: Update to R73 and adopt port
>>>      * Set multimedia@FreeBSD.org as maintainer
>>>      * This is the latest version that supports our aging default
>>>        Python version in tree
>>>      Changelog: https://github.com/vapoursynth/vapoursynth/releases/ 
>>> tag/R73
>>> ---
>>>   multimedia/vapoursynth/Makefile                 | 57 +++++ 
>>> +-------------------
>>>   multimedia/vapoursynth/distinfo                 |  6 +--
>>>   multimedia/vapoursynth/files/patch-Makefile.am  |  9 ----
>>>   multimedia/vapoursynth/files/patch-configure.ac | 13 ------
>>>   multimedia/vapoursynth/files/patch-meson.build  | 27 ++++++++++++
>>>   multimedia/vapoursynth/pkg-message              | 12 ++++++
>>>   multimedia/vapoursynth/pkg-plist                |  7 ++-
>>>   7 files changed, 57 insertions(+), 74 deletions(-)
>>>
>>> diff --git a/multimedia/vapoursynth/Makefile 
>>> b/multimedia/vapoursynth/ Makefile
>>> index 1c98c1d2bc84..eeee7de45fb2 100644
>>> --- a/multimedia/vapoursynth/Makefile
>>> +++ b/multimedia/vapoursynth/Makefile
>>> @@ -1,65 +1,32 @@
>>>   PORTNAME=    vapoursynth
>>> -DISTVERSION=    R66
>>> +DISTVERSION=    R73
>>>   CATEGORIES=    multimedia
>>> -PATCH_SITES= https://github.com/${PORTNAME}/${PORTNAME}/commit/
>>> -
>>> -MAINTAINER=    ports@FreeBSD.org
>>> +MAINTAINER=    multimedia@FreeBSD.org
>>>   COMMENT=    Video processing framework with simplicity in mind
>>>   WWW=        https://www.vapoursynth.com/
>>>   LICENSE=    LGPL21+
>>>   LICENSE_FILE=    ${WRKSRC}/COPYING.LESSER
>>> -BUILD_DEPENDS=    ${BUILD_DEPENDS_${ARCH}}
>>> -BUILD_DEPENDS_amd64=    nasm:devel/nasm
>>>   LIB_DEPENDS=    libzimg.so:graphics/sekrit-twc-zimg
>>> -USES=        autoreconf compiler:c++17-lang gmake libtool localbase 
>>> pathfix python pkgconfig
>>> +USES=        compiler:c++17-lang meson pkgconfig python
>>>   USE_PYTHON=    cython
>>> -USE_GITHUB=    yes
>>>   USE_LDCONFIG=    yes
>>> -BINARY_ALIAS=    cython=cython-${PYTHON_VER}
>>> -INSTALL_TARGET=    install-strip
>>> -
>>> -GNU_CONFIGURE=    yes
>>> -
>>> -DATADIR=    ${PREFIX}/lib/vapoursynth
>>> -
>>> -CONFIGURE_ARGS=    --disable-static
>>> -
>>> -OPTIONS_DEFINE=    DEBUG DOCS FRAME_GUARD
>>> -OPTIONS_SUB=    yes
>>> -
>>> -DEBUG_CONFIGURE_ENABLE=        debug
>>> +USE_GITHUB=    yes
>>> -DOCS_BUILD_DEPENDS=        sphinx-build:textproc/py-sphinx \
>>> - ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/ 
>>> py-sphinx_rtd_theme@${PY_FLAVOR}
>>> -DOCS_PORTDOCS=            *
>>> +WITH_LTO=    yes
>>> +LDFLAGS+=    -lpthread
>>> -FRAME_GUARD_DESC=        Check integrity after each filter
>>> -FRAME_GUARD_CONFIGURE_ENABLE=    guard-pattern
>>> +MESON_ARGS=    -Dpython3_bin=${PYTHON_CMD}
>>> -.include <bsd.port.pre.mk>
>>> +.include <bsd.port.options.mk>
>>> -.if ${ARCH} == amd64 && defined(MACHINE_CPU) && ${MACHINE_CPU:Mavx2}
>>> -CONFIGURE_ARGS+= --enable-x86-asm
>>> -.else
>>> -CONFIGURE_ARGS+= --disable-x86-asm
>>> +.if !defined(CPUTYPE) && ${ARCH} == amd64
>>> +COMMENT+= (compatibility mode)
>>> +MESON_ARGS+=    -Denable_x86_asm=false
>>>   .endif
>>> -post-patch:
>>> -    @${REINPLACE_CMD} -e 's/x86_64/&|amd64/' \
>>> -        -e '/AC_SEARCH.*libiconv/d' \
>>> -        -e '/test/s/[^ ]*libiconv.*-a //' \
>>> -        ${WRKSRC}/configure.ac
>>> -
>>> -post-build-DOCS-on:
>>> -    @${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} -d ${WRKDIR} 
>>> ${WRKSRC}/doc ${WRKSRC}/doc/_build/html
>>> -
>>> -post-install-DOCS-on:
>>> -    (cd ${WRKSRC}/doc/_build/html && ${COPYTREE_SHARE} \
>>> -        "${PORTDOCS}" ${STAGEDIR}${DOCSDIR})
>>> -
>>> -.include <bsd.port.post.mk>
>>> +.include <bsd.port.mk>
>>> diff --git a/multimedia/vapoursynth/distinfo 
>>> b/multimedia/vapoursynth/ distinfo
>>> index 73efb1dfa599..7bc03914d8e1 100644
>>> --- a/multimedia/vapoursynth/distinfo
>>> +++ b/multimedia/vapoursynth/distinfo
>>> @@ -1,3 +1,3 @@
>>> -TIMESTAMP = 1710077749
>>> -SHA256 (vapoursynth-vapoursynth-R66_GH0.tar.gz) = 
>>> e2c82b1f583adbc33dabbe59c0dc65e6aede70dedebe79be94155cb38d418b2c
>>> -SIZE (vapoursynth-vapoursynth-R66_GH0.tar.gz) = 1878159
>>> +TIMESTAMP = 1781871204
>>> +SHA256 (vapoursynth-vapoursynth-R73_GH0.tar.gz) = 
>>> 1bb8ffe31348eaf46d8f541b138f0136d10edaef0c130c1e5a13aa4a4b057280
>>> +SIZE (vapoursynth-vapoursynth-R73_GH0.tar.gz) = 1877539
>>> diff --git a/multimedia/vapoursynth/files/patch-Makefile.am b/ 
>>> multimedia/vapoursynth/files/patch-Makefile.am
>>> deleted file mode 100644
>>> index aa7a5ce75ba1..000000000000
>>> --- a/multimedia/vapoursynth/files/patch-Makefile.am
>>> +++ /dev/null
>>> @@ -1,9 +0,0 @@
>>> ---- Makefile.am.orig    2023-07-30 11:59:40 UTC
>>> -+++ Makefile.am
>>> -@@ -1,5 +1,5 @@
>>> - warningflags = -Wall -Wextra -Wno-unused-parameter -Wno-unused- 
>>> function -Wno-ignored-attributes
>>> --commoncflags = -O3 -fvisibility=hidden $(warningflags) 
>>> -I$(srcdir)/ include $(DEBUGCFLAGS) $(MFLAGS) $(UNICODECFLAGS) 
>>> $(STACKREALIGN)
>>> -+commoncflags = -fvisibility=hidden $(warningflags) -I$(srcdir)/ 
>>> include $(DEBUGCFLAGS) $(MFLAGS) $(UNICODECFLAGS) $(STACKREALIGN)
>>> - AM_CXXFLAGS = -std=c++17 $(commoncflags)
>>> - AM_CFLAGS = -std=c99 $(commoncflags)
>>> - ACLOCAL_AMFLAGS = -I m4
>>> diff --git a/multimedia/vapoursynth/files/patch-configure.ac b/ 
>>> multimedia/vapoursynth/files/patch-configure.ac
>>> deleted file mode 100644
>>> index 195bf51545e5..000000000000
>>> --- a/multimedia/vapoursynth/files/patch-configure.ac
>>> +++ /dev/null
>>> @@ -1,13 +0,0 @@
>>> ---- configure.ac.orig    2023-07-30 14:56:15 UTC
>>> -+++ configure.ac
>>> -@@ -109,8 +109,8 @@ AS_IF(
>>> -              ]
>>> -        )
>>> -
>>> --       AC_SUBST([MFLAGS], ["-mfpmath=sse -msse2"])
>>> --       AC_SUBST([AVX2FLAGS], ["-mavx2 -mfma -mtune=haswell"])
>>> -+       AC_SUBST([MFLAGS], [""])
>>> -+       AC_SUBST([AVX2FLAGS], [""])
>>> -       ]
>>> - )
>>> -
>>> diff --git a/multimedia/vapoursynth/files/patch-meson.build b/ 
>>> multimedia/vapoursynth/files/patch-meson.build
>>> new file mode 100644
>>> index 000000000000..10c9269d6558
>>> --- /dev/null
>>> +++ b/multimedia/vapoursynth/files/patch-meson.build
>>> @@ -0,0 +1,27 @@
>>> +--- meson.build.orig    2026-06-19 11:14:53 UTC
>>> ++++ meson.build
>>> +@@ -1,5 +1,5 @@ project('VapourSynth', ['c', 'cpp', 'cython'],
>>> + project('VapourSynth', ['c', 'cpp', 'cython'],
>>> +-    default_options: ['buildtype=release', 'b_lto=true', 
>>> 'b_ndebug=if-release', 'c_std=c99', 'cpp_std=c++17'],
>>> ++    default_options: ['buildtype=release', 'b_ndebug=if-release', 
>>> 'c_std=c99', 'cpp_std=c++17'],
>>> +     license: 'LGPL-2.1-or-later',
>>> +     meson_version: '>=0.63.0',
>>> +     version: run_command('cat', 'VAPOURSYNTH_VERSION', check: 
>>> true).stdout().strip().split()[2].split('-')[0],
>>> +@@ -124,8 +124,6 @@ if enable_x86_asm
>>> +             'src/core/kernel/x86/planestats_sse2.c',
>>> +             'src/core/kernel/x86/transpose_sse2.c',
>>> +         ),
>>> +-        c_args: '-march=x86-64-v2',
>>> +-        cpp_args: '-march=x86-64-v2',
>>> +         gnu_symbol_visibility: 'hidden',
>>> +         include_directories: incdir,
>>> +     )
>>> +@@ -137,8 +135,6 @@ if enable_x86_asm
>>> +             'src/core/kernel/x86/merge_avx2.c',
>>> +             'src/core/kernel/x86/planestats_avx2.c',
>>> +         ),
>>> +-        c_args: '-march=x86-64-v3',
>>> +-        cpp_args: '-march=x86-64-v3',
>>> +         gnu_symbol_visibility: 'hidden',
>>> +         include_directories: incdir,
>>> +     )
>>> diff --git a/multimedia/vapoursynth/pkg-message b/multimedia/ 
>>> vapoursynth/pkg-message
>>> new file mode 100644
>>> index 000000000000..6eef2a1dc870
>>> --- /dev/null
>>> +++ b/multimedia/vapoursynth/pkg-message
>>> @@ -0,0 +1,12 @@
>>> +[
>>> +{ type: install
>>> +  message: <<EOM
>>> +If this application is built in "compatibility mode" on amd64 it 
>>> means that
>>> +you're either using a prebuilt binary package or that CPUTYPE 
>>> variable wasn't
>>> +set during build. Application will still continue to work but 
>>> without assembly
>>> +optimization which means REDUCED performance. It is HIGHLY 
>>> recommended that
>>> +you recompile this software and plugins with CPUTYPE variable defined.
>>> +EOM
>>> +}
>>> +]
>>> +
>>> diff --git a/multimedia/vapoursynth/pkg-plist b/multimedia/ 
>>> vapoursynth/pkg-plist
>>> index 5bf0d94eaca0..d3cea18e0aef 100644
>>> --- a/multimedia/vapoursynth/pkg-plist
>>> +++ b/multimedia/vapoursynth/pkg-plist
>>> @@ -2,14 +2,13 @@ bin/vspipe
>>>   include/vapoursynth/VSConstants4.h
>>>   include/vapoursynth/VSHelper.h
>>>   include/vapoursynth/VSHelper4.h
>>> -include/vapoursynth/VSScript.h
>>>   include/vapoursynth/VSScript4.h
>>>   include/vapoursynth/VapourSynth.h
>>>   include/vapoursynth/VapourSynth4.h
>>>   lib/libvapoursynth-script.so
>>> -lib/libvapoursynth-script.so.0
>>> -lib/libvapoursynth-script.so.0.0.0
>>> +lib/libvapoursynth-script.so.4
>>>   lib/libvapoursynth.so
>>> -%%PYTHON_SITELIBDIR%%/vapoursynth.so
>>> +lib/libvapoursynth.so.4
>>> +%%PYTHON_SITELIBDIR%%/vapoursynth%%PYTHON_TAG%%.so
>>>   libdata/pkgconfig/vapoursynth-script.pc
>>>   libdata/pkgconfig/vapoursynth.pc
>>>
>>
>

-- 
Best regards,
Vladimir Druzenko