summaryrefslogtreecommitdiff
path: root/desktop/vwm
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/vwm')
-rw-r--r--desktop/vwm/README2
-rw-r--r--desktop/vwm/patches/paths.diff90
-rw-r--r--desktop/vwm/patches/vterm_static.diff26
-rw-r--r--desktop/vwm/patches/vwm-2.0.2-Makefile-sysmon.patch11
-rw-r--r--desktop/vwm/patches/vwm-2.0.2-Makefile-vwmterm2.patch15
-rw-r--r--desktop/vwm/patches/vwm-2.0.2-Makefile.patch20
-rw-r--r--desktop/vwm/slack-desc2
-rw-r--r--desktop/vwm/vwm.SlackBuild104
-rw-r--r--desktop/vwm/vwm.info12
9 files changed, 196 insertions, 86 deletions
diff --git a/desktop/vwm/README b/desktop/vwm/README
index a94fe45cbe..078c37a8be 100644
--- a/desktop/vwm/README
+++ b/desktop/vwm/README
@@ -1,3 +1,5 @@
+vwm (console based window manager)
+
Viper Window Manager (VWM) is a lightweight, extensible window manager for
the console. Originally, VWM was designed to be the reference implementation
of libviper. In fact, the two projects were initially one before public
diff --git a/desktop/vwm/patches/paths.diff b/desktop/vwm/patches/paths.diff
new file mode 100644
index 0000000000..486135ebff
--- /dev/null
+++ b/desktop/vwm/patches/paths.diff
@@ -0,0 +1,90 @@
+diff -Naur vwm.orig/Makefile vwm/Makefile
+--- vwm.orig/Makefile 2009-10-20 15:57:55.000000000 -0400
++++ vwm/Makefile 2017-08-25 17:11:58.787940216 -0400
+@@ -8,8 +8,8 @@
+ headerdir = ${prefix}/include
+ includedir = -I${headerdir} -I./
+ bindir = ${prefix}/bin
+-moddir = /usr/lib/vwm/modules
+-moddir_wide = /usr/lib/vwm/modules_wide
++moddir = ${libdir}/vwm/modules
++moddir_wide = ${libdir}/vwm/modules_wide
+
+ makefile: all
+
+@@ -24,7 +24,7 @@
+ gcc $(CFLAGS) $(DEFS) $(WLIBS) $(PKG_CFG) $(includedir) -D_VIPER_WIDE *.c -o vwm_wide
+
+ vwm:
+- gcc $(CFLAGS) $(DEFS) $(LIBS) $(PKG_CFG) $(includdir) *.c -o vwm
++ gcc $(CFLAGS) $(DEFS) $(LIBS) $(PKG_CFG) $(includedir) *.c -o vwm
+
+ vwmterm:
+ cd modules/vwmterm3 && $(MAKE)
+@@ -45,9 +45,10 @@
+ rm -f vwm_wide.h
+
+ install:
+- mkdir -p $(moddir)
++ mkdir -p $(moddir) $(bindir) $(headerdir) $(libdir)
+ chmod 644 vwm.h
+ cp -f vwm.h $(headerdir)
++ strip vwm
+ chmod 755 vwm
+ cp -f vwm $(bindir)
+ cd modules/vwmterm3 && $(MAKE) install
+diff -Naur vwm.orig/modules/sysmon/Makefile vwm/modules/sysmon/Makefile
+--- vwm.orig/modules/sysmon/Makefile 2009-06-23 14:41:32.000000000 -0400
++++ vwm/modules/sysmon/Makefile 2017-08-25 17:12:41.742937932 -0400
+@@ -4,8 +4,8 @@
+ libdir = ${prefix}/lib
+ includedir = ${prefix}/include -I../..
+ bindir = ${prefix}/bin
+-moddir = /usr/lib/vwm/modules
+-moddir_wide = /usr/lib/vwm/modules_wide
++moddir = ${libdir}/vwm/modules
++moddir_wide = ${libdir}/vwm/modules_wide
+
+ makefile: all
+
+diff -Naur vwm.orig/modules/vwmterm3/Makefile vwm/modules/vwmterm3/Makefile
+--- vwm.orig/modules/vwmterm3/Makefile 2009-10-20 16:02:05.000000000 -0400
++++ vwm/modules/vwmterm3/Makefile 2017-08-25 17:11:25.953941962 -0400
+@@ -2,11 +2,11 @@
+ PKG_CFG = `pkg-config --cflags glib-2.0 gmodule-2.0`
+ DEFS = -D_REENTRANT -D_GNU_SOURCE
+ prefix = /usr/local
+-libdir = ${prefix}/lib
++libdir = ${prefix}/lib${arch}
+ includedir = -I${prefix}/include -I../..
+ bindir = ${prefix}/bin
+-moddir = /usr/lib/vwm/modules
+-moddir_wide = /usr/lib/vwm/modules_wide
++moddir = ${libdir}/vwm/modules
++moddir_wide = ${libdir}/vwm/modules_wide
+
+ makefile: all
+
+diff -Naur vwm.orig/vwm.h vwm/vwm.h
+--- vwm.orig/vwm.h 2009-11-04 17:10:01.000000000 -0500
++++ vwm/vwm.h 2017-08-25 17:16:32.528925658 -0400
+@@ -22,11 +22,17 @@
+ #define _VWM_SCREENSAVER_TIMEOUT 5
+ #endif
+
++#ifdef __amd64__
++#define LIBDIRSUFFIX "64"
++#else
++#define LIBDIRSUFFIX ""
++#endif
++
+ #ifndef _VWM_SHARED_MODULES
+ #ifdef _VIPER_WIDE
+-#define _VWM_SHARED_MODULES "/usr/lib/vwm/modules_wide/"
++#define _VWM_SHARED_MODULES "/usr/lib" LIBDIRSUFFIX "/vwm/modules_wide/"
+ #else
+-#define _VWM_SHARED_MODULES "/usr/lib/vwm/modules/"
++#define _VWM_SHARED_MODULES "/usr/lib" LIBDIRSUFFIX "/vwm/modules/"
+ #endif
+ #endif
+
diff --git a/desktop/vwm/patches/vterm_static.diff b/desktop/vwm/patches/vterm_static.diff
new file mode 100644
index 0000000000..b3356a17bc
--- /dev/null
+++ b/desktop/vwm/patches/vterm_static.diff
@@ -0,0 +1,26 @@
+diff -Naur vwm.orig/modules/vwmterm3/Makefile vwm/modules/vwmterm3/Makefile
+--- vwm.orig/modules/vwmterm3/Makefile 2009-10-20 16:02:05.000000000 -0400
++++ vwm/modules/vwmterm3/Makefile 2017-08-25 19:55:30.380418408 -0400
+@@ -20,7 +20,7 @@
+
+ vwmterm3:
+ gcc $(CFLAGS) $(DEFS) $(PKG_CFG) $(includedir) -c -fpic *.c
+- gcc $(CFLAGS) -shared -o vwmterm3.so *.o
++ gcc $(CFLAGS) -shared -o vwmterm3.so *.o $(VTERM_A)
+
+ vwmterm3_wide:
+ gcc $(CFLAGS) $(DEFS) $(PKG_CFG) $(includedir) -D_VIPER_WIDE -c -fpic *.c
+diff -Naur vwm.orig/modules/vwmterm3/init.c vwm/modules/vwmterm3/init.c
+--- vwm.orig/modules/vwmterm3/init.c 2009-10-30 17:31:44.000000000 -0400
++++ vwm/modules/vwmterm3/init.c 2017-08-25 19:56:03.036416671 -0400
+@@ -36,10 +36,6 @@
+ if(g_module_open("libutil.so",G_MODULE_BIND_LAZY)==NULL)
+ return "\ncould not preload libutil.so";
+
+- // preload libvterm for use with this module
+- if(g_module_open("libvterm.so",G_MODULE_BIND_LAZY)==NULL)
+- return "\ncould not preload libvterm.so";
+-
+ /* register with vwm */
+ libfilename=(gchar*)g_module_name(module);
+ vwm_module_add("Tools","VTerm",vwmterm_init,NULL,libfilename);
diff --git a/desktop/vwm/patches/vwm-2.0.2-Makefile-sysmon.patch b/desktop/vwm/patches/vwm-2.0.2-Makefile-sysmon.patch
deleted file mode 100644
index a77cd3245a..0000000000
--- a/desktop/vwm/patches/vwm-2.0.2-Makefile-sysmon.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- modules/sysmon/Makefile.orig 2009-05-22 15:26:39.000000000 +0100
-+++ modules/sysmon/Makefile 2009-05-22 15:27:08.000000000 +0100
-@@ -4,7 +4,7 @@
- libdir = ${prefix}/lib
- includedir = ${prefix}/include -I../..
- bindir = ${prefix}/bin
--moddir = /usr/lib/vwm/modules
-+moddir = ${libdir}/vwm/modules
-
- makefile: all
-
diff --git a/desktop/vwm/patches/vwm-2.0.2-Makefile-vwmterm2.patch b/desktop/vwm/patches/vwm-2.0.2-Makefile-vwmterm2.patch
deleted file mode 100644
index 06ef84b2d3..0000000000
--- a/desktop/vwm/patches/vwm-2.0.2-Makefile-vwmterm2.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- vwm/modules/vwmterm2/Makefile 2009-04-21 23:55:19.000000000 +0100
-+++ vwm/modules/vwmterm2/Makefile.new 2010-01-19 19:57:52.754821551 +0000
-@@ -2,10 +2,10 @@
- PKG_CFG = `pkg-config --cflags glib-2.0 gmodule-2.0`
- DEFS = -D_REENTRANT -D_GNU_SOURCE
- prefix = /usr/local
--libdir = ${prefix}/lib
-+libdir = ${prefix}/lib${arch}
- includedir = -I${prefix}/include -I../..
- bindir = ${prefix}/bin
--moddir = /usr/lib/vwm/modules
-+moddir = ${libdir}/vwm/modules
-
- makefile: all
-
diff --git a/desktop/vwm/patches/vwm-2.0.2-Makefile.patch b/desktop/vwm/patches/vwm-2.0.2-Makefile.patch
deleted file mode 100644
index 7790ed5817..0000000000
--- a/desktop/vwm/patches/vwm-2.0.2-Makefile.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- Makefile.orig 2009-05-22 14:47:31.000000000 +0100
-+++ Makefile 2009-05-22 15:54:30.000000000 +0100
-@@ -8,7 +8,7 @@
- includedir = ${prefix}/include -I./
- bindir = ${prefix}/bin
- headerdir = ${prefix}/include
--moddir = /usr/lib/vwm/modules
-+moddir = ${libdir}/vwm/modules
-
- makefile: all
-
-@@ -32,7 +32,7 @@
- rm -f vwm
-
- install:
-- mkdir -p $(moddir)
-+ mkdir -p $(moddir) $(bindir) $(headerdir) $(libdir)
- chmod 644 vwm.h
- cp -f vwm.h $(headerdir)
- chmod 755 vwm
diff --git a/desktop/vwm/slack-desc b/desktop/vwm/slack-desc
index 235f95acd8..f5da6433b6 100644
--- a/desktop/vwm/slack-desc
+++ b/desktop/vwm/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-vwm: vwm (Viper Window Manager is a console based window manager.)
+vwm: vwm (console based window manager)
vwm:
vwm: Viper Window Manager (VWM) is a lightweight, extensible window manager
vwm: for the console. Originally, VWM was designed to be the reference
diff --git a/desktop/vwm/vwm.SlackBuild b/desktop/vwm/vwm.SlackBuild
index c48f78e579..7b69c737cd 100644
--- a/desktop/vwm/vwm.SlackBuild
+++ b/desktop/vwm/vwm.SlackBuild
@@ -2,7 +2,7 @@
# SlackBuild script for vwm.
#
-# Copyright 2009 Pierre Cazenave <pwcazenave {at} gmail [dot] com>
+# Copyright 2009 Pierre Cazenave <email removed>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,24 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Previously maintained by Gerardo Zamudio.
+# Now maintained by B. Watson <yalhcru@gmail.com>.
+
+# 20170825 bkw:
+# - Take over maintenance.
+# - Update for v2.1.3.
+# - slack-desc cosmetics.
+# - Don't install useless INSTALL to doc dir.
+# - Remove -j1 from the make commands, except the one for keycodes. seems
+# not to be needed any longer.
+# - Simplify script a bit.
+# - Build a private static 'libvterm', which is NOT the same libvterm as
+# libraries/libvterm on SBo. Unfortunately this adds a lot of complexity
+# back to the script :(
+# - Rebase patches/*.diff against 2.1.3 and combine into one patch.
+
PRGNAM=vwm
-VERSION=${VERSION:-2.0.2}
+VERSION=${VERSION:-2.1.3}
BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
@@ -54,57 +70,77 @@ else
LIBDIRSUFFIX=""
fi
+fixperms() {
+ chown -R root:root .
+ find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+}
+
set -e
rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
+mkdir -p $TMP/$PRGNAM $PKG $OUTPUT
+
+# First, the library. This is "libvterm", by the same author as vwm,
+# but it's completely unrelated to the libvterm on SBo. Two projects
+# happened to pick the same name. This one doesn't build a static lib
+# by default (which we need) so it's done here with 'ar'. None of this
+# stuff gets included in the package.
+# libvterm-20170804.tar.xz was created thus:
+# git clone https://github.com/TragicWarrior/libvterm.git libvterm-20170804
+# tar cvfJ libvterm-20170804.tar.xz libvterm-20170804
+LIBNAM=libvterm
+LIBVER=${LIBVER:-20170804}
+
+cd $TMP/$PRGNAM
+rm -rf $LIBNAM-$LIBVER
+tar xvf $CWD/$LIBNAM-$LIBVER.tar.xz
+cd $LIBNAM-$LIBVER
+fixperms
+
+# Build a static library. We need -fPIC even on 32-bit.
+make CFLAGS="$SLKCFLAGS -fPIC"
+rm -f *.so
+ar rcs $LIBNAM.a *.o
+
+# Now, the main program, which will link with the static lib we just built.
+cd $TMP/$PRGNAM
rm -rf $PRGNAM
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM
-chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-# patch the relevant Makefiles to not use hardcoded paths
-patch -p0 < $CWD/patches/vwm-2.0.2-Makefile.patch
-patch -p1 < $CWD/patches/vwm-2.0.2-Makefile-vwmterm2.patch
-patch -p0 < $CWD/patches/vwm-2.0.2-Makefile-sysmon.patch
-
-# hack to fix the hardcoded path in vwm.h. Not the prettiest, but there you
-# have it.
-if [ $ARCH == "x86_64" ]; then
- sed -i '26s|/usr/lib/vwm/modules|/usr/lib64/vwm/modules|' ./vwm.h
-fi
+fixperms
+
+# Patch the relevant Makefiles to not use hardcoded paths.
+patch -p1 < $CWD/patches/paths.diff
-make -j1 CFLAGS="$SLKCFLAGS"
+# Allows us to pass a full path to libvterm.a, avoids 'undefined symbol'
+# when starting vmterm3.
+patch -p1 < $CWD/patches/vterm_static.diff
+
+LIBDIR=$TMP/$PRGNAM/$LIBNAM-$LIBVER
+make CFLAGS="$SLKCFLAGS -I$LIBDIR" VTERM_A=$LIBDIR/libvterm.a
make install prefix=$PKG/usr libdir=$PKG/usr/lib${LIBDIRSUFFIX}
-# build and install the sysmon module (the vmwterm2 one is done with
-# the main installation)
+# Build and install the sysmon module (the vmwterm3 one is done with
+# the main installation).
cd modules/sysmon
- make -j1 CFLAGS="$SLKCFLAGS -I$PKG/usr/include"
+ make CFLAGS="$SLKCFLAGS -I$PKG/usr/include"
make install prefix=$PKG/usr libdir=$PKG/usr/lib${LIBDIRSUFFIX}
cd -
-# build and install the keycodes tool to determine codes for remapping
-# keystrokes in ~/.vwm/vwmrc
+# Build and install the keycodes tool to determine codes for remapping
+# keystrokes in '~/.vwm/vwmrc'.
make -j1 keycode_tool
-cp -a keycodes/keycodes $PKG/usr/bin/
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+install -s -m0755 keycodes/keycodes $PKG/usr/bin/
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGELOG INSTALL LICENSE NOTES samples $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CHANGELOG LICENSE NOTES samples $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README$TAG
-find $PKG/usr/doc/$PRGNAM-$VERSION -type f -exec chmod 644 {} \;
-
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/desktop/vwm/vwm.info b/desktop/vwm/vwm.info
index d8e8a417a7..11b3d5afce 100644
--- a/desktop/vwm/vwm.info
+++ b/desktop/vwm/vwm.info
@@ -1,10 +1,12 @@
PRGNAM="vwm"
-VERSION="2.0.2"
+VERSION="2.1.3"
HOMEPAGE="http://vwm.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/vwm/vwm-2.0.2.tar.gz"
-MD5SUM="d6f2e7c9ec0ad28eb863629b6edf53af"
+DOWNLOAD="http://downloads.sourceforge.net/vwm/vwm-2.1.3.tar.gz \
+ http://urchlay.naptime.net/~urchlay/src/libvterm-20170804.tar.xz"
+MD5SUM="2a5c1ecba9db9a6f85f3e3b358136179 \
+ d2d6344a67eb011ef7d0307bf3b267e3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libpseudo libviper libgtop"
-MAINTAINER="Gerardo Zamudio"
-EMAIL="gerardo@gerardozamudio.net"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"