summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch161
-rw-r--r--meta/recipes-devtools/ccache/ccache_4.2.1.bb6
2 files changed, 166 insertions, 1 deletions
diff --git a/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch b/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch
new file mode 100644
index 0000000000..51ca0e82f6
--- /dev/null
+++ b/meta/recipes-devtools/ccache/ccache/0001-doc-allow-disabling-docs-man-page-generation.patch
@@ -0,0 +1,161 @@
+From aebabafe085dd1b84027a1e31e5566c82528bd62 Mon Sep 17 00:00:00 2001
+From: Bastian Krause <bst@pengutronix.de>
+Date: Tue, 4 May 2021 11:41:56 +0200
+Subject: [PATCH] doc: allow disabling docs/man page generation
+
+The assumption that HTML documentation and manual pages should be
+generated if the required tools (asciidoc) are present is not always
+true. So add a cmake option that allows disabling the docs/man page
+generation. The default is to generate docs/man pages like before.
+
+Origin: https://github.com/ccache/ccache/pull/844
+Upstream-Status: Submitted
+Signed-off-by: Bastian Krause <bst@pengutronix.de>
+---
+ doc/CMakeLists.txt | 128 +++++++++++++++++++++++----------------------
+ 1 file changed, 66 insertions(+), 62 deletions(-)
+
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index c5ce224d..74b7831b 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -1,70 +1,74 @@
++option(BUILD_DOCS "Indicates whether HTML documentation and manual pages should be built or not" ON)
++
+ find_program(ASCIIDOC_EXE asciidoc)
+ mark_as_advanced(ASCIIDOC_EXE) # Don't show in CMake UIs
+
+-if(NOT ASCIIDOC_EXE)
+- message(WARNING "Could not find asciidoc; documentation will not be generated")
+-else()
+- #
+- # HTML documentation
+- #
+- function(generate_html adoc_file)
+- get_filename_component(base_name "${adoc_file}" NAME_WE)
+- set(html_file "${base_name}.html")
+- add_custom_command(
+- OUTPUT "${html_file}"
+- COMMAND
+- ${ASCIIDOC_EXE}
+- -o "${html_file}"
+- -a revnumber="${CCACHE_VERSION}"
+- -a toc
+- -b xhtml11
+- "${CMAKE_SOURCE_DIR}/${adoc_file}"
+- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}"
+- )
+- set(html_files "${html_files}" "${html_file}" PARENT_SCOPE)
+- endfunction()
++if (BUILD_DOCS)
++ if(NOT ASCIIDOC_EXE)
++ message(WARNING "Could not find asciidoc; documentation will not be generated")
++ else()
++ #
++ # HTML documentation
++ #
++ function(generate_html adoc_file)
++ get_filename_component(base_name "${adoc_file}" NAME_WE)
++ set(html_file "${base_name}.html")
++ add_custom_command(
++ OUTPUT "${html_file}"
++ COMMAND
++ ${ASCIIDOC_EXE}
++ -o "${html_file}"
++ -a revnumber="${CCACHE_VERSION}"
++ -a toc
++ -b xhtml11
++ "${CMAKE_SOURCE_DIR}/${adoc_file}"
++ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/${adoc_file}"
++ )
++ set(html_files "${html_files}" "${html_file}" PARENT_SCOPE)
++ endfunction()
+
+- generate_html(LICENSE.adoc)
+- generate_html(doc/AUTHORS.adoc)
+- generate_html(doc/MANUAL.adoc)
+- generate_html(doc/NEWS.adoc)
++ generate_html(LICENSE.adoc)
++ generate_html(doc/AUTHORS.adoc)
++ generate_html(doc/MANUAL.adoc)
++ generate_html(doc/NEWS.adoc)
+
+- add_custom_target(doc-html DEPENDS "${html_files}")
+- set(doc_files "${html_files}")
++ add_custom_target(doc-html DEPENDS "${html_files}")
++ set(doc_files "${html_files}")
+
+- #
+- # Man page
+- #
+- find_program(A2X_EXE a2x)
+- mark_as_advanced(A2X_EXE) # Don't show in CMake UIs
+- if(NOT A2X_EXE)
+- message(WARNING "Could not find a2x; man page will not be generated")
+- else()
+- # MANUAL.adoc -> MANUAL.xml -> man page
+- add_custom_command(
+- OUTPUT MANUAL.xml
+- COMMAND
+- ${ASCIIDOC_EXE}
+- -o -
+- -a revnumber=${CCACHE_VERSION}
+- -d manpage
+- -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc"
+- | perl -pe 's!<literal>\(.*?\)</literal>!<emphasis role="strong">\\1</emphasis>!g'
+- >MANUAL.xml
+- MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc"
+- )
+- add_custom_command(
+- OUTPUT ccache.1
+- COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml
+- MAIN_DEPENDENCY MANUAL.xml
+- )
+- add_custom_target(doc-man-page DEPENDS ccache.1)
+- install(
+- FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1"
+- DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
+- )
+- set(doc_files "${doc_files}" ccache.1)
+- endif()
++ #
++ # Man page
++ #
++ find_program(A2X_EXE a2x)
++ mark_as_advanced(A2X_EXE) # Don't show in CMake UIs
++ if(NOT A2X_EXE)
++ message(WARNING "Could not find a2x; man page will not be generated")
++ else()
++ # MANUAL.adoc -> MANUAL.xml -> man page
++ add_custom_command(
++ OUTPUT MANUAL.xml
++ COMMAND
++ ${ASCIIDOC_EXE}
++ -o -
++ -a revnumber=${CCACHE_VERSION}
++ -d manpage
++ -b docbook "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc"
++ | perl -pe 's!<literal>\(.*?\)</literal>!<emphasis role="strong">\\1</emphasis>!g'
++ >MANUAL.xml
++ MAIN_DEPENDENCY "${CMAKE_SOURCE_DIR}/doc/MANUAL.adoc"
++ )
++ add_custom_command(
++ OUTPUT ccache.1
++ COMMAND ${A2X_EXE} --doctype manpage --format manpage MANUAL.xml
++ MAIN_DEPENDENCY MANUAL.xml
++ )
++ add_custom_target(doc-man-page DEPENDS ccache.1)
++ install(
++ FILES "${CMAKE_CURRENT_BINARY_DIR}/ccache.1"
++ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
++ )
++ set(doc_files "${doc_files}" ccache.1)
++ endif()
+
+- add_custom_target(doc ALL DEPENDS "${doc_files}")
++ add_custom_target(doc ALL DEPENDS "${doc_files}")
++ endif()
+ endif()
+--
+2.29.2
+
diff --git a/meta/recipes-devtools/ccache/ccache_4.2.1.bb b/meta/recipes-devtools/ccache/ccache_4.2.1.bb
index 90b9c6181f..8dd5893d68 100644
--- a/meta/recipes-devtools/ccache/ccache_4.2.1.bb
+++ b/meta/recipes-devtools/ccache/ccache_4.2.1.bb
@@ -11,7 +11,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=698a26b57e513d678e1e7727bf56395b"
DEPENDS = "zstd"
-SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz"
+SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz \
+ file://0001-doc-allow-disabling-docs-man-page-generation.patch \
+ "
SRC_URI[sha256sum] = "320d2b17d2f76393e5d4bb28c8dee5ca783248e9cd23dff0654694d60f8a4b62"
UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/"
@@ -21,3 +23,5 @@ inherit cmake
PATCHTOOL = "patch"
BBCLASSEXTEND = "native nativesdk"
+
+PACKAGECONFIG[docs] = "-DBUILD_DOCS=ON,-DBUILD_DOCS=OFF,asciidoc"