# Maintainer: Maksim Bondarenkov <maksapple2306@gmail.com>

_realname=lapce
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.4.6
pkgrel=1
pkgdesc="Lightning-fast and Powerful Code Editor written in Rust (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url='https://lapce.dev'
msys2_repository_url='https://github.com/lapce/lapce'
license=('spdx:Apache-2.0')
depends=("${MINGW_PACKAGE_PREFIX}-libgit2"
         "${MINGW_PACKAGE_PREFIX}-libssh2"
         "${MINGW_PACKAGE_PREFIX}-openssl"
         "${MINGW_PACKAGE_PREFIX}-zlib")
makedepends=("${MINGW_PACKAGE_PREFIX}-rust"
             "${MINGW_PACKAGE_PREFIX}-pkgconf"
             "${MINGW_PACKAGE_PREFIX}-git")
source=("${msys2_repository_url}/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz"
        "remove-updater-default.patch")
sha256sums=('c6790771ed0af5e242d2410d930197412af4c21c07a5a33ae5d6ac596ca7380a'
            '24222c9948aadcdd42ddea9e69c2915bf96aeb75ee6597e657a8c2f0a8f1ed06')

_env() {
  export LIBGIT2_NO_VENDOR=1
  export OPENSSL_NO_VENDOR=1
  export LIBSSH2_SYS_USE_PKG_CONFIG=1
  export ZSTD_SYS_USE_PKG_CONFIG=1
  export RUSTFLAGS="${RUSTFLAGS/+crt-static/-crt-static}"
  export RELEASE_TAG_NAME="v${pkgver}"
}

prepare() {
  cd "${_realname}-${pkgver}"

  patch -p1 -i ../remove-updater-default.patch

  cargo update -p cc --precise 1.1.10
  cargo fetch \
    --locked \
    --target "${RUST_CHOST}" \
    --config='net.git-fetch-with-cli=true'
}

build() {
  cd "${_realname}-${pkgver}"

  _env
  cargo build \
    --frozen \
    --profile release-lto \
    --all-features
}

check() {
  cd "${_realname}-${pkgver}"

  _env
  cargo test \
    --frozen \
    --profile release-lto \
    --all-features
}

package() {
  cd "${_realname}-${pkgver}"

  install -Dm755 "target/release-lto/${_realname}"{,-proxy} -t "${pkgdir}${MINGW_PREFIX}"/bin
  install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}
