packages feed

persist-1.0.0.0: persist.cabal

cabal-version: 3.6
name: persist
version: 1.0.0.0
license: BSD-3-Clause
license-file: LICENSE
author:
  Daniel Mendler <mail@daniel-mendler.de>,
  Michael Sloan <sloan@fpcomplete.com>,
  FP Complete,
  Lennart Kolmodin <kolmodin@dtek.chalmers.se>,
  Galois Inc.,
  Lemmih <lemmih@gmail.com>,
  Bas van Dijk <v.dijk.bas@gmail.com>,
  Kyle Butt <kyle@iteratee.net>

maintainer: Kyle Butt <kyle@iteratee.net>
category: Data, Parsing
stability: provisional
build-type: Simple
synopsis: Minimal serialization library with focus on performance
homepage: https://github.com/minad/persist
tested-with:
  ghc ==9.2.8
  ghc ==9.4.8
  ghc ==9.6.7
  ghc ==9.8.4
  ghc ==9.10.2
  ghc ==9.12.2
extra-doc-files: Changelog.md

description:
  A binary serialization library with focus on performance similar to store and
  cereal. Includes utilities to match externally specified data formats.

source-repository head
  type: git
  location: https://github.com/minad/persist

flag force-unaligned
  manual: True
  default: False

flag force-aligned
  manual: True
  default: False

library
  default-language: Haskell2010
  build-depends:
    base >=4.16 && <5,
    bytestring >=0.11.1 && <1,
    containers >=0.6.5.1 && <0.9,
    text >=1.2.5 && <2.2,

  if !flag(force-aligned) && (flag(force-unaligned) || arch(i386) || arch(x86_64))
    cpp-options: -DUNALIGNED_MEMORY
  hs-source-dirs: src
  exposed-modules:
    Data.Persist
    Data.Persist.Internal

  ghc-options:
    -Wall
    -funbox-strict-fields

test-suite test-persist
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  build-depends:
    QuickCheck >=2.16.0 && <2.17,
    base,
    bytestring,
    persist,
    test-framework >=0.8.2 && <0.9,
    test-framework-quickcheck2 >=0.3.0 && <0.4,
    text,

  main-is: Main.hs
  other-modules:
    GetTests
    RoundTrip

  hs-source-dirs: tests