Skip to content

Commit 024ddc8

Browse files
mergify[bot]jneira
andauthored
Prepare 1.6.1.1 (only hackage release) (backport #2681) (#2684)
* Prepare 1.6.1.1 (only hackage release) (#2681) * Disable -dynamic for all workflows * Remove quotes * Bump version to 1.6.1.1 * Update changelog for 1.6.1.1 * Correct flag set * add comment to ci step * Restore header and link (cherry picked from commit 9d75cc5) # Conflicts: # ChangeLog.md * Fix merge conflict Co-authored-by: Javier Neira <atreyu.bbb@gmail.com>
1 parent 726b53f commit 024ddc8

File tree

5 files changed

+48
-12
lines changed

5 files changed

+48
-12
lines changed

.github/actions/setup-build/action.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,19 @@ runs:
6363
fi
6464
shell: bash
6565

66+
# The default build for haskell-language-server executable is dynamic for linux and macOS
67+
# to get a executable which works for Template Haskell
68+
# However we continue providing full static executables in releases so we have to disable it
69+
# *for all workflows*, including test, flags and release builds
70+
- name: Disable -dynamic
71+
run: |
72+
echo -e "package haskell-language-server\n flags: -dynamic" >> cabal.project.local
73+
shell: bash
74+
6675
- if: inputs.os == 'Windows' && inputs.ghc == '8.8.4'
6776
name: (Windows,GHC 8.8) Modify `cabal.project` to workaround segfaults
6877
run: |
69-
echo -e 'package floskell\n ghc-options: -O0' >> cabal.project.local
78+
echo -e 'package floskell\n ghc-options: -O0' >> cabal.project.local
7079
shell: bash
7180

7281
# Shorten binary names as a workaround for filepath length limits in Windows,

.github/workflows/build.yml

-5
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,6 @@ jobs:
4848
echo "tests: false" >> cabal.project.local
4949
echo "benchmarks: false" >> cabal.project.local
5050
51-
- name: Disable -dynamic
52-
run: |
53-
echo "package haskell-language-server" >> cabal.project.local
54-
echo " flags: -dynamic" >> cabal.project.local
55-
5651
- uses: ./.github/actions/setup-build
5752
with:
5853
ghc: ${{ matrix.ghc }}

ChangeLog.md

+32
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,37 @@
11
# Changelog for haskell-language-server
22

3+
## 1.6.1.1 (*only hackage release*)
4+
5+
- Release to update haskell-language-server.cabal in hackage, setting the build for the executable component as dynamically linked
6+
- The motivation is build by default a hls executable which works for Template Haskell
7+
- This doesn't need a full release cause it does not affect release executables which continue being fully static
8+
9+
### Pull requests merged for 1.6.1.1
10+
11+
- Prepare 1.6.1.1 (only hackage release)
12+
([#2681](https://github.com/haskell/haskell-language-server/pull/2681)) by @jneira
13+
- Add the -dynamic flag and update build instructions
14+
([#2668](https://github.com/haskell/haskell-language-server/pull/2668)) by @pepeiborra
15+
16+
## 1.6.1.0
17+
18+
This is a bug fix release to restore a fully statically linked haskell-language-server-wrapper executable.
19+
20+
- It has been reported [here](https://github.com/haskell/haskell-language-server/issues/2650)
21+
- Thanks all reporters for the fast feedback
22+
- The bug has been traced [here](https://github.com/haskell/haskell-language-server/pull/2615#discussion_r795059782)
23+
- And the fix is in [this pr](https://github.com/haskell/haskell-language-server/pull/2647)
24+
25+
### Pull requests merged for 1.6.1.0
26+
27+
- Post 1.6.0.0 fixes and prepare 1.6.1.0 bug fix release
28+
([#2647](https://github.com/haskell/haskell-language-server/pull/2647)) by @jneira
29+
- Move hackage back to flake.nix
30+
([#2652](https://github.com/haskell/haskell-language-server/pull/2652)) by @guibou
31+
- Wingman: Fix #1879
32+
([#2644](https://github.com/haskell/haskell-language-server/pull/2644)) by @MorrowM
33+
34+
335
## 1.6.0.0
436

537
Time for a new and exciting hls release:

docs/troubleshooting.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -160,27 +160,27 @@ The server log will show which cradle is being chosen.
160160

161161
Using an explicit `hie.yaml` to configure the cradle can resolve the problem, see the [configuration page](./configuration.md#configuring-your-project-build).
162162

163-
### Static binaries and template haskell support
163+
### Static binaries
164164

165-
Static binaries use the GHC linker for dynamically loading dependencies when typechecking TH code, and this can run into issues when loading shared objects linked against mismatching system libraries, or into GHC linker bugs (mainly the Mach linker used in Mac OS, but also potentially the ELF linker).
165+
Static binaries use the GHC linker for dynamically loading dependencies when typechecking Template Haskell code, and this can run into issues when loading shared objects linked against mismatching system libraries, or into GHC linker bugs (mainly the Mach linker used in Mac OS, but also potentially the ELF linker).
166166
Dynamically linked binaries (including`ghci`) use the system linker instead of the GHC linker and avoid both issues.
167167

168168
The easiest way to obtain a dynamically linked HLS binary is to build HLS locally. With `cabal` this can be done as follows:
169169

170170
```bash
171-
cabal update && cabal install pkg:haskell-language-server"
171+
cabal update && cabal install pkg:haskell-language-server
172172
```
173173

174174
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:
175175

176176
```bash
177-
cabal update && cabal install pkg:haskell-language-server --project-file=cabal-ghc90.project"
177+
cabal update && cabal install pkg:haskell-language-server --project-file=cabal-ghc90.project
178178
```
179179

180180
Or with `stack`:
181181

182182
```bash
183-
stack install haskell-language-server --stack-yaml=stack-${ghcVersion}.yaml"
183+
stack install haskell-language-server --stack-yaml=stack-${ghcVersion}.yaml
184184
```
185185

186186
You also can leverage `ghcup compile hls`:

haskell-language-server.cabal

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.4
22
category: Development
33
name: haskell-language-server
4-
version: 1.6.1.0
4+
version: 1.6.1.1
55
synopsis: LSP server for GHC
66
description:
77
Please see the README on GitHub at <https://github.com/haskell/haskell-language-server#readme>

0 commit comments

Comments
 (0)