ghcide/ghcide.cabal
Luke Lau ce39ec43c4
Obtain the GHC libdir at runtime (#696)
* Update to hie-bios 0.6.1

* Obtain the GHC libdir at runtime using hie-bios

This replaces hardcoding the GHC libdir path with ghc-paths and instead
gets it at runtime through the hie-bios cradle. This means that the
ghcide binary should be a bit more distributable now, since it won't
rely on paths baked at compile time that are local to the machine it was
compiled on. And we also no longer need the ghcLibCheck since we are
comparing the coompiled and runtime versions with the installationCheck
(ghcVersionChecker)

Co-authored-by: Fendor <power.walross@gmail.com>
2020-07-20 11:07:23 +02:00

393 lines
10 KiB
Plaintext

cabal-version: 1.20
build-type: Simple
category: Development
name: ghcide
version: 0.2.0
license: Apache-2.0
license-file: LICENSE
author: Digital Asset
maintainer: Digital Asset
copyright: Digital Asset 2018-2020
synopsis: The core of an IDE
description:
A library for building Haskell IDE's on top of the GHC API.
homepage: https://github.com/digital-asset/ghcide#readme
bug-reports: https://github.com/digital-asset/ghcide/issues
tested-with: GHC==8.6.5
extra-source-files: include/ghc-api-version.h README.md CHANGELOG.md
test/data/hover/*.hs
test/data/multi/cabal.project
test/data/multi/hie.yaml
test/data/multi/a/a.cabal
test/data/multi/a/*.hs
test/data/multi/b/b.cabal
test/data/multi/b/*.hs
source-repository head
type: git
location: https://github.com/digital-asset/ghcide.git
flag ghc-lib
description: build against ghc-lib instead of the ghc package
default: False
manual: True
library
default-language: Haskell2010
build-depends:
aeson,
array,
async,
base == 4.*,
binary,
bytestring,
containers,
data-default,
deepseq,
directory,
extra,
fuzzy,
filepath,
haddock-library >= 1.8,
hashable,
haskell-lsp-types == 0.22.*,
haskell-lsp == 0.22.*,
mtl,
network-uri,
prettyprinter-ansi-terminal,
prettyprinter-ansi-terminal,
prettyprinter,
regex-tdfa >= 1.3.1.0,
rope-utf16-splay,
safe-exceptions,
shake >= 0.18.4,
sorted-list,
stm,
syb,
text,
time,
transformers,
unordered-containers >= 0.2.10.0,
utf8-string,
hslogger
if flag(ghc-lib)
build-depends:
ghc-lib >= 8.8,
ghc-lib-parser >= 8.8
cpp-options: -DGHC_LIB
else
build-depends:
ghc-boot-th,
ghc-boot,
ghc >= 8.4
if os(windows)
build-depends:
Win32
else
build-depends:
unix
c-sources:
cbits/getmodtime.c
default-extensions:
BangPatterns
DeriveFunctor
DeriveGeneric
GeneralizedNewtypeDeriving
LambdaCase
NamedFieldPuns
OverloadedStrings
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
ViewPatterns
hs-source-dirs:
src
include-dirs:
include
exposed-modules:
Development.IDE.Compat
Development.IDE.Core.Debouncer
Development.IDE.Core.FileStore
Development.IDE.Core.IdeConfiguration
Development.IDE.Core.OfInterest
Development.IDE.Core.PositionMapping
Development.IDE.Core.Rules
Development.IDE.Core.RuleTypes
Development.IDE.Core.Service
Development.IDE.Core.Shake
Development.IDE.GHC.Error
Development.IDE.GHC.Util
Development.IDE.Import.DependencyInformation
Development.IDE.LSP.HoverDefinition
Development.IDE.LSP.LanguageServer
Development.IDE.LSP.Outline
Development.IDE.LSP.Protocol
Development.IDE.LSP.Server
Development.IDE.Spans.Common
Development.IDE.Types.Diagnostics
Development.IDE.Types.Location
Development.IDE.Types.Logger
Development.IDE.Types.Options
Development.IDE.Plugin
Development.IDE.Plugin.Completions
Development.IDE.Plugin.CodeAction
other-modules:
Development.IDE.Core.Compile
Development.IDE.Core.Preprocessor
Development.IDE.Core.FileExists
Development.IDE.GHC.Compat
Development.IDE.GHC.CPP
Development.IDE.GHC.Orphans
Development.IDE.GHC.Warnings
Development.IDE.GHC.WithDynFlags
Development.IDE.Import.FindImports
Development.IDE.LSP.Notifications
Development.IDE.Spans.AtPoint
Development.IDE.Spans.Calculate
Development.IDE.Spans.Documentation
Development.IDE.Spans.Type
Development.IDE.Plugin.CodeAction.PositionIndexed
Development.IDE.Plugin.CodeAction.Rules
Development.IDE.Plugin.CodeAction.RuleTypes
Development.IDE.Plugin.Completions.Logic
Development.IDE.Plugin.Completions.Types
if (impl(ghc > 8.5) && impl(ghc < 8.7)) && !flag(ghc-lib)
hs-source-dirs: src-ghc86
other-modules:
Development.IDE.GHC.HieAst
Development.IDE.GHC.HieBin
Development.IDE.GHC.HieTypes
Development.IDE.GHC.HieDebug
Development.IDE.GHC.HieUtils
if (impl(ghc > 8.7) && impl(ghc < 8.10)) || flag(ghc-lib)
hs-source-dirs: src-ghc88
other-modules:
Development.IDE.GHC.HieAst
Development.IDE.GHC.HieBin
if (impl(ghc > 8.9))
hs-source-dirs: src-ghc810
other-modules:
Development.IDE.GHC.HieAst
Development.IDE.GHC.HieBin
ghc-options: -Wall -Wno-name-shadowing
executable ghcide-test-preprocessor
default-language: Haskell2010
hs-source-dirs: test/preprocessor
ghc-options: -Wall -Wno-name-shadowing
main-is: Main.hs
build-depends:
base == 4.*
benchmark benchHist
type: exitcode-stdio-1.0
default-language: Haskell2010
ghc-options: -Wall -Wno-name-shadowing -threaded
main-is: bench/hist/Main.hs
build-tool-depends:
ghcide:ghcide,
ghcide:ghcide-bench
default-extensions:
BangPatterns
DeriveFunctor
DeriveGeneric
GeneralizedNewtypeDeriving
LambdaCase
NamedFieldPuns
OverloadedStrings
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
ViewPatterns
build-depends:
aeson,
base == 4.*,
Chart,
Chart-diagrams,
diagrams,
diagrams-svg,
directory,
extra >= 1.7.2,
filepath,
shake,
text,
yaml
executable ghcide
if flag(ghc-lib)
buildable: False
default-language: Haskell2010
hs-source-dirs: exe
ghc-options:
-threaded
-Wall
-Wno-name-shadowing
-- allow user RTS overrides
-rtsopts
-- disable idle GC
-- disable parallel GC
-- increase nursery size
"-with-rtsopts=-I0 -qg -A128M"
main-is: Main.hs
build-depends:
time,
async,
hslogger,
aeson,
base == 4.*,
binary,
base16-bytestring >=0.1.1 && <0.2,
bytestring,
containers,
cryptohash-sha1 >=0.11.100 && <0.12,
data-default,
deepseq,
directory,
extra,
filepath,
ghc-check >= 0.5.0.1 && < 0.6,
ghc-paths,
ghc,
gitrev,
hashable,
haskell-lsp,
haskell-lsp-types,
hie-bios >= 0.6.0 && < 0.7,
ghcide,
optparse-applicative,
safe-exceptions,
shake,
text,
unordered-containers
other-modules:
Arguments
Paths_ghcide
default-extensions:
BangPatterns
DeriveFunctor
DeriveGeneric
GeneralizedNewtypeDeriving
LambdaCase
NamedFieldPuns
OverloadedStrings
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
ViewPatterns
test-suite ghcide-tests
if flag(ghc-lib)
buildable: False
type: exitcode-stdio-1.0
default-language: Haskell2010
build-tool-depends:
ghcide:ghcide,
ghcide:ghcide-test-preprocessor
build-depends:
aeson,
base,
bytestring,
containers,
directory,
extra,
filepath,
--------------------------------------------------------------
-- The MIN_GHC_API_VERSION macro relies on MIN_VERSION pragmas
-- which require depending on ghc. So the tests need to depend
-- on ghc if they need to use MIN_GHC_API_VERSION. Maybe a
-- better solution can be found, but this is a quick solution
-- which works for now.
ghc,
--------------------------------------------------------------
ghcide,
ghc-typelits-knownnat,
haddock-library,
haskell-lsp,
haskell-lsp-types,
network-uri,
lens,
lsp-test >= 0.11.0.1 && < 0.12,
optparse-applicative,
process,
QuickCheck,
quickcheck-instances,
rope-utf16-splay,
safe-exceptions,
shake,
tasty,
tasty-expected-failure,
tasty-hunit,
tasty-quickcheck,
tasty-rerun,
text
hs-source-dirs: test/cabal test/exe test/src bench/lib
include-dirs: include
ghc-options: -threaded -Wall -Wno-name-shadowing
main-is: Main.hs
other-modules:
Development.IDE.Test
Development.IDE.Test.Runfiles
Experiments
default-extensions:
BangPatterns
DeriveFunctor
DeriveGeneric
GeneralizedNewtypeDeriving
LambdaCase
NamedFieldPuns
OverloadedStrings
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
ViewPatterns
executable ghcide-bench
default-language: Haskell2010
build-tool-depends:
ghcide:ghcide
build-depends:
aeson,
base,
bytestring,
containers,
directory,
extra,
filepath,
ghcide,
lsp-test >= 0.11.0.2 && < 0.12,
optparse-applicative,
process,
safe-exceptions
hs-source-dirs: bench/lib bench/exe
include-dirs: include
ghc-options: -threaded -Wall -Wno-name-shadowing
main-is: Main.hs
other-modules:
Experiments
default-extensions:
BangPatterns
DeriveFunctor
DeriveGeneric
GeneralizedNewtypeDeriving
LambdaCase
NamedFieldPuns
OverloadedStrings
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
ViewPatterns