/* Open the ZIP file and read `file' out of it */
+#ifdef DCPOMATIC_HAVE_ZIP_SOURCE_T
+ /* This is the way to do it with newer versions of libzip, and is required on Windows.
+ The zip_source_t API is missing in the libzip versions shipped with Ubuntu 14.04,
+ Centos 6, Centos 7, Debian 7 and Debian 8.
+ */
+
FILE* zip_file = fopen_boost (temp_zip.file (), "rb");
if (!zip_file) {
return optional<string> (_("Could not open downloaded ZIP file"));
return optional<string> (_("Could not open downloaded ZIP file"));
}
+#else
+ struct zip* zip = zip_open (temp_zip.c_str(), 0, 0);
+#endif
+
struct zip_file* file_in_zip = zip_fopen (zip, file.c_str(), 0);
if (!file_in_zip) {
return optional<string> (_("Unexpected ZIP file contents"));
# libzip
conf.check_cfg(package='libzip', args='--cflags --libs', uselib_store='ZIP', mandatory=True)
+ conf.check_cxx(fragment="""
+ #include <zip.h>
+ int main() { zip_source_t* foo; }
+ """,
+ mandatory=False,
+ msg="Checking for zip_source_t",
+ uselib="ZIP",
+ define_name='DCPOMATIC_HAVE_ZIP_SOURCE_T'
+ )
# fontconfig
conf.check_cfg(package='fontconfig', args='--cflags --libs', uselib_store='FONTCONFIG', mandatory=True)