diff --git a/mingw-w64-czkawka/PKGBUILD b/mingw-w64-czkawka/PKGBUILD new file mode 100644 index 0000000000..0052968162 --- /dev/null +++ b/mingw-w64-czkawka/PKGBUILD @@ -0,0 +1,82 @@ +# Maintainer: Maksim Bondarenkov + +_realname=czkawka +pkgbase=mingw-w64-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-cli" + "${MINGW_PACKAGE_PREFIX}-${_realname}-gui") +pkgver=6.1.0 +pkgrel=1 +pkgdesc="Multi functional app to find duplicates, empty folders, similar images etc (mingw-w64)" +url='https://github.com/qarmin/czkawka' +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang32' 'clang64' 'clangarm64') +license=('spdx:MIT') +depends=("${MINGW_PACKAGE_PREFIX}-bzip2" + "${MINGW_PACKAGE_PREFIX}-cairo" + "${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2" + "${MINGW_PACKAGE_PREFIX}-gtk4" + "${MINGW_PACKAGE_PREFIX}-hicolor-icon-theme" + "${MINGW_PACKAGE_PREFIX}-libheif" + "${MINGW_PACKAGE_PREFIX}-pango") +makedepends=("${MINGW_PACKAGE_PREFIX}-rust" "${MINGW_PACKAGE_PREFIX}-pkgconf") +source=("https://github.com/qarmin/czkawka/archive/refs/tags/${pkgver}/${_realname}-${pkgver}.tar.gz") +sha256sums=('63e64c717a93b3d5210d6a4718833fdbf3ad7b28c9b74a243d9de3ab1ee6ad5a') +noextract=("${_realname}-${pkgver}.tar.gz") + +prepare() { + cd "${srcdir}" + tar -xzf "${_realname}-${pkgver}.tar.gz" || true + cd "${_realname}-${pkgver}" + + local _target="${CARCH}-pc-windows-gnu" + if [[ $MINGW_PACKAGE_PREFIX == *-clang-aarch64 ]]; then + _target="${CARCH}-pc-windows-gnullvm" + fi + + cargo fetch --locked --target "${_target}" +} + +build() { + cd "${srcdir}/${_realname}-${pkgver}" + + export PKG_CONFIG_PATH="${MINGW_PREFIX}/lib/pkgconfig" + cargo build --bin czkawka_cli --release --features heif + cargo build --bin czkawka_gui --release --features heif +} + +check() { + cd "${srcdir}/${_realname}-${pkgver}" + + cargo test --bin czkawka_cli --release --features heif + cargo test --bin czkawka_gui --release --features heif +} + +package_czkawka-cli() { + cd "${srcdir}/${_realname}-${pkgver}" + + depends=("${MINGW_PACKAGE_PREFIX}-bzip2" "${MINGW_PACKAGE_PREFIX}-libheif") + pkgdesc+=" (CLI)" + + install -Dm755 target/release/czkawka_cli.exe "${pkgdir}${MINGW_PREFIX}/bin/czkawka_cli.exe" + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/czkawka-cli/LICENSE" +} + +package_czkawka-gui() { + cd "${srcdir}/${_realname}-${pkgver}" + + pkgdesc+=" (Desktop App)" + + install -Dm755 target/release/czkawka_gui.exe "${pkgdir}${MINGW_PREFIX}/bin/czkawka_gui.exe" + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/czkawka-gui/LICENSE" +} + +# template start; name=mingw-w64-splitpkg-wrappers; version=1.0; +# vim: set ft=bash : + +# generate wrappers +for _name in "${pkgname[@]}"; do + _short="package_${_name#${MINGW_PACKAGE_PREFIX}-}" + _func="$(declare -f "${_short}")" + eval "${_func/#${_short}/package_${_name}}" +done +# template end;