diff --git a/test/default.nix b/test/default.nix index e1784beb49..f7ac3ae261 100644 --- a/test/default.nix +++ b/test/default.nix @@ -233,6 +233,7 @@ let plugin = callTest ./plugin {}; supported-languages = callTest ./supported-langauges {}; js-template-haskell = callTest ./js-template-haskell {}; + src-loc = callTest ./src-loc { inherit util; }; unit = unitTests; }; diff --git a/test/src-loc/default.nix b/test/src-loc/default.nix new file mode 100644 index 0000000000..060fb8d226 --- /dev/null +++ b/test/src-loc/default.nix @@ -0,0 +1,25 @@ +# See https://github.com/input-output-hk/haskell.nix/issues/2228 +{ stdenv, lib, util, project', haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, evalPackages, buildPackages }: + +with lib; + +let + project = project' { + inherit compiler-nix-name evalPackages; + src = testSrc "src-loc"; + }; + + packages = project.hsPkgs; + +in recurseIntoAttrs rec { + meta.disabled = stdenv.hostPlatform.isGhcjs; + + ifdInputs = { + inherit (project) plan-nix; + }; + + build = packages.src-loc.components.exes.src-loc; + check = haskellLib.check build; + build-profiled = packages.src-loc.components.exes.src-loc.profiled; + check-profiled = haskellLib.check build-profiled; +} diff --git a/test/src-loc/src-loc.cabal b/test/src-loc/src-loc.cabal new file mode 100644 index 0000000000..a3b5731cc2 --- /dev/null +++ b/test/src-loc/src-loc.cabal @@ -0,0 +1,13 @@ +cabal-version: >=1.10 +name: src-loc +version: 0.1.0.0 +license: PublicDomain +author: Hamish Mackenzie +maintainer: Hamish.K.Mackenzie@gmail.com +build-type: Simple + +executable src-loc + build-depends: base + main-is: Main.hs + hs-source-dirs: src + default-language: Haskell2010 diff --git a/test/src-loc/src/Main.hs b/test/src-loc/src/Main.hs new file mode 100644 index 0000000000..e74e25e538 --- /dev/null +++ b/test/src-loc/src/Main.hs @@ -0,0 +1,9 @@ +module Main where + +import GHC.Types.SrcLoc + +main :: IO () +main = putStrLn "yeah" + +data Foo = Foo PsLoc +