diff options
author | B. Watson <yalhcru@gmail.com> | 2021-09-09 03:25:50 -0400 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2021-10-13 00:52:06 +0700 |
commit | e880350510cfb88e11c5bf6daafe24316a2acdf1 (patch) | |
tree | 086953a0d2a61c48c6375062c1caf8189933142d | |
parent | 751cd2ffa61ae0274c0728746d547bd65e12c25a (diff) | |
download | slackbuilds-e880350510cfb88e11c5bf6daafe24316a2acdf1.tar.gz |
desktop/vwm: Updated for version 3.3.2+20200112_207d888.
Signed-off-by: B. Watson <yalhcru@gmail.com>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | desktop/vwm/README | 5 | ||||
-rw-r--r-- | desktop/vwm/git2tarxz.sh | 54 | ||||
-rw-r--r-- | desktop/vwm/patches/paths.diff | 90 | ||||
-rw-r--r-- | desktop/vwm/patches/vterm_static.diff | 26 | ||||
-rw-r--r-- | desktop/vwm/slack-desc | 4 | ||||
-rw-r--r-- | desktop/vwm/vwm.SlackBuild | 165 | ||||
-rw-r--r-- | desktop/vwm/vwm.info | 12 |
7 files changed, 159 insertions, 197 deletions
diff --git a/desktop/vwm/README b/desktop/vwm/README index 557767fccf..9040a52c86 100644 --- a/desktop/vwm/README +++ b/desktop/vwm/README @@ -1,4 +1,4 @@ -vwm (console based window manager) +vwm (console text-based window manager) Viper Window Manager (VWM) is a lightweight, extensible window manager for the console. Originally, VWM was designed to be the reference @@ -15,5 +15,4 @@ a few simple API rules, anyone can create a "native application" which will appear on the VWM Main Menu. The mechanism for this is very similar to Mozilla-style plugins. -See /usr/doc/vwm-2.0.2/samples/vwmrc for information on customising -VWM. +See /usr/doc/$VERSION/samples/vwmrc for information on customising VWM. diff --git a/desktop/vwm/git2tarxz.sh b/desktop/vwm/git2tarxz.sh new file mode 100644 index 0000000000..5dd951db3c --- /dev/null +++ b/desktop/vwm/git2tarxz.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +# Create source tarball from git repo, with generated version +# number. + +# Note that this script doesn't need to be run as root. It does +# need to be able to write to the current directory it's run from. + +# This git2tarxz's output is a tarball with 2 separate projects. +# Upstream doesn't use tags. The version number of the tarball is the +# version of vwm, taken from vwm.h, plus the commit date and hash of +# the vwm tree. The libvterm version isn't included in the version +# number. + +PRGNAM=vwm +PRGURL=https://github.com/TragicWarrior/vwm +LIBURL1=https://github.com/TragicWarrior/libvterm +LIBURL2=https://github.com/TragicWarrior/libviper + +set -e + +CWD="$( pwd )" + +GITDIR=$( mktemp -dt $PRGNAM.git.XXXXXX ) +rm -rf $GITDIR +mkdir -p $GITDIR + +cd $GITDIR + +git clone $PRGURL +git clone $LIBURL1 +git clone $LIBURL2 + +cd $PRGNAM +GIT_SHA=$( git rev-parse --short HEAD ) + +DATE=$( git log --date=format:%Y%m%d --format=%cd | head -1 ) + +RELVER="$( grep '#define *VWM_VERSION' vwm.h | cut -d'"' -f2 )" +VERSION=$RELVER+${DATE}_${GIT_SHA} + +cd - + +rm -rf */.git +find . -name .gitignore -print0 | xargs -0 rm -f + +cd "$CWD" +rm -rf $PRGNAM-$VERSION $PRGNAM-$VERSION.tar.xz +mv $GITDIR $PRGNAM-$VERSION +tar cvfJ $PRGNAM-$VERSION.tar.xz $PRGNAM-$VERSION + +echo +echo "Created tarball: $PRGNAM-$VERSION.tar.xz" +echo "VERSION=$VERSION" diff --git a/desktop/vwm/patches/paths.diff b/desktop/vwm/patches/paths.diff deleted file mode 100644 index 486135ebff..0000000000 --- a/desktop/vwm/patches/paths.diff +++ /dev/null @@ -1,90 +0,0 @@ -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 deleted file mode 100644 index b3356a17bc..0000000000 --- a/desktop/vwm/patches/vterm_static.diff +++ /dev/null @@ -1,26 +0,0 @@ -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/slack-desc b/desktop/vwm/slack-desc index f5da6433b6..428b5afcc7 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 (console based window manager) +vwm: vwm (console text-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 @@ -16,4 +16,4 @@ vwm: From conception, VWM was designed to be both lightweight and ssh vwm: friendly. Character based line-art compresses very well as do the vwm: escape sequences which handle cursor manipulation. This makes VWM vwm: quite suitable for low-bandwidth, remote connectivity over ssh. -vwm: http://vwm.sourceforge.net/ +vwm: diff --git a/desktop/vwm/vwm.SlackBuild b/desktop/vwm/vwm.SlackBuild index ff1829de96..eddd72444e 100644 --- a/desktop/vwm/vwm.SlackBuild +++ b/desktop/vwm/vwm.SlackBuild @@ -25,6 +25,17 @@ # Previously maintained by Gerardo Zamudio. # Now maintained by B. Watson <yalhcru@gmail.com>. +# 20210908 bkw: +# - Update this stale build. It compiled on -current, but failed to +# run properly. Upstream never updated the old sourceforge page to +# let us know he moved to github, so I just now found it out... +# Upstream doesn't use tags for releases, I used latest git for +# all 3 projects (vwm, libviper, libvterm). +# - Bundle libviper. The old libviper build is gone (nothing else used it). +# - Bundled libs are now shared, not static, and are included in the +# built package (along with their includes). +# - Upstream switched to cmake, many changes because of that. + # 20170825 bkw: # - Take over maintenance. # - Update for v2.1.3. @@ -41,8 +52,8 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=vwm -VERSION=${VERSION:-2.1.3} -BUILD=${BUILD:-3} +VERSION=${VERSION:-3.3.2+20200112_207d888} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -54,9 +65,6 @@ if [ -z "$ARCH" ]; then esac fi -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 @@ -80,76 +88,95 @@ 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/$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 -fixperms - -# Patch the relevant Makefiles to not use hardcoded paths. -patch -p1 < $CWD/patches/paths.diff - -# 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 vmwterm3 one is done with -# the main installation). -cd modules/sysmon - make CFLAGS="$SLKCFLAGS -I$PKG/usr/include" - make install prefix=$PKG/usr libdir=$PKG/usr/lib${LIBDIRSUFFIX} +rm -rf $PKG $TMP/$PRGNAM-$VERSION +mkdir -p $PKG $OUTPUT +cd $TMP + +# The tarball includes all 3 projects (vwm, libviper, libvterm) and +# was created by git2tarxz.sh. +tar xvf $CWD/$PRGNAM-$VERSION.tar.xz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +BASEDIR=$( pwd ) + +# First, we build the two libraries vwm needs. These are by the same +# author as vwm. The one called libvterm is *not* related to the +# libvterm on SBo (two projects happened to pick the same name). +# These have to be shared libs (or anyway, libvterm has to be, as +# vwm's vwmterm module loads it via dlopen()). + +buildlib() { + cd $BASEDIR/lib$1 + mkdir -p build + cd build + + # Note: the cmake stuff here ignores any attempt to install to lib64. + # We'll fix it later. + cmake \ + -DCMAKE_C_FLAGS_RELEASE="$SLKCFLAGS -DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE="$SLKCFLAGS -DNDEBUG" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release .. + make VERBOSE=1 + make install/strip DESTDIR=$PKG +} + +buildlib vterm +buildlib viper + +# no way to disable static libs via cmake, so... +rm -f $PKG/usr/lib/*.a + +# Finally, we can build vwm. Easier to force-override the autodetect +# for the libs, than it would be to make the autodetect actually work. +cd $BASEDIR/$PRGNAM + + # why is this hardcoded? + sed -i "s,/usr/local/lib/vwm/,/usr/lib$LIBDIRSUFFIX/vwm/," vwm.h + + mkdir -p build + cd build + cmake \ + -DCMAKE_C_FLAGS_RELEASE="$SLKCFLAGS -DNDEBUG" \ + -DCMAKE_CXX_FLAGS_RELEASE="$SLKCFLAGS -DNDEBUG" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DVTERM_LIBRARY=$PKG/usr/lib/libvterm.so \ + -DVIPER_LIBRARY=$PKG/usr/lib/libviper.so \ + -DVTERM_INCLUDE_DIR=$PKG/usr/include \ + -DVIPER_INCLUDE_DIR=$PKG/usr/include \ + -DCMAKE_BUILD_TYPE=Release .. + make VERBOSE=1 + make install/strip DESTDIR=$PKG cd - +# *Now* we can fix the lib=>lib64 mess, if needed. +[ "$LIBDIRSUFFIX" != "" ] && mv $PKG/usr/lib $PKG/usr/lib$LIBDIRSUFFIX + # Build and install the keycodes tool to determine codes for remapping -# keystrokes in '~/.vwm/vwmrc'. -make -j1 keycode_tool -install -s -m0755 keycodes/keycodes $PKG/usr/bin/ - -mkdir -p $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 +# keystrokes in '~/.vwm/vwmrc'. Don't think we need the non-wide version, +# since the main program uses wide ncurses. +make -j1 -C keycodes keycodes_wide +install -s -m0755 keycodes/keycodes_wide $PKG/usr/bin/keycodes + +PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION + +# upstream's README.md is mostly install instructions. +mkdir -p $PKGDOC +cp -a BUGS CHANGELOG LICENSE NEWS* README* TODO samples $PKGDOC +cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild +cat $CWD/README > $PKGDOC/README$TAG + +# include docs for the libraries too. +cd $BASEDIR +mkdir -p $PKGDOC/{libviper,libvterm} +cp -a libviper/{CHANGELOG,LICENSE,README.md,TODO} $PKGDOC/libviper +cp -a libvterm/{API,CHANGELOG,COPY*,LIC*,*.md} $PKGDOC/libvterm 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 219693e7a2..e844ca171d 100644 --- a/desktop/vwm/vwm.info +++ b/desktop/vwm/vwm.info @@ -1,12 +1,10 @@ PRGNAM="vwm" -VERSION="2.1.3" -HOMEPAGE="http://vwm.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/vwm/vwm-2.1.3.tar.gz \ - https://slackware.uk/~urchlay/src/libvterm-20170804.tar.xz" -MD5SUM="2a5c1ecba9db9a6f85f3e3b358136179 \ - d2d6344a67eb011ef7d0307bf3b267e3" +VERSION="3.3.2+20200112_207d888" +HOMEPAGE="https://github.com/TragicWarrior/vwm" +DOWNLOAD="https://slackware.uk/~urchlay/src/vwm-3.3.2+20200112_207d888.tar.xz" +MD5SUM="096673cc32536c0e170d02fb7aef5322" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="libpseudo libviper" +REQUIRES="libconfig" MAINTAINER="B. Watson" EMAIL="yalhcru@gmail.com" |