diff options
| author | Artturin <Artturin@artturin.com> | 2024-11-03 00:48:35 +0200 |
|---|---|---|
| committer | Artturin <Artturin@artturin.com> | 2024-11-07 23:44:23 +0200 |
| commit | 277a2669d2a5600435c4f0a4c29b93cd3833cea9 (patch) | |
| tree | 1dc062bf53dafadeef09d95f4c963623ca6782aa /pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch | |
| parent | 7966d83510c7736aae77a4b3ab9962ced4070c35 (diff) | |
gobject-introspection: Conditionalize `depsTargetTargetPropagated`
Fixes ↓
```
nix-repl> pkgsCross.x86_64-freebsd.pkgsBuildHost.gobject-introspection
error: Don't know how to run x86_64-unknown-freebsd executables.
```
The unwrapped already doesn't error
```
nix-repl> pkgsCross.x86_64-freebsd.pkgsBuildHost.gobject-introspection-unwrapped
«derivation /nix/store/xq4q4vigy2glmfng2h6bbr4sysyk8ipz-gobject-introspection-1.82.0.drv»
```
https://www.github.com/NixOS/nixpkgs/blob/7b1cffdd2e13b2cdad5b37e259016efd0ea48fcd/pkgs/development/libraries/gobject-introspection/default.nix#L114
It's caused by `depsTargetTargetPropagated = [ overridenTargetUnwrappedGir ];` in the wrapper
In `graphene` there is
`PATH=${python3.withPackages (pp: [ pp.pygobject3 pp.tappy ])}/bin:$PATH patchShebangs tests/introspection.py`
Which causes the `Don't know` error in `pkgsCross.x86_64-freebsd.pkgsBuildHost.graphene`
because `python3` and `pygobject3` will be from `pkgsHostTarget`
and then `pygobject3` has `gobject-introspection` from `pkgsHostTarget`
and then that `gobject-introspection` will have `pkgsCross.x86_64-freebsd.pkgsCross.x86_64-freebsd.buildPackages.pkgsTargetTarget.gobject-introspection.gobject-introspection` in `depsTargetTargetPropagated`
To test that importing the python library `gi` works without `depsTargetTargetPropagated`
```nix
let
pkgs =
(import ./. {
crossSystem = (import ./lib).systems.examples.aarch64-multiplatform;
# On `master` uncomment this and comment `propagatedBuildInputs` below and you'll get
# error: Don't know how to run x86_64-unknown-freebsd executables.
#crossSystem = (import ./lib).systems.examples.x86_64-freebsd;
overlays = [
(_: prev: {
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
(_: pprev: {
pygobject3-test = pprev.pygobject3.overrideAttrs {
propagatedBuildInputs = [
pprev.pycairo
(prev.gobject-introspection.overrideAttrs { depsTargetTargetPropagated = [ ]; })
];
};
})
];
})
];
}).pkgs;
pyr = pkgs.pkgsBuildHost.python3Packages.python.withPackages (pp: [ pp.pygobject3-test ]);
in
pkgs.pkgsBuildBuild.runCommand "test" { } ''
"${pyr.interpreter}" -c "import gi" && touch "$out"
''
```
Diffstat (limited to 'pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch')
0 files changed, 0 insertions, 0 deletions
