# Maintainer: dax # Maintainer: adam pkgname='opencode' pkgver=1.0.55 _subver= options=('!debug' '!strip') pkgrel=1 pkgdesc='The AI coding agent built for the terminal.' url='https://github.com/sst/opencode' arch=('aarch64' 'x86_64') license=('MIT') provides=('opencode') conflicts=('opencode-bin') depends=('fzf' 'ripgrep') makedepends=('git' 'bun-bin' 'go' 'npm') source=("opencode-${pkgver}.tar.gz::https://github.com/sst/opencode/archive/v${pkgver}${_subver}.tar.gz") sha256sums=('3db64a1cd6f0b1163e50092aeac73ba21144d8bacbe52c70b1493ba2e52dd05b') build() { cd "opencode-${pkgver}" # Ensure npm is in PATH for bun's shell export PATH="/usr/bin:$PATH" # Install workspace dependencies from root bun install # Install from package directory to create local node_modules with workspace symlinks cd packages/opencode bun install # Build the binary OPENCODE_CHANNEL=latest OPENCODE_VERSION=${pkgver} bun run build --single } package() { cd "opencode-${pkgver}/packages/opencode" # Determine architecture for the binary path case "${CARCH}" in x86_64) _arch="x64" ;; aarch64) _arch="arm64" ;; esac install -Dm755 "./dist/opencode-linux-${_arch}/bin/opencode" "${pkgdir}/usr/bin/opencode" }