kcptun: add tcp option
[feed/packages.git] / multimedia / gstreamer1 / Makefile
1 #
2 # Copyright (C) 2008-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=gstreamer1
11 PKG_VERSION:=1.18.5
12 PKG_RELEASE:=$(AUTORELEASE)
13
14 PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gstreamer
16 PKG_HASH:=55862232a63459bbf56abebde3085ca9aec211b478e891dacea4d6df8cafe80a
17 PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
18
19 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
20 Ted Hess <thess@kitschensync.net>
21 PKG_LICENSE:=LGPL-2.1-or-later
22 PKG_LICENSE_FILES:=COPYING
23 PKG_CPE_ID:=cpe:/a:gstreamer_project:gstreamer
24
25 PKG_INSTALL:=1
26 PKG_BUILD_DEPENDS:=glib2/host gettext-full/host
27
28 include $(INCLUDE_DIR)/package.mk
29 include $(INCLUDE_DIR)/nls.mk
30 include $(INCLUDE_DIR)/meson.mk
31
32 define Package/gstreamer1/Default
33 CATEGORY:=Multimedia
34 SECTION:=multimedia
35 TITLE:=GStreamer
36 URL:=https://gstreamer.freedesktop.org/
37 DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS)
38 endef
39
40 define Package/gstreamer1/description/Default
41 GStreamer open source multimedia framework
42 endef
43
44 GSTREAMER_CORE_LIBS:= \
45 libgstreamer1 \
46 libgst1check \
47 libgst1controller \
48 libgst1net
49
50 define Package/gstreamer1
51 $(call Package/gstreamer1/Default)
52 TITLE+= (All libraries)
53 DEPENDS:= $(foreach lib,$(GSTREAMER_CORE_LIBS),+$(lib))
54 HIDDEN:=1
55 endef
56
57 define Package/gstreamer1-libs/description
58 $(call Package/gstreamer1/description/Default)
59 .
60 This meta package contains only dependencies on the other GStreamer
61 componenents.
62 endef
63
64 define Package/gstreamer1-libs
65 $(call Package/gstreamer1/Default)
66 TITLE+= core libraries
67 DEPENDS+=+ALL:gstreamer1
68 endef
69
70 define Package/gstreamer1-libs/config
71 menu "Select GStreamer libraries"
72 depends on PACKAGE_gstreamer1-libs
73
74 config gstreamer1-all
75 bool "Include all GStreamer1 core libraries"
76 select PACKAGE_gstreamer1
77
78 comment "Libraries"
79
80 $(foreach lib,$(GSTREAMER_CORE_LIBS), \
81 config PACKAGE_$(lib)
82 prompt "GStreamer core library $(lib)"
83
84 )
85
86 endmenu
87
88 endef
89
90 define Package/gstreamer1-utils
91 $(call Package/gstreamer1/Default)
92 TITLE+= utilities
93 DEPENDS+= +libgstreamer1 +gstreamer1-libs
94 endef
95
96 define Package/gstreamer1-utils/description
97 $(call Package/gstreamer1/description/Default)
98 .
99 This package contains the GStreamer utilities.
100 endef
101
102 define Package/libgstreamer1
103 $(call Package/gstreamer1/Default)
104 TITLE+= library (core)
105 DEPENDS+= +glib2 +libpthread +libxml2
106 HIDDEN:=1
107 endef
108
109 define Package/libgstreamer1/description
110 $(call Package/gstreamer1/description/Default)
111 .
112 This package contains the GStreamer core library.
113 endef
114
115
116 GST_VERSION:=1.0
117
118 MESON_ARGS += \
119 -Dgst_debug=false \
120 -Dgst_parse=true \
121 -Dregistry=true \
122 -Dtracer_hooks=false \
123 -Dptp-helper-setuid-user=none \
124 -Dptp-helper-setuid-group=none \
125 -Doption-parsing=true \
126 -Dpoisoning=false \
127 -Dmemory-alignment=malloc \
128 -Dcheck=enabled \
129 -Dlibunwind=disabled \
130 -Dlibdw=disabled \
131 -Ddbghelp=disabled \
132 -Dbash-completion=disabled \
133 -Dcoretracers=disabled \
134 -Dexamples=disabled \
135 -Dbenchmarks=disabled \
136 -Dtools=enabled \
137 -Dgtk_doc=disabled \
138 -Dintrospection=disabled \
139 -Dnls=enabled \
140 -Dgobject-cast-checks=disabled \
141 -Dglib-asserts=disabled \
142 -Dextra-checks=disabled \
143 -Ddoc=disabled
144
145 define Build/InstallDev
146 $(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
147 ( cd $(PKG_INSTALL_DIR); $(CP) \
148 ./usr/include/gstreamer-$(GST_VERSION)/* \
149 $(1)/usr/include/gstreamer-$(GST_VERSION)/ \
150 )
151 $(INSTALL_DIR) $(1)/usr/lib
152 ( cd $(PKG_INSTALL_DIR); $(CP) \
153 ./usr/lib/libgst*-$(GST_VERSION).so* \
154 $(1)/usr/lib/ \
155 )
156 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
157 ( cd $(PKG_INSTALL_DIR); $(CP) \
158 ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
159 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
160 )
161 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
162 ( cd $(PKG_INSTALL_DIR); $(CP) \
163 ./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
164 $(1)/usr/lib/pkgconfig/ \
165 )
166 $(INSTALL_DIR) $(2)/share/aclocal
167 ( cd $(PKG_INSTALL_DIR); $(CP) \
168 ./usr/share/aclocal/* \
169 $(2)/share/aclocal/ \
170 )
171 endef
172
173 define Package/gstreamer1/install
174 true
175 endef
176
177 define Package/gstreamer1-libs/install
178 true
179 endef
180
181 define Package/gstreamer1-utils/install
182 $(INSTALL_DIR) $(1)/usr/bin
183 ( cd $(PKG_INSTALL_DIR); $(CP) \
184 ./usr/bin/gst-launch* \
185 ./usr/bin/gst-inspect* \
186 ./usr/bin/gst-typefind* \
187 $(1)/usr/bin/ \
188 )
189 endef
190
191 define Package/libgstreamer1/install
192 $(INSTALL_DIR) $(1)/usr/lib
193 ( cd $(PKG_INSTALL_DIR); $(CP) \
194 ./usr/lib/libgstbase-$(GST_VERSION).so.* \
195 ./usr/lib/libgstreamer-$(GST_VERSION).so.* \
196 $(1)/usr/lib/ \
197 )
198 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
199 ( cd $(PKG_INSTALL_DIR); $(CP) \
200 ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
201 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
202 )
203 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/gstreamer-$(GST_VERSION)/gst-plugin-scanner \
204 $(1)/usr/lib/gstreamer-$(GST_VERSION)
205 endef
206
207
208 # 1: short name
209 # 2: description
210 # 3: dependencies on other gstreamer libraries (short name)
211 # 4: dependencies on other packages
212 define GstBuildLibrary
213
214 define Package/libgst1$(1)
215 $(call Package/gstreamer1/Default)
216 TITLE+= $(2) library (core)
217 DEPENDS+= +libgstreamer1 $$(foreach p,$(3),+libgst1$$(p)) $(4)
218 HIDDEN:=1
219 endef
220
221 define Package/libgst1$(1)/description
222 $(call Package/gstreamer1/description/Default)
223 .
224 This package contains the GStreamer $(2) library.
225 endef
226
227 define Package/libgst1$(1)/install
228 $(INSTALL_DIR) $$(1)/usr/lib
229 ( cd $(PKG_INSTALL_DIR); $(CP) \
230 ./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
231 $$(1)/usr/lib/ \
232 )
233 endef
234
235 $$(eval $$(call BuildPackage,libgst1$(1)))
236 endef
237
238 $(eval $(call GstBuildLibrary,check,check unit testing))
239 $(eval $(call GstBuildLibrary,controller,dynamic parameter control))
240 $(eval $(call GstBuildLibrary,net,network classes))
241
242 $(eval $(call BuildPackage,libgstreamer1))
243 $(eval $(call BuildPackage,gstreamer1-libs))
244 $(eval $(call BuildPackage,gstreamer1-utils))
245 $(eval $(call BuildPackage,gstreamer1))