Index: head/devel/p4/Makefile =================================================================== --- head/devel/p4/Makefile (revision 461073) +++ head/devel/p4/Makefile (revision 461074) @@ -1,39 +1,44 @@ # Created by: gordon@FreeBSD.org # $FreeBSD$ PORTNAME= p4 PORTVERSION= ${YEAR}.${MAJOR}.${MINOR} PORTREVISION= 1 CATEGORIES= devel -MASTER_SITES= https://swarm.workshop.perforce.com/projects/perforce_software-p4/archives/:zip +# 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}:zip -EXTRACT_ONLY= ${ZIP_FILES} +DIST_SUBDIR= perforce/p4 +DISTFILES= ${ZIP_FILES} -MAINTAINER= gordon@FreeBSD.org +MAINTAINER= asomers@FreeBSD.org COMMENT= Perforce client LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${JAM}:devel/jam PLIST_FILES= bin/p4 .include .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} ${WRKSRC}/p4-bin/p4 ${STAGEDIR}${PREFIX}/bin .include Index: head/devel/p4/distinfo =================================================================== --- head/devel/p4/distinfo (revision 461073) +++ head/devel/p4/distinfo (revision 461074) @@ -1,3 +1,3 @@ -TIMESTAMP = 1517531476 -SHA256 (2016-1.zip) = 75ee76a2eb1b6a866b61c2e6bd473aa57ff796d8e5e2f2497d219bf5628a4fc7 -SIZE (2016-1.zip) = 2249015 +TIMESTAMP = 1517864594 +SHA256 (perforce/p4/2016-1.zip) = af465c970b5892674089a917ffa3d38f9b878e1ceb32eb73c2e05bd462d5ba63 +SIZE (perforce/p4/2016-1.zip) = 2249015 Index: head/devel/p4api/Makefile =================================================================== --- head/devel/p4api/Makefile (revision 461073) +++ head/devel/p4api/Makefile (revision 461074) @@ -1,55 +1,61 @@ # $FreeBSD$ PORTNAME= p4api PORTVERSION= ${YEAR}.${MAJOR}.${MINOR} PORTREVISION= 1 CATEGORIES= devel -MASTER_SITES= https://swarm.workshop.perforce.com/projects/perforce_software-p4/archives/:zip \ - ftp://ftp.perforce.com/perforce/${P4VERSION}/doc/manuals/p4api/:pdf +# 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:zip \ + ftp://ftp.perforce.com/perforce/${P4VERSION}/doc/manuals/p4api/:pdf \ + https://swarm.workshop.perforce.com/projects/perforce_software-p4/archives/:zip +DIST_SUBDIR= perforce/p4 DISTNAME= ${YEAR}-${MAJOR} DISTFILES= ${ZIP_FILES}:zip p4api.pdf:pdf EXTRACT_ONLY= ${ZIP_FILES} -MAINTAINER= gordon@FreeBSD.org +MAINTAINER= asomers@FreeBSD.org COMMENT= Perforce API (static libraries and header files) LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${JAM}:devel/jam OPTIONS_DEFINE= DOCS EXAMPLES USES= zip WRKSRC= ${WRKDIR}/${DISTNAME} .include .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}/p4-bin/bin.pic/p4api-*/include/p4 && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/include/perforce ${MKDIR} ${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}/p4api.pdf ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/p4api.pdf ${STAGEDIR}${DOCSDIR} do-install-EXAMPLES-on: ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} cd ${WRKSRC}/p4-bin/bin.pic/p4api-*/sample && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} .include Index: head/devel/p4api/distinfo =================================================================== --- head/devel/p4api/distinfo (revision 461073) +++ head/devel/p4api/distinfo (revision 461074) @@ -1,5 +1,5 @@ -TIMESTAMP = 1517528733 -SHA256 (2016-1.zip) = 75ee76a2eb1b6a866b61c2e6bd473aa57ff796d8e5e2f2497d219bf5628a4fc7 -SIZE (2016-1.zip) = 2249015 -SHA256 (p4api.pdf) = df5e388c2753925d8411d98a14d7b634ef2543d4a0a04a340513e89d887ab57b -SIZE (p4api.pdf) = 1908708 +TIMESTAMP = 1517863861 +SHA256 (perforce/p4/2016-1.zip) = af465c970b5892674089a917ffa3d38f9b878e1ceb32eb73c2e05bd462d5ba63 +SIZE (perforce/p4/2016-1.zip) = 2249015 +SHA256 (perforce/p4/p4api.pdf) = df5e388c2753925d8411d98a14d7b634ef2543d4a0a04a340513e89d887ab57b +SIZE (perforce/p4/p4api.pdf) = 1908708