Subject: Retux game halts after preloading levels (missing ucd.sqlite uniseg database)

From: Ben Sturmfels <[email-masked]>
Date: Sun, 21 Jan 2018 14:46:40 +1100

Hi Folks,

I'd like to play the Retux game, but while the game starts up it crashes
on me after the "preloading levels" screen.

There's no useful console output, but when running in the debugger, I
see that the python-uniseg package is looking for a file called
ucd.sqlite3 that doesn't exist, some kind of Unicode letter spacing
database that's not present in the BitBucket repository.

  python3 -m pdb -c continue \
  "/gnu/store/57psnlgdyri8phkxzasaf6q0gb8nskpz-retux-1.3.5/bin/.retux-real"

See uniseg/db.py:107 and 21. Since it's also looking in the current
directory, I tried downloading ucd.sqlite3 from the PyPI zip package -
that fixes the issue.

The python-uniseg package downloads the source from BitBucket, so I
tried changing that to PyPI:

  (uri (pypi-uri "uniseg" version ".zip"))

which downloads ok, but fails but the fails at the unpack phase without
any details. Should Guix know how to unpack a .zip? Or maybe I should
coerce the maintainer to publish a .tar.gz?

Currently Retux is the only program that uses python-uniseg (via
python-sge-pygame dependency).

Regards,
Ben