aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeat Gaetzi <beat@FreeBSD.org>2014-12-08 15:11:55 +0000
committerBeat Gaetzi <beat@FreeBSD.org>2014-12-08 15:11:55 +0000
commit7f3ae38faf52ffeeabd1fec13b3bdd24d3e4c890 (patch)
tree5271c25dcd1e3070aa647b0e8a4544385fe35b20
parentcf99a4209cd3cce256b704ca094603c54111bb4f (diff)
downloadports-7f3ae38faf52ffeeabd1fec13b3bdd24d3e4c890.tar.gz
ports-7f3ae38faf52ffeeabd1fec13b3bdd24d3e4c890.zip
MFH: r370910
OpenH264 is a codec library which supports H.264 encoding and decoding. It is suitable for use in real time applications such as WebRTC. WWW: http://www.openh264.org/ PR: 194356 Submitted by: Jan Beich Approved by: portmgr (bapt)
Notes
Notes: svn path=/branches/2014Q4/; revision=374272
-rw-r--r--multimedia/Makefile1
-rw-r--r--multimedia/openh264/Makefile66
-rw-r--r--multimedia/openh264/distinfo2
-rw-r--r--multimedia/openh264/files/gmpopenh264.js.in2
-rw-r--r--multimedia/openh264/files/patch-Makefile19
-rw-r--r--multimedia/openh264/pkg-descr4
-rw-r--r--multimedia/openh264/pkg-plist15
7 files changed, 109 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile
index 0a5f063dae04..d5e1f8df8ee7 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -255,6 +255,7 @@
SUBDIR += ogmrip
SUBDIR += ogmtools
SUBDIR += opencinematools
+ SUBDIR += openh264
SUBDIR += openquicktime
SUBDIR += openshot
SUBDIR += oqtencoder
diff --git a/multimedia/openh264/Makefile b/multimedia/openh264/Makefile
new file mode 100644
index 000000000000..d9d23819a5d3
--- /dev/null
+++ b/multimedia/openh264/Makefile
@@ -0,0 +1,66 @@
+# $FreeBSD$
+
+PORTNAME= openh264
+PORTVERSION= 1.1
+CATEGORIES= multimedia
+
+MAINTAINER= gecko@FreeBSD.org
+COMMENT= Cisco implementation of H.264 codec
+
+LICENSE= BSD2CLAUSE
+
+USE_GITHUB= yes
+GH_ACCOUNT= cisco
+GH_PROJECT= ${PORTNAME}
+GH_TAGNAME= ${GH_COMMIT} # v${PORTVERSION}
+GH_COMMIT= c79be44 # v1.1-Firefox33
+
+USES= gmake
+USE_LDCONFIG= yes
+MAKE_ARGS= OS=freebsd ARCH="${ARCH:S/amd64/x86_64/}" \
+ CFLAGS_OPT="" SHAREDLIBSUFFIX=so.0 \
+ PREFIX="${STAGEDIR}${PREFIX}"
+ALL_TARGET= all
+
+OPTIONS_DEFINE= PLUGINS TEST
+OPTIONS_DEFAULT=PLUGINS
+OPTIONS_SUB= yes
+
+PLUGINS_BUILD_DEPENDS=gmp-api>=33.0:${PORTSDIR}/multimedia/gmp-api \
+ gmp-api<34.0:${PORTSDIR}/multimedia/gmp-api
+PLUGINS_CFLAGS= -I${LOCALBASE}/include/gmp-api
+PLUGINS_MAKE_ARGS=HAVE_GMP_API=Yes
+PLUGINS_ALL_TARGET=plugin
+PLUGINS_USES= webplugin:gecko
+WEBPLUGIN_NAME= gmp-gmp${PORTNAME}
+WEBPLUGIN_FILES=gmp${PORTNAME}.info libgmp${PORTNAME}.so
+SUB_FILES+= gmp${PORTNAME}.js
+SUB_LIST+= PORTVERSION=${PORTVERSION} WEBPLUGIN_DIR="${WEBPLUGIN_DIR}"
+
+TEST_BUILD_DEPENDS=googletest>=1.6.0:${PORTSDIR}/devel/googletest
+TEST_CFLAGS= -I${LOCALBASE}/include
+TEST_MAKE_ARGS= HAVE_GTEST=Yes
+TEST_ALL_TARGET=test
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} == amd64 || ${ARCH} == arm || ${ARCH} == i386
+BUILD_DEPENDS+= nasm:${PORTSDIR}/devel/nasm
+.endif
+
+pre-build:
+ ${LN} -sf ${LOCALBASE}/lib/libgtest.so ${WRKSRC}/libgtest.a
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib${PORTNAME}.so.0
+ cd ${STAGEDIR}${PREFIX}/lib && \
+ ${LN} -sf lib${PORTNAME}.so.0 lib${PORTNAME}.so
+.if ${PORT_OPTIONS:MPLUGINS}
+ ${MKDIR} ${STAGEDIR}${WEBPLUGIN_DIR}
+ ${INSTALL_DATA} ${WRKSRC}/gmp${PORTNAME}.info ${STAGEDIR}${WEBPLUGIN_DIR}
+ ${INSTALL_LIB} ${WRKSRC}/libgmp${PORTNAME}.so.0 \
+ ${STAGEDIR}${WEBPLUGIN_DIR}/libgmp${PORTNAME}.so
+ ${INSTALL_DATA} ${WRKDIR}/gmp${PORTNAME}.js ${STAGEDIR}${WEBPLUGIN_DIR}
+.endif
+
+.include <bsd.port.mk>
diff --git a/multimedia/openh264/distinfo b/multimedia/openh264/distinfo
new file mode 100644
index 000000000000..59e2ab622313
--- /dev/null
+++ b/multimedia/openh264/distinfo
@@ -0,0 +1,2 @@
+SHA256 (openh264-1.1.tar.gz) = 447502018fea40ef47a1fcc0ef7f4aeca3364ad42db63840ab1bb0bd2910a44e
+SIZE (openh264-1.1.tar.gz) = 13193769
diff --git a/multimedia/openh264/files/gmpopenh264.js.in b/multimedia/openh264/files/gmpopenh264.js.in
new file mode 100644
index 000000000000..e1924555ff34
--- /dev/null
+++ b/multimedia/openh264/files/gmpopenh264.js.in
@@ -0,0 +1,2 @@
+pref("media.gmp-gmpopenh264.path", "%%WEBPLUGIN_DIR%%");
+pref("media.gmp-gmpopenh264.version", "%%PORTVERSION%%");
diff --git a/multimedia/openh264/files/patch-Makefile b/multimedia/openh264/files/patch-Makefile
new file mode 100644
index 000000000000..cca1682a4b50
--- /dev/null
+++ b/multimedia/openh264/files/patch-Makefile
@@ -0,0 +1,19 @@
+--- Makefile~
++++ Makefile
+@@ -184,7 +184,7 @@ plugin:
+ @echo "You do not have gmp-api. Run make gmp-bootstrap to get the gmp-api headers."
+ endif
+
+-$(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX): $(MODULE_OBJS) $(ENCODER_OBJS) $(DECODER_OBJS) $(PROCESSING_OBJS) $(COMMON_OBJS)
++$(LIBPREFIX)$(MODULE_NAME).$(SHAREDLIBSUFFIX): $(MODULE_OBJS) $(LIBPREFIX)$(PROJECT_NAME).$(SHAREDLIBSUFFIX)
+ $(QUIET)rm -f $@
+ $(QUIET_CXX)$(CXX) $(SHARED) $(LDFLAGS) $(CXX_LINK_O) $+ $(SHLDFLAGS) $(MODULE_LDFLAGS)
+
+@@ -207,7 +207,6 @@ install: install-static install-shared
+ @:
+
+ ifeq ($(HAVE_GTEST),Yes)
+-include build/gtest-targets.mk
+ include test/api/targets.mk
+ include test/decoder/targets.mk
+ include test/encoder/targets.mk
diff --git a/multimedia/openh264/pkg-descr b/multimedia/openh264/pkg-descr
new file mode 100644
index 000000000000..b8ab318bc4a6
--- /dev/null
+++ b/multimedia/openh264/pkg-descr
@@ -0,0 +1,4 @@
+OpenH264 is a codec library which supports H.264 encoding and decoding.
+It is suitable for use in real time applications such as WebRTC.
+
+WWW: http://www.openh264.org/
diff --git a/multimedia/openh264/pkg-plist b/multimedia/openh264/pkg-plist
new file mode 100644
index 000000000000..877f3adeb01b
--- /dev/null
+++ b/multimedia/openh264/pkg-plist
@@ -0,0 +1,15 @@
+include/wels/codec_api.h
+include/wels/codec_app_def.h
+include/wels/codec_def.h
+%%PLUGINS%%%%WEBPLUGIN_DIR%%/gmpopenh264.info
+%%PLUGINS%%@rmtry lib/firefox-nightly/defaults/pref/gmpopenh264.js
+%%PLUGINS%%@rmtry lib/firefox/defaults/pref/gmpopenh264.js
+%%PLUGINS%%@rmtry lib/seamonkey/defaults/pref/gmpopenh264.js
+%%PLUGINS%%%%WEBPLUGIN_DIR%%/gmpopenh264.js
+%%PLUGINS%%@exec ln -sf %D/%%WEBPLUGIN_DIR%%/gmpopenh264.js %D/lib/firefox-nightly/defaults/pref/ 2>/dev/null || true
+%%PLUGINS%%@exec ln -sf %D/%%WEBPLUGIN_DIR%%/gmpopenh264.js %D/lib/firefox/defaults/pref/ 2>/dev/null || true
+%%PLUGINS%%@exec ln -sf %D/%%WEBPLUGIN_DIR%%/gmpopenh264.js %D/lib/seamonkey/defaults/pref/ 2>/dev/null || true
+%%PLUGINS%%%%WEBPLUGIN_DIR%%/libgmpopenh264.so
+lib/libopenh264.a
+lib/libopenh264.so
+lib/libopenh264.so.0