packages feed

hw-eliasfano-0.1.1.0: hw-eliasfano.cabal

cabal-version:  2.2

name:           hw-eliasfano
version:        0.1.1.0
synopsis:       Elias-Fano
description:    Please see README.md
category:       Data, Succinct Data Structures, Data Structures
homepage:       http://github.com/haskell-works/hw-eliasfano#readme
bug-reports:    https://github.com/haskell-works/hw-eliasfano/issues
author:         John Ky
maintainer:     newhoggy@gmail.com
copyright:      2016-2019 John Ky
license:        BSD-3-Clause
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md

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

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

common bytestring           { build-depends: bytestring           >= 0.10.8.2   && < 0.11   }
common binary               { build-depends: binary               >= 0.8        && < 0.9    }
common criterion            { build-depends: criterion            >= 1.5.5.0    && < 1.6    }
common deepseq              { build-depends: deepseq              >= 1.4        && < 1.5    }
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.7.1      && < 3      }
common hw-bits              { build-depends: hw-bits              >= 0.7.0.6    && < 0.8    }
common hw-hedgehog          { build-depends: hw-hedgehog          >= 0.1.0.3    && < 0.2    }
common hw-hspec-hedgehog    { build-depends: hw-hspec-hedgehog    >= 0.1.0.7    && < 0.2    }
common hw-int               { build-depends: hw-int               >= 0.0.0.3    && < 0.1    }
common hw-packed-vector     { build-depends: hw-packed-vector     >= 0.0.0.2    && < 0.1    }
common hw-prim              { build-depends: hw-prim              >= 0.6.2.25   && < 0.7    }
common hw-rankselect        { build-depends: hw-rankselect        >= 0.13       && < 0.14   }
common hw-rankselect-base   { build-depends: hw-rankselect-base   >= 0.3.2.1    && < 0.4    }
common lens                 { build-depends: lens                 >= 4          && < 5      }
common mmap                 { build-depends: mmap                 >= 0.5.9      && < 0.6    }
common optparse-applicative { build-depends: optparse-applicative >= 0.14       && < 0.15   }
common vector               { build-depends: vector               >= 0.12.0.3   && < 0.13   }

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

common config
  default-language:   Haskell2010
  ghc-options:        -Wall

library
  import:   base, config
          , deepseq
          , hw-bits
          , hw-int
          , hw-packed-vector
          , hw-prim
          , hw-rankselect
          , hw-rankselect-base
          , vector
  exposed-modules:
      HaskellWorks.Data.EliasFano
      HaskellWorks.Data.EliasFano.Internal
      HaskellWorks.Data.FromListWord64
      HaskellWorks.Data.ToListWord64
  other-modules:      Paths_hw_eliasfano
  autogen-modules:    Paths_hw_eliasfano
  hs-source-dirs:     src

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

test-suite hw-eliasfano-test
  import:   base, config
          , hedgehog
          , hspec
          , hw-bits
          , hw-hedgehog
          , hw-hspec-hedgehog
          , hw-int
          , hw-packed-vector
          , hw-prim
          , vector
  type:               exitcode-stdio-1.0
  main-is:            Spec.hs
  hs-source-dirs:     test
  ghc-options:        -Wall -threaded -rtsopts -with-rtsopts=-N
  build-depends:      hw-eliasfano
  other-modules:
      HaskellWorks.Data.EliasFano.Reference
      HaskellWorks.Data.EliasFano.ReferenceSpec
      HaskellWorks.Data.EliasFanoSpec
      Paths_hw_eliasfano
  autogen-modules:    Paths_hw_eliasfano
  default-language:   Haskell2010
  build-tool-depends: hspec-discover:hspec-discover

benchmark bench
  import:   base, config
          , base
          , bytestring
          , criterion
          , hedgehog
          , hspec
          , hw-bits
          , hw-hedgehog
          , hw-hspec-hedgehog
          , hw-int
          , hw-packed-vector
          , hw-prim
          , mmap
          , vector
  type:               exitcode-stdio-1.0
  main-is:            Main.hs
  hs-source-dirs:     bench
  other-modules:      Paths_hw_eliasfano
  build-depends:      hw-eliasfano
  autogen-modules:    Paths_hw_eliasfano