diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2016-04-10 01:10:59 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2016-04-10 01:10:59 +0000 |
commit | 6c9554d4e23358da3ce2a8a812855727c7dc30fe (patch) | |
tree | cf8084a938f8296d94651fb2eadaa0dac0ea13e7 /multimedia/vapoursynth | |
parent | a5ad2458e121bff832e9f83fc4c8f2ccb1439369 (diff) | |
download | ports-6c9554d4e23358da3ce2a8a812855727c7dc30fe.tar.gz ports-6c9554d4e23358da3ce2a8a812855727c7dc30fe.zip |
multimedia/vapoursynth: add new port
Simple video processing framework, inspired by Avisynth.
http://www.vapoursynth.com/about/
Notes
Notes:
svn path=/head/; revision=412879
Diffstat (limited to 'multimedia/vapoursynth')
-rw-r--r-- | multimedia/vapoursynth/Makefile | 124 | ||||
-rw-r--r-- | multimedia/vapoursynth/distinfo | 2 | ||||
-rw-r--r-- | multimedia/vapoursynth/files/patch-non-x86 | 31 | ||||
-rw-r--r-- | multimedia/vapoursynth/pkg-descr | 20 | ||||
-rw-r--r-- | multimedia/vapoursynth/pkg-plist | 22 |
5 files changed, 199 insertions, 0 deletions
diff --git a/multimedia/vapoursynth/Makefile b/multimedia/vapoursynth/Makefile new file mode 100644 index 000000000000..de65133f91ac --- /dev/null +++ b/multimedia/vapoursynth/Makefile @@ -0,0 +1,124 @@ +# $FreeBSD$ + +PORTNAME= vapoursynth +DISTVERSION= R32 +CATEGORIES= multimedia + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= Video processing framework with simplicity in mind + +LICENSE= LGPL21+ + +USE_GITHUB= yes + +USES= autoreconf gmake libtool localbase pathfix pkgconfig +PATHFIX_MAKEFILEIN= Makefile.am +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-silent-rules +CPPFLAGS+= -D_GLIBCXX_USE_C99 # XXX ports/193528 +INSTALL_TARGET= install-strip +USE_LDCONFIG= yes +DATADIR= ${PREFIX}/lib/vapoursynth + +OPTIONS_DEFINE= DEBUG DOCS FRAME_GUARD +OPTIONS_DEFAULT=${OPTIONS_GROUP_COMPS} ${OPTIONS_GROUP_PLUGINS} +OPTIONS_SUB= yes + +OPTIONS_DEFINE_amd64= SIMD +OPTIONS_DEFINE_i386= SIMD +OPTIONS_DEFAULT_amd64= SIMD + +OPTIONS_GROUP= COMPS PLUGINS +COMPS_DESC= Components +OPTIONS_GROUP_COMPS= CORE PYTHON VSPIPE VSSCRIPT +PLUGINS_DESC= Plugins +OPTIONS_GROUP_PLUGINS= ASS EEDI3 IMAGEMAGICK MORPHO TESSERACT REMOVEGRAIN VINVERSE VIVTC + +# General options + +DEBUG_CONFIGURE_ENABLE= debug + +DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx +DOCS_USES= makeinfo +DOCS_INFO= VapourSynth +DOCS_PORTDOCS= * + +FRAME_GUARD_DESC= Check integrity after each filter +FRAME_GUARD_CONFIGURE_ENABLE= guard-pattern + +# VSSCRIPT or REMOVEGRAIN +SIMD_BUILD_DEPENDS= yasm:devel/yasm +SIMD_CONFIGURE_ENABLE= x86-asm + +# COMPS group + +CORE_DESC= Core library +CORE_LIB_DEPENDS= libzimg.so:graphics/sekrit-twc-zimg +CORE_USES= compiler:c++11-lib +CORE_CONFIGURE_ENABLE= core + +PYTHON_USES= python:3.3- +PYTHON_BUILD_DEPENDS= cython:lang/cython +PYTHON_CONFIGURE_ENABLE= python-module +PYTHON_IMPLIES= CORE + +VSPIPE_DESC= Command line interface +VSPIPE_USES= compiler:c++11-lib +VSPIPE_CONFIGURE_ENABLE= vspipe +VSPIPE_IMPLIES= VSSCRIPT + +VSSCRIPT_DESC= Scripting library +VSSCRIPT_USES= compiler:c++11-lib python:3.3- +VSSCRIPT_CONFIGURE_ENABLE= vsscript + +# PLUGINS group + +ASS_DESC= Subtitles rendering via libass +ASS_LIB_DEPENDS= libass.so:multimedia/libass +ASS_CONFIGURE_ENABLE= assvapour + +EEDI3_DESC= Very slow edge directed interpolation +EEDI3_CONFIGURE_ENABLE= eedi3 + +IMAGEMAGICK_LIB_DEPENDS= libMagick++-6.so:graphics/ImageMagick +IMAGEMAGICK_USES= compiler:c++11-lib +IMAGEMAGICK_CONFIGURE_ENABLE= imwri + +TESSERACT_DESC= Optical Character Recognition via Tesseract +TESSERACT_LIB_DEPENDS= libtesseract.so:graphics/tesseract +TESSERACT_CONFIGURE_ENABLE= ocr + +MORPHO_DESC= Morphological filter +MORPHO_CONFIGURE_ENABLE= morpho + +REMOVEGRAIN_DESC= 3x3 median and convolution denoising +REMOVEGRAIN_CONFIGURE_ENABLE= removegrain + +VINVERSE_DESC= Remove residual combing +VINVERSE_CONFIGURE_ENABLE= vinverse + +VIVTC_DESC= Field matching, inverse telecine and decimation +VIVTC_CONFIGURE_ENABLE= vivtc + +post-patch: + @${REINPLACE_CMD} -e 's/x86_64/&|amd64/' \ + ${WRKSRC}/configure.ac + +post-build-DOCS-on: + @${DO_MAKE_BUILD} html texinfo -C${WRKSRC}/doc + @${DO_MAKE_BUILD} info -C${WRKSRC}/doc/_build/texinfo + @if [ -n "${PORT_OPTIONS:MVSPIPE}" ]; then \ + ${DO_MAKE_BUILD} man -C${WRKSRC}/doc; \ + fi + +post-install-DOCS-on: + ${INSTALL_MAN} ${WRKSRC}/doc/_build/texinfo/VapourSynth.info \ + ${STAGEDIR}${PREFIX}/${INFO_PATH} + (cd ${WRKSRC}/doc/_build/html && ${COPYTREE_SHARE} \ + "${PORTDOCS}" ${STAGEDIR}${DOCSDIR}) + @if [ -n "${PORT_OPTIONS:MVSPIPE}" ]; then \ + ${INSTALL_MAN} -v ${WRKSRC}/doc/_build/man/vspipe.1 \ + ${STAGEDIR}${MAN1PREFIX}/man/man1; \ + fi + +.include <bsd.port.mk> diff --git a/multimedia/vapoursynth/distinfo b/multimedia/vapoursynth/distinfo new file mode 100644 index 000000000000..52153cc44790 --- /dev/null +++ b/multimedia/vapoursynth/distinfo @@ -0,0 +1,2 @@ +SHA256 (vapoursynth-vapoursynth-R32_GH0.tar.gz) = e9560f64ba298c2ef9e6e3d88f63ea0ab88e14bbd0e9feee9c621b9224e408c8 +SIZE (vapoursynth-vapoursynth-R32_GH0.tar.gz) = 499058 diff --git a/multimedia/vapoursynth/files/patch-non-x86 b/multimedia/vapoursynth/files/patch-non-x86 new file mode 100644 index 000000000000..f584c4496260 --- /dev/null +++ b/multimedia/vapoursynth/files/patch-non-x86 @@ -0,0 +1,31 @@ +--- src/core/cpufeatures.c.orig 2016-02-02 16:12:42 UTC ++++ src/core/cpufeatures.c +@@ -60,7 +60,7 @@ void getCPUFeatures(CPUFeatures *cpuFeat + } + } + } +-#elif defined(VS_TARGET_OS_LINUX) ++#elif defined(VS_TARGET_OS_LINUX) && defined(__linux__) + #include <sys/auxv.h> + + void getCPUFeatures(CPUFeatures *cpuFeatures) { +@@ -89,5 +89,7 @@ void getCPUFeatures(CPUFeatures *cpuFeat + #endif + } + #else +-#error Do not know how to get CPU features. ++void getCPUFeatures(CPUFeatures *cpuFeatures) { ++ memset(cpuFeatures, 0, sizeof(CPUFeatures)); ++} + #endif +--- src/core/cpufeatures.h.orig 2016-02-02 16:12:42 UTC ++++ src/core/cpufeatures.h +@@ -51,8 +51,6 @@ typedef struct CPUFeatures { + char efp_double; + char dfp; + char vsx; +-#else +-#error No VS_TARGET_CPU_* defined/handled! + #endif + } CPUFeatures; + diff --git a/multimedia/vapoursynth/pkg-descr b/multimedia/vapoursynth/pkg-descr new file mode 100644 index 000000000000..19c1c27959ab --- /dev/null +++ b/multimedia/vapoursynth/pkg-descr @@ -0,0 +1,20 @@ +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 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 + +WWW: http://www.vapoursynth.com/ diff --git a/multimedia/vapoursynth/pkg-plist b/multimedia/vapoursynth/pkg-plist new file mode 100644 index 000000000000..b629809b118a --- /dev/null +++ b/multimedia/vapoursynth/pkg-plist @@ -0,0 +1,22 @@ +%%VSPIPE%%bin/vspipe +%%CORE%%include/vapoursynth/VSHelper.h +%%CORE%%include/vapoursynth/VSScript.h +%%CORE%%include/vapoursynth/VapourSynth.h +%%VSSCRIPT%%lib/libvapoursynth-script.a +%%VSSCRIPT%%lib/libvapoursynth-script.so +%%VSSCRIPT%%lib/libvapoursynth-script.so.0 +%%VSSCRIPT%%lib/libvapoursynth-script.so.0.0.0 +%%CORE%%lib/libvapoursynth.a +%%CORE%%lib/libvapoursynth.so +%%PYTHON%%%%PYTHON_SITELIBDIR%%/vapoursynth.so +%%DOCS%%%%VSPIPE%%man/man1/vspipe.1.gz +%%ASS%%%%DATADIR%%/libassvapour.so +%%EEDI3%%%%DATADIR%%/libeedi3.so +%%IMAGEMAGICK%%%%DATADIR%%/libimwri.so +%%MORPHO%%%%DATADIR%%/libmorpho.so +%%TESSERACT%%%%DATADIR%%/libocr.so +%%REMOVEGRAIN%%%%DATADIR%%/libremovegrain.so +%%VINVERSE%%%%DATADIR%%/libvinverse.so +%%VIVTC%%%%DATADIR%%/libvivtc.so +%%VSSCRIPT%%libdata/pkgconfig/vapoursynth-script.pc +%%CORE%%libdata/pkgconfig/vapoursynth.pc |