From 72b6774e2b43edf4228df2d5a7af20c041e6745c Mon Sep 17 00:00:00 2001 From: John Turner Date: Wed, 29 Oct 2025 20:06:59 +0000 Subject: impl Repo and md5-cache reading --- src/ebuild/mod.rs | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) (limited to 'src/ebuild/mod.rs') diff --git a/src/ebuild/mod.rs b/src/ebuild/mod.rs index 2558cf4..50d9f3f 100644 --- a/src/ebuild/mod.rs +++ b/src/ebuild/mod.rs @@ -7,6 +7,7 @@ use crate::{ }; pub mod parsers; +pub mod repo; #[derive(Clone, Debug)] pub enum Conditional { @@ -23,10 +24,28 @@ pub enum Depend { ConditionalGroup(Conditional, Vec), } +#[derive(Debug, Clone)] +pub enum UriPrefix { + Mirror, + Fetch, +} + #[derive(Debug, Clone, Get)] -pub struct SrcUri { - uri: String, - file_name: Option, +pub struct Uri { + #[get(kind = "deref")] + protocol: String, + #[get(kind = "deref")] + path: String, +} + +#[derive(Debug, Clone)] +pub enum SrcUri { + Filename(PathBuf), + Uri { + prefix: Option, + uri: Uri, + filename: Option, + }, } #[derive(Debug, Clone, Get)] @@ -44,14 +63,22 @@ pub struct Ebuild { version: Version, slot: Option, homepage: Option, + #[get(kind = "deref")] src_uri: Vec>, eapi: Option, + #[get(kind = "deref")] inherit: Vec, + #[get(kind = "deref")] iuse: Vec, + #[get(kind = "deref")] license: Vec>, description: Option, + #[get(kind = "deref")] depend: Vec>, + #[get(kind = "deref")] bdepend: Vec>, - rdpened: Vec>, + #[get(kind = "deref")] + rdepend: Vec>, + #[get(kind = "deref")] idepend: Vec>, } -- cgit v1.2.3