summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorgdt <gdt@pkgsrc.org>2016-08-04 19:28:03 +0000
committergdt <gdt@pkgsrc.org>2016-08-04 19:28:03 +0000
commit8752a5481dc247e9e0d906f784efe36553e07c9a (patch)
treeb6969e11759e8db29fc150dbd6895995e84c7243 /net
parentf81db36407bf01ab7fbe08201d5ff67d53ba75c2 (diff)
downloadpkgsrc-8752a5481dc247e9e0d906f784efe36553e07c9a.tar.gz
Update to 0.14.3 and rearrange GOPATH and build layout
Update to 0.14.3; this is a new major version with an incompatible protocol. It has been tested with syncthing-android 0.8.1. Redo build layout, so that the sources are placed at the path recommended by upstream. Reduce the number of symlinks used to get go building to work. Upstream changes: v0.14.3: 3 bugfixes v0.14.2: 1 bugfix v0.14.1: 1 bugfix and This release includes "delta indexes", a backwards compatible protocol enhancement. Prior to delta indexes being implemented, full index information was exchanged at every connection start. With delta indexes, only index information that has changed since last contact is transferred. Delta indexes are enabled automatically between 0.14.1+ devices. v0.14.0: many bugfixes and This is a new major release, incompatible with Syncthing v0.13 and earlier. This release introduces a new, extensible sync protocol and corresponding changes to local discovery and the database. The sync protocol, local discovery protocol and database format is now based on protocol buffers.
Diffstat (limited to 'net')
-rw-r--r--net/syncthing/Makefile48
-rw-r--r--net/syncthing/distinfo10
2 files changed, 41 insertions, 17 deletions
diff --git a/net/syncthing/Makefile b/net/syncthing/Makefile
index 4a4f5ae5b6c..de5065236af 100644
--- a/net/syncthing/Makefile
+++ b/net/syncthing/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.23 2016/07/04 13:43:22 abs Exp $
+# $NetBSD: Makefile,v 1.24 2016/08/04 19:28:03 gdt Exp $
# Upstream regularly breaks protocol compatibility. While users of
# pkgsrc syncthing on multiple systems can update synchronously, an
@@ -13,7 +13,7 @@
# Note that the android versioning is disconnected from syncthing versioning;
# see https://github.com/syncthing/syncthing-android/issues/652 for
# a fuller explanation.
-DISTNAME= syncthing-0.13.10
+DISTNAME= syncthing-0.14.3
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_GITHUB:=syncthing/}
@@ -36,8 +36,31 @@ NO_CONFIGURE= yes
INSTALLATION_DIRS= bin
-MAKE_ENV+= GOPATH=${WRKDIR}/gopath
-INSTALL_UNSTRIPPED= yes # XXX for Mac OS?
+# Go has very strong notions of how building is supposed to work, and
+# paths. Until 0.14, syncthing had symlink workarounds to have
+# sources be found via a gopath directory. Then, building failed
+# because the sources are not a subdirectory of a component of GOPATH..
+# See the following discussion for some hints.
+# http://stackoverflow.com/questions/18149601/go-install-always-fails-no-install-directory-outside-gopath#18164310
+
+# Upstream's build instructions say to place tarball contents under a
+# particular named subdirectory of gopath:
+# https://docs.syncthing.net/dev/building.html
+# We attempt to follow their instructions as closely as possible.
+
+# We set up a gopath directory, and a directory where we will place
+# the tarball contents. We use the non-standard variable name
+# WRKPLACE so that we can let WRKSRC refer to where pkgsrc naturally
+# unpacked the tarball.
+GOPATH= ${WRKDIR}/gopath
+WRKPLACEP= ${GOPATH}/src/github.com/syncthing
+WRKPLACE= ${WRKPLACEP}/syncthing
+
+MAKE_ENV+= GOPATH=${GOPATH}
+
+# This used to be set; there seems to be no reason any longer. To be
+# pruned on 2016-11-04.
+# INSTALL_UNSTRIPPED= yes
SUBST_CLASSES+= version
SUBST_STAGE.version= pre-build
@@ -46,19 +69,20 @@ SUBST_FILES.version= build.go
SUBST_SED.version= -e 's|runError("git", "describe", "--always", "--dirty")|runError("echo","v${PKGVERSION_NOREV}")|'
SUBST_SED.version+= -e 's|runError("git", "show", "-s", "--format=%ct")|runError("false")|'
-# The following is more complicated than the build documenation says,
-# but appears necessary to link in both syncthing sources and the
-# included sources.
+# Create WRKPLACE's parent, but not WRKPLACE. Move the contents of
+# the distribution tarball to the directory name desired by upstream's
+# build instructions. Make a symlink so that the rest of the pkgsrc
+# machinery that expects ${WRKSRC} to contain the tarball contents
+# works.
post-extract:
- ${MKDIR} ${WRKDIR}/gopath/src/github.com/syncthing
- ${MKDIR} ${WRKDIR}/gopath/src/golang.org
- ${LN} -s ${WRKSRC} ${WRKDIR}/gopath/src/github.com/syncthing/syncthing
- ${LN} -s ${WRKSRC}/vendor/github.com/* ${WRKDIR}/gopath/src/github.com
- ${LN} -s ${WRKSRC}/vendor/golang.org/* ${WRKDIR}/gopath/src/golang.org
+ ${MKDIR} ${GOPATH}/src/github.com/syncthing/
+ ${MV} ${WRKSRC} ${WRKPLACE}
+ ${LN} -s ${WRKPLACE} ${WRKSRC}
do-build:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${PREFIX}/bin/go run build.go
+# Binaries other than syncthing proper should perhaps be installed.
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/bin/syncthing ${DESTDIR}/${PREFIX}/bin
diff --git a/net/syncthing/distinfo b/net/syncthing/distinfo
index 69d69727da8..c7d8f317751 100644
--- a/net/syncthing/distinfo
+++ b/net/syncthing/distinfo
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.19 2016/07/04 13:43:22 abs Exp $
+$NetBSD: distinfo,v 1.20 2016/08/04 19:28:03 gdt Exp $
-SHA1 (syncthing-0.13.10.tar.gz) = 66326e97d6d955588f97ad04d828c34bf02e1597
-RMD160 (syncthing-0.13.10.tar.gz) = a8aa1b2937133eec0469336be520a885f226a442
-SHA512 (syncthing-0.13.10.tar.gz) = 199c38644a7e5d43777ca2e497d5304d8e77485d21aeed9a00efc74dd98bfb0c473dd0bf3230b8e1e9742315915419f198bb8d0a9b294d2f6fe918b6e0175812
-Size (syncthing-0.13.10.tar.gz) = 4292039 bytes
+SHA1 (syncthing-0.14.3.tar.gz) = 2415491dc0b91c080276e6a26fe4936a377dd91e
+RMD160 (syncthing-0.14.3.tar.gz) = 696826bc06959e47d9af091acf521cc43ba33f93
+SHA512 (syncthing-0.14.3.tar.gz) = f9586013253ad031e1940e73f01f8ca398820e9ffeef0978fcd51079c535c04957c0be1314ecc635251ae06300c6b4141077ac5c3c8e7e9741d58e4545a7f3ba
+Size (syncthing-0.14.3.tar.gz) = 6380761 bytes
SHA1 (patch-lib_config_optionsconfiguration.go) = 341c1c032c9551e17c86a6fb5d3552b1d79041c8