Index: head/devel/Makefile =================================================================== --- head/devel/Makefile +++ head/devel/Makefile @@ -133,6 +133,7 @@ SUBDIR += arm-none-eabi-gdb SUBDIR += arm-none-eabi-newlib SUBDIR += aros-sdk + SUBDIR += arpc SUBDIR += art SUBDIR += artifactory SUBDIR += as31 Index: head/devel/arpc/Makefile =================================================================== --- head/devel/arpc/Makefile +++ head/devel/arpc/Makefile @@ -0,0 +1,39 @@ +# Created by: Ed Schouten +# $FreeBSD$ + +PORTNAME= arpc +DISTVERSIONPREFIX= v +DISTVERSION= 0.5 +CATEGORIES= devel + +MAINTAINER= ed@FreeBSD.org +COMMENT= GRPC-like RPC library that supports file descriptor passing + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyPEG2>=2.15.2:textproc/py3-pyPEG2 \ + ${PYTHON_PKGNAMEPREFIX}toposort>=1.5:devel/py3-toposort +LIB_DEPENDS= libargdata.so:devel/argdata +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyPEG2>=2.15.2:textproc/py3-pyPEG2 \ + ${PYTHON_PKGNAMEPREFIX}toposort>=1.5:devel/py3-toposort + +USES= cmake localbase:ldflags python:3 tar:xz +USE_LDCONFIG= yes +USE_GITHUB= yes +GH_ACCOUNT= NuxiNL + +PLIST_FILES= bin/aprotoc include/arpc++/arpc++.h \ + lib/libarpc.so lib/libarpc.so.1 + +.include + +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1100511 +IGNORE= requires various C++17 features +.endif + +# Require the unit tests to pass prior to installing. +post-build: + @trap '' PIPE && ${WRKSRC}/arpc_tests + +.include Index: head/devel/arpc/distinfo =================================================================== --- head/devel/arpc/distinfo +++ head/devel/arpc/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1502895324 +SHA256 (NuxiNL-arpc-v0.5_GH0.tar.gz) = 754853d37d83138e62f23eff95be8b3fa200238387d83e83453e6a5519458bed +SIZE (NuxiNL-arpc-v0.5_GH0.tar.gz) = 1301060 Index: head/devel/arpc/pkg-descr =================================================================== --- head/devel/arpc/pkg-descr +++ head/devel/arpc/pkg-descr @@ -0,0 +1,10 @@ +ARPC is a GRPC-like library that supports file descriptor passing. + +ARPC ships with a script, aprotoc, that works similar to Protobuf/GRPC's +protoc. It generates message and service bindings, taking a .proto file +as an input. Where ARPC differs from GRPC is that messages may contain +file descriptors. These file descriptors are passed on to the remote +side transparently. This makes ARPC useful for implementing privilege +separation between processes. + +WWW: https://github.com/NuxiNL/arpc