76c569d7a1
This update itself doesn't change anything that effects OpenBSD but I wanted to sync the port with the current version (that has been out for quite some time). This port once again builds and statically links against its own internal glib sources rather than pull in glib-1.2 from ports. It seemed kinda silly to build glib-1.2 to build glib-2.0 apps.
68 lines
1.8 KiB
Plaintext
68 lines
1.8 KiB
Plaintext
$OpenBSD: patch-pkg_c,v 1.4 2003/09/23 05:59:34 marcm Exp $
|
|
--- pkg.c.orig 2003-01-16 13:07:09.000000000 -0800
|
|
+++ pkg.c 2003-09-05 11:19:25.000000000 -0700
|
|
@@ -339,6 +339,54 @@ get_package (const char *name)
|
|
return internal_get_package (name, TRUE, TRUE);
|
|
}
|
|
|
|
+/*
|
|
+ If certain directories are present, move them to the end of the list
|
|
+ to avoid conflicts.
|
|
+*/
|
|
+static GSList*
|
|
+string_list_fix_local_I_dirs (GSList *list)
|
|
+{
|
|
+ GSList *iter;
|
|
+ GSList *local_I_dirs = NULL;
|
|
+ GSList *local_I_dir_iter = NULL;
|
|
+ GSList *found_dirs = NULL;
|
|
+
|
|
+ iter = list;
|
|
+
|
|
+ local_I_dirs = g_slist_append (local_I_dirs, g_strdup_printf ("-I%s/include", LOCALBASE));
|
|
+ local_I_dirs = g_slist_append (local_I_dirs, g_strdup_printf ("-I%s/include", X11BASE));
|
|
+
|
|
+ while (iter != NULL)
|
|
+ {
|
|
+ local_I_dir_iter = local_I_dirs;
|
|
+ while (local_I_dir_iter != NULL)
|
|
+ {
|
|
+ if (strcmp (local_I_dir_iter->data, iter->data) == 0)
|
|
+ {
|
|
+ debug_spew ("List contains \"%s\" - moving it to the end\n", (gchar *)iter->data);
|
|
+ found_dirs = g_slist_append (found_dirs, iter->data);
|
|
+ iter->data = NULL;
|
|
+ break;
|
|
+ }
|
|
+ local_I_dir_iter = local_I_dir_iter->next;
|
|
+ }
|
|
+ iter = iter->next;
|
|
+ }
|
|
+
|
|
+ g_slist_free (local_I_dirs);
|
|
+
|
|
+ while (found_dirs != NULL)
|
|
+ {
|
|
+ list = g_slist_remove (list, NULL);
|
|
+ list = g_slist_append (list, found_dirs->data);
|
|
+ found_dirs = found_dirs->next;
|
|
+ }
|
|
+
|
|
+ g_slist_free (found_dirs);
|
|
+
|
|
+ return list;
|
|
+}
|
|
+
|
|
static GSList*
|
|
string_list_strip_duplicates (GSList *list)
|
|
{
|
|
@@ -929,6 +977,8 @@ get_multi_merged (GSList *pkgs, GetListF
|
|
|
|
g_slist_free (dups_list);
|
|
|
|
+ list = string_list_fix_local_I_dirs (list);
|
|
+
|
|
retval = string_list_to_string (list);
|
|
|
|
g_slist_free (list);
|