Describe the bug
We have a bunch of issues on 20.09. They're fixed first on master, when appliceable, and then backported.
We need to consider the support of these versions during the period 20.09 is supported. Brief description regarding the issues of different combinations of versions https://github.com/NixOS/nixpkgs/pull/98657#issuecomment-702899094.
Note, however, I have no difficulties with the setup we have on master https://github.com/NixOS/nixpkgs/pull/101369.
cc @doronbehar @ttuegel
systemsettings5 partially broken https://github.com/NixOS/nixpkgs/issues/102253 .PR backporting fixes from master https://github.com/NixOS/nixpkgs/pull/102347.





@hellst0rm the issues you are experiencing seem like exactly what we fixed, but the changes haven't landed in the channels yet.
@doronbehar : yes the issues with systemsettings seems to be resolved with the changes landing in the channel. but the issue with default browser not being set is still an issue.
I am currently working in PR #102840 to migrate most applications pinpointed to 5.14 to 5.15 (using libsForQt5, to follow future "current" versions).
I tried to compile my system today with latest version of both 20.09 (1ae46bffe4a) and unstable (a52e974cff8), but I'm still blocked on the line:
Package ‘qtwebkit-5.212.0-alpha4’ in /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/pkgs/development/libraries/qt-5/qtModule.nix:54 is marked as broken, refusing to evaluate.
Is it normal? Any idea how to fix that? The trace is not really helping me:
---------------------------------------------------- show-trace ----------------------------------------------------
trace: while evaluating 'handleEvalIssue'
at: (167:38) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/pkgs/stdenv/generic/check-meta.nix
166|
167| handleEvalIssue = { meta, attrs }: { reason , errormsg ? "" }:
| ^
168| let
trace: from call site
at: (272:14) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/pkgs/stdenv/generic/check-meta.nix
271| handled = if !validity.valid
272| then handleEvalIssue { inherit meta attrs; } (removeAttrs validity ["valid"])
| ^
273| else true;
trace: while evaluating the attribute 'handled'
at: (271:7) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/pkgs/stdenv/generic/check-meta.nix
270| # Throw an error if trying to evaluate an non-valid derivation
271| handled = if !validity.valid
| ^
272| then handleEvalIssue { inherit meta attrs; } (removeAttrs validity ["valid"])
trace: while evaluating the attribute 'buildInputs' of the derivation 'alkimia-8.0.2'
at: (192:11) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/pkgs/stdenv/generic/make-derivation.nix
191| // (lib.optionalAttrs (!(attrs ? name) && attrs ? pname && attrs ? version)) {
192| name = "${attrs.pname}-${attrs.version}";
| ^
193| } // (lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform && !dontAddHostSuffix && (attrs ? name || (attrs ? pname && attrs ? version)))) {
trace: while evaluating the attribute 'buildInputs' of the derivation 'kmymoney-5.1.0'
at: (192:11) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/pkgs/stdenv/generic/make-derivation.nix
191| // (lib.optionalAttrs (!(attrs ? name) && attrs ? pname && attrs ? version)) {
192| name = "${attrs.pname}-${attrs.version}";
| ^
193| } // (lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform && !dontAddHostSuffix && (attrs ? name || (attrs ? pname && attrs ? version)))) {
trace: while evaluating the attribute 'passAsFile' of the derivation 'system-path'
at: (7:7) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/pkgs/build-support/trivial-builders.nix
6| stdenv.mkDerivation ({
7| name = lib.strings.sanitizeDerivationName name;
| ^
8| inherit buildCommand;
trace: while evaluating 'check'
at: (345:15) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/types.nix
344| name = "path";
345| check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/";
| ^
346| merge = mergeEqualOption;
trace: from call site
at: (546:22) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
545| if isDefined then
546| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
547| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
trace: while evaluating anonymous lambda
at: (546:17) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
545| if isDefined then
546| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
547| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
trace: from call site
at: (546:12) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
545| if isDefined then
546| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
547| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
trace: while evaluating the attribute 'value'
at: (557:27) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
556| optionalValue =
557| if isDefined then { value = mergedValue; }
| ^
558| else {};
trace: while evaluating anonymous lambda
at: (354:14) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/types.nix
353| merge = loc: defs:
354| map (x: x.value) (filter (x: x ? value) (concatLists (imap1 (n: def:
| ^
355| imap1 (m: def':
trace: from call site
trace: while evaluating the attribute 'serviceDirectories' of the derivation 'dbus-1'
at: (7:7) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/pkgs/build-support/trivial-builders.nix
6| stdenv.mkDerivation ({
7| name = lib.strings.sanitizeDerivationName name;
| ^
8| inherit buildCommand;
trace: while evaluating 'check'
at: (345:15) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/types.nix
344| name = "path";
345| check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/";
| ^
346| merge = mergeEqualOption;
trace: from call site
at: (546:22) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
545| if isDefined then
546| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
547| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
trace: while evaluating anonymous lambda
at: (546:17) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
545| if isDefined then
546| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
547| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
trace: from call site
at: (546:12) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
545| if isDefined then
546| if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
| ^
547| else let allInvalid = filter (def: ! type.check def.value) defsFinal;
trace: while evaluating the attribute 'mergedValue'
at: (544:5) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
543| # Type-check the remaining definitions, and merge them. Or throw if no definitions.
544| mergedValue =
| ^
545| if isDefined then
trace: while evaluating the option `environment.etc.dbus-1.source':
trace: while evaluating the attribute 'value'
at: (512:9) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
511| in warnDeprecation opt //
512| { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
| ^
513| inherit (res.defsFinal') highestPrio;
trace: while evaluating anonymous lambda
at: (139:72) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/modules.nix
138| # For definitions that have an associated option
139| declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
| ^
140|
trace: from call site
at: (279:20) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/attrsets.nix
278| then recurse (path ++ [name]) value
279| else f (path ++ [name]) value;
| ^
280| in mapAttrs g set;
trace: while evaluating 'g'
at: (276:19) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/attrsets.nix
275| g =
276| name: value:
| ^
277| if isAttrs value && cond value
trace: from call site
trace: while evaluating the attribute 'source'
trace: while evaluating anonymous lambda
at: (20:20) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/nixos/modules/system/etc/etc.nix
19| /* !!! Use toXML. */
20| sources = map (x: x.source) etc';
| ^
21| targets = map (x: x.target) etc';
trace: from call site
trace: while evaluating the attribute 'sources' of the derivation 'etc'
at: (12:5) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/nixos/modules/system/etc/etc.nix
11| etc = pkgs.stdenvNoCC.mkDerivation {
12| name = "etc";
| ^
13|
trace: while evaluating the attribute 'text'
at: (82:38) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/strings-with-deps.nix
81|
82| stringAfter = deps: text: { inherit text deps; };
| ^
83|
trace: while evaluating the attribute 'text'
at: (9:5) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/nixos/modules/system/activation/activation-script.nix
8| addAttributeName = mapAttrs (a: v: v // {
9| text = ''
| ^
10| #### Activation script snippet ${a}:
trace: while evaluating 'id'
at: (14:5) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/trivial.nix
13| # The value to return
14| x: x;
| ^
15|
trace: from call site
trace: while evaluating 'textClosureMap'
at: (75:35) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/lib/strings-with-deps.nix
74|
75| textClosureMap = f: predefined: names:
| ^
76| concatStringsSep "\n" (map f (textClosureList predefined names));
trace: from call site
at: (89:18) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/nixos/modules/system/activation/activation-script.nix
88| withHeadlines = addAttributeName set';
89| in textClosureMap id (withHeadlines) (attrNames withHeadlines)
| ^
90| }
trace: while evaluating the attribute 'system.activationScripts.script'
at: (68:9) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/nixos/modules/system/activation/activation-script.nix
67| apply = set: {
68| script =
| ^
69| ''
trace: while evaluating the attribute 'activationScript' of the derivation 'nixos-system-bestos-21.03pre-git'
at: (95:5) in file: /nix/store/6xmgvgj4qyjvs5i1a2m3jsqyil1q69si-source/nixos/modules/system/activation/top-level.nix
94| baseSystem = pkgs.stdenvNoCC.mkDerivation {
95| name = "nixos-system-${config.system.name}-${config.system.nixos.label}";
| ^
96| preferLocalBuild = true;
Thanks for the report @tobiasBora . I suspect this is due to kmymoney. I pushed the fix for this in 6e0da3ef85c85d7d7a7b4b926575a054b1d29df6 which will hopefully get merged in https://github.com/NixOS/nixpkgs/pull/102840 .
@doronbehar Indeed, when I disable kmymoney, it works (thanks for pointing that out). Would it be possible to merge quickly that branch? I tried again today and I still can't build kmymoney. Also, I'm a bit surprised, isn't Hydra supposed to detect and report automatically these build failures?