1
- {-# LANGUAGE DeriveDataTypeable, GeneralizedNewtypeDeriving, RecordWildCards,
2
- TemplateHaskell, TypeFamilies, FlexibleInstances, MultiParamTypeClasses,
3
- OverloadedStrings #-}
1
+ {-# LANGUAGE ConstraintKinds #-}
2
+ {-# LANGUAGE DeriveDataTypeable #-}
3
+ {-# LANGUAGE FlexibleInstances #-}
4
+ {-# LANGUAGE GeneralizedNewtypeDeriving #-}
5
+ {-# LANGUAGE MultiParamTypeClasses #-}
6
+ {-# LANGUAGE OverloadedStrings #-}
7
+ {-# LANGUAGE RecordWildCards #-}
8
+ {-# LANGUAGE TemplateHaskell #-}
9
+ {-# LANGUAGE TypeFamilies #-}
4
10
-----------------------------------------------------------------------------
5
11
-- |
6
12
-- Module : Distribution.Client.Reporting
@@ -52,14 +58,16 @@ import Distribution.CabalSpecVersion
52
58
import Distribution.Pretty
53
59
( Pretty (.. ), pretty , prettyShow )
54
60
import qualified Text.PrettyPrint as Disp
55
- import Distribution.Parsec.Newtypes
61
+
56
62
import Distribution.Parsec
57
63
( Parsec (.. ), PError (.. ), parsec )
58
64
import qualified Distribution.Parsec as P
59
65
import qualified Distribution.Compat.CharParsing as P
60
66
import Distribution.FieldGrammar
61
67
( FieldGrammar , parseFieldGrammar , prettyFieldGrammar , partitionFields
62
- , uniqueField , uniqueFieldAla , booleanFieldDef , monoidalFieldAla )
68
+ , uniqueField , uniqueFieldAla , booleanFieldDef , monoidalFieldAla
69
+ , List , alaList
70
+ , VCat (.. ), FSep (.. ) )
63
71
import Distribution.Fields.Parser
64
72
( readFields )
65
73
import Distribution.Fields.Pretty
@@ -83,6 +91,7 @@ import Text.StringTemplate.Classes
83
91
84
92
import Data.String (fromString )
85
93
import Data.Aeson
94
+ import Data.Functor.Identity (Identity )
86
95
import Data.List
87
96
( unfoldr , isInfixOf )
88
97
import Data.List.NonEmpty (toList )
@@ -308,7 +317,21 @@ show = showFields (const []) . prettyFieldGrammar CabalSpecV2_4 fieldDescrs
308
317
-- -----------------------------------------------------------------------------
309
318
-- Description of the fields, for parsing/printing
310
319
311
- fieldDescrs :: (Applicative (g BuildReport ), FieldGrammar g ) => g BuildReport BuildReport
320
+
321
+ fieldDescrs
322
+ :: ( Applicative (g BuildReport ), FieldGrammar c g
323
+ , c (Identity Arch )
324
+ , c (Identity CompilerId )
325
+ , c (List FSep (Identity FlagAss1 ) FlagAss1 )
326
+ -- , c (Identity FlagAssignment)
327
+ , c (Identity InstallOutcome )
328
+ , c (Identity OS )
329
+ , c (Identity Outcome )
330
+ , c (Identity PackageIdentifier )
331
+ , c (List VCat (Identity PackageIdentifier ) PackageIdentifier )
332
+ , c Time
333
+ )
334
+ => g BuildReport BuildReport
312
335
fieldDescrs =
313
336
BuildReport
314
337
<$> uniqueField " package" packageL
0 commit comments