f35b4e634b
Attention: Syncthing now advertises continuous watching support in the GUI. If you enable this on NetBSD, you'll run out of file descriptors and syncthing won't work. At least that's what happened to me... so take care. Bugfixes: #4815: Local host header check is too restrictive #4833: Unclear error message about failed watcher when running out of inotify watches #4870: Don't show a warning when a file from a paused folder is requested #4875: Zeroed local/global "state" (local files untouched) and remote file deletion with root Windows symlink Enhancements: #4516: Bandwidth throttling per remote device #4552: Add UI for filesystem watcher #4823: Don't show ignored files in the "global changes" list #4828: Global change log should indicate folder Other issues: #4749: Make all tests Go 1.10 caching compatible #4868: Docker Documentation
92 lines
3.6 KiB
Makefile
92 lines
3.6 KiB
Makefile
# $NetBSD: Makefile,v 1.68 2018/05/06 19:12:15 wiz Exp $
|
|
|
|
# Upstream regularly breaks protocol compatibility. While users of
|
|
# pkgsrc syncthing on multiple systems can update synchronously, an
|
|
# important use case is interoperating with syncthing-android.
|
|
# Therefore, pkgsrc will update to a new major version (e.g. 0.12.x vs
|
|
# 0.11.x) when a corresponding syncthing-android version becomes
|
|
# available in the f-droid.org repository:
|
|
# https://f-droid.org/repository/browse/?fdid=com.nutomic.syncthingandroid
|
|
# Updates to new major versions must be tested against the android
|
|
# version from f-droid prior to commiting. (This is an attempt to
|
|
# avoid having to version syncthing in pkgsrc.)
|
|
# 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.14.47
|
|
CATEGORIES= net
|
|
MASTER_SITES= ${MASTER_SITE_GITHUB:=syncthing/}
|
|
|
|
# Minor version updates may be committed without asking. Major
|
|
# updates not following the above policy will be reverted.
|
|
COMMENT= Keeps directories in sync across hosts
|
|
HOMEPAGE= https://syncthing.net/
|
|
MAINTAINER= gdt@NetBSD.org
|
|
LICENSE= mpl-2.0
|
|
|
|
# System pax fails on NetBSD 6. Just use gtar until this is understood.
|
|
EXTRACT_USING= gtar
|
|
|
|
GITHUB_TAG= v${PKGVERSION_NOREV}
|
|
|
|
BUILD_DEPENDS+= go-[0-9]*:../../lang/go
|
|
|
|
# The 'zillode' dependency calls the compiler on certain archs.
|
|
USE_LANGUAGES= c
|
|
NO_CONFIGURE= yes
|
|
|
|
INSTALLATION_DIRS= bin
|
|
|
|
# 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}
|
|
|
|
CHECK_RELRO_SKIP+= bin/syncthing
|
|
|
|
# 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
|
|
SUBST_MESSAGE.version= Fixing version string
|
|
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")|'
|
|
|
|
# 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} ${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 build syncthing
|
|
|
|
# Binaries other than syncthing proper should perhaps be installed.
|
|
do-install:
|
|
${INSTALL_PROGRAM} ${WRKSRC}/syncthing ${DESTDIR}/${PREFIX}/bin
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|