packages feed

hnix-store-core-0.6.0.0: hnix-store-core.cabal

cabal-version:       2.2
name:                hnix-store-core
version:             0.6.0.0
synopsis:            Core effects for interacting with the Nix store.
description:
  This package contains types and functions needed to describe
  interactions with the Nix store abstracted away from
  specific effectful context.
homepage:            https://github.com/haskell-nix/hnix-store
license:             Apache-2.0
license-file:        LICENSE
author:              Shea Levy
maintainer:          shea@shealevy.com
copyright:           2018 Shea Levy
category:            Nix
build-type:          Simple
extra-source-files:
    ChangeLog.md
  , README.md
  , tests/samples/example0.drv
  , tests/samples/example1.drv

Common commons
  if impl(ghc >= 8.10)
    ghc-options:  -Wall -Wunused-packages
  else
    ghc-options:  -Wall

library
  import: commons
  exposed-modules:
      System.Nix.Base32
    , System.Nix.Build
    , System.Nix.Derivation
    , System.Nix.Hash
    , System.Nix.Internal.Base
    , System.Nix.Internal.Base32
    , System.Nix.Internal.Truncation
    , System.Nix.Internal.Hash
    , System.Nix.Internal.Nar.Parser
    , System.Nix.Internal.Nar.Streamer
    , System.Nix.Internal.Nar.Effects
    , System.Nix.Internal.Signature
    , System.Nix.Internal.StorePath
    , System.Nix.Nar
    , System.Nix.ReadonlyStore
    , System.Nix.Signature
    , System.Nix.StorePath
    , System.Nix.StorePathMetadata
  build-depends:
      base >=4.12 && <5
    , relude >= 1.0
    , attoparsec
    , algebraic-graphs >= 0.5 && < 0.7
    , base16-bytestring
    , base64-bytestring
    , bytestring
    , cereal
    , containers
    -- Required for cryptonite low-level type convertion
    , memory
    , cryptonite
    , directory
    , filepath
    , hashable
    , lifted-base
    , monad-control
    , mtl
    , nix-derivation >= 1.1.1 && <2
    , saltine
    , time
    , text
    , unix
    , unordered-containers
    , vector
  mixins:
      base hiding (Prelude)
    , relude (Relude as Prelude)
    , relude
  default-extensions:
      OverloadedStrings
    , DeriveGeneric
    , DeriveDataTypeable
    , DeriveFunctor
    , DeriveFoldable
    , DeriveTraversable
    , DeriveLift
    , FlexibleContexts
    , FlexibleInstances
    , StandaloneDeriving
    , TypeApplications
    , TypeSynonymInstances
    , InstanceSigs
    , MultiParamTypeClasses
    , TupleSections
    , LambdaCase
    , BangPatterns
    , ViewPatterns
  hs-source-dirs:      src
  default-language:    Haskell2010

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

test-suite format-tests
  import: commons
  if flag(bounded_memory)
    cpp-options: -DBOUNDED_MEMORY
    ghc-options: -rtsopts -fprof-auto
  type: exitcode-stdio-1.0
  main-is: Driver.hs
  other-modules:
    Arbitrary
    Derivation
    NarFormat
    Hash
    StorePath
  hs-source-dirs:
    tests
  build-tool-depends:
    tasty-discover:tasty-discover
  build-depends:
      hnix-store-core
    , attoparsec
    , base
    , relude
    , base16-bytestring
    , base64-bytestring
    , binary
    , bytestring
    , containers
    , cryptonite
    , directory
    , filepath
    , process
    , tasty
    , tasty-golden
    , hspec
    , tasty-hspec
    , tasty-hunit
    , tasty-quickcheck
    , temporary
    , text
    , unix
  mixins:
      base hiding (Prelude)
    , relude (Relude as Prelude)
    , relude
  default-extensions:
      OverloadedStrings
    , DeriveGeneric
    , DeriveDataTypeable
    , DeriveFunctor
    , DeriveFoldable
    , DeriveTraversable
    , DeriveLift
    , FlexibleContexts
    , FlexibleInstances
    , StandaloneDeriving
    , TypeApplications
    , TypeSynonymInstances
    , InstanceSigs
    , MultiParamTypeClasses
    , TupleSections
    , LambdaCase
    , BangPatterns
    , ViewPatterns
  default-language: Haskell2010