First Commit
[librecmc/package-feed.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.8.2
12 PKG_RELEASE:=1
13
14 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
15                 Ted Hess <thess@kitschensync.net>
16
17 PKG_LICENSE:=LGPLv2
18 PKG_LICENSE_FILES:=COPYING
19
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
24
25 PKG_FIXUP:=autoreconf
26 PKG_REMOVE_FILES:=autogen.sh aclocal.m4
27
28 PKG_INSTALL:=1
29
30 include $(INCLUDE_DIR)/package.mk
31 include $(INCLUDE_DIR)/nls.mk
32
33 define Package/gstreamer1/Default
34   CATEGORY:=Multimedia
35   SECTION:=multimedia
36   TITLE:=GStreamer
37   URL:=http://gstreamer.freedesktop.org/
38   DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS)
39 endef
40
41 define Package/gstreamer1/description/Default
42  GStreamer open source multimedia framework
43 endef
44
45 GSTREAMER_CORE_LIBS:= \
46         libgstreamer1 \
47         libgst1check \
48         libgst1controller \
49         libgst1net
50
51 define Package/gstreamer1
52   $(call Package/gstreamer1/Default)
53   TITLE+= (All libraries)
54   DEPENDS:= $(foreach lib,$(GSTREAMER_CORE_LIBS),+$(lib))
55   HIDDEN:=1
56 endef
57
58 define Package/gstreamer1-libs/description
59  $(call Package/gstreamer1/description/Default)
60  .
61  This meta package contains only dependencies on the other GStreamer
62  componenents.
63 endef
64
65 define Package/gstreamer1-libs
66   $(call Package/gstreamer1/Default)
67   TITLE+= core libraries
68   DEPENDS+=+ALL:gstreamer1
69 endef
70
71 define Package/gstreamer1-libs/config
72     menu "Select GStreamer libraries"
73       depends on PACKAGE_gstreamer1-libs
74
75     config gstreamer1-all
76       bool "Include all GStreamer1 core libraries"
77       select PACKAGE_gstreamer1
78
79     comment "Libraries"
80
81    $(foreach lib,$(GSTREAMER_CORE_LIBS), \
82     config PACKAGE_$(lib)
83       prompt "GStreamer core library $(lib)"
84
85    )
86
87   endmenu
88
89 endef
90
91 define Package/gstreamer1-utils
92   $(call Package/gstreamer1/Default)
93   TITLE+= utilities
94   DEPENDS+= +libgstreamer1 +gstreamer1-libs
95 endef
96
97 define Package/gstreamer1-utils/description
98  $(call Package/gstreamer1/description/Default)
99  .
100  This package contains the GStreamer utilities.
101 endef
102
103 define Package/libgstreamer1
104   $(call Package/gstreamer1/Default)
105   TITLE+= library (core)
106   DEPENDS+= +glib2 +libpthread +libxml2
107   HIDDEN:=1
108 endef
109
110 define Package/libgstreamer1/description
111  $(call Package/gstreamer1/description/Default)
112  .
113  This package contains the GStreamer core library.
114 endef
115   
116
117 GST_VERSION:=1.0
118
119 CONFIGURE_ARGS += \
120         --enable-static \
121         --disable-examples \
122         --disable-tests \
123         --disable-valgrind \
124         --without-libiconv-prefix \
125         --without-libintl-prefix \
126         --without-x \
127
128 EXTRA_LDFLAGS+= \
129         -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
130         $(if $(ICONV_FULL),-liconv)
131
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)/ \
137         )
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 \
142         )
143         $(INSTALL_DIR) $(1)/usr/lib
144         ( cd $(PKG_INSTALL_DIR); $(CP) \
145                 ./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
146                 $(1)/usr/lib/ \
147         )
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)/ \
152         )
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/ \
157         )
158         $(INSTALL_DIR) $(2)/share/aclocal
159         ( cd $(PKG_INSTALL_DIR); $(CP) \
160                 ./usr/share/aclocal/* \
161                 $(2)/share/aclocal/ \
162         )
163 endef
164
165 define Package/gstreamer1/install
166   true
167 endef
168
169 define Package/gstreamer1-libs/install
170   true
171 endef
172
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* \
179                 $(1)/usr/bin/ \
180         )
181 endef
182
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.* \
188                 $(1)/usr/lib/ \
189         )
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)/ \
194         )
195         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gstreamer-$(GST_VERSION)/gst-plugin-scanner \
196                        $(1)/usr/lib/gstreamer-$(GST_VERSION)
197 endef
198
199
200 # 1: short name
201 # 2: description
202 # 3: dependencies on other gstreamer libraries (short name)
203 # 4: dependencies on other packages
204 define GstBuildLibrary
205
206   define Package/libgst1$(1)
207     $(call Package/gstreamer1/Default)
208     TITLE+= $(2) library (core)
209     DEPENDS+= +libgstreamer1 $$(foreach p,$(3),+libgst1$$(p)) $(4)
210     HIDDEN:=1
211   endef
212
213   define Package/libgst1$(1)/description
214    $(call Package/gstreamer1/description/Default)
215    .
216    This package contains the GStreamer $(2) library.
217   endef
218
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.* \
223                 $$(1)/usr/lib/ \
224         )
225   endef
226
227   $$(eval $$(call BuildPackage,libgst1$(1)))
228 endef
229
230 $(eval $(call GstBuildLibrary,check,check unit testing))
231 $(eval $(call GstBuildLibrary,controller,dynamic parameter control))
232 $(eval $(call GstBuildLibrary,net,network classes))
233
234 $(eval $(call BuildPackage,libgstreamer1))
235 $(eval $(call BuildPackage,gstreamer1-libs))
236 $(eval $(call BuildPackage,gstreamer1-utils))
237 $(eval $(call BuildPackage,gstreamer1))