packages feed

hnix-store-nar-0.1.1.0: hnix-store-nar.cabal

cabal-version:       2.2
name:                hnix-store-nar
version:             0.1.1.0
synopsis:            NAR file format
description:
  Packing and unpacking for NAR file format used by Nix.
homepage:            https://github.com/haskell-nix/hnix-store
license:             Apache-2.0
license-file:        LICENSE
author:              Shea Levy
maintainer:          srk@48.io
copyright:           2018 Shea Levy
category:            Nix
build-type:          Simple
extra-doc-files:
    CHANGELOG.md
extra-source-files:
    README.md
  , tests/fixtures/case-conflict.nar

flag bounded_memory
  description: Run tests of constant memory use (requires +RTS -T)
  default: False
  manual: True

common commons
  ghc-options:  -Wall
  default-extensions:
      ConstraintKinds
    , DataKinds
    , DeriveGeneric
    , DeriveDataTypeable
    , DeriveFunctor
    , DeriveFoldable
    , DeriveTraversable
    , DeriveLift
    , DerivingStrategies
    , DerivingVia
    , ExistentialQuantification
    , FlexibleContexts
    , FlexibleInstances
    , GADTs
    , StandaloneDeriving
    , ScopedTypeVariables
    , StandaloneDeriving
    , RecordWildCards
    , TypeApplications
    , TypeFamilies
    , TypeOperators
    , TypeSynonymInstances
    , InstanceSigs
    , KindSignatures
    , MultiParamTypeClasses
    , MultiWayIf
    , TupleSections
    , LambdaCase
    , BangPatterns
    , ViewPatterns
  default-language: Haskell2010

library
  import: commons
  exposed-modules:
      System.Nix.Nar
    , System.Nix.Nar.Parser
    , System.Nix.Nar.Streamer
    , System.Nix.Nar.Effects
    , System.Nix.Nar.Options
  build-depends:
      base >=4.12 && <5
    , algebraic-graphs >= 0.5 && < 0.8
    , bytestring
    , case-insensitive
    , cereal
    , containers
    , directory
    , filepath
    , lifted-base
    , monad-control
    , mtl
    , text
    , unix
    , unordered-containers
  hs-source-dirs:      src

test-suite nar
  import: commons
  if flag(bounded_memory)
    cpp-options: -DBOUNDED_MEMORY
    ghc-options: -rtsopts -fprof-auto "-with-rtsopts -T"
  type: exitcode-stdio-1.0
  main-is: Driver.hs
  other-modules:
    NarFormat
  hs-source-dirs:
    tests
  build-tool-depends:
    tasty-discover:tasty-discover
  build-depends:
      base
    , cryptonite
    , hnix-store-nar
    , base64-bytestring
    , cereal
    , bytestring
    , containers
    , directory
    , filepath
    , hspec
    , process
    , temporary
    , tasty
    , tasty-hspec
    , tasty-hunit
    , tasty-quickcheck
    , text
    , unix