Subject: [bug#43630] [PATCH] gnu: Add tic-80.

From: Chris Lemmer-Webber <[email-masked]>
Date: Thu, 22 Jul 2021 18:32:22 -0400

I don't have a version fulfilling all the changes Ludo' recommended,
but I got this to build and run on my computer based on Gabriel's patch.

I also tried bumping to the latest version (v0.90.1706) but curiously
that one built fine but segfaults when you try to run it... some
floating point exception.  Just noting that in case someone is picking
this up and trying to advance it.

Ludovic Courtès writes:

> Hi Gabriel,
>
> Sorry for the long delay!
>
> Gabriel Arazas <[email-masked]> skribis:
>
>> * gnu/packages/game-development.scm (tic-80): New variable.
>
> [...]
>
>> +    (description
>> +     "A fantasy computer featuring built-in tools such as a sprite editor,
>> +music tracker, and a text editor.  This package builds the free version of the
>> +software which you can override the package and build the PRO version
>> +yourself.")
>
> We need full sentences and, as per the FSDG, we won’t advertise the
> “PRO” version (which is non-free I guess?) here.  So instead I propose
> this:
>
>     (description
>      "TIC-80 is a fantasy computer for making, playing and sharing tiny games.
> There are built-in tools for development: code, sprites, maps, sound editors
> and the command line, which is enough to create a mini retro game.  At the
> exit you will get a cartridge file, which can be stored and played on the
> website.")
>
> Another issue: the code bundles quite a few libraries.  We should remove
> them in a snippet and use the corresponding packages instead.  Here’s
> what I see in the log:
>
> --8<---------------cut here---------------start------------->8---
> Cloning into '/gnu/store/hb5kz8vrk5ykyc3xmx30h20f2bm7pmcp-tic-80-0.80.1344-checkout/vendor/sdl2'...
> Cloning into '/gnu/store/hb5kz8vrk5ykyc3xmx30h20f2bm7pmcp-tic-80-0.80.1344-checkout/vendor/sokol'...
> Cloning into '/gnu/store/hb5kz8vrk5ykyc3xmx30h20f2bm7pmcp-tic-80-0.80.1344-checkout/vendor/squirrel'...
> Cloning into '/gnu/store/hb5kz8vrk5ykyc3xmx30h20f2bm7pmcp-tic-80-0.80.1344-checkout/vendor/wren'...
> Cloning into '/gnu/store/hb5kz8vrk5ykyc3xmx30h20f2bm7pmcp-tic-80-0.80.1344-checkout/vendor/zip'...
> Cloning into '/gnu/store/hb5kz8vrk5ykyc3xmx30h20f2bm7pmcp-tic-80-0.80.1344-checkout/vendor/zlib'...
> --8<---------------cut here---------------end--------------->8---
>
> ‘sokol’ and ‘wren’ are apparently not packaged yet in Guix.  As a first
> step, you could remove everything but these two libraries, leaving a
> FIXME about them.
>
> Could you send an updated patch?
>
> Thanks,
> Ludo’.