packages feed

cachix-1.7.4: cachix.cabal

cabal-version:      2.2
name:               cachix
version:            1.7.4
synopsis:
  Command-line client for Nix binary cache hosting https://cachix.org

homepage:           https://github.com/cachix/cachix#readme
bug-reports:        https://github.com/cachix/cachix/issues
author:             Domen Kozar
maintainer:         domen@cachix.org
copyright:          2018 Domen Kozar
category:           Nix
license:            Apache-2.0
license-file:       LICENSE
build-type:         Simple
extra-doc-files:
  CHANGELOG.md
  README.md

extra-source-files:
  test/data/*.input
  test/data/*.output

source-repository head
  type:     git
  location: https://github.com/cachix/cachix
  subdir:   cachix

common defaults
  build-depends:      base >=4.7 && <5
  default-extensions:
    DeriveAnyClass
    DeriveGeneric
    DerivingVia
    LambdaCase
    NamedFieldPuns
    NoImplicitPrelude
    NoImportQualifiedPost
    OverloadedStrings
    RecordWildCards
    ScopedTypeVariables

  ghc-options:
    -Wall -Wcompat -Wincomplete-record-updates
    -Wincomplete-uni-patterns -Wredundant-constraints -fwarn-tabs
    -fwarn-unused-imports -fwarn-missing-signatures
    -fwarn-name-shadowing -fwarn-incomplete-patterns

  -- TODO: address partial record fields in Cachix Deploy
  -- if impl(ghc >= 8.4)
  --   ghc-options:       -Wpartial-fields

  if impl(ghc >=8.10)
    ghc-options: -Wunused-packages

  if impl(ghc >=9.2)
    ghc-options: -Wredundant-bang-patterns

  default-language:   Haskell2010

library
  import:            defaults
  exposed-modules:
    Cachix.Client
    Cachix.Client.CNix
    Cachix.Client.Commands
    Cachix.Client.Commands.Push
    Cachix.Client.Config
    Cachix.Client.Config.Orphans
    Cachix.Client.Daemon
    Cachix.Client.Daemon.Client
    Cachix.Client.Daemon.EventLoop
    Cachix.Client.Daemon.Listen
    Cachix.Client.Daemon.Log
    Cachix.Client.Daemon.PostBuildHook
    Cachix.Client.Daemon.Progress
    Cachix.Client.Daemon.Protocol
    Cachix.Client.Daemon.Push
    Cachix.Client.Daemon.PushManager
    Cachix.Client.Daemon.PushManager.PushJob
    Cachix.Client.Daemon.ShutdownLatch
    Cachix.Client.Daemon.SocketStore
    Cachix.Client.Daemon.Subscription
    Cachix.Client.Daemon.Types
    Cachix.Client.Daemon.Types.Daemon
    Cachix.Client.Daemon.Types.EventLoop
    Cachix.Client.Daemon.Types.Log
    Cachix.Client.Daemon.Types.PushEvent
    Cachix.Client.Daemon.Types.PushManager
    Cachix.Client.Daemon.Types.SocketStore
    Cachix.Client.Daemon.Worker
    Cachix.Client.Env
    Cachix.Client.Exception
    Cachix.Client.HumanSize
    Cachix.Client.InstallationMode
    Cachix.Client.NetRc
    Cachix.Client.NixConf
    Cachix.Client.NixVersion
    Cachix.Client.OptionsParser
    Cachix.Client.Push
    Cachix.Client.Push.S3
    Cachix.Client.PushQueue
    Cachix.Client.Retry
    Cachix.Client.Secrets
    Cachix.Client.Servant
    Cachix.Client.URI
    Cachix.Client.Version
    Cachix.Client.WatchStore
    Cachix.Deploy.Activate
    Cachix.Deploy.ActivateCommand
    Cachix.Deploy.Agent
    Cachix.Deploy.Deployment
    Cachix.Deploy.Lock
    Cachix.Deploy.Log
    Cachix.Deploy.OptionsParser
    Cachix.Deploy.StdinProcess
    Cachix.Deploy.Websocket
    Cachix.Deploy.WebsocketPong
    Data.Conduit.ByteString

  hs-source-dirs:    src
  other-modules:     Paths_cachix
  autogen-modules:   Paths_cachix
  build-depends:
    , aeson
    , amazonka                >=2.0
    , amazonka-core           >=2.0
    , amazonka-s3             >=2.0
    , ascii-progress
    , async
    , attoparsec
    , base64-bytestring
    , bytestring
    , cachix-api
    , concurrent-extra
    , conduit                 >=1.3.0
    , conduit-concurrent-map
    , conduit-extra
    , conduit-zstd
    , containers
    , crypton
    , deepseq
    , dhall                   >=1.28.0
    , directory
    , ed25519
    , either
    , exceptions
    , extra
    , filepath
    , fsnotify                >=0.4.1
    , generic-lens
    , hercules-ci-cnix-store
    , here
    , hnix-store-core         >=0.6.1.0
    , http-client
    , http-client-tls
    , http-conduit
    , http-types
    , immortal
    , inline-c-cpp
    , katip
    , lukko
    , lzma-conduit
    , megaparsec              >=7.0.0
    , memory
    , microlens
    , netrc
    , network
    , nix-narinfo
    , optparse-applicative
    , pretty-terminal
    , prettyprinter
    , process
    , protolude
    , resourcet
    , retry
    , safe-exceptions
    , servant                 >=0.16
    , servant-auth
    , servant-auth-client     >=0.3.3.0
    , servant-client          >=0.16
    , servant-conduit
    , stm
    , stm-chans
    , stm-conduit
    , systemd
    , temporary
    , text
    , time
    , transformers
    , unix
    , unliftio
    , unliftio-core
    , unordered-containers
    , uri-bytestring
    , uuid
    , vector
    , versions
    , websockets
    , wuss

  -- These versions are pinned in hercules-ci-cnix-store
  pkgconfig-depends: nix-main, nix-store

executable cachix
  import:          defaults
  main-is:         Main.hs
  ghc-options:     -threaded -rtsopts -with-rtsopts=-maxN8
  hs-source-dirs:  cachix
  other-modules:   Paths_cachix
  autogen-modules: Paths_cachix
  build-depends:
    , cachix
    , safe-exceptions

executable .cachix-deployment
  import:          defaults
  main-is:         Main.hs
  ghc-options:     -g -threaded -rtsopts -with-rtsopts=-maxN8
  hs-source-dirs:  cachix-deployment
  other-modules:   Paths_cachix
  autogen-modules: Paths_cachix
  build-depends:
    , aeson
    , async
    , cachix
    , cachix-api
    , katip
    , protolude
    , safe-exceptions
    , stm-chans
    , stm-conduit
    , time
    , uuid
    , websockets

test-suite cachix-test
  import:             defaults
  type:               exitcode-stdio-1.0
  ghc-options:        -threaded -rtsopts -with-rtsopts=-N
  main-is:            Main.hs
  hs-source-dirs:     test
  other-modules:
    Daemon.PostBuildHookSpec
    Daemon.PushManagerSpec
    DeploySpec
    InstallationModeSpec
    NetRcSpec
    NixConfSpec
    NixVersionSpec
    Spec
    URISpec

  build-depends:
    , aeson
    , async
    , bytestring
    , cachix
    , cachix-api
    , containers
    , dhall
    , directory
    , extra
    , here
    , hspec
    , protolude
    , retry
    , servant-auth-client
    , servant-client-core
    , stm
    , temporary
    , time
    , versions

  build-tool-depends: hspec-discover:hspec-discover