# Maintainer: Coelacanthus <uwu@coelacanthus.name>
# Contributor: Frederick Zhang <frederick888@tsundere.moe>

pkgname=thunderbird-external-editor-revived
_name=external-editor-revived
pkgver=1.2.0
pkgrel=1
pkgdesc="External Editor Revived is a Thunderbird MailExtension which allows editing emails in programs such as Vim, Neovim, Emacs, etc."
arch=('x86_64')
url="https://github.com/Frederick888/external-editor-revived"
license=('GPL-3.0-or-later')
depends=(
    'gcc-libs'
    'glibc'
    'thunderbird>=91'
)
makedepends=(
    'cargo'
    'zip'
)
source=(
    "$pkgname-$pkgver.tar.gz::https://github.com/Frederick888/external-editor-revived/archive/refs/tags/v$pkgver.tar.gz"
    "external_editor_revived.json"
)
b2sums=('d07320274569db62563812894c070a922cd65bbc50dc74c2026f81d09934254e815cb01709c127ca4c9579807977190ae646fbbe62cc3eac6e85c88f703ec9fc'
        '5c3cda0e0cf5728fac3f025e4aa3a1b27838f4af2e9227b2e348a70ce6abeeef8da283f1f76a0e137d5c0b18a8e42ea834715af7f4a5f6abb8725a44c698f360')

prepare() {
    cd $_name-$pkgver
    export RUSTUP_TOOLCHAIN=stable
    cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}

build() {
    cd "$_name-$pkgver"
    export RUSTUP_TOOLCHAIN=stable
    export CARGO_TARGET_DIR=target
    cargo build --frozen --release --all-features
    cd extension
    zip -r -FS "$srcdir/$_name@tsundere.moe.xpi" *
}

check() {
    cd $_name-$pkgver
    export RUSTUP_TOOLCHAIN=stable
    cargo test --frozen --all-features
}

package() {
    install -d "$pkgdir/usr/lib/thunderbird/extensions"
    install -Dm644 "$_name@tsundere.moe.xpi" "$pkgdir/usr/lib/thunderbird/extensions/$_name@tsundere.moe.xpi"

    install -d "$pkgdir/usr/lib/mozilla/native-messaging-hosts"
    install -Dm644 "external_editor_revived.json" "$pkgdir/usr/lib/mozilla/native-messaging-hosts/external_editor_revived.json"

    cd "$_name-$pkgver"
    install -Dm755 "target/release/$_name" "$pkgdir/usr/bin/$_name"
}
