2 # Copyright (C) 2008-2016 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
14 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
15 Ted Hess <thess@kitschensync.net>
18 PKG_LICENSE_FILES:=COPYING
20 PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
21 PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
22 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gstreamer/
23 PKG_MD5SUM:=9dbebe079c2ab2004ef7f2649fa317cabea1feb4fb5605c24d40744b90918341
26 PKG_REMOVE_FILES:=autogen.sh aclocal.m4
30 include $(INCLUDE_DIR)/package.mk
31 include $(INCLUDE_DIR)/nls.mk
33 define Package/gstreamer1/Default
37 URL:=http://gstreamer.freedesktop.org/
38 DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS)
41 define Package/gstreamer1/description/Default
42 GStreamer open source multimedia framework
45 GSTREAMER_CORE_LIBS:= \
51 define Package/gstreamer1
52 $(call Package/gstreamer1/Default)
53 TITLE+= (All libraries)
54 DEPENDS:= $(foreach lib,$(GSTREAMER_CORE_LIBS),+$(lib))
58 define Package/gstreamer1-libs/description
59 $(call Package/gstreamer1/description/Default)
61 This meta package contains only dependencies on the other GStreamer
65 define Package/gstreamer1-libs
66 $(call Package/gstreamer1/Default)
67 TITLE+= core libraries
68 DEPENDS+=+ALL:gstreamer1
71 define Package/gstreamer1-libs/config
72 menu "Select GStreamer libraries"
73 depends on PACKAGE_gstreamer1-libs
76 bool "Include all GStreamer1 core libraries"
77 select PACKAGE_gstreamer1
81 $(foreach lib,$(GSTREAMER_CORE_LIBS), \
83 prompt "GStreamer core library $(lib)"
91 define Package/gstreamer1-utils
92 $(call Package/gstreamer1/Default)
94 DEPENDS+= +libgstreamer1 +gstreamer1-libs
97 define Package/gstreamer1-utils/description
98 $(call Package/gstreamer1/description/Default)
100 This package contains the GStreamer utilities.
103 define Package/libgstreamer1
104 $(call Package/gstreamer1/Default)
105 TITLE+= library (core)
106 DEPENDS+= +glib2 +libpthread +libxml2
110 define Package/libgstreamer1/description
111 $(call Package/gstreamer1/description/Default)
113 This package contains the GStreamer core library.
124 --without-libiconv-prefix \
125 --without-libintl-prefix \
129 -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
130 $(if $(ICONV_FULL),-liconv)
132 define Build/InstallDev
133 $(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
134 ( cd $(PKG_INSTALL_DIR); $(CP) \
135 ./usr/include/gstreamer-$(GST_VERSION)/* \
136 $(1)/usr/include/gstreamer-$(GST_VERSION)/ \
138 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)/include/gst
139 ( cd $(PKG_INSTALL_DIR); $(CP) \
140 ./usr/lib/gstreamer-$(GST_VERSION)/include/gst/*.h \
141 $(1)/usr/lib/gstreamer-$(GST_VERSION)/include/gst \
143 $(INSTALL_DIR) $(1)/usr/lib
144 ( cd $(PKG_INSTALL_DIR); $(CP) \
145 ./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
148 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
149 ( cd $(PKG_INSTALL_DIR); $(CP) \
150 ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.{la,so} \
151 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
153 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
154 ( cd $(PKG_INSTALL_DIR); $(CP) \
155 ./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
156 $(1)/usr/lib/pkgconfig/ \
158 $(INSTALL_DIR) $(2)/share/aclocal
159 ( cd $(PKG_INSTALL_DIR); $(CP) \
160 ./usr/share/aclocal/* \
161 $(2)/share/aclocal/ \
165 define Package/gstreamer1/install
169 define Package/gstreamer1-libs/install
173 define Package/gstreamer1-utils/install
174 $(INSTALL_DIR) $(1)/usr/bin
175 ( cd $(PKG_INSTALL_DIR); $(CP) \
176 ./usr/bin/gst-launch* \
177 ./usr/bin/gst-inspect* \
178 ./usr/bin/gst-typefind* \
183 define Package/libgstreamer1/install
184 $(INSTALL_DIR) $(1)/usr/lib
185 ( cd $(PKG_INSTALL_DIR); $(CP) \
186 ./usr/lib/libgstbase-$(GST_VERSION).so.* \
187 ./usr/lib/libgstreamer-$(GST_VERSION).so.* \
190 $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
191 ( cd $(PKG_INSTALL_DIR); $(CP) \
192 ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
193 $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
195 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gstreamer-$(GST_VERSION)/gst-plugin-scanner \
196 $(1)/usr/lib/gstreamer-$(GST_VERSION)
202 # 3: dependencies on other gstreamer libraries (short name)
203 # 4: dependencies on other packages
204 define GstBuildLibrary
206 define Package/libgst1$(1)
207 $(call Package/gstreamer1/Default)
208 TITLE+= $(2) library (core)
209 DEPENDS+= +libgstreamer1 $$(foreach p,$(3),+libgst1$$(p)) $(4)
213 define Package/libgst1$(1)/description
214 $(call Package/gstreamer1/description/Default)
216 This package contains the GStreamer $(2) library.
219 define Package/libgst1$(1)/install
220 $(INSTALL_DIR) $$(1)/usr/lib
221 ( cd $(PKG_INSTALL_DIR); $(CP) \
222 ./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
227 $$(eval $$(call BuildPackage,libgst1$(1)))
230 $(eval $(call GstBuildLibrary,check,check unit testing))
231 $(eval $(call GstBuildLibrary,controller,dynamic parameter control))
232 $(eval $(call GstBuildLibrary,net,network classes))
234 $(eval $(call BuildPackage,libgstreamer1))
235 $(eval $(call BuildPackage,gstreamer1-libs))
236 $(eval $(call BuildPackage,gstreamer1-utils))
237 $(eval $(call BuildPackage,gstreamer1))