From: Igor Opaniuk Date: Fri, 24 Jul 2026 13:15:37 +0000 (+0200) Subject: libzip: import recipe from meta-oe X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f17e8750c39030fbd4bc41e22d4f5e80c4ccaf87;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git libzip: import recipe from meta-oe Recent versions of the qdl tool [1], used for flashing and provisioning Qualcomm-based boards, depend on libzip in order to flash images directly from zip-compressed flat builds without unpacking them: the device requests individual images on demand (in Sahara/Firehose device-driven order), which requires random access to archive members by name. Neither zlib (byte-stream compression only, no container format support) nor libarchive (streaming, sequential access only) covers this use case. qdl recipes are provided by the Qualcomm BSP layer (e.g. meta-qcom [2]) and board flashing is core BSP functionality. Recipes from other layers also depend on libzip (libsigrok, idevicerestore and php in meta-oe, localsearch in meta-gnome), so it makes sense to move libzip to OE-Core in order to reduce inter-layer dependencies, following the example of commit 1a0196a794 ("libconfig: import recipe from meta-oe"). Changes between meta-oe and this recipe: - Added SUMMARY, BUGTRACKER and SECTION - Fixed the tools and examples PACKAGECONFIGs to use the actual BUILD_TOOLS and BUILD_EXAMPLES CMake options (ENABLE_TOOLS and ENABLE_EXAMPLES do not exist and were silently ignored) - Fixed the tests PACKAGECONFIG to use BUILD_REGRESS consistently - Dropped the mbedtls PACKAGECONFIG, as mbedtls is not in OE-Core - Extended BBCLASSEXTEND with nativesdk [1] https://github.com/linux-msm/qdl [2] https://github.com/qualcomm-linux/meta-qcom Signed-off-by: Igor Opaniuk Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 1565b18fec..c5b701c244 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -470,6 +470,7 @@ RECIPE_MAINTAINER:pn-libxv = "Unassigned " RECIPE_MAINTAINER:pn-libxvmc = "Unassigned " RECIPE_MAINTAINER:pn-libxxf86vm = "Unassigned " RECIPE_MAINTAINER:pn-libyaml = "Wang Mingyu " +RECIPE_MAINTAINER:pn-libzip = "Igor Opaniuk " RECIPE_MAINTAINER:pn-lighttpd = "Unassigned " RECIPE_MAINTAINER:pn-linux-dummy = "Unassigned " RECIPE_MAINTAINER:pn-linux-firmware = "Vivek Puar " diff --git a/meta/recipes-extended/libzip/libzip_1.11.4.bb b/meta/recipes-extended/libzip/libzip_1.11.4.bb new file mode 100644 index 0000000000..36f7d1faf5 --- /dev/null +++ b/meta/recipes-extended/libzip/libzip_1.11.4.bb @@ -0,0 +1,30 @@ +SUMMARY = "C library for reading, creating, and modifying zip archives" +DESCRIPTION = "libzip is a C library for reading, creating, and modifying \ +zip archives. Files can be added from data buffers, files, or compressed \ +data copied directly from other zip archives. Changes made without closing \ +the archive can be reverted." +HOMEPAGE = "https://libzip.org/" +BUGTRACKER = "https://github.com/nih-at/libzip/issues" +SECTION = "libs" + +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d8a9d2078f35e61cf1122ccd440687cf" + +DEPENDS = "zlib bzip2" + +SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz" +SRC_URI[sha256sum] = "8a247f57d1e3e6f6d11413b12a6f28a9d388de110adc0ec608d893180ed7097b" + +inherit cmake + +PACKAGECONFIG ?= "ssl lzma tools examples" + +PACKAGECONFIG[ssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl" +PACKAGECONFIG[gnutls] = "-DENABLE_GNUTLS=ON,-DENABLE_GNUTLS=OFF,gnutls nettle" +PACKAGECONFIG[lzma] = "-DENABLE_LZMA=ON,-DENABLE_LZMA=OFF,xz" +PACKAGECONFIG[zstd] = "-DENABLE_ZSTD=ON,-DENABLE_ZSTD=OFF,zstd" +PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON,-DBUILD_TOOLS=OFF" +PACKAGECONFIG[examples] = "-DBUILD_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF" +PACKAGECONFIG[tests] = "-DBUILD_REGRESS=ON,-DBUILD_REGRESS=OFF" + +BBCLASSEXTEND = "native nativesdk"