eta
eta copied to clipboard
`nix-shell -A eta-build-shell` failing due to parsec version constraints
Running nix-shell -A eta-build-shell fails with the below error:
Configuring etlas-cabal-1.6.0.0...
CallStack (from HasCallStack):
die', called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:948:20 in Cabal-2.0.1.0:Distribution.Simple.Configure
configureFinalizedPackage, called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:470:12 in Cabal-2.0.1.0:Distribution.Simple.Configure
configure, called at libraries/Cabal/Cabal/Distribution/Simple.hs:570:20 in Cabal-2.0.1.0:Distribution.Simple
confHook, called at libraries/Cabal/Cabal/Distribution/Simple/UserHooks.hs:67:5 in Cabal-2.0.1.0:Distribution.Simple.UserHooks
configureAction, called at libraries/Cabal/Cabal/Distribution/Simple.hs:174:19 in Cabal-2.0.1.0:Distribution.Simple
defaultMainHelper, called at libraries/Cabal/Cabal/Distribution/Simple.hs:119:27 in Cabal-2.0.1.0:Distribution.Simple
defaultMain, called at Setup.hs:3:8 in main:Main
Setup: Encountered missing dependencies:
parsec >=3.1.13.0 && <3.2
builder for '/nix/store/x2b1i9wn0y46cy12m65hw98b8alwq0j4-etlas-cabal-1.4.0.2.drv' failed with exit code 1
cannot build derivation '/nix/store/hr0hsdznw823fy1jl04d9xcggnlfqssh-eta-build-0.0.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/74lgij6slxj2bm4n7jlqn34wklx8rcw2-eta-pkg-0.8.0.3.drv', '/nix/store/hr0hsdznw823fy1jl04d9xcggnlfqssh-eta-build-0.0.0.drv', '/nix/store/hs5v4317zfr95ixwap0qs6j8cgsimnw0-eta-0.8.0.3.drv', '/nix/store/hxphzj1g86iv88s25nll714nxamm1qli-etlas-1.4.0.2.drv' failed
@ajevans85 Thanks for reporting!
@puffnfresh There have been a few dependency updates. Can you look into this?
I've raised a PR which resolves the dependency issues https://github.com/eta-lang/eta-nix/pull/1/commits.
Having fixed that I also get the below, not sure if it's related or a separate issue:
[318 of 318] Compiling Eta.Backpack.DriverBkp ( compiler/Eta/Backpack/DriverBkp.hs, dist/build/Eta/Backpack/DriverBkp.p_o )
clang-5.0: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
clang-5.0: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
ld: warning: /nix/store/567l21pfpvjb3lr5c6hgshasn589raal-libiconv-osx-10.11.6/lib/libiconv.dylib, ignoring unexpected dylib file
clang-5.0: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
clang-5.0: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
clang-5.0: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
clang-5.0: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
clang-5.0: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
clang-5.0: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument]
ld: warning: /nix/store/567l21pfpvjb3lr5c6hgshasn589raal-libiconv-osx-10.11.6/lib/libiconv.dylib, ignoring unexpected dylib file
ignoring (possibly broken) abi-depends field for packages
Preprocessing executable 'eta' for eta-0.8.6.3..
Building executable 'eta' for eta-0.8.6.3..
<built-in>:17:10: error:
error: non-portable path to file '"dist/build/Eta/autogen/cabal_macros.h"'; specified path differs in case from file name on disk [-Werror,-Wnonportable-include-path]
#include "dist/build/eta/autogen/cabal_macros.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"dist/build/Eta/autogen/cabal_macros.h"
1 error generated.
`cc' failed in phase `C pre-processor'. (Exit code: 1)
builder for '/nix/store/hs5v4317zfr95ixwap0qs6j8cgsimnw0-eta-0.8.0.3.drv' failed with exit code 1
error: build of '/nix/store/31c5ss366lrd3223i4vxd3pd0qd130h6-etlas-1.4.0.2.drv', '/nix/store/hs5v4317zfr95ixwap0qs6j8cgsimnw0-eta-0.8.0.3.drv' failed
The non-portable path to file error I've managed to bypass using the below.
eta = haskell.lib.overrideCabal super.eta (drv: {
# Makes the build a bit faster
src = onlyFiles ["compiler" "include" "eta" "eta.cabal" "LICENSE" "tests"] drv.src;
# Fix case insensitivity build failures on Mac ref: https://github.com/haskell/cabal/issues/4739
configureFlags = [ "--ghc-option=-optP-Wno-nonportable-include-path" ];
});
The eta-nix pr looks to need a dhall-to-etlas derivation adding.
@forficate Does nix work for you now?