From a060977239690bc6fadf45efc55ec61e34f89cac Mon Sep 17 00:00:00 2001 From: Alexandru-Sergiu Marton Date: Sun, 28 Mar 2021 12:56:53 +0300 Subject: gnu: Add entt. * gnu/packages/cpp.scm (entt): New variable. Signed-off-by: Leo Prikler --- gnu/packages/game-development.scm | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index ea879568f5..3e74de449d 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2020, 2021 Nicolas Goaziou ;;; Copyright © 2020 Timotej Lazar ;;; Copyright © 2020 Giacomo Leidi +;;; Copyright © 2021 Alexandru-Sergiu Marton ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +56,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages compression) + #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages fltk) @@ -1761,6 +1763,44 @@ provide high-quality 3D rendering, it contains an animation editor, and can be scripted in a Python-like language.") (license license:expat))) +(define-public entt + (package + (name "entt") + (version "3.7.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skypjack/entt") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nzvnhiw3r6nkmxp749zwxc8kzja09nijyxibdbri3g2i7pysf58")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags (list "-DENTT_BUILD_TESTING=ON" + "-DENTT_FIND_GTEST_PACKAGE=ON" + "-DENTT_BUILD_DOCS=ON") + ;; Only tests are compiled, and they need assertions to work correctly. + #:build-type "Debug")) + (native-inputs + `(;; for testing + ("googletest" ,googletest) + ;; for documentation + ("doxygen" ,doxygen) + ("graphviz" ,graphviz))) + (synopsis "Entity component system") + (description "EnTT is a header-only library, containing (among other things) +@itemize +@item an entity component system based on sparse sets, +@item a configuration system using the monostate pattern, +@item a static reflection system, +@item and a cooperative scheduler. +@end itemize") + (home-page "https://github.com/skypjack/entt") + (license (list license:expat ; code + license:cc-by4.0)))) ; documentation + (define-public eureka (package (name "eureka") -- cgit v1.2.3