Files
omarchy-pkgs/pkgbuilds/openclaw/PKGBUILD
T
Spencer Bull f6b9267b3b Ship OpenClaw as the seed for a self-updating copy under ~/.openclaw (#651)
A copy under /usr/lib/node_modules belongs to pacman, and upstream's updater refuses to write there, so neither `openclaw update` nor the Control UI's Update Gateway worked. The package now carries the release instead: the sha256-pinned npm tarball and the install-cli.sh that came in it, from which Omarchy seeds a copy under ~/.openclaw that updates itself.
2026-10-02 21:21:37 -05:00

52 lines
2.2 KiB
Bash

# Based on the AUR openclaw package:
# Maintainer: Ralph Torres <mail at ralphptorr dot es>
# Contributor: Evert Vorster <evorster@gmail.com>
# Contributor: Emir-Eins <emir-eins@outlook.com>
# Contributor: Wuxxin <wuxxin@gmail.com>
# Followed here straight from the npm registry (see .omarchy/package.json), since
# upstream's release cadence outruns the AUR.
#
# This is the release Omarchy ships, not the OpenClaw that runs: a copy in /usr
# belongs to pacman, and `openclaw update` refuses to write there.
# omarchy-install-openclaw-cli seeds a copy under ~/.openclaw from this tarball
# with the installer that came in it, and that copy updates itself.
pkgname=openclaw
pkgver=2026.9.6
pkgrel=2
pkgdesc='Multi-channel AI gateway with extensible messaging integrations'
arch=(x86_64 aarch64)
url=https://github.com/openclaw/openclaw
license=(MIT)
# The installer brings its own Node, and git is the one thing it would
# otherwise try to install with sudo.
depends=(bash curl git)
optdepends=(
'omarchy: sets up the self-updating OpenClaw under ~/.openclaw'
'1password-cli: 1password skill'
'ffmpeg: video-frames skill'
'github-cli: github, gh-issues skills'
'jq: session-logs, trello skills'
'python-openai-whisper: openai-whisper skill'
'ripgrep: session-logs skill'
'tmux: tmux skill'
'uv: nano-pdf skill'
'go: for installing skill tools not packaged for Arch'
)
source=($pkgname-$pkgver.tgz::https://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz)
sha256sums=('1a7355691bc0e605222ba818f1f72c1787253c78dfeb0df6be2086ec73b71e63')
options=(!debug !strip)
install=$pkgname.install
noextract=($pkgname-$pkgver.tgz)
package() {
install -Dm644 "$srcdir"/$pkgname-$pkgver.tgz "$pkgdir"/usr/share/$pkgname/$pkgname.tgz
bsdtar -xf "$srcdir"/$pkgname-$pkgver.tgz -C "$srcdir" \
package/scripts/install-cli.sh package/dist/control-ui/apple-touch-icon.png package/LICENSE
install -Dm644 "$srcdir"/package/scripts/install-cli.sh "$pkgdir"/usr/share/$pkgname/install-cli.sh
install -Dm644 "$srcdir"/package/dist/control-ui/apple-touch-icon.png "$pkgdir"/usr/share/$pkgname/$pkgname.png
install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname "$srcdir"/package/LICENSE
}