[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Trying to fix an error in the pypi-importer
From: |
Erik Edrosa |
Subject: |
Re: Trying to fix an error in the pypi-importer |
Date: |
Sat, 2 Jan 2016 13:26:20 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 |
On 01/02/2016 12:10 PM, address@hidden wrote:
> On 2016-01-01 19:10, address@hidden wrote:
>> On 2015-12-30 23:00, Cyril Roelandt wrote:
>>> On 12/30/2015 08:53 PM, address@hidden wrote:
>>>> I am trying to fix this error in the pypi-importer:
>>>
>>> Could you send your fix as a unified diff? If you work from the git
>>> repo, you can just run "git diff" to produce one.
>>
>> diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm
>> index 2532210..f9b88d2 100644
>> --- a/guix/build-system/python.scm
>> +++ b/guix/build-system/python.scm
>> @@ -41,13 +41,18 @@
>> ;;
>> ;; Code:
>>
>> -(define (pypi-uri name version)
>> +(define (pypi-uri name version ending)
>> "Return a URI string for the Python package hosted on the Python
>> Package
>> -Index (PyPI) corresponding to NAME and VERSION."
>> - (string-append "https://pypi.python.org/packages/source/"
>> +Index (PyPI) corresponding to NAME, VERSION and optionally ENDING."
>> + (if (zero? ending)
>> + (string-append "https://pypi.python.org/packages/source/"
>> (string-take name 1) "/" name "/"
>> - name "-" version ".tar.gz"))
>> -
>> + name "-" version ".tar.gz")
>> + ;else
>> + (string-append "https://pypi.python.org/packages/source/"
>> + (string-take name 1) "/" name "/"
>> + name "-" version "." ending ))
>> +
>> (define %python-build-system-modules
>> ;; Build-side modules imported by default.
>> `((guix build python-build-system)
>
> During compilation after applying my patch above I get this error.
>
> GUILEC guix/build-system/python.go
> ice-9/boot-9.scm:106:20: In procedure #<procedure 8bbb4e0 at
> ice-9/boot-9.scm:97:6 (thrown-k . args)>:
> ice-9/boot-9.scm:106:20: In procedure scm_i_lreadparen:
> guix/build-system/python.scm:216:1: end of file
> Makefile:4604: recipe for target 'guix/build-system/python.go' failed
>
> So removing the (else -> to a comment and adjusting the parentheses did
> not work.
>
> Could somebody point me to relevant documentation about how to write
> conditional statements in guile?
>
Here is the conditionals in the guile manual
https://www.gnu.org/software/guile/manual/html_node/Conditionals.html#Conditionals
This might be a useful book on learning scheme
http://ds26gte.github.io/tyscheme/index.html
You might find more useful intro books to scheme at
http://schemers.org/Documents/#all-texts
Regarding the changes, I think the ending argument might be better as an
optional argument (see
https://www.gnu.org/software/guile/manual/html_node/lambda_002a-and-define_002a.html#lambda_002a-and-define_002a
about optional arguments) so packages with files ending in .tar.gz do
not need to be modified.
So a package can be (pypi-uri "foo" "1.0.0") or (pypi-uri "bar" "1.0.0"
".tar.bz2")