<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-openembedded.git/meta-oe/recipes-extended/7zip/bit7z, branch master</title>
<subtitle>Mirror of git.openembedded.org/meta-openembedded</subtitle>
<id>https://git.enea.com/cgit/linux/meta-openembedded.git/atom?h=master</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-openembedded.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/'/>
<updated>2026-03-17T20:25:22+00:00</updated>
<entry>
<title>bit7z: upgrade 4.0.9 -&gt; 4.0.11</title>
<updated>2026-03-17T20:25:22+00:00</updated>
<author>
<name>Liu Yiding</name>
<email>liuyd.fnst@fujitsu.com</email>
</author>
<published>2026-02-26T09:19:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=5dd79230ea712294808b67c575d8f855e4ea32a0'/>
<id>urn:sha1:5dd79230ea712294808b67c575d8f855e4ea32a0</id>
<content type='text'>
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 &lt;liuyd.fnst@fujitsu.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>bit7z: add ptest support</title>
<updated>2025-04-07T19:21:23+00:00</updated>
<author>
<name>Peter Marko</name>
<email>peter.marko@siemens.com</email>
</author>
<published>2025-04-07T16:16:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=36b1e2b140679869d90fc61da8d4acb6e9d142cc'/>
<id>urn:sha1:36b1e2b140679869d90fc61da8d4acb6e9d142cc</id>
<content type='text'>
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 &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>bit7z: add new recipe</title>
<updated>2025-04-07T19:21:23+00:00</updated>
<author>
<name>Peter Marko</name>
<email>peter.marko@siemens.com</email>
</author>
<published>2025-04-07T16:16:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-openembedded.git/commit/?id=3e7086cdde4aaadc10bc7275d0d46faf6d41a5fa'/>
<id>urn:sha1:3e7086cdde4aaadc10bc7275d0d46faf6d41a5fa</id>
<content type='text'>
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 &lt;peter.marko@siemens.com&gt;
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
</feed>
