google / google/haskell-indexer

Warts when (re)indexing packages with Stack.

Open
#45 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
103
Forks
19
PR merge metrics
No merged PRs in 30d

Description

...contrary to `ghc-pkg unregister`. Spotted by @MaskRay:

Sometimes stack will copy precompiled packages instead of rebuilding (connfigure/build/copy/register), therefore ghc_kythe_wrapper is not invoked.

```
% ./build-stack.sh /tmp/logs mtl
unregistering would break the following packages: proto-lens-combinators-0.1.0.7 proto-lens-protoc-0.2.1.0 proto-lens-descriptors-0.2.1.0 proto-lens-0.2.1.0 conduit-1.2.11 resourcet-1.1.9 parsec-3.1.11 lens-family-1.2.1 mmorph-1.0.9 kan-extensions-5.0.2 adjunctions-4.3 free-4.12.4 exceptions-0.8.3 haskell-indexer-pipeline-ghckythe-0.1.0.0 haskell-indexer-frontend-kythe-0.1.0.0 kythe-schema-0.1.0.0 kythe-proto-0.1.0.0 haskell-indexer-backend-ghc-0.1.0.0 (ignoring)
mtl-2.2.1: using precompiled package
# After deleting ~/.stack/precompiled/x86_64-linux{,-tinfo6}/ghc-8.0.2/1.24.2.0/mtl-2.2.1/*
% ./build-stack.sh /tmp/'logs' mtl
unregistering would break the following packages: proto-lens-combinators-0.1.0.7 proto-lens-protoc-0.2.1.0 proto-lens-descriptors-0.2.1.0 proto-lens-0.2.1.0 conduit-1.2.11 resourcet-1.1.9 parsec-3.1.11 lens-family-1.2.1 mmorph-1.0.9 kan-extensions-5.0.2 adjunctions-4.3 free-4.12.4 exceptions-0.8.3 haskell-indexer-pipeline-ghckythe-0.1.0.0 haskell-indexer-frontend-kythe-0.1.0.0 kythe-schema-0.1.0.0 kythe-proto-0.1.0.0 haskell-indexer-backend-ghc-0.1.0.0 (ignoring)
mtl-2.2.1: configure
mtl-2.2.1: build
mtl-2.2.1: copy/register
# Though ~/.stack/precompiled/x86_64-linux/ghc-8.0.2/1.24.2.0/mtl-2.2.1/ has been regenerated, further `./build-stack.sh /tmp/logs mtl` does not reuse precompiled one, weird.
```

https://github.com/commercialhaskell/stack/blob/master/src/Stack/Build/Execute.hs#L1141

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.