commit:     cdd08394168c0219a13d51cf2f12b991c07509bc
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 17:10:42 2024 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Sat Mar 23 17:12:26 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cdd08394

net-p2p/syncthing: add 1.27.4

Closes: https://bugs.gentoo.org/927343
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 net-p2p/syncthing/Manifest                         |   1 +
 .../files/syncthing-1.27.4-tests_race.patch        |  24 +++++
 net-p2p/syncthing/syncthing-1.27.4.ebuild          | 113 +++++++++++++++++++++
 3 files changed, 138 insertions(+)

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
+}

Reply via email to