diff options
-rw-r--r-- | pcr/wmii-hg/PKGBUILD | 61 | ||||
-rw-r--r-- | pcr/wmii-hg/fix-for-weird-xinerama-settings.patch | 64 |
2 files changed, 0 insertions, 125 deletions
diff --git a/pcr/wmii-hg/PKGBUILD b/pcr/wmii-hg/PKGBUILD deleted file mode 100644 index 5c5cfc979..000000000 --- a/pcr/wmii-hg/PKGBUILD +++ /dev/null @@ -1,61 +0,0 @@ -# Maintainer: Luke Shumaker <lukeshu@sbcglobal.net> - -# Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com> -# Contributor (Arch): Jeffrey 'jf' Lim <jfs.world@gmail.com> - -pkgname=wmii-hg -pkgver=2823 -pkgdesc="A small, dynamic window manager for X11" -url="https://code.google.com/p/wmii/" -license=("MIT") - -provides=("wmii") -conflicts=("wmii") - -pkgrel=3 -arch=("i686" "x86_64") -depends=('libxft' 'libxrandr' 'libxinerama') -makedepends=('txt2tags' 'libixp') # libixp is statically linked - -source=("https://repo.parabola.nu/other/${pkgname}/${pkgname}-${pkgver}.tar.gz" - fix-for-weird-xinerama-settings.patch) -md5sums=('8228a299cb83258ab3988b6131d2cbb8' - 'd8f045136a7bdf3d8ccc1001085c3c17') - -mkdepends=('mercurial') -mksource=("$pkgname-$pkgver::hg+https://code.google.com/p/wmii/#revision=${pkgver}") -mkmd5sums=('SKIP') -mksource() { - # don't include this precompiled binary (probably included by accident) - rm "${srcdir}/${pkgname}-${pkgver}/lib/libutf/libutf.a" -} - -prepare() { - cd "$srcdir/$pkgname-$pkgver" - - patch -p1 -N -i ../fix-for-weird-xinerama-settings.patch - sed -i 's# !=#!=#' mk/hdr.mk - - sed -i 's|PREFIX = /usr/local|PREFIX = /usr|' config.mk - sed -i 's|ETC = $(PREFIX)/etc|ETC = /etc|' config.mk - sed -i 's|PYTHON = .*|PYTHON = python2|' config.mk - sed -i '/^CFLAGS += -O2$/d' config.mk - echo 'CFLAGS += -O2' >> config.mk -} - -build() { - cd "$srcdir/$pkgname-$pkgver" - - export LDFLAGS+=',--no-as-needed' - export MAKEFLAGS="-j1" - make -} - -package() { - cd "$srcdir/$pkgname-$pkgver" - make DESTDIR="$pkgdir" install - - install -Dm644 img/wmii.png "${pkgdir}"/usr/share/pixmaps/wmii.png - install -Dm644 debian/file/wmii.desktop "${pkgdir}"/usr/share/xsessions/wmii.desktop - install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE -} diff --git a/pcr/wmii-hg/fix-for-weird-xinerama-settings.patch b/pcr/wmii-hg/fix-for-weird-xinerama-settings.patch deleted file mode 100644 index c61f36eea..000000000 --- a/pcr/wmii-hg/fix-for-weird-xinerama-settings.patch +++ /dev/null @@ -1,64 +0,0 @@ -I (Luke Shumaker) wrote this patch to fix a bug where if Xinerama is -(mis)configured such that there are two screens with the same size and -position, then wmii removes both of them from the list, resulting in -nscreens=0, which causes a segfault when it tries to dereference -screen[0]. This is the case by default with a recent version of the -drivers for my Nvidia 9400GT (where the DVI and VGA ports mirror -eachother). - -Plus, the code's more efficient now, because it does everything in -place, instead of needing to malloc another list. - -diff -ru wmii-hg-2823.orig/cmd/wmii/main.c wmii-hg-2823/cmd/wmii/main.c ---- wmii-hg-2823.orig/cmd/wmii/main.c 1989-12-31 19:00:00.000000000 -0500 -+++ wmii-hg-2823/cmd/wmii/main.c 2015-01-15 23:51:34.325953828 -0500 -@@ -163,7 +163,7 @@ - void - init_screens(void) { - static int old_n, old_nscreens; -- Rectangle *rects, *r; -+ Rectangle *rects; - View *v; - int i, j, n, m; - -@@ -178,23 +178,27 @@ - - /* Reallocate screens, zero any new ones. */ - rects = xinerama_screens(&n); -- r = malloc(n * sizeof *r); - - /* Weed out subsumed/cloned screens */ -- for(m=-1; m < n; n=m) { -- for(i=n-1, m=0; i >= 0; i--) { -- for(j=0; j < n; j++) -- if (i != j && -- eqrect(rects[i], -- rect_intersection(rects[i], rects[j]))) -- break; -- if (j == n) -- r[m++] = rects[i]; -+ for(m=0, i=0; i < n; i++) { -+ for(j=0; j < n; j++) { -+ if (i != j && -+ /* rects[i] is entirely contained in rects[j] */ -+ eqrect(rects[i], rect_intersection(rects[i], rects[j])) && -+ /* but if they are the same, accept the first */ -+ (i > j || ! eqrect(rects[i], rects[j]))) { -+ /* remove rects[i] from rects[] */ -+ break; -+ } -+ } -+ if (j < n) { /* hit "break" */ -+ /* remove rects[i] from rects[] */ -+ n--; -+ for(j=i; j < n; j++) -+ rects[j] = rects[j+1]; -+ i--; - } -- for(i=m-1, j=0; i >= 0; i--) -- rects[j++] = r[i]; - } -- free(r); - - m = nscreens; - nscreens_new = keep_screens ? max(n, nscreens) : n; |