[package] add gst-plugins-ugly (#6300)
[openwrt.org/packages.git] / multimedia / gst-plugins-ugly / Makefile
blob:a/multimedia/gst-plugins-ugly/Makefile -> blob:b/multimedia/gst-plugins-ugly/Makefile
--- a/multimedia/gst-plugins-ugly/Makefile
+++ b/multimedia/gst-plugins-ugly/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009 OpenWrt.org
+# Copyright (C) 2009-2011 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,92 +8,127 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gst-plugins-ugly
-PKG_VERSION:=0.10.13
+PKG_VERSION:=0.10.19
 PKG_RELEASE:=1
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gst-plugins-ugly/
-PKG_MD5SUM:=1619365247ef9cd7da1cd890285bf87a
-PKG_FIXUP:=libtool
+PKG_MD5SUM:=ba26045c8c8c91f0d48d327ccf53ac0c
+
+PKG_BUILD_DEPENDS:= gstreamer gst-plugins-base liboil
+PKG_CONFIG_Dba26045c8c8c91f0d48d327ccf53ac0cEPENDS:= \
+	CONFIG_PACKAGE_gst-mod-asf \
+	CONFIG_PACKAGE_gst-mod-lame \
+	CONFIG_PACKAGE_gst-mod-mad \
+	CONFIG_PACKAGE_gst-mod-mpeg2dec \
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
 
-#export PATH:=$(PKG_BUILD_DIR)/bin:$(TARGET_PATH)
+define Package/gstreamer/Default
+  CATEGORY:=Multimedia
+  SECTION:=multimedia
+  TITLE:=GStreamer
+  URL:=http://gstreamer.freedesktop.org/
+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-ugly
+$(call Package/gstreamer/Default)
+  TITLE+= plugins collection (ugly)
+  DEPENDS+= $(GST_DEPENDS)
+endef
+
+define Package/gts-plugins-ugly/description
+$(call Package/gstreamer/description/Default)
+ .
+ This meta package contains only dependencies to the other plugins from
+ the ugly plugins collection.
+endef
+
+
+GST_COND_SELECT = $(patsubst %,$(if $(CONFIG_PACKAGE_gst-mod-$(1)),--enable,--disable)-%,$(1))
+
+GST_VERSION:=0.10
+
+CONFIGURE_ARGS += \
+	--disable-examples \
+	\
+	--disable-a52dec \
+	--disable-amrnb \
+	--disable-amrwb \
+	$(call GST_COND_SELECT,asf) \
+	--disable-cdio \
+	--disable-dvdlpcmdec \
+	--disable-dvdread \
+	--disable-dvdsub \
+	--disable-iec958 \
+	$(call GST_COND_SELECT,lame) \
+	$(call GST_COND_SELECT,mad) \
+	$(call GST_COND_SELECT,mpeg2dec) \
+	--disable-mpegaudioparse \
+	--disable-mpegstream \
+	--disable-realmedia \
+	--disable-sidplay \
+	--disable-synaesthesia \
+	--disable-twolame \
+	--disable-x264 \
+	\
+	--without-libiconv-prefix \
+	--without-libintl-prefix \
 
 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-ugly/Default
-  TITLE:=gst-plugins-ugly
-  URL:=http://gstreamer.freedesktop.org/
+
+define Package/gst-plugins-ugly/install
+	/bin/true
 endef
 
-define Package/gst-plugins-ugly-lame
-  $(call Package/gst-plugins-ugly/Default)
-  SECTION:=multimedia
-  CATEGORY:=Multimedia
-  TITLE+= (lame)
-  DEPENDS:=+gstreamer +gst-plugins-base +lame
+
+# 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 (ugly)
+    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-ugly-lame/description
-	gstreamer MP3 encoder plugin
-endef
+$(eval $(call GstBuildPlugin,asf,ASF demuxer,audio riff rtp rtsp sdp tag,,))
+$(eval $(call GstBuildPlugin,lame,MP3 encoder (using LAME),audio,,+lame-lib))
+$(eval $(call GstBuildPlugin,mad,MP3 decoder (using MAD),audio tag,,+libid3tag +libmad))
+$(eval $(call GstBuildPlugin,mpeg2dec,MPEG decoder,video,,+libmpeg2))
 
-define Package/gst-plugins-ugly-mad
-  $(call Package/gst-plugins-ugly/Default)
-  SECTION:=multimedia
-  CATEGORY:=Multimedia
-  TITLE+= (mad)
-  DEPENDS:=+gstreamer +gst-plugins-base +libmad +libid3tag
-endef
+$(eval $(call BuildPackage,gst-plugins-ugly))
 
-define Package/gst-plugins-ugly-mad/description
-=
-	gstreamer MP3 decoder plugins
-endef
-
-define Build/Configure
-	$(call Build/Configure/Default, \
-		--disable-pango \
-		--disable-gnome_vfs \
-		--disable-examples \
-		--disable-cdparanoia \
-		--disable-libvisual \
-		--disable-oggtest \
-		--disable-vorbistest \
-		--disable-freetypetest \
-		--without-x \
-	)
-	mkdir -p $(PKG_BUILD_DIR)/bin
-	touch $(PKG_BUILD_DIR)/bin/gtkdoc-reugly
-	chmod +x $(PKG_BUILD_DIR)/bin/gtkdoc-reugly
-endef
-
-define Package/gst-plugins-ugly-lame/install
-	$(INSTALL_DIR) $(1)/usr/lib/gstreamer-0.10
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/gstreamer-0.10/libgstlame.so \
-		$(1)/usr/lib/gstreamer-0.10
-endef
-
-define Package/gst-plugins-ugly-mad/install
-	$(INSTALL_DIR) $(1)/usr/lib/gstreamer-0.10
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/gstreamer-0.10/libgstmad.so \
-		$(1)/usr/lib/gstreamer-0.10
-endef
-
-$(eval $(call BuildPackage,gst-plugins-ugly-lame))
-$(eval $(call BuildPackage,gst-plugins-ugly-mad))
-

comments