aboutsummaryrefslogtreecommitdiff
path: root/devel/p4/Makefile
blob: 7f0a72a5fed2fe57d0d5421066b6b21dc31eb0c9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Created by: gordon@FreeBSD.org

PORTNAME=	p4
PORTVERSION=	${YEAR}.${MAJOR}.${MINOR}
PORTREVISION=	3
CATEGORIES=	devel
# Perforce stupidly rerolls their distfiles on a regular basis, updating the
# files' timestamps when they do, which changes the zip file's checksum.  Work
# around that by cacheing the distfile in LOCAL and using that version to make
# distinfo
MASTER_SITES=	LOCAL/asomers/perforce/p4 \
		https://swarm.workshop.perforce.com/projects/perforce_software-p4/archives/
DISTNAME=	${YEAR}-${MAJOR}
DISTFILES=	${ZIP_FILES}
DIST_SUBDIR=	perforce/p4

MAINTAINER=	asomers@FreeBSD.org
COMMENT=	Perforce client

LICENSE=	BSD2CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE

BROKEN_mips64=	fails to install: /wrkdirs/usr/ports/devel/p4/work/2016-1/p4-bin/p4: No such file or directory
BROKEN_FreeBSD_11_powerpc64=	fails to build: /bin/sh: clang++: not found
BROKEN_FreeBSD_12_powerpc64=	fails to build: /bin/sh: clang++: not found

BUILD_DEPENDS=	${JAM}:devel/jam

# p4 links libssl and libcrypto statically, so specify :build
USES=		ssl:build

PLIST_FILES=	bin/p4

.include <bsd.port.pre.mk>

.include "Makefile.inc"

# Sadly, Jam always returns 1 even on success.  Ignore its return value and
# detect build errors during the install phase.
do-build:
	cd ${WRKSRC} && ${SETENV} C++="${CXX}" C++FLAGS="${CXXFLAGS}" \
		CCFLAGS="${CFLAGS}" \
		HDRS="${OPENSSLINC}" \
		LINKFLAGS="${LDFLAGS}" \
		OSVER=${OSVER} \
		SSL="yes" \
		SSLPREFIX=${OPENSSLLIB} \
		${JAM} -dx -j${MAKE_JOBS_NUMBER} || true

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/p4-bin/p4 ${STAGEDIR}${PREFIX}/bin

.include <bsd.port.post.mk>