summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-video/mjpg-streamer
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-video/mjpg-streamer')
-rw-r--r--media-video/mjpg-streamer/Manifest2
-rw-r--r--media-video/mjpg-streamer/files/0_pre20120421-make-var-instead-of-cmd.patch118
-rw-r--r--media-video/mjpg-streamer/files/0_pre20120621-make-var-instead-of-cmd.patch118
-rw-r--r--media-video/mjpg-streamer/files/mjpg-streamer.confd21
-rw-r--r--media-video/mjpg-streamer/files/mjpg-streamer.initd48
-rw-r--r--media-video/mjpg-streamer/metadata.xml43
-rw-r--r--media-video/mjpg-streamer/mjpg-streamer-0_pre20120421.ebuild72
-rw-r--r--media-video/mjpg-streamer/mjpg-streamer-0_pre20120621.ebuild74
8 files changed, 496 insertions, 0 deletions
diff --git a/media-video/mjpg-streamer/Manifest b/media-video/mjpg-streamer/Manifest
new file mode 100644
index 000000000000..3dcd4b596519
--- /dev/null
+++ b/media-video/mjpg-streamer/Manifest
@@ -0,0 +1,2 @@
+DIST mjpg-streamer-0_pre20120421.tar.bz2 471104 SHA256 cba3027eece48735e104522adf4682169431e0879555c1d22395b4669189aab8
+DIST mjpg-streamer-0_pre20120621.tar.bz2 471546 SHA256 585c4fd8f96f9d84d36f5c95cec79c411c2018bb2ebb10bcf73a2394ffe29c20 SHA512 dfc6077ec03fe4f239d8e25b65b7808bd489a954d8cf3aeed444e68fd9536720c2c888a5fa9f4b8d0152dab5ca0bd166a46f2cb22a357ba816eb5bc79ff11332 WHIRLPOOL 925f66c586028369858e55c62dfce136755f0958df7835869e29a0cfbad045842f5d39526ae646d728c0021c89bd31da0e89efcb556d04a5def96eaab5257af3
diff --git a/media-video/mjpg-streamer/files/0_pre20120421-make-var-instead-of-cmd.patch b/media-video/mjpg-streamer/files/0_pre20120421-make-var-instead-of-cmd.patch
new file mode 100644
index 000000000000..98d89c555e04
--- /dev/null
+++ b/media-video/mjpg-streamer/files/0_pre20120421-make-var-instead-of-cmd.patch
@@ -0,0 +1,118 @@
+Index: Makefile
+===================================================================
+--- Makefile (revision 150)
++++ Makefile (working copy)
+@@ -63,64 +63,64 @@
+ chmod 755 $(APP_BINARY)
+
+ output_autofocus.so: mjpg_streamer.h utils.h
+- make -C plugins/output_autofocus all
++ $(MAKE) -C plugins/output_autofocus all
+ cp plugins/output_autofocus/output_autofocus.so .
+
+ input_testpicture.so: mjpg_streamer.h utils.h
+- make -C plugins/input_testpicture all
++ $(MAKE) -C plugins/input_testpicture all
+ cp plugins/input_testpicture/input_testpicture.so .
+
+
+ ifeq ($(USE_LIBV4L2),true)
+ input_uvc.so: mjpg_streamer.h utils.h
+- make -C plugins/input_uvc USE_LIBV4L2=true all
++ $(MAKE) -C plugins/input_uvc USE_LIBV4L2=true all
+ cp plugins/input_uvc/input_uvc.so .
+ else
+ input_uvc.so: mjpg_streamer.h utils.h
+- make -C plugins/input_uvc all
++ $(MAKE) -C plugins/input_uvc all
+ cp plugins/input_uvc/input_uvc.so .
+ endif
+
+ input_control.so: mjpg_streamer.h utils.h
+- make -C plugins/input_control all
++ $(MAKE) -C plugins/input_control all
+ cp plugins/input_control/input_control.so .
+
+ output_file.so: mjpg_streamer.h utils.h
+- make -C plugins/output_file all
++ $(MAKE) -C plugins/output_file all
+ cp plugins/output_file/output_file.so .
+
+ ifeq ($(WXP_COMPAT),true)
+ output_http.so: mjpg_streamer.h utils.h
+- make -C plugins/output_http -DWXP_COMPAT all
++ $(MAKE) -C plugins/output_http -DWXP_COMPAT all
+ cp plugins/output_http/output_http.so .
+ else
+ output_http.so: mjpg_streamer.h utils.h
+- make -C plugins/output_http all
++ $(MAKE) -C plugins/output_http all
+ cp plugins/output_http/output_http.so .
+ endif
+
+ output_udp.so: mjpg_streamer.h utils.h
+- make -C plugins/output_udp all
++ $(MAKE) -C plugins/output_udp all
+ cp plugins/output_udp/output_udp.so .
+
+ input_gspcav1.so: mjpg_streamer.h utils.h
+- make -C plugins/input_gspcav1 all
++ $(MAKE) -C plugins/input_gspcav1 all
+ cp plugins/input_gspcav1/input_gspcav1.so .
+
+ input_file.so: mjpg_streamer.h utils.h
+- make -C plugins/input_file all
++ $(MAKE) -C plugins/input_file all
+ cp plugins/input_file/input_file.so .
+
+ output_rtsp.so: mjpg_streamer.h utils.h
+- make -C plugins/output_rtsp all
++ $(MAKE) -C plugins/output_rtsp all
+ cp plugins/output_rtsp/output_rtsp.so .
+
+ output_ptp2.so: mjpg_streamer.h utils.h
+- make -C plugins/input_ptp2 all
++ $(MAKE) -C plugins/input_ptp2 all
+ cp plugins/input_ptp2/input_ptp2.so .
+
+ #input_http.so: mjpg_streamer.h utils.h
+-# make -C plugins/input_http all
++# $(MAKE) -C plugins/input_http all
+ # cp plugins/input_http/input_http.so .
+
+ # The viewer plugin requires the SDL library for compilation
+@@ -129,22 +129,22 @@
+ # execute the following command:
+ # make output_viewer.so
+ output_viewer.so: mjpg_streamer.h utils.h
+- make -C plugins/output_viewer all
++ $(MAKE) -C plugins/output_viewer all
+ cp plugins/output_viewer/output_viewer.so .
+
+ # cleanup
+ clean:
+- make -C plugins/input_uvc $@
+- make -C plugins/input_testpicture $@
+- make -C plugins/output_file $@
+- make -C plugins/output_http $@
+- make -C plugins/output_udp $@
+- make -C plugins/output_autofocus $@
+- make -C plugins/input_gspcav1 $@
+- make -C plugins/output_viewer $@
+- make -C plugins/input_control $@
+- make -C plugins/output_rtsp $@
+-# make -C plugins/input_http $@
++ $(MAKE) -C plugins/input_uvc $@
++ $(MAKE) -C plugins/input_testpicture $@
++ $(MAKE) -C plugins/output_file $@
++ $(MAKE) -C plugins/output_http $@
++ $(MAKE) -C plugins/output_udp $@
++ $(MAKE) -C plugins/output_autofocus $@
++ $(MAKE) -C plugins/input_gspcav1 $@
++ $(MAKE) -C plugins/output_viewer $@
++ $(MAKE) -C plugins/input_control $@
++ $(MAKE) -C plugins/output_rtsp $@
++# $(MAKE) -C plugins/input_http $@
+ rm -f *.a *.o $(APP_BINARY) core *~ *.so *.lo
+
+ # useful to make a backup "make tgz"
diff --git a/media-video/mjpg-streamer/files/0_pre20120621-make-var-instead-of-cmd.patch b/media-video/mjpg-streamer/files/0_pre20120621-make-var-instead-of-cmd.patch
new file mode 100644
index 000000000000..98d89c555e04
--- /dev/null
+++ b/media-video/mjpg-streamer/files/0_pre20120621-make-var-instead-of-cmd.patch
@@ -0,0 +1,118 @@
+Index: Makefile
+===================================================================
+--- Makefile (revision 150)
++++ Makefile (working copy)
+@@ -63,64 +63,64 @@
+ chmod 755 $(APP_BINARY)
+
+ output_autofocus.so: mjpg_streamer.h utils.h
+- make -C plugins/output_autofocus all
++ $(MAKE) -C plugins/output_autofocus all
+ cp plugins/output_autofocus/output_autofocus.so .
+
+ input_testpicture.so: mjpg_streamer.h utils.h
+- make -C plugins/input_testpicture all
++ $(MAKE) -C plugins/input_testpicture all
+ cp plugins/input_testpicture/input_testpicture.so .
+
+
+ ifeq ($(USE_LIBV4L2),true)
+ input_uvc.so: mjpg_streamer.h utils.h
+- make -C plugins/input_uvc USE_LIBV4L2=true all
++ $(MAKE) -C plugins/input_uvc USE_LIBV4L2=true all
+ cp plugins/input_uvc/input_uvc.so .
+ else
+ input_uvc.so: mjpg_streamer.h utils.h
+- make -C plugins/input_uvc all
++ $(MAKE) -C plugins/input_uvc all
+ cp plugins/input_uvc/input_uvc.so .
+ endif
+
+ input_control.so: mjpg_streamer.h utils.h
+- make -C plugins/input_control all
++ $(MAKE) -C plugins/input_control all
+ cp plugins/input_control/input_control.so .
+
+ output_file.so: mjpg_streamer.h utils.h
+- make -C plugins/output_file all
++ $(MAKE) -C plugins/output_file all
+ cp plugins/output_file/output_file.so .
+
+ ifeq ($(WXP_COMPAT),true)
+ output_http.so: mjpg_streamer.h utils.h
+- make -C plugins/output_http -DWXP_COMPAT all
++ $(MAKE) -C plugins/output_http -DWXP_COMPAT all
+ cp plugins/output_http/output_http.so .
+ else
+ output_http.so: mjpg_streamer.h utils.h
+- make -C plugins/output_http all
++ $(MAKE) -C plugins/output_http all
+ cp plugins/output_http/output_http.so .
+ endif
+
+ output_udp.so: mjpg_streamer.h utils.h
+- make -C plugins/output_udp all
++ $(MAKE) -C plugins/output_udp all
+ cp plugins/output_udp/output_udp.so .
+
+ input_gspcav1.so: mjpg_streamer.h utils.h
+- make -C plugins/input_gspcav1 all
++ $(MAKE) -C plugins/input_gspcav1 all
+ cp plugins/input_gspcav1/input_gspcav1.so .
+
+ input_file.so: mjpg_streamer.h utils.h
+- make -C plugins/input_file all
++ $(MAKE) -C plugins/input_file all
+ cp plugins/input_file/input_file.so .
+
+ output_rtsp.so: mjpg_streamer.h utils.h
+- make -C plugins/output_rtsp all
++ $(MAKE) -C plugins/output_rtsp all
+ cp plugins/output_rtsp/output_rtsp.so .
+
+ output_ptp2.so: mjpg_streamer.h utils.h
+- make -C plugins/input_ptp2 all
++ $(MAKE) -C plugins/input_ptp2 all
+ cp plugins/input_ptp2/input_ptp2.so .
+
+ #input_http.so: mjpg_streamer.h utils.h
+-# make -C plugins/input_http all
++# $(MAKE) -C plugins/input_http all
+ # cp plugins/input_http/input_http.so .
+
+ # The viewer plugin requires the SDL library for compilation
+@@ -129,22 +129,22 @@
+ # execute the following command:
+ # make output_viewer.so
+ output_viewer.so: mjpg_streamer.h utils.h
+- make -C plugins/output_viewer all
++ $(MAKE) -C plugins/output_viewer all
+ cp plugins/output_viewer/output_viewer.so .
+
+ # cleanup
+ clean:
+- make -C plugins/input_uvc $@
+- make -C plugins/input_testpicture $@
+- make -C plugins/output_file $@
+- make -C plugins/output_http $@
+- make -C plugins/output_udp $@
+- make -C plugins/output_autofocus $@
+- make -C plugins/input_gspcav1 $@
+- make -C plugins/output_viewer $@
+- make -C plugins/input_control $@
+- make -C plugins/output_rtsp $@
+-# make -C plugins/input_http $@
++ $(MAKE) -C plugins/input_uvc $@
++ $(MAKE) -C plugins/input_testpicture $@
++ $(MAKE) -C plugins/output_file $@
++ $(MAKE) -C plugins/output_http $@
++ $(MAKE) -C plugins/output_udp $@
++ $(MAKE) -C plugins/output_autofocus $@
++ $(MAKE) -C plugins/input_gspcav1 $@
++ $(MAKE) -C plugins/output_viewer $@
++ $(MAKE) -C plugins/input_control $@
++ $(MAKE) -C plugins/output_rtsp $@
++# $(MAKE) -C plugins/input_http $@
+ rm -f *.a *.o $(APP_BINARY) core *~ *.so *.lo
+
+ # useful to make a backup "make tgz"
diff --git a/media-video/mjpg-streamer/files/mjpg-streamer.confd b/media-video/mjpg-streamer/files/mjpg-streamer.confd
new file mode 100644
index 000000000000..07a81b04dcee
--- /dev/null
+++ b/media-video/mjpg-streamer/files/mjpg-streamer.confd
@@ -0,0 +1,21 @@
+# The input plugins and options:
+# uvc
+# testpicture
+# file
+#ex. INPUT_PLUGIN="uvc"
+INPUT_PLUGIN=""
+INPUT_PLUGIN_OPTS=""
+
+# The output plugins and options:
+# autofocus
+# file
+# http
+# udp
+# rtsp
+#ex. OUTPUT_PLUGIN="http"
+OUTPUT_PLUGIN=""
+OUTPUT_PLUGIN_OPTS=""
+
+# Deamon runing as user/group
+MJPG_STREAMER_USER="nobody"
+MJPG_STREAMER_GROUP="video"
diff --git a/media-video/mjpg-streamer/files/mjpg-streamer.initd b/media-video/mjpg-streamer/files/mjpg-streamer.initd
new file mode 100644
index 000000000000..d64a39ab9621
--- /dev/null
+++ b/media-video/mjpg-streamer/files/mjpg-streamer.initd
@@ -0,0 +1,48 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+MJPG_STREAMER_PIDFILE="${MJPG_STREAMER_PIDFILE:-/var/run/${SVCNAME}.pid}"
+MY_NAME=${SVCNAME//-/_}
+
+depend() {
+ use logger
+}
+
+checkconfig() {
+ local vars
+
+ [[ ${INPUT_PLUGIN} ]] || vars+=\ INPUT_PLUGIN
+ [[ ${OUTPUT_PLUGIN} ]] || vars+=\ OUTPUT_PLUGIN
+ [[ ${MJPG_STREAMER_USER} ]] || vars+=\ MJPG_STREAMER_USER
+ [[ ${MJPG_STREAMER_GROUP} ]] || vars+=\ MJPG_STREAMER_GROUP
+ vars="${vars# }"
+
+ if [[ ${vars} ]]; then
+ eerror "Required variables in /etc/conf.d/${SVCNAME} are not set:"
+ eerror " ${vars// /, }"
+ return 1
+ fi
+
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --exec /usr/bin/${MY_NAME} \
+ --user "${MJPG_STREAMER_USER}" \
+ --group "${MJPG_STREAMER_GROUP}" -w 100 -b -m \
+ --pidfile "${MJPG_STREAMER_PIDFILE}" \
+ -- -i "/usr/lib/input_${INPUT_PLUGIN}.so ${INPUT_PLUGIN_OPTS}" \
+ -o "/usr/lib/output_${OUTPUT_PLUGIN}.so ${OUTPUT_PLUGIN_OPTS}"
+ eend $? "Check syslog to see why startup failed."
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --exec /usr/bin/${MY_NAME} \
+ --pidfile "${MJPG_STREAMER_PIDFILE}"
+ eend $?
+}
diff --git a/media-video/mjpg-streamer/metadata.xml b/media-video/mjpg-streamer/metadata.xml
new file mode 100644
index 000000000000..bd61883a65c5
--- /dev/null
+++ b/media-video/mjpg-streamer/metadata.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>andrzej.pauli@gmail.com</email>
+ <name>Andrzej Pauli</name>
+ <description>Maintainer. Assign bugs to him.</description>
+ </maintainer>
+ <maintainer>
+ <email>aidecoe@gentoo.org</email>
+ <name>Amadeusz Żołnowski</name>
+ <description>Proxy maintainer. CC him on bugs.</description>
+ </maintainer>
+ <longdescription lang="en">
+ MJPG-streamer takes JPGs from Linux-UVC compatible webcams, filesystem or
+ other input plugins and streams them as M-JPEG via HTTP to webbrowsers,
+ VLC and other software. It is the successor of uvc-streamer, a Linux-UVC
+ streaming application with Pan/Tilt
+ </longdescription>
+ <use>
+ <flag name='input_testpicture'>Plugin for sending compiled in, test
+ pictures</flag>
+ <flag name='input_control'>Plugin giving ability to control camera
+ movement (only specific cameras)</flag>
+ <flag name='input_file'>Plugin that watches given directory and send
+ it's content</flag>
+ <flag name='input_uvc'>Plugin that sends video stream from UVC
+ compatible camera</flag>
+ <flag name='output_file'>Plugin that saves received content under given
+ location</flag>
+ <flag name='output_udp'>Plugin receiving content over UDP and storing to
+ a directory</flag>
+ <flag name='output_http'>Small HTTP server plugin which sends WWW
+ directory content and streams image content</flag>
+ <flag name='output_autofocus'>Auto focusing plugin</flag>
+ <flag name='output_rtsp'>Plugin which provides a mechanism to take
+ snapshots with a trigger from a UDP packet</flag>
+ <flag name='www'>Installs WWW content</flag>
+ <flag name='v4l'>Uses <pkg>media-libs/libv4l</pkg> function mapping for
+ input_uvc plugin</flag>
+ </use>
+</pkgmetadata>
diff --git a/media-video/mjpg-streamer/mjpg-streamer-0_pre20120421.ebuild b/media-video/mjpg-streamer/mjpg-streamer-0_pre20120421.ebuild
new file mode 100644
index 000000000000..2e1db0993aa3
--- /dev/null
+++ b/media-video/mjpg-streamer/mjpg-streamer-0_pre20120421.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="MJPG-streamer takes JPGs from Linux-UVC compatible webcams"
+HOMEPAGE="http://sourceforge.net/projects/mjpg-streamer"
+SRC_URI="http://dev.gentoo.org/~aidecoe/distfiles/${CATEGORY}/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+
+INPUT_PLUGINS="input_testpicture input_control input_file input_uvc"
+OUTPUT_PLUGINS="output_file output_udp output_http output_autofocus output_rtsp"
+IUSE_PLUGINS="${INPUT_PLUGINS} ${OUTPUT_PLUGINS} +input_file +output_http"
+IUSE="${IUSE_PLUGINS} www v4l"
+REQUIRED_USE="|| ( ${INPUT_PLUGINS} )
+ || ( ${OUTPUT_PLUGINS} )
+ v4l? ( input_uvc )"
+
+RDEPEND="virtual/jpeg
+ v4l? ( input_uvc? ( media-libs/libv4l ) )"
+DEPEND="${RDEPEND}
+ input_testpicture? ( media-gfx/imagemagick )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV}-make-var-instead-of-cmd.patch"
+
+ local flag switch
+
+ for flag in ${IUSE_PLUGINS}; do
+ use ${flag} && switch='' || switch='#'
+ sed -i \
+ -e "s|^#*PLUGINS +\?= ${flag}.so|${switch}PLUGINS += ${flag}.so|" \
+ Makefile
+ done
+}
+
+src_compile() {
+ local v4l=$(use v4l && use input_uvc && echo 'USE_LIBV4L2=true')
+ emake ${v4l}
+}
+
+src_install() {
+ into /usr
+ dobin ${PN//-/_}
+ dolib.so *.so
+
+ if use www ; then
+ insinto /usr/share/${PN}
+ doins -r www
+ fi
+
+ dodoc README TODO
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
+
+pkg_postinst() {
+ elog "Remember to set an input and output plugin for mjpg-streamer."
+
+ if use www ; then
+ echo
+ elog "An example webinterface has been installed into"
+ elog "/usr/share/mjpg-streamer/www for your usage."
+ fi
+}
diff --git a/media-video/mjpg-streamer/mjpg-streamer-0_pre20120621.ebuild b/media-video/mjpg-streamer/mjpg-streamer-0_pre20120621.ebuild
new file mode 100644
index 000000000000..8c7283be1048
--- /dev/null
+++ b/media-video/mjpg-streamer/mjpg-streamer-0_pre20120621.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="MJPG-streamer takes JPGs from Linux-UVC compatible webcams"
+HOMEPAGE="http://sourceforge.net/projects/mjpg-streamer"
+SRC_URI="http://dev.gentoo.org/~aidecoe/distfiles/${CATEGORY}/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+
+INPUT_PLUGINS="input_testpicture input_control input_file input_uvc"
+OUTPUT_PLUGINS="output_file output_udp output_http output_autofocus output_rtsp"
+IUSE_PLUGINS="${INPUT_PLUGINS} ${OUTPUT_PLUGINS}"
+IUSE="input_testpicture input_control +input_file input_uvc output_file
+ output_udp +output_http output_autofocus output_rtsp
+ www v4l"
+REQUIRED_USE="|| ( ${INPUT_PLUGINS} )
+ || ( ${OUTPUT_PLUGINS} )
+ v4l? ( input_uvc )"
+
+RDEPEND="virtual/jpeg
+ v4l? ( input_uvc? ( media-libs/libv4l ) )"
+DEPEND="${RDEPEND}
+ input_testpicture? ( media-gfx/imagemagick )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV}-make-var-instead-of-cmd.patch"
+
+ local flag switch
+
+ for flag in ${IUSE_PLUGINS}; do
+ use ${flag} && switch='' || switch='#'
+ sed -i \
+ -e "s|^#*PLUGINS +\?= ${flag}.so|${switch}PLUGINS += ${flag}.so|" \
+ Makefile
+ done
+}
+
+src_compile() {
+ local v4l=$(use v4l && use input_uvc && echo 'USE_LIBV4L2=true')
+ emake ${v4l}
+}
+
+src_install() {
+ into /usr
+ dobin ${PN//-/_}
+ dolib.so *.so
+
+ if use www ; then
+ insinto /usr/share/${PN}
+ doins -r www
+ fi
+
+ dodoc README TODO
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
+
+pkg_postinst() {
+ elog "Remember to set an input and output plugin for mjpg-streamer."
+
+ if use www ; then
+ echo
+ elog "An example webinterface has been installed into"
+ elog "/usr/share/mjpg-streamer/www for your usage."
+ fi
+}