Minizip-NG adalah perpustakaan manipulasi zip yang ditulis dalam C yang didukung pada Windows, MacOS, dan Linux.
Dikembangkan dan dikelola oleh Nathan Moinvaziri.
| Nama | Keterangan |
|---|---|
| mengembangkan | Kode pengembangan terbaru. |
| menguasai | Rilis stabil terbaru. |
| 1.2 | Perubahan lama pada minizip asli yang mencakup enkripsi Winzip AES, pemisahan disk, buffering I/O dan beberapa perbaikan tambahan. Tidak kompatibel dengan minizip asli. |
| 1.1 | Minizip asli pada Zlib 1.2.11. |
Minizip awalnya dikembangkan oleh Gilles Vollant pada tahun 1998. Ini pertama kali termasuk dalam distribusi ZLIB sebagai kontribusi kode tambahan yang dimulai dari ZLIB 1.1.2. Sejak saat itu, telah terus meningkat dan dikontribusikan oleh banyak orang. Proyek asli masih dapat ditemukan dalam distribusi Zlib yang dikelola oleh Mark Adler.
Motivasi di balik repositori ini adalah kebutuhan akan fitur baru dan perbaikan bug ke perpustakaan asli yang belum dipertahankan untuk jangka waktu yang lama. Kode ini sebagian besar telah direfaktor dan ditulis ulang untuk membantu meningkatkan pemeliharaan dan keterbacaan. Lapisan kompatibilitas telah disediakan untuk konsumen dari perpustakaan minizip asli.
Untuk menghasilkan file proyek untuk platform Anda:
cmake -S . -B build -D MZ_BUILD_TESTS=ON
cmake --build build
| Nama | Keterangan | Nilai default |
|---|---|---|
| MZ_COMPAT | Mengaktifkan lapisan kompatibilitas | PADA |
| MZ_ZLIB | Memungkinkan kompresi zlib | PADA |
| MZ_BZIP2 | Mengaktifkan kompresi BZIP2 | PADA |
| MZ_LZMA | Mengaktifkan kompresi LZMA & XZ | PADA |
| MZ_ZSTD | Mengaktifkan Kompresi ZSTD | PADA |
| MZ_LIBCOMP | Mengaktifkan kompresi Apple | APEL |
| Mz_fetch_libs | Memungkinkan pengambilan perpustakaan pihak ketiga jika tidak ditemukan | Win32 |
| Mz_force_fetch_libs | Mengaktifkan pengambilan perpustakaan pihak ketiga selalu | MATI |
| MZ_PKCRYPT | Mengaktifkan enkripsi tradisional PKware | PADA |
| MZ_WZAES | Mengaktifkan enkripsi Winzip AES | PADA |
| MZ_openssl | Mengaktifkan enkripsi OpenSSL | UNIX |
| MZ_libbsd | Dibangun dengan crypto libbsd acak | UNIX |
| MZ_ICONV | Mengaktifkan Konversi Pengkodean ICONV | PADA |
| Mz_compress_only | Hanya mendukung kompresi | MATI |
| Mz_decompress_only | Hanya mendukung dekompresi | MATI |
| MZ_file32_api | Builds Menggunakan API File 32-Bit POSIX | MATI |
| Mz_build_tests | Membangun Minizip Test Executable | MATI |
| Mz_build_unit_tests | Membangun Proyek Uji Unit Minizip | MATI |
| Mz_build_fuzz_tests | Membangun Minizip Fuzz Executable | MATI |
| MZ_CODE_COVERAGE | Bangun dengan bendera cakupan kode | MATI |
| MZ_SANITIZER | Bangun dengan Sanitizer Kode (Memori, Thread, Alamat, Tidak Ditentukan) | |
| MZ_LIB_SUFFIX | Suffix Nama Perpustakaan untuk Kemasan |
Perpustakaan pihak ketiga mungkin diperlukan berdasarkan opsi CMake yang dipilih. Jika sistem sudah memiliki perpustakaan yang diinstal maka akan digunakan, jika tidak, CMake akan mengambil kode sumber untuk perpustakaan dari repositori git resminya dan mengkompilasinya ketika opsi MZ_FETCH_LIBS diaktifkan.
| Proyek | Lisensi | Opsi CMake | Komentar |
|---|---|---|---|
| bzip2 | lisensi | MZ_BZIP2 | Ditulis oleh Julian Seward. |
| Liblzma | Domain publik | MZ_LZMA | Ditulis oleh Igor Pavlov dan Lasse Collin. |
| Zlib | Zlib | MZ_ZLIB | Ditulis oleh Mark Adler dan Jean-Loup Gailille. Atau sebagai alternatif, Zlib-ng oleh Hans Kristian Rosbach. |
| zstd | BSD | MZ_ZSTD | Ditulis oleh Facebook. |
Proyek ini menggunakan lisensi Zlib.
Terima kasih kepada semua orang yang telah meluangkan waktu untuk menyumbangkan ulasan kode, pengujian dan/atau tambalan. Proyek ini tidak akan sebaik tanpamu.
Terima kasih kepada Gilles Vollant yang menjadi dasar pekerjaan ini.
Format ZIP ditentukan oleh Phil Katz dari PKware.