Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Jan 2025 00:44:05 GMT
From:      Matthias Andree <mandree@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 8492d9bdf19a - main - devel/doxygen: Fix parallel examples build (under DOCS)
Message-ID:  <202501060044.5060i505059794@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by mandree:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8492d9bdf19a0c516f98c71e15d22e72bf27f498

commit 8492d9bdf19a0c516f98c71e15d22e72bf27f498
Author:     Matthias Andree <mandree@FreeBSD.org>
AuthorDate: 2025-01-05 23:14:27 +0000
Commit:     Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2025-01-06 00:43:34 +0000

    devel/doxygen: Fix parallel examples build (under DOCS)
    
    Tatsuki Makino wrote the original patch vs. Doxygen 1.9.1, but it no
    longer applied, so I manually re-did following his example.
    
    While here, ditch the :noninja, 1.9.6 builds fine with Ninja, too.
    
    Obtained from:  tatsuki_makino@hotmail.com
    PR:             259331
    Approved by:    maintainer timeout (fluffy@, 39 months)
---
 devel/doxygen/Makefile                            |  4 +---
 devel/doxygen/files/patch-examples_CMakeLists.txt | 26 +++++++++++++++++++++++
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/devel/doxygen/Makefile b/devel/doxygen/Makefile
index 7b97801361cd..e9a391c24291 100644
--- a/devel/doxygen/Makefile
+++ b/devel/doxygen/Makefile
@@ -14,7 +14,7 @@ WWW=		https://www.doxygen.org/
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-USES=		bison cmake:noninja compiler:c++17-lang cpe dos2unix \
+USES=		bison cmake compiler:c++17-lang cpe dos2unix \
 		iconv python shebangfix
 
 ALL_TARGET=	all
@@ -39,8 +39,6 @@ DOCS_PLIST_FILES=	share/man/man1/doxygen.1.gz \
 			share/man/man1/doxyindexer.1.gz \
 			share/man/man1/doxysearch.1.gz \
 			share/man/man1/doxywizard.1.gz
-# Parallel jobs break when the DOCS option is on
-DOCS_VARS=		MAKE_JOBS_UNSAFE=yes
 
 PORTDOCS=		*
 
diff --git a/devel/doxygen/files/patch-examples_CMakeLists.txt b/devel/doxygen/files/patch-examples_CMakeLists.txt
new file mode 100644
index 000000000000..c4f60834d17d
--- /dev/null
+++ b/devel/doxygen/files/patch-examples_CMakeLists.txt
@@ -0,0 +1,26 @@
+--- examples/CMakeLists.txt.orig	2022-11-18 19:47:51 UTC
++++ examples/CMakeLists.txt
+@@ -74,9 +74,9 @@ foreach (f_inp  ${BASIC_EXAMPLES})
+     add_custom_command(
+         COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/${f}
+         COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/${f}
+-        COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR=${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH}/doxygen ${f}.cfg
++        COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR=${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH}/doxygen ${CMAKE_CURRENT_BINARY_DIR}/${f}.cfg
+         COMMAND ${PYTHON_EXECUTABLE}  ${TOP}/examples/strip_example.py  < ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
+-	DEPENDS doxygen ${f}.${f_ext} ${f}.cfg ${TOP}/examples/strip_example.py ${f_dep}
++	DEPENDS doxygen ${CMAKE_CURRENT_BINARY_DIR}/${f}.${f_ext} ${CMAKE_CURRENT_BINARY_DIR}/${f}.cfg ${TOP}/examples/strip_example.py ${f_dep}
+ 	OUTPUT ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/${f}/latex/refman_doc.tex
+     )
+     set(EXAMPLES_RES ${EXAMPLES_RES} "" ${PROJECT_BINARY_DIR}/html/examples/${f}/html/index.html)
+@@ -93,9 +93,9 @@ if (DOT)
+   add_custom_command(
+         COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/examples/diagrams
+         COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/latex/examples/diagrams
+-        COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR=${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH}/doxygen diagrams.cfg
++        COMMAND ${CMAKE_COMMAND} -E env PROJECT_BINARY_DIR=${PROJECT_BINARY_DIR} ${EXECUTABLE_OUTPUT_PATH}/doxygen ${CMAKE_CURRENT_BINARY_DIR}/diagrams.cfg
+         COMMAND ${PYTHON_EXECUTABLE}  ${TOP}/examples/strip_example.py  < ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman.tex > ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex
+-	DEPENDS doxygen diagrams_a.h diagrams_b.h diagrams_c.h diagrams_d.h diagrams_e.h diagrams.cfg ${TOP}/examples/strip_example.py
++	DEPENDS doxygen ${CMAKE_CURRENT_BINARY_DIR}/diagrams_a.h ${CMAKE_CURRENT_BINARY_DIR}/diagrams_b.h ${CMAKE_CURRENT_BINARY_DIR}/diagrams_c.h ${CMAKE_CURRENT_BINARY_DIR}/diagrams_d.h ${CMAKE_CURRENT_BINARY_DIR}/diagrams_e.h ${CMAKE_CURRENT_BINARY_DIR}/diagrams.cfg ${TOP}/examples/strip_example.py
+ 	OUTPUT ${PROJECT_BINARY_DIR}/html/examples/diagrams/html/index.html ${PROJECT_BINARY_DIR}/latex/examples/diagrams/latex/refman_doc.tex
+   )
+ endif(DOT)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501060044.5060i505059794>