[Nix-dev] Hydra evaluation error: value is an attribute set while a string was expected

Bjørn Forsman bjorn.forsman at gmail.com
Sun Aug 11 20:30:59 CEST 2013


On 11 August 2013 20:12,  <phreedom at yandex.ru> wrote:
> В письме от Воскресенье 11 августа 2013 16:55:54 пользователь Bjørn Forsman
> написал:
>> It seems I've committed something that breaks the channel (sorry!).
>> Hydra has these evaluation errors[1]:
>>
>> [...]
>> at `nixpkgs.linuxPackages.lttngModules.i686-linux' [nixosSrc = ...,
>> nixpkgs = ..., officialRelease = false]:
>> value is an attribute set while a string was expected
>> [...]
>
> Probably it is the license field, and due to having multiple licenses.
> See 80213cbb051f2e172be20c03e51069f122d8bb6c
> I have no idea what is the best way to fix this.

Yes, I also suspected the license field. But other packages have
multiple licenses too.
The committ you mention changes licenses.* from attribute sets to
strings. But at the same time it updates this *list of licenses*:

     license = [
-       pkgs.lib.licenses.gpl2
-       pkgs.lib.licenses.lgpl21
+       stdenv.lib.licenses.gpl2
+       stdenv.lib.licenses.lgpl21
     ];

Isn't this conclusive evidence that the license attribute could be a
list of license strings?

... taking a closer look at pkgs/lib/licenses.nix ...

Oh, you know what? *Some* licenses are attribute sets and *some* are
attr sets! Commit 80213cbb051f2e172be20c03e51069f122d8bb6c didn't
change all attr sets to strings! The licenses.mit license I'm using is
still an attribute set, while gpl2 + lgpl2 are strings!

So, what to do now? Start by changing the mit license to a string and
then wait for Eelco to decide what to do with the rest?


More information about the nix-dev mailing list