@@ -54,18 +54,19 @@ data Versions = Versions
5454-- FIXME: need a more comprehensive 'vm_alpha' vs 'vm1.1' etc check.
5555data Spec = Spec
5656 { _specName :: Text
57+ , _specPrefix :: Text
5758 , _specVersion :: Text
5859 , _specPath :: Path
5960 }
6061
6162instance Eq Spec where
62− (==) = on (==) _specName
63+ (==) = on (==) _specPrefix
6364
6465instance Ord Spec where
65− compare a b = on compare _specName a b <> on compare _specVersion a b
66+ compare a b = on compare _specPrefix a b <> on compare _specVersion a b
6667
6768specFromPath :: Path -> Spec
68−specFromPath x = Spec (n <> v) v x
69+specFromPath x = Spec (n <> v) p v x
6970 where
7071 n = Text.intercalate "/"
7172 . drop 1