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

Import-from-derivation (IDF) in poetry2nix/orjson #1736

Open
TyberiusPrime opened this issue Jul 15, 2024 · 0 comments
Open

Import-from-derivation (IDF) in poetry2nix/orjson #1736

TyberiusPrime opened this issue Jul 15, 2024 · 0 comments

Comments

@TyberiusPrime
Copy link
Contributor

TyberiusPrime commented Jul 15, 2024

Building a project requiring orjson (3.10.6, but shouldn't matter, also happens with versions where a cargoHash is present)
with --no-allow-import-from-derivation fails around this section of
the overrides

cargoDeps = pkgs.rustPlatform.importCargoLock {
              lockFile = "${src.out}/Cargo.lock";
            };

traceback
error:
       … while calling the 'derivationStrict' builtin

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

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

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

         at /nix/store/wzx1ba5hqqfa23vfrvqmfmkpj25p37mr-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/wzx1ba5hqqfa23vfrvqmfmkpj25p37mr-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/wzx1ba5hqqfa23vfrvqmfmkpj25p37mr-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;

       … from call site

         at /nix/store/wzx1ba5hqqfa23vfrvqmfmkpj25p37mr-source/pkgs/development/interpreters/python/with-packages.nix:3:19:

            2|
            3| f: let packages = f pythonPackages; in buildEnv.override { extraLibs = packages; }
             |                   ^
            4|

       … while calling anonymous lambda

         at /nix/store/8sdcfsh1r30njccd6lanh4carvi7n9n5-source/default.nix:361:39:

          360|     in
          361|     poetryPython.python.withPackages (ps: envPkgs ++ (extraPackages ps));
             |                                       ^
          362|

       … from call site

         at /nix/store/8sdcfsh1r30njccd6lanh4carvi7n9n5-source/default.nix:289:23:

          288|       */
          289|       storePackages = requiredPythonModules (builtins.foldl' (acc: v: acc ++ v) [ ] (lib.attrValues inputAttrs));
             |                       ^
          290|     in

       … while calling 'requiredPythonModules'

         at /nix/store/wzx1ba5hqqfa23vfrvqmfmkpj25p37mr-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/wzx1ba5hqqfa23vfrvqmfmkpj25p37mr-source/lib/lists.nix:1793:25:

         1792|   */
         1793|   unique = foldl' (acc: e: if elem e acc then acc else acc ++ [ e ]) [];
             |                         ^
         1794|

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

       … while evaluating attribute 'cargoDeps' of derivation 'python3.12-orjson-3.10.6'

         at /nix/store/8sdcfsh1r30njccd6lanh4carvi7n9n5-source/overrides/default.nix:1999:13:

         1998|             inherit src;
         1999|             cargoDeps = pkgs.rustPlatform.importCargoLock {
             |             ^
         2000|               lockFile = "${src.out}/Cargo.lock";

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

       … while evaluating attribute 'buildCommand' of derivation 'cargo-vendor-dir'

         at /nix/store/wzx1ba5hqqfa23vfrvqmfmkpj25p37mr-source/pkgs/build-support/trivial-builders/default.nix:68:16:

           67|         enableParallelBuilding = true;
           68|         inherit buildCommand name;
             |                ^
           69|         passAsFile = [ "buildCommand" ]

       error: cannot build '/nix/store/vbxj4v2i5m3hm9akdczralrfsfvf4az4-source.drv^out' during evaluation because the option 'allow-import-from-derivation' is disabled
@TyberiusPrime TyberiusPrime changed the title Import-from-derivation (IDF) in nixpkgs Import-from-derivation (IDF) in poetry2nix/orjson Jul 15, 2024
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

1 participant