diff mbox series

[bug#49284] gnu: Add fheroes2

Message ID 87h7hf52c7.fsf@trop.in
State Accepted
Headers show
Series [bug#49284] gnu: Add fheroes2 | expand

Checks

Context Check Description
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

Andrew Tropin June 30, 2021, 5:49 a.m. UTC
* gnu/packages/games.scm (fheroes2): New variable.
---
 There are no tests in the project, so they are disabled.

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

Comments

Leo Prikler June 30, 2021, 9:03 a.m. UTC | #1
Am Mittwoch, den 30.06.2021, 08:49 +0300 schrieb Andrew Tropin:
> * gnu/packages/games.scm (fheroes2): New variable.
> ---
>  There are no tests in the project, so they are disabled.
#:tests? #f should always be documented inside the code
>  gnu/packages/games.scm | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> index 83cb738b9c..7a87123df3 100644
> --- a/gnu/packages/games.scm
> +++ b/gnu/packages/games.scm
> @@ -12511,3 +12511,33 @@ wreckage.  You're stranded on a desert
> island and have to survive.  In order to
>  do so you need to explore the island, find food, build a shelter and
> try to
>  get attention, so you get found.")
>        (license license:cc-by4.0))))
> +
> +(define-public fheroes2
> +  (package
> +    (name "fheroes2")
> +    (version "0.9.4")
> +    (build-system cmake-build-system)
> +    (arguments
> +     `(#:tests? #f
Add a comment here along the lines of "no tests" or "no check target".
> +       #:make-flags '("FHEROES2_STRICT_COMPILATION=1"
> +                      "RELEASE=1")))
> +    (native-inputs
> +     `(("gettext" ,gettext-minimal)))
> +    (inputs
> +     `(("zlib" ,zlib)
> +       ("libpng" ,libpng)
> +       ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-
> ttf)))))
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/ihhub/fheroes2")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "0a3xi3k7ngp0byhmg7wq22l1hix3jwr68prk2y6frqhzbfskrvy
> g"))))
> +    (home-page "https://ihhub.github.io/fheroes2/")
> +    (synopsis "Turn-based strategy game engine")
> +    (description "Free implementation of Heroes of Might and Magic
> II (aka
> +HOMM2) game engine.")
> +    (license license:gpl2)))
The description is a bit lacking in information.  Is this engine
usable?  If so, how?  We ought not to steer users towards non-free
software.

Regards,
Leo
Andrew Tropin June 30, 2021, 10:20 a.m. UTC | #2
Leo Prikler <leo.prikler@student.tugraz.at> writes:

> Am Mittwoch, den 30.06.2021, 08:49 +0300 schrieb Andrew Tropin:
>> * gnu/packages/games.scm (fheroes2): New variable.
>> ---
>>  There are no tests in the project, so they are disabled.
> #:tests? #f should always be documented inside the code
>>  gnu/packages/games.scm | 30 ++++++++++++++++++++++++++++++
>>  1 file changed, 30 insertions(+)
>> 
>> diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
>> index 83cb738b9c..7a87123df3 100644
>> --- a/gnu/packages/games.scm
>> +++ b/gnu/packages/games.scm
>> @@ -12511,3 +12511,33 @@ wreckage.  You're stranded on a desert
>> island and have to survive.  In order to
>>  do so you need to explore the island, find food, build a shelter and
>> try to
>>  get attention, so you get found.")
>>        (license license:cc-by4.0))))
>> +
>> +(define-public fheroes2
>> +  (package
>> +    (name "fheroes2")
>> +    (version "0.9.4")
>> +    (build-system cmake-build-system)
>> +    (arguments
>> +     `(#:tests? #f
> Add a comment here along the lines of "no tests" or "no check target".
>> +       #:make-flags '("FHEROES2_STRICT_COMPILATION=1"
>> +                      "RELEASE=1")))
>> +    (native-inputs
>> +     `(("gettext" ,gettext-minimal)))
>> +    (inputs
>> +     `(("zlib" ,zlib)
>> +       ("libpng" ,libpng)
>> +       ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-
>> ttf)))))
>> +    (source (origin
>> +              (method git-fetch)
>> +              (uri (git-reference
>> +                    (url "https://github.com/ihhub/fheroes2")
>> +                    (commit version)))
>> +              (file-name (git-file-name name version))
>> +              (sha256
>> +               (base32
>> +                "0a3xi3k7ngp0byhmg7wq22l1hix3jwr68prk2y6frqhzbfskrvy
>> g"))))
>> +    (home-page "https://ihhub.github.io/fheroes2/")
>> +    (synopsis "Turn-based strategy game engine")
>> +    (description "Free implementation of Heroes of Might and Magic
>> II (aka
>> +HOMM2) game engine.")
>> +    (license license:gpl2)))
> The description is a bit lacking in information.  Is this engine
> usable?  If so, how?  We ought not to steer users towards non-free
> software.

Yep, it's usable.  It requires game resources (assets like music, maps,
sprites), the assets from original game is not distributed with it
because of legal reasons I suppose, but AFAIK nothing stops people from
creating their own set of assets to use with this game engine.  Also,
taking only assets from original game and using them with this engine
will help people not to use unfree software.

Added comment, updated description.
Leo Prikler June 30, 2021, 10:48 a.m. UTC | #3
Am Mittwoch, den 30.06.2021, 13:20 +0300 schrieb Andrew Tropin:
> Leo Prikler <leo.prikler@student.tugraz.at> writes:
> 
> > Am Mittwoch, den 30.06.2021, 08:49 +0300 schrieb Andrew Tropin:
> > > * gnu/packages/games.scm (fheroes2): New variable.
> > > ---
> > >  There are no tests in the project, so they are disabled.
> > #:tests? #f should always be documented inside the code
> > >  gnu/packages/games.scm | 30 ++++++++++++++++++++++++++++++
> > >  1 file changed, 30 insertions(+)
> > > 
> > > diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
> > > index 83cb738b9c..7a87123df3 100644
> > > --- a/gnu/packages/games.scm
> > > +++ b/gnu/packages/games.scm
> > > @@ -12511,3 +12511,33 @@ wreckage.  You're stranded on a desert
> > > island and have to survive.  In order to
> > >  do so you need to explore the island, find food, build a shelter
> > > and
> > > try to
> > >  get attention, so you get found.")
> > >        (license license:cc-by4.0))))
> > > +
> > > +(define-public fheroes2
> > > +  (package
> > > +    (name "fheroes2")
> > > +    (version "0.9.4")
> > > +    (build-system cmake-build-system)
> > > +    (arguments
> > > +     `(#:tests? #f
> > Add a comment here along the lines of "no tests" or "no check
> > target".
> > > +       #:make-flags '("FHEROES2_STRICT_COMPILATION=1"
> > > +                      "RELEASE=1")))
> > > +    (native-inputs
> > > +     `(("gettext" ,gettext-minimal)))
> > > +    (inputs
> > > +     `(("zlib" ,zlib)
> > > +       ("libpng" ,libpng)
> > > +       ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-
> > > ttf)))))
> > > +    (source (origin
> > > +              (method git-fetch)
> > > +              (uri (git-reference
> > > +                    (url "https://github.com/ihhub/fheroes2")
> > > +                    (commit version)))
> > > +              (file-name (git-file-name name version))
> > > +              (sha256
> > > +               (base32
> > > +                "0a3xi3k7ngp0byhmg7wq22l1hix3jwr68prk2y6frqhzbfs
> > > krvy
> > > g"))))
> > > +    (home-page "https://ihhub.github.io/fheroes2/")
> > > +    (synopsis "Turn-based strategy game engine")
> > > +    (description "Free implementation of Heroes of Might and
> > > Magic
> > > II (aka
> > > +HOMM2) game engine.")
> > > +    (license license:gpl2)))
> > The description is a bit lacking in information.  Is this engine
> > usable?  If so, how?  We ought not to steer users towards non-free
> > software.
> 
> Yep, it's usable.  It requires game resources (assets like music,
> maps,
> sprites), the assets from original game is not distributed with it
> because of legal reasons I suppose, but AFAIK nothing stops people
> from
> creating their own set of assets to use with this game engine.  Also,
> taking only assets from original game and using them with this engine
> will help people not to use unfree software.
> 
> Added comment, updated description.
Without a package providing those assets, this is still pretty much
"here, go seek out this nonfree software thingy for assets".  This is
not to say, that we can never ever ship fheroes2, but I'd personally
hold back on it until we can package some fheroes2-data to make it
useful without requiring people seek out these assets.

This is just my own opinion however, and it's certainly not reflected
all over guix source.  For instance, both oshu and stepmania require
beatmaps and stepfiles respectively to be useful and ship without them
while most of what you'll find online will be somewhat dubious in terms
of copyright.  However, both also offer the tools to create those using
your own (hopefully GPL-compatible) album collection, so it's not a big
problem.  I don't think fheroes2 has that low of an entry barrier to
full playability, does it?
Andrew Tropin June 30, 2021, 11:22 a.m. UTC | #4
Leo Prikler <leo.prikler@student.tugraz.at> writes:

> Am Mittwoch, den 30.06.2021, 13:20 +0300 schrieb Andrew Tropin:
>> Leo Prikler <leo.prikler@student.tugraz.at> writes:
>> 
>> > Am Mittwoch, den 30.06.2021, 08:49 +0300 schrieb Andrew Tropin:
>> > > * gnu/packages/games.scm (fheroes2): New variable.
>> > > ---
>> > >  There are no tests in the project, so they are disabled.
>> > #:tests? #f should always be documented inside the code
>> > >  gnu/packages/games.scm | 30 ++++++++++++++++++++++++++++++
>> > >  1 file changed, 30 insertions(+)
>> > > 
>> > > diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
>> > > index 83cb738b9c..7a87123df3 100644
>> > > --- a/gnu/packages/games.scm
>> > > +++ b/gnu/packages/games.scm
>> > > @@ -12511,3 +12511,33 @@ wreckage.  You're stranded on a desert
>> > > island and have to survive.  In order to
>> > >  do so you need to explore the island, find food, build a shelter
>> > > and
>> > > try to
>> > >  get attention, so you get found.")
>> > >        (license license:cc-by4.0))))
>> > > +
>> > > +(define-public fheroes2
>> > > +  (package
>> > > +    (name "fheroes2")
>> > > +    (version "0.9.4")
>> > > +    (build-system cmake-build-system)
>> > > +    (arguments
>> > > +     `(#:tests? #f
>> > Add a comment here along the lines of "no tests" or "no check
>> > target".
>> > > +       #:make-flags '("FHEROES2_STRICT_COMPILATION=1"
>> > > +                      "RELEASE=1")))
>> > > +    (native-inputs
>> > > +     `(("gettext" ,gettext-minimal)))
>> > > +    (inputs
>> > > +     `(("zlib" ,zlib)
>> > > +       ("libpng" ,libpng)
>> > > +       ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-
>> > > ttf)))))
>> > > +    (source (origin
>> > > +              (method git-fetch)
>> > > +              (uri (git-reference
>> > > +                    (url "https://github.com/ihhub/fheroes2")
>> > > +                    (commit version)))
>> > > +              (file-name (git-file-name name version))
>> > > +              (sha256
>> > > +               (base32
>> > > +                "0a3xi3k7ngp0byhmg7wq22l1hix3jwr68prk2y6frqhzbfs
>> > > krvy
>> > > g"))))
>> > > +    (home-page "https://ihhub.github.io/fheroes2/")
>> > > +    (synopsis "Turn-based strategy game engine")
>> > > +    (description "Free implementation of Heroes of Might and
>> > > Magic
>> > > II (aka
>> > > +HOMM2) game engine.")
>> > > +    (license license:gpl2)))
>> > The description is a bit lacking in information.  Is this engine
>> > usable?  If so, how?  We ought not to steer users towards non-free
>> > software.
>> 
>> Yep, it's usable.  It requires game resources (assets like music,
>> maps,
>> sprites), the assets from original game is not distributed with it
>> because of legal reasons I suppose, but AFAIK nothing stops people
>> from
>> creating their own set of assets to use with this game engine.  Also,
>> taking only assets from original game and using them with this engine
>> will help people not to use unfree software.
>> 
>> Added comment, updated description.
> Without a package providing those assets, this is still pretty much
> "here, go seek out this nonfree software thingy for assets".  This is
> not to say, that we can never ever ship fheroes2, but I'd personally
> hold back on it until we can package some fheroes2-data to make it
> useful without requiring people seek out these assets.
>
> This is just my own opinion however, and it's certainly not reflected
> all over guix source.  For instance, both oshu and stepmania require
> beatmaps and stepfiles respectively to be useful and ship without them
> while most of what you'll find online will be somewhat dubious in terms
> of copyright.  However, both also offer the tools to create those using
> your own (hopefully GPL-compatible) album collection, so it's not a big
> problem.  I don't think fheroes2 has that low of an entry barrier to
> full playability, does it?

Y, probably it's not easy to find free assets.  Still can be useful for
people, who already have a CD with the original game, but do not want to
use unfree software or even for people, who would buy it to get resource
from it.

Feels kinda on the edge:
On the one hand it can nudge someone to buy or obtain a bundle with
unfree software inside to extract resources from it.  On the other hand
it helps not to use unfree software.

I think it's more towards steering people from unfree to free software,
but I can be wrong.

Anyway, I trust your expertise on this topic and will accept your
descision to hold it back if you think it's necessary to have
fheroes2-data created/packaged first.
Nicolas Goaziou July 2, 2021, 9:11 a.m. UTC | #5
Hello,

Andrew Tropin <andrew@trop.in> writes:

> Leo Prikler <leo.prikler@student.tugraz.at> writes:

>> Without a package providing those assets, this is still pretty much
>> "here, go seek out this nonfree software thingy for assets".  This is
>> not to say, that we can never ever ship fheroes2, but I'd personally
>> hold back on it until we can package some fheroes2-data to make it
>> useful without requiring people seek out these assets.
>>
>> This is just my own opinion however, and it's certainly not reflected
>> all over guix source.  For instance, both oshu and stepmania require
>> beatmaps and stepfiles respectively to be useful and ship without them
>> while most of what you'll find online will be somewhat dubious in terms
>> of copyright.  However, both also offer the tools to create those using
>> your own (hopefully GPL-compatible) album collection, so it's not a big
>> problem.  I don't think fheroes2 has that low of an entry barrier to
>> full playability, does it?
>
> Y, probably it's not easy to find free assets.  Still can be useful for
> people, who already have a CD with the original game, but do not want to
> use unfree software or even for people, who would buy it to get resource
> from it.
>
> Feels kinda on the edge:
> On the one hand it can nudge someone to buy or obtain a bundle with
> unfree software inside to extract resources from it.  On the other hand
> it helps not to use unfree software.
>
> I think it's more towards steering people from unfree to free software,
> but I can be wrong.
>
> Anyway, I trust your expertise on this topic and will accept your
> descision to hold it back if you think it's necessary to have
> fheroes2-data created/packaged first.

I agree that's it is already very easy to play this game without the
package: it has platinum support on Wine. Therefore, I don't think
adding it to Guix would force people to use non-free software.

I don't think developers of this engine created it just to play this
game, either. It is first and foremost an opportunity to learn, and to
share knowledge. As such, it belongs to Guix, IMO.

More pragmatically, it is free, and it requires little maintenance. I'm
in favor of including it.

Regards,
diff mbox series

Patch

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 83cb738b9c..7a87123df3 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -12511,3 +12511,33 @@  wreckage.  You're stranded on a desert island and have to survive.  In order to
 do so you need to explore the island, find food, build a shelter and try to
 get attention, so you get found.")
       (license license:cc-by4.0))))
+
+(define-public fheroes2
+  (package
+    (name "fheroes2")
+    (version "0.9.4")
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f
+       #:make-flags '("FHEROES2_STRICT_COMPILATION=1"
+                      "RELEASE=1")))
+    (native-inputs
+     `(("gettext" ,gettext-minimal)))
+    (inputs
+     `(("zlib" ,zlib)
+       ("libpng" ,libpng)
+       ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/ihhub/fheroes2")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0a3xi3k7ngp0byhmg7wq22l1hix3jwr68prk2y6frqhzbfskrvyg"))))
+    (home-page "https://ihhub.github.io/fheroes2/")
+    (synopsis "Turn-based strategy game engine")
+    (description "Free implementation of Heroes of Might and Magic II (aka
+HOMM2) game engine.")
+    (license license:gpl2)))