net-p2p/syncthing: bump to 0.14.12, fix DEPEND
authorLouis Sautier <sautier.louis@gmail.com>
Tue, 22 Nov 2016 13:57:41 +0000 (14:57 +0100)
committerDavid Seifert <soap@gentoo.org>
Sat, 26 Nov 2016 12:06:30 +0000 (13:06 +0100)
Gentoo-Bug: 600466

Package-Manager: portage-2.3.2
Closes: https://github.com/gentoo/gentoo/pull/2913

net-p2p/syncthing/Manifest
net-p2p/syncthing/syncthing-0.14.12.ebuild [new file with mode: 0644]

index 09a6e7eb8af5866c19e66ee6eeec503666d6506b..cacc9b7f088bade2f6fb98293281f0196c9f69fa 100644 (file)
@@ -1,4 +1,5 @@
 DIST syncthing-0.14.10.tar.gz 6439231 SHA256 abd0695f12a4bc1dbb9ac1c5f3a9caf7b20e3c2cdeee9ab3859d66df98070dce SHA512 69f9d7ab3b3df663604d0da272d35abcf47553ae7e0b825d22385a3331848621597d35c6bd4b9591231c1160d9fb2c8d368fb9845f0d2e80aef7833acb829b7a WHIRLPOOL bf63ee69f889ed54f5bded339224a131ef2aa9781df4cbfbfb7d279fe83c9268c9ca350ccbaa3f8509d46297e05754f2454d854d96966ef366340bc05fef29cd
 DIST syncthing-0.14.11.tar.gz 6455020 SHA256 7d6b85724cf7a9b5cf0ded602f8cd132e02f1809c3d5d59593d6b78248c75e9f SHA512 ff326096da47c1b14a0c2c89ade96e79342c63b5d412d7bb5031fc1d489c9468f245d296b971a7e5b90183a4b2f4a8e8fe7d8ab0b01ca06fc780dd277523a68e WHIRLPOOL cd8d4dfd701783cc05403349f48acbf0ab6eb2e760ff00104bca337dd2b8868fda4eb6e1860a6d5402ffc4bcc3973ab24c2094a1fd481ef958b514138400ecc3
+DIST syncthing-0.14.12.tar.gz 6464612 SHA256 0778785636e2c095f8f6cd353a206e0e1b1db37c40a4c79156a08eaaffcff81f SHA512 89e6bc7ae351da8904cb8d84af912f6864a66ad509dedbc74cda9ba2eaa5035f0e5123d76402070ca3251fde3caeb94eb25897cef23152265651a9478835bc9d WHIRLPOOL 66a96998d1aec638de770dc5fb424a46aa13d84e86a8584e7b41b2014ac3c1df2627eaf2faf42ddca11b0b9cf54cc676609a2483b307c7e8242f2ab8e37d5998
 DIST syncthing-0.14.6.tar.gz 6390369 SHA256 481d9e88db0c3b3e9b0c796fa6dbb62447f0da69022c77f0065370873b0909ff SHA512 2a6d7dda6f014b1fce75d3199afdde517344524356e3881bb3cac035adc53dae3401260f072099a60d31394279e386c1d0e661fe21a5df0f1bf6b9808017ba34 WHIRLPOOL e24ce88d5448d4f599a3de52c049d5eed3531d7072b9dbf731ec684e648b580f02b559e0b72f441b4bc41aeb8500e7e78cc2379aeb029b35c7b91bb7e411970e
 DIST syncthing-0.14.9.tar.gz 6431103 SHA256 c04350e66a88ec027daa0d72f9fea5815ac73dc8543c271fe2fa0b53657c5502 SHA512 19d4e6ab9ad76c16e4406914b125626c9bec1d76b1ce28e776e357dd78cee1e0a4117346927376ab8292a0c6ba4843bc32c04abdf25bae9e6010343306873079 WHIRLPOOL 879c5eae5aade78e596fdd1f4f1da595a9c48e2b521fc0a9616af5721a7d3dd117d392fe654650bc0d9ca613a395e689ffbbe47c4b76a16a4bfccf8e621d145b
diff --git a/net-p2p/syncthing/syncthing-0.14.12.ebuild b/net-p2p/syncthing/syncthing-0.14.12.ebuild
new file mode 100644 (file)
index 0000000..14832b5
--- /dev/null
@@ -0,0 +1,122 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+EGO_PN="github.com/${PN}/${PN}"
+
+inherit golang-vcs-snapshot systemd user versionator
+
+DESCRIPTION="Open Source Continuous File Synchronization"
+HOMEPAGE="https://syncthing.net"
+SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~arm"
+IUSE="tools"
+
+DEPEND="tools? ( >=dev-lang/go-1.7.1:= )"
+
+DOCS=(README.md AUTHORS CONTRIBUTING.md)
+
+pkg_setup() {
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 /var/lib/${PN} ${PN}
+
+       if use tools ; then
+               # separate user for the relay server
+               enewgroup strelaysrv
+               enewuser strelaysrv -1 -1 /var/lib/strelaysrv strelaysrv
+               # and his home folder
+               keepdir /var/lib/strelaysrv
+               fowners strelaysrv:strelaysrv /var/lib/strelaysrv
+       fi
+}
+
+src_prepare() {
+       default
+       sed -i \
+               's|^ExecStart=.*|ExecStart=/usr/libexec/syncthing/strelaysrv|' \
+               src/${EGO_PN}/cmd/strelaysrv/etc/linux-systemd/strelaysrv.service \
+               || die
+}
+
+src_compile() {
+       export GOPATH="${S}:$(get_golibdir_gopath)"
+       cd src/${EGO_PN} || die
+       # If we pass "build" to build.go, it builds only syncthing itself, and
+       # places the binary in the root folder. If we do not pass "build", all the
+       # tools are built, and all binaries are placed in folder ./bin.
+       go run build.go -version "v${PV}" -no-upgrade $(usex tools "" "build") \
+               || die "build failed"
+}
+
+src_test() {
+       cd src/${EGO_PN} || die
+       go run build.go test || die "test failed"
+}
+
+src_install() {
+       pushd src/${EGO_PN} >& /dev/null || die
+       doman man/*.[157]
+       einstalldocs
+
+       if use tools ; then
+               dobin bin/syncthing
+               exeinto /usr/libexec/syncthing
+               local exe
+               for exe in bin/* ; do
+                       [[ "${exe}" == "bin/syncthing" ]] || doexe "${exe}"
+               done
+       else
+               dobin syncthing
+       fi
+       popd >& /dev/null || die
+
+       # openrc and systemd service files
+       systemd_dounit src/${EGO_PN}/etc/linux-systemd/system/${PN}{@,-resume}.service
+       systemd_douserunit src/${EGO_PN}/etc/linux-systemd/user/${PN}.service
+       newconfd "${FILESDIR}/${PN}.confd" ${PN}
+       newinitd "${FILESDIR}/${PN}.initd" ${PN}
+
+       keepdir /var/{lib,log}/${PN}
+       fowners ${PN}:${PN} /var/{lib,log}/${PN}
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+       if use tools ; then
+               # openrc and systemd service files
+               systemd_dounit src/${EGO_PN}/cmd/strelaysrv/etc/linux-systemd/strelaysrv.service
+               newconfd "${FILESDIR}/strelaysrv.confd" strelaysrv
+               newinitd "${FILESDIR}/strelaysrv.initd" strelaysrv
+
+               insinto /etc/logrotate.d
+               newins "${FILESDIR}/strelaysrv.logrotate" strelaysrv
+       fi
+}
+
+pkg_postinst() {
+       local v
+       for v in ${REPLACING_VERSIONS}; do
+               if [[ $(get_version_component_range 2) -gt \
+                               $(get_version_component_range 2 ${v}) ]]; then
+                       ewarn "Version ${PV} is not protocol-compatible with version" \
+                               "0.$(($(get_version_component_range 2) - 1)).x or lower."
+                       ewarn "Make sure all your devices are running at least version" \
+                               "0.$(get_version_component_range 2).0."
+               fi
+       done
+
+       # check if user syncthing-relaysrv exists
+       # if yes, warn that it has been moved to strelaysrv
+       if [[ -n "$(egetent passwd syncthing-relaysrv 2>/dev/null)" ]]; then
+               ewarn
+               ewarn "The user and group for the relay server have been changed"
+               ewarn "from syncthing-relaysrv to strelaysrv"
+               ewarn "The old user and group are not deleted automatically. Delete them by running:"
+               ewarn "    userdel -r syncthing-relaysrv"
+               ewarn "    groupdel syncthing-relaysrv"
+       fi
+}