Merge pull request #2409 from dibdot/adblock
[feed/packages.git] / multimedia / gstreamer1 / Makefile
1 #
2 # Copyright (C) 2008-2015 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.6.2
12 PKG_RELEASE:=1
13
14 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
15
16 PKG_LICENSE:=LGPLv2
17 PKG_LICENSE_FILES:=COPYING
18
19 PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
20 PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
21 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gstreamer/
22 PKG_MD5SUM:=5e610b5a94c209487310739b39b6c464
23
24 PKG_FIXUP:=autoreconf
25 PKG_REMOVE_FILES:=autogen.sh aclocal.m4
26
27 PKG_INSTALL:=1
28
29 include $(INCLUDE_DIR)/package.mk
30 include $(INCLUDE_DIR)/nls.mk
31
32 define Package/gstreamer1/Default
33 CATEGORY:=Multimedia
34 SECTION:=multimedia
35 TITLE:=GStreamer
36 URL:=http://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 CONFIGURE_ARGS += \
119 --enable-static \
120 --disable-examples \
121 --disable-tests \
122 --disable-valgrind \
123 --without-libiconv-prefix \
124 --without-libintl-prefix \
125 --without-x \
126
127 EXTRA_LDFLAGS+= \
128 -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
129 $(if $(ICONV_FULL),-liconv)
130
131 define Build/InstallDev
132 $(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
133 ( cd $(PKG_INSTALL_DIR); $(CP) \
134 ./usr/include/gstreamer-$(GST_VERSION)/* \
135 $(1)/usr/include/gstreamer-$(GST_VERSION)/ \
136 )
137 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)/include/gst
138 ( cd $(PKG_INSTALL_DIR); $(CP) \
139 ./usr/lib/gstreamer-$(GST_VERSION)/include/gst/*.h \
140 $(1)/usr/lib/gstreamer-$(GST_VERSION)/include/gst \
141 )
142 $(INSTALL_DIR) $(1)/usr/lib
143 ( cd $(PKG_INSTALL_DIR); $(CP) \
144 ./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
145 $(1)/usr/lib/ \
146 )
147 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
148 ( cd $(PKG_INSTALL_DIR); $(CP) \
149 ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.{la,so} \
150 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
151 )
152 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
153 ( cd $(PKG_INSTALL_DIR); $(CP) \
154 ./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
155 $(1)/usr/lib/pkgconfig/ \
156 )
157 $(INSTALL_DIR) $(2)/share/aclocal
158 ( cd $(PKG_INSTALL_DIR); $(CP) \
159 ./usr/share/aclocal/* \
160 $(2)/share/aclocal/ \
161 )
162 endef
163
164 define Package/gstreamer1/install
165 true
166 endef
167
168 define Package/gstreamer1-libs/install
169 true
170 endef
171
172 define Package/gstreamer1-utils/install
173 $(INSTALL_DIR) $(1)/usr/bin
174 ( cd $(PKG_INSTALL_DIR); $(CP) \
175 ./usr/bin/gst-launch* \
176 ./usr/bin/gst-inspect* \
177 ./usr/bin/gst-typefind* \
178 $(1)/usr/bin/ \
179 )
180 endef
181
182 define Package/libgstreamer1/install
183 $(INSTALL_DIR) $(1)/usr/lib
184 ( cd $(PKG_INSTALL_DIR); $(CP) \
185 ./usr/lib/libgstbase-$(GST_VERSION).so.* \
186 ./usr/lib/libgstreamer-$(GST_VERSION).so.* \
187 $(1)/usr/lib/ \
188 )
189 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
190 ( cd $(PKG_INSTALL_DIR); $(CP) \
191 ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
192 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
193 )
194 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gstreamer-$(GST_VERSION)/gst-plugin-scanner \
195 $(1)/usr/lib/gstreamer-$(GST_VERSION)
196 endef
197
198
199 # 1: short name
200 # 2: description
201 # 3: dependencies on other gstreamer libraries (short name)
202 # 4: dependencies on other packages
203 define GstBuildLibrary
204
205 define Package/libgst1$(1)
206 $(call Package/gstreamer1/Default)
207 TITLE+= $(2) library (core)
208 DEPENDS+= +libgstreamer1 $$(foreach p,$(3),+libgst1$$(p)) $(4)
209 HIDDEN:=1
210 endef
211
212 define Package/libgst1$(1)/description
213 $(call Package/gstreamer1/description/Default)
214 .
215 This package contains the GStreamer $(2) library.
216 endef
217
218 define Package/libgst1$(1)/install
219 $(INSTALL_DIR) $$(1)/usr/lib
220 ( cd $(PKG_INSTALL_DIR); $(CP) \
221 ./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
222 $$(1)/usr/lib/ \
223 )
224 endef
225
226 $$(eval $$(call BuildPackage,libgst1$(1)))
227 endef
228
229 $(eval $(call GstBuildLibrary,check,check unit testing))
230 $(eval $(call GstBuildLibrary,controller,dynamic parameter control))
231 $(eval $(call GstBuildLibrary,net,network classes))
232
233 $(eval $(call BuildPackage,libgstreamer1))
234 $(eval $(call BuildPackage,gstreamer1-libs))
235 $(eval $(call BuildPackage,gstreamer1-utils))
236 $(eval $(call BuildPackage,gstreamer1))