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