guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] Add gtklick.


From: Ricardo Wurmus
Subject: Re: [PATCH] Add gtklick.
Date: Sat, 27 Feb 2016 10:17:46 +0100
User-agent: mu4e 0.9.13; emacs 24.5.1

Ludovic Courtès <address@hidden> writes:

> Ricardo Wurmus <address@hidden> skribis:
>
>> From 76cb9cb91b76f4bb723030d3d5a63238cdf98e20 Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus <address@hidden>
>> Date: Thu, 25 Feb 2016 09:45:05 +0100
>> Subject: [PATCH 1/3] gnu: Add pyliblo.
>>
>> * gnu/packages/audio.scm (python-pyliblo, python2-pyliblo): New
>>   variables.
>
> [...]
>
>> +    (home-page "http://das.nasophon.de/pyliblo/";)
>> +    (synopsis "Python bindings for the liblo OSC library")
>
> Maybe just “Python bindings for liblo”, and…
>
>> +    (description
>> +     "Pyliblo is a Python wrapper for the liblo OSC library.  It supports
>
> “… for the liblo Open Sound Control (OSC) library.”

Okay.

>> From 1dc15ad2e3776904ff8b838add00d66d9671b48a Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus <address@hidden>
>> Date: Fri, 26 Feb 2016 08:05:40 +0100
>> Subject: [PATCH 2/3] gnu: python2-pygtk: Add libglade to inputs.
>>
>> * gnu/packages/gtk.scm (python2-pygtk)[inputs]: Add "libglade".
>
> OK.
>
>> From cfda70fdd6448980df9ba4c22894198366a2846d Mon Sep 17 00:00:00 2001
>> From: Ricardo Wurmus <address@hidden>
>> Date: Thu, 25 Feb 2016 09:46:01 +0100
>> Subject: [PATCH 3/3] gnu: Add gtklick.
>>
>> * gnu/packages/music.scm (gtklick): New variable.
>
> [...]
>
>> +       (modify-phases %standard-phases
>> +         (add-before 'build 'add-sitedirs
>> +           ;; .pth files are not automatically interpreted unless the
>> +           ;; directories containing them are added as "sites".  The 
>> directories
>> +           ;; are then added to those in the PYTHONPATH.  This is required 
>> for
>> +           ;; the operation of pygtk.
>
> Strangely, other users of pygtk don’t do that, no?  What’s special here?

Some do (and I don’t know why).  I lifted this phase from “solfege”,
which also won’t run without this.

>> +           (lambda _
>> +             (substitute* "gtklick/gtklick.py"
>> +               (("import pygtk")
>> +                "import pygtk, site, sys
>> +for path in [path for path in sys.path if 'site-packages' in path]: 
>> site.addsitedir(path)"))))
>
> I guess it’s a list comprehension, but I’m a bit confused by the syntax
> and the various ‘path’.  Oh well.  :-)

The Scheme equivalent is something like this:

    (for-each site.addsitedir
              (filter (cut string-contains <> "site-packages")
                      sys.path))

The bracketed expression in Python is like the ‘(filter ...)’
expression.

I don’t know if this could be expressed any clearer in plain Python
without making this much longer.

~~ Ricardo




reply via email to

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