diff options
author | git user | 2024-06-18 14:55:09 +0200 |
---|---|---|
committer | git user | 2024-06-18 14:55:09 +0200 |
commit | acfda090dc1a37473b4ce959d62be560f962f83d (patch) | |
tree | 85cf3095e14f8068496d8548d5d812efddb1bf24 /PKGBUILD | |
download | aur-autorestic-git.tar.gz |
Initial Commit.
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..bafab6bd0ede --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,97 @@ +# Maintainer: dreieck +# Contributor: buckket <felix+arch at buckket dot org> +# Contributor: tippfehlr <tippfehlr at tippfehlr dot eu> + +_pkgname=autorestic +pkgname="${_pkgname}-git" +pkgver=1.8.2+1.r525.20240517.62a81d1 +pkgrel=1 +pkgdesc='Config driven, easy backup cli for restic. Latest git checkout.' +arch=('i686' 'x86_64' 'armv7h' 'aarch64') +url="https://github.com/cupcakearmy/$_pkgname" +license=('Apache-2.0') +depends=( + 'glibc' + 'restic' +) +makedepends=( + 'git' + 'go' +) +provides=( + "${_pkgname}=${pkgver}" + "${_pkgname}-doc=${pkgver}" +) +conflicts=( + "${_pkgname}" + "${_pkgname}-doc" +) +source=("${_pkgname}::git+${url}.git") +sha256sums=('SKIP') + +prepare() { + export GOPATH="${srcdir}/.go" + export GOCACHE="${GOPATH}/cache" + export GOMODCACHE="${GOPATH}/pkg/mod" + export GOENV="${GOPATH}/env" + export GOBIN="${GOPATH}/bin" + + cd "${srcdir}/${_pkgname}" + mkdir -p build/ + + # download go modules so build() works offline + go mod download + go get -v ./... + + git log > "${srcdir}/git.log" +} + +pkgver () { + cd "${srcdir}/${_pkgname}" + _ver="$(git describe --tags | sed -E -e 's|^[vV]||' -e 's|\-g[0-9a-f]*$||' | tr '-' '+')" + _rev="$(git rev-list --count HEAD)" + _date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")" + _hash="$(git rev-parse --short HEAD)" + + if [ -z "${_ver}" ]; then + error "Version could not be determined." + return 1 + else + printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}" + fi +} + +build() { + export GOPATH="${srcdir}/.go" + export GOCACHE="${GOPATH}/cache" + export GOMODCACHE="${GOPATH}/pkg/mod" + export GOENV="${GOPATH}/env" + export GOBIN="${GOPATH}/bin" + + cd "${srcdir}/${_pkgname}" + export CGO_CPPFLAGS="${CPPFLAGS}" + export CGO_CFLAGS="${CFLAGS}" + export CGO_CXXFLAGS="${CXXFLAGS}" + export CGO_LDFLAGS="${LDFLAGS}" + export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw" + go build -v -o build + + for shell in bash zsh fish; do + ./build/"${_pkgname}" completion "${shell}" > "build/${shell}_completion" + done +} + +package() { + cd "${srcdir}/${_pkgname}" + install -Dvm755 "build/${_pkgname}" "$pkgdir/usr/bin/${_pkgname}" + + install -Dvm644 "build/bash_completion" "$pkgdir/usr/share/bash-completion/completions/${_pkgname}" + install -Dvm644 "build/zsh_completion" "$pkgdir/usr/share/zsh/site-functions/_${_pkgname}" + install -Dvm644 "build/fish_completion" "$pkgdir/usr/share/fish/vendor_completions.d/${_pkgname}.fish" + + install -Dvm644 -t "${pkgdir}/usr/share/doc/${_pkgname}" "${srcdir}/git.log" CHANGELOG.md DEVELOPMENT.md README.md + install -Dvm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE + ln -svr "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" "${pkgdir}/usr/share/doc/${_pkgname}/LICENSE" + + cp -rv docs/pages "${pkgdir}/usr/share/doc/${_pkgname}/docs" +} |