guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add openttd


From: Albin
Subject: Re: [PATCH] gnu: Add openttd
Date: Tue, 12 Apr 2016 16:55:20 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.6.0

Thank you Leo for taking the time to inspect and install the package.

Den 2016-04-12 kl. 03:09, skrev Leo Famulari:
> On Tue, Apr 12, 2016 at 12:41:58AM +0200, Albin wrote:
>> +                 ;; GNU's not Unix so let's modify the exit dialog.
>> +                 (substitute* (find-files "src/lang/" "\\.txt")
>> +                   ((":Unix") ":GNU"))))))
> 
> I don't think this is necessary.

Maybe not.  I just wanted to exercise my freedom a little.  The above
snippet lets you see this dialog box:

"Are you sure you want to exit OpenTTD and return to GNU" ...instead of
"...Unix", which I thought would make the Guix users happy.

It works for 54 language versions, but not Arabic, Esperanto, Hebrew and
Urdu where "Unix" is called something else.

I'm not going to insist on keeping it, but remember that the "Words to
avoid" article (https://www.gnu.org/philosophy/words-to-avoid.html)
states: "To call the whole system 'Linux' is both unfair and confusing."
Isn't it likewise wrong to call "GNU" "Unix"?

> 
>> +           (lambda* (#:key outputs #:allow-other-keys)
>> +             ;; The build scripts don't understand the option
>> +             ;; `--enable-fast-install'.
>> +             (let ((out (assoc-ref outputs "out")))
>> +               (zero?
>> +                (system* "./configure"
>> +                         ;; At the moment, `lzo' must be disabled
>> +                         ;; because the `config.lib' script cannot
>> +                         ;; find it.  It is only necessary for loading
>> +                         ;; saved games generated by early versions of
>> +                         ;; OpenTTD.
>> +                         (string-append "--prefix=" out)
>> +                         "--without-liblzo2"
>> +                         ;; Put the binary in `bin' instead of `games'
>> +                         "--binary-dir=bin"))))))))
> 
> I see this option in `./configure --help`:
> 
> --with-liblzo2[=liblzo2.a]     enables liblzo2 support

Nice!

> Does it work to provide the path to that option? Our lzo package does
> build a static library, if that is what OpenTTD requires.

Yes, I could make it work by first installing 'lzo' and then add
`--with-liblzo2=/gnu/store/[...]/liblzo2.a` to the package definition.
What is the proper way to do this?

> 
>> +    (description "OpenTTD is a game in which you transport goods and
>> +passengers by land, water and air.  It is a free implementation of
>> +Transport Tycoon Deluxe but with many enhancements including
>> +multiplayer mode, internationalization support, conditional orders and
>> +the ability to clone, autoreplace and autoupdate vehicles.")
> 
> All software in Guix is free software, so I don't think it's necessary
> to call this a "free implementation". How about "re-implementation"?

OK.

>> +    ;; The software contains an in-game downloader from which the user
>> +    ;; may find non-functional data licensed under different terms.
> 
> I don't know the significance of this. Hopefully somebody else will
> comment on this subject.
> 
> Upon starting the program, I was prompted to download something related
> to graphics. I agreed, and the game seemed to download OpenGFX [0] and
> launch correctly, although it also warned me about needed to download
> some sound files.

Yes, it's not ideal that you are immediately prompted to download and
install something like this.  As you said, the package that gets
installed when you agree is OpenGFX (8 MiB).  It has the same license as
the game itself, i.e. GPLv2, just like the other available graphics sets
"NightGFX" (3.4 MiB) and "zBase" (273 MiB).

The music files that you can download are:

* Modern Motion (music): CC-BY-NC-ND 3.0
* OpenMSX: GPLv2
* Scott Joplin Anthology: public domain
* Traditional Winter Holiday Music: public domain

For sound effects only one package is currently available:

* OpenSFX: CC Sampling Plus 1.0


I can understand that packages that restrict commercial redistribution
may not be included in Guix, but the FSDG doesn't discuss the particular
case of packages that *recommend* non-free, non-functional data where
only non-commercial redistribution is permitted.

How does other free distros deal with this?  The Arch project
distributes openttd, openttd-opengfx and openttd-opensfx as separate
packages (where the package manager recommends the latter two upon
installation of openttd).  Parabola does the same, but removes
openttd-opensfx from their repository.  You can still download the sound
effects afterwards however.

Do you think we should follow Parabola in this case or take a different
approach?

> 
>> +    (license license:gpl2)))
> 
> Section 10.0 of 'readme.txt' describes the licensing of 3rd party
> components. If any of those are included, be sure to add them to a list
> here.

You are right! Thanks.

> 
> [0]
> http://dev.openttdcoop.org/projects/opengfx
> 

Best regards,

Albin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]