diff --git a/PKGBUILD b/PKGBUILD index 80ba143..92efc9e 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -8,19 +8,27 @@ url='https://github.com/kpcyrd/libredefender' arch=('x86_64') license=('GPL2') depends=('libclamav.so' 'hicolor-icon-theme') -makedepends=('cargo' 'clang') +makedepends=('cargo' 'clang' 'git') source=(https://github.com/kpcyrd/${pkgname}/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz https://github.com/kpcyrd/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz.asc - clamav-1.0.patch) + libredefender-0.6.0-clamav-1.2.patch + git+https://github.com/zaddach/clamav-rs.git#commit=a2d4cfaed17fa97a7770f575f9a6571049f398d0 + clamav-rs-0.5.5-clamav-1.0.patch + clamav-rs-0.5.5-clamav-1.2.patch) b2sums=('fba45c42842220c0b43a06c56fbecbaa093819715822a9e673570c21b21a2cd6b9cba72711d76758bbbadb542b4a8d356f1107020593d74b12a7ad581c3ed562' 'SKIP' - 'bc44726d294e500b032da217d10cd23aca2dccbeec124e3696558a5d331c182ab3bc431d74f3dcdbea1686c0cbec32ee8d9240e0de22fdf5be2c31bd116afdee') + 'ff0d24a264eef07b20b9f18bbebc703b36d69012740a0ab7ec911da7fc380c9cc8ccf7f2cbff40ebe6f58b55a1f4f280c2b263507a13fe3b41d02a8334a5c753' + 'SKIP' + 'e835d417b58bd6e94367024c34acca6615ebaf7d7d1943af9211e133baa9dce52f05e2f82f18a1bcc2805e5db6a77b07812be552c87c7f4b34aae55e11aed34f' + '4733d7dc9b4d0753e62d7effa26465516a245f59bbdfb3b7fd4e117b4545a18b7af135f1c502dcf96838aac9b4caa4e3e5f1218c641b5cb6d6bfe66328dab441') validpgpkeys=("64B13F7117D6E07D661BBCE0FE763A64F5E54FD6") prepare() { + patch -Np1 -i ../clamav-rs-0.5.5-clamav-1.0.patch -d clamav-rs + patch -Np1 -i ../clamav-rs-0.5.5-clamav-1.2.patch -d clamav-rs cd "${pkgname}-${pkgver}" - patch -i ../clamav-1.0.patch + patch -i ../libredefender-0.6.0-clamav-1.2.patch cargo fetch --locked --target "$CARCH-unknown-linux-gnu" } diff --git a/clamav-rs-0.5.5-clamav-1.0.patch b/clamav-rs-0.5.5-clamav-1.0.patch new file mode 100644 index 0000000..6017f67 --- /dev/null +++ b/clamav-rs-0.5.5-clamav-1.0.patch @@ -0,0 +1,45 @@ +From 93b5ddc41d5b62b129c6c40bf025a8779e5a3e70 Mon Sep 17 00:00:00 2001 +From: kpcyrd <git@rxv.cc> +Date: Mon, 23 Jan 2023 10:51:51 +0100 +Subject: [PATCH] Fix compile on clamav 1.0 + +--- + src/error.rs | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/error.rs b/src/error.rs +index 19befd0..4b5844e 100644 +--- a/src/error.rs ++++ b/src/error.rs +@@ -8,13 +8,13 @@ use clamav_sys::cl_error_t; + /// An error indicating a clam failure. + #[derive(Clone, PartialEq, Eq)] + pub struct ClamError { +- code: i32, ++ code: cl_error_t, + } + + impl ClamError { + pub fn new(native_err: cl_error_t) -> Self { + ClamError { +- code: native_err as i32, ++ code: native_err, + } + } + +@@ -30,13 +30,13 @@ impl ClamError { + } + + pub fn code(&self) -> i32 { +- self.code ++ self.code as i32 + } + } + + impl fmt::Display for ClamError { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { +- write!(f, "cl_error {}: {}", self.code, self.string_error()) ++ write!(f, "cl_error {}: {}", self.code as i32, self.string_error()) + } + } + diff --git a/clamav-rs-0.5.5-clamav-1.2.patch b/clamav-rs-0.5.5-clamav-1.2.patch new file mode 100644 index 0000000..3cf4f74 --- /dev/null +++ b/clamav-rs-0.5.5-clamav-1.2.patch @@ -0,0 +1,12 @@ +diff --git a/src/engine.rs b/src/engine.rs +index a4ca6cf..777fc06 100644 +--- a/src/engine.rs ++++ b/src/engine.rs +@@ -470,6 +470,7 @@ fn get_field_type(field: cl_engine_field) -> EngineValueType { + cl_engine_field::CL_ENGINE_MAX_ZIPTYPERCG => EngineValueType::U64, + cl_engine_field::CL_ENGINE_FORCETODISK => EngineValueType::U32, + cl_engine_field::CL_ENGINE_DISABLE_CACHE => EngineValueType::U32, ++ cl_engine_field::CL_ENGINE_CACHE_SIZE => EngineValueType::U32, + cl_engine_field::CL_ENGINE_DISABLE_PE_STATS => EngineValueType::U32, + cl_engine_field::CL_ENGINE_STATS_TIMEOUT => EngineValueType::U32, + cl_engine_field::CL_ENGINE_MAX_PARTITIONS => EngineValueType::U32, diff --git a/libredefender-0.6.0-clamav-1.2.patch b/libredefender-0.6.0-clamav-1.2.patch new file mode 100644 index 0000000..1bf0e8f --- /dev/null +++ b/libredefender-0.6.0-clamav-1.2.patch @@ -0,0 +1,27 @@ +diff --git a/Cargo.lock b/Cargo.lock +index e83da71..5df1e3f 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -282,8 +282,7 @@ dependencies = [ + [[package]] + name = "clamav-rs" + version = "0.5.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2270a8023f99eaeaa8ce6b240b55e0aec0c8ea10edadec337018ca0174c22430" ++path = "../clamav-rs" + dependencies = [ + "bitflags", + "clamav-rs-bindings", +diff --git a/Cargo.toml b/Cargo.toml +index ea09a3b..21f39dc 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -17,7 +17,7 @@ atoi = "1" + battery = "0.7" + chrono = { version = "0.4.19", features = ["serde"] } + chrono-humanize = "0.2.1" +-clamav-rs = "0.5.3" ++clamav-rs = { path = "../clamav-rs" } + colored = "2.0.0" + config = { version = "0.13", default-features = false, features = ["toml"] } + crossbeam-channel = "0.5.1"