packages feed

ptr-poker-0.1.2.13: ptr-poker.cabal

cabal-version: 3.0
name:          ptr-poker
version:       0.1.2.13
synopsis:      Pointer poking action construction and composition toolkit
homepage:      https://github.com/nikita-volkov/ptr-poker
bug-reports:   https://github.com/nikita-volkov/ptr-poker/issues
author:        Nikita Volkov <nikita.y.volkov@mail.ru>
maintainer:    Nikita Volkov <nikita.y.volkov@mail.ru>
copyright:     (c) 2020 Nikita Volkov
license:       MIT
license-file:  LICENSE

source-repository head
  type:     git
  location: git://github.com/nikita-volkov/ptr-poker.git

common base-settings
  default-language:   Haskell2010
  default-extensions:
    NoImplicitPrelude
    NoMonomorphismRestriction
    BangPatterns
    ConstraintKinds
    DataKinds
    DefaultSignatures
    DeriveDataTypeable
    DeriveFoldable
    DeriveFunctor
    DeriveGeneric
    DeriveTraversable
    EmptyDataDecls
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    InstanceSigs
    LambdaCase
    LiberalTypeSynonyms
    MagicHash
    MultiParamTypeClasses
    MultiWayIf
    OverloadedStrings
    ParallelListComp
    PatternGuards
    QuasiQuotes
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    StandaloneDeriving
    StrictData
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeFamilies
    TypeOperators
    UnboxedTuples
    ViewPatterns

library
  import:          base-settings
  hs-source-dirs:  library
  exposed-modules:
    PtrPoker.Poke
    PtrPoker.Size
    PtrPoker.Write

  other-modules:
    PtrPoker.ByteString
    PtrPoker.Compat.ByteString
    PtrPoker.Compat.ForeignPtr
    PtrPoker.Compat.Text
    PtrPoker.Ffi
    PtrPoker.IO.Prim
    PtrPoker.Prelude

  c-sources:
    cbits/dtoa.c
    cbits/int_encoding.c
    cbits/itoa.c
    cbits/text.c

  build-depends:
    , base >=4.11 && <5
    , bytestring >=0.10 && <0.12
    , scientific >=0.3.6.2 && <0.4
    , text >=1 && <3

test-suite test
  import:         base-settings
  type:           exitcode-stdio-1.0
  hs-source-dirs: test
  main-is:        Main.hs
  build-depends:
    , hedgehog >=1.2 && <2
    , isomorphism-class >=0.1.0.8 && <0.2
    , numeric-limits >=0.1 && <0.2
    , ptr-poker
    , rerebase >=1.16.1 && <2

benchmark bench
  import:         base-settings
  type:           exitcode-stdio-1.0
  hs-source-dirs: bench
  main-is:        Main.hs
  ghc-options:    -O2 -threaded -with-rtsopts=-N
  build-depends:
    , criterion >=1.6 && <2
    , ptr-poker
    , rerebase >=1.16.1 && <2