From c11f05ff4a0630ada6307009c32cc0075f35effe Mon Sep 17 00:00:00 2001 From: B. Watson Date: Fri, 25 Aug 2017 16:51:11 -0400 Subject: desktop/vwm: Updated for version 2.1.3, new maintainer. Signed-off-by: B. Watson --- desktop/vwm/README | 2 + desktop/vwm/patches/paths.diff | 90 ++++++++++++++++++ desktop/vwm/patches/vterm_static.diff | 26 ++++++ .../vwm/patches/vwm-2.0.2-Makefile-sysmon.patch | 11 --- .../vwm/patches/vwm-2.0.2-Makefile-vwmterm2.patch | 15 --- desktop/vwm/patches/vwm-2.0.2-Makefile.patch | 20 ---- desktop/vwm/slack-desc | 2 +- desktop/vwm/vwm.SlackBuild | 104 ++++++++++++++------- desktop/vwm/vwm.info | 12 ++- 9 files changed, 196 insertions(+), 86 deletions(-) create mode 100644 desktop/vwm/patches/paths.diff create mode 100644 desktop/vwm/patches/vterm_static.diff delete mode 100644 desktop/vwm/patches/vwm-2.0.2-Makefile-sysmon.patch delete mode 100644 desktop/vwm/patches/vwm-2.0.2-Makefile-vwmterm2.patch delete mode 100644 desktop/vwm/patches/vwm-2.0.2-Makefile.patch (limited to 'desktop/vwm') 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 +# Copyright 2009 Pierre Cazenave # 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 . + +# 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" -- cgit v1.2.3