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.

292 lines
10 KiB

  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-good
  9. PKG_VERSION:=1.18.4
  10. PKG_RELEASE:=$(AUTORELEASE)
  11. PKG_SOURCE:=gst-plugins-good-$(PKG_VERSION).tar.xz
  12. PKG_SOURCE_URL:=https://gstreamer.freedesktop.org/src/gst-plugins-good/
  13. PKG_HASH:=b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0
  14. PKG_BUILD_DIR:=$(BUILD_DIR)/gst-plugins-good-$(PKG_VERSION)
  15. PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org> \
  16. Ted Hess <thess@kitschensync.net>
  17. PKG_LICENSE:=LGPL-2.1-or-later
  18. PKG_LICENSE_FILES:=COPYING
  19. PKG_CPE_ID:=cpe:/a:gstreamer:good_plug-ins
  20. PKG_INSTALL:=1
  21. include $(INCLUDE_DIR)/package.mk
  22. include $(INCLUDE_DIR)/nls.mk
  23. include ../../devel/meson/meson.mk
  24. PKG_CONFIG_DEPENDS:= \
  25. CONFIG_PACKAGE_gst1-mod-lame \
  26. CONFIG_PACKAGE_gst1-mod-mpg123
  27. GST_GOOD_MODULES:=
  28. define Package/gstreamer1-good/Default
  29. CATEGORY:=Multimedia
  30. SECTION:=multimedia
  31. TITLE:=GStreamer
  32. URL:=https://gstreamer.freedesktop.org/
  33. DEPENDS:= +libgstreamer1 +libgst1pbutils $(ICONV_DEPENDS)
  34. endef
  35. define Package/gstreamer1-good/description/Default
  36. GStreamer open source multimedia framework
  37. endef
  38. define Package/gst1-plugins-good
  39. $(call Package/gstreamer1-good/Default)
  40. TITLE+= plugins collection (good)
  41. DEPENDS+= $(GST_DEPENDS)
  42. HIDDEN:=1
  43. endef
  44. define Package/gst1-plugins-good/description
  45. $(call Package/gstreamer1-good/description/Default)
  46. .
  47. This meta package contains only dependencies to the other plugins from
  48. the good plugins collection.
  49. endef
  50. define Package/gstreamer1-plugins-good
  51. $(call Package/gstreamer1-good/Default)
  52. TITLE+= plugins collection (good)
  53. DEPENDS:=+ALL:gst1-plugins-good +gstreamer1-plugins-base
  54. endef
  55. define Package/gstreamer1-plugins-good/config
  56. menu "Select GStreamer good modules"
  57. depends on PACKAGE_gstreamer1-plugins-good
  58. config gst1-plugins-good-all
  59. bool "Include all GStreamer good plugins"
  60. select PACKAGE_gst1-plugins-good
  61. comment "Modules"
  62. $(foreach mod,$(GST_GOOD_MODULES), \
  63. config PACKAGE_gst1-mod-$(mod)
  64. prompt "GStreamer $(mod) module"
  65. )
  66. endmenu
  67. endef
  68. GST_COND_SELECT = -D$(1)=$(if $(CONFIG_PACKAGE_gst1-mod-$(1)),en,dis)abled
  69. GST_VERSION:=1.0
  70. MESON_ARGS += \
  71. $(call GST_COND_SELECT,alpha) \
  72. $(call GST_COND_SELECT,apetag) \
  73. $(call GST_COND_SELECT,audiofx) \
  74. $(call GST_COND_SELECT,audioparsers) \
  75. $(call GST_COND_SELECT,auparse) \
  76. $(call GST_COND_SELECT,autodetect) \
  77. $(call GST_COND_SELECT,avi) \
  78. $(call GST_COND_SELECT,cutter) \
  79. -Ddebugutils=$(if $(CONFIG_PACKAGE_gst1-mod-debug),en,dis)abled \
  80. $(call GST_COND_SELECT,deinterlace) \
  81. $(call GST_COND_SELECT,dtmf) \
  82. $(call GST_COND_SELECT,effectv) \
  83. $(call GST_COND_SELECT,equalizer) \
  84. $(call GST_COND_SELECT,flv) \
  85. -Dflx=$(if $(CONFIG_PACKAGE_gst1-mod-flxdec),en,dis)abled \
  86. $(call GST_COND_SELECT,goom) \
  87. $(call GST_COND_SELECT,goom2k1) \
  88. $(call GST_COND_SELECT,icydemux) \
  89. $(call GST_COND_SELECT,id3demux) \
  90. $(call GST_COND_SELECT,imagefreeze) \
  91. $(call GST_COND_SELECT,interleave) \
  92. $(call GST_COND_SELECT,isomp4) \
  93. -Dlaw=$(if $(CONFIG_PACKAGE_gst1-mod-mulaw),en,dis)abled \
  94. $(call GST_COND_SELECT,level) \
  95. $(call GST_COND_SELECT,matroska) \
  96. $(call GST_COND_SELECT,monoscope) \
  97. $(call GST_COND_SELECT,multifile) \
  98. $(call GST_COND_SELECT,multipart) \
  99. $(call GST_COND_SELECT,replaygain) \
  100. $(call GST_COND_SELECT,rtp) \
  101. $(call GST_COND_SELECT,rtpmanager) \
  102. $(call GST_COND_SELECT,rtsp) \
  103. $(call GST_COND_SELECT,shapewipe) \
  104. $(call GST_COND_SELECT,smpte) \
  105. $(call GST_COND_SELECT,spectrum) \
  106. $(call GST_COND_SELECT,udp) \
  107. $(call GST_COND_SELECT,videobox) \
  108. $(call GST_COND_SELECT,videocrop) \
  109. $(call GST_COND_SELECT,videofilter) \
  110. $(call GST_COND_SELECT,videomixer) \
  111. $(call GST_COND_SELECT,wavenc) \
  112. $(call GST_COND_SELECT,wavparse) \
  113. $(call GST_COND_SELECT,y4m) \
  114. \
  115. $(call GST_COND_SELECT,aalib) \
  116. $(call GST_COND_SELECT,bz2) \
  117. $(call GST_COND_SELECT,cairo) \
  118. -Ddirectsound=disabled \
  119. $(call GST_COND_SELECT,dv) \
  120. -Ddv1394=$(if $(CONFIG_PACKAGE_gst1-mod-1394),en,dis)abled \
  121. $(call GST_COND_SELECT,flac) \
  122. -Dgdk-pixbuf=disabled \
  123. -Dgtk3=disabled \
  124. -Djack=disabled \
  125. $(call GST_COND_SELECT,jpeg) \
  126. $(call GST_COND_SELECT,lame) \
  127. -Dlibcaca=disabled \
  128. $(call GST_COND_SELECT,mpg123) \
  129. -Doss=$(if $(CONFIG_PACKAGE_gst1-mod-ossaudio),en,dis)abled \
  130. $(call GST_COND_SELECT,oss4) \
  131. -Dosxaudio=disabled \
  132. -Dosxvideo=disabled \
  133. $(call GST_COND_SELECT,png) \
  134. $(call GST_COND_SELECT,pulse) \
  135. -Dqt5=disabled \
  136. $(call GST_COND_SELECT,shout2) \
  137. $(call GST_COND_SELECT,soup) \
  138. $(call GST_COND_SELECT,speex) \
  139. $(call GST_COND_SELECT,taglib) \
  140. $(call GST_COND_SELECT,twolame) \
  141. $(call GST_COND_SELECT,vpx) \
  142. -Dwaveform=disabled \
  143. $(call GST_COND_SELECT,wavpack) \
  144. \
  145. -Dximagesrc=disabled \
  146. -Dv4l2=$(if $(CONFIG_PACKAGE_gst1-mod-video4linux2),en,dis)abled \
  147. -Dexamples=disabled \
  148. -Dtests=disabled \
  149. -Dnls=enabled \
  150. -Dorc=disabled \
  151. -Dgobject-cast-checks=disabled \
  152. -Dglib-asserts=disabled \
  153. -Dglib-checks=disabled \
  154. -Ddoc=disabled
  155. define Package/gst1-plugins-good/install
  156. /bin/true
  157. endef
  158. # 1: short name
  159. # 2: description
  160. # 3: dependencies on other gstreamer libraries (short name)
  161. # 4: dependencies on other gstreamer plugins (short name)
  162. # 5: dependencies on other packages
  163. define GstBuildPlugin
  164. GST_DEPENDS += +gst1-mod-$(1)
  165. GST_GOOD_MODULES+= $(1)
  166. define Package/gst1-mod-$(1)
  167. $(call Package/gstreamer1-good/Default)
  168. TITLE+= $(2) plugin (good)
  169. DEPENDS+= $$(foreach p,$(3),+libgst1$$(p)) $$(foreach p,$(4),+gst1-mod-$$(p)) $(5)
  170. HIDDEN:=1
  171. endef
  172. define Package/gst1-mod-$(1)/description
  173. $(call Package/gstreamer1-good/description/Default)
  174. .
  175. This package contains the GStreamer $(2) plugin.
  176. endef
  177. define Package/gst1-mod-$(1)/install
  178. $(INSTALL_DIR) $$(1)/usr/lib/gstreamer-$(GST_VERSION)
  179. ( cd $(PKG_INSTALL_DIR); $(CP) \
  180. ./usr/lib/gstreamer-$(GST_VERSION)/libgst$(1).so* \
  181. $$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
  182. )
  183. endef
  184. $$(eval $$(call BuildPackage,gst1-mod-$(1)))
  185. endef
  186. $(eval $(call GstBuildPlugin,alaw,alaw codec,audio,,))
  187. $(eval $(call GstBuildPlugin,alpha,alpha support,video,,))
  188. $(eval $(call GstBuildPlugin,apetag,apetag support,audio pbutils tag video,,))
  189. $(eval $(call GstBuildPlugin,audiofx,audio effects,audio fft controller,,))
  190. $(eval $(call GstBuildPlugin,audioparsers,audioparsers,audio tag pbutils,,))
  191. $(eval $(call GstBuildPlugin,auparse,auparse,audio tag pbutils,,))
  192. $(eval $(call GstBuildPlugin,autodetect,format auto-detection,,,))
  193. $(eval $(call GstBuildPlugin,avi,avi support,audio riff tag video,,))
  194. $(eval $(call GstBuildPlugin,cutter,audio cutter,audio,,))
  195. $(eval $(call GstBuildPlugin,debug,debugging,,,))
  196. #$(eval $(call GstBuildPlugin,deinterlace,deinterlace support,video,,))
  197. $(eval $(call GstBuildPlugin,dtmf,dtmf support,rtp,,))
  198. $(eval $(call GstBuildPlugin,effectv,effectvsupport,video,,))
  199. $(eval $(call GstBuildPlugin,equalizer,audio equalizer,audio controller,,))
  200. $(eval $(call GstBuildPlugin,flv,flv codec,audio pbutils tag video,,))
  201. $(eval $(call GstBuildPlugin,flxdec,flx codec,,,))
  202. $(eval $(call GstBuildPlugin,goom,goom support,audio video pbutils,,))
  203. $(eval $(call GstBuildPlugin,goom2k1,goom support,audio video pbutils,,))
  204. $(eval $(call GstBuildPlugin,icydemux,icy demuxer,audio tag,,))
  205. $(eval $(call GstBuildPlugin,id3demux,ID3v1/v2 demuxer,pbutils tag,,))
  206. $(eval $(call GstBuildPlugin,imagefreeze,imagefreeze support,,,))
  207. $(eval $(call GstBuildPlugin,interleave,audio interleave,audio,,))
  208. $(eval $(call GstBuildPlugin,isomp4,isomp4 support,audio pbutils riff rtp tag video,,))
  209. $(eval $(call GstBuildPlugin,level,audio level,audio,,))
  210. $(eval $(call GstBuildPlugin,matroska,matroska support,audio pbutils riff tag video,,))
  211. $(eval $(call GstBuildPlugin,monoscope,monoscope,,,))
  212. $(eval $(call GstBuildPlugin,multifile,multiple files access,video,,))
  213. $(eval $(call GstBuildPlugin,multipart,multipart stream handling,,,))
  214. $(eval $(call GstBuildPlugin,replaygain,volume normalization,pbutils,,))
  215. $(eval $(call GstBuildPlugin,rtp,RTP,audio rtp tag pbutils video,,))
  216. $(eval $(call GstBuildPlugin,rtpmanager,RTP manager,audio net rtp tag pbutils video,,))
  217. $(eval $(call GstBuildPlugin,rtsp,RTSP,net rtp rtsp sdp,,))
  218. $(eval $(call GstBuildPlugin,shapewipe,shapewipe support,video,,))
  219. $(eval $(call GstBuildPlugin,smpte,smpte support,video,,))
  220. $(eval $(call GstBuildPlugin,spectrum,spectrum data output,audio fft,,))
  221. $(eval $(call GstBuildPlugin,udp,UDP,net,,))
  222. $(eval $(call GstBuildPlugin,videobox,videobox support,video,,))
  223. $(eval $(call GstBuildPlugin,videocrop,videocrop support,video,,))
  224. $(eval $(call GstBuildPlugin,videofilter,videofilter support,video,,))
  225. $(eval $(call GstBuildPlugin,videomixer,videomixer support,video,,))
  226. $(eval $(call GstBuildPlugin,wavenc,Wav encoder,riff,,))
  227. $(eval $(call GstBuildPlugin,wavparse,Wav parser,audio riff tag,,))
  228. #$(eval $(call GstBuildPlugin,y4m,sty4menc support,video,,))
  229. #$(eval $(call GstBuildPlugin,1394,IEEE 1394 support,,,))
  230. #$(eval $(call GstBuildPlugin,aalib,aalib text console video sink,,,))
  231. #$(eval $(call GstBuildPlugin,alphacolor,alphacolor support,video,,))
  232. #$(eval $(call GstBuildPlugin,dv,dv support,audio tag video,,))
  233. $(eval $(call GstBuildPlugin,flac,FLAC codec,audio pbutils tag,,+libflac))
  234. #$(eval $(call GstBuildPlugin,gdkpixbuf,gdkpixbuf support,video,,))
  235. #$(eval $(call GstBuildPlugin,jack,jack support,audio,,))
  236. $(eval $(call GstBuildPlugin,jpeg,jpeg support,video,,+libjpeg))
  237. $(eval $(call GstBuildPlugin,lame,MP3 encoder (using LAME),audio,,+lame-lib))
  238. $(eval $(call GstBuildPlugin,mpg123,MP3 decoder (using mpg123),audio tag,,+libid3tag +mpg123))
  239. $(eval $(call GstBuildPlugin,mulaw,mulaw support,audio,,))
  240. $(eval $(call GstBuildPlugin,navigationtest,navigationtest support,video,,))
  241. $(eval $(call GstBuildPlugin,oss4,OSS 4 audio support,audio tag,,))
  242. $(eval $(call GstBuildPlugin,ossaudio,OSS audio support,audio,,))
  243. $(eval $(call GstBuildPlugin,png,png support,video,,+libpng))
  244. #$(eval $(call GstBuildPlugin,pulse,pulse support,audio pbutils tag video,,+pulseaudio))
  245. $(eval $(call GstBuildPlugin,shout2,shout2 support,audio,,+libshout))
  246. $(eval $(call GstBuildPlugin,soup,soup input,audio tag,,+libsoup))
  247. $(eval $(call GstBuildPlugin,speex,speex support,audio tag,,+libspeex))
  248. $(eval $(call GstBuildPlugin,taglib,taglib support,tag,,+taglib))
  249. $(eval $(call GstBuildPlugin,video4linux2,video4linux2 support,video allocators,,+libv4l))
  250. $(eval $(call GstBuildPlugin,vpx,vpx support,tag video,,+libvpx))
  251. #$(eval $(call GstBuildPlugin,wavpack,Wav packer,audio riff tag,,))
  252. #$(eval $(call GstBuildPlugin,ximagesrc,ximagesrc support,video,,))
  253. $(eval $(call BuildPackage,gstreamer1-plugins-good))
  254. $(eval $(call BuildPackage,gst1-plugins-good))