haskell-nix / hnix

A Haskell re-implementation of the Nix expression language
https://hackage.haskell.org/package/hnix
BSD 3-Clause "New" or "Revised" License
762 stars 115 forks source link

nix derivation doesn't build: `Encountered missing or private dependencies: pretty-show >=1.9.5 && <1.10` #541

Closed timbertson closed 4 years ago

timbertson commented 4 years ago

I just updated nix-unstable (to commit f601ab37c2f), and currently hnix doesn't build:

$ nix-build -A haskellPackages.hnix '<nixpkgs>'
these derivations will be built:
  /nix/store/gsvkarm1dkz85lwdp99506vkss1pwqpl-hnix-0.7.1.drv
building '/nix/store/gsvkarm1dkz85lwdp99506vkss1pwqpl-hnix-0.7.1.drv'...
setupCompilerEnvironmentPhase
Build with /nix/store/dhnspmn5hc312lm46a98w4n1bz27bp40-ghc-8.8.3.
unpacking sources
unpacking source archive /nix/store/hfsfghz16fanabxzi8hm0vg7bgb6z0c6-hnix-0.7.1.tar.gz
source root is hnix-0.7.1
setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file hnix-0.7.1/tests/TestCommon.hs
patching sources
Run jailbreak-cabal to lift version restrictions on build inputs.
compileBuildDriverPhase
setupCompileFlags: -package-db=/build/setup-package.conf.d -j4 -threaded
[1 of 1] Compiling Main             ( Setup.hs, /build/Main.o )
Linking Setup ...
configuring
configureFlags: --verbose --prefix=/nix/store/nk5ks453wxlfr9s55wmvh1xa3hs9wwlj-hnix-0.7.1 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --docdir=/nix/store/xa38xhkw1fvwnj1wsfacibfmhhan6ygg-hnix-0.7.1-doc/share/doc/hnix-0.7.1 --with-gcc=gcc --package-db=/build/package.conf.d --ghc-option=-j4 --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --disable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --extra-lib-dirs=/nix/store/49x12wk4l8c0lh97crvwhjbzfxrq1fa2-ncurses-6.2/lib --extra-lib-dirs=/nix/store/hfs34n1yww7ba1m8gbrwrwh6v1y269m6-libffi-3.3/lib --extra-lib-dirs=/nix/store/l9nfr0znv7qibrapym32qj7dxmynfh84-gmp-6.2.0/lib
Using Parsec parser
Configuring hnix-0.7.1...
CallStack (from HasCallStack):
  die', called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:1022:20 in Cabal-3.0.1.0:Distribution.Simple.Configure
  configureFinalizedPackage, called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:475:12 in Cabal-3.0.1.0:Distribution.Simple.Configure
  configure, called at libraries/Cabal/Cabal/Distribution/Simple.hs:625:20 in Cabal-3.0.1.0:Distribution.Simple
  confHook, called at libraries/Cabal/Cabal/Distribution/Simple/UserHooks.hs:65:5 in Cabal-3.0.1.0:Distribution.Simple.UserHooks
  configureAction, called at libraries/Cabal/Cabal/Distribution/Simple.hs:180:19 in Cabal-3.0.1.0:Distribution.Simple
  defaultMainHelper, called at libraries/Cabal/Cabal/Distribution/Simple.hs:116:27 in Cabal-3.0.1.0:Distribution.Simple
  defaultMain, called at Setup.hs:2:8 in main:Main
Setup: Encountered missing or private dependencies:
pretty-show >=1.9.5 && <1.10

builder for '/nix/store/gsvkarm1dkz85lwdp99506vkss1pwqpl-hnix-0.7.1.drv' failed with exit code 1
error: build of '/nix/store/gsvkarm1dkz85lwdp99506vkss1pwqpl-hnix-0.7.1.drv' failed

Grepping for pretty-show in the derivation ( /nix/store/gsvkarm1dkz85lwdp99506vkss1pwqpl-hnix-0.7.1.drv ) turns up /nix/store/n1m1dw14zxdqz13c48i1igw8q0adswir-pretty-show-1.10, so I think it needs to be pinned to an earlier version (or the constraint relaxed).

pmiddend commented 4 years ago

It'd be pretty awesome to have hnix working in Nix again. Thanks for reporting/fixing this. Let's hope there is a reviewer.