John Turner
9062881692
disallow wildcard after a build-id
2025-11-22 01:20:55 +00:00
John Turner
e9603ce62f
represent 4th variant of slots, and disallow empty primary slot names
2025-11-22 01:03:14 +00:00
John Turner
bd0fec80f9
verify that repo names are also valid package names
2025-11-22 00:17:14 +00:00
John Turner
c06360aed6
disallow "+" in repo names
2025-11-22 00:16:09 +00:00
John Turner
fb69d82e6f
build-id must not start with zero
2025-11-21 04:33:55 +00:00
John Turner
3bce987993
format version build-id
2025-11-20 23:50:47 +00:00
John Turner
699d4bafd0
update mon and use new ascii parsers
2025-11-20 23:27:41 +00:00
John Turner
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
John Turner
8d3cf7c83d
allow missing panic docs
2025-11-19 05:01:12 +00:00
John Turner
16fdd27e9a
compare letters before suffixes, and having a letter is greater than none
2025-11-19 01:17:18 +00:00
John Turner
e0cc7f6a03
dont allow "." in repo names
2025-11-18 04:24:41 +00:00
John Turner
c75a38f615
allow slot to be only :* := :slot/sub= or :slot
2025-11-18 04:15:53 +00:00
John Turner
2dc5df6112
support portage build-id extension
2025-11-18 03:21:44 +00:00
John Turner
e2cc948803
take at least 1 usedep
2025-11-18 02:49:30 +00:00
John Turner
46c3c075d1
disallow atoms that end in what could be a valid version
2025-11-18 02:20:57 +00:00
John Turner
78398b7ebe
support ::repo syntax
2025-11-18 01:44:45 +00:00
John Turner
db02762ee1
version wildcard comes after the version expression
2025-11-18 01:27:29 +00:00
John Turner
d4fd6cd211
add false positive case to unit tests
2025-11-17 22:58:46 +00:00
John Turner
63db65b2f0
bump mon for bug fixes
2025-11-17 21:20:40 +00:00
John Turner
0cc3ac8e84
verify that slot exprs have either a primary slot name or operator
2025-11-17 19:01:39 +00:00
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