    module Distribution.SPDX.LicenseListVersion
      ( LicenseListVersion (..)
      , cabalSpecVersionToSPDXListVersion
      ) where

    import Distribution.CabalSpecVersion

    -- | SPDX License List version @Cabal@ is aware of.
    data LicenseListVersion
      = LicenseListVersion_3_0
      | LicenseListVersion_3_2
      | LicenseListVersion_3_6
      | LicenseListVersion_3_9
      | LicenseListVersion_3_10
      | LicenseListVersion_3_16
      deriving (LicenseListVersion -> LicenseListVersion -> Bool
    (LicenseListVersion -> LicenseListVersion -> Bool)
    -> (LicenseListVersion -> LicenseListVersion -> Bool)
    -> Eq LicenseListVersion
    forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
    $c== :: LicenseListVersion -> LicenseListVersion -> Bool
    == :: LicenseListVersion -> LicenseListVersion -> Bool
    $c/= :: LicenseListVersion -> LicenseListVersion -> Bool
    /= :: LicenseListVersion -> LicenseListVersion -> Bool
    Eq, Eq LicenseListVersion
    Eq LicenseListVersion =>
    (LicenseListVersion -> LicenseListVersion -> Ordering)
    -> (LicenseListVersion -> LicenseListVersion -> Bool)
    -> (LicenseListVersion -> LicenseListVersion -> Bool)
    -> (LicenseListVersion -> LicenseListVersion -> Bool)
    -> (LicenseListVersion -> LicenseListVersion -> Bool)
    -> (LicenseListVersion -> LicenseListVersion -> LicenseListVersion)
    -> (LicenseListVersion -> LicenseListVersion -> LicenseListVersion)
    -> Ord LicenseListVersion
    LicenseListVersion -> LicenseListVersion -> Bool
    LicenseListVersion -> LicenseListVersion -> Ordering
    LicenseListVersion -> LicenseListVersion -> LicenseListVersion
    forall a.
    Eq a =>
    (a -> a -> Ordering)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> Bool)
    -> (a -> a -> a)
    -> (a -> a -> a)
    -> Ord a
    $ccompare :: LicenseListVersion -> LicenseListVersion -> Ordering
    compare :: LicenseListVersion -> LicenseListVersion -> Ordering
    $c< :: LicenseListVersion -> LicenseListVersion -> Bool
    < :: LicenseListVersion -> LicenseListVersion -> Bool
    $c<= :: LicenseListVersion -> LicenseListVersion -> Bool
    <= :: LicenseListVersion -> LicenseListVersion -> Bool
    $c> :: LicenseListVersion -> LicenseListVersion -> Bool
    > :: LicenseListVersion -> LicenseListVersion -> Bool
    $c>= :: LicenseListVersion -> LicenseListVersion -> Bool
    >= :: LicenseListVersion -> LicenseListVersion -> Bool
    $cmax :: LicenseListVersion -> LicenseListVersion -> LicenseListVersion
    max :: LicenseListVersion -> LicenseListVersion -> LicenseListVersion
    $cmin :: LicenseListVersion -> LicenseListVersion -> LicenseListVersion
    min :: LicenseListVersion -> LicenseListVersion -> LicenseListVersion
    Ord, Int -> LicenseListVersion -> ShowS
    [LicenseListVersion] -> ShowS
    LicenseListVersion -> String
    (Int -> LicenseListVersion -> ShowS)
    -> (LicenseListVersion -> String)
    -> ([LicenseListVersion] -> ShowS)
    -> Show LicenseListVersion
    forall a.
    (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
    $cshowsPrec :: Int -> LicenseListVersion -> ShowS
    showsPrec :: Int -> LicenseListVersion -> ShowS
    $cshow :: LicenseListVersion -> String
    show :: LicenseListVersion -> String
    $cshowList :: [LicenseListVersion] -> ShowS
    showList :: [LicenseListVersion] -> ShowS
    Show, Int -> LicenseListVersion
    LicenseListVersion -> Int
    LicenseListVersion -> [LicenseListVersion]
    LicenseListVersion -> LicenseListVersion
    LicenseListVersion -> LicenseListVersion -> [LicenseListVersion]
    LicenseListVersion
    -> LicenseListVersion -> LicenseListVersion -> [LicenseListVersion]
    (LicenseListVersion -> LicenseListVersion)
    -> (LicenseListVersion -> LicenseListVersion)
    -> (Int -> LicenseListVersion)
    -> (LicenseListVersion -> Int)
    -> (LicenseListVersion -> [LicenseListVersion])
    -> (LicenseListVersion
        -> LicenseListVersion -> [LicenseListVersion])
    -> (LicenseListVersion
        -> LicenseListVersion -> [LicenseListVersion])
    -> (LicenseListVersion
        -> LicenseListVersion
        -> LicenseListVersion
        -> [LicenseListVersion])
    -> Enum LicenseListVersion
    forall a.
    (a -> a)
    -> (a -> a)
    -> (Int -> a)
    -> (a -> Int)
    -> (a -> [a])
    -> (a -> a -> [a])
    -> (a -> a -> [a])
    -> (a -> a -> a -> [a])
    -> Enum a
    $csucc :: LicenseListVersion -> LicenseListVersion
    succ :: LicenseListVersion -> LicenseListVersion
    $cpred :: LicenseListVersion -> LicenseListVersion
    pred :: LicenseListVersion -> LicenseListVersion
    $ctoEnum :: Int -> LicenseListVersion
    toEnum :: Int -> LicenseListVersion
    $cfromEnum :: LicenseListVersion -> Int
    fromEnum :: LicenseListVersion -> Int
    $cenumFrom :: LicenseListVersion -> [LicenseListVersion]
    enumFrom :: LicenseListVersion -> [LicenseListVersion]
    $cenumFromThen :: LicenseListVersion -> LicenseListVersion -> [LicenseListVersion]
    enumFromThen :: LicenseListVersion -> LicenseListVersion -> [LicenseListVersion]
    $cenumFromTo :: LicenseListVersion -> LicenseListVersion -> [LicenseListVersion]
    enumFromTo :: LicenseListVersion -> LicenseListVersion -> [LicenseListVersion]
    $cenumFromThenTo :: LicenseListVersion
    -> LicenseListVersion -> LicenseListVersion -> [LicenseListVersion]
    enumFromThenTo :: LicenseListVersion
    -> LicenseListVersion -> LicenseListVersion -> [LicenseListVersion]
    Enum, LicenseListVersion
    LicenseListVersion
    -> LicenseListVersion -> Bounded LicenseListVersion
    forall a. a -> a -> Bounded a
    $cminBound :: LicenseListVersion
    minBound :: LicenseListVersion
    $cmaxBound :: LicenseListVersion
    maxBound :: LicenseListVersion
    Bounded)

    cabalSpecVersionToSPDXListVersion :: CabalSpecVersion -> LicenseListVersion
    cabalSpecVersionToSPDXListVersion :: CabalSpecVersion -> LicenseListVersion
    cabalSpecVersionToSPDXListVersion CabalSpecVersion
    CabalSpecV3_8 = LicenseListVersion
    LicenseListVersion_3_16
    cabalSpecVersionToSPDXListVersion CabalSpecVersion
    CabalSpecV3_6 = LicenseListVersion
    LicenseListVersion_3_10
    cabalSpecVersionToSPDXListVersion CabalSpecVersion
    CabalSpecV3_4 = LicenseListVersion
    LicenseListVersion_3_9
    cabalSpecVersionToSPDXListVersion CabalSpecVersion
    CabalSpecV3_0 = LicenseListVersion
    LicenseListVersion_3_6
    cabalSpecVersionToSPDXListVersion CabalSpecVersion
    CabalSpecV2_4 = LicenseListVersion
    LicenseListVersion_3_2
    cabalSpecVersionToSPDXListVersion CabalSpecVersion
    _ = LicenseListVersion
    LicenseListVersion_3_0