1 |
commit: 2c6b17fa9043f381a2b183326cc8713c2e4be9aa |
2 |
Author: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Mar 16 12:23:19 2023 +0000 |
4 |
Commit: Aaron W. Swenson <titanofold <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Mar 16 12:38:37 2023 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c6b17fa |
7 |
|
8 |
app-doc/gnucash-docs: add 4.13 |
9 |
|
10 |
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org> |
11 |
|
12 |
app-doc/gnucash-docs/Manifest | 1 + |
13 |
.../gnucash-docs-4.13-reverese-kde-help-dir.patch | 75 ++++++++++++++++++++++ |
14 |
app-doc/gnucash-docs/gnucash-docs-4.13.ebuild | 72 +++++++++++++++++++++ |
15 |
3 files changed, 148 insertions(+) |
16 |
|
17 |
diff --git a/app-doc/gnucash-docs/Manifest b/app-doc/gnucash-docs/Manifest |
18 |
index 5a1c8e3f1e42..bd47ea5de82b 100644 |
19 |
--- a/app-doc/gnucash-docs/Manifest |
20 |
+++ b/app-doc/gnucash-docs/Manifest |
21 |
@@ -1 +1,2 @@ |
22 |
DIST gnucash-docs-4.12.tar.gz 76306600 BLAKE2B 78fb413099701da8c251681fa9724867f94cd731f396a80fd2be647790f32285a45eb857bfeae4ed6c36f5ec7664bc5aabfbdc2237d155a9f95aab78bf3227fa SHA512 29db1a402f7d417ad1a2f4db683974447add597e1b9e1b421789f3d2c8f987d1692202bb9052548b5ce544973c12bd538abab5ff33d3253330f0535ef920c8f7 |
23 |
+DIST gnucash-docs-4.13.tar.gz 76306335 BLAKE2B 61944e3da12d4f7b4a26f1301e640deca87656c4a9c7cd935f4c52ae69e49bf746850f09513d8fbd92314827f683c3a9c83c59479d583c192d977afdf9d8fce4 SHA512 7081a84c3426ef84e88aef520458a0d06382853cb9a51880766033b655f873d0926848387d573a38eca82cf0c6bceecdbd56704ab9ecb3068c78d7ce5c8d4da0 |
24 |
|
25 |
diff --git a/app-doc/gnucash-docs/files/gnucash-docs-4.13-reverese-kde-help-dir.patch b/app-doc/gnucash-docs/files/gnucash-docs-4.13-reverese-kde-help-dir.patch |
26 |
new file mode 100644 |
27 |
index 000000000000..0f48fd5056b8 |
28 |
--- /dev/null |
29 |
+++ b/app-doc/gnucash-docs/files/gnucash-docs-4.13-reverese-kde-help-dir.patch |
30 |
@@ -0,0 +1,75 @@ |
31 |
+From 513747413efc4732f5ae824ccc84316169b1523f Mon Sep 17 00:00:00 2001 |
32 |
+From: Geert Janssens <geert@×××××××××.be> |
33 |
+Date: Thu, 20 Oct 2022 11:25:19 +0200 |
34 |
+Subject: [PATCH] Ensure our documentation is also found when gnucash is run in |
35 |
+ KDE |
36 |
+ |
37 |
+Turns out KDE is not adhering to the xdg spec after all. |
38 |
+It has support for the old ghelp mechanism, but when using |
39 |
+the help: prefix, it falls back to an internal protocol. |
40 |
+In that case the requested document is searched for in |
41 |
+<prefix>/share/doc/HTML/<lang>. |
42 |
+Extra caveat - the English documentation is searched for |
43 |
+in a directory 'en' instead of 'C'. |
44 |
+This is not a problem in yelp, only in khelpcenter. Unfortunately |
45 |
+khelpcenter is the default application to process help: prefixes |
46 |
+in a Kde plasma desktop, hence the workaround. |
47 |
+--- |
48 |
+ cmake/AddXdgHelpTarget.cmake | 28 +++++++++++++++++++++++++--- |
49 |
+ 1 file changed, 25 insertions(+), 3 deletions(-) |
50 |
+ |
51 |
+diff --git a/cmake/AddXdgHelpTarget.cmake b/cmake/AddXdgHelpTarget.cmake |
52 |
+index efbe20f25..f0c800f2e 100644 |
53 |
+--- a/cmake/AddXdgHelpTarget.cmake |
54 |
++++ b/cmake/AddXdgHelpTarget.cmake |
55 |
+@@ -10,7 +10,16 @@ |
56 |
+ |
57 |
+ function (add_xdghelp_target docname lang entities figures) |
58 |
+ |
59 |
+- set(BUILD_DIR "${DATADIR_BUILD}/help/${lang}/${docname}") |
60 |
++ set(BUILD_DIR_BASE "${DATADIR_BUILD}/help/${lang}") |
61 |
++ set(BUILD_DIR "${BUILD_DIR_BASE}/${docname}") |
62 |
++ |
63 |
++ # Define location where KDE's help system looks for <doc> |
64 |
++ # when invoked with help:<doc> |
65 |
++ set(kde_lang ${lang}) |
66 |
++ if (lang STREQUAL "C") |
67 |
++ set(kde_lang "en") |
68 |
++ endif() |
69 |
++ set(BUILD_DIR_KDE_BASE "${DATADIR_BUILD}/doc/HTML") |
70 |
+ |
71 |
+ set(source_files "") |
72 |
+ foreach(xml_file ${entities} index.docbook) |
73 |
+@@ -33,6 +42,10 @@ function (add_xdghelp_target docname lang entities figures) |
74 |
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xdghelptrigger" |
75 |
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${BUILD_DIR}" |
76 |
+ COMMAND ${CMAKE_COMMAND} -E make_directory "${BUILD_DIR}/figures" |
77 |
++ |
78 |
++ # Add links to make our documentation visible for KDE's help system |
79 |
++ COMMAND ${CMAKE_COMMAND} -E make_directory "${BUILD_DIR_KDE_BASE}" |
80 |
++ COMMAND ${CMAKE_COMMAND} -E create_symlink "${BUILD_DIR_BASE}" "${BUILD_DIR_KDE_BASE}/${kde_lang}" |
81 |
+ COMMAND touch "${CMAKE_CURRENT_BINARY_DIR}/xdghelptrigger") |
82 |
+ |
83 |
+ |
84 |
+@@ -66,10 +79,19 @@ function (add_xdghelp_target docname lang entities figures) |
85 |
+ |
86 |
+ add_dependencies(${docname}-xdghelp "${lang}-${docname}-xdghelp") |
87 |
+ |
88 |
++ set(doc_install_dir_base "${CMAKE_INSTALL_DATADIR}/help/${lang}") |
89 |
++ set(doc_install_dir "${doc_install_dir_base}/${docname}") |
90 |
+ install(FILES ${source_files} |
91 |
+- DESTINATION "${CMAKE_INSTALL_DATADIR}/help/${lang}/${docname}" |
92 |
++ DESTINATION "${doc_install_dir}" |
93 |
+ COMPONENT "xdghelp") |
94 |
+ install(FILES ${figures} |
95 |
+- DESTINATION "${CMAKE_INSTALL_DATADIR}/help/${lang}/${docname}/figures" |
96 |
++ DESTINATION "${doc_install_dir}/figures" |
97 |
++ COMPONENT "xdghelp") |
98 |
++ |
99 |
++ # Add links to make our documentation visible for KDE's help system |
100 |
++ set(doc_install_dir_kde_base "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/doc/HTML") |
101 |
++ install(CODE "execute_process (COMMAND ${CMAKE_COMMAND} -E make_directory \"${doc_install_dir_kde_base}\")" |
102 |
++ COMPONENT "xdghelp") |
103 |
++ install(CODE "execute_process (COMMAND ${CMAKE_COMMAND} -E create_symlink \"../../../${doc_install_dir_base}\" \"${doc_install_dir_kde_base}/${kde_lang}\")" |
104 |
+ COMPONENT "xdghelp") |
105 |
+ endfunction() |
106 |
|
107 |
diff --git a/app-doc/gnucash-docs/gnucash-docs-4.13.ebuild b/app-doc/gnucash-docs/gnucash-docs-4.13.ebuild |
108 |
new file mode 100644 |
109 |
index 000000000000..b53e45835b28 |
110 |
--- /dev/null |
111 |
+++ b/app-doc/gnucash-docs/gnucash-docs-4.13.ebuild |
112 |
@@ -0,0 +1,72 @@ |
113 |
+# Copyright 1999-2023 Gentoo Authors |
114 |
+# Distributed under the terms of the GNU General Public License v2 |
115 |
+ |
116 |
+EAPI=8 |
117 |
+ |
118 |
+# Please bump with app-office/gnucash |
119 |
+ |
120 |
+CMAKE_MAKEFILE_GENERATOR=emake |
121 |
+inherit cmake optfeature |
122 |
+ |
123 |
+DESCRIPTION="Documentation package for GnuCash" |
124 |
+HOMEPAGE="https://www.gnucash.org/" |
125 |
+SRC_URI="https://github.com/Gnucash/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" |
126 |
+ |
127 |
+LICENSE="GPL-2 FDL-1.1" |
128 |
+SLOT="0" |
129 |
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~x86" |
130 |
+LOCALES=( de it ja pt ) |
131 |
+IUSE="${LOCALES[*]/#/l10n_}" |
132 |
+ |
133 |
+BDEPEND=" |
134 |
+ app-text/docbook-xml-dtd:4.5 |
135 |
+ app-text/docbook-xsl-stylesheets |
136 |
+ dev-libs/libxml2 |
137 |
+ dev-libs/libxslt |
138 |
+" |
139 |
+ |
140 |
+src_prepare() { |
141 |
+ eapply -R "${FILESDIR}/${P}-reverese-kde-help-dir.patch" |
142 |
+ cmake_src_prepare |
143 |
+} |
144 |
+ |
145 |
+src_compile() { |
146 |
+ cmake_src_compile -j1 |
147 |
+} |
148 |
+ |
149 |
+src_install() { |
150 |
+ local doc_type my_lang |
151 |
+ |
152 |
+ for doc_type in manual guide; do |
153 |
+ for my_lang in C ${L10N}; do |
154 |
+ [[ -z ${my_lang} ]] && continue |
155 |
+ |
156 |
+ case "${my_lang}" in |
157 |
+ # Both help and guides translated |
158 |
+ C|de|it|pt) ;; |
159 |
+ ja|ru) # Only guides translated |
160 |
+ if [[ "${doc_type}" == "manual" ]] ; then |
161 |
+ elog "Help documentation hasn't been translated for ${my_lang}" |
162 |
+ elog "Will do English instead." |
163 |
+ continue |
164 |
+ fi |
165 |
+ ;; |
166 |
+ *) |
167 |
+ die "Invalid locale: ${my_lang}" |
168 |
+ ;; |
169 |
+ esac |
170 |
+ |
171 |
+ emake \ |
172 |
+ -C "${BUILD_DIR}/${doc_type}/${my_lang}" \ |
173 |
+ DESTDIR="${D}" \ |
174 |
+ install |
175 |
+ done |
176 |
+ done |
177 |
+ |
178 |
+ einstalldocs |
179 |
+} |
180 |
+ |
181 |
+pkg_postinst() { |
182 |
+ optfeature "generating PDF files" dev-java/fop |
183 |
+ optfeature "viewing the docs" gnome-extra/yelp |
184 |
+} |