aboutsummaryrefslogtreecommitdiff
path: root/x11-wm/mcwm
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2012-01-15 12:48:11 +0000
committerRenato Botelho <garga@FreeBSD.org>2012-01-15 12:48:11 +0000
commit0b63a690f1c785b6d81ace79fb5bf85119935d74 (patch)
tree0ee68c566e91934e2df3bf120ff1a1f29745c8dc /x11-wm/mcwm
parent26782807ea43e2c206b1913146bae222638a7a25 (diff)
downloadports-0b63a690f1c785b6d81ace79fb5bf85119935d74.tar.gz
ports-0b63a690f1c785b6d81ace79fb5bf85119935d74.zip
Adjust necesary ports to build with xcb-util 0.3.8
audio/pulseaudio is being updated to 0.9.23 x11/startup-notification is being updated to 0.12 Both was approved by kwm@ x11-wm/awesome is being updated to 3.4.11 Exp-run by: pav@
Notes
Notes: svn path=/head/; revision=289257
Diffstat (limited to 'x11-wm/mcwm')
-rw-r--r--x11-wm/mcwm/Makefile6
-rw-r--r--x11-wm/mcwm/files/patch-Makefile2
-rw-r--r--x11-wm/mcwm/files/patch-mcwm.c164
3 files changed, 169 insertions, 3 deletions
diff --git a/x11-wm/mcwm/Makefile b/x11-wm/mcwm/Makefile
index e3f6b963c48d..01570149012e 100644
--- a/x11-wm/mcwm/Makefile
+++ b/x11-wm/mcwm/Makefile
@@ -7,6 +7,7 @@
PORTNAME= mcwm
PORTVERSION= 20111124
+PORTREVISION= 1
CATEGORIES= x11-wm
MASTER_SITES= http://hack.org/mc/hacks/mcwm/
@@ -16,8 +17,9 @@ COMMENT= A small window manager inspired by CTWM, evilwm, and tinywm
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= xcb-util>=0.3.6:${PORTSDIR}/x11/xcb-util
-RUN_DEPENDS= xcb-util>=0.3.6:${PORTSDIR}/x11/xcb-util
+LIB_DEPENDS= xcb-util.0:${PORTSDIR}/x11/xcb-util \
+ xcb-keysyms.1:${PORTSDIR}/x11/xcb-util-keysyms \
+ xcb-icccm.4:${PORTSDIR}/x11/xcb-util-wm \
MAKE_JOBS_SAFE= yes
diff --git a/x11-wm/mcwm/files/patch-Makefile b/x11-wm/mcwm/files/patch-Makefile
index 3401fa110efd..5b05b01f3a72 100644
--- a/x11-wm/mcwm/files/patch-Makefile
+++ b/x11-wm/mcwm/files/patch-Makefile
@@ -17,7 +17,7 @@ http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/163667
- -lxcb-atom #-ldmalloc
+CFLAGS+=-g -std=c99 -Wall -Wextra -I/usr/local/include #-DDEBUG #-DDMALLOC
+LDFLAGS+=-L/usr/local/lib -lxcb -lxcb-randr -lxcb-keysyms -lxcb-icccm \
-+ -lxcb-atom -lxcb-property #-ldmalloc
++ -lxcb-util #-ldmalloc
RM=/bin/rm
-PREFIX=/usr/local
diff --git a/x11-wm/mcwm/files/patch-mcwm.c b/x11-wm/mcwm/files/patch-mcwm.c
new file mode 100644
index 000000000000..4d5936cd3a24
--- /dev/null
+++ b/x11-wm/mcwm/files/patch-mcwm.c
@@ -0,0 +1,164 @@
+diff --git a/mcwm.c b/mcwm.c
+index 0613c9f..04a7a41 100644
+--- mcwm.c
++++ mcwm.c
+@@ -45,6 +45,10 @@
+
+ #include <X11/keysym.h>
+
++#include <xcb/xproto.h>
++#include <xcb/xcb_util.h>
++#include <xcb/xcb_ewmh.h>
++
+ #ifdef DEBUG
+ #include "events.h"
+ #endif
+@@ -503,7 +507,7 @@ void setwmdesktop(xcb_drawable_t win, uint32_t ws)
+ PDEBUG("Changing _NET_WM_DESKTOP on window %d to %d\n", win, ws);
+
+ xcb_change_property(conn, XCB_PROP_MODE_REPLACE, win,
+- atom_desktop, CARDINAL, 32, 1,
++ atom_desktop, XCB_ATOM_CARDINAL, 32, 1,
+ &ws);
+ }
+
+@@ -521,7 +525,7 @@ int32_t getwmdesktop(xcb_drawable_t win)
+ uint32_t *wsp;
+ uint32_t ws;
+
+- cookie = xcb_get_any_property(conn, false, win, atom_desktop,
++ cookie = xcb_get_property(conn, false, win, atom_desktop,XCB_GET_PROPERTY_TYPE_ANY, 0,
+ sizeof (int32_t));
+
+ reply = xcb_get_property_reply(conn, cookie, NULL);
+@@ -1136,8 +1140,8 @@ struct client *setupwin(xcb_window_t win)
+ /*
+ * Get the window's incremental size step, if any.
+ */
+- if (!xcb_get_wm_normal_hints_reply(
+- conn, xcb_get_wm_normal_hints_unchecked(
++ if (!xcb_icccm_get_wm_normal_hints_reply(
++ conn, xcb_icccm_get_wm_normal_hints_unchecked(
+ conn, win), &hints, NULL))
+ {
+ PDEBUG("Couldn't get size hints.\n");
+@@ -1147,25 +1151,25 @@ struct client *setupwin(xcb_window_t win)
+ * The user specified the position coordinates. Remember that so
+ * we can use geometry later.
+ */
+- if (hints.flags & XCB_SIZE_HINT_US_POSITION)
++ if (hints.flags & XCB_ICCCM_SIZE_HINT_US_POSITION)
+ {
+ client->usercoord = true;
+ }
+
+- if (hints.flags & XCB_SIZE_HINT_P_MIN_SIZE)
++ if (hints.flags & XCB_ICCCM_SIZE_HINT_P_MIN_SIZE)
+ {
+ client->min_width = hints.min_width;
+ client->min_height = hints.min_height;
+ }
+
+- if (hints.flags & XCB_SIZE_HINT_P_MAX_SIZE)
++ if (hints.flags & XCB_ICCCM_SIZE_HINT_P_MAX_SIZE)
+ {
+
+ client->max_width = hints.max_width;
+ client->max_height = hints.max_height;
+ }
+
+- if (hints.flags & XCB_SIZE_HINT_P_RESIZE_INC)
++ if (hints.flags & XCB_ICCCM_SIZE_HINT_P_RESIZE_INC)
+ {
+ client->width_inc = hints.width_inc;
+ client->height_inc = hints.height_inc;
+@@ -1174,7 +1178,7 @@ struct client *setupwin(xcb_window_t win)
+ client->height_inc);
+ }
+
+- if (hints.flags & XCB_SIZE_HINT_BASE_SIZE)
++ if (hints.flags & XCB_ICCCM_SIZE_HINT_BASE_SIZE)
+ {
+ client->base_width = hints.base_width;
+ client->base_height = hints.base_height;
+@@ -2823,7 +2827,7 @@ void botright(void)
+ void deletewin(void)
+ {
+ xcb_get_property_cookie_t cookie;
+- xcb_get_wm_protocols_reply_t protocols;
++ xcb_icccm_get_wm_protocols_reply_t protocols;
+ bool use_delete = false;
+ uint32_t i;
+
+@@ -2833,14 +2837,14 @@ void deletewin(void)
+ }
+
+ /* Check if WM_DELETE is supported. */
+- cookie = xcb_get_wm_protocols_unchecked(conn, focuswin->id, wm_protocols);
+- if (xcb_get_wm_protocols_reply(conn, cookie, &protocols, NULL) == 1) {
++ cookie = xcb_icccm_get_wm_protocols_unchecked(conn, focuswin->id, wm_protocols);
++ if (xcb_icccm_get_wm_protocols_reply(conn, cookie, &protocols, NULL) == 1) {
+ for (i = 0; i < protocols.atoms_len; i++)
+ if (protocols.atoms[i] == wm_delete_window)
+ use_delete = true;
+ }
+
+- xcb_get_wm_protocols_reply_wipe(&protocols);
++ xcb_icccm_get_wm_protocols_reply_wipe(&protocols);
+
+ if (use_delete)
+ {
+@@ -4082,9 +4086,50 @@ int main(int argc, char **argv)
+ conf.fixedcol = getcolor(fixedcol);
+
+ /* Get some atoms. */
+- atom_desktop = xcb_atom_get(conn, "_NET_WM_DESKTOP");
+- wm_delete_window = xcb_atom_get(conn, "WM_DELETE_WINDOW");
+- wm_protocols = xcb_atom_get(conn, "WM_PROTOCOLS");
++// atom_desktop = xcb_atom_get(conn, "_NET_WM_DESKTOP");
++// wm_delete_window = xcb_atom_get(conn, "WM_DELETE_WINDOW");
++// wm_protocols = xcb_atom_get(conn, "WM_PROTOCOLS");
++
++ char *atom_name;
++ xcb_intern_atom_cookie_t cookie_desktop;
++ xcb_intern_atom_cookie_t cookie_delete_window;
++ xcb_intern_atom_cookie_t cookie_protocols;
++ xcb_intern_atom_reply_t *rep;
++
++ atom_name = "_NET_WM_DESKTOP";
++ cookie_desktop = xcb_intern_atom (conn,
++ 0,
++ strlen (atom_name),
++ atom_name);
++ rep = xcb_intern_atom_reply (conn,
++ cookie_desktop,
++ NULL);
++ atom_desktop = rep->atom;
++ free (rep);
++
++
++ atom_name = "WM_DELETE_WINDOW";
++ cookie_delete_window = xcb_intern_atom (conn,
++ 0,
++ strlen (atom_name),
++ atom_name);
++ rep = xcb_intern_atom_reply (conn,
++ cookie_delete_window,
++ NULL);
++ wm_delete_window = rep->atom;
++ free (rep);
++
++ atom_name = "WM_PROTOCOLS";
++ cookie_protocols = xcb_intern_atom (conn,
++ 0,
++ strlen (atom_name),
++ atom_name);
++ rep = xcb_intern_atom_reply (conn,
++ cookie_protocols,
++ NULL);
++ wm_protocols = rep->atom;
++ free (rep);
++
+
+ /* Check for RANDR extension and configure. */
+ randrbase = setuprandr();