@@ -54,18 +54,19 @@ data Versions = Versions
54-- FIXME: need a more comprehensive 'vm_alpha' vs 'vm1.1' etc check.
54-- FIXME: need a more comprehensive 'vm_alpha' vs 'vm1.1' etc check.
55data Spec = Spec
55data Spec = Spec
56 { _specName :: Text
56 { _specName :: Text
57+ , _specPrefix :: Text
57 , _specVersion :: Text
58 , _specVersion :: Text
58 , _specPath :: Path
59 , _specPath :: Path
61instance Eq Spec where
62instance Eq Spec where
62− (==) = on (==) _specName
63+ (==) = on (==) _specPrefix
64instance Ord Spec where
65instance 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
67specFromPath :: Path -> Spec
68specFromPath :: Path -> Spec
68−specFromPath x = Spec (n <> v) v x
69+specFromPath x = Spec (n <> v) p v x
70 n = Text.intercalate "/"
71 n = Text.intercalate "/"