diff --git a/c++utilities/default/0001-Enable-tidy-tests-only-by-default-via-ENABLE_DEVEL_D.patch b/c++utilities/default/0001-Enable-tidy-tests-only-by-default-via-ENABLE_DEVEL_D.patch new file mode 100644 index 00000000..7464a0b4 --- /dev/null +++ b/c++utilities/default/0001-Enable-tidy-tests-only-by-default-via-ENABLE_DEVEL_D.patch @@ -0,0 +1,60 @@ +From a1bed55eda18b127750c7bff97f97474cd5c3ce9 Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Wed, 22 Nov 2023 12:56:30 +0100 +Subject: [PATCH 1/2] Enable tidy tests only by default via + `ENABLE_DEVEL_DEFAULTS` + +This test is only relevant for development. Additionally, the behavior of +clang-format differs slightly between versions so this can really cause +needlessly failures. +--- + cmake/modules/BasicConfig.cmake | 24 ++++++++++++++++-------- + 1 file changed, 16 insertions(+), 8 deletions(-) + +diff --git a/cmake/modules/BasicConfig.cmake b/cmake/modules/BasicConfig.cmake +index 6a9d65a..dc9a696 100644 +--- a/cmake/modules/BasicConfig.cmake ++++ b/cmake/modules/BasicConfig.cmake +@@ -403,8 +403,14 @@ if (NOT META_NO_TIDY) + if (CMAKE_FORMAT_BIN) + set(CMAKE_FORMAT_ENABLED_DEFAULT ON) + endif () ++ set(TIDY_TESTS_ENABLED_DEFAULT OFF) ++ if (ENABLE_DEVEL_DEFAULTS AND CLANG_FORMAT_ENABLED_DEFAULT) ++ set(TIDY_TESTS_ENABLED_DEFAULT ON) ++ endif () + option(CLANG_FORMAT_ENABLED "enables creation of tidy target using clang-format" "${CLANG_FORMAT_ENABLED_DEFAULT}") + option(CMAKE_FORMAT_ENABLED "enables creation of tidy target using cmake-format" "${CMAKE_FORMAT_ENABLED_DEFAULT}") ++ option(TIDY_TESTS_ENABLED "enables tests for checking whether code is well-formatted using clang-format" ++ "${TIDY_TESTS_ENABLED_DEFAULT}") + endif () + + # add target for tidying with clang-format +@@ -427,14 +433,16 @@ if (NOT META_NO_TIDY + add_dependencies(tidy "${META_TARGET_NAME}_tidy") + + # also add a test to verify whether sources are tidy +- add_test( +- NAME "${META_TARGET_NAME}_tidy_test" +- COMMAND "${CLANG_FORMAT_BIN}" -output-replacements-xml -style=file ${FORMATABLE_FILES} +- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") +- list(APPEND CHECK_TARGET_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/.clang-format") +- set_tests_properties( +- "${META_TARGET_NAME}_tidy_test" PROPERTIES FAIL_REGULAR_EXPRESSION ".*" REQUIRED_FILES +- "${CMAKE_CURRENT_SOURCE_DIR}/.clang-format") ++ if (TIDY_TESTS_ENABLED) ++ add_test( ++ NAME "${META_TARGET_NAME}_tidy_test" ++ COMMAND "${CLANG_FORMAT_BIN}" -output-replacements-xml -style=file ${FORMATABLE_FILES} ++ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") ++ list(APPEND CHECK_TARGET_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/.clang-format") ++ set_tests_properties( ++ "${META_TARGET_NAME}_tidy_test" PROPERTIES FAIL_REGULAR_EXPRESSION ".*" ++ REQUIRED_FILES "${CMAKE_CURRENT_SOURCE_DIR}/.clang-format") ++ endif () + endif () + + # add target for tidying with cmake-format +-- +2.42.1 + diff --git a/c++utilities/default/0002-Enable-AppStream-tests-only-by-default-via-ENABLE_DE.patch b/c++utilities/default/0002-Enable-AppStream-tests-only-by-default-via-ENABLE_DE.patch new file mode 100644 index 00000000..be676b3d --- /dev/null +++ b/c++utilities/default/0002-Enable-AppStream-tests-only-by-default-via-ENABLE_DE.patch @@ -0,0 +1,35 @@ +From 8fb7de6fe0ce506d1521f586ab841266b2783ef8 Mon Sep 17 00:00:00 2001 +From: Martchus +Date: Wed, 22 Nov 2023 12:59:20 +0100 +Subject: [PATCH 2/2] Enable AppStream tests only by default via + `ENABLE_DEVEL_DEFAULTS` + +This test already fails on deprecations so it is likely not a good idea to +run it in general as it would cause needless failures. +--- + cmake/modules/AppUtilities.cmake | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/cmake/modules/AppUtilities.cmake b/cmake/modules/AppUtilities.cmake +index 9a46b48..2272431 100644 +--- a/cmake/modules/AppUtilities.cmake ++++ b/cmake/modules/AppUtilities.cmake +@@ -80,9 +80,14 @@ function (add_appstream_file) + COMPONENT appimage) + + # add test ++ set(APPSTREAM_TESTS_ENABLED_DEFAULT OFF) + find_program(APPSTREAMCLI_BIN "appstreamcli") ++ if (ENABLE_DEVEL_DEFAULTS AND APPSTREAMCLI_BIN) ++ set(APPSTREAM_TESTS_ENABLED_DEFAULT ON) ++ endif () ++ option(APPSTREAM_TESTS_ENABLED "enables tests for checking whether AppStream files" "${APPSTREAM_TESTS_ENABLED_DEFAULT}") + if (NOT APPSTREAMCLI_BIN) +- message(STATUS "Could not find appstreamcli; won't add test/target to validate appstream files") ++ message(FATAL_ERROR "Unable to validate appstreamcli files; appstreamcli not found") + else () + add_test(NAME "${META_TARGET_NAME}_appstream_validation" COMMAND "${APPSTREAMCLI_BIN}" validate "${APPSTREAM_FILE}") + endif () +-- +2.42.1 + diff --git a/c++utilities/default/PKGBUILD b/c++utilities/default/PKGBUILD index aeea2cac..e243e0fd 100644 --- a/c++utilities/default/PKGBUILD +++ b/c++utilities/default/PKGBUILD @@ -6,7 +6,7 @@ _reponame=cpp-utilities pkgname=c++utilities pkgver=5.24.2 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64') pkgdesc='Common C++ classes and routines such as argument parser, IO and conversion utilities' license=('GPL') @@ -16,8 +16,17 @@ makedepends=('cmake' 'ninja') checkdepends=('cppunit') provides=(libc++utilities.so) url="https://github.com/Martchus/${_reponame}" -source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz") -sha256sums=('46e79313900a8cbb7a3c0211fcc0cd07c2c8a6c2bcaeb11aec7fc706dc5914b1') +source=("${pkgname}-${pkgver}.tar.gz::https://github.com/Martchus/${_reponame}/archive/v${pkgver}.tar.gz" + 0001-Enable-tidy-tests-only-by-default-via-ENABLE_DEVEL_D.patch + 0002-Enable-AppStream-tests-only-by-default-via-ENABLE_DE.patch) +sha256sums=('46e79313900a8cbb7a3c0211fcc0cd07c2c8a6c2bcaeb11aec7fc706dc5914b1' + SKIP SKIP) + +prepare() { + cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" + patch -p1 -i ../0001-Enable-tidy-tests-only-by-default-via-ENABLE_DEVEL_D.patch + patch -p1 -i ../0002-Enable-AppStream-tests-only-by-default-via-ENABLE_DE.patch +} build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}"