Gentoo Archives: gentoo-commits

From: "Aaron W. Swenson" <titanofold@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-doc/gnucash-docs/files/, app-doc/gnucash-docs/
Date: Thu, 16 Mar 2023 12:39:45
Message-Id: 1678970317.2c6b17fa9043f381a2b183326cc8713c2e4be9aa.titanofold@gentoo
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 +}