diff --git a/devel/doxygen/Makefile b/devel/doxygen/Makefile index 3ad72d7641d8..12e932ee6d4b 100644 --- a/devel/doxygen/Makefile +++ b/devel/doxygen/Makefile @@ -1,61 +1,61 @@ PORTNAME= doxygen -PORTVERSION= 1.9.5 +PORTVERSION= 1.9.6 PORTEPOCH= 2 CATEGORIES= devel MASTER_SITES= SF/${PORTNAME}/rel-${PORTVERSION} \ http://doxygen.nl/files/ EXTRACT_SUFX= .src.tar.gz MAINTAINER= fluffy@FreeBSD.org COMMENT= Documentation system for C, C++, and other languages WWW= https://www.doxygen.org/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE USES= bison cmake:noninja compiler:c++17-lang cpe dos2unix \ iconv python shebangfix ALL_TARGET= all CMAKE_ARGS+= -DDOC_INSTALL_DIR:PATH=${DOCSDIR_REL} EXTRACT_AFTER_ARGS= --exclude '*/libmd5' DOS2UNIX_FILES= doc/translator.py PLIST_FILES= bin/doxygen OPTIONS_DEFINE= DOCS GRAPHVIZ LATEX SEARCH QT5 OPTIONS_DEFAULT= GRAPHVIZ QT5_DESC= Install Doxywizard GUI with Qt5 SEARCH_DESC= Build external search tools (doxysearch and doxyindexer) DOCS_USES= ghostscript:build tex DOCS_USE= TEX=base:build,dvipsk:build,pdftex:build DOCS_ALL_TARGET= docs DOCS_BUILD_DEPENDS= dot:graphics/graphviz DOCS_CMAKE_BOOL= build_doc -DOCS_PLIST_FILES= man/man1/doxygen.1.gz \ - man/man1/doxyindexer.1.gz \ - man/man1/doxysearch.1.gz \ - man/man1/doxywizard.1.gz +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= * GRAPHVIZ_RUN_DEPENDS= dot:graphics/graphviz LATEX_USES= tex LATEX_USE= TEX=base,dvipsk,pdftex QT5_USES= qt:5 QT5_USE= QT=core,widgets,gui,xml,qmake:build,buildtools:build QT5_CMAKE_BOOL= build_wizard QT5_PLIST_FILES= bin/doxywizard SEARCH_CMAKE_BOOL= build_search SEARCH_LIB_DEPENDS= libxapian.so:databases/xapian-core SEARCH_PLIST_FILES= bin/doxyindexer \ bin/doxysearch.cgi .include diff --git a/devel/doxygen/distinfo b/devel/doxygen/distinfo index 8c82fb115c12..36f4cb9e149f 100644 --- a/devel/doxygen/distinfo +++ b/devel/doxygen/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1661695374 -SHA256 (doxygen-1.9.5.src.tar.gz) = 55b454b35d998229a96f3d5485d57a0a517ce2b78d025efb79d57b5a2e4b2eec -SIZE (doxygen-1.9.5.src.tar.gz) = 5251459 +TIMESTAMP = 1673081300 +SHA256 (doxygen-1.9.6.src.tar.gz) = 297f8ba484265ed3ebd3ff3fe7734eb349a77e4f95c8be52ed9977f51dea49df +SIZE (doxygen-1.9.6.src.tar.gz) = 5293513 diff --git a/devel/doxygen/files/patch-CMakeLists.txt b/devel/doxygen/files/patch-CMakeLists.txt index 4fca931d8c7f..b48abae3c227 100644 --- a/devel/doxygen/files/patch-CMakeLists.txt +++ b/devel/doxygen/files/patch-CMakeLists.txt @@ -1,10 +1,10 @@ ---- CMakeLists.txt.orig 2020-12-21 14:08:57 UTC +--- CMakeLists.txt.orig 2022-12-20 18:30:03 UTC +++ CMakeLists.txt -@@ -169,7 +169,6 @@ endif() +@@ -197,7 +197,6 @@ include(cmake/Coverage.cmake) include(cmake/CompilerWarnings.cmake) include(cmake/Coverage.cmake) -add_subdirectory(libmd5) add_subdirectory(liblodepng) add_subdirectory(libmscgen) add_subdirectory(libversion) diff --git a/devel/doxygen/files/patch-addon_doxywizard_CMakeLists.txt b/devel/doxygen/files/patch-addon_doxywizard_CMakeLists.txt index 9dafdd4a5334..c7e792819b58 100644 --- a/devel/doxygen/files/patch-addon_doxywizard_CMakeLists.txt +++ b/devel/doxygen/files/patch-addon_doxywizard_CMakeLists.txt @@ -1,18 +1,18 @@ ---- addon/doxywizard/CMakeLists.txt +--- addon/doxywizard/CMakeLists.txt.orig 2022-08-24 15:18:42 UTC +++ addon/doxywizard/CMakeLists.txt -@@ -132,12 +132,12 @@ if(Qt5Core_FOUND) +@@ -182,12 +182,12 @@ if(Qt5Core_FOUND) endif() if(Qt5Core_FOUND) - target_link_libraries(doxywizard Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Xml doxygen_version) + target_link_libraries(doxywizard Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Xml doxygen_version pthread) else() if(Qt6Core_FOUND) - target_link_libraries(doxywizard Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Xml doxygen_version) + target_link_libraries(doxywizard Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Xml doxygen_version pthread) else() - target_link_libraries(doxywizard ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} doxygen_version) + target_link_libraries(doxywizard ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} doxygen_version pthread) endif() endif() diff --git a/devel/doxygen/files/patch-doc_CMakeLists.txt b/devel/doxygen/files/patch-doc_CMakeLists.txt deleted file mode 100644 index b8bd239a2630..000000000000 --- a/devel/doxygen/files/patch-doc_CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ ---- doc/CMakeLists.txt.orig 2020-11-14 18:13:29 UTC -+++ doc/CMakeLists.txt -@@ -240,7 +240,7 @@ install(FILES - "${PROJECT_BINARY_DIR}/man/doxywizard.1" - "${PROJECT_BINARY_DIR}/man/doxysearch.1" - "${PROJECT_BINARY_DIR}/man/doxyindexer.1" -- DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 -+ DESTINATION man/man1 - ) - - install(CODE "if(NOT EXISTS \"${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf\") diff --git a/devel/doxygen/files/patch-doc__internal_Doxyfile.in b/devel/doxygen/files/patch-doc__internal_Doxyfile.in new file mode 100644 index 000000000000..df9d626eacb7 --- /dev/null +++ b/devel/doxygen/files/patch-doc__internal_Doxyfile.in @@ -0,0 +1,12 @@ +--- doc_internal/Doxyfile.in.orig 2022-12-18 10:39:03 UTC ++++ doc_internal/Doxyfile.in +@@ -298,8 +298,7 @@ SEARCH_INCLUDES = YES + MACRO_EXPANSION = YES + EXPAND_ONLY_PREDEF = YES + SEARCH_INCLUDES = YES +-INCLUDE_PATH = @CMAKE_SOURCE_DIR@/libmd5 \ +- @CMAKE_SOURCE_DIR@/liblodepng \ ++INCLUDE_PATH = @CMAKE_SOURCE_DIR@/liblodepng \ + @CMAKE_SOURCE_DIR@/libmscgen + INCLUDE_FILE_PATTERNS = + PREDEFINED = diff --git a/devel/doxygen/files/patch-doc_doxygen__manual.tex b/devel/doxygen/files/patch-doc_doxygen__manual.tex new file mode 100644 index 000000000000..0665af5b15f2 --- /dev/null +++ b/devel/doxygen/files/patch-doc_doxygen__manual.tex @@ -0,0 +1,11 @@ +--- doc/doxygen_manual.tex.orig 2019-08-04 11:51:41 UTC ++++ doc/doxygen_manual.tex +@@ -22,7 +22,7 @@ + \usepackage{array}[=2016-10-06] + \fi + %% +-\usepackage[a4paper,left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry} ++\usepackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry} + \usepackage{makeidx} + \usepackage{natbib} + \usepackage{graphicx} diff --git a/devel/doxygen/files/patch-doc_translator.py b/devel/doxygen/files/patch-doc_translator.py new file mode 100644 index 000000000000..51771706035d --- /dev/null +++ b/devel/doxygen/files/patch-doc_translator.py @@ -0,0 +1,23 @@ +Hack to avoid "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 45: invalid start byte" +in src/._xmlgen.cpp which is binary. This doesn't seem like it should be present at the time the docs +are generated, but this is simpler for now. +--- doc/translator.py.orig 2023-01-07 08:48:38 UTC ++++ doc/translator.py +@@ -1459,10 +1459,13 @@ class TrManager: + + # Read content of the file as one string. + assert os.path.isfile(fname) +- f = xopen(fname) +- cont = f.read() +- cont = ''.join(cont.split('\n')) # otherwise the 'match' function won't work. +- f.close() ++ try: ++ with xopen(fname) as f: ++ cont = f.read() ++ cont = ''.join(cont.split('\n')) # otherwise the 'match' function won't work. ++ except UnicodeDecodeError: ++ print("Skipping {0} because of decoding errors".format(fname)) ++ return + + # Remove the items for identifiers that were found in the file. + while lst_in: diff --git a/devel/doxygen/files/patch-md5-Doxyfile b/devel/doxygen/files/patch-md5-Doxyfile deleted file mode 100644 index 1d1bdeb5db4e..000000000000 --- a/devel/doxygen/files/patch-md5-Doxyfile +++ /dev/null @@ -1,12 +0,0 @@ ---- Doxyfile.orig 2021-07-30 18:31:20 UTC -+++ Doxyfile -@@ -274,8 +274,7 @@ ENABLE_PREPROCESSING = YES - MACRO_EXPANSION = YES - EXPAND_ONLY_PREDEF = YES - SEARCH_INCLUDES = YES --INCLUDE_PATH = libmd5 \ -- liblodepng \ -+INCLUDE_PATH = liblodepng \ - libmscgen - INCLUDE_FILE_PATTERNS = - PREDEFINED = diff --git a/devel/doxygen/files/patch-src_CMakeLists.txt b/devel/doxygen/files/patch-src_CMakeLists.txt index 7e6b1364c26f..ccf752af1430 100644 --- a/devel/doxygen/files/patch-src_CMakeLists.txt +++ b/devel/doxygen/files/patch-src_CMakeLists.txt @@ -1,28 +1,28 @@ ---- src/CMakeLists.txt.orig 2021-05-12 18:47:52 UTC +--- src/CMakeLists.txt.orig 2022-12-20 18:30:03 UTC +++ src/CMakeLists.txt -@@ -2,7 +2,6 @@ +@@ -2,7 +2,6 @@ include_directories( include_directories( ${PROJECT_SOURCE_DIR}/filesystem - ${PROJECT_SOURCE_DIR}/libmd5 ${PROJECT_SOURCE_DIR}/liblodepng ${PROJECT_SOURCE_DIR}/libmscgen ${PROJECT_SOURCE_DIR}/libversion -@@ -69,7 +68,7 @@ set_source_files_properties(${GENERATED_SRC}/configopt +@@ -69,7 +68,7 @@ add_custom_command( # ce_parse.h add_custom_command( - COMMAND ${BISON_EXECUTABLE} -l -d -p ce_parsexpYY ${CMAKE_CURRENT_LIST_DIR}/constexp.y -o ce_parse.c + COMMAND ${BISON_EXECUTABLE} -l -d ${CMAKE_CURRENT_LIST_DIR}/constexp.y -o ce_parse.c DEPENDS ${CMAKE_CURRENT_LIST_DIR}/constexp.y OUTPUT ${GENERATED_SRC}/ce_parse.h WORKING_DIRECTORY ${GENERATED_SRC} -@@ -353,7 +352,7 @@ endif() +@@ -387,7 +386,7 @@ target_link_libraries(doxygen PRIVATE target_link_libraries(doxygen PRIVATE doxymain doxycfg - md5 + md lodepng mscgen xml diff --git a/devel/doxygen/files/patch-md5-definition b/devel/doxygen/files/patch-src_definition.cpp similarity index 94% rename from devel/doxygen/files/patch-md5-definition rename to devel/doxygen/files/patch-src_definition.cpp index 1847a507e6a2..c3d31b035aab 100644 --- a/devel/doxygen/files/patch-md5-definition +++ b/devel/doxygen/files/patch-src_definition.cpp @@ -1,26 +1,26 @@ ---- src/definition.cpp.orig 2022-08-23 13:47:08 UTC +--- src/definition.cpp.orig 2022-12-25 19:21:45 UTC +++ src/definition.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include "md5.h" #include "regex.h" @@ -417,13 +418,11 @@ bool DefinitionImpl::_docsAlreadyAdded(const QCString bool DefinitionImpl::_docsAlreadyAdded(const QCString &doc,QCString &sigList) { - uchar md5_sig[16]; - char sigStr[33]; + QCString sigStr(33); // to avoid mismatches due to differences in indenting, we first remove // double whitespaces... QCString docStr = doc.simplifyWhiteSpace(); - MD5Buffer(docStr.data(),docStr.length(),md5_sig); - MD5SigToString(md5_sig,sigStr); + MD5Data((const unsigned char *)docStr.data(),docStr.length(),sigStr.rawData()); //printf("%s:_docsAlreadyAdded doc='%s' sig='%s' docSigs='%s'\n", // qPrint(name()),qPrint(doc),qPrint(sigStr),qPrint(sigList)); if (sigList.find(sigStr)==-1) // new docs, add signature to prevent re-adding it diff --git a/devel/doxygen/files/patch-md5-dirdef b/devel/doxygen/files/patch-src_dirdef.cpp similarity index 92% rename from devel/doxygen/files/patch-md5-dirdef rename to devel/doxygen/files/patch-src_dirdef.cpp index 5de471403169..9c394304f23b 100644 --- a/devel/doxygen/files/patch-md5-dirdef +++ b/devel/doxygen/files/patch-src_dirdef.cpp @@ -1,23 +1,23 @@ ---- src/dirdef.cpp.orig 2022-08-11 20:14:32 UTC +--- src/dirdef.cpp.orig 2022-12-18 12:21:42 UTC +++ src/dirdef.cpp @@ -14,6 +14,7 @@ */ #include +#include #include "dirdef.h" #include "md5.h" @@ -181,10 +182,8 @@ static QCString encodeDirName(const QCString &anchor) static QCString encodeDirName(const QCString &anchor) { // convert to md5 hash - uchar md5_sig[16]; - char sigStr[33]; - MD5Buffer(anchor.data(),anchor.length(),md5_sig); - MD5SigToString(md5_sig,sigStr); + QCString sigStr(33); + MD5Data((const unsigned char *)anchor.data(),anchor.length(),sigStr.rawData()); return sigStr; // old algorithm diff --git a/devel/doxygen/files/patch-md5-dotgraph b/devel/doxygen/files/patch-src_dotgraph.cpp similarity index 88% rename from devel/doxygen/files/patch-md5-dotgraph rename to devel/doxygen/files/patch-src_dotgraph.cpp index 6d4bd9883938..35609d01ef85 100644 --- a/devel/doxygen/files/patch-md5-dotgraph +++ b/devel/doxygen/files/patch-src_dotgraph.cpp @@ -1,26 +1,26 @@ ---- src/dotgraph.cpp.orig 2022-08-11 20:14:32 UTC +--- src/dotgraph.cpp.orig 2022-12-25 19:00:20 UTC +++ src/dotgraph.cpp -@@ -16,6 +16,7 @@ - #include +@@ -15,6 +15,7 @@ + #include #include +#include #include "config.h" #include "doxygen.h" @@ -155,12 +156,9 @@ bool DotGraph::prepareDotFile() term("Output dir %s does not exist!\n", m_dir.path().c_str()); } - char sigStr[33]; - uchar md5_sig[16]; - // calculate md5 - MD5Buffer(m_theGraph.data(), m_theGraph.length(), md5_sig); - // convert result to a string - MD5SigToString(md5_sig, sigStr); + QCString sigStr(33); + // calculate md5 and convert result to a string + MD5Data((const unsigned char*)m_theGraph.data(), m_theGraph.length(), sigStr.rawData()); // already queued files are processed again in case the output format has changed diff --git a/devel/doxygen/files/patch-md5-memberdef b/devel/doxygen/files/patch-src_memberdef.cpp similarity index 82% rename from devel/doxygen/files/patch-md5-memberdef rename to devel/doxygen/files/patch-src_memberdef.cpp index a70887368e9a..1a58613b7f74 100644 --- a/devel/doxygen/files/patch-md5-memberdef +++ b/devel/doxygen/files/patch-src_memberdef.cpp @@ -1,23 +1,23 @@ ---- src/memberdef.cpp.orig 2022-08-11 20:14:32 UTC +--- src/memberdef.cpp.orig 2022-12-26 12:52:22 UTC +++ src/memberdef.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "md5.h" #include "memberdef.h" -@@ -4118,10 +4119,8 @@ void MemberDefImpl::setAnchor() +@@ -4149,10 +4150,8 @@ void MemberDefImpl::setAnchor() } // convert to md5 hash - uchar md5_sig[16]; - char sigStr[33]; - MD5Buffer(memAnchor.data(),memAnchor.length(),md5_sig); - MD5SigToString(md5_sig,sigStr); + QCString sigStr(33); + MD5Data((const unsigned char *)memAnchor.data(),memAnchor.length(),sigStr.rawData()); m_impl->anc = QCString("a")+sigStr; } diff --git a/devel/doxygen/files/patch-md5-membergroup b/devel/doxygen/files/patch-src_membergroup.cpp similarity index 74% rename from devel/doxygen/files/patch-md5-membergroup rename to devel/doxygen/files/patch-src_membergroup.cpp index cc5c4684a0f2..e4cc9a785bd8 100644 --- a/devel/doxygen/files/patch-md5-membergroup +++ b/devel/doxygen/files/patch-src_membergroup.cpp @@ -1,11 +1,11 @@ ---- src/membergroup.cpp.orig 2022-08-11 20:14:32 UTC +--- src/membergroup.cpp.orig 2022-09-18 12:47:12 UTC +++ src/membergroup.cpp @@ -15,6 +15,8 @@ * */ +#include + #include "membergroup.h" #include "memberlist.h" #include "outputlist.h" diff --git a/devel/doxygen/files/patch-md5-util b/devel/doxygen/files/patch-src_util.cpp similarity index 89% rename from devel/doxygen/files/patch-md5-util rename to devel/doxygen/files/patch-src_util.cpp index e7441712ae92..fbe3480bcd02 100644 --- a/devel/doxygen/files/patch-md5-util +++ b/devel/doxygen/files/patch-src_util.cpp @@ -1,54 +1,54 @@ ---- src/util.cpp.orig 2022-08-26 07:34:22 UTC +--- src/util.cpp.orig 2022-12-25 18:59:09 UTC +++ src/util.cpp @@ -30,6 +30,7 @@ #include #include +#include #include "md5.h" #include "regex.h" -@@ -3715,26 +3716,18 @@ QCString convertNameToFile(const QCString &name,bool a +@@ -3754,26 +3755,18 @@ QCString convertNameToFile(const QCString &name,bool a if (resultLen>=128) // prevent names that cannot be created! { // third algorithm based on MD5 hash - uchar md5_sig[16]; - char sigStr[33]; - MD5Buffer(result.data(),resultLen,md5_sig); - MD5SigToString(md5_sig,sigStr); + QCString sigStr(33); + MD5Data((const unsigned char *)result.data(),resultLen,sigStr.rawData()); result=result.left(128-32)+sigStr; } } if (createSubdirs) { - int l1Dir=0,l2Dir=0; - int createSubdirsLevel = Config_getInt(CREATE_SUBDIRS_LEVEL); - int createSubdirsBitmaskL2 = (1<%s\n",qPrint(name),qPrint(result)); return result; -@@ -7389,6 +7382,11 @@ QCString removeEmptyLines(const QCString &s) +@@ -7429,6 +7422,11 @@ QCString removeEmptyLines(const QCString &s) QCString removeEmptyLines(const QCString &s) { BufStr out(s.length()+1); + if (s.length()==0) + { + out.addChar('\0'); + return out.data(); + } const char *p=s.data(); if (p) { diff --git a/devel/doxygen/files/patch-vhdlparser_CMakeLists.txt b/devel/doxygen/files/patch-vhdlparser_CMakeLists.txt index 3406f6109dec..3b1baca4f49c 100644 --- a/devel/doxygen/files/patch-vhdlparser_CMakeLists.txt +++ b/devel/doxygen/files/patch-vhdlparser_CMakeLists.txt @@ -1,13 +1,13 @@ ---- vhdlparser/CMakeLists.txt.orig 2021-05-12 18:46:54 UTC +--- vhdlparser/CMakeLists.txt.orig 2022-12-19 11:34:59 UTC +++ vhdlparser/CMakeLists.txt -@@ -37,8 +37,8 @@ add_custom_command( +@@ -35,8 +35,8 @@ include_directories( set_source_files_properties(${GENERATED_SRC}/VhdlParser_adj.cc PROPERTIES GENERATED 1) include_directories( - ${PROJECT_SOURCE_DIR}/src - ${PROJECT_SOURCE_DIR}/vhdlparser + BEFORE ${CMAKE_SOURCE_DIR}/src + ${CMAKE_SOURCE_DIR}/vhdlparser ${GENERATED_SRC}) add_library(vhdlparser STATIC CharStream.cc