|
|
- #
- # This is free software, licensed under the GNU General Public License v2.
- # See /LICENSE for more information.
- #
-
- include $(TOPDIR)/rules.mk
-
- PKG_NAME:=mjpg-streamer
- PKG_VERSION:=2019-05-24
- PKG_RELEASE:=1
-
- PKG_SOURCE_PROTO:=git
- PKG_SOURCE_URL:=https://github.com/jacksonliam/mjpg-streamer
- PKG_SOURCE_VERSION:=501f6362c5afddcfb41055f97ae484252c85c912
- PKG_MIRROR_HASH:=9e1f098c5092ae6cc70916caf9d45808a312333973524725ae5e729a4af18657
-
- PKG_MAINTAINER:=Roger D <rogerdammit@gmail.com>, \
- Ted Hess <thess@kitschensync.net>
- PKG_LICENSE:=GPL-2.0-or-later
- PKG_LICENSE_FILES:=LICENSE
-
- PKG_BUILD_PARALLEL:=1
- PKG_BUILD_DEPENDS:=MJPG_STREAMER_V4L2:libv4l zmq protobuf-c/host
-
- include $(INCLUDE_DIR)/package.mk
- include $(INCLUDE_DIR)/cmake.mk
-
- define Package/mjpg-streamer
- SECTION:=multimedia
- CATEGORY:=Multimedia
- TITLE:=MJPG-streamer
- DEPENDS:=+libpthread +libjpeg +MJPG_STREAMER_V4L2:libv4l
- URL:=https://github.com/jacksonliam/mjpg-streamer
- endef
-
- define Package/mjpg-streamer/Default/description
- Streaming application for Linux-UVC compatible webcams
- endef
-
- define Package/mjpg-streamer/description
- $(call Package/mjpg-streamer/Default/description)
- endef
-
- define Package/mjpg-streamer/conffiles
- /etc/config/mjpg-streamer
- endef
-
- define Package/mjpg-streamer/config
- if PACKAGE_mjpg-streamer-input-uvc
-
- config MJPG_STREAMER_V4L2
- bool "Build input_uvc with libv4l2 (camera controls)"
- default n
- select PACKAGE_libv4l
- endif
- endef
-
- define Package/mjpg-streamer/Default
- SECTION:=multimedia
- CATEGORY:=Multimedia
- TITLE:=MJPG-streamer
- URL:=https://github.com/jacksonliam/mjpg-streamer
- DEPENDS:=mjpg-streamer
- endef
-
- define Package/mjpg-streamer-input-file
- $(call Package/mjpg-streamer/Default)
- TITLE+= (file input)
- endef
-
- define Package/mjpg-streamer-input-file/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides the file input plugin.
- endef
-
- define Package/mjpg-streamer-input-uvc
- $(call Package/mjpg-streamer/Default)
- TITLE+= (UVC input)
- endef
-
- define Package/mjpg-streamer-input-uvc/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides the UVC input plugin.
- endef
-
- define Package/mjpg-streamer-input-http
- $(call Package/mjpg-streamer/Default)
- TITLE+= (HTTP input)
- endef
-
- define Package/mjpg-streamer-input-http/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides the http input plugin.
- endef
-
- define Package/mjpg-streamer-output-rtsp
- $(call Package/mjpg-streamer/Default)
- TITLE+= (RTSP output)
- endef
-
- define Package/mjpg-streamer-output-rtsp/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides the RTSP output plugin.
- endef
-
- define Package/mjpg-streamer-output-udp
- $(call Package/mjpg-streamer/Default)
- TITLE+= (UDP output)
- endef
-
- define Package/mjpg-streamer-output-udp/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides the UDP output plugin.
- endef
-
- define Package/mjpg-streamer-output-file
- $(call Package/mjpg-streamer/Default)
- TITLE+= (file output)
- endef
-
- define Package/mjpg-streamer-output-file/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides the file output plugin.
- endef
-
- define Package/mjpg-streamer-output-http
- $(call Package/mjpg-streamer/Default)
- TITLE+= (HTTP output)
- endef
-
- define Package/mjpg-streamer-output-http/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides the HTTP output plugin.
- endef
-
- define Package/mjpg-streamer-output-zmq
- $(call Package/mjpg-streamer/Default)
- TITLE+= (zmq output)
- DEPENDS+= +libzmq +libprotobuf-c
- endef
-
- define Package/mjpg-streamer-output-zmq/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides the ZeroMQ output plugin.
- endef
-
- define Package/mjpg-streamer-www
- $(call Package/mjpg-streamer/Default)
- TITLE+= (full www)
- CONFLICTS:=mjpg-streamer-www-simple
- endef
-
- define Package/mjpg-streamer-www/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides full version of the web content.
- Includes cambozola applet.
- endef
-
- define Package/mjpg-streamer-www-simple
- $(call Package/mjpg-streamer/Default)
- TITLE+= (simple www)
- endef
-
- define Package/mjpg-streamer-www-simple/description
- $(call Package/mjpg-streamer/Default/description)
-
- This package provides simple version of the web content.
- endef
-
- CMAKE_OPTIONS += -DCMAKE_SKIP_RPATH=FALSE
-
- CAMBOZOLA:=cambozola-0.936.tar.gz
-
- # Distribution URL doesn't always have the correct version
- # Using the OpenWrt mirror provides a stable version
- # orig-URL:=http://www.andywilcock.com/code/cambozola
- define Download/cambozola
- URL:=https://sources.openwrt.org/
- FILE:=$(CAMBOZOLA)
- HASH:=4e4e92d95673edd051e6b4d36bed8c5328873f5fc374073760b457d4be33415b
- endef
-
- # redefine prepare to extract to our build dir
- # apply patches
- define Build/Prepare
- rm -rf $(PKG_BUILD_DIR)/
- mkdir -p $(PKG_BUILD_DIR)/
- $(TAR) -xJf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) --strip=2
- $(Build/Patch)
- # Fetch latest cambozola that works with latest Java(s)
- # Yes, I know this is ugly
- ifneq ($(CONFIG_PACKAGE_mjpg-streamer-www),)
- $(eval $(call Download,cambozola))
- $(TAR) -xf $(DL_DIR)/$(CAMBOZOLA) --strip=2 --wildcards \
- -C $(PKG_BUILD_DIR)/www */dist/cambozola.jar
- endif
- endef
-
- define Build/Configure
- $(RM) $(PKG_BUILD_DIR)/plugins/input_uvc/uvcvideo.h
- $(call Build/Configure/Default)
- endef
-
- TARGET_LDFLAGS+= -ljpeg
-
- ifeq ($(CONFIG_MJPG_STREAMER_V4L2),y)
- TARGET_CFLAGS+= -DUSE_LIBV4L2
- TARGET_LDFLAGS+= -lv4l2
- endif
-
- define Package/mjpg-streamer/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mjpg_streamer $(1)/usr/bin/
- $(INSTALL_DIR) $(1)/etc/config
- $(CP) ./files/mjpg-streamer.config $(1)/etc/config/mjpg-streamer
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/mjpg-streamer.init $(1)/etc/init.d/mjpg-streamer
- $(INSTALL_DIR) $(1)/etc/hotplug.d/usb
- $(INSTALL_DATA) ./files/mjpg-streamer.hotplug $(1)/etc/hotplug.d/usb/20-mjpg-streamer
- endef
-
- define Package/mjpg-streamer-input-file/install
- $(INSTALL_DIR) $(1)/usr/lib/mjpg-streamer
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/mjpg-streamer/input_file.so $(1)/usr/lib/mjpg-streamer
- endef
-
- define Package/mjpg-streamer-input-uvc/install
- $(INSTALL_DIR) $(1)/usr/lib/mjpg-streamer
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/mjpg-streamer/input_uvc.so $(1)/usr/lib/mjpg-streamer
- endef
-
- define Package/mjpg-streamer-input-http/install
- $(INSTALL_DIR) $(1)/usr/lib/mjpg-streamer
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/mjpg-streamer/input_http.so $(1)/usr/lib/mjpg-streamer
- endef
-
- define Package/mjpg-streamer-output-rtsp/install
- $(INSTALL_DIR) $(1)/usr/lib/mjpg-streamer
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/mjpg-streamer/output_rtsp.so $(1)/usr/lib/mjpg-streamer
- endef
-
- define Package/mjpg-streamer-output-udp/install
- $(INSTALL_DIR) $(1)/usr/lib/mjpg-streamer
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/mjpg-streamer/output_udp.so $(1)/usr/lib/mjpg-streamer
- endef
-
- define Package/mjpg-streamer-output-file/install
- $(INSTALL_DIR) $(1)/usr/lib/mjpg-streamer
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/mjpg-streamer/output_file.so $(1)/usr/lib/mjpg-streamer
- endef
-
- define Package/mjpg-streamer-output-http/install
- $(INSTALL_DIR) $(1)/usr/lib/mjpg-streamer
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/mjpg-streamer/output_http.so $(1)/usr/lib/mjpg-streamer
- endef
-
- define Package/mjpg-streamer-output-zmq/install
- $(INSTALL_DIR) $(1)/usr/lib/mjpg-streamer
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/mjpg-streamer/output_zmqserver.so $(1)/usr/lib/mjpg-streamer
- endef
-
- define Package/mjpg-streamer-www/install
- $(INSTALL_DIR) $(1)/www/webcam
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/mjpg-streamer/www/* $(1)/www/webcam
- endef
-
- define Package/mjpg-streamer-www-simple/install
- $(INSTALL_DIR) $(1)/www/webcam
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/mjpg-streamer/www/stream_simple.html $(1)/www/webcam/index.html
- endef
-
- $(eval $(call BuildPackage,mjpg-streamer))
- $(eval $(call BuildPackage,mjpg-streamer-input-file))
- $(eval $(call BuildPackage,mjpg-streamer-input-uvc))
- $(eval $(call BuildPackage,mjpg-streamer-input-http))
- $(eval $(call BuildPackage,mjpg-streamer-output-rtsp))
- $(eval $(call BuildPackage,mjpg-streamer-output-file))
- $(eval $(call BuildPackage,mjpg-streamer-output-http))
- $(eval $(call BuildPackage,mjpg-streamer-output-zmq))
- $(eval $(call BuildPackage,mjpg-streamer-www))
- $(eval $(call BuildPackage,mjpg-streamer-www-simple))
|