File 0001-Support-building-against-libarchive-3.3.2-again.patch of Package ark
From b7a39f32443001748dd5c3c4e61b3cbb6eb610f1 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Fri, 22 Nov 2019 13:09:34 +0100
Subject: [PATCH] Support building against libarchive 3.3.2 again
No zstd support though.
---
CMakeLists.txt | 2 +-
plugins/libarchive/readwritelibarchiveplugin.cpp | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c8f3f94..f43e504 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,7 +56,7 @@ if(NOT Qt${QT_MAJOR_VERSION}Test_FOUND)
set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.")
endif()
-find_package(LibArchive 3.3.3 REQUIRED)
+find_package(LibArchive 3.3.2 REQUIRED)
set_package_properties(LibArchive PROPERTIES
URL "https://www.libarchive.org/"
DESCRIPTION "A library for dealing with a wide variety of archive file formats"
diff --git a/plugins/libarchive/readwritelibarchiveplugin.cpp b/plugins/libarchive/readwritelibarchiveplugin.cpp
index fcc4566..8e9c7f1 100644
--- a/plugins/libarchive/readwritelibarchiveplugin.cpp
+++ b/plugins/libarchive/readwritelibarchiveplugin.cpp
@@ -270,9 +270,11 @@ bool ReadWriteLibarchivePlugin::initializeWriterFilters()
case ARCHIVE_FILTER_LZ4:
ret = archive_write_add_filter_lz4(m_archiveWriter.data());
break;
+#if ARCHIVE_VERSION_NUMBER >= 3003003
case ARCHIVE_FILTER_ZSTD:
ret = archive_write_add_filter_zstd(m_archiveWriter.data());
break;
+#endif
case ARCHIVE_FILTER_NONE:
ret = archive_write_add_filter_none(m_archiveWriter.data());
break;
@@ -325,9 +327,11 @@ bool ReadWriteLibarchivePlugin::initializeNewFileWriterFilters(const Compression
} else if (filename().right(3).toUpper() == QLatin1String("LZ4")) {
qCDebug(ARK) << "Detected lz4 compression for new file";
ret = archive_write_add_filter_lz4(m_archiveWriter.data());
+#if ARCHIVE_VERSION_NUMBER >= 3003003
} else if (filename().right(3).toUpper() == QLatin1String("ZST")) {
qCDebug(ARK) << "Detected zstd compression for new file";
ret = archive_write_add_filter_zstd(m_archiveWriter.data());
+#endif
} else if (filename().right(3).toUpper() == QLatin1String("TAR")) {
qCDebug(ARK) << "Detected no compression for new file (pure tar)";
ret = archive_write_add_filter_none(m_archiveWriter.data());
--
2.37.0