2024-07-03 11:11:54 +02:00

90 lines
3.0 KiB
Plaintext

# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Sertonix <sertonix@posteo.net>
pkgname=syncthing
pkgver=1.27.9
pkgrel=1
pkgdesc="Open Source Continuous File Synchronization"
url="https://syncthing.net/"
arch="all"
license="MPL-2.0"
pkgusers="$pkgname"
pkggroups="$pkgname"
makedepends="go"
install="$pkgname.pre-install"
subpackages="$pkgname-doc $pkgname-utils $pkgname-openrc"
source="$pkgname-$pkgver.tar.gz::https://github.com/syncthing/syncthing/archive/v$pkgver.tar.gz
build-unset-CGO_ENABLED.patch
only-test-with-race-when-provided.patch
test-timeout.patch
$pkgname.initd
"
options="chmod-clean net"
case "$CARCH" in
# arm*: oom on tests
# riscv64: bind error
arm*|riscv64) options="$options !check" ;;
esac
# secfixes:
# 1.15.1-r0:
# - CVE-2021-21404
export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
# Build syncthing + server utils
local cmd
for cmd in syncthing stdiscosrv strelaypoolsrv strelaysrv; do
echo "Compiling $cmd"
go run build.go -no-upgrade -version=v$pkgver install $cmd
done
}
check() {
# shellcheck disable=2046
# very flake
go test $(go list ./lib/... ./cmd/... | grep -Ev '(lib/model)')
}
package() {
local i
install -d -o $pkgname -g $pkgname "$pkgdir"/var/lib/$pkgname
install -D -m755 -t "$pkgdir"/usr/bin/ "$builddir"/bin/*
install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
# Desktop files so people in Desktop Environments can put them on Autostart
install -Dm0644 etc/linux-desktop/*.desktop -t "$pkgdir"/usr/share/applications
for i in 32 64 128 256 512; do
install -Dm644 "$builddir"/assets/logo-"$i".png \
"$pkgdir"/usr/share/icons/hicolor/"$i"x"$i"/apps/$pkgname.png
done
install -Dm644 "$builddir"/assets/logo-only.svg \
"$pkgdir"/usr/share/icons/hicolor/scalable/apps/$pkgname.svg
# man pages
for i in 1 5 7; do
install -Dm644 -t "$pkgdir"/usr/share/man/man"$i"/ "$builddir"/man/*."$i"
done
}
utils() {
pkgdesc="Syncthing server utilities"
amove 'usr/bin/st*'
}
sha512sums="
c5d22496af42ae8187a33893d6cef37516f5754d576a92f4698bfe235fdaa6620db1b41eba0292bc50c8a83c1676cc9792a9f931d971c5aa9ce079544bfc6fdc syncthing-1.27.9.tar.gz
30c96641f073ba732d495e9df4b04a9f00ddb19439b4764c2aef07e4ec4a5f53ec6527210c76dc2d2af8f76a37666e44c57acd444206427a258c1b39b53ee5d0 build-unset-CGO_ENABLED.patch
81bcb6b2e0956624b596201d1de24a3b6fcb10d08761f2c426081350b611295a7f4d47775d175f2ee5dbbb289b98bc022389fc9992f0d31bcdbfde855ceafaf8 only-test-with-race-when-provided.patch
05039b2c80a2c365f1d76a51d57ae1ff00e69824d1afd4b9a0df82ef4bc401b6b2ff08a60acbf8d339f30a1353c430f9680eb0e8d402291937d2e02c20739e44 test-timeout.patch
8c95d8794e10c97d6546a48b07af769e9c1b26870fcc53d524868ca6e57e96ad686ebcd988ddb2f355404cced81b9f19eeba99a7c832eb4641ff0066f7916749 syncthing.initd
"