cabal-version:          1.12
name:                   regex-posix
version:                0.96.0.0
x-revision:             2

build-type:             Simple
license:                BSD3
license-file:           LICENSE
copyright:              Copyright (c) 2007-2010, Christopher Kuklewicz
author:                 Christopher Kuklewicz
maintainer:             [email protected]
bug-reports:            https://github.com/hvr/regex-posix
synopsis:               POSIX Backend for "Text.Regex" (regex-base)
category:               Text
description:
 The POSIX regex backend for <//hackage.haskell.org/package/regex-base regex-base>.
 .
 The main appeal of this backend is that it's very lightweight due to its reliance on the ubiquitous <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/regex.h.html POSIX.2 regex> facility that is provided by the standard C library on most POSIX platforms.
 .
 See also <https://wiki.haskell.org/Regular_expressions> for more information.

extra-source-files:
 ChangeLog.md
 cbits/myfree.h

tested-with:
 -- Haskell CI:
 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.3
 -- manually (AA, 2021-02-17):
 -- GHC == 8.10.4
 -- GHC == 9.0.1

source-repository head
 type:     git
 location: https://github.com/hvr/regex-posix.git

source-repository this
 type:     git
 location: https://github.com/hvr/regex-base.git
 tag:      v0.96.0.0-r2

flag _regex-posix-clib
 manual: False
 default: False
 description: Use <//hackage.haskell.org/package/regex-posix-clib regex-posix-clib> package

library
 hs-source-dirs: src
 exposed-modules:
     Text.Regex.Posix
     Text.Regex.Posix.Wrap
     Text.Regex.Posix.String
     Text.Regex.Posix.Sequence
     Text.Regex.Posix.ByteString
     Text.Regex.Posix.ByteString.Lazy

 other-modules:
     Paths_regex_posix

 c-sources:        cbits/myfree.c
 include-dirs:     cbits

 if flag(_regex-posix-clib)
   build-depends: regex-posix-clib == 2.7.*
 else
   -- use POSIX.2 regex implementation from @libc@
   -- However, Windows/msys2 doesn't provide a POSIX.2 regex impl in its @libc@
   if os(windows)
     build-depends: base<0

 default-language: Haskell2010
 default-extensions:
     MultiParamTypeClasses
     FunctionalDependencies
     ForeignFunctionInterface
     GeneralizedNewtypeDeriving
     FlexibleContexts
     TypeSynonymInstances
     FlexibleInstances

 build-depends: regex-base == 0.94.*
              , base       >= 4.3 && < 4.16
              , containers >= 0.4 && < 0.7
              , bytestring >= 0.9 && < 0.12
              , array      >= 0.3 && < 0.6

 if !impl(ghc >= 8)
     build-depends: fail == 4.9.*

 ghc-options: -O2
              -Wall -fno-warn-unused-imports