Page MenuHomeFreeBSD

D14162.id.diff
No OneTemporary

D14162.id.diff

Index: head/devel/p4/Makefile
===================================================================
--- head/devel/p4/Makefile
+++ head/devel/p4/Makefile
@@ -2,25 +2,21 @@
# $FreeBSD$
PORTNAME= p4
-PORTVERSION= 2016.1.1492381
+PORTVERSION= ${YEAR}.${MAJOR}.${MINOR}
+PORTREVISION= 1
CATEGORIES= devel
-MASTER_SITES= ftp://ftp.perforce.com/perforce/${P4VERSION}/bin.${PLATFORM}/ \
- http://filehost.perforce.com/perforce/${P4VERSION}/bin.${PLATFORM}/
-DISTNAME= p4
-EXTRACT_SUFX=
-EXTRACT_ONLY= # none
+MASTER_SITES= https://swarm.workshop.perforce.com/projects/perforce_software-p4/archives/:zip
+DISTNAME= ${YEAR}-${MAJOR}
+DISTFILES= ${ZIP_FILES}:zip
+EXTRACT_ONLY= ${ZIP_FILES}
MAINTAINER= gordon@FreeBSD.org
COMMENT= Perforce client
-# The LICENSE file is not included in the distfile, but Catherine Louie of
-# Perforce Support assures me that the LICENSE file on swarm also applies to
-# the binary distribution.
-# https://swarm.workshop.perforce.com/projects/perforce_software-p4/files/2016-1/LICENSE
LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
-NO_BUILD= yes
-NO_WRKSUBDIR= yes
+BUILD_DEPENDS= ${JAM}:devel/jam
PLIST_FILES= bin/p4
@@ -28,7 +24,16 @@
.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}" \
+ LINKFLAGS="${LDFLAGS}" \
+ OSVER=${OSVER} \
+ ${JAM} -dx -j${MAKE_JOBS_NUMBER} || true
+
do-install:
- ${INSTALL_PROGRAM} ${DISTDIR}/${DIST_SUBDIR}/p4 ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/p4-bin/p4 ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.post.mk>
Index: head/devel/p4/Makefile.inc
===================================================================
--- head/devel/p4/Makefile.inc
+++ head/devel/p4/Makefile.inc
@@ -1,22 +1,8 @@
-# Figure out what to install
-.if ${OPSYS} == FreeBSD
-
-ONLY_FOR_ARCHS?= amd64 i386
-
-.if ${ARCH} == amd64
-PLATFORM= freebsd100x86_64
-
-.elif ${ARCH} == i386
-PLATFORM= freebsd100x86
-
-.else
-IGNORE= unsupported OS release, sorry
-.endif
-
-.else
-IGNORE= ${OPSYS} is unsupported, sorry
-.endif
-
+ZIP_FILES= ${DISTNAME}.zip
P4VERSION?= r${PORTVERSION:S/^20//:C/\.[0-9]+$//}
-DIST_SUBDIR?= perforce/${PORTVERSION}/bin.${PLATFORM}
-DISTINFO_FILE?= ${MASTERDIR}/distinfo.${PLATFORM}
+YEAR= 2016
+MAJOR= 1
+MINOR= 1492381
+
+JAM?= ${LOCALBASE}/bin/jam
+OSVER?= ${OSREL:S/.//}
Index: head/devel/p4/distinfo
===================================================================
--- head/devel/p4/distinfo
+++ head/devel/p4/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1517531476
+SHA256 (2016-1.zip) = 75ee76a2eb1b6a866b61c2e6bd473aa57ff796d8e5e2f2497d219bf5628a4fc7
+SIZE (2016-1.zip) = 2249015
Index: head/devel/p4/distinfo.freebsd100x86
===================================================================
--- head/devel/p4/distinfo.freebsd100x86
+++ head/devel/p4/distinfo.freebsd100x86
@@ -1,3 +0,0 @@
-TIMESTAMP = 1488697272
-SHA256 (perforce/2016.1.1492381/bin.freebsd100x86/p4) = e5bec189bd219e0f9074bfe46f945c4af9ce8c9d8fae1eb82c33577e5412425a
-SIZE (perforce/2016.1.1492381/bin.freebsd100x86/p4) = 3177020
Index: head/devel/p4/distinfo.freebsd100x86_64
===================================================================
--- head/devel/p4/distinfo.freebsd100x86_64
+++ head/devel/p4/distinfo.freebsd100x86_64
@@ -1,3 +0,0 @@
-TIMESTAMP = 1488697269
-SHA256 (perforce/2016.1.1492381/bin.freebsd100x86_64/p4) = a5668b5747bbeef58bf3003483b4831df7036b1b8af303eead9f2d7ca88f4e5b
-SIZE (perforce/2016.1.1492381/bin.freebsd100x86_64/p4) = 3683848
Index: head/devel/p4/files/patch-Jamrules
===================================================================
--- head/devel/p4/files/patch-Jamrules
+++ head/devel/p4/files/patch-Jamrules
@@ -0,0 +1,28 @@
+--- Jamrules.orig 2018-02-01 21:40:54 UTC
++++ Jamrules
+@@ -449,12 +449,11 @@
+ # P4BIN is set to ../p4-bin (relative to P4)
+
+ SubDir AllP4 p4 ; # where we are
+- SubDir AllP4 p4-bin ; # where we want to be
++ SubDir AllP4 p4 p4-bin ; # where we want to be
+ SubDir P4BIN ; # name is that
+ SubDir AllP4 p4 ; # back to where we started
+
+ EXEC_SUB_TOKENS =
+- $(OS:L)$(OSVER:EL)$(OSPLAT:EL)
+ $(BUILD)
+ $(TYPE:L) ;
+
+@@ -931,11 +930,6 @@
+ OPTIM += -Wno-parentheses -Wno-switch -fwrapv ;
+
+ _mflags = ;
+- switch $(OSPLAT:U)
+- {
+- case X86 : _mflags = -m32 ;
+- case X86_64 : _mflags = -m64 ;
+- }
+
+ $(GENFLAGS) += $(_mflags) -pipe ;
+ LINKFLAGS += $(_mflags) ;
Index: head/devel/p4api/Makefile
===================================================================
--- head/devel/p4api/Makefile
+++ head/devel/p4api/Makefile
@@ -1,41 +1,55 @@
# $FreeBSD$
PORTNAME= p4api
-PORTVERSION= 2016.1.1492381
+PORTVERSION= ${YEAR}.${MAJOR}.${MINOR}
+PORTREVISION= 1
CATEGORIES= devel
-MASTER_SITES= ftp://ftp.perforce.com/perforce/${P4VERSION}/bin.${PLATFORM}/:tar \
+MASTER_SITES= https://swarm.workshop.perforce.com/projects/perforce_software-p4/archives/:zip \
ftp://ftp.perforce.com/perforce/${P4VERSION}/doc/manuals/p4api/:pdf
-EXTRACT_SUFX=
-DISTFILES= ${TAR_FILES}:tar p4api.pdf:pdf
-EXTRACT_ONLY= ${TAR_FILES}
+DISTNAME= ${YEAR}-${MAJOR}
+DISTFILES= ${ZIP_FILES}:zip p4api.pdf:pdf
+EXTRACT_ONLY= ${ZIP_FILES}
MAINTAINER= gordon@FreeBSD.org
COMMENT= Perforce API (static libraries and header files)
-# The LICENSE file is not included in the distfile, but Catherine Louie of
-# Perforce Support assures me that the LICENSE file on swarm also applies to
-# the binary distribution.
-# https://swarm.workshop.perforce.com/projects/perforce_software-p4/files/2016-1/LICENSE
LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
-NO_BUILD= yes
+BUILD_DEPENDS= ${JAM}:devel/jam
OPTIONS_DEFINE= DOCS EXAMPLES
-.include <bsd.port.pre.mk>
+USES= zip
-.include "${.CURDIR}/../p4/Makefile.inc"
+WRKSRC= ${WRKDIR}/${DISTNAME}
-TAR_FILES= p4api.tgz
+.include <bsd.port.pre.mk>
+.include "../p4/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}" \
+ LINKFLAGS="${LDFLAGS}" \
+ OSVER=${OSVER} \
+ API=1 \
+ TYPE=pic \
+ ${JAM} -dx -j${MAKE_JOBS_NUMBER} || true
+
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/include/perforce
- cd ${WRKSRC}/include/p4 && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/perforce
+ cd ${WRKSRC}/p4-bin/bin.pic/p4api-*/include/p4 && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/perforce
${MKDIR} ${STAGEDIR}${PREFIX}/lib/perforce
- cd ${WRKSRC}/lib && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/perforce
+ cd ${WRKSRC}/p4-bin/bin.pic/p4api-*/lib && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/perforce
+
+do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/p4api.pdf ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${DISTDIR}/p4api.pdf ${STAGEDIR}${DOCSDIR}
+
+do-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- cd ${WRKSRC}/sample && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
+ cd ${WRKSRC}/p4-bin/bin.pic/p4api-*/sample && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
.include <bsd.port.post.mk>
Index: head/devel/p4api/distinfo
===================================================================
--- head/devel/p4api/distinfo
+++ head/devel/p4api/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1517528733
+SHA256 (2016-1.zip) = 75ee76a2eb1b6a866b61c2e6bd473aa57ff796d8e5e2f2497d219bf5628a4fc7
+SIZE (2016-1.zip) = 2249015
+SHA256 (p4api.pdf) = df5e388c2753925d8411d98a14d7b634ef2543d4a0a04a340513e89d887ab57b
+SIZE (p4api.pdf) = 1908708
Index: head/devel/p4api/distinfo.freebsd100x86
===================================================================
--- head/devel/p4api/distinfo.freebsd100x86
+++ head/devel/p4api/distinfo.freebsd100x86
@@ -1,5 +0,0 @@
-TIMESTAMP = 1488697449
-SHA256 (perforce/2016.1.1492381/bin.freebsd100x86/p4api.tgz) = 9bd8114b24c4c6fe633eb3825441d48f04154792b77bc02feb175fe3b10d73ed
-SIZE (perforce/2016.1.1492381/bin.freebsd100x86/p4api.tgz) = 3905939
-SHA256 (perforce/2016.1.1492381/bin.freebsd100x86/p4api.pdf) = df5e388c2753925d8411d98a14d7b634ef2543d4a0a04a340513e89d887ab57b
-SIZE (perforce/2016.1.1492381/bin.freebsd100x86/p4api.pdf) = 1908708
Index: head/devel/p4api/distinfo.freebsd100x86_64
===================================================================
--- head/devel/p4api/distinfo.freebsd100x86_64
+++ head/devel/p4api/distinfo.freebsd100x86_64
@@ -1,5 +0,0 @@
-TIMESTAMP = 1488697441
-SHA256 (perforce/2016.1.1492381/bin.freebsd100x86_64/p4api.tgz) = 7d7892be5d6895a60e996df15b065eebad98fd7632e668dca4ba80b6f73c6830
-SIZE (perforce/2016.1.1492381/bin.freebsd100x86_64/p4api.tgz) = 4175401
-SHA256 (perforce/2016.1.1492381/bin.freebsd100x86_64/p4api.pdf) = df5e388c2753925d8411d98a14d7b634ef2543d4a0a04a340513e89d887ab57b
-SIZE (perforce/2016.1.1492381/bin.freebsd100x86_64/p4api.pdf) = 1908708
Index: head/devel/p4api/files/patch-Jamrules
===================================================================
--- head/devel/p4api/files/patch-Jamrules
+++ head/devel/p4api/files/patch-Jamrules
@@ -0,0 +1,28 @@
+--- Jamrules.orig 2018-02-01 21:40:54 UTC
++++ Jamrules
+@@ -449,12 +449,11 @@
+ # P4BIN is set to ../p4-bin (relative to P4)
+
+ SubDir AllP4 p4 ; # where we are
+- SubDir AllP4 p4-bin ; # where we want to be
++ SubDir AllP4 p4 p4-bin ; # where we want to be
+ SubDir P4BIN ; # name is that
+ SubDir AllP4 p4 ; # back to where we started
+
+ EXEC_SUB_TOKENS =
+- $(OS:L)$(OSVER:EL)$(OSPLAT:EL)
+ $(BUILD)
+ $(TYPE:L) ;
+
+@@ -931,11 +930,6 @@
+ OPTIM += -Wno-parentheses -Wno-switch -fwrapv ;
+
+ _mflags = ;
+- switch $(OSPLAT:U)
+- {
+- case X86 : _mflags = -m32 ;
+- case X86_64 : _mflags = -m64 ;
+- }
+
+ $(GENFLAGS) += $(_mflags) -pipe ;
+ LINKFLAGS += $(_mflags) ;

File Metadata

Mime Type
text/plain
Expires
Thu, Jun 25, 1:25 AM (5 h, 42 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34298817
Default Alt Text
D14162.id.diff (9 KB)

Event Timeline