packages feed

hw-ip-2.3.4.1: hw-ip.cabal

cabal-version: 2.2
name: hw-ip
version: 2.3.4.1
license: BSD-3-Clause
license-file: LICENSE
copyright: 2018-2019 John Ky, David Turnbull, Jian Wan
maintainer: newhoggy@gmail.com
author: John Ky,
        David Turnbull,
        Jian Wan
homepage: https://github.com/haskell-works/hw-ip#readme
bug-reports: https://github.com/haskell-works/hw-ip/issues
synopsis: Library for manipulating IP addresses and CIDR blocks
description: Library for manipulating IP addresses and CIDR blocks. Please see README.md
category: Network
build-type: Simple
extra-source-files:
    README.md

source-repository head
    type: git
    location: https://github.com/haskell-works/hw-ip

common base                 { build-depends: base                 >= 4          && < 5      }

common appar                { build-depends: appar                >= 0.1.8      && < 0.2    }
common binary               { build-depends: binary               >= 0.8        && < 0.9    }
common bytestring           { build-depends: bytestring           >= 0.10.6     && < 0.11   }
common containers           { build-depends: containers           >= 0.6.0.1    && < 0.7    }
common generic-lens         { build-depends: generic-lens         >= 1.1.0.0    && < 1.2    }
common hedgehog             { build-depends: hedgehog             >= 0.6        && < 1.1    }
common hspec                { build-depends: hspec                >= 2.4.4      && < 2.6    }
common hw-bits              { build-depends: hw-bits              >= 0.7        && < 0.8    }
common hw-hspec-hedgehog    { build-depends: hw-hspec-hedgehog    >= 0.1.0.2    && < 0.2    }
common iproute              { build-depends: iproute              >= 1.7.3      && < 1.8    }
common lens                 { build-depends: lens                 >= 4          && < 5      }
common optparse-applicative { build-depends: optparse-applicative >= 0.14       && < 0.15   }
common text                 { build-depends: text                 >= 1.2.3.1    && < 1.3    }

common semigroups   { if impl(ghc <  8    ) { build-depends: semigroups     >= 0.16     && < 0.19 } }

common config
  default-language:   Haskell2010
  ghc-options:        -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints

library
  import:   base, config
          , appar
          , containers
          , generic-lens
          , hw-bits
          , iproute
          , text
  exposed-modules:
    HaskellWorks.Data.Network.Ip
    HaskellWorks.Data.Network.Ip.Internal.Appar
    HaskellWorks.Data.Network.Ip.Ip
    HaskellWorks.Data.Network.Ip.Ipv4
    HaskellWorks.Data.Network.Ip.Ipv6
    HaskellWorks.Data.Network.Ip.Range
    HaskellWorks.Data.Network.Ip.SafeEnum
    HaskellWorks.Data.Network.Ip.Validity
    HaskellWorks.Data.Network.Ip.Word128
  hs-source-dirs:     src
  other-modules:      Paths_hw_ip
  autogen-modules:    Paths_hw_ip

executable hw-ip
  import:   base, config
          , appar
          , binary
          , bytestring
          , generic-lens
          , lens
          , optparse-applicative
          , semigroups
          , text
  other-modules:
    App.Commands
    App.Commands.TextToWord
    App.Commands.Types
  main-is:            Main.hs
  hs-source-dirs:     app
  ghc-options:        -threaded -rtsopts -with-rtsopts=-N
  build-depends:      hw-ip

test-suite hw-ip-test
  import:   base, config
          , appar
          , generic-lens
          , hedgehog
          , hspec
          , hw-bits
          , hw-hspec-hedgehog
          , text
  other-modules:
    HaskellWorks.Data.Network.Gen
    HaskellWorks.Data.Network.IpBlockSpec
    HaskellWorks.Data.Network.IpSpec
    HaskellWorks.Data.Network.Ipv4Spec
    HaskellWorks.Data.Network.Ipv6Spec
    HaskellWorks.Data.Network.RangeSpec
    HaskellWorks.Data.Network.Word128Spec
  type:               exitcode-stdio-1.0
  main-is:            Spec.hs
  hs-source-dirs:     test
  ghc-options:        -threaded -rtsopts -with-rtsopts=-N
  build-depends:      hw-ip
  build-tools:        hspec-discover