diff --git a/x11/gnome/controlcenter/Makefile b/x11/gnome/controlcenter/Makefile index b681e70ff53..9de618eae06 100644 --- a/x11/gnome/controlcenter/Makefile +++ b/x11/gnome/controlcenter/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.69 2012/07/08 11:19:23 ajacoutot Exp $ +# $OpenBSD: Makefile,v 1.70 2012/08/04 14:49:51 ajacoutot Exp $ # XXX Binary files patch-panels_info_hostnames-test_txt and # patch-panels_info_hostnames-test_txt.new differ @@ -10,7 +10,7 @@ COMMENT= GNOME control center GNOME_PROJECT= gnome-control-center GNOME_VERSION= 3.4.2 -REVISION= 4 +REVISION= 5 CATEGORIES= x11 @@ -48,7 +48,7 @@ LIB_DEPENDS= x11/gnome/desktop \ x11/gnome/online-accounts \ sysutils/upower \ devel/libgtop2 \ - print/cups \ + print/cups,-libs \ audio/pulseaudio \ audio/libcanberra,-gtk3 \ graphics/colord diff --git a/x11/gnome/controlcenter/patches/patch-panels_printers_cc-printers-panel_c b/x11/gnome/controlcenter/patches/patch-panels_printers_cc-printers-panel_c index 9132541cdd6..74e91be7ef5 100644 --- a/x11/gnome/controlcenter/patches/patch-panels_printers_cc-printers-panel_c +++ b/x11/gnome/controlcenter/patches/patch-panels_printers_cc-printers-panel_c @@ -1,7 +1,52 @@ -$OpenBSD: patch-panels_printers_cc-printers-panel_c,v 1.5 2012/03/29 06:57:03 ajacoutot Exp $ ---- panels/printers/cc-printers-panel.c.orig Sat Mar 24 22:35:16 2012 -+++ panels/printers/cc-printers-panel.c Wed Mar 28 10:25:04 2012 -@@ -2200,7 +2200,7 @@ test_page_cb (GtkButton *button, +$OpenBSD: patch-panels_printers_cc-printers-panel_c,v 1.6 2012/08/04 14:49:52 ajacoutot Exp $ + +https://bugzilla.gnome.org/show_bug.cgi?id=679759 + +--- panels/printers/cc-printers-panel.c.orig Sat Jul 28 17:57:48 2012 ++++ panels/printers/cc-printers-panel.c Sat Jul 28 17:58:14 2012 +@@ -58,6 +58,16 @@ G_DEFINE_DYNAMIC_TYPE (CcPrintersPanel, cc_printers_pa + + #define CUPS_STATUS_CHECK_INTERVAL 5 + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetState(ipp) ipp->state ++#define ippGetStatusCode(ipp) ipp->request.status.status_code ++#define ippGetString(attr, element, language) attr->values[element].string.text ++#endif ++ + struct _CcPrintersPanelPrivate + { + GtkBuilder *builder; +@@ -311,7 +321,7 @@ on_cups_notification (GDBusConnection *connection, + + if (response) + { +- if (response->request.status.status_code <= IPP_OK_CONFLICT) ++ if (ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { + ipp_attribute_t *attr_username = NULL; + ipp_attribute_t *attr_printer_uri = NULL; +@@ -319,12 +329,12 @@ on_cups_notification (GDBusConnection *connection, + attr_username = ippFindAttribute(response, "job-originating-user-name", IPP_TAG_NAME); + attr_printer_uri = ippFindAttribute(response, "job-printer-uri", IPP_TAG_URI); + if (attr_username && attr_printer_uri && +- g_strcmp0 (attr_username->values[0].string.text, cupsUser ()) == 0 && +- g_strrstr (attr_printer_uri->values[0].string.text, "/") != 0 && ++ g_strcmp0 (ippGetString (attr_username, 0, NULL), cupsUser ()) == 0 && ++ g_strrstr (ippGetString (attr_printer_uri, 0, NULL), "/") != 0 && + priv->current_dest >= 0 && + priv->current_dest < priv->num_dests && + priv->dests != NULL && +- g_strcmp0 (g_strrstr (attr_printer_uri->values[0].string.text, "/") + 1, ++ g_strcmp0 (g_strrstr (ippGetString (attr_printer_uri, 0, NULL), "/") + 1, + priv->dests[priv->current_dest].name) == 0) + actualize_jobs_list (self); + } +@@ -2200,7 +2210,7 @@ test_page_cb (GtkButton *button, if (printer_name) { const gchar *const dirs[] = { "/usr/share/cups", @@ -10,3 +55,12 @@ $OpenBSD: patch-panels_printers_cc-printers-panel_c,v 1.5 2012/03/29 06:57:03 aj NULL }; const gchar *testprint[] = { "%s/data/testprint", "%s/data/testprint.ps", +@@ -2288,7 +2298,7 @@ test_page_cb (GtkButton *button, + + if (response) + { +- if (response->state == IPP_ERROR) ++ if (ippGetState(response) == IPP_ERROR) + g_warning ("An error has occured during printing of test page."); + ippDelete (response); + } diff --git a/x11/gnome/controlcenter/patches/patch-panels_printers_pp-new-printer-dialog_c b/x11/gnome/controlcenter/patches/patch-panels_printers_pp-new-printer-dialog_c index 9f336217883..6422664a1c4 100644 --- a/x11/gnome/controlcenter/patches/patch-panels_printers_pp-new-printer-dialog_c +++ b/x11/gnome/controlcenter/patches/patch-panels_printers_pp-new-printer-dialog_c @@ -1,10 +1,27 @@ -$OpenBSD: patch-panels_printers_pp-new-printer-dialog_c,v 1.8 2012/04/17 11:02:32 jasper Exp $ +$OpenBSD: patch-panels_printers_pp-new-printer-dialog_c,v 1.9 2012/08/04 14:49:52 ajacoutot Exp $ + +https://bugzilla.gnome.org/show_bug.cgi?id=679759 No PackageKit on OpenBSD. ---- panels/printers/pp-new-printer-dialog.c.orig Mon Apr 16 14:54:29 2012 -+++ panels/printers/pp-new-printer-dialog.c Tue Apr 17 12:52:09 2012 -@@ -1607,6 +1607,7 @@ new_printer_add_button_cb (GtkButton *button, +--- panels/printers/pp-new-printer-dialog.c.orig Sat Jul 28 17:57:56 2012 ++++ panels/printers/pp-new-printer-dialog.c Sat Jul 28 17:58:14 2012 +@@ -59,6 +59,14 @@ + + #define ALLOWED_CHARACTERS "abcdefghijklmnopqrtsuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetState(ipp) ipp->state ++#endif ++ + static void pp_new_printer_dialog_hide (PpNewPrinterDialog *pp); + static void actualize_devices_list (PpNewPrinterDialog *pp); + +@@ -1607,6 +1615,7 @@ new_printer_add_button_cb (GtkButton *button, pp->devices[device_id].device_make_and_model, pp->devices[device_id].device_uri); @@ -12,7 +29,7 @@ No PackageKit on OpenBSD. if (ppd_name == NULL || ppd_name->ppd_match_level < PPD_EXACT_MATCH) { /* Try PackageKit to install printer driver */ -@@ -1668,6 +1669,7 @@ new_printer_add_button_cb (GtkButton *button, +@@ -1668,6 +1677,7 @@ new_printer_add_button_cb (GtkButton *button, pp->devices[device_id].device_uri); } } @@ -20,3 +37,12 @@ No PackageKit on OpenBSD. /* Add the new printer */ if (ppd_name && ppd_name->ppd_name) +@@ -1760,7 +1770,7 @@ new_printer_add_button_cb (GtkButton *button, + _("Automatic configuration")); + if (response) + { +- if (response->state == IPP_ERROR) ++ if (ippGetState(response) == IPP_ERROR) + g_warning ("An error has occured during automatic configuration of new printer."); + ippDelete (response); + } diff --git a/x11/gnome/controlcenter/patches/patch-panels_printers_pp-utils_c b/x11/gnome/controlcenter/patches/patch-panels_printers_pp-utils_c new file mode 100644 index 00000000000..9229e080931 --- /dev/null +++ b/x11/gnome/controlcenter/patches/patch-panels_printers_pp-utils_c @@ -0,0 +1,270 @@ +$OpenBSD: patch-panels_printers_pp-utils_c,v 1.3 2012/08/04 14:49:52 ajacoutot Exp $ + +https://bugzilla.gnome.org/show_bug.cgi?id=679759 + +--- panels/printers/pp-utils.c.orig Mon Apr 16 14:54:29 2012 ++++ panels/printers/pp-utils.c Sat Jul 28 17:58:14 2012 +@@ -35,6 +35,37 @@ + #define SCP_PATH "/org/fedoraproject/Config/Printing" + #define SCP_IFACE "org.fedoraproject.Config.Printing" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetCount(attr) attr->num_values ++#define ippGetGroupTag(attr) attr->group_tag ++#define ippGetValueTag(attr) attr->value_tag ++#define ippGetName(attr) attr->name ++#define ippGetStatusCode(ipp) ipp->request.status.status_code ++#define ippGetInteger(attr, element) attr->values[element].integer ++#define ippGetString(attr, element, language) attr->values[element].string.text ++ ++static ipp_attribute_t * ++ippFirstAttribute(ipp_t *ipp) ++{ ++ if (!ipp) ++ return (NULL); ++ return (ipp->current = ipp->attrs); ++} ++ ++static ipp_attribute_t * ++ippNextAttribute(ipp_t *ipp) ++{ ++ if (!ipp || !ipp->current) ++ return (NULL); ++ return (ipp->current = ipp->current->next); ++} ++#endif ++ ++ + gchar * + get_tag_value (const gchar *tag_string, const gchar *tag_name) + { +@@ -935,12 +966,12 @@ DBus method \"GetBestDrivers\". Using fallback solutio + response = cupsDoRequest (http, request, "/"); + + if (response && +- response->request.status.status_code <= IPP_OK_CONFLICT) ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) + { +- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER) +- attr = attr->next; ++ while (attr != NULL && ippGetGroupTag (attr) != IPP_TAG_PRINTER) ++ attr = ippNextAttribute (response); + + if (attr == NULL) + break; +@@ -950,22 +981,22 @@ DBus method \"GetBestDrivers\". Using fallback solutio + ppd_name = NULL; + ppd_product = NULL; + +- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER) ++ while (attr != NULL && ippGetGroupTag (attr) == IPP_TAG_PRINTER) + { +- if (g_strcmp0 (attr->name, "ppd-device-id") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_device_id = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-make-and-model") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_make_and_model = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-name") == 0 && +- attr->value_tag == IPP_TAG_NAME) +- ppd_name = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-product") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_product = attr->values[0].string.text; ++ if (g_strcmp0 (ippGetName (attr), "ppd-device-id") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_device_id = (gchar *) ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-make-and-model") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_make_and_model = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-name") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_NAME) ++ ppd_name = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-product") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_product = ippGetString (attr, 0, NULL); + +- attr = attr->next; ++ attr = ippNextAttribute (response); + } + + if (ppd_device_id && ppd_name) +@@ -1009,15 +1040,15 @@ DBus method \"GetBestDrivers\". Using fallback solutio + response = cupsDoRequest (http, request, "/"); + + if (response && +- response->request.status.status_code <= IPP_OK_CONFLICT) ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { + for (i = 0; equivalents && equivalents[i]; i++) + { + eq_normalized = normalize (equivalents[i]); +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) + { +- while (attr != NULL && attr->group_tag != IPP_TAG_PRINTER) +- attr = attr->next; ++ while (attr != NULL && ippGetGroupTag (attr) != IPP_TAG_PRINTER) ++ attr = ippNextAttribute (response); + + if (attr == NULL) + break; +@@ -1027,22 +1058,22 @@ DBus method \"GetBestDrivers\". Using fallback solutio + ppd_name = NULL; + ppd_product = NULL; + +- while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER) ++ while (attr != NULL && ippGetGroupTag (attr) == IPP_TAG_PRINTER) + { +- if (g_strcmp0 (attr->name, "ppd-device-id") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_device_id = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-make-and-model") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_make_and_model = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-name") == 0 && +- attr->value_tag == IPP_TAG_NAME) +- ppd_name = attr->values[0].string.text; +- else if (g_strcmp0 (attr->name, "ppd-product") == 0 && +- attr->value_tag == IPP_TAG_TEXT) +- ppd_product = attr->values[0].string.text; ++ if (g_strcmp0 (ippGetName (attr), "ppd-device-id") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_device_id = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-make-and-model") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_make_and_model = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-name") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_NAME) ++ ppd_name = ippGetString (attr, 0, NULL); ++ else if (g_strcmp0 (ippGetName (attr), "ppd-product") == 0 && ++ ippGetValueTag (attr) == IPP_TAG_TEXT) ++ ppd_product = ippGetString (attr, 0, NULL); + +- attr = attr->next; ++ attr = ippNextAttribute (response); + } + + if (ppd_device_id && ppd_name) +@@ -1352,23 +1383,23 @@ ccGetAllowedUsers (gchar ***allowed_users, const char + ipp_attribute_t *attr = NULL; + ipp_attribute_t *allowed = NULL; + +- for (attr = response->attrs; attr != NULL; attr = attr->next) ++ for (attr = ippFirstAttribute (response); attr != NULL; attr = ippNextAttribute (response)) + { +- if (attr->group_tag == IPP_TAG_PRINTER && +- attr->value_tag == IPP_TAG_NAME && +- !g_strcmp0 (attr->name, "requesting-user-name-allowed")) ++ if (ippGetGroupTag (attr) == IPP_TAG_PRINTER && ++ ippGetValueTag (attr) == IPP_TAG_NAME && ++ !g_strcmp0 (ippGetName (attr), "requesting-user-name-allowed")) + allowed = attr; + } + +- if (allowed && allowed->num_values > 0) ++ if (allowed && ippGetCount (allowed) > 0) + { + int i; + +- num_allowed_users = allowed->num_values; ++ num_allowed_users = ippGetCount (allowed); + users = g_new (gchar*, num_allowed_users); + + for (i = 0; i < num_allowed_users; i ++) +- users[i] = g_strdup (allowed->values[i].string.text); ++ users[i] = g_strdup (ippGetString (allowed, i, NULL)); + } + ippDelete(response); + } +@@ -1454,12 +1485,12 @@ renew_cups_subscription (gint id, + "notify-lease-duration", lease_duration); + response = cupsDoRequest (http, request, "/"); + if (response != NULL && +- response->request.status.status_code <= IPP_OK_CONFLICT) { ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) { + if ((attr = ippFindAttribute (response, "notify-lease-duration", + IPP_TAG_INTEGER)) == NULL) + g_debug ("No notify-lease-duration in response!\n"); + else +- if (attr->values[0].integer == lease_duration) ++ if (ippGetInteger (attr, 0) == lease_duration) + result = id; + } + } +@@ -1481,12 +1512,12 @@ renew_cups_subscription (gint id, + response = cupsDoRequest (http, request, "/"); + + if (response != NULL && +- response->request.status.status_code <= IPP_OK_CONFLICT) { ++ ippGetStatusCode (response) <= IPP_OK_CONFLICT) { + if ((attr = ippFindAttribute (response, "notify-subscription-id", + IPP_TAG_INTEGER)) == NULL) + g_debug ("No notify-subscription-id in response!\n"); + else +- result = attr->values[0].integer; ++ result = ippGetInteger (attr, 0); + } + } + +@@ -1655,38 +1686,38 @@ printer_rename (const gchar *old_name, + + if (response) + { +- if (response->request.status.status_code <= IPP_OK_CONFLICT) ++ if (ippGetStatusCode (response) <= IPP_OK_CONFLICT) + { + attr = ippFindAttribute (response, "printer-error-policy", IPP_TAG_NAME); + if (attr) +- error_policy = g_strdup (attr->values[0].string.text); ++ error_policy = g_strdup (ippGetString (attr, 0, NULL)); + + attr = ippFindAttribute (response, "printer-op-policy", IPP_TAG_NAME); + if (attr) +- op_policy = g_strdup (attr->values[0].string.text); ++ op_policy = g_strdup (ippGetString (attr, 0, NULL)); + + attr = ippFindAttribute (response, "requesting-user-name-allowed", IPP_TAG_NAME); +- if (attr && attr->num_values > 0) ++ if (attr && ippGetCount (attr) > 0) + { +- users_allowed = g_new0 (gchar *, attr->num_values + 1); +- for (i = 0; i < attr->num_values; i++) +- users_allowed[i] = g_strdup (attr->values[i].string.text); ++ users_allowed = g_new0 (gchar *, ippGetCount (attr) + 1); ++ for (i = 0; i < ippGetCount (attr); i++) ++ users_allowed[i] = g_strdup (ippGetString (attr, i, NULL)); + } + + attr = ippFindAttribute (response, "requesting-user-name-denied", IPP_TAG_NAME); +- if (attr && attr->num_values > 0) ++ if (attr && ippGetCount (attr) > 0) + { +- users_denied = g_new0 (gchar *, attr->num_values + 1); +- for (i = 0; i < attr->num_values; i++) +- users_denied[i] = g_strdup (attr->values[i].string.text); ++ users_denied = g_new0 (gchar *, ippGetCount (attr) + 1); ++ for (i = 0; i < ippGetCount (attr); i++) ++ users_denied[i] = g_strdup (ippGetString (attr, i, NULL)); + } + + attr = ippFindAttribute (response, "member-names", IPP_TAG_NAME); +- if (attr && attr->num_values > 0) ++ if (attr && ippGetCount (attr) > 0) + { +- member_names = g_new0 (gchar *, attr->num_values + 1); +- for (i = 0; i < attr->num_values; i++) +- member_names[i] = g_strdup (attr->values[i].string.text); ++ member_names = g_new0 (gchar *, ippGetCount (attr) + 1); ++ for (i = 0; i < ippGetCount (attr); i++) ++ member_names[i] = g_strdup (ippGetString (attr, i, NULL)); + } + } + ippDelete (response); diff --git a/x11/gnome/settings-daemon/Makefile b/x11/gnome/settings-daemon/Makefile index a789f41b75d..e7e5d20970f 100755 --- a/x11/gnome/settings-daemon/Makefile +++ b/x11/gnome/settings-daemon/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.77 2012/06/15 08:30:20 ajacoutot Exp $ +# $OpenBSD: Makefile,v 1.78 2012/08/04 14:50:19 ajacoutot Exp $ SHARED_ONLY= Yes @@ -6,7 +6,7 @@ COMMENT= GNOME settings daemon GNOME_PROJECT= gnome-settings-daemon GNOME_VERSION= 3.4.2 -REVISION= 1 +REVISION= 2 # GPLv3 PERMIT_PACKAGE_CDROM= Yes @@ -34,8 +34,8 @@ LIB_DEPENDS= devel/libnotify>=0.7.2 \ x11/gnome/desktop \ x11/gnome/libgnomekbd \ security/nss \ - print/cups \ - audio/pulseaudio>=2.0 \ + print/cups,-libs \ + audio/pulseaudio \ audio/libcanberra,-gtk3 \ sysutils/upower \ graphics/colord diff --git a/x11/gnome/settings-daemon/patches/patch-plugins_print-notifications_gsd-print-notifications-manager_c b/x11/gnome/settings-daemon/patches/patch-plugins_print-notifications_gsd-print-notifications-manager_c new file mode 100644 index 00000000000..c5701614d6f --- /dev/null +++ b/x11/gnome/settings-daemon/patches/patch-plugins_print-notifications_gsd-print-notifications-manager_c @@ -0,0 +1,51 @@ +$OpenBSD: patch-plugins_print-notifications_gsd-print-notifications-manager_c,v 1.1 2012/08/04 14:50:19 ajacoutot Exp $ + +https://bugzilla.gnome.org/show_bug.cgi?id=679761 + +--- plugins/print-notifications/gsd-print-notifications-manager.c.orig Tue May 15 12:14:49 2012 ++++ plugins/print-notifications/gsd-print-notifications-manager.c Sat Jul 28 17:49:19 2012 +@@ -52,6 +52,16 @@ + #define CONNECTING_TIMEOUT 60 + #define REASON_TIMEOUT 15000 + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetStatusCode(ipp) ipp->request.status.status_code ++#define ippGetInteger(attr, element) attr->values[element].integer ++#define ippGetString(attr, element, language) attr->values[element].string.text ++#endif ++ + struct GsdPrintNotificationsManagerPrivate + { + GDBusProxy *cups_proxy; +@@ -396,10 +406,10 @@ on_cups_notification (GDBusConnection *connection, + response = cupsDoRequest (http, request, "/"); + + if (response) { +- if (response->request.status.status_code <= IPP_OK_CONFLICT && ++ if (ippGetStatusCode (response) <= IPP_OK_CONFLICT && + (attr = ippFindAttribute(response, "job-originating-user-name", + IPP_TAG_NAME))) { +- if (g_strcmp0 (attr->values[0].string.text, cupsUser ()) == 0) ++ if (g_strcmp0 (ippGetString (attr, 0, NULL), cupsUser ()) == 0) + my_job = TRUE; + } + ippDelete(response); +@@ -889,12 +899,12 @@ renew_subscription (gpointer data) + "notify-lease-duration", SUBSCRIPTION_DURATION); + response = cupsDoRequest (http, request, "/"); + +- if (response != NULL && response->request.status.status_code <= IPP_OK_CONFLICT) { ++ if (response != NULL && ippGetStatusCode (response) <= IPP_OK_CONFLICT) { + if ((attr = ippFindAttribute (response, "notify-subscription-id", + IPP_TAG_INTEGER)) == NULL) + g_debug ("No notify-subscription-id in response!\n"); + else +- manager->priv->subscription_id = attr->values[0].integer; ++ manager->priv->subscription_id = ippGetInteger (attr, 0); + } + + if (response) diff --git a/x11/gnome/settings-daemon/patches/patch-plugins_print-notifications_gsd-printer_c b/x11/gnome/settings-daemon/patches/patch-plugins_print-notifications_gsd-printer_c new file mode 100644 index 00000000000..22e4d791152 --- /dev/null +++ b/x11/gnome/settings-daemon/patches/patch-plugins_print-notifications_gsd-printer_c @@ -0,0 +1,30 @@ +$OpenBSD: patch-plugins_print-notifications_gsd-printer_c,v 1.4 2012/08/04 14:50:19 ajacoutot Exp $ + +https://bugzilla.gnome.org/show_bug.cgi?id=679761 + +--- plugins/print-notifications/gsd-printer.c.orig Mon Apr 16 14:34:43 2012 ++++ plugins/print-notifications/gsd-printer.c Sat Jul 28 17:49:19 2012 +@@ -63,6 +63,14 @@ static GDBusNodeInfo *pdi_introspection_data = NULL; + #define GNOME_SESSION_PRESENCE_DBUS_PATH "/org/gnome/SessionManager/Presence" + #define GNOME_SESSION_PRESENCE_DBUS_IFACE "org.gnome.SessionManager.Presence" + ++#if (CUPS_VERSION_MAJOR > 1) || (CUPS_VERSION_MINOR > 5) ++#define HAVE_CUPS_1_6 1 ++#endif ++ ++#ifndef HAVE_CUPS_1_6 ++#define ippGetState(ipp) ipp->state ++#endif ++ + enum { + PRESENCE_STATUS_AVAILABLE = 0, + PRESENCE_STATUS_INVISIBLE, +@@ -725,7 +733,7 @@ printer_autoconfigure (gchar *printer_name) + "AutoConfigure", + ("Automatic configuration")); + if (response) { +- if (response->state == IPP_ERROR) ++ if (ippGetState (response) == IPP_ERROR) + g_warning ("An error has occured during automatic configuration of new printer."); + ippDelete (response); + } diff --git a/x11/xfce4/xfprint/Makefile b/x11/xfce4/xfprint/Makefile index 22785101943..3970302a641 100644 --- a/x11/xfce4/xfprint/Makefile +++ b/x11/xfce4/xfprint/Makefile @@ -1,10 +1,10 @@ -# $OpenBSD: Makefile,v 1.32 2012/06/15 08:30:25 ajacoutot Exp $ +# $OpenBSD: Makefile,v 1.33 2012/08/04 14:48:18 ajacoutot Exp $ COMMENT= Xfce4 printing helper XFCE_PROJECT= xfprint XFCE_VERSION= 4.6.1 -REVISION= 15 +REVISION= 16 MASTER_SITES= http://archive.xfce.org/src/archive/${XFCE_PROJECT}/${XFCE_BRANCH}/ SHARED_LIBS= xfprint 0.1 @@ -27,7 +27,7 @@ RUN_DEPENDS= print/a2ps LIB_DEPENDS= x11/xfce4/libxfcegui4 \ x11/xfce4/xfconf \ - print/cups + print/cups,-libs WANTLIB += GL ICE SM X11 X11-xcb Xau Xcomposite Xcursor Xdamage WANTLIB += Xdmcp Xext Xfixes Xi Xinerama Xrandr Xrender Xxf86vm @@ -36,7 +36,7 @@ WANTLIB += drm expat ffi fontconfig freetype gdk-x11-2.0 gdk_pixbuf-2.0 WANTLIB += gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 gssapi gthread-2.0 WANTLIB += gtk-x11-2.0 krb5 m pango-1.0 pangocairo-1.0 pangoft2-1.0 WANTLIB += pcre pixman-1 png pthread pthread-stubs ssl startup-notification-1 -WANTLIB += xcb xcb-aux xcb-render xcb-shm xfce4util xfcegui4 xfconf-0 -WANTLIB += z +WANTLIB += stdc++ xcb xcb-aux xcb-render xcb-shm xfce4util xfcegui4 +WANTLIB += xfconf-0 z .include diff --git a/x11/xfce4/xfprint/patches/patch-printing-systems_cups_cups_c b/x11/xfce4/xfprint/patches/patch-printing-systems_cups_cups_c new file mode 100644 index 00000000000..7c3dc488ef1 --- /dev/null +++ b/x11/xfce4/xfprint/patches/patch-printing-systems_cups_cups_c @@ -0,0 +1,56 @@ +$OpenBSD: patch-printing-systems_cups_cups_c,v 1.1 2012/08/04 14:48:18 ajacoutot Exp $ + +Fix build with cups >= 1.6.0 + +--- printing-systems/cups/cups.c.orig Tue Feb 24 22:34:16 2009 ++++ printing-systems/cups/cups.c Mon Jul 30 14:11:22 2012 +@@ -133,8 +133,8 @@ cups_request_new (int operation_id) + + language = cupsLangDefault (); + request = ippNew (); +- request->request.op.operation_id = operation_id; +- request->request.op.request_id = 1; ++ ippSetOperation(request, operation_id); ++ ippSetRequestId(request, 1); + + ippAddString (request, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, "utf-8"); + +@@ -242,24 +242,24 @@ get_printers () + + if (!request) + continue; +- if (request->state == IPP_ERROR || request->state == IPP_IDLE) { ++ if (ippGetState (request) == IPP_ERROR || ippGetState (request) == IPP_IDLE) { + ippDelete (request); + continue; + } + + attr = ippFindAttribute (request, "printer-info", IPP_TAG_TEXT); +- if (!attr || strlen (attr->values[0].string.text) == 0) { ++ if (!attr || strlen (ippGetString (attr, 0, NULL)) == 0) { + attr = ippFindAttribute (request, "printer-make-and-model", IPP_TAG_TEXT); + if (attr) +- printer->alias = g_strdup (attr->values[0].string.text); ++ printer->alias = g_strdup (ippGetString (attr, 0, NULL)); + else + printer->alias = g_strdup (""); + } + else +- printer->alias = g_strdup (attr->values[0].string.text); ++ printer->alias = g_strdup (ippGetString (attr, 0, NULL)); + + attr = ippFindAttribute (request, "printer-type", IPP_TAG_ENUM); +- if (attr && (attr->values[0].integer & CUPS_PRINTER_CLASS)) ++ if (attr && (ippGetInteger (attr, 0) & CUPS_PRINTER_CLASS)) + printer->type = PRINTER_TYPE_CLASS; + else + printer->type = PRINTER_TYPE_PRINTER; +@@ -309,7 +309,7 @@ get_printer_state (const gchar * printer) + ipp_attribute_t *attr = ippFindAttribute (request, "printer-state", + IPP_TAG_ENUM); + if (attr) +- switch (attr->values[0].integer) { ++ switch (ippGetInteger (attr, 0)) { + case IPP_PRINTER_IDLE: + state = PRINTER_STATE_IDLE; + break;