# $Id: PKGBUILD 135450 2015-06-15 20:07:14Z kkeen $
# Maintainer: Kyle Keen <keenerd@gmail.com>
# Contributor: Kurt Marasco <celilo _at_ lavabit _dot_ com>
# Contributor: Pascal Ernster <aur at hardfalcon dot net>

pkgname=hiawatha
pkgver=9.13
pkgrel=2
pkgdesc="Secure and advanced webserver"
url="https://www.hiawatha-webserver.org/"
arch=('i686' 'x86_64')
license=('GPL2')
depends=('libxslt' 'mbedtls')
optdepends=('php-fpm: PHP fastcgi')
makedepends=('cmake')
backup=(
        'etc/hiawatha/hiawatha.conf'
        'etc/hiawatha/cgi-wrapper.conf'
        'etc/hiawatha/mimetype.conf'
)

source=(
        "https://www.hiawatha-webserver.org/files/$pkgname-$pkgver.tar.gz" 
        'hiawatha.conf.sample'
        'hiawatha.service'
)
sha256sums=('b90bec9ce5ec5d03321e0db137f08385b91e9cfcf22e30fa6b42d705739f4ba8'
            '4671d2586cbe3cd6497b16ff422c6143cdab40641ef3c9c4988c478351a8f5e7'
            'fb789b12bb6246237b15a9244f58317abdd53e5ca4eb55880e40a498b2237155')

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

  sed -i 's/www-data/http/g' extra/logrotate.in

  mkdir -p build
  cd build

  cmake ../ -DCMAKE_INSTALL_PREFIX="/" \
            -DCMAKE_INSTALL_BINDIR="/usr/bin" \
            -DCMAKE_INSTALL_SBINDIR="/usr/bin" \
            -DCMAKE_INSTALL_SYSCONFDIR="/etc/hiawatha" \
            -DCMAKE_INSTALL_LIBDIR="/usr/lib" \
            -DCMAKE_INSTALL_MANDIR="/usr/share/man" \
            -DCONFIG_DIR="/etc/hiawatha" \
            -DLOG_DIR="/var/log/hiawatha" \
            -DPID_DIR="/run" \
            -DENABLE_SSL=ON \
            -DUSE_SYSTEM_POLARSSL=ON \
            -DUSE_SYSTEM_MBEDTLS=ON \
            -DWEBROOT_DIR="/srv/http/hiawatha" \
            -DWORK_DIR="/var/lib/hiawatha"
  make

  # Features enabled by default
  # -DENABLE_CACHE
  # -DENABLE_IPV6
  # -DENABLE_RPROXY
  # -DENABLE_TOOLKIT
  # -DENABLE_XSLT

  # Features disabled by default
  # -DENABLE_DEBUG
  # -DENABLE_MONITOR
  # -DENABLE_TOMAHAWK	
}

package() {
  cd "$srcdir/$pkgname-$pkgver/build"
  make DESTDIR="$pkgdir/" install
 
  rmdir "$pkgdir/run"
  rm "$pkgdir/srv/http/hiawatha/index.html"
  rmdir -p --ignore-fail-on-non-empty "$pkgdir/srv/http/hiawatha"
 
  # Update stock hiawatha.conf
  sed -e 's|#ServerId = www-data|ServerId = http|' \
      -e 's|/var/www/|/srv/http/|g' \
      -e 's|//|/|g' \
      -e 's|#CGIextension = cgi|&\n#TriggerOnCGIstatus = no|g' \
      -e 's|ConnectTo = 127.0.0.1:2005|ConnectTo = 127.0.0.1:9000|g' \
      -e 's|#	Extension = php|&\n#       SessionTimeout = 30|g' \
      -e 's|#ErrorHandler = 404:/error.cgi|&\n#UseGZfile = yes|g' \
      -i "$pkgdir/etc/hiawatha/hiawatha.conf"
  
  install -Dm644 logrotate.d/hiawatha "$pkgdir/etc/logrotate.d/hiawatha"
  install -Dm755 "$srcdir/hiawatha.service" "$pkgdir/usr/lib/systemd/system/hiawatha.service"
  install -Dm644 "$srcdir/hiawatha.conf.sample" "$pkgdir/etc/hiawatha/"
}

