mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-24 09:25:01 +00:00
046356e749
Release notes: * https://github.com/concourse/concourse/releases/tag/v5.3.0 * https://github.com/concourse/concourse/releases/tag/v5.4.0 * https://github.com/concourse/concourse/releases/tag/v5.5.0 * https://github.com/concourse/concourse/releases/tag/v5.6.0 * https://github.com/concourse/concourse/releases/tag/v5.7.0 * https://github.com/concourse/concourse/releases/tag/v5.7.1 * https://github.com/concourse/concourse/releases/tag/v5.7.2
80 lines
2.4 KiB
Makefile
80 lines
2.4 KiB
Makefile
# $FreeBSD$
|
|
|
|
PORTNAME= concourse
|
|
PORTVERSION= 5.7.2
|
|
CATEGORIES= net sysutils
|
|
MASTER_SITES= LOCAL/dumbbell/concourse/
|
|
PKGNAMESUFFIX= -fly
|
|
|
|
MAINTAINER= dumbbell@FreeBSD.org
|
|
COMMENT= CLI for Concourse
|
|
|
|
LICENSE= APACHE20
|
|
|
|
GO_PKGNAME= github.com/concourse/fly
|
|
GO_BUILDFLAGS+= -mod=vendor \
|
|
-ldflags="-X github.com/concourse/concourse.Version=${PORTVERSION}"
|
|
|
|
USES= go tar:xz
|
|
|
|
CONFLICTS_INSTALL= fly
|
|
|
|
PLIST_FILES= bin/fly
|
|
|
|
# The build instructions for `fly` suggest to clone the global Concourse
|
|
# repository, which contains many Git submodules, including fly, and
|
|
# build from there. So basically:
|
|
#
|
|
# git clone --recursive https://github.com/concourse/concourse.git
|
|
# cd concourse/fly
|
|
# go build
|
|
#
|
|
# Unfortunately, this is difficult to integrate as is with the Ports framework:
|
|
# * Some submodules are hosted on services other than GitHub
|
|
# * Third-party Go dependencies are not Git submodules
|
|
#
|
|
# We created the `create-src-archive` to create a self-contained
|
|
# source archive because the Concourse does not provide one. This
|
|
# source archive contains the Git submodules and the third-party Go
|
|
# dependencies, fetched using `go mod vendor`.
|
|
#
|
|
# It is created using the `create-src-archive` target below:
|
|
#
|
|
# make create-src-archive
|
|
#
|
|
# Because it doesn't match the project layout USES=go expects, we
|
|
# override the post-extract and do-build targets to adapt the commands.
|
|
#
|
|
# In particular, we must pass `-mod=vendor` to go-install to be able to
|
|
# use the third-party dependencies fetched with `go mod vendor`.
|
|
|
|
# `fly` version is set by default to "0.0.0-dev" in version/Version.go.
|
|
# Instead of patching the file, we use a linker flag to set the variable
|
|
# to the port's version.
|
|
|
|
post-extract:
|
|
@:
|
|
|
|
do-build:
|
|
(cd ${WRKSRC}/fly; \
|
|
${SETENV} ${MAKE_ENV} ${GO_ENV} ${GO_CMD} 'install' ${GO_BUILDFLAGS})
|
|
|
|
.PHONY: create-src-archive
|
|
ARCHIVE_DIR= ${DISTDIR}/concourse-${PORTVERSION}
|
|
create-src-archive:
|
|
${RM} -rf ${ARCHIVE_DIR}
|
|
git clone --recursive -b v${PORTVERSION} \
|
|
https://github.com/concourse/concourse.git \
|
|
${ARCHIVE_DIR}
|
|
GOPATH=$$(mktemp concourse-gopath.XXXX) && \
|
|
(cd ${ARCHIVE_DIR} && \
|
|
${GO_CMD} mod vendor) && \
|
|
${FIND} "$$GOPATH" -exec ${CHMOD} u+w {} \; && \
|
|
${RM} -rf "$$GOPATH"
|
|
${FIND} ${ARCHIVE_DIR} \( -name ".git*" -o -name "testdata" \) -depth -exec ${RM} -rf {} \;
|
|
${TAR} -cf - -C ${ARCHIVE_DIR:H} ${ARCHIVE_DIR:T} | ${XZ_CMD} > ${ARCHIVE_DIR}.tar.xz
|
|
${RM} -rf ${ARCHIVE_DIR}
|
|
${MAKE} makesum
|
|
|
|
.include <bsd.port.mk>
|