# Maintainer: Christian Neukirchen <chneukirchen@gmail.com>
# Contributor: TJ Vanderpoel <tj@rubyists.com>
# Contributor: Kevin Berry <kb@rubyists.com>
# Contributor: Andrej Gelenberg <andrej.gelenberg@udo.edu>
pkgname=runit-musl
_pkgname=runit
pkgver=2.1.2
pkgrel=1
pkgdesc="A service supervision scheme, compiled with musl"
url="http://smarden.org/runit/"
license=('custom')
arch=('i686' 'x86_64')
depends=('bash' 'util-linux')
provides=("runit" "runit-dietlibc")
conflicts=("runit" "runit-dietlibc")
makedepends=('gcc' 'make' 'coreutils' 'sed' 'musl')

source=( http://smarden.org/runit/runit-$pkgver.tar.gz _sv )
sha256sums=('6fd0160cb0cf1207de4e66754b6d39750cff14bb0aa66ab49490992c0c47ba18'
            'c8f08a977595d16b8afd12e49048c061c483e4408bfa6f66e72af4a72d279e3d')

build() {
  cd $srcdir/admin/$_pkgname-$pkgver/src

  echo "musl-gcc -D_GNU_SOURCE $CFLAGS" >conf-cc
  echo "musl-gcc -static -s $LDFLAGS -Wl,-z -Wl,noexecstack" >conf-ld
  # set default service path to /var/service
  sed -i -e 's:^char \*varservice ="/service/";$:char \*varservice ="/var/service/";:' sv.c

  make
}

check() {
  cd $srcdir/admin/$_pkgname-$pkgver/src

  make check
}

package() {
  cd $srcdir/admin/$_pkgname-$pkgver/src

  # default services
  install -d -m0755 "$pkgdir/var"
  ln -s ../run/runit/runsvdir/current "${pkgdir}/var/service" || return 1

  install -d -m0755 "$pkgdir/usr/bin"
  install -s -m0755 $srcdir/admin/$_pkgname-$pkgver/src/{chpst,runit,runit-init,runsv,runsvchdir,runsvdir,sv,svlogd,utmpset} $pkgdir/usr/bin

  install -d -m0755 $pkgdir/usr/share/man/man8
  install -m0644 $srcdir/admin/$_pkgname-$pkgver/man/* $pkgdir/usr/share/man/man8

  install -d -m0755 $pkgdir/usr/share/doc/runit
  install -m0644 $srcdir/admin/$_pkgname-$pkgver/doc/*.html $pkgdir/usr/share/doc/runit

  install -D $srcdir/admin/$_pkgname-$pkgver/package/COPYING $pkgdir/usr/share/licenses/runit-musl/COPYING

  install -D -m0644 $srcdir/_sv $pkgdir/usr/share/zsh/site-functions/_sv
}
