Skip to content

Commit 851daef

Browse files
authored
Merge branch 'master' into cabal-plugin-outline-view
2 parents 000dcbe + ce486f7 commit 851daef

File tree

72 files changed

+942
-618
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+942
-618
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ runs:
3131
sudo chown -R $USER /usr/local/.ghcup
3232
shell: bash
3333

34-
- uses: haskell-actions/[email protected].3
34+
- uses: haskell-actions/[email protected].5
3535
id: HaskEnvSetup
3636
with:
3737
ghc-version : ${{ inputs.ghc }}

.github/workflows/release.yaml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
strategy:
3131
fail-fast: false
3232
matrix:
33-
ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8"]
33+
ghc: ["9.10.1", "9.8.2", "9.6.6", "9.4.8"]
3434
platform: [ { image: "debian:9"
3535
, installCmd: "sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list && sed -i 's|security.debian.org|archive.debian.org/|g' /etc/apt/sources.list && sed -i /-updates/d /etc/apt/sources.list && apt-get update && apt-get install -y"
3636
, toolRequirements: "libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
@@ -102,7 +102,7 @@ jobs:
102102
, ADD_CABAL_ARGS: "--enable-split-sections"
103103
},
104104
{ image: "centos:7"
105-
, installCmd: "yum -y install epel-release && yum install -y"
105+
, installCmd: "sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && yum -y install epel-release && yum install -y"
106106
, toolRequirements: "autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
107107
, DISTRO: "CentOS"
108108
, ARTIFACT: "x86_64-linux-centos7"
@@ -127,7 +127,7 @@ jobs:
127127
, ARTIFACT: "x86_64-linux-unknown"
128128
, ADD_CABAL_ARGS: "--enable-split-sections"
129129
}
130-
- ghc: 9.6.5
130+
- ghc: 9.6.6
131131
platform:
132132
{ image: "rockylinux:8"
133133
, installCmd: "yum -y install epel-release && yum install -y --allowerasing"
@@ -213,7 +213,7 @@ jobs:
213213
strategy:
214214
fail-fast: true
215215
matrix:
216-
ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8"]
216+
ghc: ["9.10.1", "9.8.2", "9.6.6", "9.4.8"]
217217
steps:
218218
- uses: docker://arm64v8/ubuntu:focal
219219
name: Cleanup (aarch64 linux)
@@ -259,7 +259,7 @@ jobs:
259259
## The environments can be seen in https://github.com/haskell/haskell-language-server/settings/environments
260260
## assuming you have the proper permissions.
261261
environment: CI
262-
runs-on: macOS-11
262+
runs-on: macOS-12
263263
env:
264264
MACOSX_DEPLOYMENT_TARGET: 10.13
265265
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -273,7 +273,7 @@ jobs:
273273
strategy:
274274
fail-fast: false
275275
matrix:
276-
ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8"]
276+
ghc: ["9.10.1", "9.8.2", "9.6.6", "9.4.8"]
277277
steps:
278278
- name: Checkout code
279279
uses: actions/checkout@v3
@@ -318,7 +318,7 @@ jobs:
318318
strategy:
319319
fail-fast: false
320320
matrix:
321-
ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8"]
321+
ghc: ["9.10.1", "9.8.2", "9.6.6", "9.4.8"]
322322
steps:
323323
- name: Checkout code
324324
uses: actions/checkout@v3
@@ -363,7 +363,7 @@ jobs:
363363
strategy:
364364
fail-fast: false
365365
matrix:
366-
ghc: ["9.10.1", "9.8.2", "9.6.5", "9.4.8"]
366+
ghc: ["9.10.1", "9.8.2", "9.6.6", "9.4.8"]
367367
steps:
368368
- name: install windows deps
369369
shell: pwsh
@@ -450,7 +450,7 @@ jobs:
450450
DISTRO: Fedora
451451
ARTIFACT: "x86_64-linux-fedora33"
452452
- image: centos:7
453-
installCmd: yum -y install epel-release && yum install -y
453+
installCmd: sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && yum -y install epel-release && yum install -y
454454
toolRequirements: autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf tree
455455
DISTRO: CentOS
456456
ARTIFACT: "x86_64-linux-centos7"
@@ -567,7 +567,7 @@ jobs:
567567

568568
bindist-mac-x86_64:
569569
name: Tar bindists (Mac x86_64)
570-
runs-on: macOS-11
570+
runs-on: macOS-12
571571
needs: ["build-mac-x86_64"]
572572
env:
573573
TARBALL_EXT: tar.xz
@@ -745,7 +745,7 @@ jobs:
745745
DISTRO: Fedora
746746
ARTIFACT: "x86_64-linux-fedora33"
747747
- image: centos:7
748-
installCmd: yum -y install epel-release && yum install -y
748+
installCmd: sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && yum -y install epel-release && yum install -y
749749
toolRequirements: autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf tree
750750
DISTRO: CentOS
751751
ARTIFACT: "x86_64-linux-centos7"
@@ -828,7 +828,7 @@ jobs:
828828

829829
test-mac-x86_64:
830830
name: Test binary (Mac x86_64)
831-
runs-on: macOS-11
831+
runs-on: macOS-12
832832
needs: ["bindist-mac-x86_64"]
833833
env:
834834
MACOSX_DEPLOYMENT_TARGET: 10.13

ChangeLog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog for haskell-language-server
22

3+
## 2.9.0.1
4+
5+
- Bindists for GHC 9.6.6
6+
37
## 2.9.0.0
48

59
- Bindists for GHC 9.10.1 by @wz1000, @jhrcek, @michaelpj

cabal.project

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ packages:
77
./hls-plugin-api
88
./hls-test-utils
99

10-
index-state: 2024-07-20T00:00:00Z
10+
index-state: 2024-06-29T00:00:00Z
1111

1212
tests: True
1313
test-show-details: direct

docs/support/ghc-version-support.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ Support status (see the support policy below for more details):
2020
| 9.10.1 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support |
2121
| 9.8.2 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support |
2222
| 9.8.1 | [2.6.0.0](https://github.com/haskell/haskell-language-server/releases/tag/2.6.0.0) | full support |
23-
| 9.6.5 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support |
23+
| 9.6.6 | [latest](https://github.com/haskell/haskell-language-server/releases/latest) | full support |
24+
| 9.6.5 | [2.9.0.1](https://github.com/haskell/haskell-language-server/releases/tag/2.9.0.1) | full support |
2425
| 9.6.4 | [2.6.0.0](https://github.com/haskell/haskell-language-server/releases/tag/2.6.0.0) | full support |
2526
| 9.6.3 | [2.5.0.0](https://github.com/haskell/haskell-language-server/releases/tag/2.5.0.0) | full support |
2627
| 9.6.2 | [2.2.0.0](https://github.com/haskell/haskell-language-server/releases/tag/2.2.0.0) | deprecated |

ghcide/ghcide.cabal

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cabal-version: 3.4
22
build-type: Simple
33
category: Development
44
name: ghcide
5-
version: 2.9.0.0
5+
version: 2.9.0.1
66
license: Apache-2.0
77
license-file: LICENSE
88
author: Digital Asset and Ghcide contributors
@@ -81,8 +81,8 @@ library
8181
, hie-bios ^>=0.14.0
8282
, hie-compat ^>=0.3.0.0
8383
, hiedb ^>= 0.6.0.0
84-
, hls-graph == 2.9.0.0
85-
, hls-plugin-api == 2.9.0.0
84+
, hls-graph == 2.9.0.1
85+
, hls-plugin-api == 2.9.0.1
8686
, implicit-hie >= 0.1.4.0 && < 0.1.5
8787
, lens
8888
, list-t

ghcide/session-loader/Development/IDE/Session.hs

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,17 @@ import Data.Foldable (for_)
100100
import Data.HashMap.Strict (HashMap)
101101
import Data.HashSet (HashSet)
102102
import qualified Data.HashSet as Set
103+
import qualified Data.Set as OS
103104
import Database.SQLite.Simple
104105
import Development.IDE.Core.Tracing (withTrace)
105106
import Development.IDE.Core.WorkerThread (awaitRunInThread,
106107
withWorkerQueue)
108+
import qualified Development.IDE.GHC.Compat.Util as Compat
107109
import Development.IDE.Session.Diagnostics (renderCradleError)
108110
import Development.IDE.Types.Shake (WithHieDb,
109111
WithHieDbShield (..),
110112
toNoFileKey)
113+
import GHC.Data.Graph.Directed
111114
import HieDb.Create
112115
import HieDb.Types
113116
import HieDb.Utils
@@ -116,13 +119,6 @@ import qualified System.Random as Random
116119
import System.Random (RandomGen)
117120
import Text.ParserCombinators.ReadP (readP_to_S)
118121

119-
120-
-- See Note [Guidelines For Using CPP In GHCIDE Import Statements]
121-
122-
import qualified Data.Set as OS
123-
import qualified Development.IDE.GHC.Compat.Util as Compat
124-
import GHC.Data.Graph.Directed
125-
126122
import GHC.Data.Bag
127123
import GHC.Driver.Env (hsc_all_home_unit_ids)
128124
import GHC.Driver.Errors.Types
@@ -527,22 +523,17 @@ loadSessionWithOptions recorder SessionLoadingOptions{..} rootDir que = do
527523
_inplace = map rawComponentUnitId $ NE.toList all_deps
528524

529525
all_deps' <- forM all_deps $ \RawComponentInfo{..} -> do
530-
-- Remove all inplace dependencies from package flags for
531-
-- components in this HscEnv
532-
let (df2, uids) = (rawComponentDynFlags, [])
533526
let prefix = show rawComponentUnitId
534527
-- See Note [Avoiding bad interface files]
535-
let hscComponents = sort $ map show uids
536-
cacheDirOpts = hscComponents ++ componentOptions opts
528+
let cacheDirOpts = componentOptions opts
537529
cacheDirs <- liftIO $ getCacheDirs prefix cacheDirOpts
538-
processed_df <- setCacheDirs recorder cacheDirs df2
530+
processed_df <- setCacheDirs recorder cacheDirs rawComponentDynFlags
539531
-- The final component information, mostly the same but the DynFlags don't
540532
-- contain any packages which are also loaded
541533
-- into the same component.
542534
pure $ ComponentInfo
543535
{ componentUnitId = rawComponentUnitId
544536
, componentDynFlags = processed_df
545-
, componentInternalUnits = uids
546537
, componentTargets = rawComponentTargets
547538
, componentFP = rawComponentFP
548539
, componentCOptions = rawComponentCOptions
@@ -832,7 +823,7 @@ checkHomeUnitsClosed' ue home_id_set
832823
where
833824
go rest this this_uis =
834825
plusUniqMap_C OS.union
835-
(addToUniqMap_C OS.union external_depends this (OS.fromList $ this_deps))
826+
(addToUniqMap_C OS.union external_depends this (OS.fromList this_deps))
836827
rest
837828
where
838829
external_depends = mapUniqMap (OS.fromList . unitDepends)
@@ -1021,10 +1012,6 @@ data ComponentInfo = ComponentInfo
10211012
-- | Processed DynFlags. Does not contain inplace packages such as local
10221013
-- libraries. Can be used to actually load this Component.
10231014
, componentDynFlags :: DynFlags
1024-
-- | Internal units, such as local libraries, that this component
1025-
-- is loaded with. These have been extracted from the original
1026-
-- ComponentOptions.
1027-
, componentInternalUnits :: [UnitId]
10281015
-- | All targets of this components.
10291016
, componentTargets :: [GHC.Target]
10301017
-- | Filepath which caused the creation of this component
@@ -1154,7 +1141,7 @@ setOptions cfp (ComponentOptions theOpts compRoot _) dflags rootDir = do
11541141
-- This works because there won't be any dependencies on the
11551142
-- executable unit.
11561143
"main" ->
1157-
let hash = B.unpack $ B16.encode $ H.finalize $ H.updates H.init (map B.pack $ this_opts)
1144+
let hash = B.unpack $ B16.encode $ H.finalize $ H.updates H.init (map B.pack this_opts)
11581145
hashed_uid = Compat.toUnitId (Compat.stringToUnit ("main-"++hash))
11591146
in setHomeUnitId_ hashed_uid dflags'
11601147
_ -> dflags'

0 commit comments

Comments
 (0)