summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-extended/7zip/bit7z
Commit message (Collapse)AuthorAgeFilesLines
* bit7z: upgrade 4.0.9 -> 4.0.11Liu Yiding2026-03-176-237/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Changelog: https://github.com/rikyoz/bit7z/releases/tag/v4.0.11 2. Drop following patches as they were merged upstream. 0001-Fix-reinterpret-cast-compiler-errors.patch 0001-Fix-int8_t-storage-in-BitPropVariant-on-Arm-architec.patch 0001-Allow-running-tests-on-target-when-cross-compiling.patch 0001-Allow-specifying-path-to-7z-library-in-tests.patch 0001-Fix-tests-with-musl.patch 3. Adjust Ptest SRCREV to adopt to latest bit7z SRCREV_filesystem refer to bit7z-4.0.11/cmake/Dependencies.cmake SRCREV_catch2 refer to bit7z-4.0.11/tests/CMakeLists.txt SRCHASH_CPM and TAG_CPM refer to bit7z-4.0.11/cmake/Dependencies.cmake 4.cmake/Dependencies.cmake has redefined to check and download CPM_${CPM_DOWNLOAD_VERSION}.cmake file to CPM_SOURCE_CACHE, so it will show error in do_configure as ./build/cpm_cache/cpm/CPM_0.42.0.cmake is empty | -- Downloading CPM.cmake to ...bit7z/4.0.11/build/cpm_cache/cpm/CPM_0.42.0.cmake | CMake Error at cmake/Dependencies.cmake:15 (file): | file DOWNLOAD cannot compute hash on failed download | | from url: "https://github.com/cpm-cmake/CPM.cmake/releases/download/v0.42.0/CPM.cmake" | status: [6;"Could not resolve hostname"] So change ${B}/cmake to ${B}/cpm_cache/cpm/ to fix this issue. ./build/cpm_cache/cpm/CPM_0.42.0.cmake 5. Add 0001-cmake-disable-filesystem-gitclone.patch to fix filesystem git clone error Fix error log as following: | fatal: unable to access 'https://github.com/rikyoz/filesystem.git/': Could not resolve host: github.com | Had to git clone more than once: 3 times. | CMake Error at bit7z/4.0.11/build/_deps/ghc_filesystem-subbuild/ghc_filesystem-populate-prefix/tmp/ghc_filesystem-populate-gitclone.cmake:50 (message): | Failed to clone repository: 'https://github.com/rikyoz/filesystem.git' Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bit7z: add ptest supportPeter Marko2025-04-074-0/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Main problem with ptest for this component is that it uses cmake's FetchContent and CPM to get dependencies. This adds lot of ugly code to the recipe including conditional patch. Second big problem is that tests need BIT7Z_DISABLE_USE_STD_FILESYSTEM which uses test library. This means that when building with ptests, the code is significantly different than when building without it. But in production case we don't want to use testing library... This is known at upstream and will be fixed eventually as github CI is failing on this too when submitting unrelated patches upstream. Other considerations: * created patch for new cmake option to pass path to test data on target * created patch for new cmake option to pass path to lib7zip on target * skipped test which consumes too much RAM (it passes if machine has plenty of RAM) * testdata contains files for other architectures, so INSANE_SKIP is needed for ptest package * created patch for tests failing with musl Tests usually take 9s on my build machine so added them to fast ptests. However since the dependency 7zip recipe does not build on 64-bit architectures, I could not add it to PTESTS_FAST_META_OE. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bit7z: add new recipePeter Marko2025-04-073-0/+122
bit7z is a cross-platform C++ static library that allows the compression/extraction of archive files through a clean and simple wrapper interface to the dynamic libraries from the 7-Zip project. It supports compression and extraction to and from the filesystem or the memory, reading archives metadata, updating existing ones, creating multi-volume archives, operation progress callbacks, and many other functionalities. Recipe comments: * 2 patches needed for successful build+ptest were submitted upstream * to upstream dependency inclusion patch we'd have to completely rework dependency handling and would be probably against their concepts Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>