diff --git a/devel/cppcheck/Makefile b/devel/cppcheck/Makefile index da8015ff88fe..0a88619f679c 100644 --- a/devel/cppcheck/Makefile +++ b/devel/cppcheck/Makefile @@ -1,81 +1,81 @@ # Created by: Gabor Pali PORTNAME= cppcheck -PORTVERSION= 2.7.1 +PORTVERSION= 2.7.3 PORTREVISION?= 0 # devel/cppcheck-gui CATEGORIES= devel MAINTAINER= amdmi3@FreeBSD.org COMMENT?= Static analysis of C/C++ code LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING +LIB_DEPENDS= libtinyxml2.so:textproc/tinyxml2 + USES= compiler:c++11-lib cmake:insource tar:bzip2 USE_GITHUB= yes GH_ACCOUNT= danmar +CMAKE_OFF= USE_BUNDLED_TINYXML2 .if defined(GUI_ONLY) COMMENT= Static analysis of C/C++ code (GUI) RUN_DEPENDS= cppcheck:devel/cppcheck -CMAKE_ARGS= -DBUILD_GUI=TRUE +CMAKE_ON+= BUILD_GUI USES+= qt:5 USE_QT= core gui widgets printsupport help qmake_build buildtools_build linguisttools_build BUILD_WRKSRC= ${WRKSRC}/gui INSTALL_WRKSRC= ${WRKSRC}/gui PLIST= ${PKGDIR}/pkg-plist-gui PKGNAMESUFFIX= -gui .else USES+= shebangfix SHEBANG_FILES= htmlreport/cppcheck-htmlreport PORTDATA= * OPTIONS_DEFINE= RULES HTMLREPORT MANPAGES MATCHCOMPILER TEST OPTIONS_DEFAULT= RULES HTMLREPORT MANPAGES MATCHCOMPILER OPTIONS_SUB= yes RULES_DESC= User-defined rule support (requires PCRE) RULES_CMAKE_BOOL= HAVE_RULES RULES_LIB_DEPENDS= libpcre.so:devel/pcre RULES_USES= localbase:ldflags TEST_CMAKE_BOOL= BUILD_TESTS HTMLREPORT_DESC= Install cppcheck-htmlreport HTMLREPORT_USES= python:${PYUSE:C/ /,/W} HTMLREPORT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR} HTMLREPORT_PLIST_FILES= bin/cppcheck-htmlreport HTMLREPORT_VARS= PYUSE+=run MANPAGES_BUILD_DEPENDS= xsltproc:textproc/libxslt \ ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl MATCHCOMPILER_DESC= Build-time optimizations via Python MATCHCOMPILER_CMAKE_BOOL= USE_MATCHCOMPILER MATCHCOMPILER_USES= python:${PYUSE:C/ /,/W} MATCHCOMPILER_VARS= PYUSE+=build -post-patch: - @${REINPLACE_CMD} -e '/find_package(Qt5/ d' ${WRKSRC}/cmake/findDependencies.cmake - post-install-HTMLREPORT-on: ${INSTALL_SCRIPT} ${WRKSRC}/htmlreport/cppcheck-htmlreport ${STAGEDIR}${PREFIX}/bin post-build-MANPAGES-on: cd ${WRKSRC}/man && ${LOCALBASE}/bin/xsltproc --nonet --param man.charmap.use.subset "0" \ ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl cppcheck.1.xml post-install-MANPAGES-on: ${INSTALL_MAN} ${WRKSRC}/man/cppcheck.1 ${STAGEDIR}${PREFIX}/man/man1 do-test-TEST-on: cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ctest .endif .include diff --git a/devel/cppcheck/distinfo b/devel/cppcheck/distinfo index bc64be979ba9..04a2dfdc2555 100644 --- a/devel/cppcheck/distinfo +++ b/devel/cppcheck/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1647017629 -SHA256 (danmar-cppcheck-2.7.1_GH0.tar.gz) = c6a9d7041891d2545a6f996c4a4924975d0cbe281c076d214f51ec832e753f1c -SIZE (danmar-cppcheck-2.7.1_GH0.tar.gz) = 3939843 +TIMESTAMP = 1647861496 +SHA256 (danmar-cppcheck-2.7.3_GH0.tar.gz) = edda6dc9627ccb2b0132a2e43e7b7deff47e479ae3dc3af1c1fbc8a66699a113 +SIZE (danmar-cppcheck-2.7.3_GH0.tar.gz) = 3940231 diff --git a/devel/cppcheck/files/patch-cli_CMakeLists.txt b/devel/cppcheck/files/patch-cli_CMakeLists.txt new file mode 100644 index 000000000000..d202b9d3a9dd --- /dev/null +++ b/devel/cppcheck/files/patch-cli_CMakeLists.txt @@ -0,0 +1,11 @@ +--- cli/CMakeLists.txt.orig 2022-03-19 11:35:06 UTC ++++ cli/CMakeLists.txt +@@ -35,7 +35,7 @@ if (WIN32 AND NOT BORLAND) + endif() + endif() + if(tinyxml2_FOUND AND NOT USE_BUNDLED_TINYXML2) +- target_link_libraries(cppcheck ${tinyxml2_LIBRARIES}) ++ target_link_libraries(cppcheck tinyxml2::tinyxml2) + endif() + + add_dependencies(cppcheck copy_cfg) diff --git a/devel/cppcheck/files/patch-cmake_findDependencies.cmake b/devel/cppcheck/files/patch-cmake_findDependencies.cmake new file mode 100644 index 000000000000..123511747c71 --- /dev/null +++ b/devel/cppcheck/files/patch-cmake_findDependencies.cmake @@ -0,0 +1,35 @@ +--- cmake/findDependencies.cmake.orig 2022-03-19 11:35:06 UTC ++++ cmake/findDependencies.cmake +@@ -1,15 +1,15 @@ + if (BUILD_GUI) + if (BUILD_TESTS) + if (NOT WITH_QCHART) + find_package(Qt5 COMPONENTS Core Gui Widgets PrintSupport LinguistTools Help Test REQUIRED) + else() + find_package(Qt5 COMPONENTS Core Gui Widgets PrintSupport LinguistTools Help Test Charts REQUIRED) + endif() + else() + if (NOT WITH_QCHART) + find_package(Qt5 COMPONENTS Core Gui Widgets PrintSupport LinguistTools Help REQUIRED) + else() + find_package(Qt5 COMPONENTS Core Gui Widgets PrintSupport LinguistTools Help Charts REQUIRED) + endif() + endif() + endif() +@@ -47,7 +43,7 @@ if (NOT USE_MATCHCOMPILER_OPT MATCHES "Off") + endif() + + if (NOT USE_BUNDLED_TINYXML2) +- find_package(tinyxml2 QUIET) ++ find_package(tinyxml2 REQUIRED) + if (NOT tinyxml2_FOUND) + find_library(tinyxml2_LIBRARIES tinyxml2) + if (NOT tinyxml2_LIBRARIES) +@@ -56,5 +52,7 @@ if (NOT USE_BUNDLED_TINYXML2) + message(STATUS "tinyxml2_LIBRARY: ${tinyxml2_LIBRARY}") + set(tinyxml2_FOUND 1) + endif() ++ else() ++ set(tinyxml2_LIBRARIES tinyxml2::tinyxml2) + endif() + endif() diff --git a/devel/cppcheck/files/patch-gui_CMakeLists.txt b/devel/cppcheck/files/patch-gui_CMakeLists.txt index c992c1078fc6..6cc7ac50c7be 100644 --- a/devel/cppcheck/files/patch-gui_CMakeLists.txt +++ b/devel/cppcheck/files/patch-gui_CMakeLists.txt @@ -1,11 +1,20 @@ ---- gui/CMakeLists.txt.orig 2018-06-10 20:41:03 UTC +--- gui/CMakeLists.txt.orig 2022-03-19 11:35:06 UTC +++ gui/CMakeLists.txt -@@ -27,7 +27,7 @@ if (BUILD_GUI) - target_link_libraries(cppcheck-gui Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport) +@@ -36,7 +36,7 @@ if (BUILD_GUI) + target_link_libraries(cppcheck-gui ${Z3_LIBRARIES}) + endif() + if(tinyxml2_FOUND AND NOT USE_BUNDLED_TINYXML2) +- target_link_libraries(cppcheck-gui ${tinyxml2_LIBRARIES}) ++ target_link_libraries(cppcheck-gui tinyxml2::tinyxml2) + endif() + target_link_libraries(cppcheck-gui Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport Qt5::Help) + if(WITH_QCHART) +@@ -51,7 +51,7 @@ if (BUILD_GUI) + endif() install(TARGETS cppcheck-gui RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} COMPONENT applications) - install(FILES ${qms} DESTINATION ${CMAKE_INSTALL_FULL_BINDIR} COMPONENT applications) + install(FILES ${qms} DESTINATION ${CMAKE_INSTALL_FULL_DATAROOTDIR}/${PROJECT_NAME}/lang COMPONENT applications) install(FILES cppcheck-gui.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications) diff --git a/devel/cppcheck/files/patch-gui_test_benchmark_simple_CMakeLists.txt b/devel/cppcheck/files/patch-gui_test_benchmark_simple_CMakeLists.txt new file mode 100644 index 000000000000..35de39f7ee02 --- /dev/null +++ b/devel/cppcheck/files/patch-gui_test_benchmark_simple_CMakeLists.txt @@ -0,0 +1,11 @@ +--- gui/test/benchmark/simple/CMakeLists.txt.orig 2022-03-19 11:35:06 UTC ++++ gui/test/benchmark/simple/CMakeLists.txt +@@ -20,5 +20,5 @@ if (USE_Z3) + target_link_libraries(benchmark-simple ${Z3_LIBRARIES}) + endif() + if(tinyxml2_FOUND AND NOT USE_BUNDLED_TINYXML2) +- target_link_libraries(benchmark-simple ${tinyxml2_LIBRARIES}) +-endif() +\ No newline at end of file ++ target_link_libraries(benchmark-simple tinyxml2::tinyxml2) ++endif() diff --git a/devel/cppcheck/files/patch-gui_test_xmlreportv2_CMakeLists.txt b/devel/cppcheck/files/patch-gui_test_xmlreportv2_CMakeLists.txt new file mode 100644 index 000000000000..650aecfdad42 --- /dev/null +++ b/devel/cppcheck/files/patch-gui_test_xmlreportv2_CMakeLists.txt @@ -0,0 +1,9 @@ +--- gui/test/xmlreportv2/CMakeLists.txt.orig 2022-03-19 11:35:06 UTC ++++ gui/test/xmlreportv2/CMakeLists.txt +@@ -24,5 +24,5 @@ if (USE_Z3) + target_link_libraries(test-xmlreportv2 ${Z3_LIBRARIES}) + endif() + if(tinyxml2_FOUND AND NOT USE_BUNDLED_TINYXML2) +- target_link_libraries(test-xmlreportv2 ${tinyxml2_LIBRARIES}) ++ target_link_libraries(test-xmlreportv2 tinyxml2::tinyxml2) + endif() diff --git a/devel/cppcheck/files/patch-lib_CMakeLists.txt b/devel/cppcheck/files/patch-lib_CMakeLists.txt new file mode 100644 index 000000000000..f2999fceb629 --- /dev/null +++ b/devel/cppcheck/files/patch-lib_CMakeLists.txt @@ -0,0 +1,11 @@ +--- lib/CMakeLists.txt.orig 2022-03-19 11:35:06 UTC ++++ lib/CMakeLists.txt +@@ -36,6 +36,8 @@ add_library(lib_objs OBJECT ${srcs_lib} ${hdrs}) + target_include_directories(lib_objs PRIVATE ${PROJECT_SOURCE_DIR}/externals/) + if(USE_BUNDLED_TINYXML2) + target_include_directories(lib_objs PRIVATE ${PROJECT_SOURCE_DIR}/externals/tinyxml2/) ++else() ++ target_link_libraries(lib_objs PRIVATE tinyxml2::tinyxml2) + endif() + target_include_directories(lib_objs PRIVATE ${PROJECT_SOURCE_DIR}/externals/picojson/) + target_include_directories(lib_objs PRIVATE ${PROJECT_SOURCE_DIR}/externals/simplecpp/) diff --git a/devel/cppcheck/files/patch-oss-fuzz_CMakeLists.txt b/devel/cppcheck/files/patch-oss-fuzz_CMakeLists.txt new file mode 100644 index 000000000000..ba9d6741a87d --- /dev/null +++ b/devel/cppcheck/files/patch-oss-fuzz_CMakeLists.txt @@ -0,0 +1,11 @@ +--- oss-fuzz/CMakeLists.txt.orig 2022-03-19 11:35:06 UTC ++++ oss-fuzz/CMakeLists.txt +@@ -25,7 +25,7 @@ if (ENABLE_OSS_FUZZ AND CMAKE_CXX_COMPILER_ID MATCHES + target_link_libraries(fuzz-client PRIVATE ${Z3_LIBRARIES}) + endif() + if(tinyxml2_FOUND AND NOT USE_BUNDLED_TINYXML2) +- target_link_libraries(fuzz-client PRIVATE ${tinyxml2_LIBRARIES}) ++ target_link_libraries(fuzz-client PRIVATE tinyxml2::tinyxml2) + endif() + + add_executable(translate EXCLUDE_FROM_ALL diff --git a/devel/cppcheck/files/patch-test_CMakeLists.txt b/devel/cppcheck/files/patch-test_CMakeLists.txt new file mode 100644 index 000000000000..210d2f9f9b5e --- /dev/null +++ b/devel/cppcheck/files/patch-test_CMakeLists.txt @@ -0,0 +1,11 @@ +--- test/CMakeLists.txt.orig 2022-03-19 11:35:06 UTC ++++ test/CMakeLists.txt +@@ -26,7 +26,7 @@ if (BUILD_TESTS) + endif() + endif() + if(tinyxml2_FOUND AND NOT USE_BUNDLED_TINYXML2) +- target_link_libraries(testrunner ${tinyxml2_LIBRARIES}) ++ target_link_libraries(testrunner tinyxml2::tinyxml2) + endif() + + if (NOT CMAKE_DISABLE_PRECOMPILE_HEADERS)