[package] update gst-plugins-good to 0.10.17, modularize build (#6303)
[openwrt.org/packages.git] / multimedia / gst-plugins-good / Makefile
blob:a/multimedia/gst-plugins-good/Makefile -> blob:b/multimedia/gst-plugins-good/Makefile
--- a/multimedia/gst-plugins-good/Makefile
+++ b/multimedia/gst-plugins-good/Makefile
@@ -1,5 +1,4 @@
-#
-# Copyright (C) 2009 OpenWrt.org
+## Copyright (C) 2009-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,95 +7,168 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst-plugins-good
-PKG_VERSION:=0.10.17
+PKG_VERSION:=0.10.23
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-good/
-PKG_MD5SUM:=833546cd2b8bbf86b8ed083b00897918
+PKG_MD5SUM:=9cddbb0e7e90677f0cc05c23feffef5c
+
+PKG_BUILD_DEPENDS:= gstreamer gst-plugins-base liboil
+
 PKG_FIXUP:=libtool
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
-export PATH:=$(PKG_BUILD_DIR)/bin:$(TARGET_PATH)
+define Package/gstreamer/Default
+  CATEGORY:=Multimedia
+  SECTION:=multimedia
+  TITLE:=GStreamer
+  URL:=http://gstreamer.freedesktop.org/
+  DEPENDS:= @!LINUX_2_4
+endef
 
-PKG_INSTALL=1
+define Package/gstreamer/description/Default
+ GStreamer open source multimedia framework
+endef
 
-EXTRA_CFLAGS+= \
-	-I$(STAGING_DIR)/usr/lib/libintl/include \
-	-I$(STAGING_DIR)/usr/lib/libiconv/include \
-	-I$(STAGING_DIR)/usr/include/gtk-2.0/gdk \
-	-I$(STAGING_DIR)/usr/include/gstreamer-0.10
+
+define Package/gst-plugins-good
+$(call Package/gstreamer/Default)
+  TITLE+= plugins collection (good)
+  DEPENDS+= $(GST_DEPENDS)
+endef
+
+define Package/gts-plugins-good/description
+$(call Package/gstreamer/description/Default)
+ .
+ This meta package contains only dependencies to the other plugins from
+ the good plugins collection.
+endef
+
+
+GST_VERSION:=0.10
+
+CONFIGURE_ARGS += \
+	--disable-debug \
+	--disable-examples \
+	\
+	--disable-aalib \
+	--disable-alpha \
+	--disable-annodex \
+	--disable-apetag \
+	--disable-auparse \
+	--disable-avi \
+	--disable-bz2 \
+	--disable-cairo \
+	--disable-directsound \
+	--disable-dv1394 \
+	--disable-effectv \
+	--disable-esd \
+	--disable-flv \
+	--disable-flx \
+	--disable-gconf \
+	--disable-gconftool \
+	--disable-gdk_pixbuf \
+	--disable-goom \
+	--disable-goom2k1 \
+	--disable-gst_v4l2 \
+	--disable-icydemux \
+	--disable-hal \
+	--disable-jpeg \
+	--disable-law \
+	--disable-libcaca \
+	--disable-libdv \
+	--disable-libpng \
+	--disable-matroska \
+	--disable-monoscope \
+	--disable-osx_audio \
+	--disable-osx_video \
+	--disable-pulse \
+	--disable-qtdemux \
+	--disable-rtspmanager \
+	--disable-smpte \
+	--disable-shout2 \
+	--disable-soup \
+	--disable-speex \
+	--disable-sunaudio \
+	--disable-taglib \
+	--disable-videobox \
+	--disable-videocrop \
+	--disable-videofilter \
+	--disable-videomixer \
+	--disable-wavpack \
+	--disable-x \
+	--disable-xshm \
+	--disable-xvideo \
+	--disable-y4m \
+	--disable-zlib \
+	\
+	--without-libiconv-prefix \
+	--without-libintl-prefix \
+	--without-x \
 
 EXTRA_LDFLAGS+= \
 	-Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
-	-L$(STAGING_DIR)/usr/lib/libintl/lib \
-	-L$(STAGING_DIR)/usr/lib/libiconv/lib
 
-define Package/gst-plugins-good/Default
-  SECTION:=multimedia
-  CATEGORY:=Multimedia
-  DEPENDS:=+gstreamer +gst-plugins-base
-  TITLE:=gst-plugins-good
-  URL:=http://gstreamer.freedesktop.org/
+
+define Package/gst-plugins-good/install
+	/bin/true
 endef
 
-define Package/gst-plugins-good-flac
-  $(call Package/gst-plugins-good/Default)
-  TITLE+= (flac)
-  DEPENDS += +libflac
+
+# 1: short name
+# 2: description
+# 3: dependencies on other gstreamer libraries (short name)
+# 4: dependencies on other gstreamer plugins (short name)
+# 5: dependencies on other packages
+define GstBuildPlugin
+
+  GST_DEPENDS += +gst-mod-$(1)
+
+  define Package/gst-mod-$(1)
+    $(call Package/gstreamer/Default)
+    TITLE+= $(2) plugin (good)
+    DEPENDS+= +libgstreamer $$(foreach p,$(3),+libgst$$(p)) $$(foreach p,$(4),+gst-mod-$$(p)) $(5)
+  endef
+
+  define Package/gst-mod-$(1)/description
+   $(call Package/gstreamer/description/Default)
+   .
+   This package contains the GStreamer $(2) plugin.
+  endef
+
+  define Package/gst-mod-$(1)/install
+	$(INSTALL_DIR) $$(1)/usr/lib/gstreamer-$(GST_VERSION)
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/lib/gstreamer-$(GST_VERSION)/libgst$(1).so* \
+		$$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
+	)
+  endef
+
+  $$(eval $$(call BuildPackage,gst-mod-$(1)))
 endef
 
-define Package/gst-plugins-good-flac/description
-  gstreamer FLAC plugins
-endef
+$(eval $(call GstBuildPlugin,audiofx,audio effects,audio controller,,))
+$(eval $(call GstBuildPlugin,autodetect,format auto-detection,,,))
+$(eval $(call GstBuildPlugin,cutter,audio cutter,audio,,))
+$(eval $(call GstBuildPlugin,debug,debugging,,,))
+$(eval $(call GstBuildPlugin,equalizer,audio equalizer,audio controller,,))
+$(eval $(call GstBuildPlugin,flac,FLAC codec,pbutils tag,,+libflac))
+$(eval $(call GstBuildPlugin,id3demux,ID3v1/v2 demuxer,pbutils tag,,))
+$(eval $(call GstBuildPlugin,interleave,audio interleave,audio,,))
+$(eval $(call GstBuildPlugin,level,audio level,audio,,))
+$(eval $(call GstBuildPlugin,multifile,multiple files access,,,))
+$(eval $(call GstBuildPlugin,multipart,multipart stream handling,,,))
+$(eval $(call GstBuildPlugin,ossaudio,OSS audio support,audio,,))
+$(eval $(call GstBuildPlugin,replaygain,volume normalization,pbutils,,))
+$(eval $(call GstBuildPlugin,rtp,RTP,audio rtp tag,,))
+$(eval $(call GstBuildPlugin,rtsp,RTSP,interfaces rtp rtsp sdp,,))
+$(eval $(call GstBuildPlugin,spectrum,spectrum data output,audio fft,,))
+$(eval $(call GstBuildPlugin,udp,UDP,netbuffer,,))
+$(eval $(call GstBuildPlugin,wavenc,Wav encoder,,,))
+$(eval $(call GstBuildPlugin,wavparse,Wav parser,audio riff tag,,))
 
-define Package/gst-plugins-good-id3demux
-  $(call Package/gst-plugins-good/Default)
-  TITLE+= (id3demux)
-  DEPENDS += +libid3tag
-endef
+$(eval $(call BuildPackage,gst-plugins-good))
 
-define Package/gst-plugins-good-id3demux/description
-  gstreamer FLAC plugins
-endef
-
-define Build/Configure
-	$(call Build/Configure/Default, \
-		--disable-examples \
-		--disable-esd \
-		--disable-gconf \
-		--disable-gconftool \
-		--disable-shout2 \
-		--disable-aalib \
-		--disable-oss \
-		--disable-hal \
-		--disable-dv \
-		--disable-pulse \
-		--disable-dv1394 \
-		--disable-soup \
-		--disable-osx_audio \
-		--disable-osx_video \
-		--disable-directdraw \
-		--disable-directshow \
-		--disable-sunaudio \
-		--without-x \
-	)
-	mkdir -p $(PKG_BUILD_DIR)/bin
-	touch $(PKG_BUILD_DIR)/bin/gtkdoc-rebase
-	chmod +x $(PKG_BUILD_DIR)/bin/gtkdoc-rebase
-endef
-
-define BuildPlugin
-  define Package/gst-plugins-good-$(1)/install
-	$(INSTALL_DIR) $(1)/usr/lib/gstreamer-0.10
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/gstreamer-0.10/libgst$(1).so \
-		$(1)/usr/lib/gstreamer-0.10
-  endef
-
-  $$(eval $$(call BuildPackage,gst-plugins-good-$(1)))
-endef
-
-$(eval $(call BuildPlugin,id3demux))
-

comments