diff mbox series

[bug#47447] gnu: Add entt.

Message ID 20210328100322.31991-1-brown121407@posteo.ro
State Accepted
Headers show
Series [bug#47447] gnu: Add entt. | expand

Checks

Context Check Description
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Alexandru-Sergiu Marton March 28, 2021, 10:03 a.m. UTC
* gnu/packages/cpp.scm (entt): New variable.
(entt-fixed-tests): New variable.
---
 gnu/packages/cpp.scm | 51 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 50 insertions(+), 1 deletion(-)

Comments

Leo Prikler March 28, 2021, 10:44 a.m. UTC | #1
Am Sonntag, den 28.03.2021, 13:03 +0300 schrieb Alexandru-Sergiu
Marton:
> * gnu/packages/cpp.scm (entt): New variable.
> (entt-fixed-tests): New variable.
> ---
>  gnu/packages/cpp.scm | 51
> +++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 50 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
> index 2a00d3838a..449b4c1c06 100644
> --- a/gnu/packages/cpp.scm
> +++ b/gnu/packages/cpp.scm
> @@ -18,7 +18,7 @@
>  ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
>  ;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
>  ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
> -
> +;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -57,6 +57,7 @@
>    #:use-module (gnu packages curl)
>    #:use-module (gnu packages documentation)
>    #:use-module (gnu packages gcc)
> +  #:use-module (gnu packages graphviz)
>    #:use-module (gnu packages libevent)
>    #:use-module (gnu packages libunwind)
>    #:use-module (gnu packages linux)
> @@ -1211,3 +1212,51 @@ of reading and writing XML.")
>      ;; incompatible with the GPL v2.  Refer to the file named FLOSSE
> for the
>      ;; details.
>      (license license:gpl2+)))
> +
> +;; TODO: Make public and remove the fix below when the next release
> comes and
> +;; fixes the failing tests.
> +(define entt
> +  (package
> +    (name "entt")
> +    (version "3.6.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
> +                "17w0gx6xah8j2d1kc6ly7a8jvkp4jspmn505w724hynlvlx1192
> x"))))
> +    (build-system cmake-build-system)
> +    (arguments
> +     `(#:configure-flags (list "-DENTT_BUILD_TESTING=ON"
> +                               "-DENTT_FIND_GTEST_PACKAGE=ON"
> +                               "-DENTT_BUILD_DOCS=ON")))
> +    (native-inputs
> +     `(("googletest" ,googletest)
> +       ("doxygen" ,doxygen)     ; These two packages are needed for
> +       ("graphviz" ,graphviz))) ; generating the documentation.
> +    (synopsis "Fast and reliable entity component system (ECS)")
> +    (description "EnTT is a header-only, tiny and easy to use
> library for game
> +programming and much more written in modern C++.")
Please cut down on the marketing buzzwords :)
> +    (home-page "https://github.com/skypjack/entt")
> +    (license (list license:expat        ; for the code
> +                   license:cc-by4.0)))) ; for the docs
> +
> +(define-public entt-fixed-tests
> +  ;; This commit fixes two tests that are failing on the 3.6.0
> version.
> +  (let ((commit "14915368c7d4fa87e944cb55ffae1bb88cc6ef4c")
> +        (revision "1"))
> +    (package
> +      (inherit entt)
> +      (name "entt")
> +      (version (git-version "v3.6.0" revision commit))
> +      (source (origin
> +                (inherit (package-source entt))
> +                (uri (git-reference
> +                      (url "https://github.com/skypjack/entt")
> +                      (commit commit)))
> +                (sha256
> +                 (base32
> +                  "1amlr4amj94xnmbdz94292vfkxbl92azsr5s41vcqqjmarwkk
> hfh")))))))
Would it be possible to cherry-pick this commit and add it to the
patches field of entt's origin?

Regards,
Leo
Alexandru-Sergiu Marton March 31, 2021, 6:18 p.m. UTC | #2
Hi,

Leo Prikler writes:

> Would it be possible to cherry-pick this commit and add it to the
> patches field of entt's origin?

I'm inexperienced with cherry-picking. I will try to do it, but the
maintainer mentioned another release might come soon, so if that happens
before I get to figure this out, I will come back with a recipe for the
new version which will contain the fixed tests too.

Cheers.
diff mbox series

Patch

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 2a00d3838a..449b4c1c06 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -18,7 +18,7 @@ 
 ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
 ;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
 ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
-
+;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -57,6 +57,7 @@ 
   #:use-module (gnu packages curl)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libunwind)
   #:use-module (gnu packages linux)
@@ -1211,3 +1212,51 @@  of reading and writing XML.")
     ;; incompatible with the GPL v2.  Refer to the file named FLOSSE for the
     ;; details.
     (license license:gpl2+)))
+
+;; TODO: Make public and remove the fix below when the next release comes and
+;; fixes the failing tests.
+(define entt
+  (package
+    (name "entt")
+    (version "3.6.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
+                "17w0gx6xah8j2d1kc6ly7a8jvkp4jspmn505w724hynlvlx1192x"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags (list "-DENTT_BUILD_TESTING=ON"
+                               "-DENTT_FIND_GTEST_PACKAGE=ON"
+                               "-DENTT_BUILD_DOCS=ON")))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("doxygen" ,doxygen)     ; These two packages are needed for
+       ("graphviz" ,graphviz))) ; generating the documentation.
+    (synopsis "Fast and reliable entity component system (ECS)")
+    (description "EnTT is a header-only, tiny and easy to use library for game
+programming and much more written in modern C++.")
+    (home-page "https://github.com/skypjack/entt")
+    (license (list license:expat        ; for the code
+                   license:cc-by4.0)))) ; for the docs
+
+(define-public entt-fixed-tests
+  ;; This commit fixes two tests that are failing on the 3.6.0 version.
+  (let ((commit "14915368c7d4fa87e944cb55ffae1bb88cc6ef4c")
+        (revision "1"))
+    (package
+      (inherit entt)
+      (name "entt")
+      (version (git-version "v3.6.0" revision commit))
+      (source (origin
+                (inherit (package-source entt))
+                (uri (git-reference
+                      (url "https://github.com/skypjack/entt")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "1amlr4amj94xnmbdz94292vfkxbl92azsr5s41vcqqjmarwkkhfh")))))))