;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
-;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; 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.
;;;
(define-public libzen
(package
(name "libzen")
- (version "0.4.37")
+ (version "0.4.38")
(source (origin
(method url-fetch)
;; Warning: This source has proved unreliable 1 time at least.
;; Consider an alternate source or report upstream if this
;; happens again.
(uri (string-append "https://mediaarea.net/download/source/"
- name "/" version "/"
- name "_" version ".tar.bz2"))
+ "libzen/" version "/"
+ "libzen_" version ".tar.bz2"))
(sha256
(base32
- "1dkqbgabzpa6bd7dkqrvd35sdxrhr6qxalb88f3dw0afk65xqb0k"))))
+ "1nkygc17sndznpcf71fdrhwpm8z9a3hc9csqlafwswh49axhfkjr"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
(build-system gnu-build-system)
(arguments
'(#:phases
- ;; build scripts not in root of archive
+ ;; The build scripts are not at the root of the archive.
(modify-phases %standard-phases
(add-after 'unpack 'pre-configure
(lambda _
operating system functions.")
(license license:zlib)))
+(define-public rttr
+ (package
+ (name "rttr")
+ (version "0.9.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rttrorg/rttr/")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1yxad8sj40wi75hny8w6imrsx8wjasjmsipnlq559n4b6kl84ijp"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ '(;; No check target. Setting test-target to "unit_test" runs it twice.
+ #:tests? #f
+ #:configure-flags
+ '("-DBUILD_DOCUMENTATION=OFF" "-DBUILD_EXAMPLES=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ ;; library_test fails in chroot.
+ (add-after 'unpack 'skip-library-test
+ (lambda _
+ (substitute* "src/unit_tests/unit_tests.cmake"
+ (("misc/library_test.cpp") ""))
+ #t)))))
+ (native-inputs `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/rttrorg/rttr/")
+ (synopsis "C++ Reflection Library")
+ (description
+ "RTTR stands for Run Time Type Reflection. It describes the ability of a
+computer program to introspect and modify an object at runtime. It is also
+the name of the library itself, which is written in C++.")
+ (license license:expat)))
+
(define-public rct
(let* ((commit "b3e6f41d9844ef64420e628e0c65ed98278a843a")
(revision "2"))
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/aseba-community/dashel.git")
+ (url "https://github.com/aseba-community/dashel")
(commit version)))
(sha256
(base32 "0anks2l2i2qp0wlzqck1qgpq15a3l6dg8lw2h8s4nsj7f61lffwy"))
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/QuantStack/xsimd.git")
+ (url "https://github.com/QuantStack/xsimd")
(commit version)))
(sha256
(base32 "1ny2qin1j4h35mljivh8z52kwdyjxf4yxlzb8j52ji91v2ccc88j"))
batches.")
(license license:bsd-3)))
+(define-public chaiscript
+ (package
+ (name "chaiscript")
+ (version "6.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ChaiScript/ChaiScript")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0i1c88rn1wwz8nf3dpapcdkk4w623m3nksfy5yjai10k9irkzy3c"))))
+ (build-system cmake-build-system)
+ (home-page "https://chaiscript.com/")
+ (synopsis "Embedded scripting language designed for C++")
+ (description
+ "ChaiScript is one of the only embedded scripting language designed from
+the ground up to directly target C++ and take advantage of modern C++
+development techniques. Being a native C++ application, it has some advantages
+over existing embedded scripting languages:
+
+@enumerate
+@item Uses a header-only approach, which makes it easy to integrate with
+existing projects.
+@item Maintains type safety between your C++ application and the user scripts.
+@item Supports a variety of C++ techniques including callbacks, overloaded
+functions, class methods, and stl containers.
+@end enumerate\n")
+ (license license:bsd-3)))
+
(define-public fifo-map
(let* ((commit "0dfbf5dacbb15a32c43f912a7e66a54aae39d0f9")
(revision "0")
(define-public json-modern-cxx
(package
(name "json-modern-cxx")
- (version "3.7.3")
+ (version "3.9.1")
(home-page "https://github.com/nlohmann/json")
(source
(origin
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(sha256
- (base32
- "04rry1xzis71z5gj1ylcj8b4li5q18zxhcwaviwvi3hx0frzxl9w"))
+ (base32 "0ar4mzp53lskxw3vdzw07f47njcshl3lwid9jfq6l7yx6ds2nyjc"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
(string-append
"#include <fifo_map/" fifo-map-hpp ">")))))
#t))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags
+ (list (string-append "-DJSON_TestDataDirectory="
+ (assoc-ref %build-inputs "json_test_data")))
+ #:phases (modify-phases %standard-phases
+ ;; XXX: When tests are enabled, the install phase will cause
+ ;; a needless rebuild without the given configure flags,
+ ;; ultimately creating both $out/lib and $out/lib64. Move
+ ;; the check phase after install to work around it.
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ ;; Some tests need git and a full checkout, skip those.
+ (invoke "ctest" "-LE" "git_required")
+ (format #t "test suite not run~%"))
+ #t)))))
(native-inputs
`(("amalgamate" ,amalgamate)
- ("doctest" ,doctest)))
+ ("doctest" ,doctest)
+ ("json_test_data"
+ ,(let ((version "3.0.0"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nlohmann/json_test_data")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "json_test_data" version))
+ (sha256
+ (base32
+ "0nzsjzlvk14dazwh7k2jb1dinb0pv9jbx5jsyn264wvva0y7daiv")))))))
(inputs
`(("fifo-map" ,fifo-map)))
- (build-system cmake-build-system)
(synopsis "JSON parser and printer library for C++")
(description "JSON for Modern C++ is a C++ JSON library that provides
intuitive syntax and trivial integration.")
(define-public xtl
(package
(name "xtl")
- (version "0.6.8")
+ (version "0.6.18")
(source (origin
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/QuantStack/xtl.git")
+ (url "https://github.com/QuantStack/xtl")
(commit version)))
(sha256
(base32
- "13gm8vm1b9nzvlcc632f9khnjw1xdjqj6c7k51r173y1hlk0div7"))
+ "0s9gnv1wq0cmpw878dmx0lnci86895hhdrwyc9x8lfbc1hr7ypnh"))
(file-name (git-file-name name version))))
(native-inputs
`(("googletest" ,googletest)
(define-public ccls
(package
(name "ccls")
- (version "0.20190823.5")
+ (version "0.20190823.6")
(source
(origin
(method git-fetch)
(url "https://github.com/MaskRay/ccls")
(commit version)))
(sha256
- (base32 "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5"))
+ (base32 "11h5nwk4qqshf3i8yr4bxpnvmidrhkzd0zxhf1xqv8cv6r08k47f"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
- '(#:tests? #f)) ; no check target.
+ '(#:tests? #f)) ; no check target
(inputs
`(("rapidjson" ,rapidjson)))
(native-inputs
(define-public gperftools
(package
(name "gperftools")
- (version "2.7")
+ (version "2.8")
(source
(origin
(method git-fetch)
(url "https://github.com/gperftools/gperftools")
(commit (string-append "gperftools-" version))))
(sha256
- (base32 "0amvwrzn5qc0b0jpxpy5g6zkmj97zjh4hhjrd130hsg2lwwcwhy1"))
+ (base32 "1rnc53kaxlljgbpsff906vdsry9jl9gcvcnmxgkprwzxq1wipyd0"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
- ;; For tests:
+ ;; For tests.
("perl" ,perl)))
(home-page "https://github.com/gperftools/gperftools")
(synopsis "Multi-threaded malloc() and performance analysis tools for C++")
(define-public cpplint
(package
(name "cpplint")
- (version "1.4.4")
+ (version "1.4.5")
(source
(origin
(method git-fetch)
(url "https://github.com/cpplint/cpplint")
(commit version)))
(sha256
- (base32 "1ns9wbizr10w7rpyp106d7ip68s5nyskr54vw9bij11sci9z0v3j"))
+ (base32 "1yzcxqx0186sh80p0ydl9z0ld51fn2cdpz9hmhrp15j53g9ira7c"))
(file-name (git-file-name name version))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'use-later-pytest
+ (lambda _
+ (substitute* "test-requirements"
+ (("pytest.*") "pytest\n"))
+ #t)))))
(build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-runner" ,python-pytest-runner)))
(home-page "https://github.com/cpplint/cpplint")
(synopsis "Static code checker for C++")
(description "@code{cpplint} is a command-line tool to check C/C++ files
and make @code{cpplint} usable in wider contexts.")
(license license:bsd-3)))
+(define-public reproc
+ (package
+ (name "reproc")
+ (version "14.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/DaanDeMeyer/reproc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1n71wb50qv2dmhjgw7azx5gigbrp19l2n3d41g9p05l5l0y1qg0q"))))
+ (build-system cmake-build-system)
+ (arguments
+ ;; No tests.
+ `(#:tests? #f
+ ;; Enable building of shared library.
+ #:configure-flags `("-DBUILD_SHARED_LIBS=1")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Process IO library")
+ (description "reproc (Redirected Process) is a C/C++ library that
+simplifies starting, stopping and communicating with external programs. The
+main use case is executing command line applications directly from C or C++
+code and retrieving their output.")
+ (home-page "https://github.com/DaanDeMeyer/reproc")
+ (license license:expat)))
+
(define-public sobjectizer
(package
(name "sobjectizer")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/Stiffstream/sobjectizer.git")
+ (url "https://github.com/Stiffstream/sobjectizer")
(commit (string-append "v." version))))
(sha256
(base32 "0jfai7sqxnnjkms38krm7mssj5l79nb3pllkbyj4j581a7l5j6l5"))
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mobius3/tweeny.git")
+ (url "https://github.com/mobius3/tweeny")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public abseil-cpp
(package
(name "abseil-cpp")
- (version "20200225.1")
+ (version "20200225.2")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/abseil/abseil-cpp.git")
+ (url "https://github.com/abseil/abseil-cpp")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "035bffayslawc19q2gmlkr6n6r7k7mvriaq7352rv6gyzaplr98w"))))
+ "0dwxg54pv6ihphbia0iw65r64whd7v8nm4wwhcz219642cgpv54y"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
augment the C++ standard library. The Abseil library code is collected from
Google's C++ code base.")
(license license:asl2.0)))
+
+(define-public pegtl
+ (package
+ (name "pegtl")
+ (version "2.8.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/taocpp/PEGTL")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17crgjfdx55imi2dqnz6xpvsxq07390yfgkz5nd2g77ydkvq9db3"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/taocpp/PEGTL")
+ (synopsis "Parsing Expression Grammar template library")
+ (description "The Parsing Expression Grammar Template Library (PEGTL) is
+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)))