Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Mar 2014 00:00:42 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r349379 - in head/security: . keybase
Message-ID:  <201403280000.s2S00gPt055240@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Fri Mar 28 00:00:42 2014
New Revision: 349379
URL: http://svnweb.freebsd.org/changeset/ports/349379
QAT: https://qat.redports.org/buildarchive/r349379/

Log:
  Add new port security/keybase.
  
    Keybase.io CLI client.
  
    Keybase will be a public directory of publicly auditable public
    keys. All paired, for convenience, with unique usernames.
  
  WWW: https://keybase.io

Added:
  head/security/keybase/
  head/security/keybase/Makefile   (contents, props changed)
  head/security/keybase/distinfo   (contents, props changed)
  head/security/keybase/pkg-descr   (contents, props changed)
Modified:
  head/security/Makefile

Modified: head/security/Makefile
==============================================================================
--- head/security/Makefile	Thu Mar 27 23:52:21 2014	(r349378)
+++ head/security/Makefile	Fri Mar 28 00:00:42 2014	(r349379)
@@ -238,6 +238,7 @@
     SUBDIR += kedpm
     SUBDIR += keepassx
     SUBDIR += keepassx2
+    SUBDIR += keybase
     SUBDIR += keychain
     SUBDIR += keynote
     SUBDIR += keyprint

Added: head/security/keybase/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/keybase/Makefile	Fri Mar 28 00:00:42 2014	(r349379)
@@ -0,0 +1,78 @@
+# $FreeBSD$
+
+PORTNAME=	keybase
+DISTVERSION=	v0.2.0
+CATEGORIES=	security
+MASTER_SITES=	GH \
+		LOCAL/bdrewery/${PORTNAME}/:DEFAULT,deps \
+		http://mirror.shatow.net/freebsd/${PORTNAME}/:DEFAULT,deps
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX} \
+		${DEP_DIST}:deps
+
+MAINTAINER=	bdrewery@freebsd.org
+COMMENT=	Keybase.io client
+
+LICENSE=	BSD3CLAUSE
+
+BUILD_DEPENDS=	npm>=0:${PORTSDIR}/www/npm
+RUN_DEPENDS=	node>=0:${PORTSDIR}/www/node \
+		gpg:${PORTSDIR}/security/gnupg
+
+# Must bundle deps.
+# 1. They are not in ports and doing so creates a large complex task with little
+#    benefit requiring a lot of maintenance. Hopefully someday we will have
+#    an npm wrapper similar to BSDPAN.
+# 2. npm has absolutely no way to fetch dependencies without installing at the
+#    same time so this would not build on poudriere due to network restrictions
+#    outside of 'fetch' phase. See https://github.com/npm/npm/issues/2817
+# 3. A date is used as dependencies can upgrade even without keybase changing
+#    anything due to dependency patterns not binding to specific versions in
+#    package.json. I.e., even if the problem of fetching dependencies is
+#    solved, we want this package to be reproducible.
+DEP_DIST_DATE=	20140327
+DEP_DIST_DFMT=	%Y%m%d
+DEP_DIST_PRE=	${PORTNAME}-deps-${PORTVERSION}-${GH_COMMIT}-
+DEP_DIST_POST=	.txz
+DEP_DIST=	${DEP_DIST_PRE}${DEP_DIST_DATE}${DEP_DIST_POST}
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	keybase
+GH_PROJECT=	node-client
+GH_COMMIT=	9509986
+
+KEYBASE_PREFIX=	${PREFIX}/libexec/${PORTNAME}
+
+# Generate dependency distfile. This is only used by maintainer.
+makedeps: patch
+	cd ${WRKSRC} && \
+	  ${RM} -rf node_modules && \
+	  dep_fname="${DEP_DIST_PRE}`/bin/date '+${DEP_DIST_DFMT}'`${DEP_DIST_POST}" && \
+	  tar -cJf $${dep_fname} node_modules/ && \
+	  ${MV} -f $${dep_fname} ${_DISTDIR}/ && \
+	  cd ${.CURDIR} && \
+	  ${MAKE} makesum
+
+post-extract:
+	@${MV} ${WRKDIR}/node_modules ${WRKSRC}/node_modules
+
+add-plist-post: npm-auto-plist
+
+npm-auto-plist:
+	@{ \
+	  ${ECHO_CMD} "bin/${PORTNAME}"; \
+	  ${FIND} ${STAGEDIR}${KEYBASE_PREFIX} -type f -or -type l; \
+	  ${FIND} ${STAGEDIR}${KEYBASE_PREFIX} -type d -d | ${SED} -e 's,^,@dirrm ,'; \
+	} | ${SED} 's,${STAGEDIR}${PREFIX}/,,' >> ${TMPPLIST}
+
+do-install:
+	@${MKDIR} ${WRKDIR}/tmp ${STAGEDIR}${KEYBASE_PREFIX}/lib
+	cd ${STAGEDIR}${KEYBASE_PREFIX}/lib && ${SETENV} HOME=${WRKDIR}/tmp \
+	  ${LOCALBASE}/bin/npm install ${WRKSRC}
+	${LN} -s ${KEYBASE_PREFIX}/lib/node_modules/${PORTNAME}/bin/main.js \
+	  ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+# Quiet stage-qa
+post-install:
+	@${RM} ${STAGEDIR}${KEYBASE_PREFIX}/lib/node_modules/keybase/node_modules/request/node_modules/node-uuid/benchmark/bench.sh
+
+.include <bsd.port.mk>

Added: head/security/keybase/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/keybase/distinfo	Fri Mar 28 00:00:42 2014	(r349379)
@@ -0,0 +1,4 @@
+SHA256 (keybase-v0.2.0.tar.gz) = 4ca20da5e5f371e63521a838416da73ff54deeae7c71a1441670f9322ddbe723
+SIZE (keybase-v0.2.0.tar.gz) = 594085
+SHA256 (keybase-deps-v0.2.0-9509986-20140327.txz) = 886220149b109ac1face08976837259f7a021f08c02e663d637327b546adbb08
+SIZE (keybase-deps-v0.2.0-9509986-20140327.txz) = 1946868

Added: head/security/keybase/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/security/keybase/pkg-descr	Fri Mar 28 00:00:42 2014	(r349379)
@@ -0,0 +1,6 @@
+Keybase.io CLI client.
+
+Keybase will be a public directory of publicly auditable public
+keys. All paired, for convenience, with unique usernames.
+
+WWW: https://keybase.io/__/command_line/keybase#basics



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403280000.s2S00gPt055240>