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.

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