mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-05 02:50:46 +00:00
minizip-ng: Add new recipe
minizip-ng is a zip manipulation library written in C that is supported on Windows, macOS, and Linux. minizip-ng has new features and bug fixes compared to the original library minizip [1] which had not been maintained for a long period of time. [1] https://github.com/madler/zlib/tree/master/contrib/minizip Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
From 469beab0747549599959a30188deb3b27df3a346 Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Wed, 2 Apr 2025 11:19:54 +0800
|
||||
Subject: [PATCH] crypt.h: Remove register keyword
|
||||
|
||||
Fixes:
|
||||
| In file included from /buildarea/tmp/work/core2-64-poky-linux/minizip-ng/4.0.8/git/test/test_compat.cc:17:
|
||||
| /buildarea/tmp/work/core2-64-poky-linux/minizip-ng/4.0.8/git/compat/crypt.h:62:9: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
|
||||
| 62 | register int keyshift = (int)((*(pkeys + 1)) >> 24);
|
||||
| | ^~~~~~~~
|
||||
| 1 error generated.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/zlib-ng/minizip-ng/pull/853]
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
---
|
||||
compat/crypt.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/compat/crypt.h b/compat/crypt.h
|
||||
index 41c6454..ccdd83a 100644
|
||||
--- a/compat/crypt.h
|
||||
+++ b/compat/crypt.h
|
||||
@@ -59,7 +59,7 @@ static int update_keys(unsigned long *pkeys, const z_crc_t *pcrc_32_tab, int c)
|
||||
(*(pkeys + 1)) += (*(pkeys + 0)) & 0xff;
|
||||
(*(pkeys + 1)) = (*(pkeys + 1)) * 134775813L + 1;
|
||||
{
|
||||
- register int keyshift = (int)((*(pkeys + 1)) >> 24);
|
||||
+ int keyshift = (int)((*(pkeys + 1)) >> 24);
|
||||
(*(pkeys + 2)) = CRC32((*(pkeys + 2)), keyshift);
|
||||
}
|
||||
return c;
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
SUMMARY = "Zlib manipulation Library"
|
||||
DESCRIPTION = "minizip-ng is a zip manipulation library written in C that is supported \
|
||||
on Windows, macOS, and Linux."
|
||||
HOMEPAGE = "https://github.com/zlib-ng/minizip-ng"
|
||||
SECTION = "libs"
|
||||
LICENSE = "Zlib"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=36964f044224efeedd694983c34e716f"
|
||||
|
||||
SRC_URI = "git://github.com/zlib-ng/minizip-ng.git;protocol=https;branch=master \
|
||||
file://0001-crypt.h-Remove-register-keyword.patch \
|
||||
"
|
||||
|
||||
SRCREV = "55db144e03027b43263e5ebcb599bf0878ba58de"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
RCONFLICTS:${PN} += "minizip"
|
||||
|
||||
DEPENDS = "xz openssl bzip2"
|
||||
|
||||
inherit cmake pkgconfig
|
||||
|
||||
EXTRA_OECMAKE = "-DMZ_FORCE_FETCH_LIBS=OFF \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= "zlib"
|
||||
PACKAGECONFIG[zlib] = "-DMZ_ZLIB=ON,-DMZ_ZLIB=OFF, zlib"
|
||||
PACKAGECONFIG[zlib-ng] = "-DMZ_ZLIB=ON,-DMZ_ZLIB=OFF, zlib-ng"
|
||||
|
||||
|
||||
do_install:append () {
|
||||
# remove absolute paths
|
||||
sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/minizip/minizip.cmake
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user