Subject: Re: bug#25634: 'guix environment mpv' fails to handle '/gnu/store/i1139n4ab0fn9v4bwkvqzp6sw3w66mqr-python-waf-1.9.5' file (not-a-dir)

From: Efraim Flashner <[email-masked]>
Date: Tue, 07 Feb 2017 14:18:14 +0000

On February 7, 2017 4:08:06 PM GMT+02:00, [email-masked] wrote:
>Hi,
>
>Sergei Trofimovich <[email-masked]> skribis:
>
>> It looks like 'guix environment' does not handles
>derivations-as-files.
>> I don't know if it's a bug in the package or 'guix environment':
>>
>> $ ls -l /gnu/store/i1139n4ab0fn9v4bwkvqzp6sw3w66mqr-python-waf-1.9.5
>> -r-xr-xr-x 2 root root 99280 Jan  1  1970
>/gnu/store/i1139n4ab0fn9v4bwkvqzp6sw3w66mqr-python-waf-1.9.5
>>
>> $ ./pre-inst-env guix environment mpv
>> The following derivation will be built:
>>    /gnu/store/b5ph69m9z0qgwkf1w1p39r3wyab6x4hi-profile.drv
>> Backtrace:
>> In ice-9/boot-9.scm:
>>  160: 14 [catch #t #<catch-closure 8cad00> ...]
>> In unknown file:
>>    ?: 13 [apply-smob/1 #<catch-closure 8cad00>]
>> In ice-9/boot-9.scm:
>>   66: 12 [call-with-prompt prompt0 ...]
>> In ice-9/eval.scm:
>>  432: 11 [eval # #]
>> In ice-9/boot-9.scm:
>> 2404: 10 [save-module-excursion #<procedure 8ea7c0 at
>ice-9/boot-9.scm:4051:3 ()>]
>> 4056: 9 [#<procedure 8ea7c0 at ice-9/boot-9.scm:4051:3 ()>]
>> 1727: 8 [%start-stack load-stack #<procedure 8fcba0 at
>ice-9/boot-9.scm:4047:10 ()>]
>> 1732: 7 [#<procedure 8fd6f0 ()>]
>> In unknown file:
>>    ?: 6 [primitive-load
>"/gnu/store/yax60hx75hyarsfpraplhhfhkaqs30ia-profile-builder"]
>> In ./guix/build/profiles.scm:
>>  133: 5 [build-profile
>"/gnu/store/dd9fznm75rdjkdhb4zqz67lvr8d1ya5d-profile" # ...]
>> In ./guix/build/union.scm:
>>  136: 4 [union-of-directories
>"/gnu/store/dd9fznm75rdjkdhb4zqz67lvr8d1ya5d-profile" ...]
>> In srfi/srfi-1.scm:
>>  613: 3 [for-each #<procedure a86c80 at ./guix/build/union.scm:136:16
>(dir)> #]
>> In ./guix/build/union.scm:
>>  138: 2 [#<procedure a86c80 at ./guix/build/union.scm:136:16 (dir)>
>"/gnu/store/i1139n4ab0fn9v4bwkvqzp6sw3w66mqr-python-waf-1.9.5"]
>>   37: 1 [files-in-directory
>"/gnu/store/i1139n4ab0fn9v4bwkvqzp6sw3w66mqr-python-waf-1.9.5"]
>> In unknown file:
>>    ?: 0 [opendir
>"/gnu/store/i1139n4ab0fn9v4bwkvqzp6sw3w66mqr-python-waf-1.9.5"]
>>
>> ERROR: In procedure opendir:
>> ERROR: In procedure opendir: Not a directory
>
>I think you’re right: there are 2 bugs here.  :-)
>
>Packages should definitely produce a directory, not a flat file.  In
>this case, the package should be a directory containing ‘bin/waf’ I
>think.  宋文武 & Efraim, WDYT?
>

I dont feel strongly about it, but it would be more consistent if it were inside a bin directory. We'd have to change the few places that we call waf and substitute the one we have packaged.

>The second thing is a bug in ‘guix environment’.  It should not
>manifest
>itself normally, but it’s worth fixing.
>
>Thanks,
>Ludo’.

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.