summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2009-04-29 07:21:02 +0000
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2009-04-29 07:21:02 +0000
commitf6d00867f9cbcf38a38c2fabd0b85d9ada740065 (patch)
tree42a312f212736eee2ebac72da6be7a5fe578834f
parentb7c3eb7aa732fb04cd86acd42eb0ed2b8c15370d (diff)
Add the shared-mime-info package
The shared-mime-info package contains the core database of common types and the update-mime-database command used to extend it. The only thing that is actually needed in the target is the file mime.cache. In order to generate that file, shared-mime-info is installed into the staging-dir. The idea is that other packages might add more mime-info files and these should be collected in staging-dir. From there the mime.cache file is created using tools installed in host-dir and copied to target. From Sven Neumann <s.neumann@raumfeld.com> Modifications by Thomas Petazzoni : * Add a patch to the main Makefile.am so that the $(XMLLINT) variable is used instead of hardcoding xmllint * Apply the patch in the host build of shared-mime-info * In the target build, pass an XMLLINT environment variable so that the xmllint binary isn't searched in $(STAGING_DIR) but in $(HOST_DIR) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--package/Config.in1
-rw-r--r--package/shared-mime-info/Config.in10
-rw-r--r--package/shared-mime-info/shared-mime-info-0.60-fix-xmllint.patch17
-rw-r--r--package/shared-mime-info/shared-mime-info.mk72
4 files changed, 100 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index a51a00a16..c66a3b94c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -100,6 +100,7 @@ if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS
source "package/psmisc/Config.in"
endif
source "package/screen/Config.in"
+source "package/shared-mime-info/Config.in"
source "package/startup-notification/Config.in"
source "package/strace/Config.in"
source "package/sudo/Config.in"
diff --git a/package/shared-mime-info/Config.in b/package/shared-mime-info/Config.in
new file mode 100644
index 000000000..9991899f5
--- /dev/null
+++ b/package/shared-mime-info/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_SHARED_MIME_INFO
+ bool "shared-mime-info"
+ select BR2_PACKAGE_LIBGLIB2
+ select BR2_PACKAGE_LIBXML2
+ help
+ The shared-mime-info package contains the core
+ database of common types and the update-mime-database
+ command used to extend it.
+
+ http://freedesktop.org/wiki/Software/shared-mime-info
diff --git a/package/shared-mime-info/shared-mime-info-0.60-fix-xmllint.patch b/package/shared-mime-info/shared-mime-info-0.60-fix-xmllint.patch
new file mode 100644
index 000000000..921333e3d
--- /dev/null
+++ b/package/shared-mime-info/shared-mime-info-0.60-fix-xmllint.patch
@@ -0,0 +1,17 @@
+---
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: shared-mime-info-0.60/Makefile.am
+===================================================================
+--- shared-mime-info-0.60.orig/Makefile.am
++++ shared-mime-info-0.60/Makefile.am
+@@ -72,7 +72,7 @@
+
+ check: freedesktop.org.xml
+ if test -n $(XMLLINT) ; then \
+- xmllint --noout --valid $(top_srcdir)/freedesktop.org.xml; \
++ $(XMLLINT) --noout --valid $(top_srcdir)/freedesktop.org.xml; \
+ fi
+ if test -d CVS/ && test -x ../xdgmime/src/test-mime-data && test -x $(top_builddir)/test-tree-magic ; then \
+ mkdir -p $(top_builddir)/temp-mime-dir/mime/packages ; \
diff --git a/package/shared-mime-info/shared-mime-info.mk b/package/shared-mime-info/shared-mime-info.mk
new file mode 100644
index 000000000..132acaab4
--- /dev/null
+++ b/package/shared-mime-info/shared-mime-info.mk
@@ -0,0 +1,72 @@
+#############################################################
+#
+# shared-mime-info
+#
+#############################################################
+SHARED_MIME_INFO_VERSION = 0.60
+SHARED_MIME_INFO_SOURCE = shared-mime-info-$(SHARED_MIME_INFO_VERSION).tar.bz2
+SHARED_MIME_INFO_SITE = http://freedesktop.org/~hadess
+
+SHARED_MIME_INFO_INSTALL_STAGING = YES
+SHARED_MIME_INFO_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) install
+SHARED_MIME_INFO_INSTALL_TARGET = NO
+
+SHARED_MIME_INFO_AUTORECONF = NO
+SHARED_MIME_INFO_CONF_ENV = XMLLINT=$(HOST_DIR)/usr/bin/xmllint
+SHARED_MIME_INFO_DEPENDENCIES = uclibc host-pkgconfig host-libglib2 host-libxml2
+
+SHARED_MIME_INFO_CONF_OPT = --disable-update-mimedb
+
+$(eval $(call AUTOTARGETS,package,shared-mime-info))
+
+
+# shared-mime-info for the host
+SHARED_MIME_INFO_HOST_DIR:=$(BUILD_DIR)/shared-mime-info-$(SHARED_MIME_INFO_VERSION)-host
+SHARED_MIME_INFO_HOST_BINARY:=$(HOST_DIR)/usr/bin/update-mime-database
+
+$(DL_DIR)/$(SHARED_MIME_INFO_SOURCE):
+ $(call DOWNLOAD,$(SHARED_MIME_INFO_SITE),$(SHARED_MIME_INFO_SOURCE))
+
+$(STAMP_DIR)/host_shared-mime-info_unpacked: $(DL_DIR)/$(SHARED_MIME_INFO_SOURCE)
+ mkdir -p $(SHARED_MIME_INFO_HOST_DIR)
+ $(INFLATE$(suffix $(SHARED_MIME_INFO_SOURCE))) $< | \
+ $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(SHARED_MIME_INFO_HOST_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(SHARED_MIME_INFO_HOST_DIR) package/shared-mime-info/ \*.patch
+ touch $@
+
+$(STAMP_DIR)/host_shared-mime-info_configured: $(STAMP_DIR)/host_shared-mime-info_unpacked $(STAMP_DIR)/host_pkgconfig_installed
+ (cd $(SHARED_MIME_INFO_HOST_DIR); rm -rf config.cache; \
+ $(HOST_CONFIGURE_OPTS) \
+ CFLAGS="$(HOST_CFLAGS)" \
+ LDFLAGS="$(HOST_LDFLAGS)" \
+ ./configure \
+ --prefix="$(HOST_DIR)/usr" \
+ --sysconfdir="$(HOST_DIR)/etc" \
+ --disable-update-mimedb \
+ )
+ touch $@
+
+$(STAMP_DIR)/host_shared-mime-info_compiled: $(STAMP_DIR)/host_shared-mime-info_configured
+ $(MAKE) -C $(SHARED_MIME_INFO_HOST_DIR)
+ touch $@
+
+$(STAMP_DIR)/host_shared-mime-info_installed: $(STAMP_DIR)/host_shared-mime-info_compiled
+ $(HOST_MAKE_ENV) $(MAKE) -C $(SHARED_MIME_INFO_HOST_DIR) install
+ touch $@
+
+host-shared-mime-info: $(STAMP_DIR)/host_shared-mime-info_installed
+
+host-shared-mime-info-source: shared-mime-info-source
+
+host-shared-mime-info-clean:
+ rm -f $(addprefix $(STAMP_DIR)/host_shared-mime-info_,unpacked configured compiled installed)
+ -$(MAKE) -C $(SHARED_MIME_INFO_HOST_DIR) uninstall
+ -$(MAKE) -C $(SHARED_MIME_INFO_HOST_DIR) clean
+
+host-shared-mime-info-dirclean:
+ rm -rf $(SHARED_MIME_INFO_HOST_DIR)
+
+# update the shared-mime-info database in the target
+$(SHARED_MIME_INFO_HOOK_POST_INSTALL): host-shared-mime-info
+ $(SHARED_MIME_INFO_HOST_BINARY) $(STAGING_DIR)/usr/share/mime
+ $(INSTALL) -D $(STAGING_DIR)/usr/share/mime/mime.cache $(TARGET_DIR)/usr/share/mime/mime.cache