Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Apr 2016 01:11:00 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r412879 - in head/multimedia: . vapoursynth vapoursynth/files
Message-ID:  <201604100111.u3A1B0RT085846@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Sun Apr 10 01:10:59 2016
New Revision: 412879
URL: https://svnweb.freebsd.org/changeset/ports/412879

Log:
  multimedia/vapoursynth: add new port
  
  Simple video processing framework, inspired by Avisynth.
  
  http://www.vapoursynth.com/about/

Added:
  head/multimedia/vapoursynth/
  head/multimedia/vapoursynth/Makefile   (contents, props changed)
  head/multimedia/vapoursynth/distinfo   (contents, props changed)
  head/multimedia/vapoursynth/files/
  head/multimedia/vapoursynth/files/patch-non-x86   (contents, props changed)
  head/multimedia/vapoursynth/pkg-descr   (contents, props changed)
  head/multimedia/vapoursynth/pkg-plist   (contents, props changed)
Modified:
  head/multimedia/Makefile   (contents, props changed)

Modified: head/multimedia/Makefile
==============================================================================
--- head/multimedia/Makefile	Sun Apr 10 01:00:18 2016	(r412878)
+++ head/multimedia/Makefile	Sun Apr 10 01:10:59 2016	(r412879)
@@ -393,6 +393,7 @@
     SUBDIR += v4l-utils
     SUBDIR += v4l_compat
     SUBDIR += vamps
+    SUBDIR += vapoursynth
     SUBDIR += vcdgear
     SUBDIR += vcdimager
     SUBDIR += vcdpad

Added: head/multimedia/vapoursynth/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vapoursynth/Makefile	Sun Apr 10 01:10:59 2016	(r412879)
@@ -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>

Added: head/multimedia/vapoursynth/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vapoursynth/distinfo	Sun Apr 10 01:10:59 2016	(r412879)
@@ -0,0 +1,2 @@
+SHA256 (vapoursynth-vapoursynth-R32_GH0.tar.gz) = e9560f64ba298c2ef9e6e3d88f63ea0ab88e14bbd0e9feee9c621b9224e408c8
+SIZE (vapoursynth-vapoursynth-R32_GH0.tar.gz) = 499058

Added: head/multimedia/vapoursynth/files/patch-non-x86
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vapoursynth/files/patch-non-x86	Sun Apr 10 01:10:59 2016	(r412879)
@@ -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;
+ 

Added: head/multimedia/vapoursynth/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vapoursynth/pkg-descr	Sun Apr 10 01:10:59 2016	(r412879)
@@ -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/

Added: head/multimedia/vapoursynth/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/multimedia/vapoursynth/pkg-plist	Sun Apr 10 01:10:59 2016	(r412879)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604100111.u3A1B0RT085846>