summary refs log tree commit diff
path: root/pkgs/development/libraries/gobject-introspection/wrapper.nix
blob: 44d31540e645628d97b30b5f18642e3c3ed73523 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{ lib
, stdenv
, buildPackages
, gobject-introspection-unwrapped
, targetPackages
}:

# to build, run
# `nix build ".#pkgsCross.aarch64-multiplatform.buildPackages.gobject-introspection"`
gobject-introspection-unwrapped.overrideAttrs (_previousAttrs: {
  pname = "gobject-introspection-wrapped";
  postFixup = ''
    mv $dev/bin/g-ir-compiler $dev/bin/.g-ir-compiler-wrapped
    mv $dev/bin/g-ir-scanner $dev/bin/.g-ir-scanner-wrapped

    (
      export bash="${buildPackages.bash}/bin/bash"
      export emulator=${lib.escapeShellArg (stdenv.targetPlatform.emulator buildPackages)}
      export buildprelink="${buildPackages.prelink}/bin/prelink-rtld"

      export targetgir="${lib.getDev targetPackages.gobject-introspection-unwrapped}"

      substituteAll "${./wrappers/g-ir-compiler.sh}" "$dev/bin/g-ir-compiler"
      substituteAll "${./wrappers/g-ir-scanner.sh}" "$dev/bin/g-ir-scanner"
      chmod +x "$dev/bin/g-ir-compiler"
      chmod +x "$dev/bin/g-ir-scanner"
    )
  '';
})