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

Reply via email to