packages feed

git-remote-ipfs-0.1.0.0: git-remote-ipfs.cabal

cabal-version: 2.2
build-type:    Simple

name:          git-remote-ipfs
version:       0.1.0.0
synopsis:      Git remote helper to store git objects on IPFS
homepage:      https://github.com/oscoin/ipfs
bug-reports:   https://github.com/oscoin/ipfs/issues
license:       BSD-3-Clause
license-file:  LICENSE
author:        Kim Altintop
maintainer:    Kim Altintop <kim@monadic.xyz>, Monadic Team <team@monadic.xyz>
copyright:     2018 Monadic GmbH

category:      Network

extra-source-files:
      CHANGELOG.md
    , README.rst

source-repository head
    type: git
    location: https://github.com/oscoin/ipfs

flag with-e2e-tests
    description: Build end-to-end test suite
    default:     False
    manual:      True

common common
    default-language: Haskell2010
    ghc-options:
        -Wall
        -Wcompat
        -Wincomplete-uni-patterns
        -Wincomplete-record-updates
        -Wredundant-constraints
        -fprint-expanded-synonyms
        -funbox-small-strict-fields

    default-extensions:
        BangPatterns
        DeriveGeneric
        LambdaCase
        MultiWayIf
        NamedFieldPuns
        RecordWildCards
        StrictData
        TupleSections
        TypeApplications

library
    import: common
    hs-source-dirs: src

    exposed-modules:
        Network.IPFS.Git.RemoteHelper
        Network.IPFS.Git.RemoteHelper.Client
        Network.IPFS.Git.RemoteHelper.Command
        Network.IPFS.Git.RemoteHelper.Format
        Network.IPFS.Git.RemoteHelper.Generic
        Network.IPFS.Git.RemoteHelper.Internal
        Network.IPFS.Git.RemoteHelper.Options
        Network.IPFS.Git.RemoteHelper.Trans

    build-depends:
        aeson
      , async >= 2.1.1
      , attoparsec
      , base >= 4.9 && < 5
      , bytestring
      , conduit >= 1.3
      , cryptonite
      , filepath
      , formatting
      , generics-sop
      , git >= 0.3.0
      , http-client
      , ipfs-api
      , ipld-cid
      , lens
      , lens-aeson
      , mtl
      , multibase
      , multihash-cryptonite
      , network-uri
      , optparse-applicative
      , primitive
      , safe-exceptions
      , servant
      , servant-client >= 0.15
      , stm >= 2.5
      , text
      , transformers
      , typed-process
      , unordered-containers
      , vector

executable git-remote-ipfs
    import: common
    main-is: Main.hs
    hs-source-dirs: exe/git-remote-ipfs

    build-depends:
        attoparsec
      , base
      , bytestring
      , conduit
      , conduit-extra
      , git-remote-ipfs
      , mtl
      , optparse-applicative
      , text

    ghc-options: -threaded -rtsopts "-with-rtsopts=-maxN4 -A8m"

test-suite e2e-tests
    import: common

    if flag(with-e2e-tests)
        buildable: True
    else
        buildable: False

    main-is: Main.hs
    hs-source-dirs: test/e2e
    type: exitcode-stdio-1.0

    build-depends:
        base
      , bytestring
      , entropy
      , filepath
      , git >= 0.3.0
      , hourglass
      , http-client
      , ipfs-api
      , lens
      , lens-aeson
      , safe-exceptions
      , servant
      , servant-client >= 0.15
      , tasty
      , tasty-hunit
      , temporary
      , text
      , typed-process