summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 804b6b8907fe13d32d15d3aa28d1daecb8ae5f98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# This file was generated by GoReleaser. DO NOT EDIT.

pkgname='crush'
pkgver=0.76.0
pkgrel=1
pkgdesc='A powerful terminal-based AI assistant for developers, providing intelligent coding assistance directly in your terminal.'
url='https://charm.sh/crush'
arch=('aarch64' 'x86_64')
license=('FSL-1.1-MIT')
provides=('crush')
conflicts=('crush')
makedepends=('go' 'git')
source=("${pkgname}_${pkgver}.tar.gz::https://github.com/charmbracelet/crush/releases/download/v${pkgver}/crush-${pkgver}.tar.gz")
sha256sums=('ee8fac51c69261cadc04cb6acf752abdd4d80f54b6b132ed0a24cf843cc37388')
prepare() {
  go mod download
}
build() {
  mkdir completions
  mkdir manpages
  export CGO_CPPFLAGS="${CPPFLAGS}"
  export CGO_CFLAGS="${CFLAGS}"
  export CGO_CXXFLAGS="${CXXFLAGS}"
  export CGO_LDFLAGS="${LDFLAGS}"
  export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
  go build -ldflags="-w -s -buildid='' -linkmode=external -X github.com/charmbracelet/crush/internal/version.Version=v${pkgver}" .
  ./crush completion bash >./completions/crush.bash
  ./crush completion zsh >./completions/crush.zsh
  ./crush completion fish >./completions/crush.fish
  ./crush man | gzip -c >./manpages/crush.1.gz
}
package() {
  # bin
  install -Dm755 "./crush" "${pkgdir}/usr/bin/crush"
  # license
  mkdir -p "${pkgdir}/usr/share/licenses/crush/"
  install -Dm644 ./LICENSE* "${pkgdir}/usr/share/licenses/crush/"
  # completions
  mkdir -p "${pkgdir}/usr/share/bash-completion/completions/"
  mkdir -p "${pkgdir}/usr/share/zsh/site-functions/"
  mkdir -p "${pkgdir}/usr/share/fish/vendor_completions.d/"
  install -Dm644 "./completions/crush.bash" "${pkgdir}/usr/share/bash-completion/completions/crush"
  install -Dm644 "./completions/crush.zsh" "${pkgdir}/usr/share/zsh/site-functions/_crush"
  install -Dm644 "./completions/crush.fish" "${pkgdir}/usr/share/fish/vendor_completions.d/crush.fish"
  # man pages
  install -Dm644 "./manpages/crush.1.gz" "${pkgdir}/usr/share/man/man1/crush.1.gz"
  # readme
  mkdir -pv "${pkgdir}/usr/share/doc/crush/"
  install -Dm644 README* "${pkgdir}/usr/share/doc/crush/"
}