File tree Expand file tree Collapse file tree 4 files changed +20
-6
lines changed Expand file tree Collapse file tree 4 files changed +20
-6
lines changed Original file line number Diff line number Diff line change 48
48
shell : bash
49
49
run : |
50
50
echo '::set-env name=EXE_EXT::.exe'
51
- echo '::set-env name=WIN_CABAL_ARGS::-j1'
52
51
53
52
- name : Set some linux specific things
54
53
if : matrix.os == 'ubuntu-latest'
59
58
shell : bash
60
59
# Try building it twice in case of flakey builds on Windows
61
60
run : |
62
- cabal build exe:hls -O2 --disable-documentation $WIN_CABAL_ARGS $ LINUX_CABAL_ARGS || \
63
- cabal build exe:hls -O2 --disable-documentation $WIN_CABAL_ARGS $ LINUX_CABAL_ARGS
61
+ cabal build exe:hls -O2 --disable-documentation $LINUX_CABAL_ARGS || \
62
+ cabal build exe:hls -O2 --disable-documentation $LINUX_CABAL_ARGS
64
63
65
64
- name : Find Server Binary
66
65
id : find_server_binary
Original file line number Diff line number Diff line change @@ -45,6 +45,22 @@ will most almost certainly not exist on the end user's machine.
45
45
Therefore, hie-bios provides ` getGhcRuntimeLibDir ` to obtain this path on the fly
46
46
by consulting the cradle.
47
47
48
+ ### Static binaries
49
+ We use the word "distributable" here because technically only the Linux builds
50
+ are static. They are built by passing ` --enable-executable-static ` to cabal.
51
+ Static binaries don't really exist on macOS, and there are issues with
52
+ proprietary code being linked in on Windows. However, the ` .dylib ` s linked on
53
+ macOS are all already provided by the system:
54
+
55
+ ```
56
+ $ objdump -macho --dylibs-used haskell-language-server
57
+ haskell-language-server:
58
+ /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
59
+ /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
60
+ /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.100.1)
61
+ /usr/lib/libcharset.1.dylib (compatibility version 2.0.0, current version 2.0.0)
62
+ ```
63
+
48
64
## The GitHub Actions workflow
49
65
It just kicks off a matrix of jobs varying across GHC versions and OSs, building
50
66
the binaries with Cabal and extracting them from the dist-newstyle directory.
Original file line number Diff line number Diff line change 1
1
-- Copyright (c) 2019 The DAML Authors. All rights reserved.
2
2
-- SPDX-License-Identifier: Apache-2.0
3
- {-# LANGUAGE CPP #-} -- To get precise GHC version and check if distributed binary
3
+ {-# LANGUAGE CPP #-} -- To get precise GHC version
4
4
{-# LANGUAGE TemplateHaskell #-}
5
5
{-# OPTIONS_GHC -Wno-dodgy-imports #-} -- GHC no longer exports def in GHC 8.6 and above
6
6
{-# LANGUAGE DeriveGeneric #-}
@@ -72,7 +72,6 @@ import Ide.Plugin.StylishHaskell as StylishHaskell
72
72
import Ide.Plugin.Brittany as Brittany
73
73
#endif
74
74
import Ide.Plugin.Pragmas as Pragmas
75
- -- import Data.Typeable (Typeable)
76
75
77
76
78
77
-- ---------------------------------------------------------------------
Original file line number Diff line number Diff line change @@ -54,7 +54,7 @@ findLocalCradle fp = do
54
54
debugm $ " Found \" " ++ yaml ++ " \" for \" " ++ fp ++ " \" "
55
55
crdl <- Bios. loadCradle yaml
56
56
return $ fmap (const CabalNone ) crdl
57
- Nothing -> Bios. loadImplicitCradle fp -- cabalHelperCradle fp
57
+ Nothing -> cabalHelperCradle fp
58
58
logm $ " Module \" " ++ fp ++ " \" is loaded by Cradle: " ++ show crdl
59
59
return crdl
60
60
You can’t perform that action at this time.
0 commit comments