# Maintainer: George Rawlinson <grawlinson@archlinux.org>

pkgbase=python-deadlib
_modules=(
  aifc
  asynchat
  asyncore
  cgi
  cgitb
  chunk
  # crypt not included for security reasons
  imghdr
  mailcap
  nntplib
  pipes
  smtpd
  sndhdr
  sunau
  telnetlib
  uu
  xdrlib
)
pkgname=(${_modules[@]/#/python-standard-})
pkgver=3.13.0
pkgrel=3
pkgdesc='Python dead batteries. See PEP594 and PEP632 for more information'
arch=(any)
url='https://github.com/youknowone/python-deadlib'
license=(PSF-2.0)
depends=(python)
makedepends=(
  git
  python-build
  python-installer
  python-setuptools
  python-wheel
)
#checkdepends=('')
source=("$pkgbase::git+$url#tag=v$pkgver")
sha512sums=('f2963c794f5656a5cf69172189f4f99383ce0966d9dfafb91fc40208d68fab88296251d78ceda8468627285afa1cbaf1137b853eabd511af97ef20090ae54a21')
b2sums=('20fd2662dc1b5ea686d3fbaae9490f09d843a6fb330683ebffa0005dbd36c00b9a937ed30fce7151767cc3f4bc69e75ff28bfc4be702d6bdb6473f2b3f458985')

build() {
  cd "$pkgbase"

  for module in ${_modules[@]}; do
    pushd "$module"
    python -m build --wheel --no-isolation
    popd
  done
}

package_python-standard-aifc() {
  pkgdesc="Standard library aifc redistribution. \"dead battery\"."
  depends+=(
    python-audioop-lts
    python-standard-chunk
  )
  provides=(python-{standard-,}aifc)
  replaces=(python-aifc)

  cd "$pkgbase/aifc"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-asynchat() {
  pkgdesc="Standard library asynchat redistribution. \"dead battery\"."
  depends+=(python-standard-asyncore)
  provides=(python-{standard-,}asynchat)
  replaces=(python-asynchat)

  cd "$pkgbase/asynchat"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-asyncore() {
  pkgdesc="Standard library asyncore redistribution. \"dead battery\"."
  provides=(python-{standard-,}asyncore)
  replaces=(python-asyncore)

  cd "$pkgbase/asyncore"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

# Temporarily for falcon until it is updated to 4.x
package_python-standard-cgi() {
  pkgdesc="Standard library cgi redistribution. \"dead battery\"."
  provides=(python-{standard-,}cgi)
  replaces=(python-cgi)

  cd "$pkgbase/cgi"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-cgitb() {
  pkgdesc="Standard library cgitb redistribution. \"dead battery\"."
  provides=(python-{standard-,}cgitb)
  replaces=(python-cgitb)

  cd "$pkgbase/cgitb"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-chunk() {
  pkgdesc="Standard library chunk redistribution. \"dead battery\"."
  provides=(python-{standard-,}chunk)
  replaces=(python-chunk)

  cd "$pkgbase/chunk"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-imghdr() {
  pkgdesc="Standard library imghdr redistribution. \"dead battery\"."
  provides=(python-{standard-,}imghdr)
  replaces=(python-imghdr)

  cd "$pkgbase/imghdr"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

# For alot https://github.com/pazz/alot/issues/1632
package_python-standard-mailcap() {
  pkgdesc="Standard library mailcap redistribution. \"dead battery\"."
  provides=(python-{standard-,}mailcap)
  replaces=(python-mailcap)

  cd "$pkgbase/mailcap"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

# For mailman3
package_python-standard-nntplib() {
  pkgdesc="Standard library nntplib redistribution. \"dead battery\"."
  provides=(python-{standard-,}nntplib)
  replaces=(python-nntplib)

  cd "$pkgbase/nntplib"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-pipes() {
  pkgdesc="Standard library pipes redistribution. \"dead battery\"."
  provides=(python-{standard-,}pipes)
  replaces=(python-pipes)

  cd "$pkgbase/pipes"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-smtpd() {
  pkgdesc="Standard library smtpd redistribution. \"dead battery\"."
  depends+=(
    python-standard-asynchat
    python-standard-asyncore
  )
  provides=(python-{standard-,}smtpd)
  replaces=(python-smtpd)

  cd "$pkgbase/smtpd"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-sndhdr() {
  pkgdesc="Standard library sndhdr redistribution. \"dead battery\"."
  depends+=(python-standard-aifc)
  provides=(python-{standard-,}sndhdr)
  replaces=(python-sndhdr)

  cd "$pkgbase/sndhdr"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-sunau() {
  pkgdesc="Standard library sunau redistribution. \"dead battery\"."
  depends+=(python-audioop-lts)
  provides=(python-{standard-,}sunau)
  replaces=(python-sunau)

  cd "$pkgbase/sunau"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-telnetlib() {
  pkgdesc="Standard library telnetlib redistribution. \"dead battery\"."
  provides=(python-{standard-,}telnetlib)
  replaces=(python-telnetlib)

  cd "$pkgbase/telnetlib"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-uu() {
  pkgdesc="Standard library uu redistribution. \"dead battery\"."
  provides=(python-{standard-,}uu)
  replaces=(python-uu)

  cd "$pkgbase/uu"

  python -m installer --destdir="$pkgdir" dist/*.whl
}

package_python-standard-xdrlib() {
  pkgdesc="Standard library xdrlib redistribution. \"dead battery\"."
  provides=(python-{standard-,}xdrlib)
  replaces=(python-xdrlib)

  cd "$pkgbase/xdrlib"

  python -m installer --destdir="$pkgdir" dist/*.whl
}
