From f38daf67730fe31b865528eb972c619857e62a5c Mon Sep 17 00:00:00 2001 From: alexwl Date: Mon, 8 Oct 2018 02:40:18 +0300 Subject: Update cabal-helper to version 0.8.1.2 that supports Cabal (>=1.14 && <1.26 || >=2.0 && <2.5) Building cabal-helper-0.8.1.2 with Stack failed with 'Dependency cycle detected' error. It seems to be https://github.com/commercialhaskell/stack/issues/4265 Stack bug. As a temporary solution I added source code of cabal-helper package to vendor directory and commented out 'build-tool-depends: cabal-helper:cabal-helper-wrapper' line in the cabal-helper.cabal file. --- vendor/cabal-helper-0.8.1.2/cabal-helper.cabal | 291 +++++++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 vendor/cabal-helper-0.8.1.2/cabal-helper.cabal (limited to 'vendor/cabal-helper-0.8.1.2/cabal-helper.cabal') diff --git a/vendor/cabal-helper-0.8.1.2/cabal-helper.cabal b/vendor/cabal-helper-0.8.1.2/cabal-helper.cabal new file mode 100644 index 0000000..18d5066 --- /dev/null +++ b/vendor/cabal-helper-0.8.1.2/cabal-helper.cabal @@ -0,0 +1,291 @@ +name: cabal-helper +version: 0.8.1.2 +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_HOME/cabal-helper@ so as to not interfere with the user's + package database. +license: GPL-3 +license-file: LICENSE +author: Daniel Gröber +maintainer: cabal-helper@dxld.at +category: Distribution +build-type: Custom +cabal-version: 2.0 +extra-source-files: README.md + src/CabalHelper/Runtime/*.hs + + tests/*.hs + + tests/exelib/*.hs + tests/exelib/*.cabal + tests/exelib/lib/*.hs + + tests/exeintlib/*.hs + tests/exeintlib/*.cabal + tests/exeintlib/lib/*.hs + tests/exeintlib/intlib/*.hs + + tests/fliblib/*.hs + tests/fliblib/*.cabal + tests/fliblib/lib/*.hs + + tests/bkpregex/*.cabal + tests/bkpregex/*.hs + tests/bkpregex/regex-example/*.hs + tests/bkpregex/regex-indef/*.hs + tests/bkpregex/regex-indef/*.hsig + tests/bkpregex/regex-types/Regex/*.hs + tests/bkpregex/str-impls/Str/*.hs + +source-repository head + type: git + location: https://github.com/DanielG/cabal-helper.git + +flag dev + description: Build development components + default: False + manual: True + +custom-setup + setup-depends: base + , Cabal < 3 && >= 2.0.0.0 + +-- [Note test dependencies] Vaious tests need access to modules used in other +-- components, unfortunately we can't use Cabal 2.0's new internal libraries for +-- this because we'd like to support ancient Cabal versions. Instead we just +-- copy 'hs-source-dirs', 'build-depends' and 'other-modules' fields as +-- appropriate. +-- +-- The following awk command will copy paragraphs starting with: +-- -- Common some-name +-- to following paragraphs starting with: +-- -- Instantiate common some-name +-- +-- $ gawk -i inplace -f scripts/update-cabal-common-section-instantiations.awk cabal-helper.cabal +-- +-- FIXME: We can use Cabal 2.0 features now, yey! + +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 + autogen-modules: Paths_cabal_helper + + ghc-options: -Wall + + -- well actually this is a "runtime"-tool-depends :) + -- build-tool-depends: cabal-helper:cabal-helper-wrapper + + build-depends: base < 5 && >= 4.7 + build-depends: Cabal < 2.5 && >= 2.0 || < 1.26 && >= 1.14 + , cabal-plan < 0.5 && >= 0.3.0.0 + , containers < 1 && >= 0.5.5.1 + , directory < 1.4 && >= 1.2.1.0 + , 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.6 && >= 0.4.3.1 + , semigroupoids < 5.3 && >= 5.2 + + + +executable cabal-helper-wrapper + main-is: CabalHelper/Compiletime/Wrapper.hs + if flag(dev) + ghc-options: -Wall + scope: private + + -- Common c-h-wrapper-fields -- See [Note test dependencies] + default-language: Haskell2010 + default-extensions: NondecreasingIndentation + other-extensions: TemplateHaskell + hs-source-dirs: src + other-modules: + CabalHelper.Compiletime.Compat.Environment + CabalHelper.Compiletime.Compat.ProgramDb + CabalHelper.Compiletime.Compat.Version + CabalHelper.Compiletime.Compile + CabalHelper.Compiletime.Data + CabalHelper.Compiletime.Log + CabalHelper.Compiletime.Types + CabalHelper.Shared.Common + CabalHelper.Shared.InterfaceTypes + CabalHelper.Shared.Sandbox + Paths_cabal_helper + build-tool-depends: cabal-install:cabal + build-depends: base < 5 && >= 4.7 + if os(windows) + build-depends: base >= 4.7 + build-depends: Cabal < 2.5 && >= 2.0 || < 1.26 && >= 1.14 + , cabal-plan < 0.5 && >= 0.3.0.0 + , containers < 1 && >= 0.5.5.1 + , bytestring < 0.11 && >= 0.9.2.1 + , directory < 1.4 && >= 1.2.1.0 + , filepath < 1.5 && >= 1.3.0.0 + , mtl < 2.3 && >= 2.0 + , process < 1.7 && >= 1.1.0.1 + , pretty-show < 1.9 && >= 1.8.1 + , text < 1.3 && >= 1.0.0.0 + , template-haskell < 2.14 && >= 2.7.0.0 + , temporary < 1.3 && >= 1.2.1 + , transformers < 0.6 && >= 0.3.0.0 + if !os(windows) + build-depends: unix < 2.8 && >= 2.5.1.1 + build-depends: unix-compat < 0.6 && >= 0.4.3.1 + , utf8-string < 1.1 && >= 1.0.1.1 + build-tools: cabal + + +test-suite compile-test + type: exitcode-stdio-1.0 + main-is: CompileTest.hs + hs-source-dirs: tests + ghc-options: -Wall + build-tools: cabal + + -- Instantiate common c-h-wrapper-fields -- See [Note test dependencies] + default-language: Haskell2010 + default-extensions: NondecreasingIndentation + other-extensions: TemplateHaskell + hs-source-dirs: src + other-modules: + CabalHelper.Compiletime.Compat.Environment + CabalHelper.Compiletime.Compat.ProgramDb + CabalHelper.Compiletime.Compat.Version + CabalHelper.Compiletime.Compile + CabalHelper.Compiletime.Data + CabalHelper.Compiletime.Log + CabalHelper.Compiletime.Types + CabalHelper.Shared.Common + CabalHelper.Shared.InterfaceTypes + CabalHelper.Shared.Sandbox + Paths_cabal_helper + build-tool-depends: cabal-install:cabal + build-depends: base < 5 && >= 4.7 + if os(windows) + build-depends: base >= 4.7 + build-depends: Cabal < 2.5 && >= 2.0 || < 1.26 && >= 1.14 + , cabal-plan < 0.5 && >= 0.3.0.0 + , containers < 1 && >= 0.5.5.1 + , bytestring < 0.11 && >= 0.9.2.1 + , directory < 1.4 && >= 1.2.1.0 + , filepath < 1.5 && >= 1.3.0.0 + , mtl < 2.3 && >= 2.0 + , process < 1.7 && >= 1.1.0.1 + , pretty-show < 1.9 && >= 1.8.1 + , text < 1.3 && >= 1.0.0.0 + , template-haskell < 2.14 && >= 2.7.0.0 + , temporary < 1.3 && >= 1.2.1 + , transformers < 0.6 && >= 0.3.0.0 + if !os(windows) + build-depends: unix < 2.8 && >= 2.5.1.1 + build-depends: unix-compat < 0.6 && >= 0.4.3.1 + , utf8-string < 1.1 && >= 1.0.1.1 + build-tools: cabal + + +test-suite ghc-session + type: exitcode-stdio-1.0 + main-is: GhcSession.hs + hs-source-dirs: tests + ghc-options: -Wall + build-depends: base < 5 && >= 4.7 + , ghc < 8.5 && >= 7.8 + , ghc-paths < 0.2 && >= 0.1.0.9 + , cabal-helper + + -- Instantiate common c-h-wrapper-fields -- See [Note test dependencies] + default-language: Haskell2010 + default-extensions: NondecreasingIndentation + other-extensions: TemplateHaskell + hs-source-dirs: src + other-modules: + CabalHelper.Compiletime.Compat.Environment + CabalHelper.Compiletime.Compat.ProgramDb + CabalHelper.Compiletime.Compat.Version + CabalHelper.Compiletime.Compile + CabalHelper.Compiletime.Data + CabalHelper.Compiletime.Log + CabalHelper.Compiletime.Types + CabalHelper.Shared.Common + CabalHelper.Shared.InterfaceTypes + CabalHelper.Shared.Sandbox + Paths_cabal_helper + build-tool-depends: cabal-install:cabal + build-depends: base < 5 && >= 4.7 + if os(windows) + build-depends: base >= 4.7 + build-depends: Cabal < 2.5 && >= 2.0 || < 1.26 && >= 1.14 + , cabal-plan < 0.5 && >= 0.3.0.0 + , containers < 1 && >= 0.5.5.1 + , bytestring < 0.11 && >= 0.9.2.1 + , directory < 1.4 && >= 1.2.1.0 + , filepath < 1.5 && >= 1.3.0.0 + , mtl < 2.3 && >= 2.0 + , process < 1.7 && >= 1.1.0.1 + , pretty-show < 1.9 && >= 1.8.1 + , text < 1.3 && >= 1.0.0.0 + , template-haskell < 2.14 && >= 2.7.0.0 + , temporary < 1.3 && >= 1.2.1 + , transformers < 0.6 && >= 0.3.0.0 + if !os(windows) + build-depends: unix < 2.8 && >= 2.5.1.1 + build-depends: unix-compat < 0.6 && >= 0.4.3.1 + , utf8-string < 1.1 && >= 1.0.1.1 + build-tools: cabal + + +executable cabal-helper-main + default-language: Haskell2010 + default-extensions: NondecreasingIndentation + main-is: CabalHelper/Runtime/Main.hs + hs-source-dirs: src + other-modules: + CabalHelper.Shared.Common + CabalHelper.Shared.InterfaceTypes + CabalHelper.Shared.Sandbox + + -- This component is usually built at runtime by cabal-helper-wrapper but + -- during development it's convinient to build it via cabal + if flag(dev) + buildable: True + else + buildable: False + + -- Common c-h-main-fields -- See [Note test dependencies] + ghc-options: -Wall -fno-warn-unused-imports + build-depends: base < 5 && >= 4.7 + , Cabal + , containers + , bytestring + , filepath + , directory + , ghc-prim -- cgit v1.2.3