cabal-version: 2.2

-- This file has been generated from package.yaml by hpack version 0.37.0.
--
-- see: https://github.com/sol/hpack

name:           packed-data
version:        0.1.0.0
description:    Build, traverse and deserialise packed data in Haskell
category:       Data
homepage:       https://github.com/Arthi-chaud/packed-haskell#readme
bug-reports:    https://github.com/Arthi-chaud/packed-haskell/issues
author:         Arthi-chaud
maintainer:     aj530@kent.ac.uk
copyright:      2025 Arthi-chaud
license:        BSD-3-Clause
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    README.md

source-repository head
  type: git
  location: https://github.com/Arthi-chaud/packed-haskell

library
  exposed-modules:
      Data.Packed
      Data.Packed.Reader
      Data.Packed.Needs
      Data.Packed.Instances
      Data.Packed.TH
      Data.Packed.Skippable
  other-modules:
      Data.Packed.FieldSize
      Data.Packed.Packable
      Data.Packed.Packed
      Data.Packed.TH.Case
      Data.Packed.TH.Flag
      Data.Packed.TH.Packable
      Data.Packed.TH.PackCon
      Data.Packed.TH.Read
      Data.Packed.TH.RepackCon
      Data.Packed.TH.Skip
      Data.Packed.TH.Skippable
      Data.Packed.TH.Start
      Data.Packed.TH.Transform
      Data.Packed.TH.Unpackable
      Data.Packed.TH.Utils
      Data.Packed.TH.Write
      Data.Packed.TH.WriteCon
      Data.Packed.Unpackable
      Data.Packed.Utils
      Tree
      Paths_packed_data
  autogen-modules:
      Paths_packed_data
  hs-source-dirs:
      src
  default-extensions:
      DataKinds
      TypeOperators
      KindSignatures
      GADTs
      LambdaCase
      TemplateHaskell
      TemplateHaskellQuotes
      TupleSections
      QualifiedDo
  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints
  build-depends:
      base >=4.7 && <5
    , bytestring >=0.12.1.0 && <0.13
    , bytestring-strict-builder >=0.4.5 && <0.5
    , deepseq >=1.5.0.0 && <1.6
    , extra >=1.0 && <2.0
    , mtl >=2.3.1 && <2.4
    , template-haskell >=2.22.0.0 && <2.23
  default-language: Haskell2010

executable packed-exe
  main-is: Main.hs
  other-modules:
      Paths_packed_data
  autogen-modules:
      Paths_packed_data
  hs-source-dirs:
      app
  default-extensions:
      DataKinds
      TypeOperators
      KindSignatures
      GADTs
      LambdaCase
      TemplateHaskell
      TemplateHaskellQuotes
      TupleSections
      QualifiedDo
  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      base >=4.7 && <5
    , deepseq
    , mtl
    , packed-data
    , time ==1.14.*
  default-language: Haskell2010

test-suite packed-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
      PackedTest.CaseTest
      PackedTest.Data
      PackedTest.IdentityTest
      PackedTest.PackTest
      PackedTest.UnpackTest
      Paths_packed_data
  autogen-modules:
      Paths_packed_data
  hs-source-dirs:
      test
  default-extensions:
      DataKinds
      TypeOperators
      KindSignatures
      GADTs
      LambdaCase
      TemplateHaskell
      TemplateHaskellQuotes
      TupleSections
      QualifiedDo
  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N -Wno-unused-top-binds -Wno-orphans -Wno-redundant-constraints
  build-depends:
      base >=4.7 && <5
    , bytestring
    , bytestring-strict-builder >=0.4.5 && <0.5
    , hspec
    , packed-data
  default-language: Haskell2010

benchmark ast-bench
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      Paths_packed_data
  autogen-modules:
      Paths_packed_data
  hs-source-dirs:
      benchmark/ast
  default-extensions:
      DataKinds
      TypeOperators
      KindSignatures
      GADTs
      LambdaCase
      TemplateHaskell
      TemplateHaskellQuotes
      TupleSections
      QualifiedDo
  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-T -O2 -Wno-unused-top-binds -Wno-orphans -Wno-redundant-constraints
  build-depends:
      base >=4.7 && <5
    , criterion
    , optparse-applicative
    , packed-data
  default-language: Haskell2010

benchmark bigjson-bench
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      Data
      Paths_packed_data
  autogen-modules:
      Paths_packed_data
  hs-source-dirs:
      benchmark/bigjson
  default-extensions:
      DataKinds
      TypeOperators
      KindSignatures
      GADTs
      LambdaCase
      TemplateHaskell
      TemplateHaskellQuotes
      TupleSections
      QualifiedDo
  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-T -O2 -Wno-unused-top-binds -Wno-orphans -Wno-redundant-constraints
  build-depends:
      aeson
    , base >=4.7 && <5
    , bytestring
    , criterion
    , directory
    , optparse-applicative
    , packed-data
  default-language: Haskell2010

benchmark packed-bench
  type: exitcode-stdio-1.0
  main-is: Main.hs
  other-modules:
      AST
      Build
      CIReport
      Increment
      List
      OutputData
      Pack
      Plot
      Sum
      Traversals
      Utils
      Paths_packed_data
  autogen-modules:
      Paths_packed_data
  hs-source-dirs:
      benchmark
  default-extensions:
      DataKinds
      TypeOperators
      KindSignatures
      GADTs
      LambdaCase
      TemplateHaskell
      TemplateHaskellQuotes
      TupleSections
      QualifiedDo
  ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-T -O2 -Wno-unused-top-binds -Wno-orphans -Wno-redundant-constraints
  cc-options: -O2
  include-dirs:
      benchmark
  c-sources:
      benchmark/benchmark.c
  build-depends:
      Chart
    , Chart-diagrams
    , aeson
    , base >=4.7 && <5
    , bytestring
    , cassava
    , criterion
    , deepseq
    , directory
    , filepath
    , listsafe
    , mtl
    , optparse-applicative
    , packed-data
    , split
    , vector
  default-language: Haskell2010