git: 2b87700f1b06 - main - devel/p4: Update to r22.2.2407422

From: Craig Leres <leres_at_FreeBSD.org>
Date: Tue, 21 Mar 2023 22:38:48 UTC
The branch main has been updated by leres:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2b87700f1b0605c7fc5eefa6eccc1b044705c7a3

commit 2b87700f1b0605c7fc5eefa6eccc1b044705c7a3
Author:     Craig Leres <leres@FreeBSD.org>
AuthorDate: 2023-03-21 22:38:20 +0000
Commit:     Craig Leres <leres@FreeBSD.org>
CommitDate: 2023-03-21 22:38:20 +0000

    devel/p4: Update to r22.2.2407422
    
    Update MASTER_SITES including a backup site hosted by the maintainer.
    
    Remove BROKEN lines (this version is 7 years newer).
    
    While here, adjust the PR patchset to eliminate DIST_SUBDIR and
    embed the version string into the downloaded package.
    
    PR:             270387
    Approved by:    antonfb@hesiod.org (maintainer)
---
 devel/p4/Makefile                             | 40 +++++++++++----------------
 devel/p4/Makefile.inc                         |  7 ++---
 devel/p4/distinfo                             |  6 ++--
 devel/p4/files/patch-net_netsslcredentials.cc | 23 ---------------
 devel/p4/pkg-descr                            | 14 ++++++++--
 5 files changed, 34 insertions(+), 56 deletions(-)

diff --git a/devel/p4/Makefile b/devel/p4/Makefile
index 02c7f4570294..60de77148a3a 100644
--- a/devel/p4/Makefile
+++ b/devel/p4/Makefile
@@ -1,32 +1,26 @@
 PORTNAME=	p4
 PORTVERSION=	${YEAR}.${MAJOR}.${MINOR}
-PORTREVISION=	3
 CATEGORIES=	devel
 # Perforce changes their distfiles when they patch, which changes the
 # zip file's checksum. This does not play well with FreeBSD's conventions.
-# This version of the port 2016.1 is no longer available from Perforce's
-# site. The new maintainer is backup hosting until the new port of 2022.2
-# is ready.
-MASTER_SITES=	LOCAL/asomers/perforce/p4 \
-		https://hesiod.org/distfiles/
-DISTNAME=	${YEAR}-${MAJOR}
-DISTFILES=	${ZIP_FILES}
-DIST_SUBDIR=	perforce/p4
+# maintainer is backup hosting
+MASTER_SITES=	https://ftp.perforce.com/perforce/${P4VERSION}/bin.tools/p4source${EXTRACT_SUFX}?dummy=/ \
+		https://hesiod.org/distfiles/perforce-${MINOR}/p4source${EXTRACT_SUFX}?dummy=/
+DISTNAME=	p4source-${MINOR}
 
 MAINTAINER=	antonfb@hesiod.org
-COMMENT=	Perforce client
-WWW=		https://www.perforce.com/
+COMMENT=	Perforce command line client
+WWW=		https://www.perforce.com/products/helix-core
 
 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_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
+USES=		ssl:build tar:tgz
+
+WRKSRC=		${WRKDIR}/p4source-${PORTVERSION}
 
 PLIST_FILES=	bin/p4
 
@@ -34,17 +28,15 @@ PLIST_FILES=	bin/p4
 
 .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
+	    CCFLAGS="${CFLAGS}" \
+	    HDRS="${OPENSSLINC}" \
+	    LINKFLAGS="${LDFLAGS}" \
+	    OSVER=${OSVER} \
+	    SSL="yes" \
+	    SSLPREFIX=${OPENSSLLIB} \
+	    ${JAM} -dx -sUSE_EXTENSIONS=0 -j${MAKE_JOBS_NUMBER} p4
 
 do-install:
 	${INSTALL_PROGRAM} ${WRKSRC}/p4-bin/p4 ${STAGEDIR}${PREFIX}/bin
diff --git a/devel/p4/Makefile.inc b/devel/p4/Makefile.inc
index 414895566676..cbf88951e949 100644
--- a/devel/p4/Makefile.inc
+++ b/devel/p4/Makefile.inc
@@ -1,8 +1,7 @@
-ZIP_FILES=	${DISTNAME}.zip
 P4VERSION?=	r${PORTVERSION:S/^20//:C/\.[0-9]+$//}
-YEAR=		2016
-MAJOR=		1
-MINOR=		1492381
+YEAR=		2022
+MAJOR=		2
+MINOR=		2407422
 
 JAM?=		${LOCALBASE}/bin/jam
 OSVER?=		${OSREL:S/.//}
diff --git a/devel/p4/distinfo b/devel/p4/distinfo
index 3995ddebd392..fb002e83d03d 100644
--- a/devel/p4/distinfo
+++ b/devel/p4/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1517864594
-SHA256 (perforce/p4/2016-1.zip) = af465c970b5892674089a917ffa3d38f9b878e1ceb32eb73c2e05bd462d5ba63
-SIZE (perforce/p4/2016-1.zip) = 2249015
+TIMESTAMP = 1679422608
+SHA256 (p4source-2407422.tgz) = 4355375def3f3d2256d4a92ac1b9960173e7aa97404346c0c74caf23a0905e1b
+SIZE (p4source-2407422.tgz) = 6325949
diff --git a/devel/p4/files/patch-net_netsslcredentials.cc b/devel/p4/files/patch-net_netsslcredentials.cc
deleted file mode 100644
index d18ba487c308..000000000000
--- a/devel/p4/files/patch-net_netsslcredentials.cc
+++ /dev/null
@@ -1,23 +0,0 @@
---- net/netsslcredentials.cc.orig	2018-02-05 20:46:46.000000000 +0000
-+++ net/netsslcredentials.cc	2018-11-08 16:32:39.241553000 +0000
-@@ -42,6 +42,7 @@ extern "C"
- # include <openssl/x509v3.h>
- # include <openssl/ssl.h>
- # include <openssl/x509_vfy.h>
-+# include <openssl/opensslv.h>
- }
- # include <stdio.h>
- # include "netdebug.h"
-@@ -218,7 +219,11 @@ NetSslCredentials::ReadCredentials(  Error *e )
- 	privateKey = PEM_read_PrivateKey(fp, NULL, 0, NULL );
- 	SSLNULLHANDLER( privateKey, e, "NetSslCredentials::ReadCredentials PEM_read_PrivateKey", failSetError );
- 	// verify that RSA key
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- 	if (privateKey->type != EVP_PKEY_RSA)
-+#else
-+	if (EVP_PKEY_base_id(privateKey) != EVP_PKEY_RSA)
-+#endif
- 	{
- 	    e->Set( MsgRpc::SslKeyNotRSA );
- 	    goto fail;
-
diff --git a/devel/p4/pkg-descr b/devel/p4/pkg-descr
index 4eca6934b456..286042394aca 100644
--- a/devel/p4/pkg-descr
+++ b/devel/p4/pkg-descr
@@ -1,2 +1,12 @@
-Perforce is a commercial revision control system that can be used
-gratis for developing free software. (see the WWW page for details).
+Perforce is a commercial revision control system. This is the command
+line client which works with servers remotely or locally.
+The clients and the api for Perforce is freely available.
+
+This build does not support the "Extensions" feature.
+
+The server is no longer available for FreeBSD but the Linux version
+should work. There is a limited free use level and non-profit
+organizations might qualify for free licencing.
+
+See "p4 -V" for more licensing and version information.
+See https://ftp.perforce.com/perforce/r22.2/doc/user/ for release notes.