mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-09-30 22:58:17 +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:
parent
f452fa2fce
commit
7840c5e2c7
@ -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
|
||||||
|
|
||||||
36
meta-oe/recipes-core/minizip-ng/minizip-ng_4.0.8.bb
Normal file
36
meta-oe/recipes-core/minizip-ng/minizip-ng_4.0.8.bb
Normal file
@ -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
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user