[packages/gi-docgen] - updated to 2022.1 - removed obsolete qualify_type patch
qboosh
qboosh at pld-linux.org
Mon Feb 14 21:11:33 CET 2022
commit 9aa03e50406a02383ad8e33c6782d249d620808c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Mon Feb 14 21:13:17 2022 +0100
- updated to 2022.1
- removed obsolete qualify_type patch
gi-docgen.spec | 10 ++---
qualify_type.patch | 122 -----------------------------------------------------
2 files changed, 4 insertions(+), 128 deletions(-)
---
diff --git a/gi-docgen.spec b/gi-docgen.spec
index e81d58c..1835d15 100644
--- a/gi-docgen.spec
+++ b/gi-docgen.spec
@@ -5,13 +5,12 @@
Summary: Documentation tool for GObject-based libraries
Summary(pl.UTF-8): Narzędzie do dokumentowania bibliotek opartych na GObject
Name: gi-docgen
-Version: 2021.8
-Release: 2
+Version: 2022.1
+Release: 1
License: Apache v2.0 or GPL v3+
Group: Development/Tools
-Source0: https://download.gnome.org/sources/gi-docgen/2021/%{name}-%{version}.tar.xz
-# Source0-md5: 39693836341205e2d514b3eb05a9ec8a
-Patch0: qualify_type.patch
+Source0: https://download.gnome.org/sources/gi-docgen/2022/%{name}-%{version}.tar.xz
+# Source0-md5: d1356a4403228c0a4c3b2eedccae95d6
URL: https://gitlab.gnome.org/GNOME/gi-docgen
BuildRequires: python3-modules >= 1:3.6
BuildRequires: python3-setuptools
@@ -60,7 +59,6 @@ Dokumentacja do narzędzia GI-Docgen.
%prep
%setup -q
-%patch0 -p1
%build
%py3_build
diff --git a/qualify_type.patch b/qualify_type.patch
deleted file mode 100644
index 5e1514e..0000000
--- a/qualify_type.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 72f3c5dbe27aabb5f7a376afda23f3dfc3c2e212 Mon Sep 17 00:00:00 2001
-From: Emmanuele Bassi <ebassi at gnome.org>
-Date: Thu, 28 Oct 2021 19:17:06 +0100
-Subject: [PATCH] gir: Do not qualify type names that are already qualified
-
-Otherwise we're going to duplicate the namespace of a type, and then
-splitting the namespace from the type name won't work any more.
-
-We already do this for class ancestors, but we failed to do this for
-interface requirements and class implementations.
-
-Fixes: #111
----
- gidocgen/gdgenerate.py | 1 +
- gidocgen/gir/ast.py | 48 +++++++++++++++++++++++++++---------------
- gidocgen/gir/parser.py | 2 +-
- 3 files changed, 33 insertions(+), 18 deletions(-)
-
-diff --git a/gidocgen/gdgenerate.py b/gidocgen/gdgenerate.py
-index 6c84777..c705777 100644
---- a/gidocgen/gdgenerate.py
-+++ b/gidocgen/gdgenerate.py
-@@ -1153,6 +1153,7 @@ class TemplateInterface:
- self.requires_ctype = requires.ctype
-
- self.requires_fqtn = f"{self.requires_namespace}.{self.requires_name}"
-+ log.debug(f"Preqrequisite for {self.fqtn}: {self.requires_fqtn}")
-
- self.symbol_prefix = f"{namespace.symbol_prefix[0]}_{interface.symbol_prefix}"
- self.type_cname = interface.base_ctype
-diff --git a/gidocgen/gir/ast.py b/gidocgen/gir/ast.py
-index 650b4cc..8a7294a 100644
---- a/gidocgen/gir/ast.py
-+++ b/gidocgen/gir/ast.py
-@@ -970,13 +970,14 @@ class Repository:
-
- def resolve_interface_requires(self) -> None:
- def find_prerequisite_type(includes, ns, name):
-- for repo in includes.values():
-- if repo.namespace.name != ns:
-- continue
-- prereq = repo.namespace.find_prerequisite_type(name)
-- if prereq is not None:
-- return Type(name=f"{repo.namespace.name}.{prereq.name}", ctype=prereq.ctype)
-- return None
-+ repository = includes.get(ns)
-+ if repository is None:
-+ return None
-+ prereq = repository.namespace.find_prerequisite_type(name)
-+ # If the prerequisite type is unqualified, then we qualify it here
-+ if '.' not in prereq.name:
-+ prereq.name = f"{repository.namespace.name}.{prereq.name}"
-+ return prereq
-
- ifaces = self.namespace.get_interfaces()
- for iface in ifaces:
-@@ -993,12 +994,24 @@ class Repository:
- prerequisite = self.namespace.find_prerequisite_type(iface.prerequisite.name)
- if prerequisite is not None:
- if prerequisite.ctype is None:
-- t = self._lookup_type(prerequisite.name)
-- prerequisite.ctype = t.ctype
-+ if '.' not in prerequisite.name:
-+ name = f"{self.namespace.name}.{prerequisite.name}"
-+ else:
-+ name = prerequisite.name
-+ t = self._lookup_type(name)
-+ if t is not None:
-+ prerequisite.ctype = t.ctype
-+ else:
-+ # This is kind of a kludge, but apparently we can get into
-+ # class definitions missing a c:type; if that happens, we
-+ # take the identifier prefix of the namespace and append the
-+ # class name, because that's the inverse of how g-ir-scanner
-+ # determines the class name
-+ prerequisite.ctype = f"{self.namespace.identifier_prefix[0]}{prerequisite.name}"
- iface.prerequisite = prerequisite
- log.debug(f"Prerequisite type for interface {iface}: {iface.prerequisite}")
-
-- def resolve_class_type(self) -> None:
-+ def resolve_class_ctype(self) -> None:
- classes = self.namespace.get_classes()
- for cls in classes:
- if cls.ctype is None:
-@@ -1020,13 +1033,14 @@ class Repository:
-
- def resolve_class_implements(self) -> None:
- def find_interface_type(includes, ns, name):
-- for repo in includes.values():
-- if repo.namespace.name != ns:
-- continue
-- iface = repo.namespace.find_interface(name)
-- if iface is not None:
-- return Type(name=f"{repo.namespace.name}.{iface.name}", ctype=iface.ctype)
-- return None
-+ repository = includes.get(ns)
-+ if repository is None:
-+ return None
-+ iface = repository.namespace.find_interface(name)
-+ # If the interface type is unqualified, then we qualify it here
-+ if '.' not in iface.name:
-+ iface.name = f"{repository.namespace.name}.{iface.name}"
-+ return iface
-
- classes = self.namespace.get_classes()
- for cls in classes:
-diff --git a/gidocgen/gir/parser.py b/gidocgen/gir/parser.py
-index cdab096..df155cb 100644
---- a/gidocgen/gir/parser.py
-+++ b/gidocgen/gir/parser.py
-@@ -96,7 +96,7 @@ class GirParser:
- repository.girfile = girfile.name
- self._repository = repository
- self._repository.resolve_empty_ctypes(self._seen_types)
-- self._repository.resolve_class_type()
-+ self._repository.resolve_class_ctype()
- self._repository.resolve_class_implements()
- self._repository.resolve_class_ancestors()
- self._repository.resolve_class_descendants()
---
-GitLab
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/gi-docgen.git/commitdiff/9aa03e50406a02383ad8e33c6782d249d620808c
More information about the pld-cvs-commit
mailing list