Update to 2023.1 (close RHBZ#2158850)
This commit is contained in:
parent
44c30c16e6
commit
e0d8399cab
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@
|
|||||||
/gi-docgen-2021.8.tar.bz2
|
/gi-docgen-2021.8.tar.bz2
|
||||||
/gi-docgen-2022.1.tar.bz2
|
/gi-docgen-2022.1.tar.bz2
|
||||||
/gi-docgen-2022.2.tar.bz2
|
/gi-docgen-2022.2.tar.bz2
|
||||||
|
/gi-docgen-2023.1.tar.bz2
|
||||||
|
@ -1,340 +0,0 @@
|
|||||||
From 298e37032ddec9a07e6cb396df3327200134230c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Seppo Yli-Olli <seppo.yliolli@gmail.com>
|
|
||||||
Date: Sat, 8 Oct 2022 22:36:49 +0300
|
|
||||||
Subject: [PATCH] Use tomllib in gi-docgen with fallback to tomli on older
|
|
||||||
Python
|
|
||||||
|
|
||||||
---
|
|
||||||
.gitlab-ci.yml | 11 ++++++++++-
|
|
||||||
gidocgen/config.py | 15 ++++++++++-----
|
|
||||||
meson.build | 10 +++++++++-
|
|
||||||
pyproject.toml | 2 +-
|
|
||||||
setup.cfg | 2 +-
|
|
||||||
5 files changed, 31 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
|
||||||
index 780d46f..b55f150 100644
|
|
||||||
--- a/.gitlab-ci.yml
|
|
||||||
+++ b/.gitlab-ci.yml
|
|
||||||
@@ -33,7 +33,16 @@ pytest:
|
|
||||||
needs: []
|
|
||||||
image: fedora:latest
|
|
||||||
script:
|
|
||||||
- - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-toml python3-typogrify
|
|
||||||
+ - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-typogrify
|
|
||||||
+ - pytest --verbose
|
|
||||||
+
|
|
||||||
+pytest-tomli:
|
|
||||||
+ # Validates that tomli configuration works correctly
|
|
||||||
+ stage: check
|
|
||||||
+ needs: []
|
|
||||||
+ image: fedora:36
|
|
||||||
+ script:
|
|
||||||
+ - dnf install -y pytest python3-markdown python3-jinja2 python3-pygments python3-tomli python3-typogrify
|
|
||||||
- pytest --verbose
|
|
||||||
|
|
||||||
flake8:
|
|
||||||
diff --git a/gidocgen/config.py b/gidocgen/config.py
|
|
||||||
index 0047568..ca79428 100644
|
|
||||||
--- a/gidocgen/config.py
|
|
||||||
+++ b/gidocgen/config.py
|
|
||||||
@@ -3,7 +3,10 @@
|
|
||||||
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
-import toml
|
|
||||||
+try:
|
|
||||||
+ import tomllib
|
|
||||||
+except ImportError:
|
|
||||||
+ import tomli as tomllib
|
|
||||||
|
|
||||||
from urllib.parse import urljoin
|
|
||||||
|
|
||||||
@@ -19,8 +22,9 @@ class GIDocConfig:
|
|
||||||
if self._config_file is not None:
|
|
||||||
try:
|
|
||||||
log.debug(f"Reading configuration file: {self._config_file}")
|
|
||||||
- self._config = toml.load(self._config_file)
|
|
||||||
- except toml.TomlDecodeError as err:
|
|
||||||
+ with open(self._config_file, "rb") as f:
|
|
||||||
+ self._config = tomllib.load(f)
|
|
||||||
+ except tomllib.TOMLDecodeError as err:
|
|
||||||
log.error(f"Invalid configuration file: {self._config_file}: {err}")
|
|
||||||
|
|
||||||
@property
|
|
||||||
@@ -243,8 +247,9 @@ class GITemplateConfig:
|
|
||||||
self._config = {}
|
|
||||||
try:
|
|
||||||
log.debug(f"Reading template configuration file: {self._config_file}")
|
|
||||||
- self._config = toml.load(self._config_file)
|
|
||||||
- except toml.TomlDecodeError as err:
|
|
||||||
+ with open(self._config_file, "rb") as f:
|
|
||||||
+ self._config = tomllib.load(f)
|
|
||||||
+ except tomllib.TOMLDecodeError as err:
|
|
||||||
log.error(f"Invalid template configuration file: {self._config_file}: {err}")
|
|
||||||
|
|
||||||
@property
|
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index bee1558..d967fd3 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -13,7 +13,6 @@ py = import('python').find_installation('python3',
|
|
||||||
'markdown',
|
|
||||||
'markupsafe',
|
|
||||||
'pygments',
|
|
||||||
- 'toml',
|
|
||||||
'typogrify',
|
|
||||||
],
|
|
||||||
)
|
|
||||||
@@ -27,6 +26,15 @@ if not markdown_version.version_compare('>=3.2')
|
|
||||||
error('gi-docgen requires at least markdown >= 3.2')
|
|
||||||
endif
|
|
||||||
|
|
||||||
+if py.language_version().version_compare('<3.11')
|
|
||||||
+ tomli_version = run_command(
|
|
||||||
+ py, '-c', 'import tomli; print(tomli.__version__)',
|
|
||||||
+ ).stdout().strip()
|
|
||||||
+ if not tomli_version.version_compare('>=1.0')
|
|
||||||
+ error('tomli 1.0 or newer required on Python 3.10 and older')
|
|
||||||
+ endif
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
configure_file(
|
|
||||||
input: 'gi-docgen.py',
|
|
||||||
output: 'gi-docgen',
|
|
||||||
diff --git a/pyproject.toml b/pyproject.toml
|
|
||||||
index 2b88735..b0b18e4 100644
|
|
||||||
--- a/pyproject.toml
|
|
||||||
+++ b/pyproject.toml
|
|
||||||
@@ -39,7 +39,7 @@ Markdown = "^3.2"
|
|
||||||
MarkupSafe = "^1"
|
|
||||||
Pygments = "^2"
|
|
||||||
Jinja2 = "^2"
|
|
||||||
-toml = "^0"
|
|
||||||
+tomli = { version = ">=1,<3" markers = "python_version < '3.11'" }
|
|
||||||
typogrify = "^2"
|
|
||||||
|
|
||||||
[tool.poetry.dev-dependencies]
|
|
||||||
diff --git a/setup.cfg b/setup.cfg
|
|
||||||
index e7afae1..141d5e1 100644
|
|
||||||
--- a/setup.cfg
|
|
||||||
+++ b/setup.cfg
|
|
||||||
@@ -56,7 +56,7 @@ install_requires =
|
|
||||||
MarkupSafe
|
|
||||||
Pygments
|
|
||||||
jinja2
|
|
||||||
- toml
|
|
||||||
+ tomli; python_version < '3.11'
|
|
||||||
typogrify
|
|
||||||
|
|
||||||
[options.entry_points]
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
||||||
From 247818203cd948763349b42b9723d76ec637f91c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Emmanuele Bassi <ebassi@gnome.org>
|
|
||||||
Date: Tue, 29 Nov 2022 12:11:49 +0000
|
|
||||||
Subject: [PATCH] Add a fallback for the old toml module
|
|
||||||
|
|
||||||
Even if it's deprecated, to ease the porting away from it inside CI
|
|
||||||
pipelines.
|
|
||||||
---
|
|
||||||
gidocgen/config.py | 49 +++++++++++++++++++++++++++++++++-------------
|
|
||||||
1 file changed, 35 insertions(+), 14 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gidocgen/config.py b/gidocgen/config.py
|
|
||||||
index ca79428..8863ac1 100644
|
|
||||||
--- a/gidocgen/config.py
|
|
||||||
+++ b/gidocgen/config.py
|
|
||||||
@@ -3,16 +3,45 @@
|
|
||||||
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
+
|
|
||||||
+toml_module = None
|
|
||||||
try:
|
|
||||||
- import tomllib
|
|
||||||
+ import tomllib as toml_lib
|
|
||||||
+ toml_module = 'tomlib'
|
|
||||||
except ImportError:
|
|
||||||
- import tomli as tomllib
|
|
||||||
+ try:
|
|
||||||
+ import tomli as toml_lib
|
|
||||||
+ toml_module = 'tomli'
|
|
||||||
+ except ImportError:
|
|
||||||
+ import toml as toml_lib
|
|
||||||
+ toml_module = 'toml'
|
|
||||||
|
|
||||||
from urllib.parse import urljoin
|
|
||||||
|
|
||||||
from . import core, log, utils
|
|
||||||
|
|
||||||
|
|
||||||
+class TomlConfig:
|
|
||||||
+ """Wrapper class for TOML loading"""
|
|
||||||
+
|
|
||||||
+ @staticmethod
|
|
||||||
+ def load(toml):
|
|
||||||
+ log.debug(f"Using TOML module: {toml_module}")
|
|
||||||
+ if toml_module is None:
|
|
||||||
+ log.error("No toml module found")
|
|
||||||
+ elif toml_module in ['tomlib', 'tomli']:
|
|
||||||
+ try:
|
|
||||||
+ with open(toml, "rb") as f:
|
|
||||||
+ return toml_lib.load(f)
|
|
||||||
+ except toml_lib.TOMLDecodeError as err:
|
|
||||||
+ log.error(f"Invalid configuration file: {toml}: {err}")
|
|
||||||
+ elif toml_module in ['toml']:
|
|
||||||
+ try:
|
|
||||||
+ return toml_lib.load(toml)
|
|
||||||
+ except toml_lib.TomlDecodeError as err:
|
|
||||||
+ log.error(f"Invalid configuration file: {toml}: {err}")
|
|
||||||
+
|
|
||||||
+
|
|
||||||
class GIDocConfig:
|
|
||||||
"""Load and represent the configuration for gidocgen"""
|
|
||||||
def __init__(self, config_file=None):
|
|
||||||
@@ -20,12 +49,8 @@ class GIDocConfig:
|
|
||||||
|
|
||||||
self._config = {}
|
|
||||||
if self._config_file is not None:
|
|
||||||
- try:
|
|
||||||
- log.debug(f"Reading configuration file: {self._config_file}")
|
|
||||||
- with open(self._config_file, "rb") as f:
|
|
||||||
- self._config = tomllib.load(f)
|
|
||||||
- except tomllib.TOMLDecodeError as err:
|
|
||||||
- log.error(f"Invalid configuration file: {self._config_file}: {err}")
|
|
||||||
+ log.debug(f"Reading configuration file: {self._config_file}")
|
|
||||||
+ self._config = TomlConfig.load(self._config_file)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def library(self):
|
|
||||||
@@ -245,12 +270,8 @@ class GITemplateConfig:
|
|
||||||
self._config_file = os.path.join(templates_dir, template_name, f"{template_name}.toml")
|
|
||||||
|
|
||||||
self._config = {}
|
|
||||||
- try:
|
|
||||||
- log.debug(f"Reading template configuration file: {self._config_file}")
|
|
||||||
- with open(self._config_file, "rb") as f:
|
|
||||||
- self._config = tomllib.load(f)
|
|
||||||
- except tomllib.TOMLDecodeError as err:
|
|
||||||
- log.error(f"Invalid template configuration file: {self._config_file}: {err}")
|
|
||||||
+ log.debug(f"Reading template configuration file: {self._config_file}")
|
|
||||||
+ self._config = TomlConfig.load(self._config_file)
|
|
||||||
|
|
||||||
@property
|
|
||||||
def name(self):
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
||||||
From add62bee3df2418fc13543023c3c6eca3e025d65 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Emmanuele Bassi <ebassi@gnome.org>
|
|
||||||
Date: Tue, 29 Nov 2022 12:43:09 +0000
|
|
||||||
Subject: [PATCH 1/2] build: Check for toml fallback module
|
|
||||||
|
|
||||||
Emit a message when using tomli, and a warning when using toml.
|
|
||||||
---
|
|
||||||
meson.build | 15 +++++++++++++--
|
|
||||||
1 file changed, 13 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index d967fd3..f48f19e 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -29,9 +29,20 @@ endif
|
|
||||||
if py.language_version().version_compare('<3.11')
|
|
||||||
tomli_version = run_command(
|
|
||||||
py, '-c', 'import tomli; print(tomli.__version__)',
|
|
||||||
+ check: true,
|
|
||||||
).stdout().strip()
|
|
||||||
- if not tomli_version.version_compare('>=1.0')
|
|
||||||
- error('tomli 1.0 or newer required on Python 3.10 and older')
|
|
||||||
+ if tomli_version.version_compare('>=1.0')
|
|
||||||
+ message('Falling back to toml on Python <3.11')
|
|
||||||
+ else
|
|
||||||
+ toml_version = run_command(
|
|
||||||
+ py, '-c', 'import toml; print(toml.__version__)',
|
|
||||||
+ check: true,
|
|
||||||
+ ).stdout().strip()
|
|
||||||
+ if toml_version.version_compare('>=0.10.2')
|
|
||||||
+ warning('Falling back to deprecated toml module; please update to tomli')
|
|
||||||
+ else
|
|
||||||
+ error('tomli 1.0 or newer required on Python 3.10 and older')
|
|
||||||
+ endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
||||||
|
|
||||||
From 40212aaab05ef4d211ced0b54b4fe358626392bc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Emmanuele Bassi <ebassi@gnome.org>
|
|
||||||
Date: Tue, 29 Nov 2022 12:48:54 +0000
|
|
||||||
Subject: [PATCH 2/2] ci: Add Meson build job to the pipeline
|
|
||||||
|
|
||||||
---
|
|
||||||
.gitlab-ci.yml | 17 +++++++++--------
|
|
||||||
1 file changed, 9 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
|
||||||
index b55f150..1538424 100644
|
|
||||||
--- a/.gitlab-ci.yml
|
|
||||||
+++ b/.gitlab-ci.yml
|
|
||||||
@@ -7,14 +7,15 @@ stages:
|
|
||||||
- check
|
|
||||||
- deploy
|
|
||||||
|
|
||||||
-#meson-build:
|
|
||||||
-# stage: build
|
|
||||||
-# needs: []
|
|
||||||
-# script:
|
|
||||||
-# - dnf install -y meson ninja-build pytest python3-flake8 python3-mypy python3-markdown python3-jinja2 python3-toml python3-typogrify
|
|
||||||
-# - meson _build .
|
|
||||||
-# - meson test -C _build
|
|
||||||
-#
|
|
||||||
+meson-build:
|
|
||||||
+ image: fedora:latest
|
|
||||||
+ stage: build
|
|
||||||
+ needs: []
|
|
||||||
+ script:
|
|
||||||
+ - dnf install -y meson ninja-build pytest python3-markdown python3-jinja2 python3-pygments python3-typogrify python3-flake8 python3-mypy
|
|
||||||
+ - meson _build .
|
|
||||||
+ - meson test -C _build
|
|
||||||
+
|
|
||||||
#pip-build:
|
|
||||||
# stage: build
|
|
||||||
# needs: []
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
||||||
From de9d716d8919f1f8434539b5974fc0b86b5aa5c3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
|
|
||||||
Date: Fri, 30 Dec 2022 17:48:30 +0100
|
|
||||||
Subject: [PATCH] Make pyproject.toml valid TOML
|
|
||||||
|
|
||||||
This avoids:
|
|
||||||
|
|
||||||
TOMLDecodeError: Unclosed inline table (at line 42, column 30)
|
|
||||||
|
|
||||||
When parsing the file with tomllib.
|
|
||||||
---
|
|
||||||
pyproject.toml | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/pyproject.toml b/pyproject.toml
|
|
||||||
index b0b18e4..4bf0712 100644
|
|
||||||
--- a/pyproject.toml
|
|
||||||
+++ b/pyproject.toml
|
|
||||||
@@ -39,7 +39,7 @@ Markdown = "^3.2"
|
|
||||||
MarkupSafe = "^1"
|
|
||||||
Pygments = "^2"
|
|
||||||
Jinja2 = "^2"
|
|
||||||
-tomli = { version = ">=1,<3" markers = "python_version < '3.11'" }
|
|
||||||
+tomli = { version = ">=1,<3", markers = "python_version < '3.11'" }
|
|
||||||
typogrify = "^2"
|
|
||||||
|
|
||||||
[tool.poetry.dev-dependencies]
|
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
|||||||
%bcond_without doc_pdf
|
%bcond_without doc_pdf
|
||||||
|
|
||||||
Name: gi-docgen
|
Name: gi-docgen
|
||||||
Version: 2022.2
|
Version: 2023.1
|
||||||
Release: %autorelease
|
Release: %autorelease
|
||||||
Summary: Documentation tool for GObject-based libraries
|
Summary: Documentation tool for GObject-based libraries
|
||||||
|
|
||||||
@ -70,18 +70,6 @@ Source0: %{url}/-/archive/%{version}/gi-docgen-%{version}.tar.bz2
|
|||||||
# local system fonts.
|
# local system fonts.
|
||||||
Patch: gi-docgen-2022.2-no-web-fonts.patch
|
Patch: gi-docgen-2022.2-no-web-fonts.patch
|
||||||
|
|
||||||
# python3-toml is deprecated
|
|
||||||
# https://fedoraproject.org/wiki/Changes/DeprecatePythonToml
|
|
||||||
# Backport upstream changes to migrate to tomllib and fallback to tomli and toml
|
|
||||||
# We technically only need the following two:
|
|
||||||
# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/168
|
|
||||||
# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/174 (fixup of 168)
|
|
||||||
# But the following two were deemed necessary upstream as well:
|
|
||||||
# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/172
|
|
||||||
# https://gitlab.gnome.org/GNOME/gi-docgen/-/merge_requests/173
|
|
||||||
# Patches trivially joined to one file with cat.
|
|
||||||
Patch: gi-docgen-2022.2-tomllib.patch
|
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
@ -192,6 +180,7 @@ sphinx-build -b latex %{?_smp_mflags} docs %{_vpath_builddir}/_latex
|
|||||||
%pyproject_save_files gidocgen
|
%pyproject_save_files gidocgen
|
||||||
|
|
||||||
install -t '%{buildroot}%{_pkgdocdir}' -D -m 0644 -p \
|
install -t '%{buildroot}%{_pkgdocdir}' -D -m 0644 -p \
|
||||||
|
CHANGES.md \
|
||||||
CONTRIBUTING.md \
|
CONTRIBUTING.md \
|
||||||
docs/CODEOWNERS \
|
docs/CODEOWNERS \
|
||||||
README.md
|
README.md
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (gi-docgen-2022.2.tar.bz2) = d52d993f040be621f967bd79c6413bda2184b68ec0a09ecd9191cb8cb40fee2a4298ebb3e91cfdda192a0a4673ce2cf23dfa7aaa2b4e643a7dfc676a94be6baa
|
SHA512 (gi-docgen-2023.1.tar.bz2) = 27c484ff95efbf3e452c07aabcf4c598370fb936f505ccd4df15bc18eb868f129884de2566f807260477ecef224bf3f5bf89dc3a336cdc08fc7cedc5264f1310
|
||||||
|
Loading…
Reference in New Issue
Block a user