diff options
Diffstat (limited to 'desktop/spectrwm')
-rw-r--r-- | desktop/spectrwm/README | 21 | ||||
-rw-r--r-- | desktop/spectrwm/doinst.sh | 18 | ||||
-rw-r--r-- | desktop/spectrwm/spectrwm.SlackBuild | 94 | ||||
-rw-r--r-- | desktop/spectrwm/spectrwm.info | 6 |
4 files changed, 85 insertions, 54 deletions
diff --git a/desktop/spectrwm/README b/desktop/spectrwm/README index f08dd0c706b35..6bb74ad8e5d64 100644 --- a/desktop/spectrwm/README +++ b/desktop/spectrwm/README @@ -4,9 +4,18 @@ important stuff. It has sane defaults and does not require one to learn a language to do any configuration. It was written by hackers for hackers and it strives to be small, compact and fast. -This package installs an example spectrwm.conf, which contains a fair number of -options and default values. Also, there are example scripts for the bar_action -configure option, that can be used (perhaps after further customization) on -Slackware to display CPU, memory, wifi link, battery and X11 keyboard layout. -Further information about this can be found in the package's documentation -directory. +NOTES: +The installer includes several example files, including: +* baraction.sh (scripts for the status bar in Linux) +* spectrwm.conf (a default configuration file) +* spectrwm_$LANGUAGE.conf (language-specfic keyboard layouts) + +All these files can be found in /usr/doc/spectrwm-$VERSION/examples + +The installer places a default spectrwm.conf in /etc but spectrwm will also look +for .spectrwm.conf and .spectrwm_us.conf in $HOME/user/ + +baraction.sh can go in an executable path which should be named in .spectrwm.conf + +Finally, dmenu is a soft dependency, and spectrwm will give a warning if it's +missing. However it's not essential and some users may prefer other app launchers. diff --git a/desktop/spectrwm/doinst.sh b/desktop/spectrwm/doinst.sh index 365e691611842..c0ac6b9cb09a8 100644 --- a/desktop/spectrwm/doinst.sh +++ b/desktop/spectrwm/doinst.sh @@ -1,5 +1,19 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/X11/xinit/xinitrc.spectrwm.new +config etc/spectrwm.conf.new + if [ -x /usr/bin/update-desktop-database ]; then /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 fi - -[ -x /sbin/ldconfig ] && /sbin/ldconfig 2>/dev/null diff --git a/desktop/spectrwm/spectrwm.SlackBuild b/desktop/spectrwm/spectrwm.SlackBuild index eb50e37babaf4..928c33931ffb3 100644 --- a/desktop/spectrwm/spectrwm.SlackBuild +++ b/desktop/spectrwm/spectrwm.SlackBuild @@ -1,32 +1,29 @@ #!/bin/sh -# Copyright 2020 Andrew Payne, Boston MA <phalange@komputermatrix.com> +# Copyright 2020 Andrew Payne <phalange@komputermatrix.com> # Copyright (c) 2011-2015 LEVAI Daniel # All rights reserved. # -# * Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright notice -# this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: # -# THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=spectrwm -VERSION=${VERSION:-3.3.0} -UPNAM=SPECTRWM_3_3_0 # changed to allow cd to proper folder +VERSION=${VERSION:-3.4.1} +SRCNAM=SPECTRWM_${VERSION//./_} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -62,9 +59,9 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM-$UPNAM -tar xvf $CWD/$PRGNAM-$UPNAM.tar.gz || tar xvf $CWD/$UPNAM.tar.gz -cd $PRGNAM-$UPNAM +rm -rf $PRGNAM-$SRCNAM +tar xvf $CWD/$PRGNAM-$SRCNAM.tar.gz || tar xvf $CWD/$SRCNAM.tar.gz +cd $PRGNAM-$SRCNAM chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ @@ -73,45 +70,56 @@ find -L . \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; cd linux - CFLAGS="$SLKCFLAGS" make \ +CFLAGS="$SLKCFLAGS" \ + make \ PREFIX=/usr \ LIBDIR=/usr/lib${LIBDIRSUFFIX} \ - MANDIR=/usr/man + MANDIR=/usr/man \ + DOCDIR=/usr/doc/spectrwm-${VERSION} + SYSCONFDIR=/etc \ + DATAROOTDIR=/usr \ + XSESSIONSDIR=/usr/share/applications \ + PKG_CONFIG=pkg-config \ make install \ PREFIX=/usr \ LIBDIR=/usr/lib${LIBDIRSUFFIX} \ MANDIR=/usr/man \ + DOCDIR=/usr/doc/spectrwm-${VERSION} \ + SYSCONFDIR=/etc \ + DATAROOTDIR=/usr \ + XSESSIONSDIR=/usr/share/applications \ + PKG_CONFIG=pkg-config \ DESTDIR=$PKG cd .. 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 +# Remove the symlink to scrotwm rm -f $PKG/usr/bin/scrotwm -# Compress the manpages -( cd $PKG/usr/man; find . -type f -exec gzip -9 {} \; ) +# Compress man pages +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 -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples/keybindings -install -m0644 -oroot -groot initscreen.sh $CWD/examples/* \ - $PKG/usr/doc/$PRGNAM-$VERSION/examples/ -cp -a spectrwm.conf $PKG/usr/doc/$PRGNAM-$VERSION/examples/spectrwm_orig.conf -cp -a spectrwm_*.conf $PKG/usr/doc/$PRGNAM-$VERSION/examples/keybindings/ +# Put an extra copy of the default config with the other example files +cp -a \ + spectrwm.conf \ + $PKG/usr/doc/$PRGNAM-$VERSION/examples cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild -find $PKG/usr/doc -type f -exec chmod 0644 {} \; - -# install xinitrc script -mkdir -p $PKG/etc/X11/xinit -cat $CWD/xinitrc.$PRGNAM > $PKG/etc/X11/xinit/xinitrc.$PRGNAM -chmod 0755 $PKG/etc/X11/xinit/xinitrc.$PRGNAM - -# desktop integration -mkdir -m755 -p "${PKG}/usr/share/applications/" -cp -a linux/spectrwm.desktop "${PKG}/usr/share/applications/" +# Copy the slack-desc (and a custom doinst.sh if necessary) into ./install mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh +# Install xinitrc script +mkdir -p $PKG/etc/X11/xinit +cat $CWD/xinitrc.$PRGNAM > $PKG/etc/X11/xinit/xinitrc.$PRGNAM.new +chmod 0755 $PKG/etc/X11/xinit/xinitrc.$PRGNAM.new + +# Make sure new config doesn't stomp the one in /etc +mv $PKG/etc/$PRGNAM.conf $PKG/etc/$PRGNAM.conf.new + cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/desktop/spectrwm/spectrwm.info b/desktop/spectrwm/spectrwm.info index 938b7b5dc2450..7262e7c1906bf 100644 --- a/desktop/spectrwm/spectrwm.info +++ b/desktop/spectrwm/spectrwm.info @@ -1,8 +1,8 @@ PRGNAM="spectrwm" -VERSION="3.3.0" +VERSION="3.4.1" HOMEPAGE="https://github.com/conformal/spectrwm/" -DOWNLOAD="https://github.com/conformal/spectrwm/archive/SPECTRWM_3_3_0.tar.gz" -MD5SUM="c34de6ca438ebe841f6b749ee9e424d7" +DOWNLOAD="https://github.com/conformal/spectrwm/archive/SPECTRWM_3_4_1.tar.gz" +MD5SUM="4eba6fb1e888a3df4918c181b66bdbde" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="" |