# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>

pkgname=haproxy
pkgver=2.0.5
pkgrel=1

pkgdesc='Reliable, high performance TCP/HTTP load balancer'
url='https://haproxy.org/'
arch=('x86_64')
license=('GPL')

depends=('openssl' 'pcre' 'zlib' 'lua' 'systemd-libs')

backup=('etc/haproxy/haproxy.cfg')

install=haproxy.install

source=(https://haproxy.org/download/${pkgver%.*}/src/haproxy-$pkgver.tar.gz
        haproxy.cfg
        haproxy.sysusers
        0001-Use-CFLAGS-and-LDFLAGS-when-building-contrib.patch)

md5sums=('497c716adf4b056484601a887f34d152'
         '27941f31d25d5629f4bdef6bc4b2555a'
         '2f00e81ee2f3f6e51a0cd9acc6f3ff3e'
         '5343b0563c2e0e59110a84e2e611d94f')

prepare() {
  cd haproxy-$pkgver

  patch -p1 <"$srcdir"/0001-Use-CFLAGS-and-LDFLAGS-when-building-contrib.patch
}

build() {
  cd haproxy-$pkgver

  make CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
    CPU=generic \
    TARGET=linux-glibc \
    USE_GETADDRINFO=1 \
    USE_OPENSSL=1 \
    USE_PCRE=1 USE_PCRE_JIT=1 \
    USE_ZLIB=1 \
    USE_LUA=1 \
    USE_SYSTEMD=1

  for contrib in halog iprange ip6range systemd; do
    make -C contrib/$contrib SBINDIR=/usr/bin OPTIMIZE= CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
  done
}

package() {
  cd haproxy-$pkgver
  make \
    PREFIX="$pkgdir"/usr \
    SBINDIR="$pkgdir"/usr/bin \
    DOCDIR="$pkgdir"/usr/share/$pkgname \
    install

  for contrib in halog iprange ip6range; do
    install -Dm755 contrib/$contrib/$contrib "$pkgdir"/usr/bin/$contrib
  done

  install -Dm644 ../haproxy.sysusers "$pkgdir"/usr/lib/sysusers.d/haproxy.conf
  install -Dm644 ../haproxy.cfg "$pkgdir"/etc/haproxy/haproxy.cfg
  install -Dm644 contrib/systemd/haproxy.service \
    "$pkgdir"/usr/lib/systemd/system/haproxy.service
  cp -r examples "$pkgdir"/usr/share/haproxy/examples
}
