used the following as references https://github.com/void-linux/void-packages/blob/master/srcpkgs/gobject-introspection and https://git.busybox.net/buildroot/tree/package/gobject-introspection thanks void and buildrootmain
parent
163ffce31d
commit
79d349b087
@ -0,0 +1,30 @@ |
||||
From e0fc4a2a5161a36483ddc518be9bb14390f11b19 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Wed, 5 Sep 2018 16:46:52 +0200
|
||||
Subject: [PATCH] giscanner: ignore error return codes from ldd-wrapper
|
||||
|
||||
prelink-rtld, which we use instead of ldd returns 127 when it can't find a library.
|
||||
It is not an error per se, but it breaks subprocess.check_output().
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
||||
---
|
||||
giscanner/shlibs.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
|
||||
index 9f8ab5df..7a1a72fe 100644
|
||||
--- a/giscanner/shlibs.py
|
||||
+++ b/giscanner/shlibs.py
|
||||
@@ -103,7 +103,7 @@ def _resolve_non_libtool(options, binary, libraries):
|
||||
args.extend(['otool', '-L', binary.args[0]])
|
||||
else:
|
||||
args.extend(['ldd', binary.args[0]])
|
||||
- output = subprocess.check_output(args)
|
||||
+ output = subprocess.run(args, check=False, stdout=subprocess.PIPE).stdout
|
||||
if isinstance(output, bytes):
|
||||
output = output.decode("utf-8", "replace")
|
||||
|
||||
--
|
||||
2.25.1
|
@ -0,0 +1,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" |
||||
) |
||||
''; |
||||
}) |
@ -0,0 +1,4 @@ |
||||
#! @bash@ |
||||
# shellcheck shell=bash |
||||
|
||||
exec @emulator@ @targetgir@/bin/g-ir-compiler "$@" |
@ -0,0 +1,7 @@ |
||||
#! @bash@ |
||||
# shellcheck shell=bash |
||||
|
||||
exec @dev@/bin/.g-ir-scanner-wrapped \ |
||||
--use-binary-wrapper=@emulator@ \ |
||||
--use-ldd-wrapper=@buildprelink@ \ |
||||
"$@" |
Loading…
Reference in new issue