VapourSynth is an application for video manipulation. Or a plugin. Or
a library. It's hard to tell because it has a core library written in
C++ and a Python module to allow video scripts to be created. It came
to be when I started thinking about alternative designs for Avisynth
and most of it was written over a 3 month period.
The software has been heavily inspired by Avisynth and aims to be a 21st
century rewrite, taking advantage of the advancements computers have
made since the late 90s. The main features compared to Avisynth are:
* Multithreaded - Frame level multithreading that scales well
* Generalized Colorspaces - New colorspaces can be specified at runtime
* Per Frame Properties - Additional metadata can be attached to frames
* Python Based - The scripting part is implemented as a Python module so you
don't have to learn a special language
* Support for video with format changes - Some video just can't stick to one
format or frame size. VapourSynth can handle any kind of change
* Compatible with a large number of already existing Avisynth plugins
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.
multimedia/vapoursynth: Limit port to tier 1 (64-bit) platforms and fix some
style issues
Upstream only targets 64-bit platforms
(see release notes for R74 and meson.build) and they're the only plugins
are only optimized and/or runs reasonably fast on aarch64 and amd64.
This is also true for most other related software you normally use with
Vapoursynth. While at fix a few style issues
multimedia/vapoursynth: Clarify build requirements on amd64
Vapoursynth is computational heavy so clarify why build might fail on
amd64.
Reported by: vvd
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: update to R65
ChangeLog: https://github.com/vapoursynth/vapoursynth/releases
* fixed inspection api sometimes causing memory corruption when used from
python
* frame properties in python are now return as str type instead of bytes when
hinted as utf8 printable
* fixed how unprintable data is returned from plugin functions in python,
previously it would leak a ctypes pointer with no length instead of returning
a bytes object
* fixed a bug in the avx2 maskedmerge float premultiplied code path that would
switch the two input clips
* reverted the from_chars code a bit more to make no locale affect float
parsing
* fixed the sar adjustment for real this time
Reported by: portscout
MFH: 2023Q4 (bugfixes)
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
framework: Add new USES 'magick' for graphics/ImageMagick*
A new USES has been added to depend on ImageMagick.
USES=magick
adds a LIB_DEPENDS on graphics/ImageMagick${IMAGEMAGICK_DEFAULT}.
If a specific version is required, use for example
USES=magick:6 resp. USES=magick:7
If only a build, run or test is required, use for example
USES=magick:build resp. USES=magick:6,build,test
(Only the first 15 lines of the commit message are shown above )
multimedia/vapoursynth: drop DEBUG option after r478306
Only passes `-O0 -g3 -ggdb` which is just a vendor way of saying to
build with debug symbols. `-ftrapv` is slightly different but can be
replaced with `-fsanitize=integer` which provides more checks.
Drop C++11 workaround for GCC < 6 after r449590
lang/gcc5 will expire in ~1 month. If someone still uses lang/gcc48
they should backport C++11 fix instead. QA on GCC architecuters is
currently limited to powerpc64 which uses GCC_DEFAULT.
PR: 193528
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Update ImageMagick7 to 7.0.8.14 [1]
* Add option for ISO/IEC 23008-12:2017 HEIF suport [1]
* Add option for RAW support (from IM6).
* Convert a number of options to optionhelpers (sync from IM6).
* Add comment to the patch-config_policy.xml file why it still needed.
PR: 230788 (based on) [1]
Submitted by: Sebastian Steinmetz <freebsd-2018@sebastiansteinmetz.ch>
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored. They will
automatically get flavors (py27, py34, py35, py36) depending on what
versions they support.
There is also a USE_PYTHON=flavors for ports that do not use distutils
but need FLAVORS to be set. A USE_PYTHON=noflavors can be set if
using distutils but flavors are not wanted.
A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
added to cope with Python ports that did not have the Python
PKGNAMEPREFIX but are flavored.
USES=python now also exports a PY_FLAVOR variable that contains the
(Only the first 15 lines of the commit message are shown above )
multimedia/vapoursynth: unbreak runtime on non-x86
vapoursynth.Error: Failed to obtain VapourSynth API pointer. System
does not support SSE2 or is the Python module and loaded core library
mismatched?
ImageMagick7 to 7.0.7-2.
Disable FPX (FlashPix) support by default. This image format is really
rare these days coupled with that there are known CVE's in libfpx and
it doesn't seem to be maintained these days. It doesn't make sense to
keep it enabled by default anymore. [1]
Bump vapoursynth for sharedi library bumps in IM7.
PR: 222309 [1]
Submitted by: Anton Yuzhaninov <citrin+pr@citrin.ru> [1]
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
multimedia/libass: belatedly bump PORTREVISION after r429876
ASS_Style grew in size by |int Justify| member. Old consumers may
not initialize it leading to crashes.
Reported by: Kevin Oberman
Use USES=pathfix where applicable.
PR: 213195
Submitted by: mat
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D8093
Most commonly used build systems support silent builds, when they
hide actual commands executed and only show short summary line (like
"CC foo.c"). CMake and ninja enable this by default, some autotools
using ports do as well. This is unacceptable because we need complete
build logs at any time, so we now switch to verbose build logs
unconditionally. Note that this change deliberately affects ALL
builds and not only package builds on cluster, because we need to
be sure that user experiencing failure can always provide informative
build log regardless of settings and without rerunning the build.
Change summary:
- Always do verbose builds for cmake, ninja and GNU configure (the
latter includes check if --disable-silent-rules is actually supported
by the configure script; there are isolated cases when it's not true)
(Only the first 15 lines of the commit message are shown above )