O Minizip-NG é uma biblioteca de manipulação ZIP escrita em C que é suportada no Windows, MacOS e Linux.
Desenvolvido e mantido por Nathan Moinvaziri.
| Nome | Descrição |
|---|---|
| desenvolver | Código de desenvolvimento mais recente. |
| mestre | Lançamento estável mais recente. |
| 1.2 | Alterações antigas no minizip original que inclui criptografia Winzip AES, divisão de disco, buffer de E/S e algumas correções adicionais. Não é compatível com Minizip original. |
| 1.1 | Minizip original a partir de Zlib 1.2.11. |
O Minizip foi originalmente desenvolvido por Gilles Vollant em 1998. Foi incluído pela primeira vez na distribuição do ZLIB como uma contribuição adicional do código, começando no ZLIB 1.1.2. Desde então, foi continuamente melhorado e contribuído por muitas pessoas. O projeto original ainda pode ser encontrado na distribuição do ZLIB que é mantida por Mark Adler.
A motivação por trás desse repositório tem sido a necessidade de novos recursos e correções de bugs na biblioteca original, que não foram mantidas por um longo período de tempo. O código foi amplamente refatorado e reescrito para ajudar a melhorar a manutenção e a legibilidade. Uma camada de compatibilidade foi fornecida para os consumidores da biblioteca Minizip original.
Para gerar arquivos de projeto para sua plataforma:
cmake -S . -B build -D MZ_BUILD_TESTS=ON
cmake --build build
| Nome | Descrição | Valor padrão |
|---|---|---|
| Mz_compat | Ativa a camada de compatibilidade | SOBRE |
| Mz_zlib | Ativa a compactação ZLIB | SOBRE |
| Mz_bzip2 | Ativa a compressão BZIP2 | SOBRE |
| Mz_lzma | Ativa a compressão LZMA e XZ | SOBRE |
| Mz_zstd | Ativa a compactação ZSTD | SOBRE |
| Mz_libcomp | Ativa a compactação da Apple | MAÇÃ |
| Mz_fetch_libs | Permite buscar bibliotecas de terceiros se não forem encontradas | Win32 |
| Mz_force_fetch_libs | Permite buscar bibliotecas de terceiros sempre | DESLIGADO |
| MZ_PKCRYPT | Ativa a criptografia tradicional do PKware | SOBRE |
| Mz_wzaes | Ativa a criptografia Winzip AES | SOBRE |
| Mz_openssl | Ativa a criptografia OpenSSL | Unix |
| Mz_libbsd | Construções com Libbsd criptografia aleatória | Unix |
| Mz_iconv | Ativa a conversão de codificação de iconv | SOBRE |
| Mz_compress_only | Apoie apenas a compactação | DESLIGADO |
| Mz_decompress_only | Apoie apenas a descompressão | DESLIGADO |
| MZ_FILE32_API | Construa usando a API de arquivo POSIX de 32 bits | DESLIGADO |
| Mz_build_tests | Construa o Executável do Teste Minizip | DESLIGADO |
| Mz_build_unit_tests | Construa o projeto de teste de unidade Minizip | DESLIGADO |
| Mz_build_fuzz_tests | Construa executáveis Minizip Fuzz | DESLIGADO |
| MZ_CODE_COVERAGE | Construa com sinalizadores de cobertura de código | DESLIGADO |
| Mz_sanitizer | Construa com Sanitizador de Código (memória, thread, endereço, indefinido) | |
| Mz_lib_suffix | Nome da biblioteca sufixo para embalagem |
As bibliotecas de terceiros podem ser necessárias com base nas opções de cmake selecionadas. Se o sistema já tiver a biblioteca instalada, ele será usado, caso contrário, o CMake recuperará o código -fonte da biblioteca de seu repositório GIT oficial e compilará quando a opção MZ_FETCH_LIBS estiver ativada.
| Projeto | Licença | Opção cmake | Comentários |
|---|---|---|---|
| BZIP2 | licença | MZ_BZIP2 | Escrito por Julian Seward. |
| Liblzma | Domínio público | MZ_LZMA | Escrito por Igor Pavlov e Lasse Collin. |
| zlib | zlib | MZ_ZLIB | Escrito por Mark Adler e Jean-Loup Gailly. Ou alternativamente, Zlib-ng, de Hans Kristian Rosbach. |
| zstd | BSD | MZ_ZSTD | Escrito pelo Facebook. |
Este projeto usa a licença ZLIB.
Agradecemos a todas as pessoas que dedicaram um tempo para contribuir com análises de código, testes e/ou patches. Este projeto não teria sido tão bom sem você.
Graças a Gilles Vollant, no qual este trabalho é originalmente baseado.
O formato ZIP foi definido por Phil Katz, da PKware.