Skip to content

Overriding python wrapper paths is painful/impossible #23639

@copumpkin

Description

@copumpkin

Context: I'd like to be able to have an efficient buildbot.withPackages because its configuration can request arbitrary python packages at runtime depending on the configuration. The derivation currently has a plugins parameter but that rebuilds the entire buildbot derivation (and runs the tests) each time, even though it doesn't really make any difference to the buildbot derivation and only affects the path we throw into the wrapper binary.

I poked around and found that wrapping python derivations isn't optional, in here. Furthermore, there are two levels of path injection: there's a python script that uses functools.reduce to inject the python library dependency paths into the search path in a python shim, and then the result of that still gets wrapped with wrapProgram.

Basically, I'm looking for a good way to defer all the magic python wrapping until later, when I know the full set of paths I want to inject. I can't really use the python.withPackages approach because that relies on how the python derivation works.

cc @FRidh @nand0p @domenkozar @garbas

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions