diff options
author | ed <ed@FreeBSD.org> | 2017-09-07 13:53:27 +0800 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2017-09-07 13:53:27 +0800 |
commit | 2e775f008168b4244721f044e5cf1fdcaf93dcfb (patch) | |
tree | c62e4f96119e4372f7221c869a71125779a9a601 | |
parent | cce4631057473c48e426ac984b843c5d88d23ed7 (diff) | |
download | freebsd-ports-gnome-2e775f008168b4244721f044e5cf1fdcaf93dcfb.tar.gz freebsd-ports-gnome-2e775f008168b4244721f044e5cf1fdcaf93dcfb.tar.zst freebsd-ports-gnome-2e775f008168b4244721f044e5cf1fdcaf93dcfb.zip |
Add a package for ARPC.
ARPC is an RPC library similar to GRPC. Though a lot simpler than GRPC
featurewise, it has transparent support for file descriptor passing.
ARPC is used by some applications related to CloudABI, like Flower
(CloudABI's networking daemon).
Reviewed by: riggs
Differential Revision: https://reviews.freebsd.org/D12103
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/arpc/Makefile | 39 | ||||
-rw-r--r-- | devel/arpc/distinfo | 3 | ||||
-rw-r--r-- | devel/arpc/pkg-descr | 10 |
4 files changed, 53 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index d01587d2d5eb..71aaec1c516e 100644 --- a/devel/Makefile +++ b/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 diff --git a/devel/arpc/Makefile b/devel/arpc/Makefile new file mode 100644 index 000000000000..12e7efc68018 --- /dev/null +++ b/devel/arpc/Makefile @@ -0,0 +1,39 @@ +# Created by: Ed Schouten <ed@FreeBSD.org> +# $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 <bsd.port.pre.mk> + +.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 <bsd.port.post.mk> diff --git a/devel/arpc/distinfo b/devel/arpc/distinfo new file mode 100644 index 000000000000..c87cb4fc0b29 --- /dev/null +++ b/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 diff --git a/devel/arpc/pkg-descr b/devel/arpc/pkg-descr new file mode 100644 index 000000000000..55d6fb8ba99d --- /dev/null +++ b/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 |