From 7972abc05090180dcc09d2b16af4020ce1cd1841 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 16 Mar 2023 18:25:06 +0000 Subject: gentoo auto-resync : 16:03:2023 - 18:25:06 --- .../gnucash-docs-4.13-reverese-kde-help-dir.patch | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 app-doc/gnucash-docs/files/gnucash-docs-4.13-reverese-kde-help-dir.patch (limited to 'app-doc/gnucash-docs/files') 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 new file mode 100644 index 000000000000..0f48fd5056b8 --- /dev/null +++ b/app-doc/gnucash-docs/files/gnucash-docs-4.13-reverese-kde-help-dir.patch @@ -0,0 +1,75 @@ +From 513747413efc4732f5ae824ccc84316169b1523f Mon Sep 17 00:00:00 2001 +From: Geert Janssens +Date: Thu, 20 Oct 2022 11:25:19 +0200 +Subject: [PATCH] Ensure our documentation is also found when gnucash is run in + KDE + +Turns out KDE is not adhering to the xdg spec after all. +It has support for the old ghelp mechanism, but when using +the help: prefix, it falls back to an internal protocol. +In that case the requested document is searched for in +/share/doc/HTML/. +Extra caveat - the English documentation is searched for +in a directory 'en' instead of 'C'. +This is not a problem in yelp, only in khelpcenter. Unfortunately +khelpcenter is the default application to process help: prefixes +in a Kde plasma desktop, hence the workaround. +--- + cmake/AddXdgHelpTarget.cmake | 28 +++++++++++++++++++++++++--- + 1 file changed, 25 insertions(+), 3 deletions(-) + +diff --git a/cmake/AddXdgHelpTarget.cmake b/cmake/AddXdgHelpTarget.cmake +index efbe20f25..f0c800f2e 100644 +--- a/cmake/AddXdgHelpTarget.cmake ++++ b/cmake/AddXdgHelpTarget.cmake +@@ -10,7 +10,16 @@ + + function (add_xdghelp_target docname lang entities figures) + +- set(BUILD_DIR "${DATADIR_BUILD}/help/${lang}/${docname}") ++ set(BUILD_DIR_BASE "${DATADIR_BUILD}/help/${lang}") ++ set(BUILD_DIR "${BUILD_DIR_BASE}/${docname}") ++ ++ # Define location where KDE's help system looks for ++ # when invoked with help: ++ set(kde_lang ${lang}) ++ if (lang STREQUAL "C") ++ set(kde_lang "en") ++ endif() ++ set(BUILD_DIR_KDE_BASE "${DATADIR_BUILD}/doc/HTML") + + set(source_files "") + foreach(xml_file ${entities} index.docbook) +@@ -33,6 +42,10 @@ function (add_xdghelp_target docname lang entities figures) + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/xdghelptrigger" + COMMAND ${CMAKE_COMMAND} -E make_directory "${BUILD_DIR}" + COMMAND ${CMAKE_COMMAND} -E make_directory "${BUILD_DIR}/figures" ++ ++ # Add links to make our documentation visible for KDE's help system ++ COMMAND ${CMAKE_COMMAND} -E make_directory "${BUILD_DIR_KDE_BASE}" ++ COMMAND ${CMAKE_COMMAND} -E create_symlink "${BUILD_DIR_BASE}" "${BUILD_DIR_KDE_BASE}/${kde_lang}" + COMMAND touch "${CMAKE_CURRENT_BINARY_DIR}/xdghelptrigger") + + +@@ -66,10 +79,19 @@ function (add_xdghelp_target docname lang entities figures) + + add_dependencies(${docname}-xdghelp "${lang}-${docname}-xdghelp") + ++ set(doc_install_dir_base "${CMAKE_INSTALL_DATADIR}/help/${lang}") ++ set(doc_install_dir "${doc_install_dir_base}/${docname}") + install(FILES ${source_files} +- DESTINATION "${CMAKE_INSTALL_DATADIR}/help/${lang}/${docname}" ++ DESTINATION "${doc_install_dir}" + COMPONENT "xdghelp") + install(FILES ${figures} +- DESTINATION "${CMAKE_INSTALL_DATADIR}/help/${lang}/${docname}/figures" ++ DESTINATION "${doc_install_dir}/figures" ++ COMPONENT "xdghelp") ++ ++ # Add links to make our documentation visible for KDE's help system ++ set(doc_install_dir_kde_base "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/doc/HTML") ++ install(CODE "execute_process (COMMAND ${CMAKE_COMMAND} -E make_directory \"${doc_install_dir_kde_base}\")" ++ COMPONENT "xdghelp") ++ install(CODE "execute_process (COMMAND ${CMAKE_COMMAND} -E create_symlink \"../../../${doc_install_dir_base}\" \"${doc_install_dir_kde_base}/${kde_lang}\")" + COMPONENT "xdghelp") + endfunction() -- cgit v1.2.3