packages feed

bifunctor-classes-compat-0.1: bifunctor-classes-compat.cabal

cabal-version:      1.24
name:               bifunctor-classes-compat
version:            0.1
synopsis:           Compatibility package for the Bifunctor, Bifoldable, and Bitraversable classes
description:        Compatibility package for the @Bifunctor@, @Bifoldable@,
                    and @Bitraversable@ classes. See the
                    @<http://hackage.haskell.org/package/bifunctors bifunctors>@
                    library for additional @Bifunctor@-related utilities.
stability:          provisional
homepage:           https://github.com/haskell-compat/bifunctor-classes-compat
bug-reports:        https://github.com/haskell-compat/bifunctor-classes-compat/issues
license:            BSD3
license-file:       LICENSE
author:             Edward A. Kmett
maintainer:         Ryan Scott <ryan.gl.scott@gmail.com>
copyright:          Copyright (C) 2008-2023 Edward A. Kmett
category:           Data, Functors
build-type:         Simple
tested-with:        GHC == 7.0.4
                  , GHC == 7.2.2
                  , GHC == 7.4.2
                  , GHC == 7.6.3
                  , GHC == 7.8.4
                  , GHC == 7.10.3
                  , GHC == 8.0.2
                  , GHC == 8.2.2
                  , GHC == 8.4.4
                  , GHC == 8.6.5
                  , GHC == 8.8.4
                  , GHC == 8.10.7
                  , GHC == 9.0.2
                  , GHC == 9.2.5
                  , GHC == 9.4.4
                  , GHC == 9.6.1
extra-source-files:
  CHANGELOG.markdown
  README.markdown

source-repository head
  type: git
  location: https://github.com/haskell-compat/bifunctor-classes-compat.git

flag semigroups
  default: True
  manual: True
  description:
    You can disable the use of the `semigroups` package using `-f-semigroups`.
    .
    Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.

flag tagged
  default: True
  manual: True
  description:
    You can disable the use of the `tagged` package using `-f-tagged`.
    .
    Disabing this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.

library
  build-depends:
    base         >= 4.3   && < 5,
    base-orphans >= 0.8.4 && < 1,
    transformers >= 0.3   && < 0.7

  if !impl(ghc > 8.2)
    build-depends: transformers-compat >= 0.5 && < 0.8

  if flag(tagged)
    build-depends: tagged >= 0.8.6 && < 1

  if flag(semigroups) && !impl(ghc >= 8.0)
    build-depends: semigroups >= 0.18.5 && < 1

  if impl(ghc<7.9)
    hs-source-dirs: old-src/ghc709
    exposed-modules: Data.Bifunctor

  if impl(ghc<8.1)
    hs-source-dirs: old-src/ghc801
    exposed-modules:
      Data.Bifoldable
      Data.Bitraversable

  if impl(ghc>=7.2) && impl(ghc<7.5)
    build-depends: ghc-prim == 0.2.0.0

  ghc-options: -Wall
  default-language: Haskell2010