Browse Source

shell repro

master
parent
commit
9f7560d25b
4 changed files with 21 additions and 39 deletions
  1. +3
    -37
      README.md
  2. +2
    -1
      cabal.project
  3. +1
    -1
      dummy-app/app/dummy-app.hs
  4. +15
    -0
      shell.nix

+ 3
- 37
README.md View File

@ -1,39 +1,5 @@
# `haskell-nix.cabalProject` bug minimal repro
1. Clone this repo.
2. Run `nix build -f . dummy-app.components.exes.dummy-app`.
Expected output:
```
trace: Using latest index state!
trace: Using index-state: 2019-12-14T00:00:00Z
builder for '/nix/store/g5023y5h06iy1bj076zzaaza0v8c80w3-plan-to-nix-pkgs.drv' failed with exit code 128; last 2 log lines:
Cloning into '/build/tmp.UZdw0uapal/dist-newstyle/src/canonical_-1f90751276f12f5a'...
fatal: unable to access 'http://github.com/well-typed/canonical-json/': Could not resolve host: github.com
[1 built (1 failed), 0.0 MiB DL]
error: build of '/nix/store/g5023y5h06iy1bj076zzaaza0v8c80w3-plan-to-nix-pkgs.
```
Out of curiosity, I tried to disable the sandbox to see whether the build would succeed without it:
```
nix build -f . dummy-app.components.exes.dummy-app --option sandbox false
trace: Using latest index state!
trace: Using index-state: 2019-12-14T00:00:00Z
builder for '/nix/store/g5023y5h06iy1bj076zzaaza0v8c80w3-plan-to-nix-pkgs.drv' failed with exit code 128; last 9 log lines:
Cloning into '/tmp/nix-build-plan-to-nix-pkgs.drv-0/tmp.GquFxkVGQR/dist-newstyle/src/canonical_-1f90751276f12f5a'...
warning: redirecting to https://github.com/well-typed/canonical-json/
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 130 (delta 0), reused 1 (delta 0), pack-reused 126
Receiving objects: 100% (130/130), 582.22 KiB | 1.43 MiB/s, done.
Resolving deltas: 100% (51/51), done.
fatal: invalid reference: ddfe3593b80b5ceb88842bb7a6f2268df75d2c2fpackages:
[0 built (1 failed)]
error: build of '/nix/store/g5023y5h06iy1bj076zzaaza0v8c80w3-plan-to-nix-pkgs.drv' failed
(use '--show-trace' to show detailed location information)
```
Seems like something else is wrong here.
- `nix build -f . dummy-app.components.exes.dummy-app` succeeds.
- `cabal new-build` tries to fetch the `canonical` repo instead of
using the one cached in the `ghc-pkg` repo.

+ 2
- 1
cabal.project View File

@ -7,4 +7,5 @@ package dummy-app
source-repository-package
type: git
location: http://github.com/well-typed/canonical-json
tag: ddfe3593b80b5ceb88842bb7a6f2268df75d2c2f
tag: ddfe3593b80b5ceb88842bb7a6f2268df75d2c2f
--sha256: 02fzn1xskis1lc1pkz0j92v6ipd89ww0k2p3dvwpm3yap5dpnm7k

+ 1
- 1
dummy-app/app/dummy-app.hs View File

@ -1,2 +1,2 @@
main :: IO ()
main = undefined
main = return ()

+ 15
- 0
shell.nix View File

@ -0,0 +1,15 @@
let
lib = import ./nix/lib.nix;
pkgs = lib.pkgs;
hsPkgs = import ./default.nix { };
in
hsPkgs.shellFor {
packages = ps: with ps; [
dummy-app
];
withHoogle = true;
buildInputs = with pkgs.haskellPackages;
[ hlint stylish-haskell ghcid lib.niv lib.pkgs.haskell-nix.cabal-install ];
exactDeps = true;
}

Loading…
Cancel
Save