commit:     64e0e2fa9ea26f8c56d8b83ea6db919659515c3c
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Thu Sep  4 20:56:53 2025 +0000
Commit:     Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
CommitDate: Mon Sep  8 07:10:21 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=64e0e2fa

net-p2p/syncthing: add 2.0.6

* Major release with major changes.
  https://github.com/syncthing/syncthing/blob/v2.0.6/relnotes/v2.0.md

* Add user service file for openrc.

* Verify-sig support.

* Use ego (and go-env transitively).

Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/43667
Closes: https://github.com/gentoo/gentoo/pull/43667
Signed-off-by: Marc Schiffbauer <mschiff <AT> gentoo.org>

 net-p2p/syncthing/Manifest                   |   2 +
 net-p2p/syncthing/files/syncthing.initd-user |   7 ++
 net-p2p/syncthing/syncthing-2.0.6.ebuild     | 125 +++++++++++++++++++++++++++
 3 files changed, 134 insertions(+)

diff --git a/net-p2p/syncthing/Manifest b/net-p2p/syncthing/Manifest
index f00632442643..b99bcec9ae56 100644
--- a/net-p2p/syncthing/Manifest
+++ b/net-p2p/syncthing/Manifest
@@ -2,3 +2,5 @@ DIST syncthing-1.27.10.tar.gz 15431543 BLAKE2B 
e6c745e10beed7fa705aa5839440dc3e7
 DIST syncthing-1.27.12.tar.gz 15553432 BLAKE2B 
df4ecaacb2986152755bcc6b20570856217b49dcffae45ff9cb3e1bc32eb648eb709fdf79c9051e73eff7b61adcf7078daed1d06d22a0d65061eb99a25b8aa02
 SHA512 
4e46124936ab7670d2929b0817b014c5d9ab6c94a9ce47368c796ab59b1f03c7da983ade358ae98be7c83fb4b70d2c3a3709827257be9dc61c0d0e113022dd85
 DIST syncthing-1.27.9.tar.gz 15394317 BLAKE2B 
a7b02c57d897c3fc56734d039e5cf0eceaf802258e3a9fd34d667a9e22ff75db0bd1cf6b8d5be8b8e9d4eb772145222bee7d3154b004c437bbab23f33fb98e66
 SHA512 
11c56dcf3b44f87581560b4f8f8f76d6ee851fc0421d85f458a32c3900bd0ee6bb2964b7d5253a343d61ba57e3aa40f2f8a94d6f5d5d5b0cf27dc1cc28a14fa1
 DIST syncthing-source-v1.29.5.tar.gz 16044586 BLAKE2B 
d0e557d6158c3e568314725c06862b9b30f83e4e7f1322930dcdd30c80bee89730bfa3d4051ba45c1714901a96175dcd8e328feb87a4deeaadb7b4eb37e47fe0
 SHA512 
a11ee3e95ba656f2bfceddde10ef13d86dffc0cba78f428bf5cbba13a8bb6e0ef7eb9c8b75317596d56b7880465cf8972be6cf77258c7c53529c16d5310cc43d
+DIST syncthing-source-v2.0.6.tar.gz 62660232 BLAKE2B 
19992fcbe631d2e60f34c7c41d6c7b223b57dae5db2a72fa8453a52ab2b6070f0edd05ad21ffef6a8f4cb78cbb239bb7a5e383edb6fad69afe8c8a911ca2ce18
 SHA512 
63ae9f377ec487b7d8dd355b41ee07d15a441b9074a2f34281c8b54e3d7e884c4e481630c420857a4aa1ef278d5a1702ca065c8e4885e9bf662f108e7a136d3b
+DIST syncthing-source-v2.0.6.tar.gz.asc 1391 BLAKE2B 
179dd84b9eaca5758143f1693a7903695c4b20150c6f44f44ad3ed70be3cb54fb471aac9c063bcd392eb89ceea1d991fe4d753501eefd2c67a40f44db923a7b5
 SHA512 
f09dc4e30d144fcc0f4bd7123d24f168810b495f3223e97ba0864c095add0c64e7e65abfc34b3a2066c9a72f621124ff686beead4918ea41a86b8aada04a7e3e

diff --git a/net-p2p/syncthing/files/syncthing.initd-user 
b/net-p2p/syncthing/files/syncthing.initd-user
new file mode 100644
index 000000000000..246cb01bec6e
--- /dev/null
+++ b/net-p2p/syncthing/files/syncthing.initd-user
@@ -0,0 +1,7 @@
+#!/sbin/openrc-run
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+supervisor=supervise-daemon
+command="/usr/bin/syncthing"
+command_args="serve --no-browser --no-restart --logflags=0"

diff --git a/net-p2p/syncthing/syncthing-2.0.6.ebuild 
b/net-p2p/syncthing/syncthing-2.0.6.ebuild
new file mode 100644
index 000000000000..b05a787ba2f6
--- /dev/null
+++ b/net-p2p/syncthing/syncthing-2.0.6.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit eapi9-ver desktop go-module systemd verify-sig xdg
+
+DESCRIPTION="Open Source Continuous File Synchronization"
+HOMEPAGE="https://syncthing.net https://github.com/syncthing/syncthing";
+SRC_URI="
+       
https://github.com/${PN}/${PN}/releases/download/v${PV}/${PN}-source-v${PV}.tar.gz
+       verify-sig? (
+               
https://github.com/${PN}/${PN}/releases/download/v${PV}/${PN}-source-v${PV}.tar.gz.asc
+       )
+"
+S="${WORKDIR}"/${PN}
+
+LICENSE="MPL-2.0 Apache-2.0 BSD BSD-2 CC0-1.0 ISC MIT Unlicense"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="selinux tools"
+
+DEPEND="
+       dev-db/sqlite:3
+"
+RDEPEND="
+       ${DEPEND}
+       acct-group/syncthing
+       acct-user/syncthing
+       tools? (
+               >=acct-user/stdiscosrv-1
+               >=acct-user/strelaysrv-1
+       )
+       selinux? ( sec-policy/selinux-syncthing )
+"
+BDEPEND="
+       verify-sig? ( sec-keys/openpgp-keys-syncthing )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/syncthing.asc
+
+DOCS=( AUTHORS {GOALS,README}.md )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.3.4-TestIssue5063_timeout.patch
+       "${FILESDIR}"/${PN}-1.18.4-tool_users.patch
+       "${FILESDIR}"/${PN}-1.29.5-remove_race_in_tests.patch #955442
+)
+
+src_prepare() {
+       # Bug #679280
+       xdg_environment_reset
+
+       default
+
+       local srv
+       for srv in st{disco,relay}srv; do
+               sed -i \
+                       's|^ExecStart=.*|ExecStart=/usr/libexec/${PN}/${srv}|' \
+                       cmd/${srv}/etc/linux-systemd/${srv}.service || die
+       done;
+}
+
+src_compile() {
+       # https://github.com/mattn/go-sqlite3#linux
+       # -tags libsqlite3: use system sqlite3 instead of bundled
+       ego run build.go -version "v${PV}" -tags "libsqlite3" -no-upgrade 
-build-out=bin/ \
+               build $(usev tools all)
+}
+
+src_test() {
+       ego run build.go test
+}
+
+src_install() {
+       dobin bin/${PN}
+
+       doman man/*.[157]
+       einstalldocs
+
+       domenu etc/linux-desktop/${PN}-{start,ui}.desktop
+       local -i icon_size
+       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
+
+       systemd_dounit etc/linux-systemd/system/${PN}@.service
+       systemd_douserunit etc/linux-systemd/user/${PN}.service
+       newconfd "${FILESDIR}"/${PN}.confd ${PN}
+       newinitd "${FILESDIR}"/${PN}.initd-r2 ${PN}
+       exeinto /etc/user/init.d
+       newexe "${FILESDIR}"/syncthing.initd-user syncthing
+
+       keepdir /var/log/${PN}
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+       insinto /etc/ufw/applications.d
+       doins etc/firewall-ufw/${PN}
+
+       if use tools; then
+               exeinto /usr/libexec/${PN}
+               insinto /etc/logrotate.d
+
+               local srv
+               for srv in st{disco,relay}srv; do
+                       doexe bin/${srv}
+                       systemd_dounit 
cmd/${srv}/etc/linux-systemd/${srv}.service
+                       newconfd "${FILESDIR}"/${srv}.confd ${srv}
+                       newinitd "${FILESDIR}"/${srv}.initd-r1 ${srv}
+
+                       newins "${FILESDIR}"/${srv}.logrotate ${srv}
+               done
+       fi
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if ver_replacing -lt 2.0 ; then
+               elog "Major changes in 2.0:"
+               elog 
"https://github.com/syncthing/syncthing/blob/v${PV}/relnotes/v2.0.md";
+       fi
+}

Reply via email to