@@ -6,23 +6,22 @@ module Main ( main ) where
6import Control.Exception ( bracket )
6import Control.Exception ( bracket )
7import Data.Maybe ( fromMaybe )
7import Data.Maybe ( fromMaybe )
8import qualified Data.Set as Set
8import qualified Data.Set as Set
9−import Distribution.Compiler
10import Distribution.Nixpkgs.Fetch
9import Distribution.Nixpkgs.Fetch
11import Distribution.Nixpkgs.Haskell
10import Distribution.Nixpkgs.Haskell
12import Distribution.Nixpkgs.Haskell.FromCabal
11import Distribution.Nixpkgs.Haskell.FromCabal
12+import Distribution.Nixpkgs.Haskell.FromCabal.Configuration.GHC7102
13import Distribution.Nixpkgs.Meta
13import Distribution.Nixpkgs.Meta
14import Distribution.PackageDescription ( FlagName(..), FlagAssignment )
14import Distribution.PackageDescription ( FlagName(..), FlagAssignment )
15import Distribution.Simple.Utils ( lowercase )
15import Distribution.Simple.Utils ( lowercase )
16−import Distribution.System
17−import Distribution.Version
18import Internal.HaskellPackage
16import Internal.HaskellPackage
19import Internal.Lens
17import Internal.Lens
20−import Internal.PrettyPrinting hiding ( (<>) )
21import Internal.Version
18import Internal.Version
19+import Internal.PrettyPrinting hiding ( (<>) )
22import Language.Nix
20import Language.Nix
23import Options.Applicative
21import Options.Applicative
24import System.IO ( hFlush, stdout, stderr )
22import System.IO ( hFlush, stdout, stderr )
25import qualified Text.PrettyPrint.ANSI.Leijen as P2 hiding ( (<$>), (<>) )
23import qualified Text.PrettyPrint.ANSI.Leijen as P2 hiding ( (<$>), (<>) )
24+-- import Text.Show.Pretty
27data Options = Options
26data Options = Options
28 { optSha256 :: Maybe String
27 { optSha256 :: Maybe String
@@ -93,8 +92,8 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
93 deriv :: Derivation
92 deriv :: Derivation
94 deriv = fromGenericPackageDescription (const True)
93 deriv = fromGenericPackageDescription (const True)
95 (\i -> Just (create binding (i, create path [i])))
94 (\i -> Just (create binding (i, create path [i])))
96− (Platform X86_64 Linux)
95+ (platform ghc7102)
97− (unknownCompilerInfo (CompilerId GHC (Version [7,10,2] [])) NoAbiTag)
96+ (compilerInfo ghc7102)
100 (pkgCabal pkg)
99 (pkgCabal pkg)
@@ -107,9 +106,6 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
107 & doCheck &&~ optDoCheck
106 & doCheck &&~ optDoCheck
108 & extraFunctionArgs . contains "stdenv" .~ True
107 & extraFunctionArgs . contains "stdenv" .~ True
111− deriv' = pPrint deriv
113 shell :: Doc
109 shell :: Doc
114 shell = vcat
110 shell = vcat
115 [ text "{ nixpkgs ? import <nixpkgs> {}, compiler ? \"default\" }:"
111 [ text "{ nixpkgs ? import <nixpkgs> {}, compiler ? \"default\" }:"
@@ -118,7 +114,7 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
118 , text ""
114 , text ""
119 , text " inherit (nixpkgs) pkgs;"
115 , text " inherit (nixpkgs) pkgs;"
120 , text ""
116 , text ""
121− , hcat [ text " f = ", deriv', semi ]
117+ , hcat [ text " f = ", pPrint deriv, semi ]
122 , text ""
118 , text ""
123 , text " haskellPackages = if compiler == \"default\""
119 , text " haskellPackages = if compiler == \"default\""
124 , text " then pkgs.haskellPackages"
120 , text " then pkgs.haskellPackages"
@@ -131,7 +127,8 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
131 , text " if pkgs.lib.inNixShell then drv.env else drv"
127 , text " if pkgs.lib.inNixShell then drv.env else drv"
130+ -- putStrLn $ ppShow deriv
134− print (if optNixShellOutput then shell else deriv')
131+ print (if optNixShellOutput then shell else pPrint deriv)
136readFlagList :: [String] -> FlagAssignment
133readFlagList :: [String] -> FlagAssignment
137readFlagList = map tagWithValue
134readFlagList = map tagWithValue