arch-hs-0.11.0.0: src/Distribution/ArchHs/Compat.hs
{-# LANGUAGE CPP #-}
{-# LANGUAGE PatternSynonyms #-}
module Distribution.ArchHs.Compat
( pattern PkgFlag,
PkgFlag,
licenseFile,
)
where
import Data.Maybe (listToMaybe)
import Distribution.Types.ConfVar
import Distribution.Types.Flag
import Distribution.Types.PackageDescription (PackageDescription, licenseFiles)
#if MIN_VERSION_Cabal(3,6,0)
import Distribution.Utils.Path (getSymbolicPath)
#endif
pattern PkgFlag :: FlagName -> ConfVar
{-# COMPLETE PkgFlag #-}
#if MIN_VERSION_Cabal(3,4,0)
type PkgFlag = PackageFlag
pattern PkgFlag x = PackageFlag x
#else
type PkgFlag = Flag
pattern PkgFlag x = Flag x
#endif
licenseFile :: PackageDescription -> Maybe FilePath
#if MIN_VERSION_Cabal(3,6,0)
licenseFile = fmap getSymbolicPath . listToMaybe . licenseFiles
#else
licenseFile = listToMaybe . licenseFiles
#endif