# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>

pkgname=avahi
pkgver=0.7+18+g1b5f401
pkgrel=2
pkgdesc='Service Discovery for Linux using mDNS/DNS-SD -- compatible with Bonjour'
url='https://github.com/lathiat/avahi'
license=(LGPL)
arch=(x86_64)
depends=(expat libdaemon glib2 libcap gdbm dbus)
makedepends=(git pygtk mono intltool gtk-sharp-2 gobject-introspection gtk3 qt5-base
             xmltoman python-dbus python-gobject doxygen graphviz)
optdepends=('gtk3: avahi-discover, avahi-discover-standalone, bshell, bssh, bvnc'
            'gtk2: gtk2 bindings'
            'qt5-base: qt5 bindings'
            'pygtk: avahi-bookmarks'
            'python2-twisted: avahi-bookmarks'
            'mono: mono bindings'
            'nss-mdns: NSS support for mDNS'
            'python-gobject: avahi-discover'
            'python-dbus: avahi-discover')
backup=(etc/avahi/{hosts,avahi-daemon.conf,avahi-{autoip,dnsconf}d.action}
        usr/lib/avahi/service-types.db)
_commit=1b5f401f64d7bed40c4335b0327acf4125da3086  # pull/115/merge~2
source=("git+https://github.com/lathiat/avahi#commit=$_commit")
sha512sums=('SKIP')

pkgver() {
  cd $pkgname
  git describe --tags | sed 's/^v//;s/-/+/g'
}

prepare() {
  cd $pkgname

  # CVE-2017-6519 CVE-2018-100084
  git cherry-pick -n e111def44a7df4624a4aa3f85fe98054bffb6b4f

  NOCONFIGURE=1 ./autogen.sh
}

build() {
  cd $pkgname
  export PYTHON=/usr/bin/python3

  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --sbindir=/usr/bin \
    with_dbus_sys=/usr/share/dbus-1/system.d \
    --disable-monodoc \
    --disable-qt4 \
    --enable-compat-libdns_sd \
    --with-distro=archlinux \
    --with-avahi-priv-access-group=network \
    --with-autoipd-user=avahi \
    --with-autoipd-group=avahi \
    --with-systemdsystemunitdir=/usr/lib/systemd/system
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool

  cp -a avahi-python/avahi avahi-python/avahi2

  make
  make -C avahi-python/avahi2 PYTHON=/usr/bin/python2
}

package() {
  cd $pkgname
  make DESTDIR="$pkgdir" install
  make DESTDIR="$pkgdir" -C avahi-python/avahi2 install \
    PYTHON=/usr/bin/python2 pythondir=/usr/lib/python2.7/site-packages

  rmdir "$pkgdir/run"

  # this isn't ported
  sed -i '1s|python3|python2|' "$pkgdir/usr/bin/avahi-bookmarks"

  # mdnsresponder compat
  ln -s avahi-compat-libdns_sd/dns_sd.h "$pkgdir/usr/include/dns_sd.h"

  # move example services https://bugs.archlinux.org/task/47822
  install -d "$pkgdir/usr/share/doc/$pkgname"
  mv "$pkgdir"/etc/avahi/services/{,sftp-}ssh.service \
    "$pkgdir/usr/share/doc/$pkgname/"

  echo 'u avahi - "Avahi mDNS/DNS-SD daemon"' |
    install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
}
