Commit Graph

67 Commits

Author SHA1 Message Date
b753519a3e add parse method to Parseable trait for easy parsing 2025-11-30 22:47:12 +00:00
abf784a784 add some docs 2025-11-30 22:12:49 +00:00
86e2b4559a derive PartialEq and Eq for Atom and Atom related types 2025-11-23 05:18:30 +00:00
5be1e5c37a derive Hash for Atom and similar types 2025-11-23 03:30:37 +00:00
f8149b43d4 rearrange modules 2025-11-23 02:49:53 +00:00
bffc1e88b0 allow "0" as a build-id 2025-11-23 01:34:01 +00:00
ffa1a05fc1 remove invalid comment 2025-11-23 01:33:07 +00:00
9062881692 disallow wildcard after a build-id 2025-11-22 01:20:55 +00:00
e9603ce62f represent 4th variant of slots, and disallow empty primary slot names 2025-11-22 01:03:14 +00:00
bd0fec80f9 verify that repo names are also valid package names 2025-11-22 00:17:14 +00:00
c06360aed6 disallow "+" in repo names 2025-11-22 00:16:09 +00:00
fb69d82e6f build-id must not start with zero 2025-11-21 04:33:55 +00:00
3bce987993 format version build-id 2025-11-20 23:50:47 +00:00
699d4bafd0 update mon and use new ascii parsers 2025-11-20 23:27:41 +00:00
0d40608404 compare versions as strings rather than parsing them to ints
Parsing version numbers to u64s could cause an panic on int overflow
with very large versions.
2025-11-19 05:04:40 +00:00
8d3cf7c83d allow missing panic docs 2025-11-19 05:01:12 +00:00
16fdd27e9a compare letters before suffixes, and having a letter is greater than none 2025-11-19 01:17:18 +00:00
e0cc7f6a03 dont allow "." in repo names 2025-11-18 04:24:41 +00:00
c75a38f615 allow slot to be only :* := :slot/sub= or :slot 2025-11-18 04:15:53 +00:00
2dc5df6112 support portage build-id extension 2025-11-18 03:21:44 +00:00
e2cc948803 take at least 1 usedep 2025-11-18 02:49:30 +00:00
46c3c075d1 disallow atoms that end in what could be a valid version 2025-11-18 02:20:57 +00:00
78398b7ebe support ::repo syntax 2025-11-18 01:44:45 +00:00
db02762ee1 version wildcard comes after the version expression 2025-11-18 01:27:29 +00:00
d4fd6cd211 add false positive case to unit tests 2025-11-17 22:58:46 +00:00
63db65b2f0 bump mon for bug fixes 2025-11-17 21:20:40 +00:00
0cc3ac8e84 verify that slot exprs have either a primary slot name or operator 2025-11-17 19:01:39 +00:00
0436fbc770 fix clippy lints 2025-11-15 01:55:19 +00:00
dfaad015b9 impl conversion methods for Atom and Cp 2025-11-15 00:10:55 +00:00
9c7d38f82c having more components, even if zeros, make an atom greater 2025-11-14 23:16:25 +00:00
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
07d1823f0f compare version letter in version cmp algo 2025-11-14 23:13:19 +00:00
29af7572a0 remove leftover dbgs! 2025-11-14 22:27:58 +00:00
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
85853ada1e take at least 1 version suffix to prevent allowing versions such as 1.0_ 2025-11-14 19:27:19 +00:00
50ab68c9c5 use new mon parsers 2025-11-13 23:21:46 +00:00
36bdbbd8bc allow Cpv type to have a slot 2025-11-13 19:57:28 +00:00
0448a52926 impl Cp type 2025-11-13 19:49:22 +00:00
1882ce3137 impl Cpv type 2025-11-13 18:03:34 +00:00
f4a45717d2 impl version comparison algorithm 2025-11-13 18:00:15 +00:00
732c129c67 disallow stars in VersionNumber parser 2025-11-12 23:05:36 +00:00
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
5fd26e7c81 improve repo error message by including the path in the error enum 2025-11-08 22:12:45 +00:00
a38b01cd04 update parsers to use the ParserIter trait from mon 2025-11-01 17:28:19 +00:00
820cb3ba48 update to new version of mon 2025-10-30 22:40:29 +00:00
72b6774e2b impl Repo and md5-cache reading 2025-10-29 20:06:59 +00:00
8937e096a4 create ebuild module 2025-10-29 16:24:25 +00:00
b5765118fe make depend::Expr generic over Parseables 2025-10-29 12:50:07 +00:00
bdd1188409 fix conditional group parser 2025-10-29 12:47:46 +00:00
4b990d7864 set unused imports to error 2025-10-29 12:34:25 +00:00