name: cabal-helper version: 0.8.0.0 synopsis: Simple interface to some of Cabal's configuration state, mainly used by ghc-mod description: Cabal's little helper provides access to build information gathered by @cabal@ when configuring a project. Specifically we're interested in retrieving enough information to bring up a compiler session, using the GHC API, which is similar to running @cabal repl@ in a project. . While simple in principle this is complicated by the fact that the information Cabal writes to disk is in an unstable format and only really accessible through the Cabal API itself. . Since we do not want to bind the user of a development tool which utilises this library to a specific version of Cabal we compile the code which interfaces with the Cabal library's API on the user's machine, at runtime, against whichever version of Cabal was used to write the on disk information for a given project. . If this version of Cabal is not available on the users machine anymore, which is fairly likely since cabal-install is usually linked statically, we have support for compiling the Cabal library also. In this case the library is installed into a private, isolated, package database in @$XDG_CACHE_DIR/cabal-helper@ so as to not interfere with the user's package database. license: AGPL-3 license-file: LICENSE license-files: LICENSE LICENSE.cabal-dependency-licenses author: Daniel Gröber maintainer: dxld@darkboxed.org category: Distribution build-type: Custom cabal-version: >=1.14 extra-source-files: README.md src/CabalHelper/Runtime/*.hs source-repository head type: git location: https://github.com/DanielG/cabal-helper.git custom-setup setup-depends: base , Cabal < 2.1 && >= 2.0 || < 1.25 && >= 1.14 , filepath < 1.5 , directory < 1.4 library default-language: Haskell2010 default-extensions: NondecreasingIndentation hs-source-dirs: lib, src exposed-modules: Distribution.Helper other-modules: CabalHelper.Shared.InterfaceTypes CabalHelper.Shared.Sandbox Paths_cabal_helper ghc-options: -Wall build-depends: base < 5 && >= 4.5 if os(windows) build-depends: base >= 4.7 build-depends: Cabal < 2.1 && >= 2.0 || < 1.26 && >= 1.14 , directory < 1.4 && >= 1.1.0.2 , filepath < 1.5 && >= 1.3.0.0 , transformers < 0.6 && >= 0.3.0.0 , mtl < 2.3 && >= 2.0 , process < 1.7 && >= 1.1.0.1 if !os(windows) build-depends: unix < 2.8 && >= 2.5.1.1 build-depends: unix-compat < 0.5 && >= 0.4.3.1 , semigroupoids < 5.3 && >= 5.2 , ghc-prim -- [Note ghc-prim] -- Exports GHC.Generics in GHC-7.4 executable cabal-helper-wrapper default-language: Haskell2010 default-extensions: NondecreasingIndentation other-extensions: TemplateHaskell main-is: CabalHelper/Compiletime/Wrapper.hs hs-source-dirs: src other-modules: CabalHelper.Compiletime.Compat.Environment CabalHelper.Compiletime.Compat.Version CabalHelper.Compiletime.Compile CabalHelper.Compiletime.Data CabalHelper.Compiletime.GuessGhc CabalHelper.Compiletime.Log CabalHelper.Compiletime.Types CabalHelper.Shared.Common CabalHelper.Shared.InterfaceTypes CabalHelper.Shared.Sandbox Paths_cabal_helper if flag(dev) ghc-options: -Wall scope: private x-scope: private -- Remember to copy to compile-test! build-depends: base < 5 && >= 4.5 if os(windows) build-depends: base >= 4.7 build-depends: Cabal < 2.1 && >= 2.0 || < 1.26 && >= 1.14 , bytestring < 0.11 && >= 0.9.2.1 , directory < 1.4 && >= 1.1.0.2 , exceptions < 0.9 && >= 0.8.3 , filepath < 1.5 && >= 1.3.0.0 , mtl < 2.3 && >= 2.0 , process < 1.7 && >= 1.1.0.1 , template-haskell < 2.13 && >= 2.7.0.0 , temporary < 1.3 && >= 1.2.0.4 , transformers < 0.6 && >= 0.3.0.0 if !os(windows) build-depends: unix < 2.8 && >= 2.5.1.1 build-depends: unix-compat < 0.5 && >= 0.4.3.1 , utf8-string < 1.1 && >= 1.0.1.1 , ghc-prim test-suite compile-test default-language: Haskell2010 default-extensions: NondecreasingIndentation type: exitcode-stdio-1.0 main-is: CompileTest.hs hs-source-dirs: tests, src other-modules: CabalHelper.Compiletime.Compat.Environment CabalHelper.Compiletime.Compat.Version CabalHelper.Compiletime.Compile CabalHelper.Compiletime.Data CabalHelper.Compiletime.Log CabalHelper.Compiletime.Types CabalHelper.Shared.Common CabalHelper.Shared.Sandbox Paths_cabal_helper ghc-options: -Wall build-tools: cabal -- Same as cabal-helper-wrapper build-depends: base < 5 && >= 4.5 if os(windows) build-depends: base >= 4.7 build-depends: Cabal < 2.1 && >= 2.0 || < 1.26 && >= 1.14 , bytestring < 0.11 && >= 0.9.2.1 , directory < 1.4 && >= 1.1.0.2 , exceptions < 0.9 && >= 0.8.3 , filepath < 1.5 && >= 1.3.0.0 , mtl < 2.3 && >= 2.0 , process < 1.7 && >= 1.1.0.1 , template-haskell < 2.13 && >= 2.7.0.0 , temporary < 1.3 && >= 1.2.0.4 , transformers < 0.6 && >= 0.3.0.0 if !os(windows) build-depends: unix < 2.8 && >= 2.5.1.1 build-depends: unix-compat < 0.5 && >= 0.4.3.1 , utf8-string < 1.1 && >= 1.0.1.1 , ghc-prim executable cabal-helper-main default-language: Haskell2010 default-extensions: NondecreasingIndentation if flag(dev) buildable: True else buildable: False main-is: CabalHelper/Runtime/Main.hs hs-source-dirs: src other-modules: CabalHelper.Runtime.Licenses CabalHelper.Shared.Common CabalHelper.Shared.InterfaceTypes CabalHelper.Shared.Sandbox ghc-options: -Wall -fno-warn-unused-imports build-depends: base , Cabal , containers , bytestring , filepath , directory , ghc-prim flag dev description: Build development components default: False manual: True