termux-packages/packages/syncthing/build.sh

47 lines
1.6 KiB
Bash

TERMUX_PKG_HOMEPAGE=https://syncthing.net/
TERMUX_PKG_DESCRIPTION="Decentralized file synchronization"
TERMUX_PKG_LICENSE="MPL-2.0"
TERMUX_PKG_MAINTAINER="@termux"
# NOTE: as of 1.12.0 compilation fails when package zstd is
# present in TERMUX_PREFIX.
TERMUX_PKG_VERSION="1.20.1"
TERMUX_PKG_SRCURL=https://github.com/syncthing/syncthing/releases/download/v${TERMUX_PKG_VERSION}/syncthing-source-v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=a88fabaea11a8df5cc134075c37dc87f1fb33b48d3d8afb1dc8ea11b3c0925bc
TERMUX_PKG_AUTO_UPDATE=true
termux_step_make() {
termux_setup_golang
# The build.sh script doesn't with our compiler
# so small adjustments to file locations are needed
# so the build.go is fine.
mkdir -p go/src/github.com/syncthing
ln -sf "${TERMUX_PKG_SRCDIR}" go/src/github.com/syncthing/syncthing
# Set gopath so dependencies are built as in go get etc.
export GOPATH="$(pwd)/go"
cd go/src/github.com/syncthing/syncthing
# Unset GOARCH so building build.go works.
export GO_ARCH="${GOARCH}"
export _CC="${CC}"
export GO_OS="${GOOS}"
unset GOOS GOARCH CC
rm -rf vendor # syncthing has vendored dependencies, which fails with our compiler.
# Now file structure is same as go get etc.
go run build.go -goos "${GO_OS}" -goarch "${GO_ARCH}" \
-cc "${_CC}" -version "v${TERMUX_PKG_VERSION}" -no-upgrade build
}
termux_step_make_install() {
cp "${GOPATH}"/src/github.com/syncthing/syncthing/syncthing $TERMUX_PREFIX/bin/
for section in 1 5 7; do
local MANDIR=$TERMUX_PREFIX/share/man/man$section
mkdir -p $MANDIR
cp $TERMUX_PKG_SRCDIR/man/*.$section $MANDIR
done
}