Adding md5sum to gstreamer
[openwrt.org/packages.git] / multimedia / gstreamer / Makefile
blob:a/multimedia/gstreamer/Makefile -> blob:b/multimedia/gstreamer/Makefile
--- a/multimedia/gstreamer/Makefile
+++ b/multimedia/gstreamer/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2008 OpenWrt.org
+# Copyright (C) 2008-2013 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,57 +8,186 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gstreamer
-PKG_VERSION:=0.10.12
-PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_VERSION:=0.10.36
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://gstreamer.freedesktop.org/src/gstreamer/
-PKG_FIXUP:=libtool
-PKG_MD5SUM:=82192b54a7a914609dfb97e2a44b311e
+PKG_MD5SUM:=a0cf7d6877f694a1a2ad2b4d1ecb890b
+
+PKG_FIXUP:=autoreconf
+PKG_REMOVE_FILES:=autogen.sh aclocal.m4
+
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
 
-EXTRA_CFLAGS+= -I$(STAGING_DIR)/usr/lib/libintl/include/ -I$(STAGING_DIR)/usr/lib/libiconv/include/
-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/gstreamer/Default
+  CATEGORY:=Multimedia
+  SECTION:=multimedia
+  TITLE:=GStreamer
+  URL:=http://gstreamer.freedesktop.org/
+endef
+
+define Package/gstreamer/description/Default
+ GStreamer open source multimedia framework
+endef
+
 
 define Package/gstreamer
-  SECTION:=multimedia
-  CATEGORY:=Multimedia
-  TITLE:=gstreamer
-  URL:=http://gstreamer.freedesktop.org/
-  DEPENDS:=+libxml2 +check
-  MENU:=1
+$(call Package/gstreamer/Default)
+  TITLE+= framework
+  DEPENDS+= +libgstreamer \
+	+libgstcheck \
+	+libgstcontroller \
+	+libgstdataprotocol \
+	+libgstnet
 endef
 
 define Package/gstreamer/description
-	gnu streamer
+$(call Package/gstreamer/description/Default)
+ .
+ This meta package contains only dependencies on the other GStreamer
+ componenents.
 endef
 
-define Build/Configure
-	(cd $(PKG_BUILD_DIR); \
-		if [ -x $(CONFIGURE_CMD) ]; then \
-			$(CP) $(SCRIPT_DIR)/config.{guess,sub} $(PKG_BUILD_DIR)/ && \
-			$(CONFIGURE_VARS) \
-			$(CONFIGURE_CMD) \
-			--disable-tests \
-			$(CONFIGURE_ARGS) ;\
-		fi \
+
+define Package/gstreamer-utils
+$(call Package/gstreamer/Default)
+  TITLE+= utilities
+  DEPENDS+= +libgstreamer
+endef
+
+define Package/gstreamer-utils/description
+$(call Package/gstreamer/description/Default)
+ .
+ This package contains the GStreamer utilities.
+endef
+
+
+define Package/libgstreamer
+$(call Package/gstreamer/Default)
+  TITLE+= library (core)
+  DEPENDS+= +glib2 +libpthread +libxml2
+endef
+
+define Package/libgstreamer/description
+$(call Package/gstreamer/description/Default)
+ .
+ This package contains the GStreamer core library.
+endef
+
+
+GST_VERSION:=0.10
+
+CONFIGURE_ARGS += \
+	--disable-examples \
+	--disable-tests \
+	--disable-valgrind \
+	--without-libiconv-prefix \
+	--without-libintl-prefix \
+	--without-x \
+
+EXTRA_LDFLAGS+= \
+	-Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
+	-L$(ICONV_PREFIX)/lib -L$(INTL_PREFIX)/lib
+
+define Build/InstallDev
+	$(INSTALL_DIR) $(1)/usr/include/gstreamer-$(GST_VERSION)
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/include/gstreamer-$(GST_VERSION)/* \
+		$(1)/usr/include/gstreamer-$(GST_VERSION)/ \
+	)
+	$(INSTALL_DIR) $(1)/usr/lib
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/lib/libgst*-$(GST_VERSION).{a,la,so*} \
+		$(1)/usr/lib/ \
+	)
+	$(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/lib/gstreamer-$(GST_VERSION)/libgst*.{la,so} \
+		$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
+	)
+	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/lib/pkgconfig/gstreamer*-$(GST_VERSION).pc \
+		$(1)/usr/lib/pkgconfig/ \
+	)
+	$(INSTALL_DIR) $(2)/share/aclocal
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/share/aclocal/* \
+		$(2)/share/aclocal/ \
 	)
 endef
 
-define Build/Compile
-	cd $(PKG_BUILD_DIR) ; DESTDIR=$(PKG_INSTALL_DIR) $(MAKE) all install
-	cd $(PKG_INSTALL_DIR)/usr/include/; ln -s gstreamer-0.10/gst/
+define Package/gstreamer/install
+	/bin/true
 endef
 
-define Build/InstallDev
-	mkdir -p $(1)
-	cp -r $(PKG_INSTALL_DIR)/* $(1)
+define Package/gstreamer-utils/install
+	$(INSTALL_DIR) $(1)/usr/bin
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/bin/gst-feedback* \
+		./usr/bin/gst-launch* \
+		./usr/bin/gst-inspect* \
+		./usr/bin/gst-typefind* \
+		./usr/bin/gst-xmlinspect* \
+		./usr/bin/gst-xmllaunch* \
+		$(1)/usr/bin/ \
+	)
 endef
 
-define Package/gstreamer/install
-	mkdir -p $(1)
-	cp -r $(PKG_INSTALL_DIR)/* $(1)
+define Package/libgstreamer/install
+	$(INSTALL_DIR) $(1)/usr/lib
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/lib/libgstbase-$(GST_VERSION).so.* \
+		./usr/lib/libgstreamer-$(GST_VERSION).so.* \
+		$(1)/usr/lib/ \
+	)
+	$(INSTALL_DIR) $(1)/usr/lib/gstreamer-$(GST_VERSION)
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/lib/gstreamer-$(GST_VERSION)/libgst*.so \
+		$(1)/usr/lib/gstreamer-$(GST_VERSION)/ \
+	)
 endef
 
+
+# 1: short name
+# 2: description
+# 3: dependencies on other gstreamer libraries (short name)
+# 4: dependencies on other packages
+define GstBuildLibrary
+
+  define Package/libgst$(1)
+    $(call Package/gstreamer/Default)
+    TITLE+= $(2) library (core)
+    DEPENDS+= +libgstreamer $$(foreach p,$(3),+libgst$$(p)) $(4)
+  endef
+
+  define Package/libgst$(1)/description
+   $(call Package/gstreamer/description/Default)
+   .
+   This package contains the GStreamer $(2) library.
+  endef
+
+  define Package/libgst$(1)/install
+	$(INSTALL_DIR) $$(1)/usr/lib
+	( cd $(PKG_INSTALL_DIR); $(CP) \
+		./usr/lib/libgst$(1)-$(GST_VERSION).so.* \
+		$$(1)/usr/lib/ \
+	)
+  endef
+
+  $$(eval $$(call BuildPackage,libgst$(1)))
+endef
+
+$(eval $(call GstBuildLibrary,check,check unit testing))
+$(eval $(call GstBuildLibrary,controller,dynamic parameter control))
+$(eval $(call GstBuildLibrary,dataprotocol,data protocol))
+$(eval $(call GstBuildLibrary,net,network classes))
+
 $(eval $(call BuildPackage,gstreamer))
+$(eval $(call BuildPackage,gstreamer-utils))
+$(eval $(call BuildPackage,libgstreamer))
 

comments