diff mbox series

[bug#36182] add freeorion

Message ID 20190613125823.5f51ed34@gmail.com
State Accepted
Headers show
Series [bug#36182] add freeorion | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Jesse Gibbons June 13, 2019, 6:58 p.m. UTC
On Wed, 12 Jun 2019 21:48:52 +0200
Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:

> Hello,
> 
> Jesse Gibbons <jgibbons2357@gmail.com> writes:
> 
> > Patch is attached. -Jesse  
> 
> Thank you! Some comments follow.
> 
> > From cca52f508e84ac34e60a3c5167554d7ad2ad6564 Mon Sep 17 00:00:00
> > 2001 From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
> > Date: Wed, 12 Jun 2019 10:07:32 -0600
> > Subject: [PATCH] add freeorion  
> 
> The commit message is incomplete. It should also include
> 
>     * gnu/packages/games.scm (freeorion): New variable.
> 
> If you use Emacs, there is a template to automatically fill this.
I did not know this. How do I use the template?
>
> > +     (origin
> > +       (method git-fetch)
> > +       (uri (git-reference
> > +             (url "https://github.com/freeorion/freeorion.git")
> > +             (commit
> > "470d0711537804df3c2ca25532f674ab4bec58af")))  
> 
> Why do you need to use the latest commit instead of the latest stable
> release? Unless there is a good reason, Guix prefers using stable
> releases:
The most recent release won't build because it expects a dependency
that no longer exists. I do not know which of the thousands of commits
since then fixed that issue so, I cannot easily generate a patch. It
follows that the best choice is to use the most recent commit, which I
can confirm does not have that critical issue.

I added a comment to explain why I specify the most recent commit. I
also added a note that it should be updated when the next stable
release is available (the maintainers seem to prefer announcing new
releases every September). I will personally update this in
mid-September or October if version 0.4.8.1 or 0.4.9 or 0.5 or 1.0 is
available and no volunteer beats me to it. If you want I can also
request release 0.4.8.1 ASAP so we can specify a release rather than a
commit. I personally prefer to keep the commit and wait three or four
months for the release.
> 
>     (commit version)
> 
> > +       (sha256
> > +        (base32
> > +         "1wsw632l1cj17px6i88nqjzs0dngp5rsr67n6qkkjlfjfxi69j0f"))))
> > +    (arguments
> > +     '(#:tests? #f))  
> 
> You should include a comment explaining why tests are removed. It
> could be, for example,
> 
>     '(#:tests? #f))   ;no test 
> 
> > +    (home-page
> > +     "https://www.freeorion.org/index.php/Main_Page")  
> 
> I think "https://www.freeorion.org" is enough, since it points to the
> page above.
> 
> > +    (description
> > +     "FreeOrion is a free, open source, turn-based space empire
> > and galactic +conquest (4X) computer game being designed and built
> > by the FreeOrion project. +FreeOrion is inspired by the tradition
> > of the Master of Orion games, but is not +a clone or remake of that
> > series or any other game.")  
> 
> It may be useful to explain what the "4X" means, or do not include it
> at all. Note that in the wiki, "4X" is a link, so you can get further
> information.
The link says that 4X refers to a genre of strategy game centered
around conquest. I think the current context is a sufficient
explanation, but I did expand the description. I think it is best to
keep the 4X in the description in case someone tries a search for that
genre.
> 
> > +    (license (list license:gpl2 license:cc-by-sa3.0))))  
> 
> Could you explain, in a comment, why there are two licenses? I assume
> the former is the project, and the latter is for assets.
I added comments to explain these licenses.
> 
> Would you mind sending an updated patch?
> 
> Regards,
> 
Updated patch is attached. Is there anything else you want me to fix?

Comments

Nicolas Goaziou June 13, 2019, 8:56 p.m. UTC | #1
Jesse Gibbons <jgibbons2357@gmail.com> writes:

> On Wed, 12 Jun 2019 21:48:52 +0200
> Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:

>> If you use Emacs, there is a template to automatically fill this.
> I did not know this. How do I use the template?

See "The Perfect Setup" section of the Guix manual, in particular the
part about Yasnippet.

> I added a comment to explain why I specify the most recent commit. I
> also added a note that it should be updated when the next stable
> release is available (the maintainers seem to prefer announcing new
> releases every September). I will personally update this in
> mid-September or October if version 0.4.8.1 or 0.4.9 or 0.5 or 1.0 is
> available and no volunteer beats me to it. If you want I can also
> request release 0.4.8.1 ASAP so we can specify a release rather than a
> commit. I personally prefer to keep the commit and wait three or four
> months for the release.

Fair enough. Thank you for the explanation.

I think we also need a

  (file-name (git-file-name name version))

in the source.

>> > +    (home-page
>> > +     "https://www.freeorion.org/index.php/Main_Page")  
>> 
>> I think "https://www.freeorion.org" is enough, since it points to the
>> page above.

You probably overlooked that remark.

> The link says that 4X refers to a genre of strategy game centered
> around conquest. I think the current context is a sufficient
> explanation, but I did expand the description. I think it is best to
> keep the 4X in the description in case someone tries a search for that
> genre.

OK.

> I added comments to explain these licenses.

According to
<https://www.freeorion.org/index.php/FreeOrionWiki:Copyrights>, the
source code is released under gpl2, artwork, music and sounds, and
in-game text are released under cc-by-sa3.0, and the game content
scripts are released under both gpl2 and cc-by-sa3.0.

So, the comments should include the description above, for completeness.

> Updated patch is attached. Is there anything else you want me to fix?

Great. I'm adding some small remarks, but overall the patch LGTM.

> +;;;Most recent stable release uses boost_signals (v1)
> +;;;which was later replaced with boost-signals2 and
> +;;;no longer exists. This commit builds and runs.
> +;;;TODO: Update this when the next stable release when
> +;;;it is available.

In Scheme, such comments use ";; " as a prefix.

> +             (commit "470d0711537804df3c2ca25532f674ab4bec58af")))
> +       (sha256
> +        (base32
> +         "1wsw632l1cj17px6i88nqjzs0dngp5rsr67n6qkkjlfjfxi69j0f"))))
> +    (arguments
> +     '(#:tests? #f))                    ;no test
> +    (build-system cmake-build-system)
> +    (inputs `(("boost" ,boost)
> +              ("boost_signals" ,boost-signals2)
> +              ("freetype2" ,freetype)
> +              ("python2" ,python-2.7)
> +              ("openal" ,openal)
> +              ("libogg" ,libogg)
> +              ("libvorbis" ,libvorbis)
> +              ("zlib" ,zlib)
> +              ("libpng" ,libpng)
> +              ("sdl2" ,sdl2)
> +              ("glu" ,glu)
> +              ("glew" ,glew)))

Could you re-order inputs alphabetically?

> +    (home-page
> +     "https://www.freeorion.org/index.php/Main_Page")

See above.

Also, don't forget to add yourself to the Hall of Fame at the top of the
"games.scm" file.

Can you send an updated patch? Hopefully I should be able to apply it
then.

Thank you!
diff mbox series

Patch

From 698e471a78e0a4d44ff29f2705e61b15555d2035 Mon Sep 17 00:00:00 2001
From: Jesse Gibbons <jgibbons2357+guix@gmail.com>
Date: Thu, 13 Jun 2019 12:51:46 -0600
Subject: [PATCH] add freeorion * gnu/packages/games.scm (freeorion): New
 variable.

---
 gnu/packages/games.scm | 48 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 7a433a0bfd..194c6f1db9 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7385,3 +7385,51 @@  full of enemies that can hurt it, obstacles and food to be eaten.  The goal of
 the game is to stay alive and collect prizes.  The robot program conveniently
 may be written in a plain text file in the Scheme programming language.")
     (license license:gpl3+)))
+
+(define-public freeorion
+  (package
+    (name "freeorion")
+    (version "0.4.8")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/freeorion/freeorion.git")
+;;;Most recent stable release uses boost_signals (v1)
+;;;which was later replaced with boost-signals2 and
+;;;no longer exists. This commit builds and runs.
+;;;TODO: Update this when the next stable release when
+;;;it is available.
+             (commit "470d0711537804df3c2ca25532f674ab4bec58af")))
+       (sha256
+        (base32
+         "1wsw632l1cj17px6i88nqjzs0dngp5rsr67n6qkkjlfjfxi69j0f"))))
+    (arguments
+     '(#:tests? #f))                    ;no test
+    (build-system cmake-build-system)
+    (inputs `(("boost" ,boost)
+              ("boost_signals" ,boost-signals2)
+              ("freetype2" ,freetype)
+              ("python2" ,python-2.7)
+              ("openal" ,openal)
+              ("libogg" ,libogg)
+              ("libvorbis" ,libvorbis)
+              ("zlib" ,zlib)
+              ("libpng" ,libpng)
+              ("sdl2" ,sdl2)
+              ("glu" ,glu)
+              ("glew" ,glew)))
+    (home-page
+     "https://www.freeorion.org/index.php/Main_Page")
+    (synopsis
+     "Turn-based space empire and galactic conquest computer game")
+    (description
+     "FreeOrion is a free, open source, turn-based space empire and galactic
+conquest (4X) computer game being designed and built by the FreeOrion project.
+Control an empire with the goal of exploring the galaxy, expanding your
+territory, exploiting the resources, and exterminating rival alien empires.
+FreeOrion is inspired by the tradition of the Master of Orion games, but is not
+a clone or remake of that series or any other game.")
+    (license (list
+              license:gpl2              ;game code
+              license:cc-by-sa3.0))))   ;assets
-- 
2.22.0