deleted file mode 100644
@@ -1,29 +0,0 @@
-From 952e2e2bb6a22ec8824223b03b65cb28361c6e34 Mon Sep 17 00:00:00 2001
-From: Adam Duskett <aduskett@gmail.com>
-Date: Wed, 14 Mar 2018 12:07:10 -0400
-Subject: [PATCH] Add rpath links to ccompiler
-
-This patch allows gobject-introspection to process extra paths passed to the
-compiler via the GIR_EXTRA_LIBS_PATH variable.
-
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- giscanner/ccompiler.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
-index cb97e76f..d29b28c8 100644
---- a/giscanner/ccompiler.py
-+++ b/giscanner/ccompiler.py
-@@ -266,6 +266,8 @@ class CCompiler(object):
-
- for envvar in runtime_path_envvar:
- if envvar in os.environ:
-+ for envvar_path in os.environ[envvar].split(':'):
-+ args.append("-Wl,-rpath-link," + envvar_path)
- os.environ[envvar] = \
- os.pathsep.join(runtime_paths + [os.environ[envvar]])
- else:
-2.25.1
-
deleted file mode 100644
@@ -1,31 +0,0 @@
-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
-
@@ -1,3 +1,3 @@
#!/usr/bin/env sh
-"${HOST_DIR}"/sbin/prelink-rtld --root="$(dirname "$0")/../../" "$@"
+@OBJDUMP@ -p "$@"
@@ -15,7 +15,6 @@ GOBJECT_INTROSPECTION_LICENSE_FILES = COPYING.LGPL COPYING.GPL giscanner/scanner
GOBJECT_INTROSPECTION_DEPENDENCIES = \
host-autoconf-archive \
host-gobject-introspection \
- host-prelink-cross \
host-qemu \
libffi \
libglib2 \
@@ -78,7 +77,8 @@ define GOBJECT_INTROSPECTION_INSTALL_PRE_WRAPPERS
$(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-lddwrapper.in \
$(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper
-
+ $(SED) "s%@OBJDUMP@%$(TARGET_OBJDUMP)%g" \
+ $(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper
$(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-qemuwrapper.in \
$(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper
$(SED) "s%@QEMU_USER@%$(QEMU_USER)%g" \
Internally, gobject-introspection processes the output of ldd with regexes, and works properly with what objdump -p is printing. Gobject-introspection only resolves the library name as passed to the linker to the library file name and does not need the recursive resolution that ldd is doing and objdump is not. This change also allows us to remove patches 0002 and 0003 as they are prelink-rtld specific. Tested on Fedora 39 and Debian 11, with AArch64, X86_64, and S390x. Also tested with: ./support/testing/run-tests tests.package.test_python_gobject Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com> --- .../0002-Add-rpath-links-to-ccompiler.patch | 29 ----------------- ...-error-return-codes-from-ldd-wrapper.patch | 31 ------------------- .../g-ir-scanner-lddwrapper.in | 2 +- .../gobject-introspection.mk | 4 +-- 4 files changed, 3 insertions(+), 63 deletions(-) delete mode 100644 package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch delete mode 100644 package/gobject-introspection/0003-giscanner-ignore-error-return-codes-from-ldd-wrapper.patch