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.

195 lines
4.6 KiB

  1. #
  2. # Copyright (C) 2008-2014 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.2.3
  10. PKG_RELEASE:=1
  11. PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
  12. PKG_LICENSE:=LGPLv2
  13. PKG_LICENSE_FILE:=COPYING
  14. PKG_BUILD_DIR:=$(BUILD_DIR)/gstreamer-$(PKG_VERSION)
  15. PKG_SOURCE:=gstreamer-$(PKG_VERSION).tar.xz
  16. PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gstreamer/
  17. PKG_MD5SUM:=8155b9c7574ccaa361cc504e8e0e72dc
  18. PKG_FIXUP:=autoreconf
  19. PKG_REMOVE_FILES:=autogen.sh aclocal.m4
  20. PKG_INSTALL:=1
  21. include $(INCLUDE_DIR)/package.mk
  22. include $(INCLUDE_DIR)/nls.mk
  23. define Package/gstreamer1/Default
  24. CATEGORY:=Multimedia
  25. SECTION:=multimedia
  26. TITLE:=GStreamer
  27. URL:=http://gstreamer.freedesktop.org/
  28. DEPENDS:= $(ICONV_DEPENDS) $(INTL_DEPENDS)
  29. endef
  30. define Package/gstreamer1/description/Default
  31. GStreamer open source multimedia framework
  32. endef
  33. define Package/gstreamer1
  34. $(call Package/gstreamer1/Default)
  35. TITLE+= framework
  36. DEPENDS+= +libgstreamer1 \
  37. +libgst1check \
  38. +libgst1controller \
  39. +libgst1net
  40. endef
  41. define Package/gstreamer1/description
  42. $(call Package/gstreamer1/description/Default)
  43. .
  44. This meta package contains only dependencies on the other GStreamer
  45. componenents.
  46. endef
  47. define Package/gstreamer1-utils
  48. $(call Package/gstreamer1/Default)
  49. TITLE+= utilities
  50. DEPENDS+= +libgstreamer1
  51. endef
  52. define Package/gstreamer1-utils/description
  53. $(call Package/gstreamer1/description/Default)
  54. .
  55. This package contains the GStreamer utilities.
  56. endef
  57. define Package/libgstreamer1
  58. $(call Package/gstreamer1/Default)
  59. TITLE+= library (core)
  60. DEPENDS+= +glib2 +libpthread +libxml2
  61. endef
  62. define Package/libgstreamer1/description
  63. $(call Package/gstreamer1/description/Default)
  64. .
  65. This package contains the GStreamer core library.
  66. endef
  67. GST_VERSION:=1.0
  68. CONFIGURE_ARGS += \
  69. --enable-static \
  70. --disable-examples \
  71. --disable-tests \
  72. --disable-valgrind \
  73. --without-libiconv-prefix \
  74. --without-libintl-prefix \
  75. --without-x \
  76. EXTRA_LDFLAGS+= \
  77. -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
  78. $(if $(ICONV_FULL),-liconv)
  79. define Build/InstallDev
  80. $(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
  81. ( cd $(PKG_INSTALL_DIR); $(CP) \
  82. ./usr/include/gstreamer-$(GST_VERSION)/* \
  83. $(1)/usr/include/gstreamer-$(GST_VERSION)/ \
  84. )
  85. $(INSTALL_DIR) $(1)/usr/lib
  86. ( cd $(PKG_INSTALL_DIR); $(CP) \
  87. ./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
  88. $(1)/usr/lib/ \
  89. )
  90. $(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
  91. ( cd $(PKG_INSTALL_DIR); $(CP) \
  92. ./usr/lib/gstreamer-$(GST_VERSION)/libgst*.{la,so} \
  93. $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
  94. )
  95. $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
  96. ( cd $(PKG_INSTALL_DIR); $(CP) \
  97. ./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
  98. $(1)/usr/lib/pkgconfig/ \
  99. )
  100. $(INSTALL_DIR) $(2)/share/aclocal
  101. ( cd $(PKG_INSTALL_DIR); $(CP) \
  102. ./usr/share/aclocal/* \
  103. $(2)/share/aclocal/ \
  104. )
  105. endef
  106. define Package/gstreamer1/install
  107. /bin/true
  108. endef
  109. define Package/gstreamer1-utils/install
  110. $(INSTALL_DIR) $(1)/usr/bin
  111. ( cd $(PKG_INSTALL_DIR); $(CP) \
  112. ./usr/bin/gst-launch* \
  113. ./usr/bin/gst-inspect* \
  114. ./usr/bin/gst-typefind* \
  115. $(1)/usr/bin/ \
  116. )
  117. endef
  118. define Package/libgstreamer1/install
  119. $(INSTALL_DIR) $(1)/usr/lib
  120. ( cd $(PKG_INSTALL_DIR); $(CP) \
  121. ./usr/lib/libgstbase-$(GST_VERSION).so.* \
  122. ./usr/lib/libgstreamer-$(GST_VERSION).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*.so \
  128. $(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
  129. )
  130. endef
  131. # 1: short name
  132. # 2: description
  133. # 3: dependencies on other gstreamer libraries (short name)
  134. # 4: dependencies on other packages
  135. define GstBuildLibrary
  136. define Package/libgst1$(1)
  137. $(call Package/gstreamer1/Default)
  138. TITLE+= $(2) library (core)
  139. DEPENDS+= +libgstreamer1 $$(foreach p,$(3),+libgst1$$(p)) $(4)
  140. endef
  141. define Package/libgst1$(1)/description
  142. $(call Package/gstreamer1/description/Default)
  143. .
  144. This package contains the GStreamer $(2) library.
  145. endef
  146. define Package/libgst1$(1)/install
  147. $(INSTALL_DIR) $$(1)/usr/lib
  148. ( cd $(PKG_INSTALL_DIR); $(CP) \
  149. ./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
  150. $$(1)/usr/lib/ \
  151. )
  152. endef
  153. $$(eval $$(call BuildPackage,libgst1$(1)))
  154. endef
  155. $(eval $(call GstBuildLibrary,check,check unit testing))
  156. $(eval $(call GstBuildLibrary,controller,dynamic parameter control))
  157. $(eval $(call GstBuildLibrary,net,network classes))
  158. $(eval $(call BuildPackage,libgstreamer1))
  159. $(eval $(call BuildPackage,gstreamer1))
  160. $(eval $(call BuildPackage,gstreamer1-utils))