From 8410722ecaab3435a8e266aecd845a164e6c082b Mon Sep 17 00:00:00 2001 From: Dee HY Date: Sun, 17 May 2026 20:54:38 +0800 Subject: [PATCH] addpkg: calculator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 基于flutter开发,内核使用Windows calculator的计算核心calcengine。 --- archlinuxcn/calculator/PKGBUILD | 87 +++++++++++++++++++ ....github.dongfengweixiao.calculator.desktop | 16 ++++ archlinuxcn/calculator/lilac.yaml | 12 +++ 3 files changed, 115 insertions(+) create mode 100644 archlinuxcn/calculator/PKGBUILD create mode 100644 archlinuxcn/calculator/io.github.dongfengweixiao.calculator.desktop create mode 100644 archlinuxcn/calculator/lilac.yaml diff --git a/archlinuxcn/calculator/PKGBUILD b/archlinuxcn/calculator/PKGBUILD new file mode 100644 index 00000000000..30c509faeae --- /dev/null +++ b/archlinuxcn/calculator/PKGBUILD @@ -0,0 +1,87 @@ +# Maintainer: Dee.H.Y + +pkg_identifier="io.github.dongfengweixiao.calculator" +pkgname="calculator" +pkgver=0.0.2 +pkgrel=1 +pkgdesc="Implemented with Flutter, using Microsoft's calculation engine as the core." +url="https://github.com/dongfengweixiao/calculator" +license=('GPL-3.0-or-later') +arch=('x86_64' 'aarch64') +depends=( + 'at-spi2-core' + 'cairo' + 'fontconfig' + 'gdk-pixbuf2' + 'glib2' + 'glibc' + 'gtk3' + 'libepoxy' + 'libgcc' + 'libkeybinder3' + 'libstdc++' + 'pango' +) +makedepends=( + 'clang' + 'cmake' + 'fvm' + 'git' + 'lld' + 'llvm' + 'ninja' + 'patchelf' + 'rustup' +) + +options=('!lto') + +_pkgsrc="$pkgname-$pkgver" +_pkgext="tar.gz" +source=("$_pkgsrc.$_pkgext"::"$url/archive/refs/tags/v$pkgver.$_pkgext" "io.github.dongfengweixiao.calculator.desktop") +sha256sums=('8068cc3e8410af93e3298eb91e44397264210bdd33c335fd306d25b6ecd1b52d' + 'c99258b18af737736f7afd60a474a7cd4a347255fe9c76ae6e87b3a0bddf841e') + +build() { + export FVM_CACHE_PATH="$SRCDEST/fvm-cache" + + cd "$_pkgsrc" + fvm install 3.38.10 + + fvm flutter --disable-analytics + #fvm flutter pub upgrade --major-versions + fvm flutter --no-version-check pub get + fvm flutter clean && fvm flutter build linux --release +} + +package() { + if [ $CARCH == "aarch64" ]; then + FLUTTER_ARCH=arm64 + else + FLUTTER_ARCH=x64 + fi + + cd "$_pkgsrc/build/linux/$FLUTTER_ARCH/release/bundle" + + install -Dm755 "calculator" "$pkgdir/usr/lib/$pkg_identifier/$pkgname" + cp --reflink=auto -r lib/ "$pkgdir/usr/lib/$pkg_identifier/" + cp --reflink=auto -r data/ "$pkgdir/usr/lib/$pkg_identifier/" + + # runpath + patchelf --set-rpath '$ORIGIN/lib' "$pkgdir/usr/lib/$pkg_identifier/$pkgname" + for i in "$pkgdir/usr/lib/$pkg_identifier/lib"/*.so; do + [ -z "$(patchelf --print-rpath "$i")" ] && continue + patchelf --set-rpath '$ORIGIN' "$i" + done + + # symlink + install -dm755 "${pkgdir}/usr/bin" + ln -sfr "$pkgdir/usr/lib/$pkg_identifier/$pkgname" "$pkgdir/usr/bin/${pkg_identifier}" + + # icon + install -Dm644 "$srcdir/$_pkgsrc/assets/logo.png" \ + "$pkgdir/usr/share/pixmaps/$pkg_identifier.png" + + # .desktop file + install -Dm644 "$srcdir/$pkg_identifier.desktop" "${pkgdir}/usr/share/applications/$pkg_identifier.desktop" +} diff --git a/archlinuxcn/calculator/io.github.dongfengweixiao.calculator.desktop b/archlinuxcn/calculator/io.github.dongfengweixiao.calculator.desktop new file mode 100644 index 00000000000..2720158dce4 --- /dev/null +++ b/archlinuxcn/calculator/io.github.dongfengweixiao.calculator.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Type=Application +Name=Calculator +Name[zh_CN]=计算器 +Name[zh]=计算器 +Comment=Implemented with Flutter, using Microsoft's calculation engine as the core. +Comment[zh_CN]=Flutter 实现的计算器应用,以微软计算引擎为核心。 +Comment[zh]=Flutter 实现的计算器应用,以微软计算引擎为核心。 +Keywords=Calculator; +Keywords[zh_CN]=计算器; +Keywords[zh]=计算器; +Exec=io.github.dongfengweixiao.calculator %U +Icon=io.github.dongfengweixiao.calculator +Terminal=false +Categories=Utility;Calculator; +StartupWMClass=io.github.dongfengweixiao.calculator diff --git a/archlinuxcn/calculator/lilac.yaml b/archlinuxcn/calculator/lilac.yaml new file mode 100644 index 00000000000..15ca3e7234e --- /dev/null +++ b/archlinuxcn/calculator/lilac.yaml @@ -0,0 +1,12 @@ +maintainers: + - github: dongfengweixiao + email: Dee.H.Y + +pre_build_script: update_pkgver_and_pkgrel(_G.newver) +post_build: git_pkgbuild_commit + +update_on: + - source: github + github: dongfengweixiao/calculator + use_latest_release: true + prefix: v