# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>

pkgbase=deluge
pkgname=(deluge deluge-gtk)
pkgver=2.0.4.dev56+g2e466101f
pkgrel=1
pkgdesc="BitTorrent client with multiple user interfaces in a client/server model"
url="https://deluge-torrent.org/"
arch=(any)
license=(GPL3)
depends=(
  # Follows DEPENDS.md
  'python-twisted>=17.1' python-service-identity python-idna
  'openssl>=1.0.1'
  python-pyopenssl
  'python-rencode>=1.0.2'
  python-xdg
  python-six
  'python-zope-interface>=4.4.2' 
  python-chardet 
  python-setproctitle 
  python-pillow
  python-dbus
  python-distro
  'libtorrent-rasterbar>=1.1.1'
  python-geoip
  python-mako
)
makedepends=(
  python-setuptools
  python-wheel
  intltool
  gtk3
  python-gobject
  python-cairo
  librsvg
  xdg-utils
  libappindicator-gtk3
  #python-pygame
  libnotify
  git
)
_commit=2e466101fc20aa4314049d942d56e2be75fd70ae  # develop
source=("git://git.deluge-torrent.org/deluge.git#commit=$_commit"
        user-agent-override.diff)
sha256sums=('SKIP'
            '10ed8beaafa4b014162efacfa7c5a2d92ee0260aa03c48764c71de41a48450b3')

pkgver() {
  cd deluge
  git describe --tags | sed 's/^deluge-//;s/dev0-/dev/;s/-/+/g'
}

prepare() {
  cd deluge

  # Pretend to be stable deluge
  patch -Np1 -i ../user-agent-override.diff
}

build() {
  cd deluge
  python setup.py build
}

_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_deluge() {
  cd deluge
  python setup.py install --root="$pkgdir" --optimize=1 --skip-build

  install -Dt "$pkgdir/usr/lib/systemd/system" \
    -m644 packaging/systemd/*.service
  install -Dt "$pkgdir/usr/lib/systemd/system/deluged.service.d" \
    -m644 packaging/systemd/user.conf
  install -Dt "$pkgdir/usr/lib/systemd/system/deluge-web.service.d" \
    -m644 packaging/systemd/user.conf

  echo 'u deluge - "Deluge BitTorrent daemon" /srv/deluge' |
    install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
  echo 'd /srv/deluge 0770 deluge deluge' |
    install -Dm644 /dev/stdin "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"

  cd "$pkgdir"

  _pick gtk usr/bin/deluge-gtk usr/share/man/man1/deluge-gtk.1
  _pick gtk usr/share/{appdata,applications,icons,pixmaps}
  _pick gtk usr/lib/python3.9/site-packages/deluge/ui/gtk3
}

package_deluge-gtk() {
  pkgdesc="GTK UI for Deluge"
  depends=(
    "deluge=$pkgver-$pkgrel"
    gtk3
    librsvg
    python-cairo
    python-gobject
    xdg-utils
  )
  optdepends=(
    'libappindicator-gtk3: appindicator notifications'
    #'python-pygame: audible notifications'
    'libnotify: desktop notifications'
  )
  replaces=('deluge<2.0.4.dev23+g2f1c008a2-2')

  mv gtk/* "$pkgdir"
}

# vim:set sw=2 et:
