OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 11-Jul-2007 23:05:17 Branch: HEAD Handle: 2007071122051600 Modified files: openpkg-src/gettext gettext.patch gettext.spec Log: fix building with 64-bit GCC under Solaris 10/amd64 by using GCC's __builtin_va_copy function Summary: Revision Changes Path 1.10 +117 -5 openpkg-src/gettext/gettext.patch 1.67 +2 -2 openpkg-src/gettext/gettext.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/gettext/gettext.patch ============================================================================ $ cvs diff -u -r1.9 -r1.10 gettext.patch --- openpkg-src/gettext/gettext.patch 27 Oct 2006 07:13:24 -0000 1.9 +++ openpkg-src/gettext/gettext.patch 11 Jul 2007 21:05:16 -0000 1.10 @@ -1,8 +1,7 @@ Index: gettext-tools/gnulib-lib/execute.c -diff -Nau gettext-tools/gnulib-lib/execute.c.orig gettext-tools/lib/execute.c ---- gettext-tools/gnulib-lib/execute.c.orig 2004-05-26 16:36:08.000000000 +0200 -+++ gettext-tools/gnulib-lib/execute.c 2004-05-26 16:36:43.000000000 +0200 -@@ -194,6 +194,9 @@ +--- gettext-tools/gnulib-lib/execute.c.orig 2006-11-27 18:14:50 +0100 ++++ gettext-tools/gnulib-lib/execute.c 2007-07-11 22:40:24 +0200 +@@ -193,6 +193,9 @@ dependent which error is reported which way. We treat both cases as equivalent. */ #if HAVE_POSIX_SPAWN @@ -12,4 +11,117 @@ sigset_t blocked_signals; posix_spawn_file_actions_t actions; bool actions_allocated; - +Index: gettext-tools/gnulib-lib/vasprintf.c +--- gettext-tools/gnulib-lib/vasprintf.c.orig 2006-11-27 18:14:53 +0100 ++++ gettext-tools/gnulib-lib/vasprintf.c 2007-07-11 22:40:24 +0200 +@@ -32,13 +32,14 @@ + #endif + + static int +-int_vasprintf (char **result, const char *format, va_list *args) ++int_vasprintf (char **result, const char *format, va_list args) + { + const char *p = format; + /* Add one to make sure that it is never zero, which might cause malloc + to return NULL. */ + size_t total_width = strlen (format) + 1; +- va_list ap = *args; ++ va_list ap; ++ __builtin_va_copy(ap, args); /* GCC-specific to avoid Autoconf glue */ + + while (*p != '\0') + { +@@ -112,7 +113,7 @@ + #endif + *result = malloc (total_width); + if (*result != NULL) +- return vsprintf (*result, format, *args); ++ return vsprintf (*result, format, args); + else + return -1; + } +@@ -120,7 +121,7 @@ + int + vasprintf (char **result, const char *format, va_list args) + { +- return int_vasprintf (result, format, &args); ++ return int_vasprintf (result, format, args); + } + + int +Index: gettext-tools/libgettextpo/vasprintf.c +--- gettext-tools/libgettextpo/vasprintf.c.orig 2006-11-27 18:15:09 +0100 ++++ gettext-tools/libgettextpo/vasprintf.c 2007-07-11 22:41:59 +0200 +@@ -32,13 +32,14 @@ + #endif + + static int +-int_vasprintf (char **result, const char *format, va_list *args) ++int_vasprintf (char **result, const char *format, va_list args) + { + const char *p = format; + /* Add one to make sure that it is never zero, which might cause malloc + to return NULL. */ + size_t total_width = strlen (format) + 1; +- va_list ap = *args; ++ va_list ap; ++ __builtin_va_copy(ap, args); /* GCC-specific to avoid Autoconf glue */ + + while (*p != '\0') + { +@@ -112,7 +113,7 @@ + #endif + *result = malloc (total_width); + if (*result != NULL) +- return vsprintf (*result, format, *args); ++ return vsprintf (*result, format, args); + else + return -1; + } +@@ -120,7 +121,7 @@ + int + vasprintf (char **result, const char *format, va_list args) + { +- return int_vasprintf (result, format, &args); ++ return int_vasprintf (result, format, args); + } + + int +Index: gnulib-local/lib/vasprintf.c +--- gnulib-local/lib/vasprintf.c.orig 2006-09-15 14:01:51 +0200 ++++ gnulib-local/lib/vasprintf.c 2007-07-11 22:40:24 +0200 +@@ -32,13 +32,14 @@ + #endif + + static int +-int_vasprintf (char **result, const char *format, va_list *args) ++int_vasprintf (char **result, const char *format, va_list args) + { + const char *p = format; + /* Add one to make sure that it is never zero, which might cause malloc + to return NULL. */ + size_t total_width = strlen (format) + 1; +- va_list ap = *args; ++ va_list ap; ++ __builtin_va_copy(ap, args); /* GCC-specific to avoid Autoconf glue */ + + while (*p != '\0') + { +@@ -112,7 +113,7 @@ + #endif + *result = malloc (total_width); + if (*result != NULL) +- return vsprintf (*result, format, *args); ++ return vsprintf (*result, format, args); + else + return -1; + } +@@ -120,7 +121,7 @@ + int + vasprintf (char **result, const char *format, va_list args) + { +- return int_vasprintf (result, format, &args); ++ return int_vasprintf (result, format, args); + } + + int @@ . patch -p0 <<'@@ .' Index: openpkg-src/gettext/gettext.spec ============================================================================ $ cvs diff -u -r1.66 -r1.67 gettext.spec --- openpkg-src/gettext/gettext.spec 1 Jan 2007 17:38:05 -0000 1.66 +++ openpkg-src/gettext/gettext.spec 11 Jul 2007 21:05:16 -0000 1.67 @@ -33,7 +33,7 @@ Group: Charset License: GPL Version: 0.16.1 -Release: 20061128 +Release: 20070711 # list of sources Source0: ftp://ftp.gnu.org/gnu/gettext/gettext-%{version}.tar.gz @@ -42,7 +42,7 @@ # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} -BuildPreReq: OpenPKG, openpkg >= 20040130, libiconv, make, automake +BuildPreReq: OpenPKG, openpkg >= 20040130, libiconv, gcc, make, automake PreReq: OpenPKG, openpkg >= 20040130, libiconv AutoReq: no AutoReqProv: no @@ . ______________________________________________________________________ OpenPKG http://openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org