Patchwork gthumb: fix parallel build problems

login
register
mail settings
Submitter Ross Burton
Date July 31, 2012, 5:17 p.m.
Message ID <1343755026-12379-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/33435/
State Accepted
Commit dea6a0eb2bf06b3dc47e276a046d8dd828e47228
Headers show

Comments

Ross Burton - July 31, 2012, 5:17 p.m.
It's possible with a parallel build for make to spin waiting for a file change
when it isn't going to.  Fix the build rules so this doesn't happen.

[YOCTO #2319]

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-gnome/gthumb/files/parallel.patch |  158 ++++++++++++++++++++++++
 meta/recipes-gnome/gthumb/gthumb_2.12.4.bb     |    6 +-
 2 files changed, 161 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-gnome/gthumb/files/parallel.patch

Patch

diff --git a/meta/recipes-gnome/gthumb/files/parallel.patch b/meta/recipes-gnome/gthumb/files/parallel.patch
new file mode 100644
index 0000000..20ce5c5
--- /dev/null
+++ b/meta/recipes-gnome/gthumb/files/parallel.patch
@@ -0,0 +1,158 @@ 
+From 34969cde1dcb7740b4a7c3b6e3d04d481e5980b5 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 31 Jul 2012 17:26:27 +0100
+Subject: [PATCH] build: Fix parallel build problems with enum generation
+
+This is a backport from a patch against master.
+
+Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=680925]
+---
+ extensions/file_tools/Makefile.am    |   10 ++++------
+ extensions/importer/Makefile.am      |   10 ++++------
+ extensions/pixbuf_savers/Makefile.am |   10 ++++------
+ gthumb/Makefile.am                   |   10 ++++------
+ 4 files changed, 16 insertions(+), 24 deletions(-)
+
+diff --git a/extensions/file_tools/Makefile.am b/extensions/file_tools/Makefile.am
+index 7785eff..d70a8a5 100644
+--- a/extensions/file_tools/Makefile.am
++++ b/extensions/file_tools/Makefile.am
+@@ -24,17 +24,16 @@ HEADER_FILES = 				\
+ 	gth-file-tool-undo.h		\
+ 	preferences.h
+ 
+-enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS)
++enum-types.h: $(HEADER_FILES)
+ 	$(AM_V_GEN)( $(GLIB_MKENUMS) \
+ 		--fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ 		--fprod "/* enumerations from \"@filename@\" */\n" \
+ 		--vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ 		--ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \
+ 		$^> xgen-$(@F) \
+-	&& (cmp -s xgen-$(@F) enum-types.h || cp xgen-$(@F) enum-types.h ) \
+-	&& rm -f xgen-$(@F) )
++	&& mv -f xgen-$(@F) enum-types.h )
+ 
+-enum-types.c: $(HEADER_FILES) enum-types.h
++enum-types.c: $(HEADER_FILES)
+ 	$(AM_V_GEN)( $(GLIB_MKENUMS) \
+ 		--fhead "#include <glib-object.h>\n" \
+ 		--fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
+@@ -42,8 +41,7 @@ enum-types.c: $(HEADER_FILES) enum-types.h
+ 		--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ 		--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
+ 		$^> xgen-$(@F) \
+-	&& (cmp -s xgen-$(@F) enum-types.c || cp xgen-$(@F) enum-types.c ) \
+-	&& rm -f xgen-$(@F) )
++	&& mv -f xgen-$(@F) enum-types.c )
+ 
+ libfile_tools_la_SOURCES = 		\
+ 	$(ENUM_TYPES)			\
+diff --git a/extensions/importer/Makefile.am b/extensions/importer/Makefile.am
+index 29e7f2c..07c1eba 100644
+--- a/extensions/importer/Makefile.am
++++ b/extensions/importer/Makefile.am
+@@ -14,17 +14,16 @@ HEADER_FILES = 					\
+ 	preferences.h				\
+ 	utils.h
+ 
+-gth-import-enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS)
++gth-import-enum-types.h: $(HEADER_FILES)
+ 	$(AM_V_GEN)( $(GLIB_MKENUMS) \
+ 		--fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ 		--fprod "/* enumerations from \"@filename@\" */\n" \
+ 		--vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ 		--ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \
+ 		$^> xgen-$(@F) \
+-	&& (cmp -s xgen-$(@F) gth-import-enum-types.h || cp xgen-$(@F) gth-import-enum-types.h ) \
+-	&& rm -f xgen-$(@F) )
++	&& mv -f xgen-$(@F) gth-import-enum-types.h )
+ 
+-gth-import-enum-types.c: $(HEADER_FILES) gth-import-enum-types.h
++gth-import-enum-types.c: $(HEADER_FILES)
+ 	$(AM_V_GEN)( $(GLIB_MKENUMS) \
+ 		--fhead "#include <glib-object.h>\n" \
+ 		--fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
+@@ -32,8 +31,7 @@ gth-import-enum-types.c: $(HEADER_FILES) gth-import-enum-types.h
+ 		--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ 		--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
+ 		$^> xgen-$(@F) \
+-	&& (cmp -s xgen-$(@F) gth-import-enum-types.c || cp xgen-$(@F) gth-import-enum-types.c ) \
+-	&& rm -f xgen-$(@F) )
++	&& mv -f xgen-$(@F) gth-import-enum-types.c )
+ 
+ libimporter_la_SOURCES = 			\
+ 	$(ENUM_TYPES)				\
+diff --git a/extensions/pixbuf_savers/Makefile.am b/extensions/pixbuf_savers/Makefile.am
+index bfe9f34..4764c32 100644
+--- a/extensions/pixbuf_savers/Makefile.am
++++ b/extensions/pixbuf_savers/Makefile.am
+@@ -10,17 +10,16 @@ ENUM_TYPES =				\
+ HEADER_FILES = 				\
+ 	preferences.h
+ 
+-enum-types.h: $(HEADER_FILES) $(GLIB_MKENUMS)
++enum-types.h: $(HEADER_FILES)
+ 	$(AM_V_GEN)( $(GLIB_MKENUMS) \
+ 		--fhead "#ifndef ENUM_TYPES_H\n#define ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ 		--fprod "/* enumerations from \"@filename@\" */\n" \
+ 		--vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ 		--ftail "G_END_DECLS\n\n#endif /* ENUM_TYPES_H */" \
+ 		$^> xgen-$(@F) \
+-	&& (cmp -s xgen-$(@F) enum-types.h || cp xgen-$(@F) enum-types.h ) \
+-	&& rm -f xgen-$(@F) )
++	&& mv -f xgen-$(@F) enum-types.h )
+ 
+-enum-types.c: $(HEADER_FILES) enum-types.h
++enum-types.c: $(HEADER_FILES)
+ 	$(AM_V_GEN)( $(GLIB_MKENUMS) \
+ 		--fhead "#include <glib-object.h>\n" \
+ 		--fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
+@@ -28,8 +27,7 @@ enum-types.c: $(HEADER_FILES) enum-types.h
+ 		--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ 		--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
+ 		$^> xgen-$(@F) \
+-	&& (cmp -s xgen-$(@F) enum-types.c || cp xgen-$(@F) enum-types.c ) \
+-	&& rm -f xgen-$(@F) )
++	&& mv -f xgen-$(@F) enum-types.c )
+ 
+ libpixbuf_savers_la_SOURCES = 	\
+ 	$(ENUM_TYPES)		\
+diff --git a/gthumb/Makefile.am b/gthumb/Makefile.am
+index e9e385e..2f14e03 100644
+--- a/gthumb/Makefile.am
++++ b/gthumb/Makefile.am
+@@ -296,17 +296,16 @@ gthumb_CFLAGS =							\
+ 	-DGTHUMB_EXTENSIONS_DIR=\"$(extensions_dir)\"		\
+ 	$(NULL)
+ 
+-gth-enum-types.h: $(PUBLIC_HEADER_FILES) $(GLIB_MKENUMS)
++gth-enum-types.h: $(PUBLIC_HEADER_FILES)
+ 	$(AM_V_GEN)( $(GLIB_MKENUMS) \
+ 		--fhead "#ifndef GTH_ENUM_TYPES_H\n#define GTH_ENUM_TYPES_H\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
+ 		--fprod "/* enumerations from \"@filename@\" */\n" \
+ 		--vhead "GType @enum_name@_get_type (void);\n#define GTH_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
+ 		--ftail "G_END_DECLS\n\n#endif /* GTH_ENUM_TYPES_H */" \
+ 		$^> xgen-$(@F) \
+-	&& (cmp -s xgen-$(@F) gth-enum-types.h || cp xgen-$(@F) gth-enum-types.h ) \
+-	&& rm -f xgen-$(@F) )
++	&& mv -f xgen-$(@F) gth-enum-types.h )
+ 
+-gth-enum-types.c: $(PUBLIC_HEADER_FILES) gth-enum-types.h
++gth-enum-types.c: $(PUBLIC_HEADER_FILES)
+ 	$(AM_V_GEN)( $(GLIB_MKENUMS) \
+ 		--fhead "#include <glib-object.h>\n" \
+ 		--fprod "\n/* enumerations from \"@filename@\" */\n#include \"@filename@\"" \
+@@ -314,8 +313,7 @@ gth-enum-types.c: $(PUBLIC_HEADER_FILES) gth-enum-types.h
+ 		--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
+ 		--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
+ 		$^> xgen-$(@F) \
+-	&& (cmp -s xgen-$(@F) gth-enum-types.c || cp xgen-$(@F) gth-enum-types.c ) \
+-	&& rm -f xgen-$(@F) )
++	&& mv -f xgen-$(@F) gth-enum-types.c )
+ 
+ gth-marshal.h: gth-marshal.list $(GLIB_GENMARSHAL)
+ 	$(AM_V_GEN)( $(GLIB_GENMARSHAL) $(srcdir)/gth-marshal.list --header --prefix=gth_marshal > $@ )
+-- 
+1.7.10.4
+
diff --git a/meta/recipes-gnome/gthumb/gthumb_2.12.4.bb b/meta/recipes-gnome/gthumb/gthumb_2.12.4.bb
index 6ab63bb..0414386 100644
--- a/meta/recipes-gnome/gthumb/gthumb_2.12.4.bb
+++ b/meta/recipes-gnome/gthumb/gthumb_2.12.4.bb
@@ -4,17 +4,17 @@  LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
 DEPENDS = "glib-2.0 gtk+ libxml2 gnome-doc-utils libunique gconf libpng gstreamer jpeg tiff gst-plugins-base"
 
-PR = "r3"
+PR = "r4"
 
 EXTRA_OECONF = "--disable-gnome-keyring --disable-libsoup --disable-exiv2 --disable-clutter"
 
-PARALLEL_MAKEINST=""
-
 inherit gnome pkgconfig
 
 SRC_URI[archive.md5sum] = "97fc13221b0c5d80c27a2e25a3a3ac6f"
 SRC_URI[archive.sha256sum] = "cf809695230ab8892a078be454a42ade865754c72ec1da7c3d74d4310de54f1d"
 
+SRC_URI += "file://parallel.patch"
+
 do_install_append () {
 	rm ${D}${libdir}/${BPN}/extensions/*.a
 }