packages feed

build-env-1.2.0.0: build-env.cabal

cabal-version: 3.0
name:          build-env
version:       1.2.0.0
author:        Ben Gamari & Sam Derbyshire
maintainer:    ben@smart-cactus.org
license:       BSD-3-Clause
category:      Distribution
build-type:    Simple
homepage:      https://github.com/bgamari/build-env
bug-reports:   https://github.com/bgamari/build-env/issues

extra-source-files:
  readme.md
  changelog.md

synopsis: Compute, fetch and install Cabal build plans into a local environment

description:
  __build-env__ allows one to compute, fetch and install Cabal build plans
  into a local environment, registering the libraries into a free-standing
  package database.

  In particular, __build-env__ enables bootstrapping of Haskell packages
  in hermetic build environments, without the use of @cabal-install@ or Stack.

common common

    build-depends:
        base
          >= 4.15 && < 5.0
      , bytestring
          >= 0.10 && < 0.12
      , containers
          >= 0.6  && < 0.8
      , directory
         ^>= 1.3
      , filepath
          >= 1.4  && < 1.6
      , semaphore-compat
           ^>= 1.0.0
      , text
          >= 1.2  && < 2.2

    default-language:
        Haskell2010

    default-extensions:
        BangPatterns
      , BlockArguments
      , DerivingStrategies
      , DisambiguateRecordFields
      , GeneralizedNewtypeDeriving
      , LambdaCase
      , NamedFieldPuns
      , OverloadedStrings
      , StandaloneDeriving
      , StandaloneKindSignatures
      , TypeOperators
      , ViewPatterns

    ghc-options:
      -Wall
      -Wcompat
      -fwarn-missing-local-signatures
      -fwarn-incomplete-patterns
      -fwarn-incomplete-uni-patterns
      -fwarn-missing-deriving-strategies
      -fno-warn-unticked-promoted-constructors

library

    import:
        common

    hs-source-dirs:
        src

    exposed-modules:
        BuildEnv.Build
      , BuildEnv.BuildOne
      , BuildEnv.CabalPlan
      , BuildEnv.Config
      , BuildEnv.File
      , BuildEnv.Script
      , BuildEnv.Path
      , BuildEnv.Utils

    build-depends:
        async
         ^>= 2.2
      , aeson
          >= 1.5 && < 2.3
      , process
         ^>= 1.6
      , temporary
         ^>= 1.3
      , time
          >= 1.9 && < 1.15
      , transformers
          >= 0.5 && < 0.7

executable build-env

    import:
        common

    hs-source-dirs:
        app

    main-is:
        Main.hs

    ghc-options:
        -threaded

    build-depends:
        optparse-applicative
          >= 0.16 && < 0.18
      , build-env

    other-modules:
        BuildEnv.Options
      , BuildEnv.Parse