40 Commits

Author SHA1 Message Date
John Turner
0436fbc770 fix clippy lints 2025-11-15 01:55:19 +00:00
John Turner
dfaad015b9 impl conversion methods for Atom and Cp 2025-11-15 00:10:55 +00:00
John Turner
9c7d38f82c having more components, even if zeros, make an atom greater 2025-11-14 23:16:25 +00:00
John Turner
5a793bebe8 check if a OR b has leading zeros, and if so, strip and do ascii cmp 2025-11-14 23:15:01 +00:00
John Turner
07d1823f0f compare version letter in version cmp algo 2025-11-14 23:13:19 +00:00
John Turner
29af7572a0 remove leftover dbgs! 2025-11-14 22:27:58 +00:00
John Turner
61292f6646 bump mon and use SeparatedByWithTrailing combinator where needed
The new version of mon fixed the SeparatedBy combinator to not allow
trailing delimiters. This broke the Depend expr parser, because the
exprs are padded with whitespace. Using the new
SeparatedByWithTrailing combinator fixes this issue.
2025-11-14 22:25:20 +00:00
John Turner
85853ada1e take at least 1 version suffix to prevent allowing versions such as 1.0_ 2025-11-14 19:27:19 +00:00
John Turner
50ab68c9c5 use new mon parsers 2025-11-13 23:21:46 +00:00
John Turner
36bdbbd8bc allow Cpv type to have a slot 2025-11-13 19:57:28 +00:00
John Turner
0448a52926 impl Cp type 2025-11-13 19:49:22 +00:00
John Turner
1882ce3137 impl Cpv type 2025-11-13 18:03:34 +00:00
John Turner
f4a45717d2 impl version comparison algorithm 2025-11-13 18:00:15 +00:00
John Turner
732c129c67 disallow stars in VersionNumber parser 2025-11-12 23:05:36 +00:00
John Turner
b147d967d4 put version and version operator in the same Option in the Atom struct
All atoms must either have a version with a version operator, or have
no version and no version operator. Putting these in the same Option
helps encode that into the type system.
2025-11-08 22:13:14 +00:00
John Turner
5fd26e7c81 improve repo error message by including the path in the error enum 2025-11-08 22:12:45 +00:00
John Turner
a38b01cd04 update parsers to use the ParserIter trait from mon 2025-11-01 17:28:19 +00:00
John Turner
820cb3ba48 update to new version of mon 2025-10-30 22:40:29 +00:00
John Turner
72b6774e2b impl Repo and md5-cache reading 2025-10-29 20:06:59 +00:00
John Turner
8937e096a4 create ebuild module 2025-10-29 16:24:25 +00:00
John Turner
b5765118fe make depend::Expr generic over Parseables 2025-10-29 12:50:07 +00:00
John Turner
bdd1188409 fix conditional group parser 2025-10-29 12:47:46 +00:00
John Turner
4b990d7864 set unused imports to error 2025-10-29 12:34:25 +00:00
John Turner
024b3df691 change depend::Expr::Conditional to ConditionalGroup 2025-10-28 12:26:30 +00:00
John Turner
b54616a6dd impl Parseable trait 2025-10-28 09:47:41 +00:00
John Turner
ee1d15f983 use deref getters where needed 2025-10-27 22:09:30 -04:00
John Turner
183dc8edcd use Get proc macro on UseFlag struct 2025-10-27 21:59:15 -04:00
John Turner
847e5fc019 impl IUseFlag type 2025-10-27 21:58:35 -04:00
John Turner
b1bd90dac1 port to new mon parsers 2025-10-27 02:07:17 -04:00
John Turner
990aa475ab fix lints 2025-10-26 01:52:50 -04:00
John Turner
4d69986e18 impl fmt::Display for Atom 2025-10-26 01:23:45 -04:00
John Turner
f05c1e92ad impl DEPEND parser 2025-10-25 02:02:07 -04:00
John Turner
f854e97577 support atoms with wildcard versions 2025-10-25 01:27:42 -04:00
John Turner
680ead0504 support "=" version operator 2025-10-25 01:19:35 -04:00
John Turner
66d6e52b21 verify that atoms that have versions have a version operator (and reverse) 2025-10-25 01:17:53 -04:00
John Turner
ccf7aeb98d disallow upper case letters in versions 2025-10-24 21:40:14 -04:00
John Turner
aa0d4edc57 fix useflag parser 2025-10-24 21:36:06 -04:00
John Turner
d75266f967 support atoms with empty slot 2025-10-24 21:32:41 -04:00
John Turner
5967d69453 verify usedeps 2025-10-24 01:00:19 -04:00
John Turner
2e7d8cfbb9 impl atom parsing 2025-10-23 21:19:47 -04:00