summaryrefslogtreecommitdiff
path: root/devel/gnome-build
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2007-01-04 02:51:02 +0000
committerrillig <rillig@pkgsrc.org>2007-01-04 02:51:02 +0000
commit126775d61fd08559094337743722eaf95f43a300 (patch)
tree758a4e80f15945a82374103f6d9e3b365b85599d /devel/gnome-build
parente9ec1d2a3477b77074a8272748b733c2dea50e40 (diff)
downloadpkgsrc-126775d61fd08559094337743722eaf95f43a300.tar.gz
Imported gnome-build.
This is the GNOME Build Framework (GBF).
Diffstat (limited to 'devel/gnome-build')
-rw-r--r--devel/gnome-build/DESCR1
-rw-r--r--devel/gnome-build/Makefile34
-rw-r--r--devel/gnome-build/PLIST71
-rw-r--r--devel/gnome-build/distinfo8
-rw-r--r--devel/gnome-build/patches/patch-aa196
-rw-r--r--devel/gnome-build/patches/patch-ab191
-rw-r--r--devel/gnome-build/patches/patch-ac26
7 files changed, 527 insertions, 0 deletions
diff --git a/devel/gnome-build/DESCR b/devel/gnome-build/DESCR
new file mode 100644
index 00000000000..2a0aba683ab
--- /dev/null
+++ b/devel/gnome-build/DESCR
@@ -0,0 +1 @@
+This is the GNOME Build Framework (GBF).
diff --git a/devel/gnome-build/Makefile b/devel/gnome-build/Makefile
new file mode 100644
index 00000000000..a82f9e363a2
--- /dev/null
+++ b/devel/gnome-build/Makefile
@@ -0,0 +1,34 @@
+# $NetBSD: Makefile,v 1.1.1.1 2007/01/04 02:51:02 rillig Exp $
+#
+
+DISTNAME= gnome-build-0.1.3
+CATEGORIES= devel gnome
+MASTER_SITES= ${MASTER_SITE_GNOME:=sources/gnome-build/0.1/}
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= rillig@NetBSD.org
+HOMEPAGE= http://www.gnome.org/projects/devtools/
+COMMENT= Project management components for GNOME development
+
+BL3_DEPENDS+= devel/gal
+BL3_DEPENDS+= devel/gdl
+BL3_DEPENDS+= devel/libbonobo
+BL3_DEPENDS+= devel/libgnome
+BL3_DEPENDS+= devel/libgnomeui
+BL3_DEPENDS+= devel/oaf
+BL3_DEPENDS+= devel/pango
+BL3_DEPENDS+= x11/gtk2
+
+GNU_CONFIGURE= yes
+USE_LIBTOOL= yes
+USE_TOOLS+= pkg-config perl:run
+
+PKGCONFIG_OVERRIDE+= gnome-build-1.0.pc.in
+
+REPLACE_PERL+= src/backends/libgbf_am/gbf-am-parse.in
+REPLACE_PERL+= src/backends/libgbf_mkfile/gbf-mkfile-parse.in
+
+.for d in ${BL3_DEPENDS}
+. include "../../${d}/buildlink3.mk"
+.endfor
+.include "../../mk/bsd.pkg.mk"
diff --git a/devel/gnome-build/PLIST b/devel/gnome-build/PLIST
new file mode 100644
index 00000000000..ad22819b95f
--- /dev/null
+++ b/devel/gnome-build/PLIST
@@ -0,0 +1,71 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2007/01/04 02:51:02 rillig Exp $
+bin/gbf-am-parse
+bin/gbf-mkfile-parse
+include/gnome-build-1.0/gbf/gbf-backend.h
+include/gnome-build-1.0/gbf/gbf-build-info.h
+include/gnome-build-1.0/gbf/gbf-project-model.h
+include/gnome-build-1.0/gbf/gbf-project-util.h
+include/gnome-build-1.0/gbf/gbf-project-view.h
+include/gnome-build-1.0/gbf/gbf-project.h
+include/gnome-build-1.0/gbf/gbf-tree-data.h
+include/gnome-build-1.0/gbf/gbf-widgets.h
+include/gnome-build-1.0/gbf/glue-plugin.h
+lib/gnome-build-1.0/backends/gbf-am.server
+lib/gnome-build-1.0/backends/gbf-mkfile.server
+lib/gnome-build-1.0/backends/libgbf-am.la
+lib/gnome-build-1.0/backends/libgbf-mkfile.la
+lib/libgbf-1.la
+lib/libgbf-widgets-1.la
+lib/pkgconfig/gnome-build-1.0.pc
+share/gnome-build/GBF/AmFiles.pm
+share/gnome-build/GBF/General.pm
+share/gnome-build/GBF/Make.pm
+share/gnome-build/glade/create_dialogs.glade
+share/gnome-build/glade/gbf-am-dialogs.glade
+share/locale/am/LC_MESSAGES/gbf-1.mo
+share/locale/az/LC_MESSAGES/gbf-1.mo
+share/locale/be/LC_MESSAGES/gbf-1.mo
+share/locale/ca/LC_MESSAGES/gbf-1.mo
+share/locale/cs/LC_MESSAGES/gbf-1.mo
+share/locale/de/LC_MESSAGES/gbf-1.mo
+share/locale/el/LC_MESSAGES/gbf-1.mo
+share/locale/en_CA/LC_MESSAGES/gbf-1.mo
+share/locale/en_GB/LC_MESSAGES/gbf-1.mo
+share/locale/es/LC_MESSAGES/gbf-1.mo
+share/locale/fi/LC_MESSAGES/gbf-1.mo
+share/locale/fr/LC_MESSAGES/gbf-1.mo
+share/locale/gl/LC_MESSAGES/gbf-1.mo
+share/locale/hr/LC_MESSAGES/gbf-1.mo
+share/locale/hu/LC_MESSAGES/gbf-1.mo
+share/locale/it/LC_MESSAGES/gbf-1.mo
+share/locale/ja/LC_MESSAGES/gbf-1.mo
+share/locale/lv/LC_MESSAGES/gbf-1.mo
+share/locale/mk/LC_MESSAGES/gbf-1.mo
+share/locale/ml/LC_MESSAGES/gbf-1.mo
+share/locale/ms/LC_MESSAGES/gbf-1.mo
+share/locale/nb/LC_MESSAGES/gbf-1.mo
+share/locale/ne/LC_MESSAGES/gbf-1.mo
+share/locale/nl/LC_MESSAGES/gbf-1.mo
+share/locale/pa/LC_MESSAGES/gbf-1.mo
+share/locale/pl/LC_MESSAGES/gbf-1.mo
+share/locale/pt/LC_MESSAGES/gbf-1.mo
+share/locale/pt_BR/LC_MESSAGES/gbf-1.mo
+share/locale/ru/LC_MESSAGES/gbf-1.mo
+share/locale/rw/LC_MESSAGES/gbf-1.mo
+share/locale/sk/LC_MESSAGES/gbf-1.mo
+share/locale/sq/LC_MESSAGES/gbf-1.mo
+share/locale/sr/LC_MESSAGES/gbf-1.mo
+share/locale/sr@Latn/LC_MESSAGES/gbf-1.mo
+share/locale/sv/LC_MESSAGES/gbf-1.mo
+share/locale/uk/LC_MESSAGES/gbf-1.mo
+share/locale/vi/LC_MESSAGES/gbf-1.mo
+share/locale/zh_CN/LC_MESSAGES/gbf-1.mo
+share/pixmaps/gbf-build.png
+share/pixmaps/gbf-install.png
+@dirrm share/gnome-build/glade
+@dirrm share/gnome-build/GBF
+@dirrm share/gnome-build
+@dirrm lib/gnome-build-1.0/backends
+@dirrm lib/gnome-build-1.0
+@dirrm include/gnome-build-1.0/gbf
+@dirrm include/gnome-build-1.0
diff --git a/devel/gnome-build/distinfo b/devel/gnome-build/distinfo
new file mode 100644
index 00000000000..77f877e9369
--- /dev/null
+++ b/devel/gnome-build/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1.1.1 2007/01/04 02:51:02 rillig Exp $
+
+SHA1 (gnome-build-0.1.3.tar.bz2) = 2261b865296647a16efc97fa8c5554aa597f7766
+RMD160 (gnome-build-0.1.3.tar.bz2) = 8ff1ebc87a64343f87acd56fd550ebc111f1b238
+Size (gnome-build-0.1.3.tar.bz2) = 444539 bytes
+SHA1 (patch-aa) = e4f1d3b55db03b0e6db86158b2b16bd4ba594037
+SHA1 (patch-ab) = a85e1668824b9f62e2e413861c010ade19824918
+SHA1 (patch-ac) = 5a7ca1a63080d145e5b8263656d2fbe2be639d1f
diff --git a/devel/gnome-build/patches/patch-aa b/devel/gnome-build/patches/patch-aa
new file mode 100644
index 00000000000..4a11a5901f4
--- /dev/null
+++ b/devel/gnome-build/patches/patch-aa
@@ -0,0 +1,196 @@
+$NetBSD: patch-aa,v 1.1.1.1 2007/01/04 02:51:02 rillig Exp $
+
+Replaced the GNU regular expressions with POSIX regular expressions,
+since the latter are more portable.
+
+--- src/backends/libgbf_am/gbf-am-build.c.orig 2004-01-17 22:34:56.000000000 +0100
++++ src/backends/libgbf_am/gbf-am-build.c 2007-01-04 03:16:49.000000000 +0100
+@@ -38,10 +38,11 @@ typedef struct {
+ GList *callbacks;
+
+ /* Regex structures. */
+- struct re_pattern_buffer dir_buf;
+- struct re_pattern_buffer warn_buf;
+- struct re_pattern_buffer err_buf;
+- struct re_registers reg;
++ regex_t dir_buf;
++ regex_t warn_buf;
++ regex_t err_buf;
++#define N_GROUPS 5 /* 1 + maximum number of groups + 1 */
++ regmatch_t reg[N_GROUPS];
+
+ /* Build info. */
+ char *build_dir;
+@@ -55,12 +56,9 @@ build_info_free (BuildInfo *info)
+
+ if (info->build_dir)
+ g_free (info->build_dir);
+- if (info->dir_buf.fastmap)
+- g_free (info->dir_buf.fastmap);
+- if (info->warn_buf.fastmap)
+- g_free (info->warn_buf.fastmap);
+- if (info->err_buf.fastmap)
+- g_free (info->err_buf.fastmap);
++ regfree (&info->dir_buf);
++ regfree (&info->warn_buf);
++ regfree (&info->err_buf);
+ g_free (info);
+ }
+
+@@ -79,33 +77,36 @@ build_msg (BuildInfo *info,
+ }
+ }
+
++/* Returns a copy of the ''n''th captured group. */
++#define GBF_GETGROUP(n) \
++ g_strndup (line + info->reg[n].rm_so, \
++ info->reg[n].rm_eo - info->reg[n].rm_so)
++
+ static void
+ parse_output (BuildInfo *info,
+ const char *line)
+ {
+- int line_length = strlen (line);
++ size_t line_length = strlen (line);
++ int n;
+
+ /* Check for directory changes. */
+- if (re_search (&info->dir_buf, line, line_length, 0,
+- line_length, &info->reg) != -1) {
+- if (info->reg.num_regs >= 2) {
+- if (info->build_dir)
+- g_free (info->build_dir);
+- info->build_dir = g_strndup (line + info->reg.start[1],
+- info->reg.end[1] - info->reg.start[1]);
+- }
++ if (regexec (&info->dir_buf, line, N_GROUPS, info->reg, 0) == 0) {
++ g_assert (info->reg[1].rm_so != -1 && info->reg[2].rm_so == -1);
++ if (info->build_dir)
++ g_free (info->build_dir);
++ info->build_dir = GBF_GETGROUP(1);
+ }
+
+ /* Check for warnings & errors. */
+- if (re_search (&info->warn_buf, line, line_length, 0,
+- line_length, &info->reg) != -1) {
++ if (regexec (&info->warn_buf, line, N_GROUPS, info->reg, 0) == 0) {
+ GbfBuildWarning *warn;
+ char *text;
+
++ g_assert (info->reg[3].rm_so != -1 && info->reg[4].rm_so == -1);
++
+ /* Create new warning. */
+ warn = g_new0 (GbfBuildWarning, 1);
+- text = g_strndup (line + info->reg.start[1],
+- info->reg.end[1] - info->reg.start[1]);
++ text = GBF_GETGROUP(1);
+ if (text[0] != '/') { /* only prepend build_dir if path not absolute */
+ warn->filename = g_strconcat (info->build_dir, "/", text, NULL);
+ g_free (text);
+@@ -113,25 +114,21 @@ parse_output (BuildInfo *info,
+ warn->filename = text;
+ }
+
+- text = g_strndup (line + info->reg.start[2],
+- info->reg.end[2] - info->reg.start[2]);
++ text = GBF_GETGROUP(2);
+ warn->line = atoi (text);
+ g_free (text);
+- warn->warning = g_strndup (line + info->reg.start[3],
+- info->reg.end[3] - info->reg.start[3]);
++ warn->warning = GBF_GETGROUP(3);
+ warn->output = g_strdup (line);
+
+ build_msg (info, GBF_BUILD_WARNING, warn);
+ /* FIXME: We should free warn here, and make copy in gbf-build-info.c. */
+- } else if (re_search (&info->err_buf, line, line_length, 0,
+- line_length, &info->reg) != -1) {
++ } else if (regexec (&info->err_buf, line, N_GROUPS, info->reg, 0) == 0) {
+ GbfBuildError *err;
+ char *text;
+
+ /* Create new error. */
+ err = g_new0 (GbfBuildError, 1);
+- text = g_strndup (line + info->reg.start[1],
+- info->reg.end[1] - info->reg.start[1]);
++ text = GBF_GETGROUP(1);
+ if (text[0] != '/') { /* only prepend build_dir if path not absolute */
+ err->filename = g_strconcat (info->build_dir, "/", text, NULL);
+ g_free (text);
+@@ -139,12 +136,10 @@ parse_output (BuildInfo *info,
+ err->filename = text;
+ }
+
+- text = g_strndup (line + info->reg.start[2],
+- info->reg.end[2] - info->reg.start[2]);
++ text = GBF_GETGROUP(2);
+ err->line = atoi (text);
+ g_free (text);
+- err->error = g_strndup (line + info->reg.start[3],
+- info->reg.end[3] - info->reg.start[3]);
++ err->error = GBF_GETGROUP(3);
+ err->output = g_strdup (line);
+
+ build_msg (info, GBF_BUILD_ERROR, err);
+@@ -153,6 +148,7 @@ parse_output (BuildInfo *info,
+ build_msg (info, GBF_BUILD_OUTPUT, (gpointer)line);
+ }
+ }
++#undef GBF_GETGROUP(n)
+
+ static gboolean
+ build_output_cb (GIOChannel *chan,
+@@ -192,24 +188,10 @@ build_output_cb (GIOChannel *chan,
+ }
+
+ static gboolean
+-compile_pattern (struct re_pattern_buffer *buf,
++compile_pattern (regex_t *buf,
+ const char *pattern)
+ {
+- memset (buf, 0, sizeof (struct re_pattern_buffer));
+- buf->translate = NULL;
+- buf->fastmap = g_malloc (256);
+- buf->allocated = 0;
+- buf->buffer = NULL;
+- buf->can_be_null = 0;
+- buf->no_sub = 0;
+-
+- if (!re_compile_pattern (pattern, strlen (pattern), buf)) {
+- if (re_compile_fastmap (buf) != 0) {
+- g_warning ("IMPORTANT REGEX FAILED TO CREASTE FASTMAP");
+- g_free (buf->fastmap);
+- buf->fastmap = NULL;
+- }
+- } else {
++ if (regcomp(buf, pattern, REG_EXTENDED) != 0) {
+ g_warning ("IMPORTANT REGEX FAILED TO COMPILE");
+ return FALSE;
+ }
+@@ -234,7 +216,6 @@ gbf_build_run (GbfAmProject *project,
+ char *tmp, *msg;
+ int output, err, pid;
+ GIOChannel *out_channel, *err_channel;
+- reg_syntax_t old_options;
+ GError *error = NULL;
+ const char *charset;
+ GNode *g_node;
+@@ -347,9 +328,6 @@ gbf_build_run (GbfAmProject *project,
+ info->build_dir = NULL;
+
+ /* Intialize regexs. */
+- old_options = re_syntax_options;
+- re_syntax_options = RE_SYNTAX_EGREP;
+-
+ if (!compile_pattern (&info->dir_buf, dir_regex) ||
+ !compile_pattern (&info->warn_buf, warn_regex) ||
+ !compile_pattern (&info->err_buf, err_regex)) {
+@@ -360,8 +338,6 @@ gbf_build_run (GbfAmProject *project,
+ return -1;
+ }
+
+- re_syntax_options = old_options;
+-
+ g_signal_emit_by_name (G_OBJECT (project), "build_start");
+
+ tmp = g_strjoinv (" ", (char **) argv);
diff --git a/devel/gnome-build/patches/patch-ab b/devel/gnome-build/patches/patch-ab
new file mode 100644
index 00000000000..d935ef68aee
--- /dev/null
+++ b/devel/gnome-build/patches/patch-ab
@@ -0,0 +1,191 @@
+$NetBSD: patch-ab,v 1.1.1.1 2007/01/04 02:51:02 rillig Exp $
+
+Replaced the GNU regular expressions with POSIX regular expressions,
+since the latter are more portable.
+
+--- src/backends/libgbf_mkfile/gbf-mkfile-build.c.orig 2005-09-22 13:18:46.000000000 +0200
++++ src/backends/libgbf_mkfile/gbf-mkfile-build.c 2007-01-04 03:28:10.000000000 +0100
+@@ -43,10 +43,11 @@ typedef struct {
+ GList *callbacks;
+
+ /* Regex structures. */
+- struct re_pattern_buffer dir_buf;
+- struct re_pattern_buffer warn_buf;
+- struct re_pattern_buffer err_buf;
+- struct re_registers reg;
++ regex_t dir_buf;
++ regex_t warn_buf;
++ regex_t err_buf;
++#define N_GROUPS 5 /* 1 + maximum number of groups + 1 */
++ regmatch_t reg[N_GROUPS];
+
+ /* Build info. */
+ char *build_dir;
+@@ -60,12 +61,9 @@ build_info_free (BuildInfo *info)
+
+ if (info->build_dir)
+ g_free (info->build_dir);
+- if (info->dir_buf.fastmap)
+- g_free (info->dir_buf.fastmap);
+- if (info->warn_buf.fastmap)
+- g_free (info->warn_buf.fastmap);
+- if (info->err_buf.fastmap)
+- g_free (info->err_buf.fastmap);
++ regfree (&info->dir_buf);
++ regfree (&info->warn_buf);
++ regfree (&info->err_buf);
+ g_free (info);
+ }
+
+@@ -84,6 +82,11 @@ build_msg (BuildInfo *info,
+ }
+ }
+
++/* Returns a copy of the ''n''th captured group. */
++#define GBF_GETGROUP(n) \
++ g_strndup (line + info->reg[n].rm_so, \
++ info->reg[n].rm_eo - info->reg[n].rm_so)
++
+ static void
+ parse_output (BuildInfo *info,
+ const char *line)
+@@ -91,26 +94,20 @@ parse_output (BuildInfo *info,
+ int line_length = strlen (line);
+
+ /* Check for directory changes. */
+- if (re_search (&info->dir_buf, line, line_length, 0,
+- line_length, &info->reg) != -1) {
+- if (info->reg.num_regs >= 2) {
+- if (info->build_dir)
+- g_free (info->build_dir);
+- info->build_dir = g_strndup (line + info->reg.start[1],
+- info->reg.end[1] - info->reg.start[1]);
+- }
++ if (regexec (&info->dir_buf, line, N_GROUPS, info->reg, 0) == 0) {
++ g_assert(info->reg[1].rm_so != -1);
++ g_free (info->build_dir);
++ info->build_dir = GBF_GETGROUP(1);
+ }
+
+ /* Check for warnings & errors. */
+- if (re_search (&info->warn_buf, line, line_length, 0,
+- line_length, &info->reg) != -1) {
++ if (regexec (&info->warn_buf, line, N_GROUPS, info->reg, 0) == 0) {
+ GbfBuildWarning *warn;
+ char *text;
+
+ /* Create new warning. */
+ warn = g_new0 (GbfBuildWarning, 1);
+- text = g_strndup (line + info->reg.start[1],
+- info->reg.end[1] - info->reg.start[1]);
++ text = GBF_GETGROUP(1);
+ if (text[0] != '/') { /* only prepend build_dir if path not absolute */
+ warn->filename = g_strconcat (info->build_dir, "/", text, NULL);
+ g_free (text);
+@@ -118,25 +115,21 @@ parse_output (BuildInfo *info,
+ warn->filename = text;
+ }
+
+- text = g_strndup (line + info->reg.start[2],
+- info->reg.end[2] - info->reg.start[2]);
++ text = GBF_GETGROUP(2);
+ warn->line = atoi (text);
+ g_free (text);
+- warn->warning = g_strndup (line + info->reg.start[3],
+- info->reg.end[3] - info->reg.start[3]);
++ warn->warning = GBF_GETGROUP(3);
+ warn->output = g_strdup (line);
+
+ build_msg (info, GBF_BUILD_WARNING, warn);
+ /* FIXME: We should free warn here, and make copy in gbf-build-info.c. */
+- } else if (re_search (&info->err_buf, line, line_length, 0,
+- line_length, &info->reg) != -1) {
++ } else if (regexec(&info->err_buf, line, N_GROUPS, info->reg, 0) == 0) {
+ GbfBuildError *err;
+ char *text;
+
+ /* Create new error. */
+ err = g_new0 (GbfBuildError, 1);
+- text = g_strndup (line + info->reg.start[1],
+- info->reg.end[1] - info->reg.start[1]);
++ text = GBF_GETGROUP(1);
+ if (text[0] != '/') { /* only prepend build_dir if path not absolute */
+ err->filename = g_strconcat (info->build_dir, "/", text, NULL);
+ g_free (text);
+@@ -144,12 +137,10 @@ parse_output (BuildInfo *info,
+ err->filename = text;
+ }
+
+- text = g_strndup (line + info->reg.start[2],
+- info->reg.end[2] - info->reg.start[2]);
++ text = GBF_GETGROUP(2);
+ err->line = atoi (text);
+ g_free (text);
+- err->error = g_strndup (line + info->reg.start[3],
+- info->reg.end[3] - info->reg.start[3]);
++ err->error = GBF_GETGROUP(3);
+ err->output = g_strdup (line);
+
+ build_msg (info, GBF_BUILD_ERROR, err);
+@@ -158,6 +149,7 @@ parse_output (BuildInfo *info,
+ build_msg (info, GBF_BUILD_OUTPUT, (gpointer)line);
+ }
+ }
++#undef GBF_GETGROUP
+
+ static gboolean
+ build_output_cb (GIOChannel *chan,
+@@ -197,24 +189,10 @@ build_output_cb (GIOChannel *chan,
+ }
+
+ static gboolean
+-compile_pattern (struct re_pattern_buffer *buf,
++compile_pattern (regex_t *buf,
+ const char *pattern)
+ {
+- memset (buf, 0, sizeof (struct re_pattern_buffer));
+- buf->translate = NULL;
+- buf->fastmap = g_malloc (256);
+- buf->allocated = 0;
+- buf->buffer = NULL;
+- buf->can_be_null = 0;
+- buf->no_sub = 0;
+-
+- if (!re_compile_pattern (pattern, strlen (pattern), buf)) {
+- if (re_compile_fastmap (buf) != 0) {
+- g_warning ("IMPORTANT REGEX FAILED TO CREASTE FASTMAP");
+- g_free (buf->fastmap);
+- buf->fastmap = NULL;
+- }
+- } else {
++ if (regcomp(buf, pattern, REG_EXTENDED) != 0) {
+ g_warning ("IMPORTANT REGEX FAILED TO COMPILE");
+ return FALSE;
+ }
+@@ -239,7 +217,6 @@ gbf_build_run (GbfMkfileProject *proj
+ char *tmp, *msg;
+ int output, err, pid;
+ GIOChannel *out_channel, *err_channel;
+- reg_syntax_t old_options;
+ GError *error = NULL;
+ const char *charset;
+ GNode *g_node;
+@@ -342,9 +319,6 @@ gbf_build_run (GbfMkfileProject *proj
+ info->build_dir = NULL;
+
+ /* Intialize regexs. */
+- old_options = re_syntax_options;
+- re_syntax_options = RE_SYNTAX_EGREP;
+-
+ if (!compile_pattern (&info->dir_buf, dir_regex) ||
+ !compile_pattern (&info->warn_buf, warn_regex) ||
+ !compile_pattern (&info->err_buf, err_regex)) {
+@@ -355,8 +329,6 @@ gbf_build_run (GbfMkfileProject *proj
+ return -1;
+ }
+
+- re_syntax_options = old_options;
+-
+ g_signal_emit_by_name (G_OBJECT (project), "build_start");
+
+ tmp = g_strjoinv (" ", (char **) argv);
diff --git a/devel/gnome-build/patches/patch-ac b/devel/gnome-build/patches/patch-ac
new file mode 100644
index 00000000000..69b49d3f3d6
--- /dev/null
+++ b/devel/gnome-build/patches/patch-ac
@@ -0,0 +1,26 @@
+$NetBSD: patch-ac,v 1.1.1.1 2007/01/04 02:51:02 rillig Exp $
+
+Tags: for-upstream
+
+Did you know that gcc has a -Wformat=2 option?
+
+--- src/backends/libgbf_mkfile/gbf-mkfile-properties.c.orig 2005-09-22 13:18:46.000000000 +0200
++++ src/backends/libgbf_mkfile/gbf-mkfile-properties.c 2007-01-04 03:29:10.000000000 +0100
+@@ -197,7 +197,7 @@ on_group_widget_destroy (GtkWidget *wid,
+ gbf_mkfile_project_set_group_config (project, group_id, new_config, &err);
+ if (err)
+ {
+- g_warning (err->message);
++ g_warning ("%s", err->message);
+ g_error_free (err);
+ }
+ g_object_unref (table);
+@@ -290,7 +290,7 @@ on_target_widget_destroy (GtkWidget *wid
+ gbf_mkfile_project_set_target_config (project, target_id, new_config, &err);
+ if (err)
+ {
+- g_warning (err->message);
++ g_warning ("%s", err->message);
+ g_error_free (err);
+ }
+ g_object_unref (table);