PKGBUILDs/extra/rclone/PKGBUILD
2024-11-16 16:22:18 +00:00

61 lines
2.2 KiB
Bash

# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Maintainer: Morten Linderud <foxboron@archlinux.org>
# ALARM: Lorenz Steinert <lsteinert@uraziel.de>
# - remove makedepends pandoc
# - remove rclone.1 MANUAL.html and MANUAL.txt targets from make in build()
pkgname=rclone
pkgver=1.68.2
pkgrel=1
pkgdesc="Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage"
arch=('x86_64')
url="https://github.com/rclone/rclone"
license=('MIT')
depends=('glibc')
optdepends=('fuse3: for rclone mount')
makedepends=('python' 'go' 'git' 'fuse3')
source=("$pkgname-$pkgver.tar.gz::https://github.com/rclone/rclone/archive/v$pkgver.tar.gz")
sha512sums=('02baef752b8537ef5de05c51ce556ee76aee62c6835dc2f0cb6a8ebf0837d524dee1ed69136fb8319511a248d6776e36e53038138bf245f19aa66ea2aac6815c')
prepare() {
cd "rclone-$pkgver"
sed -i "1s/python$/&2/" bin/make_manual.py bin/make_backend_docs.py
}
build() {
cd "rclone-$pkgver"
export GOFLAGS="-buildmode=pie -trimpath"
export CGO_LDFLAGS="${LDFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CPPFLAGS="${CPPFLAGS}"
PATH="/build/go/bin:$PATH" make TAG=v$pkgver rclone || true
PATH="/build/go/bin:$PATH" rclone genautocomplete bash rclone.bash_completion
PATH="/build/go/bin:$PATH" rclone genautocomplete zsh rclone.zsh_completion
PATH="/build/go/bin:$PATH" rclone genautocomplete fish rclone.fish_completion
}
check() {
cd "rclone-$pkgver"
PATH="/build/go/bin:$PATH" make TAG=v$pkgver test
}
package() {
cd "rclone-$pkgver"
install -Dm755 rclone "$pkgdir"/usr/bin/rclone
install -Dm644 rclone.bash_completion "$pkgdir"/usr/share/bash-completion/completions/rclone
install -Dm644 rclone.zsh_completion "$pkgdir"/usr/share/zsh/site-functions/_rclone
install -Dm644 rclone.fish_completion "$pkgdir"/usr/share/fish/vendor_completions.d/rclone.fish
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
install -Dm644 rclone.1 "$pkgdir"/usr/share/man/man1/rclone.1
install -d "$pkgdir"/usr/share/doc/$pkgname
install -t "$pkgdir"/usr/share/doc/$pkgname -m644 MANUAL.html MANUAL.txt
# Mount helper symlinks
ln -s /usr/bin/rclone "${pkgdir}"/usr/bin/mount.rclone
ln -s /usr/bin/rclone "${pkgdir}"/usr/bin/rclonefs
}