cabal-version: >= 1.10

name: kesha
version: 0.1.0
synopsis: Haskell implementation of nix-hash
description: Compute the cryptographic hash of a path, à la <https://nixos.org/ Nix>.
homepage: https://github.com/jmackie/kesha
bug-reports: https://github.com/jmackie/kesha/issues
license: MIT
license-file: LICENSE
author: Jordan Mackie
maintainer: contact@jmackie.dev
copyright: (c) 2020 Jordan Mackie
category: System
build-type: Simple
extra-source-files:
  README.md
  CHANGELOG.md

tested-with:
  GHC == 8.0.2,
  GHC == 8.2.2,
  GHC == 8.4.4,
  GHC == 8.6.5,
  GHC == 8.8.3,
  GHC == 8.10.1

source-repository head
  type: git
  location: git://github.com/jmackie/kesha.git

library
  default-language: Haskell2010
  hs-source-dirs: src
  ghc-options:
    -Weverything
    -fno-warn-missing-import-lists
    -fno-warn-safe
    -fno-warn-unsafe
  exposed-modules:
    Kesha
    Kesha.NAR
  build-depends:
    -- https://wiki.haskell.org/Base_package
    -- >= 8.2.2 && < 8.9
    base >= 4.10.1 && < 4.14,

    -- core libraries
    binary >= 0.8.6 && < 0.9,
    bytestring >= 0.10.8 && < 0.11,
    containers >= 0.6.0 && < 0.7,
    filepath >= 1.4.2 && < 1.5,
    text >= 1.2.3 && < 1.3,
    -- 1.3.1.0 introduced `getSymbolicLinkTarget`
    directory >= 1.3.1 && < 1.4,

    cryptohash-md5 >= 0.11.100 && < 0.12,
    cryptohash-sha1 >= 0.11.100 && < 0.12,
    cryptohash-sha256 >= 0.11.101 && < 0.12

test-suite test
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: test
  ghc-options:
    -Weverything
    -fno-warn-missing-import-lists
    -fno-warn-safe
    -fno-warn-unsafe

    -threaded
    -rtsopts
  build-depends:
    kesha,

    base,
    bytestring,
    containers,
    directory,
    filepath,

    -- Test dependencies
    process,
    hspec,
    QuickCheck,
    temporary