Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F160391540
D14162.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
9 KB
Referenced Files
None
Subscribers
None
D14162.id.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D14162: devel/p4 devel/p4api: use the source
Attached
Detach File
Event Timeline
Log In to Comment