# Maintainer: Haroogan <Haroogan@gmail.com>

_realname=tor
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.4.8.16
pkgrel=3
pkgdesc="Anonymizing overlay network (mingw-w64)"
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
url='https://www.torproject.org/'
msys2_repository_url='https://gitlab.torproject.org/tpo/core/tor/'
msys2_references=(
  'archlinux: tor'
  "cpe: cpe:/a:tor:tor"
  "cpe: cpe:/a:tor_project:tor"
  "cpe: cpe:/a:torproject:tor"
)
license=('spdx:BSD-3-Clause')
depends=("${MINGW_PACKAGE_PREFIX}-libevent"
         "${MINGW_PACKAGE_PREFIX}-openssl"
         "${MINGW_PACKAGE_PREFIX}-xz"
         "${MINGW_PACKAGE_PREFIX}-zlib"
         "${MINGW_PACKAGE_PREFIX}-zstd")
makedepends=(
  "${MINGW_PACKAGE_PREFIX}-cc"
  "${MINGW_PACKAGE_PREFIX}-autotools"
  "${MINGW_PACKAGE_PREFIX}-ca-certificates")
source=("https://dist.torproject.org/${_realname}-${pkgver}.tar.gz"{,.sha256sum{,.asc}})
sha256sums=('6540dd377a120fb8e7d27530aa3b7ff72a0fa5b4f670fe1d64c987c1cfd390cb'
            'b877a3de131ca0759b76a509e326f8e4989fd5972f57dd020f02475a8d6444ec'
            'SKIP')
# list of keys https://gitlab.torproject.org/tpo/core/tor/-/raw/main/README.md
validpgpkeys=(
  '1C1BC007A9F607AA8152C040BEA7B180B1491921' # Alexander Færøy <ahf@0x90.dk>
  '514102454D0A87DB0767A1EBBE6A0531C18A9179' # Alexander Færøy <ahf@0x90.dk>
  'B74417EDDF22AC9F9E90F49142E86A2A11F48D36' # David Goulet <dgoulet@ev0ke.net>
  '2133BC600AB133E1D826D173FE43009C4607B1FB' # Nick Mathewson <nickm@alum.mit.edu>
)

build() {
  mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"

  CPPFLAGS="-isystem ${MINGW_PREFIX}/include"
  CFLAGS="-pipe -O3 -fomit-frame-pointer -funroll-loops"
  LDFLAGS="-s -Wl,-s"
  "${srcdir}/${_realname}-${pkgver}/configure" \
    --prefix="${MINGW_PREFIX}" \
    --build="${MINGW_CHOST}" \
    --disable-seccomp \
    --disable-libscrypt \
    --enable-lzma \
    --enable-zstd

  make
}

check() {
  cd "${srcdir}/build-${MSYSTEM}"
  make test || true
}

package() {
  cd "${srcdir}/build-${MSYSTEM}"

  make DESTDIR="${pkgdir}" install

  cd "${srcdir}/${_realname}-${pkgver}"

  install -D "LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
  install -d           "${pkgdir}${MINGW_PREFIX}/var/lib/tor"
}
