summaryrefslogtreecommitdiff
path: root/extra/icewm
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-05-28 17:43:57 +0000
committerroot <root@rshg054.dnsready.net>2012-05-28 17:43:57 +0000
commit483f7de4ab6a706517279a24d2efc969f4a1996d (patch)
tree128a7513d3e42c4d8812b5fd11a4afb116399762 /extra/icewm
parent89dd7b5f30d48c708092a71b1c8285090fe91505 (diff)
Mon May 28 17:43:57 UTC 2012
Diffstat (limited to 'extra/icewm')
-rw-r--r--extra/icewm/PKGBUILD21
-rw-r--r--extra/icewm/ignore_workarea_hints.patch62
-rw-r--r--extra/icewm/no_proc_acpi.patch17
-rw-r--r--extra/icewm/use_ICEWM_deprecated.patch21
-rw-r--r--extra/icewm/wmclient.patch25
5 files changed, 140 insertions, 6 deletions
diff --git a/extra/icewm/PKGBUILD b/extra/icewm/PKGBUILD
index 7c7951c04..1a0b1fc72 100644
--- a/extra/icewm/PKGBUILD
+++ b/extra/icewm/PKGBUILD
@@ -1,22 +1,31 @@
-# $Id: PKGBUILD 127320 2011-06-13 04:06:23Z eric $
+# $Id: PKGBUILD 160012 2012-05-28 00:49:21Z eric $
# Maintainer: Eric BĂ©langer <eric@archlinux.org>
pkgname=icewm
pkgver=1.3.7
-pkgrel=1
+pkgrel=2
pkgdesc="A Window Manager designed for speed, usability, and consistency"
arch=('i686' 'x86_64')
url="http://www.icewm.org/"
license=('LGPL')
depends=('libxrandr' 'libxft' 'libsm' 'libxinerama' 'gdk-pixbuf2')
makedepends=('xorg-mkfontdir')
-source=(http://downloads.sourceforge.net/sourceforge/icewm/${pkgname}-${pkgver}.tar.gz)
-md5sums=('224695231aedb2b91db3254a13e1c8dd')
-sha1sums=('ce8d86190e275dc7db2d8c28472a579264120803')
+source=(http://downloads.sourceforge.net/sourceforge/icewm/${pkgname}-${pkgver}.tar.gz
+ use_ICEWM_deprecated.patch ignore_workarea_hints.patch no_proc_acpi.patch wmclient.patch)
+sha1sums=('ce8d86190e275dc7db2d8c28472a579264120803'
+ 'ac8f352ba5ee33e19ce75fdeed890361550e125a'
+ '49ca37ae41290f17a71a177b1f774235f91d79f1'
+ 'a47fb4191f30b8f42a6bd90ca5d7941bb3d65338'
+ 'd16b4b3ab269a657e735e343833973d000c0b35b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --sysconfdir=/etc --enable-shaped-decorations --enable-gradients
+ patch -p1 -i "${srcdir}/use_ICEWM_deprecated.patch"
+ patch -p1 -i "${srcdir}/ignore_workarea_hints.patch"
+ patch -p1 -i "${srcdir}/no_proc_acpi.patch"
+ patch -p1 -i "${srcdir}/wmclient.patch"
+ LIBS+="-lfontconfig" ./configure --prefix=/usr --sysconfdir=/etc \
+ --enable-shaped-decorations --enable-gradients
make
}
diff --git a/extra/icewm/ignore_workarea_hints.patch b/extra/icewm/ignore_workarea_hints.patch
new file mode 100644
index 000000000..99ffa4a28
--- /dev/null
+++ b/extra/icewm/ignore_workarea_hints.patch
@@ -0,0 +1,62 @@
+Index: icewm-1.3.7/src/wmapp.cc
+===================================================================
+--- icewm-1.3.7.orig/src/wmapp.cc 2010-10-31 15:09:36.000000000 +0100
++++ icewm-1.3.7/src/wmapp.cc 2012-01-15 17:01:47.284927292 +0100
+@@ -187,7 +187,6 @@
+ _XA_NET_ACTIVE_WINDOW,
+ _XA_NET_CLOSE_WINDOW,
+ _XA_NET_WM_STRUT,
+- _XA_NET_WORKAREA,
+ _XA_NET_WM_STATE,
+ _XA_NET_WM_STATE_MAXIMIZED_VERT,
+ _XA_NET_WM_STATE_MAXIMIZED_HORZ,
+Index: icewm-1.3.7/src/wmmgr.cc
+===================================================================
+--- icewm-1.3.7.orig/src/wmmgr.cc 2010-10-31 15:09:36.000000000 +0100
++++ icewm-1.3.7/src/wmmgr.cc 2012-01-15 16:59:18.000000000 +0100
+@@ -2114,11 +2114,6 @@
+ area[ws * 4 + 3] = fWorkArea[ws][0].fMaxY - fWorkArea[ws][0].fMinY;
+ }
+
+- XChangeProperty(xapp->display(), handle(),
+- _XA_NET_WORKAREA,
+- XA_CARDINAL,
+- 32, PropModeReplace,
+- (unsigned char *)area, nw * 4);
+ delete [] area;
+ #endif
+ #ifdef GNOME1_HINTS
+Index: icewm-1.3.7/src/wmmgr.h
+===================================================================
+--- icewm-1.3.7.orig/src/wmmgr.h 2010-10-31 15:09:36.000000000 +0100
++++ icewm-1.3.7/src/wmmgr.h 2012-01-15 16:59:18.000000000 +0100
+@@ -297,7 +297,6 @@
+ extern Atom _XA_NET_CURRENT_DESKTOP; // OK
+ ///extern Atom _XA_NET_DESKTOP_NAMES; // N/A
+ extern Atom _XA_NET_ACTIVE_WINDOW; // OK
+-extern Atom _XA_NET_WORKAREA; // OK
+ extern Atom _XA_NET_SUPPORTING_WM_CHECK; // OK
+ ///extern Atom _XA_NET_SUPPORTING_WM_CHECK; // N/A
+ extern Atom _XA_NET_CLOSE_WINDOW; // OK
+Index: icewm-1.3.7/src/yxapp.cc
+===================================================================
+--- icewm-1.3.7.orig/src/yxapp.cc 2010-10-31 15:09:36.000000000 +0100
++++ icewm-1.3.7/src/yxapp.cc 2012-01-15 17:03:59.556423213 +0100
+@@ -67,7 +67,7 @@
+ Atom _XA_NET_CLIENT_LIST_STACKING;
+ Atom _XA_NET_NUMBER_OF_DESKTOPS;
+ Atom _XA_NET_CURRENT_DESKTOP;
+-Atom _XA_NET_WORKAREA;
++//Atom _XA_NET_WORKAREA;
+ Atom _XA_NET_WM_MOVERESIZE;
+
+ Atom _XA_NET_WM_STRUT;
+@@ -286,7 +286,7 @@
+ { &_XA_NET_CLIENT_LIST_STACKING, "_NET_CLIENT_LIST_STACKING" },
+ { &_XA_NET_NUMBER_OF_DESKTOPS, "_NET_NUMBER_OF_DESKTOPS" },
+ { &_XA_NET_CURRENT_DESKTOP, "_NET_CURRENT_DESKTOP" },
+- { &_XA_NET_WORKAREA, "_NET_WORKAREA" },
++// { &_XA_NET_WORKAREA, "_NET_WORKAREA" },
+ { &_XA_NET_WM_MOVERESIZE, "_NET_WM_MOVERESIZE" },
+
+ { &_XA_NET_WM_STRUT, "_NET_WM_STRUT" },
diff --git a/extra/icewm/no_proc_acpi.patch b/extra/icewm/no_proc_acpi.patch
new file mode 100644
index 000000000..4cd92360c
--- /dev/null
+++ b/extra/icewm/no_proc_acpi.patch
@@ -0,0 +1,17 @@
+Description: Check for sysfs' acpi file, procfs may not contain acpi data with recent kernels
+Author: Andrey Danin <danindrey@mail.ru>, Eduard Bloch <blade@debian.org>
+Bug: http://sourceforge.net/mailarchive/forum.php?thread_name=E1SHwYx-00029t-1N.danindrey-mail-ru%40f232.mail.ru&forum_name=icewm-devel
+Forwarded: Yes
+
+Index: icewm-1.3.7/src/wmtaskbar.cc
+===================================================================
+--- icewm-1.3.7.orig/src/wmtaskbar.cc 2010-10-31 15:09:36.000000000 +0100
++++ icewm-1.3.7/src/wmtaskbar.cc 2012-04-11 23:22:23.466564372 +0200
+@@ -467,6 +467,7 @@
+ #endif
+ #ifdef CONFIG_APPLET_APM
+ if (taskBarShowApm && (access(APMDEV, 0) == 0 ||
++ access("/sys/class/power_supply", 0) == 0 ||
+ access("/proc/acpi", 0) == 0 ||
+ access("/dev/acpi", 0) == 0 ||
+ access("/proc/pmu", R_OK|X_OK) == 0))
diff --git a/extra/icewm/use_ICEWM_deprecated.patch b/extra/icewm/use_ICEWM_deprecated.patch
new file mode 100644
index 000000000..3533d31e3
--- /dev/null
+++ b/extra/icewm/use_ICEWM_deprecated.patch
@@ -0,0 +1,21 @@
+Description: Don't use "deprecated" as identifier, will FTBFS if another
+ library defines functions as deprecated.
+Author: Andreas Moog <amoog@ubuntu.com>
+Bug: https://sourceforge.net/tracker/?func=detail&aid=3494034&group_id=31&atid=100031
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/935179
+Forwarded: Yes
+
+--- icewm-1.3.7.orig/src/base.h
++++ icewm-1.3.7/src/base.h
+@@ -2,9 +2,9 @@
+ #define __BASE_H
+
+ #if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3
+-#define deprecated __attribute__((deprecated))
++#define ICEWM_deprecated __attribute__((deprecated))
+ #else
+-#define deprecated
++#define ICEWM_deprecated
+ #endif
+
+ /*** Atomar Data Types ********************************************************/
diff --git a/extra/icewm/wmclient.patch b/extra/icewm/wmclient.patch
new file mode 100644
index 000000000..95f00614d
--- /dev/null
+++ b/extra/icewm/wmclient.patch
@@ -0,0 +1,25 @@
+diff -uNr icewm-1.3.7.orig/src/wmclient.cc icewm-1.3.7/src/wmclient.cc
+--- icewm-1.3.7.orig/src/wmclient.cc 2012-05-27 11:54:25.663101746 +0200
++++ icewm-1.3.7/src/wmclient.cc 2012-05-27 12:17:40.236339580 +0200
+@@ -1044,20 +1044,11 @@
+ while (XGetWindowProperty(display, handle,
+ propAtom, (itemCount * itemSize) / 32, 1024*32, False, AnyPropertyType,
+ &r_type, &r_format, &nitems, &bytes_remain,
+- &prop) == Success && prop && bytes_remain == 0)
++ &prop) == Success && prop)
+ {
+ if (r_format == itemSize1 && nitems > 0) {
+ data = realloc(data, (itemCount + nitems) * itemSize / 8);
+
+- // access to memory beyound 256MiB causes crashes! But anyhow, size
+- // >>2MiB looks suspicious. Detect this case ASAP. However, if
+- // the usable icon is somewhere in the beginning, it's okay to
+- // return truncated data.
+- if (itemCount * itemSize / 8 >= 2097152) {
+- XFree(prop);
+- break;
+- }
+-
+ memcpy((char *)data + itemCount * itemSize / 8, prop, nitems * itemSize / 8);
+ itemCount += nitems;
+ XFree(prop);