When I follow thebuild from source installation directions, elm-platform rejects my ghc as being too new:
$ runhaskell installers/BuildFromSource.hs 0.17
You need GHC 7.10 to build this version of Elm.
You are using GHC 8.2 instead.
Out of curiosity, I hacked BuildFromSource.hs to allow my Haskell 8.2, and got the below errors, but I don’t know enough about the Haskell / Elm ecosystem to interpret them. Is this something that can be fixed by me?
$ runhaskell installers/BuildFromSource.hs master
Using GHC 8.2
Using Cabal 2.0.0.1
Cloning into 'elm-compiler'...
remote: Counting objects: 28784, done.
remote: Compressing objects: 100% (540/540), done.
remote: Total 28784 (delta 695), reused 778 (delta 476), pack-reused 27755
Receiving objects: 100% (28784/28784), 7.56 MiB | 2.06 MiB/s, done.
Resolving deltas: 100% (18141/18141), done.
Cloning into 'elm-package'...
remote: Counting objects: 3707, done.
remote: Total 3707 (delta 0), reused 0 (delta 0), pack-reused 3707
Receiving objects: 100% (3707/3707), 698.33 KiB | 99.00 KiB/s, done.
Resolving deltas: 100% (2204/2204), done.
Cloning into 'elm-make'...
remote: Counting objects: 1051, done.
remote: Total 1051 (delta 0), reused 0 (delta 0), pack-reused 1051
Receiving objects: 100% (1051/1051), 218.07 KiB | 155.00 KiB/s, done.
Resolving deltas: 100% (706/706), done.
Cloning into 'elm-reactor'...
remote: Counting objects: 3396, done.
remote: Total 3396 (delta 0), reused 0 (delta 0), pack-reused 3396
Receiving objects: 100% (3396/3396), 1.92 MiB | 105.00 KiB/s, done.
Resolving deltas: 100% (1948/1948), done.
Cloning into 'elm-repl'...
remote: Counting objects: 995, done.
remote: Total 995 (delta 0), reused 0 (delta 0), pack-reused 995
Receiving objects: 100% (995/995), 175.06 KiB | 762.00 KiB/s, done.
Resolving deltas: 100% (615/615), done.
Config file path source is default config file.
Config file /home/buck/.cabal/config not found.
Writing default configuration to /home/buck/.cabal/config
Downloading the latest package list from hackage.haskell.org
Writing a default package environment file to
/home/buck/repos/elm-platform/Elm-Platform/master/cabal.sandbox.config
Creating a new sandbox at
/home/buck/repos/elm-platform/Elm-Platform/master/.cabal-sandbox
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: base-4.10.1.0/installed-4.1... (dependency of elm-compiler-0.19.0)
next goal: elm-make (user goal)
rejecting: elm-make-0.18 (conflict: elm-compiler==0.19.0, elm-make =>
elm-compiler==0.18)
rejecting: elm-make-0.1.2 (conflict: elm-compiler==0.19.0, elm-make =>
elm-compiler>=0.15 && <0.16)
rejecting: elm-make-0.1.1 (conflict: elm-compiler==0.19.0, elm-make =>
elm-compiler>=0.14.1 && <0.15)
trying: elm-make-0.1
next goal: optparse-applicative (dependency of elm-make-0.1)
rejecting: optparse-applicative-0.14.0.0, optparse-applicative-0.13.2.0,
optparse-applicative-0.13.1.0, optparse-applicative-0.13.0.0,
optparse-applicative-0.12.1.0, optparse-applicative-0.12.0.0,
optparse-applicative-0.11.0.2, optparse-applicative-0.11.0.1,
optparse-applicative-0.11.0 (conflict: elm-make => optparse-applicative>=0.10
&& <0.11)
rejecting: optparse-applicative-0.10.0 (conflict:
base==4.10.1.0/installed-4.1..., optparse-applicative => base>=4 && <4.8)
rejecting: optparse-applicative-0.9.1.1, optparse-applicative-0.9.1,
optparse-applicative-0.9.0, optparse-applicative-0.8.1,
optparse-applicative-0.8.0.1, optparse-applicative-0.8.0,
optparse-applicative-0.7.0.2, optparse-applicative-0.7.0.1,
optparse-applicative-0.7.0, optparse-applicative-0.6.0,
optparse-applicative-0.5.2.1, optparse-applicative-0.5.2,
optparse-applicative-0.5.1, optparse-applicative-0.5.0,
optparse-applicative-0.4.3, optparse-applicative-0.4.2,
optparse-applicative-0.4.1, optparse-applicative-0.4.0,
optparse-applicative-0.3.2, optparse-applicative-0.3.1,
optparse-applicative-0.3.0, optparse-applicative-0.2.0,
optparse-applicative-0.1.1, optparse-applicative-0.1.0,
optparse-applicative-0.0.1 (conflict: elm-make => optparse-applicative>=0.10
&& <0.11)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: elm-make, optparse-applicative, base,
elm-compiler
Note: when using a sandbox, all packages are required to have consistent
dependencies. Try reinstalling/unregistering the offending packages or
recreating the sandbox.
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: base-4.10.1.0/installed-4.1... (dependency of elm-compiler-0.19.0)
next goal: elm-make (user goal)
rejecting: elm-make-0.18 (conflict: elm-compiler==0.19.0, elm-make =>
elm-compiler==0.18)
rejecting: elm-make-0.1.2 (conflict: elm-compiler==0.19.0, elm-make =>
elm-compiler>=0.15 && <0.16)
rejecting: elm-make-0.1.1 (conflict: elm-compiler==0.19.0, elm-make =>
elm-compiler>=0.14.1 && <0.15)
trying: elm-make-0.1
next goal: optparse-applicative (dependency of elm-make-0.1)
rejecting: optparse-applicative-0.14.0.0, optparse-applicative-0.13.2.0,
optparse-applicative-0.13.1.0, optparse-applicative-0.13.0.0,
optparse-applicative-0.12.1.0, optparse-applicative-0.12.0.0,
optparse-applicative-0.11.0.2, optparse-applicative-0.11.0.1,
optparse-applicative-0.11.0 (conflict: elm-make => optparse-applicative>=0.10
&& <0.11)
rejecting: optparse-applicative-0.10.0 (conflict:
base==4.10.1.0/installed-4.1..., optparse-applicative => base>=4 && <4.8)
rejecting: optparse-applicative-0.9.1.1, optparse-applicative-0.9.1,
optparse-applicative-0.9.0, optparse-applicative-0.8.1,
optparse-applicative-0.8.0.1, optparse-applicative-0.8.0,
optparse-applicative-0.7.0.2, optparse-applicative-0.7.0.1,
optparse-applicative-0.7.0, optparse-applicative-0.6.0,
optparse-applicative-0.5.2.1, optparse-applicative-0.5.2,
optparse-applicative-0.5.1, optparse-applicative-0.5.0,
optparse-applicative-0.4.3, optparse-applicative-0.4.2,
optparse-applicative-0.4.1, optparse-applicative-0.4.0,
optparse-applicative-0.3.2, optparse-applicative-0.3.1,
optparse-applicative-0.3.0, optparse-applicative-0.2.0,
optparse-applicative-0.1.1, optparse-applicative-0.1.0,
optparse-applicative-0.0.1 (conflict: elm-make => optparse-applicative>=0.10
&& <0.11)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: elm-make, optparse-applicative, base,
elm-compiler
Note: when using a sandbox, all packages are required to have consistent
dependencies. Try reinstalling/unregistering the offending packages or
recreating the sandbox.
Resolving dependencies...
cabal: Could not resolve dependencies:
trying: elm-reactor-0.18 (user goal)
trying: binary-0.8.5.1/installed-0.8... (dependency of scientific-0.3.5.2)
next goal: elm-package (dependency of elm-reactor-0.18)
rejecting: elm-package-0.18, elm-package-0.5, elm-package-0.4,
elm-package-0.2.2, elm-package-0.2.1, elm-package-0.2 (conflict:
binary==0.8.5.1/installed-0.8..., elm-package => binary>=0.7 && <0.8)
After searching the rest of the dependency tree exhaustively, these were the
goals I've had most trouble fulfilling: primitive, vector, base, elm-reactor,
transformers, elm-compiler, Elm, elm-package
Note: when using a sandbox, all packages are required to have consistent
dependencies. Try reinstalling/unregistering the offending packages or
recreating the sandbox.