Makefile 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. #
  2. # Copyright (C) 2009-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:=gst1-plugins-ugly
  9. PKG_VERSION:=1.12.4
  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_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-ugly-$(PKG_VERSION)
  16. PKG_SOURCE:=gst-plugins-ugly-$(PKG_VERSION).tar.xz
  17. PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-ugly/
  18. PKG_HASH:=1c165b8d888ed350acd8e6ac9f6fe06508e6fcc0a3afc6ccc9fbeb30df9be522
  19. PKG_CONFIG_DEPENDS:= \
  20. CONFIG_PACKAGE_gst1-mod-asf \
  21. CONFIG_PACKAGE_gst1-mod-lame \
  22. CONFIG_PACKAGE_gst1-mod-mpg123 \
  23. CONFIG_PACKAGE_gst1-mod-mpeg2dec \
  24. PKG_FIXUP:=autoreconf
  25. PKG_INSTALL:=1
  26. include $(INCLUDE_DIR)/package.mk
  27. include $(INCLUDE_DIR)/nls.mk
  28. GST_UGLY_MODULES:=
  29. define Package/gstreamer1-ugly/Default
  30. CATEGORY:=Multimedia
  31. SECTION:=multimedia
  32. TITLE:=GStreamer
  33. URL:=http://gstreamer.freedesktop.org/
  34. DEPENDS:= +libgstreamer1 $(ICONV_DEPENDS)
  35. endef
  36. define Package/gstreamer1-ugly/description/Default
  37. GStreamer open source multimedia framework
  38. endef
  39. define Package/gst1-plugins-ugly
  40. $(call Package/gstreamer1-ugly/Default)
  41. TITLE+= plugins collection (ugly)
  42. DEPENDS+= $(GST_DEPENDS)
  43. HIDDEN:=1
  44. endef
  45. define Package/gts-plugins-ugly/description
  46. $(call Package/gstreamer1-ugly/description/Default)
  47. .
  48. This meta package contains only dependencies to the other plugins from
  49. the ugly plugins collection.
  50. endef
  51. define Package/gstreamer1-plugins-ugly
  52. $(call Package/gstreamer1-ugly/Default)
  53. TITLE+= plugins collection (ugly)
  54. DEPENDS:=+ALL:gst1-plugins-ugly +gstreamer1-plugins-base
  55. endef
  56. define Package/gstreamer1-plugins-ugly/config
  57. menu "Select GStreamer ugly modules"
  58. depends on PACKAGE_gstreamer1-plugins-ugly
  59. config gst1-plugins-ugly-all
  60. bool "Include all GStreamer ugly plugins"
  61. select PACKAGE_gst1-plugins-ugly
  62. comment "Modules"
  63. $(foreach mod,$(GST_UGLY_MODULES), \
  64. config PACKAGE_gst1-mod-$(mod)
  65. prompt "GStreamer $(mod) module"
  66. )
  67. endmenu
  68. endef
  69. GST_COND_SELECT = $(patsubst %,$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),--enable,--disable)-%,$(1))
  70. GST_VERSION:=1.0
  71. CONFIGURE_ARGS += \
  72. --disable-debug \
  73. --disable-examples \
  74. \
  75. --disable-a52dec \
  76. --disable-amrnb \
  77. --disable-amrwb \
  78. $(call GST_COND_SELECT,asf) \
  79. --disable-cdio \
  80. --disable-dvdlpcmdec \
  81. --disable-dvdread \
  82. --disable-dvdsub \
  83. --disable-iec958 \
  84. $(call GST_COND_SELECT,lame) \
  85. $(call GST_COND_SELECT,mpg123) \
  86. $(call GST_COND_SELECT,mpeg2dec) \
  87. --disable-mpegaudioparse \
  88. --disable-mpegstream \
  89. --disable-realmedia \
  90. --disable-sidplay \
  91. --disable-synaesthesia \
  92. --disable-twolame \
  93. --disable-x264 \
  94. \
  95. --without-libiconv-prefix \
  96. --without-libintl-prefix \
  97. EXTRA_LDFLAGS+= \
  98. -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
  99. $(if $(ICONV_FULL),-liconv) \
  100. define Package/gst1-plugins-ugly/install
  101. /bin/true
  102. endef
  103. # 1: short name
  104. # 2: description
  105. # 3: dependencies on other gstreamer libraries (short name)
  106. # 4: dependencies on other gstreamer plugins (short name)
  107. # 5: dependencies on other packages
  108. define GstBuildPlugin
  109. GST_DEPENDS += +gst1-mod-$(1)
  110. GST_UGLY_MODULES+= $(1)
  111. define Package/gst1-mod-$(1)
  112. $(call Package/gstreamer1-ugly/Default)
  113. TITLE+= $(2) plugin (ugly)
  114. DEPENDS+= +libgstreamer1 $$(foreach p,$(3),+libgst1$$(p)) $$(foreach p,$(4),+gst1-mod-$$(p)) $(5)
  115. HIDDEN:=1
  116. endef
  117. define Package/gst1-mod-$(1)/description
  118. $(call Package/gstreamer1-ugly/description/Default)
  119. .
  120. This package contains the GStreamer $(2) plugin.
  121. endef
  122. define Package/gst1-mod-$(1)/install
  123. $(INSTALL_DIR) $$(1)/usr/lib/gstreamer-$(GST_VERSION)
  124. ( cd $(PKG_INSTALL_DIR); $(CP) \
  125. ./usr/lib/gstreamer-$(GST_VERSION)/libgst$(1).so* \
  126. $$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
  127. )
  128. endef
  129. $$(eval $$(call BuildPackage,gst1-mod-$(1)))
  130. endef
  131. $(eval $(call GstBuildPlugin,asf,ASF demuxer,audio video riff rtp rtsp sdp tag,,))
  132. $(eval $(call GstBuildPlugin,lame,MP3 encoder (using LAME),audio,,+lame-lib))
  133. $(eval $(call GstBuildPlugin,mpg123,MP3 decoder (using mpg123),audio tag,,+libid3tag +mpg123))
  134. $(eval $(call GstBuildPlugin,mpeg2dec,MPEG decoder,video,,+libmpeg2))
  135. $(eval $(call BuildPackage,gstreamer1-plugins-ugly))
  136. $(eval $(call BuildPackage,gst1-plugins-ugly))