packages feed

OneTuple-0.4.3: OneTuple.cabal

cabal-version:      1.12
name:               OneTuple
version:            0.4.3
synopsis:           Singleton Tuple
category:           Data
description:
  This package is a compatibility package for a singleton data type
  .
  > data Solo a = MkSolo a
  .
  Note: it's not a @newtype@
  .
  @Solo@ is available in @base-4.16@ (GHC-9.2).

copyright:          (c) John Dorsey 2008
license:            BSD3
license-file:       LICENSE
author:             John Dorsey <haskell@colquitt.org>
maintainer:
  Oleg Grenrus <oleg.grenrus@iki.fi>, John Dorsey <haskell@colquitt.org>

stability:          experimental
build-type:         Simple
tested-with:
  GHC ==8.6.5
   || ==8.8.4
   || ==8.10.7
   || ==9.0.2
   || ==9.2.8
   || ==9.4.8
   || ==9.6.4
   || ==9.8.6
   || ==9.10.2
   || ==9.12.2
   || ==9.14.1

extra-source-files: Changelog.md

source-repository head
  type:     git
  location: https://github.com/phadej/OneTuple.git

flag base-ge-4-15
  description: @base >=4.15@ (GHC-9.0)
  default:     True
  manual:      False

flag base-ge-4-16
  description: @base >=4.16@ (GHC-9.2)
  default:     True
  manual:      False

library
  default-language: Haskell98
  exposed-modules:
    Data.Tuple.OneTuple
    Data.Tuple.Solo
    Data.Tuple.Solo.TH

  hs-source-dirs:   src
  build-depends:
      base              >=4.12 && <4.23
    , template-haskell

  if flag(base-ge-4-15)
    build-depends: ghc-prim

  else
    build-depends: hashable >=1.3.5.0 && <1.6

  if !flag(base-ge-4-15)
    build-depends: foldable1-classes-compat >=0.1 && <0.2

  if !flag(base-ge-4-16)
    build-depends: base-orphans >=0.8.6

  -- flag selection forcing conditionals
  if flag(base-ge-4-15)
    build-depends: base >=4.15

  else
    build-depends: base <4.15

  if flag(base-ge-4-16)
    build-depends: base >=4.16

  else
    build-depends: base <4.16

test-suite instances
  type:             exitcode-stdio-1.0
  default-language: Haskell98
  hs-source-dirs:   test
  main-is:          instances.hs
  build-depends:
      base
    , hashable
    , OneTuple

  if !impl(ghc >=8.0)
    build-depends:
        semigroups
      , transformers
      , transformers-compat

  if !impl(ghc >=9.6)
    build-depends: foldable1-classes-compat >=0.1 && <0.2

test-suite th
  type:             exitcode-stdio-1.0
  default-language: Haskell98
  hs-source-dirs:   test
  main-is:          th.hs
  build-depends:
      base
    , OneTuple