Resulting patch is attached for comments; binary packages available at:
    <http://people.dooz.org/~lool/debian/pango1.0/1.14.8-5/sid-pbuilder/>

-- 
Loïc Minier <[EMAIL PROTECTED]>
--- pango1.0-1.14.8.orig/pango/modules.c	2007-01-14 17:38:08.000000000 +0100
+++ pango1.0-1.14.8/pango/modules.c	2007-01-14 17:39:25.000000000 +0100
@@ -24,6 +24,7 @@
 #include <string.h>
 #include <limits.h>
 #include <errno.h>
+#include <unistd.h>
 
 #include <gmodule.h>
 #include <glib/gstdio.h>
@@ -490,6 +491,18 @@
 					       MODULE_VERSION,
 					       "module-files.d",
 					       NULL);
+
+#if defined(__linux__) && defined (__i386__)
+  char *compat_module_files_d_str = g_build_filename ("/usr/lib32",
+					       MODULE_VERSION,
+					       "module-files.d",
+					       NULL);
+#elif defined(__linux__) && ( defined (__x86_64__) || defined(__ia64__) )
+  char *compat_module_files_d_str = g_build_filename ("/usr/lib64",
+					       MODULE_VERSION,
+					       "module-files.d",
+					       NULL);
+#endif
   char *list_str;
   char **files;
   int n;
@@ -501,6 +514,17 @@
 				 "pango.modules",
 				 NULL);
 
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+  /* prefer compat_module_files_d_str over module_files_d_str on the above
+   * arches if it's usable */
+  if (g_access(compat_module_files_d_str, R_OK|X_OK))
+      list_str = g_strjoin (G_SEARCHPATH_SEPARATOR_S,
+			    file_str,
+			    compat_module_files_d_str,
+			    NULL);
+  else /* continued below */
+#endif
+
   list_str = g_strjoin (G_SEARCHPATH_SEPARATOR_S,
 			file_str,
 			module_files_d_str,
@@ -550,6 +574,9 @@
   g_strfreev (files);
   g_free (list_str);
   g_free (module_files_d_str);
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
+  g_free (compat_module_files_d_str);
+#endif
   g_free (file_str);
 
   dlloaded_engines = g_slist_reverse (dlloaded_engines);

Reply via email to