diff options
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r-- | gnu/packages/cpp.scm | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index ae1e3e3356..dba9ec75f6 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -6,6 +6,8 @@ ;;; Copyright © 2019 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> ;;; ;;; This file is part of GNU Guix. ;;; @@ -410,3 +412,75 @@ SObjectizer supports not only the Actor Model but also the Publish-Subscribe Model and CSP-like channels. The goal of SObjectizer is to simplify development of concurrent and multithreaded applications in C++.") (license license:bsd-3))) + +(define-public tweeny + (package + (name "tweeny") + (version "3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mobius3/tweeny.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1adm4c17pi7xf3kf6sjyxibz5rdg1ka236p72xsm6js4j9gzlbp4")))) + (arguments + '(#:tests? #f)) ;no check target + (build-system cmake-build-system) + (home-page "https://mobius3.github.io/tweeny/") + (synopsis "Modern C++ tweening library") + (description "@code{Tweeny} is an inbetweening library designed for the +creation of complex animations for games and other beautiful interactive +software. It leverages features of modern @code{C++} to empower developers with +an intuitive API for declaring tweenings of any type of value, as long as they +support arithmetic operations. The goal of @code{Tweeny} is to provide means to +create fluid interpolations when animating position, scale, rotation, frames or +other values of screen objects, by setting their values as the tween starting +point and then, after each tween step, plugging back the result.") + (license license:expat))) + +(define-public abseil-cpp + (package + (name "abseil-cpp") + (version "20200225") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abseil/abseil-cpp.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wb04pszzrl39ny1pz9jvvq8lbbm355dd60jspcyqfwxnk6njgd1")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" + "-DABSL_RUN_TESTS=ON" + ;; Needed, else we get errors like: + ;; + ;; ld: CMakeFiles/absl_periodic_sampler_test.dir/internal/periodic_sampler_test.cc.o: + ;; undefined reference to symbol '_ZN7testing4Mock16UnregisterLockedEPNS_8internal25UntypedFunctionMockerBaseE' + ;; ld: /gnu/store/bxapb1f1l8frjpbjckk3zdxhmcig3xzk-googletest-1.10.0/lib/libgmock.so: + ;; error adding symbols: DSO missing from command line + ;; collect2: error: ld returned 1 exit status + "-DCMAKE_EXE_LINKER_FLAGS=-lgtest -lpthread -lgmock") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'remove-gtest-check + ;; The CMakeLists fails to find our googletest for some reason, but + ;; it works nonetheless. + (lambda _ + (substitute* "CMakeLists.txt" + (("check_target\\(gtest\\)") "") + (("check_target\\(gtest_main\\)") "") + (("check_target\\(gmock\\)") ""))))))) + (native-inputs + `(("googletest" ,googletest))) + (home-page "https://abseil.io") + (synopsis "Augmented C++ standard library") + (description "Abseil is a collection of C++ library code designed to +augment the C++ standard library. The Abseil library code is collected from +Google's C++ code base.") + (license license:asl2.0))) |