2

In an IHP project, I tried adding wreq to default.nix as described in https://ihp.digitallyinduced.com/Guide/recipes.html#making-a-http-request but I get

src/Codec/Crypto/RSA/Pure.hs:115:25: error:
    • Could not deduce (MonadFail m) arising from a use of ‘fail’

when compiling. Similarly with the alternative req.

I've just used stackage before, I'm completely new to nix – is there some way to get a set of package versions that work together like with stackage? Or is there something obvious I'm missing?


Full output after adding wreq to default.nix and running make -B .envrc in nix-shell:

[nix-shell:~/src/foo]$ make -B .envrc
rm -f .envrc
echo "PATH_add $(nix-shell -j auto --cores 0 --pure --run 'printf %q $PATH')" > .envrc
direnv allow
these derivations will be built:
  /nix/store/iamd2pmg0xhh67b9wx23pfq815v1rpg5-RSA-2.3.1.drv
  /nix/store/b4s6rcqnxnd9nsx5123n1xb0p1d7lz7r-authenticate-oauth-1.6.0.1.drv
  /nix/store/jhkbm2z39sfi94zfy93bw4ivay21k49p-simple-reflect-0.3.3.drv
  /nix/store/n13kcx1m809a2prdqbvm6v4vsdkfayym-lens-4.19.drv
  /nix/store/whv58hpwx2yqchv14mgjjr4j6zs5lmmr-lens-aeson-1.0.2.drv
  /nix/store/wwn14fv4gmwh4p2w1516fwhc88bz7wdr-time-locale-compat-0.1.1.5.drv
  /nix/store/mmpdshwkx498v4hd39d5qb82y4zjhvsx-wreq-0.5.3.2.drv
  /nix/store/i1fqnspxpy7ikvbzbnr484dlggn98dpk-ghc-8.8.3-with-packages.drv
building '/nix/store/iamd2pmg0xhh67b9wx23pfq815v1rpg5-RSA-2.3.1.drv'...
building '/nix/store/wwn14fv4gmwh4p2w1516fwhc88bz7wdr-time-locale-compat-0.1.1.5.drv'...
building '/nix/store/jhkbm2z39sfi94zfy93bw4ivay21k49p-simple-reflect-0.3.3.drv'...
setupCompilerEnvironmentPhase
Build with /nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3.
setupCompilerEnvironmentPhase
Build with /nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3.
setupCompilerEnvironmentPhase
Build with /nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3.
unpacking sources
unpacking source archive /nix/store/vbjq94k0fh92d2g1i5xl0bv0bj4kawyp-time-locale-compat-0.1.1.5.tar.gz
source root is time-locale-compat-0.1.1.5
setting SOURCE_DATE_EPOCH to timestamp 1535285808 of file time-locale-compat-0.1.1.5/time-locale-compat.cabal
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/build/setup-package.conf.d -j4 -threaded
unpacking sources
unpacking source archive /nix/store/7zj46nqh5hynrrc2vkniyymfryf8f8h3-simple-reflect-0.3.3.tar.gz
source root is simple-reflect-0.3.3
setting SOURCE_DATE_EPOCH to timestamp 1521050226 of file simple-reflect-0.3.3/simple-reflect.cabal
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/build/setup-package.conf.d -j4 -threaded
[1 of 1] Compiling Main             ( Setup.hs, /build/Main.o )
[1 of 1] Compiling Main             ( Setup.hs, /build/Main.o )
unpacking sources
unpacking source archive /nix/store/bv3lckj9fqlzw84xafipfnnv13lpigs4-RSA-2.3.1.tar.gz
source root is RSA-2.3.1
setting SOURCE_DATE_EPOCH to timestamp 1546300677 of file RSA-2.3.1/Test.hs
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/build/setup-package.conf.d -j4 -threaded
[1 of 1] Compiling Main             ( Setup.hs, /build/Main.o )
Linking Setup ...
Linking Setup ...
Linking Setup ...
configuring
configureFlags: --verbose --prefix=/nix/store/5l41880hdczl2yhpxr4579vljmpr1lmj-time-locale-compat-0.1.1.5 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --docdir=/nix/store/wmnnz02rq2pxdxzadmm57m1wdq253mz6-time-locale-compat-0.1.1.5-doc/share/doc/time-locale-compat-0.1.1.5 --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 --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --extra-lib-dirs=/nix/store/kpw4kmc74djprg3bjc5rxblij46jdmnf-ncurses-6.1-20190112/lib --extra-lib-dirs=/nix/store/x6sc334nvkl7pr3yqiqs3dzhfsbsgqcd-libffi-3.3/lib --extra-lib-dirs=/nix/store/gldhjyzsj475ymgax9ycv8m1wf6rkc02-gmp-6.2.0/lib
configuring
configureFlags: --verbose --prefix=/nix/store/myldnlikwicwz054kycwx6gzpyp29sw6-simple-reflect-0.3.3 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --docdir=/nix/store/n4rqdqimm3rq1m2w3fhnmdxy9vj1srx7-simple-reflect-0.3.3-doc/share/doc/simple-reflect-0.3.3 --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 --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --extra-lib-dirs=/nix/store/kpw4kmc74djprg3bjc5rxblij46jdmnf-ncurses-6.1-20190112/lib --extra-lib-dirs=/nix/store/x6sc334nvkl7pr3yqiqs3dzhfsbsgqcd-libffi-3.3/lib --extra-lib-dirs=/nix/store/gldhjyzsj475ymgax9ycv8m1wf6rkc02-gmp-6.2.0/lib
configuring
configureFlags: --verbose --prefix=/nix/store/qa57n6w7772mq96gbhz1jf95aqz4ay2l-RSA-2.3.1 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --docdir=/nix/store/2mxz458lx9xfbracvz4icjjyi6s304kk-RSA-2.3.1-doc/share/doc/RSA-2.3.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 --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --extra-lib-dirs=/nix/store/kpw4kmc74djprg3bjc5rxblij46jdmnf-ncurses-6.1-20190112/lib --extra-lib-dirs=/nix/store/x6sc334nvkl7pr3yqiqs3dzhfsbsgqcd-libffi-3.3/lib --extra-lib-dirs=/nix/store/gldhjyzsj475ymgax9ycv8m1wf6rkc02-gmp-6.2.0/lib
Using Parsec parser
Configuring time-locale-compat-0.1.1.5...
Flags chosen: old-locale=False
Dependency base <5: using base-4.13.0.0
Dependency time >=1.5: using time-1.9.3
Using Parsec parser
Configuring simple-reflect-0.3.3...
Dependency base >=2 && <5: using base-4.13.0.0
Source component graph: component lib
Configured component graph:
    component time-locale-compat-0.1.1.5-3KeDjePLdJz63GzLtGEnjG
        include base-4.13.0.0
        include time-1.9.3
Linked component graph:
    unit time-locale-compat-0.1.1.5-3KeDjePLdJz63GzLtGEnjG
        include base-4.13.0.0
        include time-1.9.3
        Data.Time.Locale.Compat=time-locale-compat-0.1.1.5-3KeDjePLdJz63GzLtGEnjG:Data.Time.Locale.Compat
Ready component graph:
    definite time-locale-compat-0.1.1.5-3KeDjePLdJz63GzLtGEnjG
        depends base-4.13.0.0
        depends time-1.9.3
Using Cabal-3.0.1.0 compiled by ghc-8.8
Using compiler: ghc-8.8.3
Using install prefix:
/nix/store/5l41880hdczl2yhpxr4579vljmpr1lmj-time-locale-compat-0.1.1.5
Executables installed in:
/nix/store/5l41880hdczl2yhpxr4579vljmpr1lmj-time-locale-compat-0.1.1.5/bin
Libraries installed in:
/nix/store/5l41880hdczl2yhpxr4579vljmpr1lmj-time-locale-compat-0.1.1.5/lib/ghc-8.8.3/x86_64-linux-ghc-8.8.3/time-locale-compat-0.1.1.5-3KeDjePLdJz63GzLtGEnjG
Dynamic Libraries installed in:
/nix/store/5l41880hdczl2yhpxr4579vljmpr1lmj-time-locale-compat-0.1.1.5/lib/ghc-8.8.3/x86_64-linux-ghc-8.8.3
Private executables installed in:
/nix/store/5l41880hdczl2yhpxr4579vljmpr1lmj-time-locale-compat-0.1.1.5/libexec/x86_64-linux-ghc-8.8.3/time-locale-compat-0.1.1.5
Data files installed in:
/nix/store/5l41880hdczl2yhpxr4579vljmpr1lmj-time-locale-compat-0.1.1.5/share/x86_64-linux-ghc-8.8.3/time-locale-compat-0.1.1.5
Documentation installed in:
/nix/store/wmnnz02rq2pxdxzadmm57m1wdq253mz6-time-locale-compat-0.1.1.5-doc/share/doc/time-locale-compat-0.1.1.5
Configuration files installed in:
/nix/store/5l41880hdczl2yhpxr4579vljmpr1lmj-time-locale-compat-0.1.1.5/etc
No alex found
Using ar found on system at:
/nix/store/1zf4cnaaidjajwb4gx4mnkqc5dypkcdy-binutils-2.31.1/bin/ar
No c2hs found
No cpphs found
No doctest found
Using gcc version 9.2.0 given by user at:
/nix/store/xh3bh8nir5d45zk45dz9xxfs2j95cby4-gcc-wrapper-9.2.0/bin/gcc
Using ghc version 8.8.3 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/ghc
Using ghc-pkg version 8.8.3 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/ghc-pkg
No ghcjs found
No ghcjs-pkg found
No greencard found
Using haddock version 2.23.0 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/haddock
No happy found
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.67 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/hpc
Using hsc2hs version 0.68.5 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/hsc2hs
Using hscolour version 1.24 found on system at:
/nix/store/4kr0317ac62lw56yaygq2kfiqv96za9f-hscolour-1.24.4/bin/HsColour
No jhc found
Using ld found on system at:
/nix/store/axkkr27z9cjzxac1c9s6ngda73kbz063-binutils-wrapper-2.31.1/bin/ld.gold
No pkg-config found
Using runghc version 8.8.3 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/runghc
Using strip version 2.31 found on system at:
/nix/store/1zf4cnaaidjajwb4gx4mnkqc5dypkcdy-binutils-2.31.1/bin/strip
Using tar found on system at:
/nix/store/c98k0shcp2yp69g81mqhbqw3xbxvnk0r-gnutar-1.32/bin/tar
No uhc found
building
Preprocessing library for time-locale-compat-0.1.1.5..
Building library for time-locale-compat-0.1.1.5..
Source component graph: component lib
Configured component graph:
    component simple-reflect-0.3.3-7n1WmXGrTqW325T1Vh7H5M
        include base-4.13.0.0
Linked component graph:
    unit simple-reflect-0.3.3-7n1WmXGrTqW325T1Vh7H5M
        include base-4.13.0.0
        Debug.SimpleReflect=simple-reflect-0.3.3-7n1WmXGrTqW325T1Vh7H5M:Debug.SimpleReflect,Debug.SimpleReflect.Expr=simple-reflect-0.3.3-7n1WmXGrTqW325T1Vh7H5M:Debug.SimpleReflect.Expr,Debug.SimpleReflect.Vars=simple-reflect-0.3.3-7n1WmXGrTqW325T1Vh7H5M:Debug.SimpleReflect.Vars
Ready component graph:
    definite simple-reflect-0.3.3-7n1WmXGrTqW325T1Vh7H5M
        depends base-4.13.0.0
Using Cabal-3.0.1.0 compiled by ghc-8.8
Using compiler: ghc-8.8.3
Using install prefix:
/nix/store/myldnlikwicwz054kycwx6gzpyp29sw6-simple-reflect-0.3.3
Executables installed in:
/nix/store/myldnlikwicwz054kycwx6gzpyp29sw6-simple-reflect-0.3.3/bin
Libraries installed in:
/nix/store/myldnlikwicwz054kycwx6gzpyp29sw6-simple-reflect-0.3.3/lib/ghc-8.8.3/x86_64-linux-ghc-8.8.3/simple-reflect-0.3.3-7n1WmXGrTqW325T1Vh7H5M
Dynamic Libraries installed in:
/nix/store/myldnlikwicwz054kycwx6gzpyp29sw6-simple-reflect-0.3.3/lib/ghc-8.8.3/x86_64-linux-ghc-8.8.3
Private executables installed in:
/nix/store/myldnlikwicwz054kycwx6gzpyp29sw6-simple-reflect-0.3.3/libexec/x86_64-linux-ghc-8.8.3/simple-reflect-0.3.3
Data files installed in:
/nix/store/myldnlikwicwz054kycwx6gzpyp29sw6-simple-reflect-0.3.3/share/x86_64-linux-ghc-8.8.3/simple-reflect-0.3.3
Documentation installed in:
/nix/store/n4rqdqimm3rq1m2w3fhnmdxy9vj1srx7-simple-reflect-0.3.3-doc/share/doc/simple-reflect-0.3.3
Configuration files installed in:
/nix/store/myldnlikwicwz054kycwx6gzpyp29sw6-simple-reflect-0.3.3/etc
No alex found
Using ar found on system at:
/nix/store/1zf4cnaaidjajwb4gx4mnkqc5dypkcdy-binutils-2.31.1/bin/ar
No c2hs found
No cpphs found
No doctest found
Using gcc version 9.2.0 given by user at:
/nix/store/xh3bh8nir5d45zk45dz9xxfs2j95cby4-gcc-wrapper-9.2.0/bin/gcc
Using ghc version 8.8.3 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/ghc
Using ghc-pkg version 8.8.3 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/ghc-pkg
No ghcjs found
No ghcjs-pkg found
No greencard found
Using haddock version 2.23.0 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/haddock
No happy found
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.67 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/hpc
Using hsc2hs version 0.68.5 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/hsc2hs
Using hscolour version 1.24 found on system at:
/nix/store/4kr0317ac62lw56yaygq2kfiqv96za9f-hscolour-1.24.4/bin/HsColour
No jhc found
Using ld found on system at:
/nix/store/axkkr27z9cjzxac1c9s6ngda73kbz063-binutils-wrapper-2.31.1/bin/ld.gold
No pkg-config found
Using runghc version 8.8.3 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/runghc
Using strip version 2.31 found on system at:
/nix/store/1zf4cnaaidjajwb4gx4mnkqc5dypkcdy-binutils-2.31.1/bin/strip
Using tar found on system at:
/nix/store/c98k0shcp2yp69g81mqhbqw3xbxvnk0r-gnutar-1.32/bin/tar
No uhc found
[1 of 1] Compiling Data.Time.Locale.Compat ( src/Data/Time/Locale/Compat.hs, dist/build/Data/Time/Locale/Compat.o )
building
Preprocessing library for simple-reflect-0.3.3..
Building library for simple-reflect-0.3.3..
Using Parsec parser
Configuring RSA-2.3.1...
Dependency SHA >=1.6.4.1 && <2.0: using SHA-1.6.4.4
Dependency base >=4.6 && <7.0: using base-4.13.0.0
Dependency binary >0.7 && <1.0: using binary-0.8.7.0
Dependency bytestring >0.8 && <0.12: using bytestring-0.10.10.0
Dependency crypto-api >=0.10 && <0.14: using crypto-api-0.13.3
Dependency crypto-pubkey-types >=0.2 && <0.6: using crypto-pubkey-types-0.4.3
Dependency DRBG >=0.5.2 && <0.7: using DRBG-0.5.5
Dependency QuickCheck >=2.5 && <3: using QuickCheck-2.13.2
Dependency SHA >=1.6.4.1 && <2.0: using SHA-1.6.4.4
Dependency base >=4.6 && <7.0: using base-4.13.0.0
Dependency binary >0.7 && <1.0: using binary-0.8.7.0
Dependency bytestring >0.8 && <0.12: using bytestring-0.10.10.0
Dependency crypto-api >=0.10 && <0.14: using crypto-api-0.13.3
Dependency crypto-pubkey-types >=0.4 && <0.6: using crypto-pubkey-types-0.4.3
Dependency tagged >=0.2 && <0.9: using tagged-0.8.6
Dependency test-framework >=0.8.0.3 && <0.10: using test-framework-0.8.2.0
Dependency test-framework-quickcheck2 >=0.3.0.2 && <0.5: using
test-framework-quickcheck2-0.3.0.5
[1 of 3] Compiling Debug.SimpleReflect.Expr ( Debug/SimpleReflect/Expr.hs, dist/build/Debug/SimpleReflect/Expr.o )
[1 of 1] Compiling Data.Time.Locale.Compat ( src/Data/Time/Locale/Compat.hs, dist/build/Data/Time/Locale/Compat.p_o )
Source component graph:
    component test:test-rsa
    component lib
Configured component graph:
    component RSA-2.3.1-JJYZ7HtptBX49F9kO59MAB-test-rsa
        include DRBG-0.5.5-4enzLx907KB4ly1cvZ83Rj
        include QuickCheck-2.13.2-9teeivRumd01cV6oeVrmWt
        include SHA-1.6.4.4-HjVIktJeEh9Jm66vy0zsGC
        include base-4.13.0.0
        include binary-0.8.7.0
        include bytestring-0.10.10.0
        include crypto-api-0.13.3-5deppbfxVTTBecXOiXtKKK
        include crypto-pubkey-types-0.4.3-HEZvEEbmspDBQkghRIQNcJ
        include tagged-0.8.6-FYc8l1vwILF5OSKkSTSNII
        include test-framework-0.8.2.0-5G7BFKLBjZC6YeudnlZJNp
        include test-framework-quickcheck2-0.3.0.5-3rpDyIsNKye2cByAhaUbY6
    component RSA-2.3.1-ET1TzkXBKSBHYmOWRgR5vO
        include SHA-1.6.4.4-HjVIktJeEh9Jm66vy0zsGC
        include base-4.13.0.0
        include binary-0.8.7.0
        include bytestring-0.10.10.0
        include crypto-api-0.13.3-5deppbfxVTTBecXOiXtKKK
        include crypto-pubkey-types-0.4.3-HEZvEEbmspDBQkghRIQNcJ
Linked component graph:
    unit RSA-2.3.1-JJYZ7HtptBX49F9kO59MAB-test-rsa
        include DRBG-0.5.5-4enzLx907KB4ly1cvZ83Rj
        include QuickCheck-2.13.2-9teeivRumd01cV6oeVrmWt
        include SHA-1.6.4.4-HjVIktJeEh9Jm66vy0zsGC
        include base-4.13.0.0
        include binary-0.8.7.0
        include bytestring-0.10.10.0
        include crypto-api-0.13.3-5deppbfxVTTBecXOiXtKKK
        include crypto-pubkey-types-0.4.3-HEZvEEbmspDBQkghRIQNcJ
        include tagged-0.8.6-FYc8l1vwILF5OSKkSTSNII
        include test-framework-0.8.2.0-5G7BFKLBjZC6YeudnlZJNp
        include test-framework-quickcheck2-0.3.0.5-3rpDyIsNKye2cByAhaUbY6
    unit RSA-2.3.1-ET1TzkXBKSBHYmOWRgR5vO
        include SHA-1.6.4.4-HjVIktJeEh9Jm66vy0zsGC
        include base-4.13.0.0
        include binary-0.8.7.0
        include bytestring-0.10.10.0
        include crypto-api-0.13.3-5deppbfxVTTBecXOiXtKKK
        include crypto-pubkey-types-0.4.3-HEZvEEbmspDBQkghRIQNcJ
        Codec.Crypto.RSA=RSA-2.3.1-ET1TzkXBKSBHYmOWRgR5vO:Codec.Crypto.RSA,Codec.Crypto.RSA.Exceptions=RSA-2.3.1-ET1TzkXBKSBHYmOWRgR5vO:Codec.Crypto.RSA.Exceptions,Codec.Crypto.RSA.Pure=RSA-2.3.1-ET1TzkXBKSBHYmOWRgR5vO:Codec.Crypto.RSA.Pure
Ready component graph:
    definite RSA-2.3.1-JJYZ7HtptBX49F9kO59MAB-test-rsa
        depends DRBG-0.5.5-4enzLx907KB4ly1cvZ83Rj
        depends QuickCheck-2.13.2-9teeivRumd01cV6oeVrmWt
        depends SHA-1.6.4.4-HjVIktJeEh9Jm66vy0zsGC
        depends base-4.13.0.0
        depends binary-0.8.7.0
        depends bytestring-0.10.10.0
        depends crypto-api-0.13.3-5deppbfxVTTBecXOiXtKKK
        depends crypto-pubkey-types-0.4.3-HEZvEEbmspDBQkghRIQNcJ
        depends tagged-0.8.6-FYc8l1vwILF5OSKkSTSNII
        depends test-framework-0.8.2.0-5G7BFKLBjZC6YeudnlZJNp
        depends test-framework-quickcheck2-0.3.0.5-3rpDyIsNKye2cByAhaUbY6
    definite RSA-2.3.1-ET1TzkXBKSBHYmOWRgR5vO
        depends SHA-1.6.4.4-HjVIktJeEh9Jm66vy0zsGC
        depends base-4.13.0.0
        depends binary-0.8.7.0
        depends bytestring-0.10.10.0
        depends crypto-api-0.13.3-5deppbfxVTTBecXOiXtKKK
        depends crypto-pubkey-types-0.4.3-HEZvEEbmspDBQkghRIQNcJ
Using Cabal-3.0.1.0 compiled by ghc-8.8
Using compiler: ghc-8.8.3
Using install prefix: /nix/store/qa57n6w7772mq96gbhz1jf95aqz4ay2l-RSA-2.3.1
Executables installed in:
/nix/store/qa57n6w7772mq96gbhz1jf95aqz4ay2l-RSA-2.3.1/bin
Libraries installed in:
/nix/store/qa57n6w7772mq96gbhz1jf95aqz4ay2l-RSA-2.3.1/lib/ghc-8.8.3/x86_64-linux-ghc-8.8.3/RSA-2.3.1-ET1TzkXBKSBHYmOWRgR5vO
Dynamic Libraries installed in:
/nix/store/qa57n6w7772mq96gbhz1jf95aqz4ay2l-RSA-2.3.1/lib/ghc-8.8.3/x86_64-linux-ghc-8.8.3
Private executables installed in:
/nix/store/qa57n6w7772mq96gbhz1jf95aqz4ay2l-RSA-2.3.1/libexec/x86_64-linux-ghc-8.8.3/RSA-2.3.1
Data files installed in:
/nix/store/qa57n6w7772mq96gbhz1jf95aqz4ay2l-RSA-2.3.1/share/x86_64-linux-ghc-8.8.3/RSA-2.3.1
Documentation installed in:
/nix/store/2mxz458lx9xfbracvz4icjjyi6s304kk-RSA-2.3.1-doc/share/doc/RSA-2.3.1
Configuration files installed in:
/nix/store/qa57n6w7772mq96gbhz1jf95aqz4ay2l-RSA-2.3.1/etc
No alex found
Using ar found on system at:
/nix/store/1zf4cnaaidjajwb4gx4mnkqc5dypkcdy-binutils-2.31.1/bin/ar
No c2hs found
No cpphs found
No doctest found
Using gcc version 9.2.0 given by user at:
/nix/store/xh3bh8nir5d45zk45dz9xxfs2j95cby4-gcc-wrapper-9.2.0/bin/gcc
Using ghc version 8.8.3 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/ghc
Using ghc-pkg version 8.8.3 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/ghc-pkg
No ghcjs found
No ghcjs-pkg found
No greencard found
Using haddock version 2.23.0 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/haddock
No happy found
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.67 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/hpc
Using hsc2hs version 0.68.5 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/hsc2hs
Using hscolour version 1.24 found on system at:
/nix/store/4kr0317ac62lw56yaygq2kfiqv96za9f-hscolour-1.24.4/bin/HsColour
No jhc found
Using ld found on system at:
/nix/store/axkkr27z9cjzxac1c9s6ngda73kbz063-binutils-wrapper-2.31.1/bin/ld.gold
No pkg-config found
Using runghc version 8.8.3 found on system at:
/nix/store/z9hplpp91s3s8k8gsj5wvhnsqpvijz0p-ghc-8.8.3/bin/runghc
Using strip version 2.31 found on system at:
/nix/store/1zf4cnaaidjajwb4gx4mnkqc5dypkcdy-binutils-2.31.1/bin/strip
Using tar found on system at:
/nix/store/c98k0shcp2yp69g81mqhbqw3xbxvnk0r-gnutar-1.32/bin/tar
No uhc found
building
Preprocessing test suite 'test-rsa' for RSA-2.3.1..
Building test suite 'test-rsa' for RSA-2.3.1..
[1 of 2] Compiling Codec.Crypto.RSA.Pure ( src/Codec/Crypto/RSA/Pure.hs, dist/build/test-rsa/test-rsa-tmp/Codec/Crypto/RSA/Pure.o )
running tests

src/Codec/Crypto/RSA/Pure.hs:115:25: error:
    • Could not deduce (MonadFail m) arising from a use of ‘fail’
      from the context: (Monad m, Show a)
        bound by the type signature for:
                   failOnError :: forall (m :: * -> *) a b.
                                  (Monad m, Show a) =>
                                  Either a b -> m b
        at src/Codec/Crypto/RSA/Pure.hs:114:1-53
      Possible fix:
        add (MonadFail m) to the context of
          the type signature for:
            failOnError :: forall (m :: * -> *) a b.
                           (Monad m, Show a) =>
                           Either a b -> m b
    • In the expression: fail (show e)
      In an equation for ‘failOnError’:
          failOnError (Left e) = fail (show e)
    |
115 | failOnError (Left e)  = fail (show e)
    |                         ^^^^^^^^^^^^^
Package has no test suites.
haddockPhase

builder for '/nix/store/iamd2pmg0xhh67b9wx23pfq815v1rpg5-RSA-2.3.1.drv' failed with exit code 1
cannot build derivation '/nix/store/i1fqnspxpy7ikvbzbnr484dlggn98dpk-ghc-8.8.3-with-packages.drv': 1 dependencies couldn't be built
unhammer
  • 4,306
  • 2
  • 39
  • 52
  • 1
    The log is an interleaving of concurrent builds. To get a single log you could use `nix-store -l /nix/store/iamd2pmg0xhh67b9wx23pfq815v1rpg5-RSA-2.3.1.drv`. (That's the one it say that has failed at the end) – Robert Hensing Oct 10 '20 at 19:18
  • 2
    IHP comes with a fixed version of Nixpkgs, which itself has a fixed set of versions for Haskell packages, based on an LTS snapshot but modified to support some other packages. This seems like an important package so probably IHP should be fixed by upgrading its version pin for Nixpkgs, or it could move to proper stackage snapshots with https://github.com/input-output-hk/haskell.nix – Robert Hensing Oct 10 '20 at 19:23

1 Answers1

2

This is a known issue. To fix the RSA package that causes the build failure, create a file Config/nix/haskell-packages/RSA.nix and paste in the following content:

{ mkDerivation, base, binary, bytestring, crypto-api
, crypto-pubkey-types, QuickCheck, SHA, stdenv, tagged
, test-framework, test-framework-quickcheck2
}:
mkDerivation {
  pname = "RSA";
  version = "2.4.1";
  sha256 = "0hchsqrxpfw7mqrqwscfy8ig1w2di6w3nxpzi873w0gibv2diibj";
  libraryHaskellDepends = [
    base binary bytestring crypto-api crypto-pubkey-types SHA
  ];
  testHaskellDepends = [
    base binary bytestring crypto-api crypto-pubkey-types QuickCheck
    SHA tagged test-framework test-framework-quickcheck2
  ];
  description = "Implementation of RSA, using the padding schemes of PKCS#1 v2.1.";
  license = stdenv.lib.licenses.bsd3;
}

This overrides the existing RSA package to use a newer version. After that make -B .envrc should work as expected.

In case you're curious how to update an existing package from the IHP nixpkgs version, take a look at https://ihp.digitallyinduced.com/Guide/package-management.html#using-a-different-version-of-a-haskell-package :)

Marc Scholten
  • 1,351
  • 3
  • 5
  • 1
    Just added this RSA package definition to the IHP package set itself (https://github.com/digitallyinduced/ihp/commit/1caa920be08b2dc96c22f084ac844f61ef8165a5). This way after the next IHP release this error will not happen anymore. – Marc Scholten Oct 11 '20 at 09:44
  • Thanks! That worked. So (for popular packages) this kind of thing should be reported to the ihp issue tracker? – unhammer Oct 13 '20 at 13:39
  • Yes, for popular packages it totally makes sense – Marc Scholten Oct 14 '20 at 15:09