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