[PATCH] gnu: Add entt.

  • Done
  • quality assurance status badge
Details
2 participants
  • Alexandru-Sergiu Marton
  • Leo Prikler
Owner
unassigned
Submitted by
Alexandru-Sergiu Marton
Severity
normal
A
A
Alexandru-Sergiu Marton wrote on 28 Mar 2021 12:03
(address . guix-patches@gnu.org)(name . Alexandru-Sergiu Marton)(address . brown121407@posteo.ro)
20210328100322.31991-1-brown121407@posteo.ro
* gnu/packages/cpp.scm (entt): New variable.
(entt-fixed-tests): New variable.
---
gnu/packages/cpp.scm | 51 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 50 insertions(+), 1 deletion(-)

Toggle diff (75 lines)
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")))))))
--
2.31.0
L
L
Leo Prikler wrote on 28 Mar 2021 12:44
37142ad6f109e441c543540408997a2353812565.camel@student.tugraz.at
Am Sonntag, den 28.03.2021, 13:03 +0300 schrieb Alexandru-Sergiu
Marton:
Toggle quote (64 lines)
> * 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 :)
Toggle quote (22 lines)
> + (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
A
A
Alexandru-Sergiu Marton wrote on 31 Mar 2021 20:18
(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)(address . 47447@debbugs.gnu.org)
87mtujfaqf.fsf@posteo.ro
Hi,

Leo Prikler writes:

Toggle quote (3 lines)
> 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.

--
Alexandru-Sergiu Marton
A
A
Alexandru-Sergiu Marton wrote on 7 Apr 2021 13:15
[PATCH v2] gnu: Add entt.
(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)(address . 47447@debbugs.gnu.org)
87sg42mjl9.fsf@posteo.ro
I wrote:

Toggle quote (10 lines)
> 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.

The new release indeed came and after a discussion with the maintainer I
managed to get all the tests running too. I'm attaching the a new patch
with the lastest version to this email.

Cheers.

--
Alexandru-Sergiu Marton
From ff79e8c2a8f70cde214a10091747f8e2ae8db052 Mon Sep 17 00:00:00 2001
From: Alexandru-Sergiu Marton <brown121407@posteo.ro>
Date: Sun, 28 Mar 2021 12:56:53 +0300
Subject: [PATCH v2] gnu: Add entt.

* gnu/packages/cpp.scm (entt): New variable.
---
gnu/packages/cpp.scm | 34 +++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)

Toggle diff (58 lines)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 2a00d3838a..be9aa5ff30 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,34 @@ of reading and writing XML.")
;; incompatible with the GPL v2. Refer to the file named FLOSSE for the
;; details.
(license license:gpl2+)))
+
+(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")
+ #:build-type "Debug")) ;; Only tests are compiled; this is needed so
+ ;; that assertions work.
+ (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
--
2.31.0
L
L
Leo Prikler wrote on 7 Apr 2021 13:46
(name . Alexandru-Sergiu Marton)(address . brown121407@posteo.ro)(address . 47447-done@debbugs.gnu.org)
2a2d6c30bd87748859e02d2f382734745da8252f.camel@student.tugraz.at
Hello,
Am Mittwoch, den 07.04.2021, 14:15 +0300 schrieb Alexandru-Sergiu
Marton:
Toggle quote (7 lines)
> The new release indeed came and after a discussion with the
> maintainer I
> managed to get all the tests running too. I'm attaching the a new
> patch
> with the lastest version to this email.
>
> Cheers.
Thanks! I've applied some small cosmetic changes, moved the package to
game-development.scm (where I feel it would fit better) and pushed it
to master.

Regards,
Leo
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 47447@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 47447
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch