summaryrefslogtreecommitdiff
path: root/gnu/packages/cpp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r--gnu/packages/cpp.scm85
1 files changed, 83 insertions, 2 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 003883e1a5..f51e83283f 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
+;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -40,12 +41,22 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
+ #:use-module (gnu packages gcc)
+ #:use-module (gnu packages libevent)
+ #:use-module (gnu packages libunwind)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
+ #:use-module (gnu packages logging)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages popt)
+ #:use-module (gnu packages pretty-print)
#:use-module (gnu packages tls)
#:use-module (gnu packages web))
@@ -361,7 +372,7 @@ intuitive syntax and trivial integration.")
(define-public xtl
(package
(name "xtl")
- (version "0.6.18")
+ (version "0.6.19")
(source (origin
(method git-fetch)
(uri
@@ -370,7 +381,7 @@ intuitive syntax and trivial integration.")
(commit version)))
(sha256
(base32
- "0s9gnv1wq0cmpw878dmx0lnci86895hhdrwyc9x8lfbc1hr7ypnh"))
+ "1g98lfrp13fqfqrirg0rw90m7bajmjmy12yhrlj5jzwcby4dfs81"))
(file-name (git-file-name name version))))
(native-inputs
`(("googletest" ,googletest)
@@ -647,3 +658,73 @@ Google's C++ code base.")
a zero-dependency C++ header-only parser combinator library for creating
parsers according to a Parsing Expression Grammar (PEG).")
(license license:expat)))
+
+(define-public cxxopts
+ (package
+ (name "cxxopts")
+ (version "2.2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jarro2783/cxxopts")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0d3y747lsh1wkalc39nxd088rbypxigm991lk3j91zpn56whrpha"))))
+ (build-system cmake-build-system)
+ (synopsis "Lightweight C++ command line option parser")
+ (description
+ "A lightweight header-only C++ option parser library, supporting the
+standard GNU style syntax for options.")
+ (home-page "https://github.com/jarro2783/cxxopts/wiki")
+ (license license:expat)))
+
+(define-public folly
+ (package
+ (name "folly")
+ (version "2020.10.05.00")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/facebook/folly")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0q4w4cvjxffc462hvs8h4zryq4965j7015zvkwagcm6cj6wmz3cn"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(;; Tests must be explicitly enabled
+ ;;#:configure-flags '("-DBUILD_TESTS=ON")))
+ ;; Leave tests disabled; see https://github.com/facebook/folly/issues/1456
+ #:tests? #f))
+ (propagated-inputs
+ `(("boost" ,boost)
+ ("gflags" ,gflags)
+ ("glog" ,glog)
+ ("liburing" ,liburing)))
+ (inputs
+ `(("bzip2" ,bzip2)
+ ("double-conversion" ,double-conversion)
+ ("fmt" ,fmt)
+ ("libaio" ,libaio)
+ ("libevent" ,libevent)
+ ("libiberty" ,libiberty)
+ ("libsodium" ,libsodium)
+ ("libunwind" ,libunwind)
+ ("lz4" ,lz4)
+ ("openssl" ,openssl)
+ ("snappy" ,snappy)
+ ("zlib" ,zlib)
+ ("zstd" ,zstd "lib")))
+ (native-inputs
+ `(("googletest" ,googletest)))
+ (synopsis "Collection of C++ components complementing the standard library")
+ (description
+ "Folly (acronymed loosely after Facebook Open Source Library) is a library
+of C++14 components that complements @code{std} and Boost.")
+ (home-page "https://github.com/facebook/folly/wiki")
+ ;; 32-bit is not supported: https://github.com/facebook/folly/issues/103
+ (supported-systems '("aarch64-linux" "x86_64-linux"))
+ (license license:asl2.0)))