# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>

pkgbase=libproxy
pkgname=(libproxy libproxy-webkit)
pkgver=0.4.17
pkgrel=2
pkgdesc="Automatic proxy configuration management library"
url="https://libproxy.github.io/libproxy/"
arch=(x86_64)
license=(LGPL)
depends=(gcc-libs glib2 dbus)
makedepends=(cmake python python2 perl webkit2gtk git)
_commit=e78a5ccfe0a2340f2c73e419767f8492ffc2787a  # tags/0.4.17
source=("git+https://github.com/libproxy/libproxy#commit=$_commit")
sha256sums=('SKIP')

pkgver() {
  cd $pkgbase
  git describe --tags | sed 's/-/+/g'
}

prepare() {
  cd $pkgbase
}

build() {
  cmake -S $pkgbase -B build \
    -DBIPR=0 \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
    -DCMAKE_C_FLAGS="$CFLAGS" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_SKIP_RPATH=ON \
    -DLIBEXEC_INSTALL_DIR=/usr/lib \
    -DPERL_VENDORINSTALL=yes \
    -DPYTHON2_EXECUTABLE:FILEPATH=/usr/bin/python2 \
    -DWITH_WEBKIT3=ON
  cmake --build build
}

check() {
  cmake --build build --target test
}

_pick() {
  local p="$1" f d; shift
  for f; do
    d="$srcdir/$p/${f#$pkgdir/}"
    mkdir -p "$(dirname "$d")"
    mv "$f" "$d"
    rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  done
}

package_libproxy() {
  optdepends=('networkmanager: NetworkManager configuration module'
              'perl: Perl bindings'
              'python2: Python 2.x bindings'
              'python: Python 3.x bindings'
              'libproxy-webkit: PAC proxy support (via WebKit)')
  provides+=(libproxy.so)

  DESTDIR="$pkgdir" cmake --install build

### Split
  _pick webkit "$pkgdir"/usr/lib/libproxy/*/modules/pacrunner_webkit.so
}

package_libproxy-webkit() {
  pkgdesc="JavaScriptCore-based PAC proxy support for libproxy"
  depends=(libproxy.so webkit2gtk)
  replaces=('libproxy-mozjs<0.4.16-1')
  mv webkit/* "$pkgdir"
}
