summaryrefslogtreecommitdiff
path: root/libre/spectrwm/PKGBUILD
blob: a5e29caed321bf5354bfb9485193ed9c729b9c89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# $Id: PKGBUILD 126653 2015-01-27 19:06:39Z kkeen $
# Maintainer (Arch): Kyle Keen <keenerd@gmail.com>
# Contributor (Arch): Christoph Zeiler <archNOSPAM_at_moonblade.dot.org>

pkgname=spectrwm
pkgver=2.6.2
pkgrel=1.parabola1
pkgdesc="A minimalistic automatic tiling window manager that tries to stay out of the way, without nonfree profont support"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.spectrwm.org"
_watch="https://opensource.conformal.com/snapshots/spectrwm/"
license=('custom:ISC')
depends=('dmenu' 'xcb-util' 'xcb-util-wm' 'xcb-util-keysyms' 'libxrandr' 'libxft' 'libxcursor')
replaces=('scrotwm' 'spectrwm-libre' 'spectrwm-parabola')
conflicts=('spectrwm-libre' 'spectrwm-parabola')
makedepends=('libxt')
optdepends=('scrot: screenshots'
            'xlockmore: great screenlocker'
            'terminus-font: great font')
backup=(etc/spectrwm.conf)

# the +2.6.0 gnu/linux makefile does not build
# so download and use the 2.5.1 makefile until this is fixed

source=(http://opensource.conformal.com/snapshots/$pkgname/$pkgname-$pkgver.tgz \
	http://opensource.conformal.com/snapshots/$pkgname/$pkgname-2.5.1.tgz \
	LICENSE \
        baraction.sh \
        spectrwm-no-preload)
md5sums=('eba7cba0c85706435657f744bf9086bc'
         'd9aec3342920e31cbe60f1032571043a'
         'a67cfe51079481e5b0eab1ad371379e3'
         '950d663692e1da56e0ac864c6c3ed80e'
         '974d109ce0af39cc73936d5efd682480')

build() {
  cd "$srcdir/$pkgname-$pkgver"
  
  sed -i 's|\"/usr/local/lib/libswmhack.so\"|\"libswmhack.so\"|' spectrwm.c
  sed -i 's/verbose_layout = false;/verbose_layout = true;/' spectrwm.c
  sed -i 's/# modkey = Mod1/modkey = Mod4/' spectrwm.conf
  # crashes if defaults can't be found, use less massive defaults
  sed -i 's/-\*-terminus-medium-\*-\*-\*-\*/-*-profont-*-*-*-*-12/' spectrwm.conf
  #sed -i 's/# program[lock].*/program[lock] = slock/' spectrwm.conf

  # see spectrwm FS#403
  sed -i 's/setconfspawn("lock".*/setconfspawn("lock", "xlock", SWM_SPAWN_OPTIONAL);/' spectrwm.c

  cd linux
  cp "$srcdir/$pkgname-2.5.1/linux/Makefile" ./
  make PREFIX="/usr"
}

package() {
  cd "$srcdir/$pkgname-$pkgver/linux"
  make PREFIX="/usr" DESTDIR="$pkgdir" install
  install -Dm644 spectrwm.desktop "$pkgdir/usr/share/xsessions/spectrwm.desktop"
  cd ..
  install -Dm644 spectrwm.conf "$pkgdir/etc/spectrwm.conf"
  install -Dm755 screenshot.sh "$pkgdir/usr/share/spectrwm/screenshot.sh"
  mkdir -p "$pkgdir/etc/spectrwm"
  cp spectrwm_*.conf "$pkgdir/etc/spectrwm/"
  cd "$srcdir"
  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  install -Dm755 baraction.sh "$pkgdir/usr/share/spectrwm/baraction.sh"
  install -Dm755 spectrwm-no-preload "$pkgdir/usr/bin/spectrwm-no-preload"

  #ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so.0"
  #ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so"

  # fix this for real in the makefile
  rm "$pkgdir/usr/bin/scrotwm"
  ln -s "/usr/bin/spectrwm" "$pkgdir/usr/bin/scrotwm"
  mkdir -p "$pkgdir"/usr/share/man/{es,it,pt,ru}/man1/
  mv "$pkgdir/usr/share/man/man1/spectrwm_es.1" "$pkgdir/usr/share/man/es/man1/"
  mv "$pkgdir/usr/share/man/man1/spectrwm_it.1" "$pkgdir/usr/share/man/it/man1/"
  mv "$pkgdir/usr/share/man/man1/spectrwm_pt.1" "$pkgdir/usr/share/man/pt/man1/"
  mv "$pkgdir/usr/share/man/man1/spectrwm_ru.1" "$pkgdir/usr/share/man/ru/man1/"
}