udptunnel: new package
[feed/packages.git] / multimedia / v4l2rtspserver / Makefile
1 #
2 # Copyright (C) 2017 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME:=v4l2rtspserver
10 PKG_VERSION:=0.1.3
11 PKG_RELEASE:=1
12
13 #cannot use codeload as this uses submodules
14 PKG_SOURCE_PROTO:=git
15 PKG_SOURCE_URL:=https://github.com/mpromonet/v4l2rtspserver
16 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
17 PKG_MIRROR_HASH:=73499d0db515ae0d66c6d2a73c9c474ca35007aaf17451da01e793d972eab35a
18
19 PKG_MAINTAINER:=Roger Dammit <rogerdammit@gmail.com>
20 PKG_LICENSE:=Unlicense
21 PKG_LICENSE_FILES:=LICENSE
22
23 LIVE555_VERSION:=2019.02.03
24 LIVE555_HASH:=1c938d91553eff224c7a860f8f38b3256028704b474a3fc6bcf2eddc42268710
25 LIVE555_FILE:=live.$(LIVE555_VERSION).tar.gz
26
27 PKG_BUILD_PARALLEL:=1
28 CMAKE_INSTALL:=1
29
30 include $(INCLUDE_DIR)/uclibc++.mk
31 include $(INCLUDE_DIR)/package.mk
32 include $(INCLUDE_DIR)/cmake.mk
33
34 define Package/v4l2rtspserver
35 SECTION:=multimedia
36 CATEGORY:=Multimedia
37 TITLE:=v4l2rtspserver
38 DEPENDS:=$(CXX_DEPENDS)
39 URL:=https://github.com/mpromonet/v4l2rtspserver
40 endef
41
42 define Package/v4l2rtspserver/description
43 RTSP server for v4L2 video sources
44 endef
45
46 define Package/v4l2rtspserver/conffiles
47 /etc/config/v4l2rtspserver
48 endef
49
50 define Download/live555
51 URL:=https://download.videolan.org/pub/contrib/live555/
52 FILE:=$(LIVE555_FILE)
53 HASH:=$(LIVE555_HASH)
54 endef
55
56 TARGET_CFLAGS += -flto
57 TARGET_CXXFLAGS += -fno-rtti
58 TARGET_LDFLAGS += -Wl,--gc-sections
59
60 define Build/Prepare
61 $(Build/Prepare/Default)
62
63 ## need to compile some dependencies so that cmake will find them
64
65 # build live555
66 $(eval $(call Download,live555))
67
68 mkdir -p $(PKG_BUILD_DIR)/live555
69 $(TAR) -xf $(DL_DIR)/$(LIVE555_FILE) --strip=1 -C $(PKG_BUILD_DIR)/live555
70 $(CP) files/config.openwrt $(PKG_BUILD_DIR)/live555
71 ( cd $(PKG_BUILD_DIR)/live555; ./genMakefiles openwrt )
72
73 +$(MAKE_VARS) $(MAKE) $(MAKE_FLAGS) -C $(PKG_BUILD_DIR)/live555
74 $(MAKE_VARS) $(MAKE) $(MAKE_FLAGS) -C $(PKG_BUILD_DIR)/live555 PREFIX="$(STAGING_DIR)/usr/" install
75
76 # build v4l2wrapper
77 +$(MAKE_VARS) $(MAKE) $(MAKE_FLAGS) -C $(PKG_BUILD_DIR)/v4l2wrapper
78 $(CP) $(PKG_BUILD_DIR)/v4l2wrapper/libv4l2wrapper.a $(PKG_BUILD_DIR)
79
80 # cmake patches (these are very hacky and should be a lot cleaner)
81
82 # prevent root path override
83 $(SED) 's/SET(CMAKE_FIND_ROOT_PATH/#SET(CMAKE_FIND_ROOT_PATH/' $(PKG_BUILD_DIR)/CMakeLists.txt
84
85 # set search path for v4l2wrapper to current build dir
86 $(SED) 's/V4L2WRAPPER_LIBRARY libv4l2wrapper.a/V4L2WRAPPER_LIBRARY libv4l2wrapper.a PATHS "." NO_CMAKE_FIND_ROOT_PATH/' $(PKG_BUILD_DIR)/CMakeLists.txt
87
88 # disable ALSA
89 $(SED) 's/find_package(ALSA QUIET)//' $(PKG_BUILD_DIR)/CMakeLists.txt
90 endef
91
92 define Package/v4l2rtspserver/install
93 $(INSTALL_DIR) $(1)/usr/bin
94 $(INSTALL_BIN) $(PKG_BUILD_DIR)/v4l2rtspserver-$(PKG_VERSION) $(1)/usr/bin/
95 mv $(1)/usr/bin/v4l2rtspserver-$(PKG_VERSION) $(1)/usr/bin/v4l2rtspserver
96
97 $(INSTALL_DIR) $(1)/etc/init.d
98 $(INSTALL_BIN) files/v4l2rtspserver.init $(1)/etc/init.d/v4l2rtspserver
99 $(INSTALL_DIR) $(1)/etc/config
100 $(INSTALL_CONF) files/v4l2rtspserver.config $(1)/etc/config/v4l2rtspserver
101 endef
102
103 $(eval $(call BuildPackage,v4l2rtspserver))