Fix building with glib2-doc 2.79.0
This commit is contained in:
parent
36f1a0169f
commit
59d02d0db6
@ -24,7 +24,7 @@
|
||||
|
||||
Name: %{upstream_name}%{?v2_suffix}
|
||||
Version: 2.15.0
|
||||
Release: 7%{?dist}
|
||||
Release: 8%{?dist}
|
||||
Summary: Module metadata manipulation library
|
||||
|
||||
# COPYING: MIT
|
||||
@ -37,6 +37,9 @@ Source0: %{url}/releases/download/%{version}/modulemd-%{version}.tar.xz
|
||||
Source1: %{url}/releases/download/%{version}/modulemd-%{version}.tar.xz.asc
|
||||
# Key exported from Petr Pisar's keyring
|
||||
Source2: gpgkey-E3F42FCE156830A80358E6E94FD1AEC3365AF7BF.gpg
|
||||
# Fix building with glib2-doc 2.79.0, in upstream after 2.15.0
|
||||
Patch0: modulemd-2.15.0-build-Move-computing-gtk-doc-module-paths-to-the-che.patch
|
||||
Patch1: modulemd-2.15.0-doc-Adapt-GLib-documentation-path-to-GLib-2.79.0.patch
|
||||
|
||||
BuildRequires: gnupg2
|
||||
BuildRequires: meson >= 0.47
|
||||
@ -181,6 +184,9 @@ mv %{buildroot}%{_mandir}/man1/modulemd-validator.1 \
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Jan 29 2024 Petr Pisar <ppisar@redhat.com> - 2.15.0-8
|
||||
- Fix building with glib2-doc 2.79.0
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.15.0-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
|
@ -0,0 +1,96 @@
|
||||
From 9d2809090cc0cccd7bab67453dc00cf43a289082 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Fri, 26 Jan 2024 15:44:39 +0100
|
||||
Subject: [PATCH 1/2] build: Move computing gtk-doc module paths to the check
|
||||
place
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
A checks and an application of extra directories for gtkdoc-fixxref
|
||||
were computed independetly. This patch removes the code duplication.
|
||||
It also adds the discovered path to a "meson setup" summary output.
|
||||
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
meson.build | 25 ++++++++++++-------------
|
||||
modulemd/meson.build | 9 +++++----
|
||||
2 files changed, 17 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index a5d1330..0b32f4d 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -67,23 +67,21 @@ sed = find_program('sed')
|
||||
test = find_program('test')
|
||||
|
||||
with_docs = get_option('with_docs')
|
||||
+gtk_doc_referred_paths = []
|
||||
if with_docs
|
||||
gtkdoc = dependency('gtk-doc')
|
||||
glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
|
||||
|
||||
- glib_index_path = join_paths(glib_docpath, 'glib/index.html')
|
||||
- ret = run_command ([test, '-e', glib_index_path],
|
||||
- check: false)
|
||||
- if ret.returncode() != 0
|
||||
- error('Missing documentation for GLib: @0@'.format(glib_index_path))
|
||||
- endif
|
||||
-
|
||||
- gobject_index_path = join_paths(glib_docpath, 'gobject/index.html')
|
||||
- ret = run_command ([test, '-e', gobject_index_path],
|
||||
- check: false)
|
||||
- if ret.returncode() != 0
|
||||
- error('Missing documentation for GObject: @0@'.format(gobject_index_path))
|
||||
- endif
|
||||
+ foreach referred_module : [ 'glib', 'gobject' ]
|
||||
+ doc_module_path = join_paths(glib_docpath, referred_module)
|
||||
+ doc_index_file = join_paths(doc_module_path, 'index.html')
|
||||
+ ret = run_command ([test, '-e', doc_index_file],
|
||||
+ check: false)
|
||||
+ if ret.returncode() != 0
|
||||
+ error('Missing GTK documentation for @0@: @1@'.format(referred_module, doc_index_file))
|
||||
+ endif
|
||||
+ gtk_doc_referred_paths += [ doc_module_path ]
|
||||
+ endforeach
|
||||
endif
|
||||
|
||||
# Keep with_manpages option a tristate feature for backward compatibility.
|
||||
@@ -198,6 +196,7 @@ summary({'prefix': get_option('prefix'),
|
||||
'datadir': get_option('datadir'),
|
||||
'Python 2 GObject Overrides': gobject_overrides_dir_py2,
|
||||
'Python 3 GObject Overrides': gobject_overrides_dir_py3,
|
||||
+ 'GTK-Doc Referred Paths': gtk_doc_referred_paths,
|
||||
}, section: 'Directories')
|
||||
|
||||
summary({'Custom Python': get_option('python_name'),
|
||||
diff --git a/modulemd/meson.build b/modulemd/meson.build
|
||||
index a816e13..844f135 100644
|
||||
--- a/modulemd/meson.build
|
||||
+++ b/modulemd/meson.build
|
||||
@@ -256,6 +256,10 @@ configure_file(
|
||||
# --- Documenatation --- #
|
||||
|
||||
if with_docs
|
||||
+ fixxref_args = []
|
||||
+ foreach path : gtk_doc_referred_paths
|
||||
+ fixxref_args += [ '--extra-dir=@0@'.format(path) ]
|
||||
+ endforeach
|
||||
gnome.gtkdoc(
|
||||
'modulemd-2.0',
|
||||
install_dir: 'modulemd-2.0',
|
||||
@@ -265,10 +269,7 @@ if with_docs
|
||||
dependencies : [
|
||||
modulemd_dep,
|
||||
],
|
||||
- fixxref_args: [
|
||||
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
|
||||
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
|
||||
- ],
|
||||
+ fixxref_args: [ fixxref_args ],
|
||||
install : true,
|
||||
)
|
||||
endif
|
||||
--
|
||||
2.43.0
|
||||
|
@ -0,0 +1,53 @@
|
||||
From 29c339a31b1c753dcdef041e5c2e0e600e48b59d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||
Date: Fri, 26 Jan 2024 17:09:11 +0100
|
||||
Subject: [PATCH 2/2] doc: Adapt GLib documentation path to GLib 2.79.0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
GLib 2.79.0 switched from gtk-doc to gi-docgen, whose format and
|
||||
installation location are both not compatible. The libmodulemd build
|
||||
script reported an error because of the new location.
|
||||
|
||||
This patch fixes the build failure by using the new location if GLib
|
||||
is 2.79.0 or greater.
|
||||
|
||||
Although the libmodulemd documentation references to GLib remain
|
||||
unresolved now (i.e. names of the functions and the types are not
|
||||
hyperlinks), we keep using the new location because the new GLib
|
||||
*.devhelp2 indices remain there and they can only improve over the
|
||||
time.
|
||||
|
||||
If this expection does not fulfill, libmodulemd will either migrate to
|
||||
gi-docgen, or drop the hard build-time dependency on GLib
|
||||
documentation.
|
||||
|
||||
Reimplements: #611
|
||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||
---
|
||||
meson.build | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 0b32f4d..6108649 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -70,7 +70,13 @@ with_docs = get_option('with_docs')
|
||||
gtk_doc_referred_paths = []
|
||||
if with_docs
|
||||
gtkdoc = dependency('gtk-doc')
|
||||
- glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
|
||||
+
|
||||
+ if glib.version().version_compare('<2.79.0')
|
||||
+ glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html')
|
||||
+ else
|
||||
+ glib_docpath = join_paths(glib_prefix, 'share', 'doc', 'glib-2.0')
|
||||
+ warning('glib >= 2.79.0 documention might not be properly referred from libmodulemd documentation.')
|
||||
+ endif
|
||||
|
||||
foreach referred_module : [ 'glib', 'gobject' ]
|
||||
doc_module_path = join_paths(glib_docpath, referred_module)
|
||||
--
|
||||
2.43.0
|
||||
|
Loading…
Reference in New Issue
Block a user