summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2024-03-23 17:10:42 +0000
committerMarek Szuba <marecki@gentoo.org>2024-03-23 17:12:26 +0000
commitcdd08394168c0219a13d51cf2f12b991c07509bc (patch)
treeab3ca6345770b95c68a4865793db49a21d4490ad
parenttoolchain.eclass: another error handling fix (diff)
downloadgentoo-cdd08394168c0219a13d51cf2f12b991c07509bc.tar.gz
gentoo-cdd08394168c0219a13d51cf2f12b991c07509bc.tar.bz2
gentoo-cdd08394168c0219a13d51cf2f12b991c07509bc.zip
net-p2p/syncthing: add 1.27.4
Closes: https://bugs.gentoo.org/927343 Signed-off-by: Marek Szuba <marecki@gentoo.org>
-rw-r--r--net-p2p/syncthing/Manifest1
-rw-r--r--net-p2p/syncthing/files/syncthing-1.27.4-tests_race.patch24
-rw-r--r--net-p2p/syncthing/syncthing-1.27.4.ebuild113
3 files changed, 138 insertions, 0 deletions
diff --git a/net-p2p/syncthing/Manifest b/net-p2p/syncthing/Manifest
index 6eccaa287843..be04ced4cd13 100644
--- a/net-p2p/syncthing/Manifest
+++ b/net-p2p/syncthing/Manifest
@@ -1 +1,2 @@
DIST syncthing-1.27.2.tar.gz 14967954 BLAKE2B 8f033e18679f7accc3d461566da88fa45b2e1c8dc1b1b5ace2732e3987d82e8d458c42dc3571f7d1199cf35667be72fcf81b65efa9cd2dac65297bc86b03e284 SHA512 6b6bd57268b32b5db2377cf813229de978e26de606ac3bf2b515ddb35fd8131fafdb88abbfac1cb7d0f443224538cca7a6eba64f4bd737135f5a1c98e76439f9
+DIST syncthing-1.27.4.tar.gz 15085218 BLAKE2B 25a87551f9c1af2b30076fb439a93a26335c63290f1192d2bc040d526fc9b3c2948103db84dd5fcb16d67810b228e23aa3f1e6f9e9a79dbdb75b983ff4376064 SHA512 fc28ca066adeccd10281a6ccd50c336942bfbbdaedd954028cc2ee40c09ad85ef0a7fcfe733d3045d6979dd22cddd2fa5979d605440ebe3d2fd90c7f911c3c73
diff --git a/net-p2p/syncthing/files/syncthing-1.27.4-tests_race.patch b/net-p2p/syncthing/files/syncthing-1.27.4-tests_race.patch
new file mode 100644
index 000000000000..1c83a03ec00f
--- /dev/null
+++ b/net-p2p/syncthing/files/syncthing-1.27.4-tests_race.patch
@@ -0,0 +1,24 @@
+--- a/build.go
++++ b/build.go
+@@ -34,7 +34,6 @@
+ "time"
+
+ _ "github.com/syncthing/syncthing/lib/automaxprocs"
+- buildpkg "github.com/syncthing/syncthing/lib/build"
+ )
+
+ var (
+@@ -416,13 +415,6 @@
+ }
+ args = append(args, "-timeout", timeout)
+
+- if runtime.GOARCH == "amd64" {
+- switch runtime.GOOS {
+- case buildpkg.Darwin, buildpkg.Linux, buildpkg.FreeBSD: // , "windows": # See https://github.com/golang/go/issues/27089
+- args = append(args, "-race")
+- }
+- }
+-
+ if coverage {
+ args = append(args, "-covermode", "atomic", "-coverprofile", "coverage.txt", "-coverpkg", strings.Join(pkgs, ","))
+ }
diff --git a/net-p2p/syncthing/syncthing-1.27.4.ebuild b/net-p2p/syncthing/syncthing-1.27.4.ebuild
new file mode 100644
index 000000000000..b3b0c4165490
--- /dev/null
+++ b/net-p2p/syncthing/syncthing-1.27.4.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop go-module systemd xdg-utils
+
+DESCRIPTION="Open Source Continuous File Synchronization"
+HOMEPAGE="https://syncthing.net"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${PN}-source-v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 BSD BSD-2 CC0-1.0 ISC MIT MPL-2.0 Unlicense"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~x86"
+IUSE="selinux tools"
+
+RDEPEND="acct-group/syncthing
+ acct-user/syncthing
+ tools? ( >=acct-user/stdiscosrv-1
+ >=acct-user/strelaysrv-1 )
+ selinux? ( sec-policy/selinux-syncthing )"
+BDEPEND=">=dev-lang/go-1.20.0"
+
+DOCS=( README.md AUTHORS CONTRIBUTING.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.4-TestIssue5063_timeout.patch
+ "${FILESDIR}"/${PN}-1.18.4-tool_users.patch
+ "${FILESDIR}"/${PN}-1.27.4-tests_race.patch
+)
+
+S="${WORKDIR}"/${PN}
+
+src_prepare() {
+ # Bug #679280
+ xdg_environment_reset
+
+ default
+ sed -i \
+ 's|^ExecStart=.*|ExecStart=/usr/libexec/syncthing/stdiscosrv|' \
+ cmd/stdiscosrv/etc/linux-systemd/stdiscosrv.service \
+ || die
+ sed -i \
+ 's|^ExecStart=.*|ExecStart=/usr/libexec/syncthing/strelaysrv|' \
+ cmd/strelaysrv/etc/linux-systemd/strelaysrv.service \
+ || die
+}
+
+src_compile() {
+ GOARCH= go run build.go -version "v${PV}" -no-upgrade -build-out=bin/ \
+ ${GOARCH:+-goarch="${GOARCH}"} \
+ build $(usex tools "all" "") || die "build failed"
+}
+
+src_test() {
+ go run build.go test || die "test failed"
+}
+
+src_install() {
+ local icon_size
+
+ doman man/*.[157]
+ einstalldocs
+
+ dobin bin/syncthing
+
+ domenu etc/linux-desktop/*.desktop
+ for icon_size in 32 64 128 256 512; do
+ newicon -s ${icon_size} assets/logo-${icon_size}.png ${PN}.png
+ done
+ newicon -s scalable assets/logo-only.svg ${PN}.svg
+
+ if use tools; then
+ exeinto /usr/libexec/syncthing
+ local exe
+ for exe in bin/* ; do
+ [[ "${exe}" == "bin/syncthing" ]] || doexe "${exe}"
+ done
+ fi
+
+ systemd_dounit etc/linux-systemd/system/${PN}{@,-resume}.service
+ systemd_douserunit etc/linux-systemd/user/${PN}.service
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ newinitd "${FILESDIR}"/${PN}.initd-r2 ${PN}
+
+ keepdir /var/log/${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+ if use tools; then
+ systemd_dounit cmd/stdiscosrv/etc/linux-systemd/stdiscosrv.service
+ newconfd "${FILESDIR}"/stdiscosrv.confd stdiscosrv
+ newinitd "${FILESDIR}"/stdiscosrv.initd-r1 stdiscosrv
+
+ systemd_dounit cmd/strelaysrv/etc/linux-systemd/strelaysrv.service
+ newconfd "${FILESDIR}"/strelaysrv.confd strelaysrv
+ newinitd "${FILESDIR}"/strelaysrv.initd-r1 strelaysrv
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/stdiscosrv.logrotate strelaysrv
+ newins "${FILESDIR}"/strelaysrv.logrotate strelaysrv
+ fi
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}