10#define WHEEL_MAXELEM 255
12#define WHEEL_FROM_DIST 0
13#define WHEEL_FROM_METADATA 1
16 WHEEL_META_METADATA_VERSION=0,
20 WHEEL_META_AUTHOR_EMAIL,
21 WHEEL_META_MAINTAINER,
22 WHEEL_META_MAINTAINER_EMAIL,
25 WHEEL_META_LICENSE_EXPRESSION,
26 WHEEL_META_LICENSE_FILE,
28 WHEEL_META_DOWNLOAD_URL,
29 WHEEL_META_PROJECT_URL,
30 WHEEL_META_CLASSIFIER,
31 WHEEL_META_REQUIRES_PYTHON,
32 WHEEL_META_REQUIRES_EXTERNAL,
33 WHEEL_META_IMPORT_NAME,
34 WHEEL_META_IMPORT_NAMESPACE,
35 WHEEL_META_REQUIRES_DIST,
37 WHEEL_META_PROVIDES_DIST,
38 WHEEL_META_PROVIDES_EXTRA,
40 WHEEL_META_OBSOLETES_DIST,
42 WHEEL_META_SUPPORTED_PLATFORM,
45 WHEEL_META_DESCRIPTION_CONTENT_TYPE,
46 WHEEL_META_DESCRIPTION,
54 WHEEL_DIST_ROOT_IS_PURELIB,
58 WHEEL_DIST_ENTRY_POINT,
70 char *metadata_version;
77 struct StrList *maintainer_email;
79 char *license_expression;
84 struct StrList *requires_python;
85 struct StrList *requires_external;
86 char *description_content_type;
89 struct StrList *import_namespace;
97 struct StrList *supported_platform;
127 char *root_is_pure_lib;
135 size_t num_entry_point;
138#define METADATA_MULTILINE_PREFIX " "
141static inline int consume_append(
char **dest,
const char *src,
const char *accept) {
142 const char *start = src;
143 if (!strncmp(src, METADATA_MULTILINE_PREFIX, strlen(METADATA_MULTILINE_PREFIX))) {
144 start += strlen(METADATA_MULTILINE_PREFIX);
147 const char *end = strpbrk(start, accept);
148 size_t cut_len = end ? (size_t)(end - start) : strlen(start);
149 size_t dest_len = strlen(*dest);
151 char *tmp = realloc(*dest, strlen(*dest) + cut_len + 2);
156 memcpy(*dest + dest_len, start, cut_len);
159 (*dest)[dest_len ? dest_len : 0] =
'\n';
160 (*dest)[dest_len + 1] =
'\0';
164#define WHEEL_KEY_UNKNOWN (-1)
170 WHEELVAL_OBJ_ENTRY_POINT,
180 WHEEL_PACKAGE_E_SUCCESS=0,
181 WHEEL_PACKAGE_E_FILENAME=-1,
182 WHEEL_PACKAGE_E_ALLOC=-2,
183 WHEEL_PACKAGE_E_GET=-3,
184 WHEEL_PACKAGE_E_GET_METADATA=-4,
185 WHEEL_PACKAGE_E_GET_TOP_LEVEL=-5,
186 WHEEL_PACKAGE_E_GET_RECORDS=-6,
187 WHEEL_PACKAGE_E_GET_ENTRY_POINT=-7,
int wheel_show_info(const struct Wheel *wheel)
Definition wheel.c:1217
int wheel_get_file_contents(const char *wheelfile, const char *filename, char **contents)
Definition wheel.c:640
const char * wheel_get_key_by_id(int from, ssize_t id)
Definition wheel.c:899
void wheel_package_free(struct Wheel **pkg)
Definition wheel.c:997
int wheel_value_error(struct WheelValue const *val)
Definition wheel.c:1208
struct WheelValue wheel_get_value_by_name(const struct Wheel *pkg, int from, const char *key)
Definition wheel.c:913
struct WheelValue wheel_get_value_by_id(const struct Wheel *pkg, int from, ssize_t id)
Definition wheel.c:931
int wheel_package(struct Wheel **pkg, const char *filename)
Definition wheel.c:1348