    module Distribution.Types.SetupBuildInfo.Lens
      ( SetupBuildInfo
      , module Distribution.Types.SetupBuildInfo.Lens
      ) where

    import Distribution.Compat.Lens
    import Distribution.Compat.Prelude
    import Prelude ()

    import Distribution.Types.Dependency (Dependency)
    import Distribution.Types.SetupBuildInfo (SetupBuildInfo)

    import qualified Distribution.Types.SetupBuildInfo as T

    setupDepends :: Lens' SetupBuildInfo [Dependency]
    setupDepends :: Lens' SetupBuildInfo [Dependency]
    setupDepends [Dependency] -> f [Dependency]
    f SetupBuildInfo
    s = ([Dependency] -> SetupBuildInfo)
    -> f [Dependency] -> f SetupBuildInfo
    forall a b. (a -> b) -> f a -> f b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap (\[Dependency]
    x -> SetupBuildInfo
    s{T.setupDepends = x}) ([Dependency] -> f [Dependency]
    f (SetupBuildInfo -> [Dependency]
    T.setupDepends SetupBuildInfo
    s))
    {-# INLINE setupDepends #-}

    defaultSetupDepends :: Lens' SetupBuildInfo Bool
    defaultSetupDepends :: Lens' SetupBuildInfo Bool
    defaultSetupDepends Bool -> f Bool
    f SetupBuildInfo
    s = (Bool -> SetupBuildInfo) -> f Bool -> f SetupBuildInfo
    forall a b. (a -> b) -> f a -> f b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap (\Bool
    x -> SetupBuildInfo
    s{T.defaultSetupDepends = x}) (Bool -> f Bool
    f (SetupBuildInfo -> Bool
    T.defaultSetupDepends SetupBuildInfo
    s))
    {-# INLINE defaultSetupDepends #-}