commit:     381cfa494305a29eed29c54255d4395dbfc66ab0
Author:     Filip Kobierski <fkobi <AT> pm <DOT> me>
AuthorDate: Thu Dec 26 19:31:09 2024 +0000
Commit:     Marc Schiffbauer <mschiff <AT> gentoo <DOT> org>
CommitDate: Tue Apr 29 11:22:35 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=381cfa49

net-p2p/syncthing: add 1.29.5 with improved ebuild

changes, from top to bottom:
- do not rename distfile
- move project primary license to be the first
- made RDEPEND more readable
- updated DOCS
- removed race patch
- added loops to shorten the ebuild in src_{prepare,install}
- swap $(usex a b "") to $(usev a b)
- use brace expansion instead of for loop for installing tools
- swap "syncthing" to ${PN} where it makes sense

Signed-off-by: Filip Kobierski <fkobi <AT> pm.me>
Part-of: https://github.com/gentoo/gentoo/pull/39851
Closes: https://github.com/gentoo/gentoo/pull/39851
Signed-off-by: Marc Schiffbauer <mschiff <AT> gentoo.org>

 net-p2p/syncthing/Manifest                |   1 +
 net-p2p/syncthing/syncthing-1.29.5.ebuild | 109 ++++++++++++++++++++++++++++++
 2 files changed, 110 insertions(+)

diff --git a/net-p2p/syncthing/Manifest b/net-p2p/syncthing/Manifest
index 76b1d985965b..f00632442643 100644
--- a/net-p2p/syncthing/Manifest
+++ b/net-p2p/syncthing/Manifest
@@ -1,3 +1,4 @@
 DIST syncthing-1.27.10.tar.gz 15431543 BLAKE2B 
e6c745e10beed7fa705aa5839440dc3e7fe730348bf7119c853bbd93cfb5e6d5fd920f37b9aec1774c175f24d1a5b70fc921d4222a69a432b6dcb777a6641e97
 SHA512 
caf24474790b7c40edbca27191a977dfc1009445129abc89cc4f3d0abecd20219d1e82e10947dde03763323d46ce951d1bdfa210189f13cdd9759541e6fdb6c8
 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

diff --git a/net-p2p/syncthing/syncthing-1.29.5.ebuild 
b/net-p2p/syncthing/syncthing-1.29.5.ebuild
new file mode 100644
index 000000000000..9311a848e387
--- /dev/null
+++ b/net-p2p/syncthing/syncthing-1.29.5.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2025 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 https://github.com/syncthing/syncthing";
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${PN}-source-v${PV}.tar.gz";
+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"
+
+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.21.0"
+
+DOCS=( AUTHORS {GOALS,README}.md )
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.3.4-TestIssue5063_timeout.patch
+       "${FILESDIR}"/${PN}-1.18.4-tool_users.patch
+)
+
+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() {
+       GOARCH= CGO_ENABLED=1 go run build.go -version "v${PV}" -no-upgrade 
-build-out=bin/ \
+               ${GOARCH:+-goarch="${GOARCH}"} \
+               build $(usev tools all) || die "build failed"
+}
+
+src_test() {
+       go run build.go test || die "test failed"
+}
+
+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}
+
+       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_desktop_database_update
+       xdg_icon_cache_update
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+       xdg_icon_cache_update
+}

Reply via email to