2025-07-16 09:14:36 +03:00

66 lines
1.9 KiB
Bash

# Maintainer: Maksim Bondarenkov <maksapple2306@gmail.com>
_realname=gitoxide
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.45.0
pkgrel=1
pkgdesc="An idiomatic, lean, fast & safe pure Rust implementation of Git (mingw-w64)"
arch=('any')
mingw_arch=('ucrt64' 'clang64' 'clangarm64')
url="https://github.com/GitoxideLabs/gitoxide"
license=('spdx:Apache-2.0 OR MIT')
msys2_references=(
'archlinux: gitoxide'
'purl: pkg:cargo/gitoxide'
)
makedepends=("${MINGW_PACKAGE_PREFIX}-rust" 'git')
source=("git+${url}.git#tag=v${pkgver}")
sha256sums=('a1f1501f5e70588626b723e1de4795399c33e9c04933a2f5d7df328a07137dc3')
prepare() {
cd "${_realname}"
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}
build() {
cd "${_realname}"
export WINAPI_NO_BUNDLED_LIBRARIES=1
cargo build \
--locked \
--no-default-features \
--features max-pure \
--profile release-github \
--bin gix \
--bin ein
}
check() {
cd "${_realname}"
export WINAPI_NO_BUNDLED_LIBRARIES=1
cargo test \
--locked \
--no-default-features \
--features max-pure \
--profile release-github \
--bin gix \
--bin ein
}
package() {
for _bin in gix ein; do
install -Dm755 -t "${pkgdir}${MINGW_PREFIX}/bin" "${_realname}/target/release-github/${_bin}"
# install completions
local _complete="${pkgdir}${MINGW_PREFIX}/bin/${_bin} completions -s"
$_complete bash | install -Dm644 /dev/stdin "${pkgdir}${MINGW_PREFIX}/share/bash-completion/completions/${_bin}"
$_complete zsh | install -Dm644 /dev/stdin "${pkgdir}${MINGW_PREFIX}/share/zsh/site-functions/_${_bin}"
$_complete fish | install -Dm644 /dev/stdin "${pkgdir}${MINGW_PREFIX}/share/fish/vendor_completions.d/${_bin}.fish"
done
install -Dm644 "${_realname}"/LICENSE-{APACHE,MIT} -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/"
}