2
1

0815_ia32-hack.patch 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. --- gtk+-2.8.13/gdk-pixbuf/gdk-pixbuf-io.c~ 2005-10-03 17:11:49.000000000 +0200
  2. +++ gtk+-2.8.13/gdk-pixbuf/gdk-pixbuf-io.c 2006-03-01 20:33:36.524552192 +0100
  3. @@ -32,6 +32,7 @@
  4. #ifdef HAVE_UNISTD_H
  5. #include <unistd.h>
  6. #endif
  7. +#include <sys/utsname.h>
  8. #include "gdk-pixbuf-private.h"
  9. #include "gdk-pixbuf-io.h"
  10. @@ -276,8 +277,21 @@
  11. gchar *result = g_strdup (g_getenv ("GDK_PIXBUF_MODULE_FILE"));
  12. if (!result)
  13. - result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders", NULL);
  14. +#if defined(__linux__) && defined (__i386__)
  15. + {
  16. + struct utsname uts;
  17. + uname(&uts);
  18. + result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders.32", NULL);
  19. + if (strcmp("x86_64", uts.machine) || access(result, R_OK))
  20. + {
  21. + g_free(result);
  22. + result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders", NULL);
  23. + }
  24. + }
  25. +#else
  26. + result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders", NULL);
  27. +#endif
  28. return result;
  29. }
  30. --- gtk+-2.8.13/gtk/gtkprivate.h~ 2005-03-22 03:14:55.000000000 +0100
  31. +++ gtk+-2.8.13/gtk/gtkprivate.h 2006-03-01 19:51:42.510740384 +0100
  32. @@ -96,6 +96,13 @@
  33. #endif /* G_OS_WIN32 */
  34. +#if defined(__linux__) && defined (__i386__)
  35. +const gchar *_gtk_get_libdir ();
  36. +
  37. +#undef GTK_LIBDIR
  38. +#define GTK_LIBDIR _gtk_get_libdir ()
  39. +#endif
  40. +
  41. gboolean _gtk_fnmatch (const char *pattern,
  42. const char *string,
  43. gboolean no_leading_period);
  44. --- gtk+-2.8.13/gtk/gtkmain.c~ 2005-12-06 17:14:30.000000000 +0100
  45. +++ gtk+-2.8.13/gtk/gtkmain.c 2006-03-01 20:36:05.175953744 +0100
  46. @@ -42,6 +42,7 @@
  47. #include <unistd.h>
  48. #endif
  49. #include <sys/types.h> /* For uid_t, gid_t */
  50. +#include <sys/utsname.h>
  51. #ifdef G_OS_WIN32
  52. #define STRICT
  53. @@ -336,6 +337,28 @@
  54. #endif /* G_OS_WIN32 */
  55. +#if defined(__linux__) && defined (__i386__)
  56. +const gchar *
  57. +_gtk_get_libdir (void)
  58. +{
  59. + static char *gtk_libdir = NULL;
  60. + if (gtk_libdir == NULL)
  61. + {
  62. +#if defined(__linux__) && defined (__i386__)
  63. + struct utsname uts;
  64. +
  65. + uname(&uts);
  66. + if (!strcmp("x86_64", uts.machine)
  67. + && !access("/usr/lib32/gtk-2.0", R_OK|X_OK))
  68. + gtk_libdir = "/usr/lib32";
  69. + else
  70. +#endif
  71. + gtk_libdir = "/usr/lib";
  72. + }
  73. + return gtk_libdir;
  74. +}
  75. +#endif
  76. +
  77. static gboolean do_setlocale = TRUE;
  78. /**
  79. --- gtk+-2.8.13/gtk/gtkrc.c~ 2005-11-23 15:24:51.000000000 +0100
  80. +++ gtk+-2.8.13/gtk/gtkrc.c 2006-03-01 20:33:25.952159440 +0100
  81. @@ -38,6 +38,10 @@
  82. #include <string.h>
  83. #include <stdio.h>
  84. #include <stdlib.h>
  85. +#ifdef HAVE_UNISTD_H
  86. +#include <unistd.h>
  87. +#endif
  88. +#include <sys/utsname.h>
  89. #include <glib.h>
  90. @@ -364,7 +368,21 @@
  91. if (im_module_file)
  92. result = g_strdup (im_module_file);
  93. else
  94. +#if defined(__linux__) && defined (__i386__)
  95. + {
  96. + struct utsname uts;
  97. +
  98. + uname(&uts);
  99. + result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules.32", NULL);
  100. + if (strcmp("x86_64", uts.machine) || access(result, R_OK))
  101. + {
  102. + g_free(result);
  103. + result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
  104. + }
  105. + }
  106. +#else
  107. result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
  108. +#endif
  109. }
  110. return result;