summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2021-05-26 21:42:54 +0100
committerRicardo Wurmus <rekado@elephly.net>2021-07-22 11:37:25 +0200
commit2b6dd1bde5bac375d61da8ead1efdf9a164aa787 (patch)
tree192ab47b26c8b154bde0b871d73c24bd89213901 /gnu
parentc5baff179687991c12a0beb514bc6c156f543018 (diff)
downloadguix-2b6dd1bde5bac375d61da8ead1efdf9a164aa787.tar.gz
gnu: Add r-protolite
* gnu/packages/cran.scm: (r-protolite): New variable.

Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cran.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 3fa775d0ee..0558eb2452 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -96,6 +96,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)  ;libsndfile
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages sqlite)
@@ -29822,3 +29823,36 @@ utility operations.")
 format.  It includes an example of hosting and parsing HTML form data in R
 using either @code{httpuv} or @code{Rhttpd}.")
     (license license:expat)))
+
+(define-public r-protolite
+  (package
+    (name "r-protolite")
+    (version "2.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "protolite" version))
+       (sha256
+        (base32 "0mwpdlpxsxbj4s2s30d0w1h4dsg0j1jzzldh8kvxii9lpfkiv2gz"))))
+    (properties `((upstream-name . "protolite")))
+    (build-system r-build-system)
+    (inputs
+     `(("protobuf" ,protobuf)))
+    (propagated-inputs
+     `(("r-jsonlite" ,r-jsonlite)
+       ("r-rcpp" ,r-rcpp)))
+    (native-inputs
+     `(("protobuf" ,protobuf)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/jeroen/protolite")
+    (synopsis "Highly optimized protocol buffer serializers")
+    (description
+     "This package provides pure C++ implementations for reading and writing
+several common data formats based on Google protocol-buffers.  It currently
+supports @code{rexp.proto} for serialized R objects, @code{geobuf.proto} for
+binary geojson, and @code{mvt.proto} for vector tiles.  This package uses the
+auto-generated C++ code by protobuf-compiler, hence the entire serialization
+is optimized at compile time.  The @code{RProtoBuf} package on the other hand
+uses the protobuf runtime library to provide a general-purpose toolkit for
+reading and writing arbitrary protocol-buffer data in R.")
+    (license license:expat)))