diff options
5 files changed, 105 insertions, 0 deletions
diff --git a/conf/layer.conf b/conf/layer.conf index 0d46e11..3cd88dc 100644 --- a/conf/layer.conf +++ b/conf/layer.conf | |||
@@ -17,3 +17,6 @@ LAYERDEPENDS_gplv2 = "core" | |||
17 | LAYERSERIES_COMPAT_gplv2 = "zeus" | 17 | LAYERSERIES_COMPAT_gplv2 = "zeus" |
18 | 18 | ||
19 | LICENSE_PATH += "${LAYERDIR}/licenses" | 19 | LICENSE_PATH += "${LAYERDIR}/licenses" |
20 | |||
21 | PREFERRED_VERSION_shared-mime-info = "${@['', '1.10']['GPLV3' in (d.getVar('INCOMPATIBLE_LICENSE') or '').upper()]}" | ||
22 | PREFERRED_VERSION_shared-mime-info-native = "${@['', '1.10']['GPLV3' in (d.getVar('INCOMPATIBLE_LICENSE') or '').upper()]}" | ||
diff --git a/recipes-support/shared-mime-info/shared-mime-info.inc b/recipes-support/shared-mime-info/shared-mime-info.inc new file mode 100644 index 0000000..3fe1a44 --- /dev/null +++ b/recipes-support/shared-mime-info/shared-mime-info.inc | |||
@@ -0,0 +1,37 @@ | |||
1 | SUMMARY = "Shared MIME type database and specification" | ||
2 | HOMEPAGE = "http://freedesktop.org/wiki/Software/shared-mime-info" | ||
3 | SECTION = "base" | ||
4 | |||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
7 | |||
8 | DEPENDS = "libxml2 intltool-native glib-2.0 shared-mime-info-native" | ||
9 | |||
10 | SRC_URI = "http://freedesktop.org/~hadess/shared-mime-info-${PV}.tar.xz" | ||
11 | |||
12 | inherit autotools pkgconfig gettext | ||
13 | |||
14 | EXTRA_OECONF = "--disable-update-mimedb" | ||
15 | |||
16 | FILES_${PN} += "${datadir}/mime" | ||
17 | FILES_${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc" | ||
18 | |||
19 | # freedesktop.org.xml is only required when updating the mime database, | ||
20 | # package it separately | ||
21 | PACKAGES =+ "shared-mime-info-data" | ||
22 | FILES_shared-mime-info-data = "${datadir}/mime/packages/freedesktop.org.xml" | ||
23 | RDEPENDS_shared-mime-info-data = "shared-mime-info" | ||
24 | |||
25 | do_install () { | ||
26 | autotools_do_install | ||
27 | |||
28 | update-mime-database ${D}${datadir}/mime | ||
29 | } | ||
30 | |||
31 | do_install_class-native () { | ||
32 | autotools_do_install | ||
33 | |||
34 | ${B}/update-mime-database ${D}${datadir}/mime | ||
35 | } | ||
36 | |||
37 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch b/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch new file mode 100644 index 0000000..262ff75 --- /dev/null +++ b/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | fix shared-mime-info build race condition | ||
2 | |||
3 | The definition of install-data-hook in Makefile.am leads | ||
4 | to multiple, overlapping, executions of install-binPROGRAMS | ||
5 | target. We modify the definition to avoid that. | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-off-by: Joe Slater <jslater@windriver.com> | ||
10 | |||
11 | Index: shared-mime-info-1.9/Makefile.am | ||
12 | =================================================================== | ||
13 | --- shared-mime-info-1.9.orig/Makefile.am | ||
14 | +++ shared-mime-info-1.9/Makefile.am | ||
15 | @@ -50,7 +50,9 @@ else | ||
16 | update_mime_database="$(top_builddir)/update-mime-database$(EXEEXT)" | ||
17 | endif | ||
18 | |||
19 | -install-data-hook: install-binPROGRAMS | ||
20 | +# do NOT make this dependent on anything! | ||
21 | +# | ||
22 | +install-data-hook: | ||
23 | if ENABLE_UPDATE_MIMEDB | ||
24 | $(update_mime_database) -V "$(DESTDIR)$(datadir)/mime" | ||
25 | endif | ||
diff --git a/recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch b/recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch new file mode 100644 index 0000000..fea34a5 --- /dev/null +++ b/recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | The Makefile used by shared-mime-info is one big race with the SUBDIRS | ||
2 | option and the dependency specifically calling make all combining to | ||
3 | create multiple make instances all of which may try and build targets | ||
4 | like update-mime-database. | ||
5 | |||
6 | This patch removes those options meaning make can correctly identify | ||
7 | dependencies and stop itself racing itself. | ||
8 | |||
9 | RP 10/10/2011 | ||
10 | |||
11 | Upstream-Status: Pending | ||
12 | Signed-off-by: Constantin Musca <constantinx.musca@intel.com> | ||
13 | |||
14 | Index: shared-mime-info-1.9/Makefile.am | ||
15 | =================================================================== | ||
16 | --- shared-mime-info-1.9.orig/Makefile.am | ||
17 | +++ shared-mime-info-1.9/Makefile.am | ||
18 | @@ -1,5 +1,3 @@ | ||
19 | -SUBDIRS=. po | ||
20 | - | ||
21 | AM_CPPFLAGS = $(ALL_CFLAGS) | ||
22 | |||
23 | packagesdir = $(datadir)/mime/packages | ||
24 | @@ -81,8 +79,7 @@ endif | ||
25 | |||
26 | all: $(defaultmakedeps) | ||
27 | |||
28 | -create-pot: | ||
29 | - $(AM_V_GEN) $(MAKE) -C po shared-mime-info.pot | ||
30 | +create-pot: po | ||
31 | |||
32 | local-test: create-pot freedesktop.org.xml update-mime-database$(EXEEXT) | ||
33 | if CROSS_COMPILING | ||
diff --git a/recipes-support/shared-mime-info/shared-mime-info_1.10.bb b/recipes-support/shared-mime-info/shared-mime-info_1.10.bb new file mode 100644 index 0000000..9fc210b --- /dev/null +++ b/recipes-support/shared-mime-info/shared-mime-info_1.10.bb | |||
@@ -0,0 +1,7 @@ | |||
1 | require shared-mime-info.inc | ||
2 | |||
3 | SRC_URI += "file://parallelmake.patch \ | ||
4 | file://install-data-hook.patch" | ||
5 | |||
6 | SRC_URI[md5sum] = "418c2ced9dc4dd5ca8b06a755e6d64e9" | ||
7 | SRC_URI[sha256sum] = "c625a83b4838befc8cafcd54e3619946515d9e44d63d61c4adf7f5513ddfbebf" | ||