summaryrefslogtreecommitdiff
path: root/desktop/mcwm
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/mcwm')
-rw-r--r--desktop/mcwm/README13
-rw-r--r--desktop/mcwm/extractconfig.sh10
-rw-r--r--desktop/mcwm/mcwm.SlackBuild51
-rw-r--r--desktop/mcwm/mcwm.info4
4 files changed, 60 insertions, 18 deletions
diff --git a/desktop/mcwm/README b/desktop/mcwm/README
index 5d39e38c1f..095685e420 100644
--- a/desktop/mcwm/README
+++ b/desktop/mcwm/README
@@ -1,3 +1,5 @@
+mcwm (Minimalist X11 floating window manager)
+
mcwm is a minimalist window manager for the X Window System written
directly on top of the X protocol C-language Binding, XCB. It is a
traditional floating window manager with no fancy smarts like those in
@@ -22,3 +24,14 @@ Features:
* Written in straight C (C99).
* Written using only XCB.
* Few dependencies.
+
+Since most config options are compiled in, rather than read from
+a config file, this build allows a user-supplied config.h. To
+customize the config, use a sequence of commands like:
+
+# sh extractconfig.sh
+# vi config.h # or emacs, nano, etc
+# ./mcwm.SlackBuild
+
+If there's a config.h in the SlackBuild's directory, it will be
+used instead of the default one.
diff --git a/desktop/mcwm/extractconfig.sh b/desktop/mcwm/extractconfig.sh
new file mode 100644
index 0000000000..ef81959996
--- /dev/null
+++ b/desktop/mcwm/extractconfig.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+PRGNAM=mcwm
+
+source ./$PRGNAM.info || exit 1
+
+SRCVER=${VERSION/_/-}
+
+[ -e config.h ] && mv -b config.h config.h.old
+tar xvfO $PRGNAM-$SRCVER.tar.bz2 --wildcards \*/config.h > config.h
diff --git a/desktop/mcwm/mcwm.SlackBuild b/desktop/mcwm/mcwm.SlackBuild
index 47d6832051..20bd41523d 100644
--- a/desktop/mcwm/mcwm.SlackBuild
+++ b/desktop/mcwm/mcwm.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for mcwm
-# Copyright 2014 Leonard Schmidt <lems@gmx.net>
+# Copyright 2014 Leonard Schmidt <email removed>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,10 +22,25 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Now maintained by B. Watson <yalhcru@gmail.com>.
+
+# 20180628 bkw:
+# Looks like upstream development has stalled since 2015. At some point,
+# it might make sense to update this build for the last git commit, since
+# there were a couple bugfixes and a useful-looking feature added. For
+# now, it'll stay at the last release.
+
+# 20180628 bkw:
+# - Take over maintenance.
+# - Add LICENSE to doc dir, bump BUILD to 3.
+# - Support user-supplied config.h (in $CWD).
+# - Fix compiler warning about asprintf().
+# - Minor script cleanups/simplifications.
+
PRGNAM=mcwm
VERSION=${VERSION:-20130209_2}
-SRCVER=${SRCVER:-20130209-2}
-BUILD=${BUILD:-2}
+SRCVER=${VERSION/_/-}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -66,26 +81,30 @@ cd $PRGNAM-$SRCVER
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 \
+ -o -perm 511 \) -exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+
+# 20180628 bkw: This warning shouldn't hurt anything on Slack 14.2:
+# mcwm.c:1554:9: warning: implicit declaration of function 'asprintf'
+# ...but it might cause problems in future gcc versions.
+sed -i '1i#define _GNU_SOURCE' $PRGNAM.c
-mkdir -p "$PKG/usr/bin" "$PKG/usr/man/man1"
-CFLAGS="$SLKCFLAGS" make PREFIX="$PKG/usr" install
+# If the user has a custom config.h, use it.
+[ -e $CWD/config.h ] && cat $CWD/config.h > config.h
-install -m 0755 -D scripts/9icon $PKG/usr/bin/9icon
-install -m 0755 -D scripts/mcicon $PKG/usr/bin/mcicon
-install -m 0755 -D scripts/mcmenu $PKG/usr/bin/mcmenu
-install -m 0755 -D $CWD/xinitrc.mcwm $PKG/etc/X11/xinit/xinitrc.mcwm
+mkdir -p "$PKG/usr/bin" "$PKG/usr/man/man1" "$PKG/etc/X11/xinit"
+CFLAGS="$SLKCFLAGS -Wl,-s" make PREFIX="$PKG/usr" install
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+install -m0755 -oroot -groot scripts/* $PKG/usr/bin
+cat $CWD/xinitrc.mcwm >> $PKG/etc/X11/xinit/xinitrc.mcwm
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+gzip -9 $PKG/usr/man/man1/*.1
+# include a copy of the config.h (whether it's custom or not) in docdir.
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a NEWS README TODO WISHLIST $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a NEWS README TODO WISHLIST LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
+cat config.h > $PKG/usr/doc/$PRGNAM-$VERSION/config.h
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/desktop/mcwm/mcwm.info b/desktop/mcwm/mcwm.info
index 51a6e6cd19..fb72512d76 100644
--- a/desktop/mcwm/mcwm.info
+++ b/desktop/mcwm/mcwm.info
@@ -6,5 +6,5 @@ MD5SUM="d36a625c966067c80cf9f14609a21921"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="9menu xdotool"
-MAINTAINER="Leonard Schmidt"
-EMAIL="lems@gmx.net"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"