Minizip-NG es una biblioteca de manipulación zip escrita en C que se admite en Windows, MacOS y Linux.
Desarrollado y mantenido por Nathan Moinvaziri.
| Nombre | Descripción |
|---|---|
| desarrollar | Último código de desarrollo. |
| maestro | Lanzamiento estable más reciente. |
| 1.2 | Viejos cambios en Minizip original que incluye el cifrado de Winzip AES, la división de disco, el almacenamiento en búfer de E/S y algunas correcciones adicionales. No ABI compatible con Minizip original. |
| 1.1 | Minizip original a partir de ZLIB 1.2.11. |
Minizip fue desarrollado originalmente por Gilles Vollant en 1998. Se incluyó por primera vez en la distribución ZLIB como una contribución de código adicional que comienza en ZLIB 1.1.2. Desde entonces, muchas personas han mejorado continuamente. El proyecto original todavía se puede encontrar en la distribución ZLIB que Mark Adler mantiene.
La motivación detrás de este repositorio ha sido la necesidad de nuevas características y correcciones de errores a la biblioteca original que no se había mantenido durante un largo período de tiempo. El código se ha refactorizado en gran medida y reescritado para ayudar a mejorar la capacidad de mantenimiento y legibilidad. Se ha proporcionado una capa de compatibilidad para los consumidores de la Biblioteca Minizip original.
Para generar archivos de proyecto para su plataforma:
cmake -S . -B build -D MZ_BUILD_TESTS=ON
cmake --build build
| Nombre | Descripción | Valor predeterminado |
|---|---|---|
| Mz_compat | Habilita la capa de compatibilidad | EN |
| Mz_zlib | Habilita la compresión de zlib | EN |
| MZ_BZIP2 | Habilita la compresión BZIP2 | EN |
| Mz_lzma | Habilita la compresión de LZMA y XZ | EN |
| Mz_zstd | Habilita la compresión de ZSTD | EN |
| Mz_libcomp | Habilita la compresión de la manzana | MANZANA |
| Mz_fetch_libs | Habilita la obtención de bibliotecas de terceros si no se encuentra | Win32 |
| Mz_force_fetch_libs | Habilita la obtención de bibliotecas de terceros siempre | APAGADO |
| Mz_pkcrypt | Habilita el cifrado tradicional de pkware | EN |
| Mz_wzaes | Habilita el cifrado de Winzip AES | EN |
| Mz_openssl | Habilita el cifrado OpenSSL | Desastre |
| Mz_libbsd | Construye con Libbsd Crypto Random | Desastre |
| Mz_iconv | Habilita la conversión de codificación de ICONV | EN |
| Mz_compress_only | Solo compresión de soporte | APAGADO |
| Mz_decompress_only | Solo apoya la descompresión | APAGADO |
| MZ_FILE32_API | Construye el uso de la API de archivo POSIX de 32 bits | APAGADO |
| Mz_build_tests | Construye ejecutable de prueba minizip | APAGADO |
| Mz_build_unit_tests | Construye el proyecto de prueba unitaria de Minizip | APAGADO |
| Mz_build_fuzz_tests | Construye ejecutables de fuzz minizip | APAGADO |
| Mz_code_coverage | Construir con banderas de cobertura de código | APAGADO |
| Mz_sanitizer | Construir con el desinfectante de código (memoria, hilo, dirección, indefinido) | |
| Mz_lib_suffix | Sufijo de nombre de la biblioteca para el embalaje |
Se pueden requerir bibliotecas de terceros en función de las opciones CMake seleccionadas. Si el sistema ya tiene la biblioteca instalada, se usará, de lo contrario, CMake recuperará el código fuente para la biblioteca de su repositorio oficial de git y lo compilará cuando la opción MZ_FETCH_LIBS está habilitada.
| Proyecto | Licencia | Opción CMake | Comentario |
|---|---|---|---|
| bzip2 | licencia | MZ_BZIP2 | Escrito por Julian Seward. |
| Liblzma | Dominio público | MZ_LZMA | Escrito por Igor Pavlov y Lasse Collin. |
| zlib | zlib | MZ_ZLIB | Escrito por Mark Adler y Jean-Loup Gailly. O alternativamente, zlib-ng por Hans Kristian Rosbach. |
| ZSTD | BSD | MZ_ZSTD | Escrito por Facebook. |
Este proyecto utiliza la licencia ZLIB.
Gracias a todas las personas que se han tomado el tiempo de contribuir con revisiones de código, pruebas y/o parches. Este proyecto no hubiera sido tan bueno sin ti.
Gracias a Gilles Vollant en el que este trabajo se basa originalmente.
El formato ZIP fue definido por Phil Katz de Pkware.