diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 122 |
1 files changed, 87 insertions, 35 deletions
@@ -1,35 +1,87 @@ -# Maintainer: Simon Arjuna Erat (sea), erat.simon@gmail.com -# Contributor: Simon Arjuna Erat (sea), erat.simon@gmail.com - -# -# Variables -# - # Prj info - _hkgname=vhs-master - pkgname=vhs - pkgdesc="Video Handler Script (VHS) aka ffmpeg-tui" - license=('GPL3') - groups=() - - # Pkg info - arch=('any') - pkgver=2.7.6 - pkgrel=0 - - # Src info -- As the master branch is used for releases, this is considered 'stable'. - url="https://github.com/sri-arjuna/vhs" - source=(https://github.com/sri-arjuna/vhs/archive/master.zip) -md5sums=('17563c056fb4176f72a03c5e17ce5db0') - - # Bld info - provides=('vhs') - depends=( 'ffmpeg' ) - # Is there a way to install 'ffmpeg-full' and 'tui' from AUR? -# -# Functions -# - package() { - cd ${srcdir}/${_hkgname} - ./configure --prefix=/usr --chroot=$pkgdir - ./make-install - } +# Maintainer: George Rawlinson <grawlinson@archlinux.org> + +pkgname=vhs +pkgver=0.2.0 +pkgrel=1 +pkgdesc='A tool for recording terminal GIFs' +arch=('x86_64') +url='https://github.com/charmbracelet/vhs' +license=('MIT') +depends=('ffmpeg' 'ttyd') +makedepends=('git' 'go') +options=('!lto') +_commit='6f7cc819032319a4bbef579d82c41b66bc0c427a' +source=("$pkgname::git+$url#commit=$_commit") +b2sums=('SKIP') + +pkgver() { + cd "$pkgname" + + git describe --tags | sed 's/^v//' +} + +prepare() { + cd "$pkgname" + + # create directory for build output + mkdir build + + # download dependencies + go mod download +} + +build() { + cd "$pkgname" + + # set Go flags + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + + go build -v \ + -trimpath \ + -buildmode=pie \ + -mod=readonly \ + -modcacherw \ + -ldflags "-linkmode external -extldflags ${LDFLAGS} \ + -X main.Version=v$pkgver \ + -X main.CommitSHA=$_commit \ + -X main.CommitDate=$(git show --no-patch --format=%cd --date=format:%Y-%m-%d)" \ + -o build \ + . + + # man page + ./build/vhs man > build/vhs.1 + + # completions + for shell in bash fish zsh; do + ./build/vhs completion "$shell" > "build/$shell-completion" + done +} + +check() { + cd "$pkgname" + + go test -v ./... +} + +package() { + cd "$pkgname" + + # binary + install -vDm755 -t "$pkgdir/usr/bin" build/vhs + + # documentation + install -vDm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md + + # man pages + install -vDm644 -t "$pkgdir/usr/share/man/man1" build/vhs.1 + + # completions + install -vDm644 build/bash-completion "$pkgdir/usr/share/bash-completion/completions/vhs" + install -vDm644 build/fish-completion "$pkgdir/usr/share/fish/vendor_completions.d/vhs.fish" + install -vDm644 build/zsh-completion "$pkgdir/usr/share/zsh/site-functions/_vhs" + + # license + install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE +} |