|
| 1 | +package = { |
| 2 | + spec = "1", |
| 3 | + namespace = "compat", |
| 4 | + name = "compat.libarchive", |
| 5 | + description = "Multi-format archive and compression library", |
| 6 | + licenses = {"BSD-2-Clause"}, |
| 7 | + repo = "https://libarchive.org/", |
| 8 | + type = "package", |
| 9 | + |
| 10 | + xpm = { |
| 11 | + linux = { |
| 12 | + ["3.8.7"] = { |
| 13 | + url = "https://libarchive.org/downloads/libarchive-3.8.7.tar.gz", |
| 14 | + sha256 = "4b787cca6697a95c7725e45293c973c208cbdc71ae2279f30ef09f52472b9166", |
| 15 | + }, |
| 16 | + }, |
| 17 | + macosx = { |
| 18 | + ["3.8.7"] = { |
| 19 | + url = "https://libarchive.org/downloads/libarchive-3.8.7.tar.gz", |
| 20 | + sha256 = "4b787cca6697a95c7725e45293c973c208cbdc71ae2279f30ef09f52472b9166", |
| 21 | + }, |
| 22 | + }, |
| 23 | + windows = { |
| 24 | + ["3.8.7"] = { |
| 25 | + url = "https://github.com/libarchive/libarchive/archive/refs/tags/v3.8.7.zip", |
| 26 | + sha256 = "8e16ac8797510144ab71ead4181ea1efb28e036b9fed283e57490ea39b8180d2", |
| 27 | + }, |
| 28 | + }, |
| 29 | + }, |
| 30 | + |
| 31 | + mcpp = { |
| 32 | + language = "c++23", |
| 33 | + import_std = false, |
| 34 | + c_standard = "c11", |
| 35 | + include_dirs = {"*", "*/libarchive", "mcpp_generated/include"}, |
| 36 | + cflags = { |
| 37 | + "-D_GNU_SOURCE", |
| 38 | + "-DLIBARCHIVE_STATIC", |
| 39 | + "-DPLATFORM_CONFIG_H=\\\"mcpp_libarchive_config.h\\\"", |
| 40 | + }, |
| 41 | + generated_files = { |
| 42 | + ["mcpp_generated/include/localcharset.h"] = "#pragma once\nstatic inline const char* locale_charset(void) { return \"UTF-8\"; }\n", |
| 43 | + ["mcpp_generated/include/mcpp_libarchive_config.h"] = "#pragma once\n#if defined(_WIN32) && !defined(__CYGWIN__)\n#include \"contrib/android/config/windows_host.h\"\n#else\n#include \"contrib/android/config/linux_host.h\"\n#endif\n#define __LIBARCHIVE_CONFIG_H_INCLUDED 1\n#if !defined(__linux__)\n#undef HAVE_LINUX_FIEMAP_H\n#undef HAVE_LINUX_FS_H\n#undef HAVE_LINUX_MAGIC_H\n#undef HAVE_LINUX_TYPES_H\n#undef HAVE_SYS_STATFS_H\n#undef HAVE_SYS_VFS_H\n#endif\n#if defined(__APPLE__)\n#undef HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC\n#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1\n#undef HAVE_FUTIMESAT\n#undef HAVE_ICONV\n#undef HAVE_ICONV_H\n#endif\n#if defined(_WIN32) && !defined(__CYGWIN__)\n#include <stddef.h>\n#pragma comment(lib, \"advapi32.lib\")\n#pragma comment(lib, \"xmllite.lib\")\n#undef HAVE_UNISTD_H\n#undef HAVE_DECL_SSIZE_MAX\n#define HAVE_DECL_SSIZE_MAX 0\n#define HAVE__GET_TIMEZONE 1\ntypedef ptrdiff_t ssize_t;\ntypedef int pid_t;\ntypedef unsigned short mode_t;\n#ifndef PROV_RSA_AES\n#define PROV_RSA_AES 24\n#endif\n#ifndef CALG_SHA_256\n#define CALG_SHA_256 0x0000800c\n#endif\n#ifndef CALG_SHA_384\n#define CALG_SHA_384 0x0000800d\n#endif\n#ifndef CALG_SHA_512\n#define CALG_SHA_512 0x0000800e\n#endif\n#endif\n#undef HAVE_BZLIB_H\n#define HAVE_BZLIB_H 1\n#undef HAVE_LIBBZ2\n#define HAVE_LIBBZ2 1\n#undef HAVE_LIBLZ4\n#define HAVE_LIBLZ4 1\n#undef HAVE_LIBLZMA\n#define HAVE_LIBLZMA 1\n#undef HAVE_LIBZ\n#define HAVE_LIBZ 1\n#undef HAVE_LIBZSTD\n#define HAVE_LIBZSTD 1\n#undef HAVE_LZ4_H\n#define HAVE_LZ4_H 1\n#undef HAVE_LZ4HC_H\n#define HAVE_LZ4HC_H 1\n#undef HAVE_LZMA_H\n#define HAVE_LZMA_H 1\n#undef HAVE_LZMA_STREAM_ENCODER_MT\n#undef HAVE_ZLIB_H\n#define HAVE_ZLIB_H 1\n#undef HAVE_ZSTD_H\n#define HAVE_ZSTD_H 1\n#undef HAVE_ZSTD_compressStream\n#define HAVE_ZSTD_compressStream 1\n#undef HAVE_ZSTD_minCLevel\n#define HAVE_ZSTD_minCLevel 1\n#undef HAVE_LOCALCHARSET_H\n#define HAVE_LOCALCHARSET_H 1\n#undef HAVE_LOCALE_CHARSET\n#define HAVE_LOCALE_CHARSET 1\n#undef HAVE_CLOSEFROM\n#define HAVE_CLOSEFROM 0\n#undef HAVE_CLOSE_RANGE\n#define HAVE_CLOSE_RANGE 0\n#ifndef HAVE_DECL_INT32_MAX\n#define HAVE_DECL_INT32_MAX 1\n#endif\n#ifndef HAVE_DECL_INT32_MIN\n#define HAVE_DECL_INT32_MIN 1\n#endif\n#ifndef HAVE_DECL_UINTMAX_MAX\n#define HAVE_DECL_UINTMAX_MAX 1\n#endif\n#ifndef HAVE_DECL_INTMAX_MAX\n#define HAVE_DECL_INTMAX_MAX 1\n#endif\n#ifndef HAVE_DECL_INTMAX_MIN\n#define HAVE_DECL_INTMAX_MIN 1\n#endif\n", |
| 44 | + }, |
| 45 | + sources = { |
| 46 | + "*/libarchive/archive_acl.c", |
| 47 | + "*/libarchive/archive_blake2s_ref.c", |
| 48 | + "*/libarchive/archive_blake2sp_ref.c", |
| 49 | + "*/libarchive/archive_check_magic.c", |
| 50 | + "*/libarchive/archive_cmdline.c", |
| 51 | + "*/libarchive/archive_cryptor.c", |
| 52 | + "*/libarchive/archive_digest.c", |
| 53 | + "*/libarchive/archive_entry.c", |
| 54 | + "*/libarchive/archive_entry_copy_stat.c", |
| 55 | + "*/libarchive/archive_entry_link_resolver.c", |
| 56 | + "*/libarchive/archive_entry_sparse.c", |
| 57 | + "*/libarchive/archive_entry_stat.c", |
| 58 | + "*/libarchive/archive_entry_strmode.c", |
| 59 | + "*/libarchive/archive_entry_xattr.c", |
| 60 | + "*/libarchive/archive_hmac.c", |
| 61 | + "*/libarchive/archive_match.c", |
| 62 | + "*/libarchive/archive_options.c", |
| 63 | + "*/libarchive/archive_pack_dev.c", |
| 64 | + "*/libarchive/archive_parse_date.c", |
| 65 | + "*/libarchive/archive_pathmatch.c", |
| 66 | + "*/libarchive/archive_ppmd8.c", |
| 67 | + "*/libarchive/archive_ppmd7.c", |
| 68 | + "*/libarchive/archive_random.c", |
| 69 | + "*/libarchive/archive_rb.c", |
| 70 | + "*/libarchive/archive_read.c", |
| 71 | + "*/libarchive/archive_read_add_passphrase.c", |
| 72 | + "*/libarchive/archive_read_append_filter.c", |
| 73 | + "*/libarchive/archive_read_data_into_fd.c", |
| 74 | + "*/libarchive/archive_read_disk_entry_from_file.c", |
| 75 | + "*/libarchive/archive_read_disk_posix.c", |
| 76 | + "*/libarchive/archive_read_disk_windows.c", |
| 77 | + "*/libarchive/archive_read_disk_set_standard_lookup.c", |
| 78 | + "*/libarchive/archive_read_extract.c", |
| 79 | + "*/libarchive/archive_read_extract2.c", |
| 80 | + "*/libarchive/archive_read_open_fd.c", |
| 81 | + "*/libarchive/archive_read_open_file.c", |
| 82 | + "*/libarchive/archive_read_open_filename.c", |
| 83 | + "*/libarchive/archive_read_open_memory.c", |
| 84 | + "*/libarchive/archive_read_set_format.c", |
| 85 | + "*/libarchive/archive_read_set_options.c", |
| 86 | + "*/libarchive/archive_read_support_filter_all.c", |
| 87 | + "*/libarchive/archive_read_support_filter_by_code.c", |
| 88 | + "*/libarchive/archive_read_support_filter_bzip2.c", |
| 89 | + "*/libarchive/archive_read_support_filter_compress.c", |
| 90 | + "*/libarchive/archive_read_support_filter_gzip.c", |
| 91 | + "*/libarchive/archive_read_support_filter_grzip.c", |
| 92 | + "*/libarchive/archive_read_support_filter_lrzip.c", |
| 93 | + "*/libarchive/archive_read_support_filter_lz4.c", |
| 94 | + "*/libarchive/archive_read_support_filter_lzop.c", |
| 95 | + "*/libarchive/archive_read_support_filter_none.c", |
| 96 | + "*/libarchive/archive_read_support_filter_program.c", |
| 97 | + "*/libarchive/archive_read_support_filter_rpm.c", |
| 98 | + "*/libarchive/archive_read_support_filter_uu.c", |
| 99 | + "*/libarchive/archive_read_support_filter_xz.c", |
| 100 | + "*/libarchive/archive_read_support_filter_zstd.c", |
| 101 | + "*/libarchive/archive_read_support_format_7zip.c", |
| 102 | + "*/libarchive/archive_read_support_format_all.c", |
| 103 | + "*/libarchive/archive_read_support_format_ar.c", |
| 104 | + "*/libarchive/archive_read_support_format_by_code.c", |
| 105 | + "*/libarchive/archive_read_support_format_cab.c", |
| 106 | + "*/libarchive/archive_read_support_format_cpio.c", |
| 107 | + "*/libarchive/archive_read_support_format_empty.c", |
| 108 | + "*/libarchive/archive_read_support_format_iso9660.c", |
| 109 | + "*/libarchive/archive_read_support_format_lha.c", |
| 110 | + "*/libarchive/archive_read_support_format_mtree.c", |
| 111 | + "*/libarchive/archive_read_support_format_rar.c", |
| 112 | + "*/libarchive/archive_read_support_format_rar5.c", |
| 113 | + "*/libarchive/archive_read_support_format_raw.c", |
| 114 | + "*/libarchive/archive_read_support_format_tar.c", |
| 115 | + "*/libarchive/archive_read_support_format_warc.c", |
| 116 | + "*/libarchive/archive_read_support_format_xar.c", |
| 117 | + "*/libarchive/archive_read_support_format_zip.c", |
| 118 | + "*/libarchive/archive_string.c", |
| 119 | + "*/libarchive/archive_string_sprintf.c", |
| 120 | + "*/libarchive/archive_time.c", |
| 121 | + "*/libarchive/archive_util.c", |
| 122 | + "*/libarchive/archive_version_details.c", |
| 123 | + "*/libarchive/archive_virtual.c", |
| 124 | + "*/libarchive/archive_windows.c", |
| 125 | + "*/libarchive/archive_write.c", |
| 126 | + "*/libarchive/archive_write_disk_posix.c", |
| 127 | + "*/libarchive/archive_write_disk_windows.c", |
| 128 | + "*/libarchive/archive_write_disk_set_standard_lookup.c", |
| 129 | + "*/libarchive/archive_write_open_fd.c", |
| 130 | + "*/libarchive/archive_write_open_file.c", |
| 131 | + "*/libarchive/archive_write_open_filename.c", |
| 132 | + "*/libarchive/archive_write_open_memory.c", |
| 133 | + "*/libarchive/archive_write_add_filter.c", |
| 134 | + "*/libarchive/archive_write_add_filter_b64encode.c", |
| 135 | + "*/libarchive/archive_write_add_filter_by_name.c", |
| 136 | + "*/libarchive/archive_write_add_filter_bzip2.c", |
| 137 | + "*/libarchive/archive_write_add_filter_compress.c", |
| 138 | + "*/libarchive/archive_write_add_filter_grzip.c", |
| 139 | + "*/libarchive/archive_write_add_filter_gzip.c", |
| 140 | + "*/libarchive/archive_write_add_filter_lrzip.c", |
| 141 | + "*/libarchive/archive_write_add_filter_lz4.c", |
| 142 | + "*/libarchive/archive_write_add_filter_lzop.c", |
| 143 | + "*/libarchive/archive_write_add_filter_none.c", |
| 144 | + "*/libarchive/archive_write_add_filter_program.c", |
| 145 | + "*/libarchive/archive_write_add_filter_uuencode.c", |
| 146 | + "*/libarchive/archive_write_add_filter_xz.c", |
| 147 | + "*/libarchive/archive_write_add_filter_zstd.c", |
| 148 | + "*/libarchive/archive_write_set_format.c", |
| 149 | + "*/libarchive/archive_write_set_format_7zip.c", |
| 150 | + "*/libarchive/archive_write_set_format_ar.c", |
| 151 | + "*/libarchive/archive_write_set_format_by_name.c", |
| 152 | + "*/libarchive/archive_write_set_format_cpio.c", |
| 153 | + "*/libarchive/archive_write_set_format_cpio_binary.c", |
| 154 | + "*/libarchive/archive_write_set_format_cpio_newc.c", |
| 155 | + "*/libarchive/archive_write_set_format_cpio_odc.c", |
| 156 | + "*/libarchive/archive_write_set_format_filter_by_ext.c", |
| 157 | + "*/libarchive/archive_write_set_format_gnutar.c", |
| 158 | + "*/libarchive/archive_write_set_format_iso9660.c", |
| 159 | + "*/libarchive/archive_write_set_format_mtree.c", |
| 160 | + "*/libarchive/archive_write_set_format_pax.c", |
| 161 | + "*/libarchive/archive_write_set_format_raw.c", |
| 162 | + "*/libarchive/archive_write_set_format_shar.c", |
| 163 | + "*/libarchive/archive_write_set_format_ustar.c", |
| 164 | + "*/libarchive/archive_write_set_format_v7tar.c", |
| 165 | + "*/libarchive/archive_write_set_format_warc.c", |
| 166 | + "*/libarchive/archive_write_set_format_xar.c", |
| 167 | + "*/libarchive/archive_write_set_format_zip.c", |
| 168 | + "*/libarchive/archive_write_set_options.c", |
| 169 | + "*/libarchive/archive_write_set_passphrase.c", |
| 170 | + "*/libarchive/filter_fork_posix.c", |
| 171 | + "*/libarchive/filter_fork_windows.c", |
| 172 | + "*/libarchive/xxhash.c", |
| 173 | + }, |
| 174 | + targets = { ["libarchive"] = { kind = "lib" } }, |
| 175 | + deps = { |
| 176 | + ["compat.zlib"] = "v1.3.2", |
| 177 | + ["compat.bzip2"] = "1.0.8", |
| 178 | + ["compat.lz4"] = "v1.10.0", |
| 179 | + ["compat.zstd"] = "v1.5.7", |
| 180 | + ["compat.xz"] = "5.8.3", |
| 181 | + }, |
| 182 | + }, |
| 183 | +} |
0 commit comments