From 73fea832488e1b6c1e3f036531dcd9668760fe68 Mon Sep 17 00:00:00 2001 From: pablu Date: Wed, 3 Jun 2026 15:48:10 +0200 Subject: search implemented for available packages, added some qol aswell --- src/gentoo/package.rs | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src/gentoo') diff --git a/src/gentoo/package.rs b/src/gentoo/package.rs index fcd86eb..8ddb2ad 100644 --- a/src/gentoo/package.rs +++ b/src/gentoo/package.rs @@ -46,7 +46,7 @@ impl PackageKey { } } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct Metadata { pub maintainer: Option, pub description: Option, @@ -81,7 +81,7 @@ pub struct Package { pub versions: Vec, } -#[derive(Debug, Clone)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct PackageVersion { pub version: String, @@ -90,3 +90,22 @@ pub struct PackageVersion { pub keywords: Vec, pub iuse: Vec, } + +impl PartialOrd for PackageVersion { + fn partial_cmp(&self, other: &Self) -> Option { + match self.version.partial_cmp(&other.version) { + Some(core::cmp::Ordering::Equal) => {} + ord => return ord, + } + + self.metadata + .repository + .partial_cmp(&other.metadata.repository) + } +} + +impl Ord for PackageVersion { + fn cmp(&self, other: &Self) -> std::cmp::Ordering { + self.version.cmp(&other.version) + } +} -- cgit 1.3.1