Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP - pdm add spyder # python3.12-pyqt5-5.15.10 - pdm.sourceSelector.<function body> is not of type 'string'. #910

Open
InLaw opened this issue Mar 26, 2024 · 2 comments

Comments

@InLaw
Copy link
Contributor

InLaw commented Mar 26, 2024

error: A definition for option pdm.sourceSelector.<function body>' is not of type string'. Definition values:
- In `/nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/WIP-python-pdm': null

nix develop
pdm add spyder

Details

nix develop --show-trace
error:
… while calling the 'derivationStrict' builtin

     at /builtin/derivation.nix:9:12: (source not available)

   … while evaluating derivation 'nix-shell'
     whose name attribute is located at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/stdenv/generic/make-derivation.nix:331:7

   … while evaluating attribute 'nativeBuildInputs' of derivation 'nix-shell'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/stdenv/generic/make-derivation.nix:375:7:

      374|       depsBuildBuild              = elemAt (elemAt dependencies 0) 0;
      375|       nativeBuildInputs           = elemAt (elemAt dependencies 0) 1;
         |       ^
      376|       depsBuildTarget             = elemAt (elemAt dependencies 0) 2;

   … while evaluating derivation 'python3-3.12.2-env'
     whose name attribute is located at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/stdenv/generic/make-derivation.nix:331:7

   … while evaluating attribute 'passAsFile' of derivation 'python3-3.12.2-env'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/build-support/trivial-builders/default.nix:69:9:

       68|         inherit buildCommand name;
       69|         passAsFile = [ "buildCommand" ]
         |         ^
       70|           ++ (derivationArgs.passAsFile or [ ]);

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/development/interpreters/python/wrapper.nix:20:13:

       19|   env = let
       20|     paths = requiredPythonModules (extraLibs ++ [ python ] ) ;
         |             ^
       21|     pythonPath = "${placeholder "out"}/${python.sitePackages}";

   … while calling 'requiredPythonModules'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/development/interpreters/python/python-packages-base.nix:54:27:

       53|   # Get list of required Python modules given a list of derivations.
       54|   requiredPythonModules = drvs: let
         |                           ^
       55|     modules = lib.filter hasPythonModule drvs;

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/lists.nix:1729:25:

     1728|   */
     1729|   unique = foldl' (acc: e: if elem e acc then acc else acc ++ [ e ]) [];
         |                         ^
     1730|

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:963:24:

      962|     let f = attrPath:
      963|       zipAttrsWith (n: values:
         |                        ^
      964|         let here = attrPath ++ [n]; in

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:749:18:

      748|         mapAttrs
      749|           (name: value:
         |                  ^
      750|             if isAttrs value && cond value

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:752:18:

      751|             then recurse (path ++ [ name ]) value
      752|             else f (path ++ [ name ]) value);
         |                  ^
      753|     in

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `groups.default.packages.pyqt5."5.15.10".evaluated.public.outPath':

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:824:28:

      823|         # Process mkMerge and mkIf properties.
      824|         defs' = concatMap (m:
         |                            ^
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/package-func':

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:825:137:

      824|         defs' = concatMap (m:
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      826|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:896:25:

      895|   */
      896|   dischargeProperties = def:
         |                         ^
      897|     if def._type or "" == "merge" then

   … from call site

     at /nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/package-func/default.nix:45:17:

       44|       drvPath = throwIfMultiDrvOr outputDrvs.out.drvPath;
       45|       outPath = throwIfMultiDrvOr outputDrvs.out.outPath;
         |                 ^
       46|       outputName = throwIfMultiDrvOr outputDrvs.out.outputName;

   … while calling 'throwIfMultiDrvOr'

     at /nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/package-func/default.nix:32:23:

       31|
       32|   throwIfMultiDrvOr = returnVal:
         |                       ^
       33|     if isSingleDrvPackage

   … while evaluating derivation 'python3.12-pyqt5-5.15.10'
     whose name attribute is located at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/stdenv/generic/make-derivation.nix:331:7

   … while evaluating attribute 'propagatedBuildInputs' of derivation 'python3.12-pyqt5-5.15.10'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/stdenv/generic/make-derivation.nix:385:7:

      384|       depsHostHostPropagated      = elemAt (elemAt propagatedDependencies 1) 0;
      385|       propagatedBuildInputs       = elemAt (elemAt propagatedDependencies 1) 1;
         |       ^
      386|       depsTargetTargetPropagated  = elemAt (elemAt propagatedDependencies 2) 0;

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/stdenv/generic/make-derivation.nix:321:13:

      320|       (map (drv: getDev drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHostPropagated" depsHostHostPropagated))
      321|       (map (drv: getDev drv.__spliced.hostTarget or drv) (checkDependencyList "propagatedBuildInputs" propagatedBuildInputs))
         |             ^
      322|     ]

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/stdenv/generic/make-derivation.nix:321:18:

      320|       (map (drv: getDev drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHostPropagated" depsHostHostPropagated))
      321|       (map (drv: getDev drv.__spliced.hostTarget or drv) (checkDependencyList "propagatedBuildInputs" propagatedBuildInputs))
         |                  ^
      322|     ]

   … while calling 'getOutput'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:1090:23:

     1089|   */
     1090|   getOutput = output: pkg:
         |                       ^
     1091|     if ! pkg ? outputSpecified || ! pkg.outputSpecified

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:963:24:

      962|     let f = attrPath:
      963|       zipAttrsWith (n: values:
         |                        ^
      964|         let here = attrPath ++ [n]; in

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:593:29:

      592|       merge = loc: defs:
      593|         zipAttrsWith (name: defs:
         |                             ^
      594|           let merged = mergeDefinitions (loc ++ [name]) elemType defs;

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:824:28:

      823|         # Process mkMerge and mkIf properties.
      824|         defs' = concatMap (m:
         |                            ^
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/package-func':

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:825:137:

      824|         defs' = concatMap (m:
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      826|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:896:25:

      895|   */
      896|   dischargeProperties = def:
         |                         ^
      897|     if def._type or "" == "merge" then

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:190:39:

      189|         then value
      190|         else { ${elemAt attrPath n} = atDepth (n + 1); };
         |                                       ^
      191|     in atDepth 0;

   … while calling 'atDepth'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:187:17:

      186|       len = length attrPath;
      187|       atDepth = n:
         |                 ^
      188|         if n == len

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:772:43:

      771|     f:
      772|     listToAttrs (map (n: nameValuePair n (f n)) names);
         |                                           ^
      773|

   … while calling anonymous lambda

     at /nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/package-func/default.nix:17:6:

       16|     l.genAttrs outputs
       17|     (output: config.package-func.result.${output});
         |      ^
       18|

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:749:18:

      748|         mapAttrs
      749|           (name: value:
         |                  ^
      750|             if isAttrs value && cond value

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:752:18:

      751|             then recurse (path ++ [ name ]) value
      752|             else f (path ++ [ name ]) value);
         |                  ^
      753|     in

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `groups.default.packages.pyqt5-qt5."5.15.13".evaluated.package-func.result':

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:824:28:

      823|         # Process mkMerge and mkIf properties.
      824|         defs' = concatMap (m:
         |                            ^
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/package-func':

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:825:137:

      824|         defs' = concatMap (m:
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      826|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:896:25:

      895|   */
      896|   dischargeProperties = def:
         |                         ^
      897|     if def._type or "" == "merge" then

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/trivial.nix:425:7:

      424|     { # TODO: Should we add call-time "type" checking like built in?
      425|       __functor = self: f;
         |       ^
      426|       __functionArgs = args;

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/development/interpreters/python/python-packages-base.nix:16:63:

       15|   # This function introduces `overridePythonAttrs` and it overrides the call to `buildPythonPackage`.
       16|   makeOverridablePythonPackage = f: lib.mirrorFunctionArgs f (origArgs:
         |                                                               ^
       17|     let

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/trivial.nix:425:7:

      424|     { # TODO: Should we add call-time "type" checking like built in?
      425|       __functor = self: f;
         |       ^
      426|       __functionArgs = args;

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/customisation.nix:96:17:

       95|     in
       96|     mirrorArgs (origArgs:
         |                 ^
       97|     let

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/development/interpreters/python/python-packages-base.nix:18:14:

       17|     let
       18|       args = lib.fix (lib.extends
         |              ^
       19|         (_: previousAttrs: {

   … while calling 'fix'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/fixed-points.nix:75:9:

       74|   */
       75|   fix = f: let x = f x; in x;
         |         ^
       76|

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/fixed-points.nix:75:20:

       74|   */
       75|   fix = f: let x = f x; in x;
         |                    ^
       76|

   … while calling 'extends'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/fixed-points.nix:248:7:

      247|     (
      248|       final:
         |       ^
      249|       let

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/fixed-points.nix:250:16:

      249|       let
      250|         prev = f final;
         |                ^
      251|       in

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/development/interpreters/python/python-packages-base.nix:24:10:

       23|         })
       24|         (_: origArgs));
         |          ^
       25|       result = f args;

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:749:18:

      748|         mapAttrs
      749|           (name: value:
         |                  ^
      750|             if isAttrs value && cond value

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:752:18:

      751|             then recurse (path ++ [ name ]) value
      752|             else f (path ++ [ name ]) value);
         |                  ^
      753|     in

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `groups.default.packages.pyqt5-qt5."5.15.13".evaluated.package-func.args':

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:824:28:

      823|         # Process mkMerge and mkIf properties.
      824|         defs' = concatMap (m:
         |                            ^
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/mkDerivation':

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:825:137:

      824|         defs' = concatMap (m:
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      826|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:896:25:

      895|   */
      896|   dischargeProperties = def:
         |                         ^
      897|     if def._type or "" == "merge" then

   … from call site

     at /nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/mkDerivation/default.nix:15:15:

       14|
       15|   finalArgs = l.filterAttrs keepArg cfg;
         |               ^
       16|

   … while calling 'filterAttrs'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:417:5:

      416|     # The attribute set to filter
      417|     set:
         |     ^
      418|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:418:29:

      417|     set:
      418|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
         |                             ^
      419|

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:418:62:

      417|     set:
      418|     listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
         |                                                              ^
      419|

   … while calling 'keepArg'

     at /nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/mkDerivation/default.nix:13:18:

       12|
       13|   keepArg = key: val: val != null;
         |                  ^
       14|

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:749:18:

      748|         mapAttrs
      749|           (name: value:
         |                  ^
      750|             if isAttrs value && cond value

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:752:18:

      751|             then recurse (path ++ [ name ]) value
      752|             else f (path ++ [ name ]) value);
         |                  ^
      753|     in

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `groups.default.packages.pyqt5-qt5."5.15.13".evaluated.mkDerivation.buildInputs':

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:824:28:

      823|         # Process mkMerge and mkIf properties.
      824|         defs' = concatMap (m:
         |                            ^
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/WIP-python-pdm, via option overrideType':

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:825:137:

      824|         defs' = concatMap (m:
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      826|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:896:25:

      895|   */
      896|   dischargeProperties = def:
         |                         ^
      897|     if def._type or "" == "merge" then

   … from call site

     at /nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/WIP-python-pdm/default.nix:53:7:

       52|     config.mkDerivation.buildInputs =
       53|       lib.optionals
         |       ^
       54|       (! lib.hasSuffix ".whl" cfg.mkDerivation.src)

   … while calling 'optionals'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/lists.nix:772:5:

      771|     cond:
      772|     elems: if cond then elems else [];
         |     ^
      773|

   … from call site

     at /nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/WIP-python-pdm/default.nix:54:10:

       53|       lib.optionals
       54|       (! lib.hasSuffix ".whl" cfg.mkDerivation.src)
         |          ^
       55|       [setuptools];

   … while calling 'hasSuffix'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/strings.nix:299:5:

      298|     # Input string
      299|     content:
         |     ^
      300|     let

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/strings.nix:306:5:

      305|     # to strings and comparing. This was surprising and confusing.
      306|     warnIf
         |     ^
      307|       (isPath suffix)

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/trivial.nix:352:50:

      351|   */
      352|   warnIf = cond: msg: if cond then warn msg else x: x;
         |                                                  ^
      353|

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:749:18:

      748|         mapAttrs
      749|           (name: value:
         |                  ^
      750|             if isAttrs value && cond value

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/attrsets.nix:752:18:

      751|             then recurse (path ++ [ name ]) value
      752|             else f (path ++ [ name ]) value);
         |                  ^
      753|     in

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:242:72:

      241|           # For definitions that have an associated option
      242|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
         |                                                                        ^
      243|

   … while evaluating the option `groups.default.packages.pyqt5-qt5."5.15.13".evaluated.mkDerivation.src':

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:802:35:

      801|       # yield a value computed from the definitions
      802|       value = if opt ? apply then opt.apply res.mergedValue else res.mergedValue;
         |                                   ^
      803|

   … while calling 'apply'

     at /nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/mkDerivation/interface.nix:21:13:

       20|     type = t.nullOr dreamTypes.drvPartOrPackage;
       21|     apply = drv: drv.public or drv;
         |             ^
       22|     default = null;

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:846:17:

      845|       if isDefined then
      846|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
         |                 ^
      847|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:846:22:

      845|       if isDefined then
      846|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
         |                      ^
      847|         else let allInvalid = filter (def: ! type.check def.value) defsFinal;

   … while calling 'check'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:636:15:

      635|       descriptionClass = "conjunction";
      636|       check = x: x == null || elemType.check x;
         |               ^
      637|       merge = loc: defs:

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:636:31:

      635|       descriptionClass = "conjunction";
      636|       check = x: x == null || elemType.check x;
         |                               ^
      637|       merge = loc: defs:

   … while calling 'check'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:881:15:

      880|       descriptionClass = "conjunction";
      881|       check = x: t1.check x || t2.check x;
         |               ^
      882|       merge = loc: defs:

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:881:18:

      880|       descriptionClass = "conjunction";
      881|       check = x: t1.check x || t2.check x;
         |                  ^
      882|       merge = loc: defs:

   … while calling 'check'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:881:15:

      880|       descriptionClass = "conjunction";
      881|       check = x: t1.check x || t2.check x;
         |               ^
      882|       merge = loc: defs:

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:881:18:

      880|       descriptionClass = "conjunction";
      881|       check = x: t1.check x || t2.check x;
         |                  ^
      882|       merge = loc: defs:

   … while calling 'check'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:881:15:

      880|       descriptionClass = "conjunction";
      881|       check = x: t1.check x || t2.check x;
         |               ^
      882|       merge = loc: defs:

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:881:32:

      880|       descriptionClass = "conjunction";
      881|       check = x: t1.check x || t2.check x;
         |                                ^
      882|       merge = loc: defs:

   … while calling 'check'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:520:15:

      519|       descriptionClass = "noun";
      520|       check = x: isStringLike x && builtins.substring 0 1 (toString x) == "/";
         |               ^
      521|       merge = mergeEqualOption;

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/pkgs/stdenv/generic/make-derivation.nix:349:9:

      348|         in
      349|         lib.strings.sanitizeDerivationName (
         |         ^
      350|           if attrs ? name

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/strings.nix:1180:3:

     1179|   in
     1180|   string:
         |   ^
     1181|   # First detect the common case of already valid strings, to speed those up

   … from call site

     at /nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/WIP-python-pdm/default.nix:140:34:

      139|             else throw "Invalid sourceSelector: ${cfg.sourceSelector}";
      140|           source = pkg.sources.${selector (lib.attrNames pkg.sources)};
         |                                  ^
      141|         in {

   … while calling 'merge'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:657:9:

      656|       merge = loc: defs:
      657|         fnArgs: (mergeDefinitions (loc ++ [ "<function body>" ]) elemType (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs)).mergedValue;
         |         ^
      658|       getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "<function body>" ]);

   … while calling anonymous lambda

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:824:28:

      823|         # Process mkMerge and mkIf properties.
      824|         defs' = concatMap (m:
         |                            ^
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))

   … while evaluating definitions from `/nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/WIP-python-pdm, via option groups.default.packages.pyqt5-qt5."5.15.13".module':

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:825:137:

      824|         defs' = concatMap (m:
      825|           map (value: { inherit (m) file; inherit value; }) (builtins.addErrorContext "while evaluating definitions from `${m.file}':" (dischargeProperties m.value))
         |                                                                                                                                         ^
      826|         ) defs;

   … while calling 'dischargeProperties'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/modules.nix:896:25:

      895|   */
      896|   dischargeProperties = def:
         |                         ^
      897|     if def._type or "" == "merge" then

   … from call site

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:657:114:

      656|       merge = loc: defs:
      657|         fnArgs: (mergeDefinitions (loc ++ [ "<function body>" ]) elemType (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs)).mergedValue;
         |                                                                                                                  ^
      658|       getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "<function body>" ]);

   … while calling 'merge'

     at /nix/store/bv68i4l7g6s5sixxm0c9lcjdxhlkg0n5-source/lib/types.nix:657:9:

      656|       merge = loc: defs:
      657|         fnArgs: (mergeDefinitions (loc ++ [ "<function body>" ]) elemType (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs)).mergedValue;
         |         ^
      658|       getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "<function body>" ]);

   error: A definition for option `pdm.sourceSelector.<function body>' is not of type `string'. Definition values:
   - In `/nix/store/d9gh4yrnygb0dz5vjfzpy6k6ar2m3k07-source/modules/dream2nix/WIP-python-pdm': null

@DavHau
Copy link
Member

DavHau commented Mar 27, 2024

I have added a better error message for this in the mean time. Though the root cause of it is that the python version of the pdm lock file doesn't align with the python version used by dream2nix evaluation for some reason

@purepani
Copy link
Contributor

purepani commented May 3, 2024

@InLaw This should be solved by #945 if you would like to try it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants