Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .github/actions/setup-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,15 @@ runs:
fi
shell: bash

- name: Disable -dynamic
run: |
echo -e "package haskell-language-server\n flags: -dynamic" >> cabal.project.local
shell: bash

- if: inputs.os == 'Windows' && inputs.ghc == '8.8.4'
name: (Windows,GHC 8.8) Modify `cabal.project` to workaround segfaults
run: |
echo -e 'package floskell\n ghc-options: -O0' >> cabal.project.local
echo -e 'package floskell\n ghc-options: -O0' >> cabal.project.local
shell: bash

# Shorten binary names as a workaround for filepath length limits in Windows,
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,11 +48,6 @@ jobs:
echo "tests: false" >> cabal.project.local
echo "benchmarks: false" >> cabal.project.local

- name: Disable -dynamic
run: |
echo "package haskell-language-server" >> cabal.project.local
echo " flags: -dynamic" >> cabal.project.local

- uses: ./.github/actions/setup-build
with:
ghc: ${{ matrix.ghc }}
Expand Down
11 changes: 11 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Changelog for haskell-language-server

## 1.6.1.1 (*only hackage release*)

- Release to update haskell-language-server.cabal in hackage, setting the build for the executable component as dynamically linked
- The motivation is build by default a hls executable which works for Template Haskell
- This doesn't need a full release cause it does not affect release executables which continue being fully static

### Pull requests merged for 1.6.1.1

- Add the -dynamic flag and update build instructions
([#2668](https://github.com/haskell/haskell-language-server/pull/2668)) by @pepeiborra

## 1.6.1.0

This is a bug fix release to restore a fully statically linked haskell-language-server-wrapper executable.
Expand Down
6 changes: 3 additions & 3 deletions docs/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,19 +168,19 @@ Dynamically linked binaries (including`ghci`) use the system linker instead of t
The easiest way to obtain a dynamically linked HLS binary is to build HLS locally. With `cabal` this can be done as follows:

```bash
cabal update && cabal install pkg:haskell-language-server"
cabal update && cabal install pkg:haskell-language-server
```

If you are compiling with a ghc version with a specific `cabal-ghc${ghcVersion}.project` in the repo you will have to use it. For example for ghc-9.0.x:

```bash
cabal update && cabal install pkg:haskell-language-server --project-file=cabal-ghc90.project"
cabal update && cabal install pkg:haskell-language-server --project-file=cabal-ghc90.project
```

Or with `stack`:

```bash
stack install haskell-language-server --stack-yaml=stack-${ghcVersion}.yaml"
stack install haskell-language-server --stack-yaml=stack-${ghcVersion}.yaml
```

You also can leverage `ghcup compile hls`:
Expand Down
2 changes: 1 addition & 1 deletion haskell-language-server.cabal
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
cabal-version: 2.4
category: Development
name: haskell-language-server
version: 1.6.1.0
version: 1.6.1.1
synopsis: LSP server for GHC
description:
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>
Expand Down