You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

242 lines
5.8 KiB

  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. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=gstreamer1
  9. PKG_VERSION:=1.16.0
  10. PKG_RELEASE:=2
  11. PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
  12. Ted Hess <thess@kitschensync.net>
  13. PKG_LICENSE:=LGPLv2
  14. PKG_LICENSE_FILES:=COPYING
  15. PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
  16. PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
  17. PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gstreamer
  18. PKG_HASH:=0e8e2f7118be437cba879353970cf83c2acced825ecb9275ba05d9186ef07c00
  19. PKG_FIXUP:=autoreconf
  20. PKG_REMOVE_FILES:=autogen.sh aclocal.m4
  21. PKG_BUILD_PARALLEL:=1
  22. PKG_INSTALL:=1
  23. include $(INCLUDE_DIR)/package.mk
  24. include $(INCLUDE_DIR)/nls.mk
  25. define Package/gstreamer1/Default
  26. CATEGORY:=Multimedia
  27. SECTION:=multimedia
  28. TITLE:=GStreamer
  29. URL:=http://gstreamer.freedesktop.org/
  30. DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS)
  31. endef
  32. define Package/gstreamer1/description/Default
  33. GStreamer open source multimedia framework
  34. endef
  35. GSTREAMER_CORE_LIBS:= \
  36. libgstreamer1 \
  37. libgst1check \
  38. libgst1controller \
  39. libgst1net
  40. define Package/gstreamer1
  41. $(call Package/gstreamer1/Default)
  42. TITLE+= (All libraries)
  43. DEPENDS:= $(foreach lib,$(GSTREAMER_CORE_LIBS),+$(lib))
  44. HIDDEN:=1
  45. endef
  46. define Package/gstreamer1-libs/description
  47. $(call Package/gstreamer1/description/Default)
  48. .
  49. This meta package contains only dependencies on the other GStreamer
  50. componenents.
  51. endef
  52. define Package/gstreamer1-libs
  53. $(call Package/gstreamer1/Default)
  54. TITLE+= core libraries
  55. DEPENDS+=+ALL:gstreamer1
  56. endef
  57. define Package/gstreamer1-libs/config
  58. menu "Select GStreamer libraries"
  59. depends on PACKAGE_gstreamer1-libs
  60. config gstreamer1-all
  61. bool "Include all GStreamer1 core libraries"
  62. select PACKAGE_gstreamer1
  63. comment "Libraries"
  64. $(foreach lib,$(GSTREAMER_CORE_LIBS), \
  65. config PACKAGE_$(lib)
  66. prompt "GStreamer core library $(lib)"
  67. )
  68. endmenu
  69. endef
  70. define Package/gstreamer1-utils
  71. $(call Package/gstreamer1/Default)
  72. TITLE+= utilities
  73. DEPENDS+= +libgstreamer1 +gstreamer1-libs
  74. endef
  75. define Package/gstreamer1-utils/description
  76. $(call Package/gstreamer1/description/Default)
  77. .
  78. This package contains the GStreamer utilities.
  79. endef
  80. define Package/libgstreamer1
  81. $(call Package/gstreamer1/Default)
  82. TITLE+= library (core)
  83. DEPENDS+= +glib2 +libpthread +libxml2
  84. HIDDEN:=1
  85. endef
  86. define Package/libgstreamer1/description
  87. $(call Package/gstreamer1/description/Default)
  88. .
  89. This package contains the GStreamer core library.
  90. endef
  91. GST_VERSION:=1.0
  92. CONFIGURE_ARGS += \
  93. --enable-static \
  94. --disable-Bsymbolic \
  95. --disable-benchmarks \
  96. --disable-debug \
  97. --disable-examples \
  98. --disable-failing-tests \
  99. --disable-fatal-warnings \
  100. --disable-introspection \
  101. --disable-glib-asserts \
  102. --disable-gobject-cast-checks \
  103. --disable-gst-tracer-hooks \
  104. --disable-gst-debug \
  105. --disable-gtk-doc-html \
  106. --disable-rpath \
  107. --disable-tests \
  108. --disable-valgrind \
  109. --without-dw \
  110. --without-libiconv-prefix \
  111. --without-libintl-prefix \
  112. --without-unwind
  113. define Build/InstallDev
  114. $(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
  115. ( cd $(PKG_INSTALL_DIR); $(CP) \
  116. ./usr/include/gstreamer-$(GST_VERSION)/* \
  117. $(1)/usr/include/gstreamer-$(GST_VERSION)/ \
  118. )
  119. $(INSTALL_DIR) $(1)/usr/lib
  120. ( cd $(PKG_INSTALL_DIR); $(CP) \
  121. ./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
  122. $(1)/usr/lib/ \
  123. )
  124. $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
  125. ( cd $(PKG_INSTALL_DIR); $(CP) \
  126. ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.{la,so} \
  127. $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
  128. )
  129. $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
  130. ( cd $(PKG_INSTALL_DIR); $(CP) \
  131. ./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
  132. $(1)/usr/lib/pkgconfig/ \
  133. )
  134. $(INSTALL_DIR) $(2)/share/aclocal
  135. ( cd $(PKG_INSTALL_DIR); $(CP) \
  136. ./usr/share/aclocal/* \
  137. $(2)/share/aclocal/ \
  138. )
  139. endef
  140. define Package/gstreamer1/install
  141. true
  142. endef
  143. define Package/gstreamer1-libs/install
  144. true
  145. endef
  146. define Package/gstreamer1-utils/install
  147. $(INSTALL_DIR) $(1)/usr/bin
  148. ( cd $(PKG_INSTALL_DIR); $(CP) \
  149. ./usr/bin/gst-launch* \
  150. ./usr/bin/gst-inspect* \
  151. ./usr/bin/gst-typefind* \
  152. $(1)/usr/bin/ \
  153. )
  154. endef
  155. define Package/libgstreamer1/install
  156. $(INSTALL_DIR) $(1)/usr/lib
  157. ( cd $(PKG_INSTALL_DIR); $(CP) \
  158. ./usr/lib/libgstbase-$(GST_VERSION).so.* \
  159. ./usr/lib/libgstreamer-$(GST_VERSION).so.* \
  160. $(1)/usr/lib/ \
  161. )
  162. $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
  163. ( cd $(PKG_INSTALL_DIR); $(CP) \
  164. ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
  165. $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
  166. )
  167. $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gstreamer-$(GST_VERSION)/gst-plugin-scanner \
  168. $(1)/usr/lib/gstreamer-$(GST_VERSION)
  169. endef
  170. # 1: short name
  171. # 2: description
  172. # 3: dependencies on other gstreamer libraries (short name)
  173. # 4: dependencies on other packages
  174. define GstBuildLibrary
  175. define Package/libgst1$(1)
  176. $(call Package/gstreamer1/Default)
  177. TITLE+= $(2) library (core)
  178. DEPENDS+= +libgstreamer1 $$(foreach p,$(3),+libgst1$$(p)) $(4)
  179. HIDDEN:=1
  180. endef
  181. define Package/libgst1$(1)/description
  182. $(call Package/gstreamer1/description/Default)
  183. .
  184. This package contains the GStreamer $(2) library.
  185. endef
  186. define Package/libgst1$(1)/install
  187. $(INSTALL_DIR) $$(1)/usr/lib
  188. ( cd $(PKG_INSTALL_DIR); $(CP) \
  189. ./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
  190. $$(1)/usr/lib/ \
  191. )
  192. endef
  193. $$(eval $$(call BuildPackage,libgst1$(1)))
  194. endef
  195. $(eval $(call GstBuildLibrary,check,check unit testing))
  196. $(eval $(call GstBuildLibrary,controller,dynamic parameter control))
  197. $(eval $(call GstBuildLibrary,net,network classes))
  198. $(eval $(call BuildPackage,libgstreamer1))
  199. $(eval $(call BuildPackage,gstreamer1-libs))
  200. $(eval $(call BuildPackage,gstreamer1-utils))
  201. $(eval $(call BuildPackage,gstreamer1))