diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 97 |
2 files changed, 119 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..ed695c30766a --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,22 @@ +pkgbase = autorestic-git + pkgdesc = Config driven, easy backup cli for restic. Latest git checkout. + pkgver = 1.8.2+1.r525.20240517.62a81d1 + pkgrel = 1 + url = https://github.com/cupcakearmy/autorestic + arch = i686 + arch = x86_64 + arch = armv7h + arch = aarch64 + license = Apache-2.0 + makedepends = git + makedepends = go + depends = glibc + depends = restic + provides = autorestic=1.8.2+1.r525.20240517.62a81d1 + provides = autorestic-doc=1.8.2+1.r525.20240517.62a81d1 + conflicts = autorestic + conflicts = autorestic-doc + source = autorestic::git+https://github.com/cupcakearmy/autorestic.git + sha256sums = SKIP + +pkgname = autorestic-git 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" +} |