summaryrefslogtreecommitdiff
path: root/community/cherokee/PKGBUILD
blob: 3e509e4bcd486f1d23eb14086c736d4060ba18f3 (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
80
81
82
83
84
85
86
87
88
89
90
# $Id: PKGBUILD 58385 2011-11-12 17:16:09Z ibiru $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Link Dupont <link@subpop.net>

pkgname=cherokee
pkgver=1.2.101
pkgrel=2
pkgdesc="A very fast, flexible and easy to configure Web Server"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.cherokee-project.com/"
license=('GPL2')
depends=('openssl' 'pcre')
makedepends=('python2' 'gettext' 'libldap' 'pam' 'libmysqlclient'
             'ffmpeg' 'geoip')
optdepends=('python2: cherokee-admin (administrative web interface)'
            'libldap: ldap validator'
            'pam: pam validator'
            'libmysqlclient: mysql validator'
            'ffmpeg: Audio/Video streaming handler'
            'geoip: GeoIP rule module'
            'rrdtool: RRDtool based information collector')
backup=('etc/cherokee/cherokee.conf'
        'etc/logrotate.d/cherokee'
        'etc/pam.d/cherokee')
options=('!libtool')
source=(http://www.cherokee-project.com/download/1.2/$pkgver/cherokee-$pkgver.tar.gz
        cherokee.rc
        cherokee.logrotate
        fix-ctk-path-handler-match.patch)
sha256sums=('ca465ab3772479fc843b38ffc45113bf24d8bfae9185cdd5176b099d5a17feb8'
            '4c06cebfab8b68edd4967c020bfb41b077cfff10d76596d1ed192d0b6cedbd86'
            '20e26d633f8c1cd90eb21f41dd163b73a83846e405b1ce995e072c4efefc522e'
            '2bd05e0181024c9bd02d828e8329d4d96a779e4870b1fc4f18aa8667d8c6a630')

build() {
  cd "$srcdir/$pkgname-$pkgver"

  # Fix path matching bug in CTK apps (e.g. market)
  patch -Np1 -i "$srcdir/fix-ctk-path-handler-match.patch"

  # Use subdirectory for logs
  sed -i -r 's|(%localstatedir%/log)|\1/cherokee|' cherokee.conf.sample.pre

  # Use Python 2 in cherokee-admin
  sed -i 's/"python"/"python2"/' cherokee/main_admin.c

  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --disable-static \
    --with-wwwroot=/srv/http \
    --with-wwwuser=http \
    --with-wwwgroup=http \
    --with-python=python2 \
    --enable-os-string="Arch Linux"
  make
}

package() {
  cd "$srcdir/$pkgname-$pkgver"

  make -j1 DESTDIR="$pkgdir" install

  # PAM configuration file for cherokee
  install -D -m644 pam.d_cherokee "$pkgdir/etc/pam.d/$pkgname"

  # Fix ownership of /var/lib/cherokee/graphs
  chown -R http:http "$pkgdir/var/lib/$pkgname/graphs"

  # Use Python 2
  sed -i 's/env python$/&2/' \
    "$pkgdir/usr/share/cherokee/admin/"{server,upgrade_config}.py \
    "$pkgdir/usr/bin/"{CTK-run,cherokee-{admin-launcher,tweak}}
  sed -i -r "s/['\"]python/&2/g" \
    "$pkgdir/usr/share/cherokee/admin/wizards/django.py"

  # Compile Python scripts
  python2 -m compileall "$pkgdir"
  python2 -O -m compileall "$pkgdir"

  install -d -o http -g http "$pkgdir/var/log/$pkgname"
  install -D "$srcdir/$pkgname.rc" "$pkgdir/etc/rc.d/$pkgname"
  install -Dm644 "$srcdir/$pkgname.logrotate" "$pkgdir/etc/logrotate.d/$pkgname"

  # Cleanup
  rm -rf "$pkgdir/srv"
}

# vim:set ts=2 sw=2 et: