mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-21 04:49:01 +02:00
gobject-introspection: fix .override when the wrapper is in use
This commit is contained in:
parent
77085e9b2b
commit
d2e484dba2
|
@ -1,13 +1,22 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, buildPackages
|
, buildPackages
|
||||||
, gobject-introspection-unwrapped
|
|
||||||
, targetPackages
|
, targetPackages
|
||||||
}:
|
, gobject-introspection-unwrapped
|
||||||
|
, ...
|
||||||
|
}@_args:
|
||||||
|
|
||||||
# to build, run
|
# to build, run
|
||||||
# `nix build ".#pkgsCross.aarch64-multiplatform.buildPackages.gobject-introspection"`
|
# 'nix build ".#pkgsCross.aarch64-multiplatform.buildPackages.gobject-introspection"'
|
||||||
gobject-introspection-unwrapped.overrideAttrs (_previousAttrs: {
|
|
||||||
|
let
|
||||||
|
# ensure that `.override` works when gobject-introspection == gobject-introspection-wrapped
|
||||||
|
args = builtins.removeAttrs _args [ "buildPackages" "targetPackages" "gobject-introspection-unwrapped" ];
|
||||||
|
# passing this stdenv to `targetPackages...` breaks due to splicing not working in `.override``
|
||||||
|
argsForTarget = builtins.removeAttrs args [ "stdenv" ];
|
||||||
|
in
|
||||||
|
|
||||||
|
(gobject-introspection-unwrapped.override args).overrideAttrs (_previousAttrs: {
|
||||||
pname = "gobject-introspection-wrapped";
|
pname = "gobject-introspection-wrapped";
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
mv $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped
|
mv $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped
|
||||||
|
@ -18,7 +27,7 @@ gobject-introspection-unwrapped.overrideAttrs (_previousAttrs: {
|
||||||
export emulator=${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)}
|
export emulator=${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)}
|
||||||
export buildprelink="${buildPackages.prelink}/bin/prelink-rtld"
|
export buildprelink="${buildPackages.prelink}/bin/prelink-rtld"
|
||||||
|
|
||||||
export targetgir="${lib.getDev targetPackages.gobject-introspection-unwrapped}"
|
export targetgir="${lib.getDev (targetPackages.gobject-introspection-unwrapped.override argsForTarget)}"
|
||||||
|
|
||||||
substituteAll "${./wrappers/g-ir-compiler.sh}" "$dev/bin/g-ir-compiler"
|
substituteAll "${./wrappers/g-ir-compiler.sh}" "$dev/bin/g-ir-compiler"
|
||||||
substituteAll "${./wrappers/g-ir-scanner.sh}" "$dev/bin/g-ir-scanner"
|
substituteAll "${./wrappers/g-ir-scanner.sh}" "$dev/bin/g-ir-scanner"
|
||||||
|
|
Loading…
Reference in a new issue