mirror of
https://github.com/haskell-nix/hnix-store.git
synced 2024-11-28 14:07:53 +03:00
97146b41cc
Reference: Main cause: https://github.com/haskell-hvr/cryptohash-sha512/issues/7 The whole `cryptohash-*` package family is abandoned, there is no signs of maintainer activity there, so it stopped following Haskell ecosystem & `base` releases. Knowing the human history & situation around it - it would not be reviwed, which gives experience to not hardcode on the (specifically when emotional) dependency. Experience I drawn from this story is to keep things simplier when possible & have more flexible systems as a result code. It was "a bit too much" for what hashing is, for the code to have 2 hashing type systems (external & internal) & reinventment of `HashAlgorithm` type duplicate. The whole code was really rigid with a lot of type applicating the data kinds, those are dependent type features & should be used cautiously, since interface became rigid to changes, so afterwards it is easier & effective to dismantle and recreate the subsystem then to evolve it. Previous hashing history: https://github.com/haskell-nix/hnix-store/issues/156 https://github.com/haskell-nix/hnix-store/issues/142 https://github.com/haskell-nix/hnix-store/pull/93 https://github.com/haskell-nix/hnix-store/issues/92 https://github.com/haskell-nix/hnix-store/issues/90 https://github.com/haskell-nix/hnix-store/issues/83 https://github.com/haskell-nix/hnix-store/pull/64 https://github.com/haskell-nix/hnix-store/pull/38 https://github.com/haskell-nix/hnix-store/pull/32 https://github.com/haskell-nix/hnix-store/pull/31 https://github.com/haskell-nix/hnix-store/pull/28 https://github.com/haskell-nix/hnix-store/pull/27 https://github.com/haskell-nix/hnix-store/pull/25 https://github.com/haskell-nix/hnix-store/issues/18 https://github.com/haskell-nix/hnix-store/pull/14
122 lines
2.8 KiB
Plaintext
122 lines
2.8 KiB
Plaintext
cabal-version: 2.2
|
|
name: hnix-store-core
|
|
version: 0.4.3.1
|
|
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.10 && <5
|
|
, attoparsec
|
|
, algebraic-graphs >= 0.5 && < 0.6
|
|
, 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
|
|
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
|
|
, base16-bytestring
|
|
, base64-bytestring
|
|
, binary
|
|
, bytestring
|
|
, containers
|
|
, cryptonite
|
|
, directory
|
|
, filepath
|
|
, process
|
|
, tasty
|
|
, tasty-golden
|
|
, hspec
|
|
, tasty-hspec
|
|
, tasty-hunit
|
|
, tasty-quickcheck
|
|
, temporary
|
|
, text
|
|
, unix
|
|
default-language: Haskell2010
|