Subject: bug#30189: [PATCH] Re: bug#30189: Retux game halts after preloading levels (missing ucd.sqlite uniseg database)

From: Ben Sturmfels <[email-masked]>
Date: Mon, 22 Jan 2018 13:03:12 +1100

Patch for python-uniseg attached that fixes bug#30189.

Sorry if this is a duplicate, but I can't seem my previous email in the
guix-patches archives. Maybe because I missed the [PATCH] in the subject?

On Sun, 21 Jan 2018, Ben Sturmfels wrote:

> Thanks Gábor, adding zipfile fixes the build and Retux now runs.
>
> Patch attached and CC'd to guix-patches.
>
> Regards,
> Ben
>
> On Sun, 21 Jan 2018, Gábor Boskovits wrote:
>
>> I think unzip should be added to native-inputs. Can you try that?
>>
>> 2018-01-21 4:46 GMT+01:00 Ben Sturmfels <[email-masked]>:
>>
>>  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
From 42c1e69526ec9781e3f7290fb74e2a561131e3be Mon Sep 17 00:00:00 2001
From: Ben Sturmfels <[email-masked]>
Date: Sun, 21 Jan 2018 18:43:07 +1100
Subject: [PATCH] gnu: python-uniseg: Switch to PyPi source to get missing
 ucd.sqlite3.

* gnu/packages/python.scm (python-uniseg): Use PyPI, add zipfile dependency to
  unpack.
---
 gnu/packages/python.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0b582e6b7..2f1c20e31 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -773,15 +773,15 @@ Python 3 support.")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "https://bitbucket.org/emptypage/uniseg-python/"
-                           "get/rel-" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (uri (pypi-uri "uniseg" version ".zip"))
        (sha256
         (base32
-         "1df4gddnj2a0v8z35wb2ra5vvh1f1qyxs8fgd25c8g64031mna6x"))))
+         "05jsazvz6nbmh6l3v1rph5ydkqn1hzx1pyggdyvgp2qgmgrnmiz2"))))
     (build-system python-build-system)
     (arguments
      '(#:tests? #f)) ; The test suite requires network access.
+    (native-inputs
+     `(("unzip" ,unzip)))
     (home-page
      "https://bitbucket.org/emptypage/uniseg-python")
     (synopsis
-- 
2.15.1