Minizip-NG est une bibliothèque de manipulation zip écrite en C qui est prise en charge sur Windows, MacOS et Linux.
Développé et entretenu par Nathan Moinvaziri.
| Nom | Description |
|---|---|
| développer | Dernier code de développement. |
| maître | Version stable la plus récente. |
| 1.2 | Les anciens modifications au minizip d'origine qui incluent le chiffrement Winzip AES, le fractionnement du disque, la tampon d'E / S et quelques correctifs supplémentaires. Pas compatible avec un minizip d'origine. |
| 1.1 | Minizip d'origine à partir de ZLIB 1.2.11. |
Minizip a été initialement développé par Gilles Vollant en 1998. Il a d'abord été inclus dans la distribution ZLIB en tant que contribution de code supplémentaire à partir de ZLIB 1.1.2. Depuis lors, il a été continuellement amélioré et contribué à de nombreuses personnes. Le projet d'origine peut encore être trouvé dans la distribution ZLIB qui est maintenu par Mark Adler.
La motivation derrière ce référentiel a été la nécessité de nouvelles fonctionnalités et de corrections de bogues à la bibliothèque d'origine qui n'avait pas été maintenue depuis longtemps. Le code a été largement refactorisé et réécrit afin d'améliorer la maintenabilité et la lisibilité. Une couche de compatibilité a été fournie pour les consommateurs de la bibliothèque Minizip d'origine.
Pour générer des fichiers de projet pour votre plateforme:
cmake -S . -B build -D MZ_BUILD_TESTS=ON
cmake --build build
| Nom | Description | Valeur par défaut |
|---|---|---|
| Mz_compat | Permet la couche de compatibilité | SUR |
| Mz_zlib | Permet la compression ZLIB | SUR |
| Mz_bzip2 | Active la compression BZIP2 | SUR |
| Mz_lzma | Permet la compression LZMA et XZ | SUR |
| Mz_zstd | Permet la compression ZSTD | SUR |
| MZ_LIBCOMP | Permet la compression Apple | POMME |
| Mz_fetch_libs | Permet d'aller chercher des bibliothèques tierces si elle n'est pas trouvée | Win32 |
| Mz_force_fetch_libs | Permet de récupérer toujours les bibliothèques tierces | DÉSACTIVÉ |
| Mz_pkcrypt | Permet le cryptage traditionnel PKware | SUR |
| MZ_WZAES | Permet le cryptage Winzip AES | SUR |
| MZ_OPENSSL | Active le cryptage OpenSSL | Unix |
| MZ_LIBBSD | Construire avec libbsd crypto aléatoire | Unix |
| Mz_iconv | Permet la conversion de codage iconv | SUR |
| Mz_compress_only | Soutenir uniquement la compression | DÉSACTIVÉ |
| Mz_decompress_only | Soutenir uniquement la décompression | DÉSACTIVÉ |
| Mz_file32_api | Builds à l'aide de l'API de fichier POSIX 32 bits | DÉSACTIVÉ |
| Mz_build_tests | Construit Exécutable de test minizip | DÉSACTIVÉ |
| Mz_build_unit_tests | Construit le projet de test d'unité Minizip | DÉSACTIVÉ |
| Mz_build_fuzz_tests | Construit des exécutables Minizip Fuzz | DÉSACTIVÉ |
| Mz_code_coverage | Construire avec des drapeaux de couverture de code | DÉSACTIVÉ |
| Mz_sanitizer | Construire avec le désinfectant du code (mémoire, thread, adresse, indéfini) | |
| Mz_lib_suffix | Nom de la bibliothèque suffixe pour l'emballage |
Des bibliothèques tierces peuvent être requises en fonction des options CMake sélectionnées. Si le système a déjà installé la bibliothèque, elle sera utilisée, sinon CMake récupérera le code source de la bibliothèque à partir de son référentiel GIT officiel et le compilera lorsque l'option MZ_FETCH_LIBS est activée.
| Projet | Licence | Option cmake | Commentaires |
|---|---|---|---|
| bzip2 | licence | MZ_BZIP2 | Écrit par Julian Seward. |
| liblzma | Domaine public | MZ_LZMA | Écrit par Igor Pavlov et Lasse Collin. |
| zrib | zrib | MZ_ZLIB | Écrit par Mark Adler et Jean-Loup Gilly. Ou alternativement, Zlib-NG par Hans Kristian Rosbach. |
| zstd | BSD | MZ_ZSTD | Écrit par Facebook. |
Ce projet utilise la licence ZLIB.
Merci à toutes les personnes qui ont pris le temps de contribuer des avis de code, des tests et / ou des correctifs. Ce projet n'aurait pas été aussi bon sans vous.
Merci à Gilles Vollant sur laquelle ce travail est à l'origine basé.
Le format zip a été défini par Phil Katz de Pkware.