mirage / functoria

A DSL to invoke otherworldly functors
ISC License
63 stars 21 forks source link

remove custom opam version comparison which is inconsistent with opam, fix #149 #183

Closed hannesm closed 4 years ago

hannesm commented 4 years ago

instead of merging min and max constraints, collect them in a set and output all of them, leaving the merge to opam

i.e. consider the collected bounds:

it used to merge them, and produce "a" {>= "1.5" & < "2.0"}

now, it'll output "a" {>= "1.0" & >= "1.2" & >= "1.5" & < "2.0" & < "3.0"}

the previous approach failed on various version identifiers that are valid in opam, such as "v1.0", "1.2.3-99", "2.0~beta" -- since the functoria version parser only allowed dot "." and numbers.

hannesm commented 4 years ago

a successful mirage-skeleton travis run using this branch with mirage emitting a constraint >= "0.5.4-2"is at https://travis-ci.org/mirage/mirage/builds/606727342