Merge pull request #18494 from nemesisdesign/master
[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.20.2
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:=df24e8792691a02dfe003b3833a51f1dbc6c3331ae625d143b17da939ceb5e0a
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 -Dintrospection=disabled \
138 -Dnls=enabled \
139 -Dgobject-cast-checks=disabled \
140 -Dglib-asserts=disabled \
141 -Dextra-checks=disabled \
142 -Ddoc=disabled
143
144 define Build/InstallDev
145 $(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
146 ( cd $(PKG_INSTALL_DIR); $(CP) \
147 ./usr/include/gstreamer-$(GST_VERSION)/* \
148 $(1)/usr/include/gstreamer-$(GST_VERSION)/ \
149 )
150 $(INSTALL_DIR) $(1)/usr/lib
151 ( cd $(PKG_INSTALL_DIR); $(CP) \
152 ./usr/lib/libgst*-$(GST_VERSION).so* \
153 $(1)/usr/lib/ \
154 )
155 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
156 ( cd $(PKG_INSTALL_DIR); $(CP) \
157 ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
158 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
159 )
160 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
161 ( cd $(PKG_INSTALL_DIR); $(CP) \
162 ./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
163 $(1)/usr/lib/pkgconfig/ \
164 )
165 $(INSTALL_DIR) $(2)/share/aclocal
166 ( cd $(PKG_INSTALL_DIR); $(CP) \
167 ./usr/share/aclocal/* \
168 $(2)/share/aclocal/ \
169 )
170 endef
171
172 define Package/gstreamer1/install
173 true
174 endef
175
176 define Package/gstreamer1-libs/install
177 true
178 endef
179
180 define Package/gstreamer1-utils/install
181 $(INSTALL_DIR) $(1)/usr/bin
182 ( cd $(PKG_INSTALL_DIR); $(CP) \
183 ./usr/bin/gst-launch* \
184 ./usr/bin/gst-inspect* \
185 ./usr/bin/gst-typefind* \
186 $(1)/usr/bin/ \
187 )
188 endef
189
190 define Package/libgstreamer1/install
191 $(INSTALL_DIR) $(1)/usr/lib
192 ( cd $(PKG_INSTALL_DIR); $(CP) \
193 ./usr/lib/libgstbase-$(GST_VERSION).so.* \
194 ./usr/lib/libgstreamer-$(GST_VERSION).so.* \
195 $(1)/usr/lib/ \
196 )
197 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
198 ( cd $(PKG_INSTALL_DIR); $(CP) \
199 ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
200 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
201 )
202 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/gstreamer-$(GST_VERSION)/gst-plugin-scanner \
203 $(1)/usr/lib/gstreamer-$(GST_VERSION)
204 endef
205
206
207 # 1: short name
208 # 2: description
209 # 3: dependencies on other gstreamer libraries (short name)
210 # 4: dependencies on other packages
211 define GstBuildLibrary
212
213 define Package/libgst1$(1)
214 $(call Package/gstreamer1/Default)
215 TITLE+= $(2) library (core)
216 DEPENDS+= +libgstreamer1 $$(foreach p,$(3),+libgst1$$(p)) $(4)
217 HIDDEN:=1
218 endef
219
220 define Package/libgst1$(1)/description
221 $(call Package/gstreamer1/description/Default)
222 .
223 This package contains the GStreamer $(2) library.
224 endef
225
226 define Package/libgst1$(1)/install
227 $(INSTALL_DIR) $$(1)/usr/lib
228 ( cd $(PKG_INSTALL_DIR); $(CP) \
229 ./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
230 $$(1)/usr/lib/ \
231 )
232 endef
233
234 $$(eval $$(call BuildPackage,libgst1$(1)))
235 endef
236
237 $(eval $(call GstBuildLibrary,check,check unit testing))
238 $(eval $(call GstBuildLibrary,controller,dynamic parameter control))
239 $(eval $(call GstBuildLibrary,net,network classes))
240
241 $(eval $(call BuildPackage,libgstreamer1))
242 $(eval $(call BuildPackage,gstreamer1-libs))
243 $(eval $(call BuildPackage,gstreamer1-utils))
244 $(eval $(call BuildPackage,gstreamer1))