gnu: gobject-introspection: Update to 1.68.0 and adjust patches.
* gnu/packages/glib.scm (gobject-introspection)[version]: Update to 1.68.0. * gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch: Modify. * gnu/packages/patches/gobject-introspection-cc.patch: Modify.master
parent
693d75e859
commit
426038df3b
|
@ -388,14 +388,14 @@ functions for strings and common data structures.")
|
|||
(define gobject-introspection
|
||||
(package
|
||||
(name "gobject-introspection")
|
||||
(version "1.66.1")
|
||||
(version "1.68.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/"
|
||||
"gobject-introspection/" (version-major+minor version)
|
||||
"/gobject-introspection-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "078n0q7b6z682mf4irclrksm73cyixq295mqnqifl9plwmgaai6x"))
|
||||
(base32 "09sawnv3xj9pzgy2qrrk87dl3jibfphnswb61i5bh0d2h4j28afj"))
|
||||
(patches (search-patches
|
||||
"gobject-introspection-cc.patch"
|
||||
"gobject-introspection-girepository.patch"
|
||||
|
|
|
@ -1,11 +1,23 @@
|
|||
# Names of libraries included in typelib files are opened by dlopen. Here we
|
||||
# add the full path.
|
||||
#
|
||||
# This patch was provided by Luca Bruno <lucabru@src.gnome.org> for
|
||||
# 'gobject-introspection' 1.40.0 in Nix.
|
||||
#
|
||||
# It has since been updated to work with newer versions of
|
||||
# gobject-introspection.
|
||||
From 8471367e35e122fb6e661c243810df92c69440b4 Mon Sep 17 00:00:00 2001
|
||||
From: Raghav Gururajan <rg@raghavgururajan.name>
|
||||
Date: Tue, 7 Sep 2021 17:15:18 -0400
|
||||
Subject: Names of libraries included in typelib files are opened
|
||||
by dlopen. Here we add the full path.
|
||||
|
||||
This patch was provided by Luca Bruno <lucabru@src.gnome.org>,
|
||||
for 'gobject-introspection' 1.40.0 in Nix.
|
||||
|
||||
It has since been updated to work with newer versions of
|
||||
gobject-introspection.
|
||||
---
|
||||
giscanner/scannermain.py | 37 ++++++++++++++++++++++++++++++++++++
|
||||
giscanner/shlibs.py | 30 ++++++++++++++++++++---------
|
||||
giscanner/utils.py | 15 +++++----------
|
||||
tests/scanner/test_shlibs.py | 3 ++-
|
||||
4 files changed, 65 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
|
||||
index 957ba0b7..78f9b11b 100644
|
||||
--- a/giscanner/scannermain.py
|
||||
+++ b/giscanner/scannermain.py
|
||||
@@ -95,6 +95,39 @@ def get_windows_option_group(parser):
|
||||
|
@ -48,7 +60,7 @@
|
|||
def _get_option_parser():
|
||||
parser = optparse.OptionParser('%prog [options] sources',
|
||||
version='%prog ' + giscanner.__version__)
|
||||
@@ -205,6 +238,10 @@ match the namespace prefix.""")
|
||||
@@ -214,6 +247,10 @@ match the namespace prefix.""")
|
||||
parser.add_option("", "--filelist",
|
||||
action="store", dest="filelist", default=[],
|
||||
help="file containing headers and sources to be scanned")
|
||||
|
@ -59,6 +71,8 @@
|
|||
|
||||
group = get_preprocessor_option_group(parser)
|
||||
parser.add_option_group(group)
|
||||
diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
|
||||
index 9f8ab5df..8aa37c99 100644
|
||||
--- a/giscanner/shlibs.py
|
||||
+++ b/giscanner/shlibs.py
|
||||
@@ -57,6 +57,14 @@ def _ldd_library_pattern(library_name):
|
||||
|
@ -76,7 +90,7 @@
|
|||
# This is a what we do for non-la files. We assume that we are on an
|
||||
# ELF-like system where ldd exists and the soname extracted with ldd is
|
||||
# a filename that can be opened with dlopen().
|
||||
@@ -106,7 +112,8 @@ def _resolve_non_libtool(options, binary, libraries):
|
||||
@@ -108,7 +116,8 @@ def _resolve_non_libtool(options, binary, libraries):
|
||||
output = output.decode("utf-8", "replace")
|
||||
|
||||
shlibs = resolve_from_ldd_output(libraries, output)
|
||||
|
@ -86,7 +100,7 @@
|
|||
|
||||
|
||||
def sanitize_shlib_path(lib):
|
||||
@@ -115,19 +122,18 @@ def sanitize_shlib_path(lib):
|
||||
@@ -117,19 +126,18 @@ def sanitize_shlib_path(lib):
|
||||
# In case we get relative paths on macOS (like @rpath) then we fall
|
||||
# back to the basename as well:
|
||||
# https://gitlab.gnome.org/GNOME/gobject-introspection/issues/222
|
||||
|
@ -111,7 +125,7 @@
|
|||
if len(patterns) == 0:
|
||||
return []
|
||||
|
||||
@@ -139,8 +145,12 @@ def resolve_from_ldd_output(libraries, output):
|
||||
@@ -141,8 +149,12 @@ def resolve_from_ldd_output(libraries, output):
|
||||
if line.endswith(':'):
|
||||
continue
|
||||
for word in line.split():
|
||||
|
@ -126,10 +140,11 @@
|
|||
if m:
|
||||
del patterns[library]
|
||||
shlibs.append(m.group())
|
||||
|
||||
diff --git a/giscanner/utils.py b/giscanner/utils.py
|
||||
index 45807f17..8a319cd1 100644
|
||||
--- a/giscanner/utils.py
|
||||
+++ b/giscanner/utils.py
|
||||
@@ -111,17 +111,11 @@ def extract_libtool_shlib(la_file):
|
||||
@@ -113,16 +113,11 @@ def extract_libtool_shlib(la_file):
|
||||
if dlname is None:
|
||||
return None
|
||||
|
||||
|
@ -141,8 +156,7 @@
|
|||
- if libdir is None:
|
||||
- return dlbasename
|
||||
- return libdir + '/' + dlbasename
|
||||
- # From the comments in extract_libtool(), older libtools had
|
||||
- # a path rather than the raw dlname
|
||||
- # Older libtools had a path rather than the raw dlname
|
||||
- return os.path.basename(dlname)
|
||||
+ dlbasename = os.path.basename(dlname)
|
||||
+ libdir = _extract_libdir_field(la_file)
|
||||
|
@ -151,10 +165,12 @@
|
|||
+ return libdir + '/' + dlbasename
|
||||
|
||||
|
||||
def extract_libtool(la_file):
|
||||
# Returns arguments for invoking libtool, if applicable, otherwise None
|
||||
diff --git a/tests/scanner/test_shlibs.py b/tests/scanner/test_shlibs.py
|
||||
index a8337c60..7f123103 100644
|
||||
--- a/tests/scanner/test_shlibs.py
|
||||
+++ b/tests/scanner/test_shlibs.py
|
||||
@@ -40,6 +64,7 @@ class TestLddParser(unittest.TestCase):
|
||||
@@ -40,7 +40,8 @@ class TestLddParser(unittest.TestCase):
|
||||
|
||||
self.assertEqual(
|
||||
sanitize_shlib_path('/foo/bar'),
|
||||
|
@ -163,4 +179,7 @@
|
|||
+ '/foo/bar')
|
||||
|
||||
def test_unresolved_library(self):
|
||||
output = ''
|
||||
output = ''
|
||||
--
|
||||
2.33.0
|
||||
|
||||
|
|
|
@ -1,14 +1,25 @@
|
|||
Use gcc as the default C compiler if CC is not set.
|
||||
From e9b8fa0768a1f0ef7df2659eb559f48433ff82be Mon Sep 17 00:00:00 2001
|
||||
From: Raghav Gururajan <rg@raghavgururajan.name>
|
||||
Date: Tue, 7 Sep 2021 16:59:16 -0400
|
||||
Subject: Use gcc as the default C compiler if CC is not set.
|
||||
|
||||
diff -ru gobject-introspection-1.58.1.orig/giscanner/__init__.py gobject-introspection-1.58.1/giscanner/__init__.py
|
||||
--- gobject-introspection-1.58.1.orig/giscanner/__init__.py 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ gobject-introspection-1.58.1/giscanner/__init__.py 2018-12-03 13:33:28.788971299 +0100
|
||||
@@ -22,6 +22,8 @@
|
||||
---
|
||||
giscanner/__init__.py | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/giscanner/__init__.py b/giscanner/__init__.py
|
||||
index 7c2f365a..607fe341 100644
|
||||
--- a/giscanner/__init__.py
|
||||
+++ b/giscanner/__init__.py
|
||||
@@ -21,6 +21,8 @@ import os
|
||||
builddir = os.environ.get('UNINSTALLED_INTROSPECTION_BUILDDIR')
|
||||
if builddir is not None:
|
||||
__path__.append(os.path.join(builddir, 'giscanner'))
|
||||
__path__.append(os.path.join(builddir, 'giscanner')) # type: ignore # mypy issue #1422
|
||||
+if not 'CC' in os.environ:
|
||||
+ os.environ['CC'] = 'gcc'
|
||||
try:
|
||||
from ._version import __version__
|
||||
except ImportError:
|
||||
--
|
||||
2.33.0
|
||||
|
||||
|
|
Reference in New Issue