summaryrefslogtreecommitdiff
path: root/media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r1.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r1.ebuild')
-rw-r--r--media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r1.ebuild100
1 files changed, 100 insertions, 0 deletions
diff --git a/media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r1.ebuild b/media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r1.ebuild
new file mode 100644
index 000000000000..4e5e920bd584
--- /dev/null
+++ b/media-video/mjpg-streamer/mjpg-streamer-0_pre20200524-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit systemd
+
+DESCRIPTION="MJPG-streamer takes JPGs from Linux-UVC compatible webcams"
+HOMEPAGE="https://github.com/jacksonliam/mjpg-streamer"
+EGIT_COMMIT="85f89a8c321e799fabb1693c5d133f3fb48ee748"
+SRC_URI="https://github.com/jacksonliam/${PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+INPUT_PLUGINS="input-testpicture input-control input-file input-uvc input-http input-ptp2 input-raspicam"
+OUTPUT_PLUGINS="output-file output-udp output-http output-autofocus output-rtsp output-viewer output-zmqserver"
+IUSE_PLUGINS="${INPUT_PLUGINS} ${OUTPUT_PLUGINS}"
+IUSE="input-testpicture input-control +input-file input-uvc input-http input-ptp2 input-raspicam
+ output-file output-udp +output-http output-autofocus output-rtsp output-viewer output-zmqserver
+ www http-management wxp-compat"
+REQUIRED_USE="|| ( ${INPUT_PLUGINS} )
+ || ( ${OUTPUT_PLUGINS} )"
+
+RDEPEND="virtual/jpeg
+ input-uvc? ( media-libs/libv4l acct-group/video )
+ input-ptp2? ( media-libs/libgphoto2 )
+ input-raspicam? (
+ || ( media-libs/raspberrypi-userland media-libs/raspberrypi-userland-bin )
+ )
+ output-zmqserver? (
+ dev-libs/protobuf-c
+ net-libs/zeromq
+ )"
+DEPEND="${RDEPEND}
+ input-testpicture? ( media-gfx/imagemagick )"
+
+S="${WORKDIR}/${PN}-${EGIT_COMMIT}/${PN}-experimental"
+
+src_prepare() {
+ sed -i -e "s|.*RPATH.*||g" CMakeLists.txt || die
+ if use wxp-compat; then
+ sed -i -e \
+ 's|^add_feature_option(WXP_COMPAT "Enable compatibility with WebcamXP" OFF)|add_feature_option(WXP_COMPAT "Enable compatibility with WebcamXP" ON)|g' \
+ CMakeLists.txt || die
+ fi
+
+ local flag switch
+ for flag in ${IUSE_PLUGINS}; do
+ use ${flag} && switch='' || switch='#'
+ flag=${flag/input-/input_}
+ flag=${flag/output-/output_}
+ sed -i -e \
+ "s|^add_subdirectory(plugins\/${flag})|${switch}add_subdirectory(plugins/${flag})|" \
+ CMakeLists.txt || die
+ done
+ if use http-management; then
+ sed -i -e \
+ 's|^add_feature_option(ENABLE_HTTP_MANAGEMENT "Enable experimental HTTP management option" OFF)|add_feature_option(ENABLE_HTTP_MANAGEMENT "Enable experimental HTTP management option" ON)|g' \
+ plugins/output_http/CMakeLists.txt || die
+ fi
+ sed -e "s|@LIBDIR@|$(get_libdir)/${PN}/$(get_libdir)|g" "${FILESDIR}/${PN}.initd" > ${PN}.initd || die
+
+ default
+}
+
+src_install() {
+ into /usr
+ dobin ${PN//-/_}
+ into "/usr/$(get_libdir)/${PN}"
+ dolib.so *.so
+
+ if use www ; then
+ insinto /usr/share/${PN}
+ doins -r www
+ fi
+
+ dodoc README.md TODO
+
+ newinitd ${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ systemd_dounit mjpg_streamer@.service
+}
+
+pkg_postinst() {
+ einfo
+ elog "Remember to set an input and output plugin for mjpg-streamer."
+
+ if use input-uvc ; then
+ elog "To use the UVC plugin as a regular user, you must be a part of the video group"
+ fi
+
+ if use www ; then
+ einfo
+ elog "An example webinterface has been installed into"
+ elog "/usr/share/mjpg-streamer/www for your usage."
+ fi
+ einfo
+}