From: Amadeusz Żołnowski Date: Thu, 17 Nov 2011 20:00:39 +0000 (+0000) Subject: media-video/mjpg-streamer: Initial ebuild. Fixes bug #260969. X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=99bf7bea9a410acc5cf405df53acde4d473f42b2;p=gentoo.git media-video/mjpg-streamer: Initial ebuild. Fixes bug #260969. Proxy commit on behalf of Andrzej Pauli . Package-Manager: portage-2.1.10.34/cvs/Linux x86_64 --- diff --git a/media-video/mjpg-streamer/ChangeLog b/media-video/mjpg-streamer/ChangeLog new file mode 100644 index 000000000000..595a31980d82 --- /dev/null +++ b/media-video/mjpg-streamer/ChangeLog @@ -0,0 +1,13 @@ +# ChangeLog for media-video/mjpg-streamer +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/mjpg-streamer/ChangeLog,v 1.1 2011/11/17 20:00:39 aidecoe Exp $ + +*mjpg-streamer-0_pre20110522 (17 Nov 2011) + + 17 Nov 2011; Amadeusz Å»ołnowski + +files/0_pre20110522-make-var-instead-of-cmd.patch, + +mjpg-streamer-0_pre20110522.ebuild, +files/mjpg-streamer.confd, + +files/mjpg-streamer.initd, +metadata.xml: + Proxy commit on behalf of Andrzej Pauli . Initial + ebuild. Fixes bug #260969. + diff --git a/media-video/mjpg-streamer/Manifest b/media-video/mjpg-streamer/Manifest new file mode 100644 index 000000000000..a2a93bec3f0e --- /dev/null +++ b/media-video/mjpg-streamer/Manifest @@ -0,0 +1,21 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +AUX 0_pre20110522-make-var-instead-of-cmd.patch 3756 RMD160 433b165268fdd4a9493d1e42e4c23b08f85aac35 SHA1 6631aca53d6b90c5defb48a116ff7a7fae3855bb SHA256 ef7f66e87c6b3b145ad9e5c0a0023b3d4331d0507aca6e69df95a380a421d2eb +AUX mjpg-streamer.confd 347 RMD160 50b97048e9c5e27e336d4925f179f0cc0b2a974c SHA1 e962d439bfebdff487c7d980088481f431744304 SHA256 37019a36c29ad350ac3348c1665c631d0b4ab5efacc4583662fcbf7d4b920db1 +AUX mjpg-streamer.initd 1369 RMD160 210ef19f88b9b2272c4b529dc048d6c6130d63f7 SHA1 3f6f84458b909a8652a1a14274c8c5a8eab6b6f1 SHA256 460d688cb1a25e5fa9d85fe1453a2ad0b4ad11c827125465a057d995415a171a +DIST mjpg-streamer-0_pre20110522.tar.bz2 473378 RMD160 78e1d3f526f2037e7ac543e3f2511bde86b509f6 SHA1 7e2b5d2b66ae9afcb8fcd85c6e3c84743bc13639 SHA256 6a3aedb57f4779a53e80a7ac617924ebadd52a2098e088ef4b91dc91ba5a24d6 +EBUILD mjpg-streamer-0_pre20110522.ebuild 1820 RMD160 2f9f5f9b531c4fe49ae7419f2ad36a37b4067b73 SHA1 3024a3774d2917122b3cd656b8066518cbf1daec SHA256 ad3b8940536cbbdd8f1e31b908ad8a852a26aa636eb643ddf3f9cef3bd01f5a6 +MISC ChangeLog 598 RMD160 757d562a1cb3bb43e23329345ec5f8a1c267a280 SHA1 a8fe1dba3a06b5a071addcbf55c9e99749ddfa6b SHA256 35f6b016c1c43712a74775bd8f93dfbd606c1949817811306073ed9c2a6725ba +MISC metadata.xml 1823 RMD160 4dcdc175ee80e22547ef024d3aa1853f38dd2819 SHA1 1c9d4b8f56c4ff9926889b0999236d2f0a2a2140 SHA256 0f03a0a6a77e3f643e95c5c578cc031b91825088f2de408d8e10d78ef43823c7 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.18 (GNU/Linux) + +iQEcBAEBAgAGBQJOxWfsAAoJEPATRTHh2/q1yY8IAKIqRXfT2J84IRMTMxCTF2bM +5BE85CCN5O5s//nHZNzypQ/X8NU38SuRuzz69TdN5yR0BrY4ouhgxqGZQbOPQB4C +wB/GcTruRPEYO9reoYIMZvGt34OQEdVz+/quEau7swFgfGDIvxKTvTIMnba2FnFA +9e05Dwf4LgOSF9SWTovik53pxEAdv8Wwr7ibk8mRnP1ELAYpw1rrk5jqH9g4fPSr +0HwgusTJ2gWEdFq5VrthHm77+3UjHsYZkzVXDCsKjxHR3mFnmE3yVnQypJDRS02s +q18KTbfhz0V8aBFh+PSoX56MGr4IlQVc8aSIj1YvpC3X6tY99H1rKGrp2NdlLdk= +=DAA+ +-----END PGP SIGNATURE----- diff --git a/media-video/mjpg-streamer/files/0_pre20110522-make-var-instead-of-cmd.patch b/media-video/mjpg-streamer/files/0_pre20110522-make-var-instead-of-cmd.patch new file mode 100644 index 000000000000..98d89c555e04 --- /dev/null +++ b/media-video/mjpg-streamer/files/0_pre20110522-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..776c203b4f94 --- /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 +# $Header: /var/cvsroot/gentoo-x86/media-video/mjpg-streamer/files/mjpg-streamer.initd,v 1.1 2011/11/17 20:00:39 aidecoe Exp $ + +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..1df45afeb032 --- /dev/null +++ b/media-video/mjpg-streamer/metadata.xml @@ -0,0 +1,42 @@ + + + + + andrzej.pauli@gmail.com + Andrzej Pauli + Maintainer. Assign bugs to him. + + + aidecoe@gentoo.org + Amadeusz Å»ołnowski + Proxy maintainer. CC him on bugs. + + + 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 + + + Plugin for sending compiled in, test + pictures + Plugin giving ability to control camera + movement (only specific cameras) + Plugin that watches given directory and send + it's content + Plugin that sends video stream from UVC + compatible camera + Plugin that saves received content under given + location + Plugin receiving content over UDP and storing to + a directory + Small HTTP server plugin which sends WWW + directory content and streams image content + Auto focusing plugin + Plugin which provides a mechanism to take + snapshots with a trigger from a UDP packet + Installs WWW content + Uses media-libs/libv4l function mapping for + input_uvc plugin + + diff --git a/media-video/mjpg-streamer/mjpg-streamer-0_pre20110522.ebuild b/media-video/mjpg-streamer/mjpg-streamer-0_pre20110522.ebuild new file mode 100644 index 000000000000..157c7fd0c530 --- /dev/null +++ b/media-video/mjpg-streamer/mjpg-streamer-0_pre20110522.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/mjpg-streamer/mjpg-streamer-0_pre20110522.ebuild,v 1.1 2011/11/17 20:00:39 aidecoe Exp $ + +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="${IUSE_PLUGINS} www v4l" +REQUIRED_USE="|| ( ${INPUT_PLUGINS} ) + || ( ${OUTPUT_PLUGINS} ) + v4l? ( input_uvc )" + +RDEPEND="media-libs/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 +}