diff --git a/pkg.info b/info.yml similarity index 83% rename from pkg.info rename to info.yml index efb861d..648bd44 100644 --- a/pkg.info +++ b/info.yml @@ -1,7 +1,7 @@ name: qt6-tools description: A cross-platform application and UI framework (Development Tools, QtHelp) version: 6.11.1 -revision: 1 +revision: 2 url: https://www.qt.io/ license: FDL,GPL3,LGPL3,custom maintainers: @@ -14,13 +14,14 @@ depends: - qt6-base - zstd optional_depends: - - clang - - qt6-declarative + - clang:For qdoc and lupdate + - qt6-declarative:For qdistancefieldgenerator, qdoc and lupdate make_depends: - clang - cmake - git - llvm + - ninja - qt6-declarative - vulkan-headers downloads: diff --git a/source.sh b/recipe.sh similarity index 77% rename from source.sh rename to recipe.sh index 7eaf24d..8fb756d 100644 --- a/source.sh +++ b/recipe.sh @@ -1,4 +1,4 @@ -# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# This is the recipe.sh script. It is executed by BPM in a temporary directory when compiling a source package # BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT @@ -6,6 +6,7 @@ # This function is used for putting downloaded files to the correct location or applying patches prepare() { cd "$BPM_SOURCE" + patch -Np1 -i "$BPM_WORKDIR"/llvm22.patch git submodule init git submodule update --init --recursive } @@ -13,7 +14,11 @@ prepare() { # The build function is executed in the source directory # This function is used to compile the source code build() { - cmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DINSTALL_PUBLICBINDIR=usr/bin -DCMAKE_MESSAGE_LOG_LEVEL=STATUS + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DQT_INSTALL_XDG_DESKTOP_ENTRIES=ON \ + -DQLITEHTML_USE_SYSTEM_LITEHTML=ON \ + -DCMAKE_MESSAGE_LOG_LEVEL=STATUS cmake --build build } diff --git a/source-files/llvm22.patch b/source-files/llvm22.patch new file mode 100644 index 0000000..3fca9f4 --- /dev/null +++ b/source-files/llvm22.patch @@ -0,0 +1,43 @@ +diff --git a/src/qdoc/cmake/QDocConfiguration.cmake b/src/qdoc/cmake/QDocConfiguration.cmake +index 72d27db9e..8a3cba463 100644 +--- a/src/qdoc/cmake/QDocConfiguration.cmake ++++ b/src/qdoc/cmake/QDocConfiguration.cmake +@@ -8,7 +8,7 @@ set(QDOC_MINIMUM_CLANG_VERSION "17") + + # List of explicitly supported Clang versions for QDoc + set(QDOC_SUPPORTED_CLANG_VERSIONS +- "21.1" "20.1" "19.1" "18.1" "17.0.6" ++ "22.1" "22.0" "21.1" "20.1" "19.1" "18.1" "17.0.6" + ) + + # Check for QDoc coverage dependencies +diff --git a/src/qdoc/qdoc/CMakeLists.txt b/src/qdoc/qdoc/CMakeLists.txt +index 90f1d7c23..84ebc3a28 100644 +--- a/src/qdoc/qdoc/CMakeLists.txt ++++ b/src/qdoc/qdoc/CMakeLists.txt +@@ -191,6 +191,7 @@ qt_internal_add_tool(${target_name} + DEFINES + # To provide the ability to workaround version-specific Clang issues. + # A re-export of (LLVM|CLANG)_VERSION_MAJOR done in WrapLibClang.cmake ++ QT_NO_EMIT + LIBCLANG_VERSION_MAJOR=${QT_LIB_CLANG_VERSION_MAJOR} + ) + +diff --git a/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp b/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp +index 66a750a3d..3f54ddff5 100644 +--- a/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp ++++ b/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp +@@ -43,7 +43,12 @@ + #include + #include + +-#include "clang/AST/QualTypeNames.h" ++#if LIBCLANG_VERSION_MAJOR >= 22 ++// LLVM 22 provides a compatible QualTypeNames implementation in libclang. ++# include ++#else ++# include "clang/AST/QualTypeNames.h" ++#endif + #include "template_declaration.h" + + #include