summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorgit user2024-06-18 14:55:09 +0200
committergit user2024-06-18 14:55:09 +0200
commitacfda090dc1a37473b4ce959d62be560f962f83d (patch)
tree85cf3095e14f8068496d8548d5d812efddb1bf24 /PKGBUILD
downloadaur-autorestic-git.tar.gz
Initial Commit.
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD97
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"
+}