From 46aeaff0c584ec8fe206209640e385efcdd22d3e Mon Sep 17 00:00:00 2001 From: Andreas Stefl Date: Mon, 5 Oct 2026 09:15:32 +0200 Subject: [PATCH] fix(build): correct Conan license and Android compiler metadata --- .github/config/conan/profiles/android.jinja | 6 ++---- CHANGELOG.md | 3 +++ conanfile.py | 6 +++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/config/conan/profiles/android.jinja b/.github/config/conan/profiles/android.jinja index a5cc98e69..15c3b37b6 100644 --- a/.github/config/conan/profiles/android.jinja +++ b/.github/config/conan/profiles/android.jinja @@ -23,7 +23,7 @@ os.api_level={{api_level}} arch={{arch}} build_type=Release compiler=clang -compiler.version=17 +compiler.version=19 compiler.cppstd=23 compiler.libcxx=c++_shared @@ -32,9 +32,7 @@ tools.android:ndk_path={{android_home}}/ndk/{{ndk_version}} tools.cmake.cmaketoolchain:extra_variables={'CMAKE_CXX_COMPILER_LAUNCHER': 'ccache', 'CMAKE_C_COMPILER_LAUNCHER': 'ccache'} [buildenv] -# Cross compile toolchain evn vars are required to build -# libffi, libgettext, libiconv, libxml2 and other autotools packages for Android -# https://github.com/conan-io/conan/issues/16493 +# Autotools packages need explicit cross-compilers (conan-io/conan#16493). AR={{toolchain}}/bin/llvm-ar AS={{toolchain}}/bin/llvm-as RANLIB={{toolchain}}/bin/llvm-ranlib diff --git a/CHANGELOG.md b/CHANGELOG.md index 461cce89c..e1ba100d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,9 @@ The release run heads these entries with the version and opens a fresh ## Unreleased +- Conan packages include the license text. Android profiles identify NDK 28.1 + as Clang 19 so dependency package IDs match the compiler. + - PDF incremental writes reject invalid or conflicting object references and oversized output, report write failures and restore the parser position. diff --git a/conanfile.py b/conanfile.py index 5cf3e0dfa..37f5b9f6d 100644 --- a/conanfile.py +++ b/conanfile.py @@ -1,6 +1,9 @@ +from pathlib import Path + from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake +from conan.tools.files import copy class OpenDocumentCoreConan(ConanFile): @@ -37,7 +40,7 @@ class OpenDocumentCoreConan(ConanFile): "pugixml/*:header_only": True, } - exports_sources = ["apple/*", "cli/*", "cmake/*", "jni/*", "python/*", "resources/dist/*", "wasm/*", "src/*", "CMakeLists.txt"] + exports_sources = ["LICENSE", "apple/*", "cli/*", "cmake/*", "jni/*", "python/*", "resources/dist/*", "wasm/*", "src/*", "CMakeLists.txt"] def config_options(self): if self.settings.os == "Windows": @@ -91,6 +94,7 @@ def build(self): cmake.build() def package(self): + copy(self, "LICENSE", self.source_folder, str(Path(self.package_folder) / "licenses")) cmake = CMake(self) cmake.install()