@@ -17,7 +17,7 @@ import Data.Set ( Set )
17import qualified Data.Set as Set
17import qualified Data.Set as Set
18import Data.String
18import Data.String
19import Distribution.Nixpkgs.Fetch
19import Distribution.Nixpkgs.Fetch
20−import Distribution.Nixpkgs.Haskell
20+import Distribution.Nixpkgs.Haskell as Derivation
21import Distribution.Nixpkgs.Haskell.Constraint
21import Distribution.Nixpkgs.Haskell.Constraint
22import Distribution.Nixpkgs.Haskell.FromCabal
22import Distribution.Nixpkgs.Haskell.FromCabal
23import Distribution.Nixpkgs.Haskell.FromCabal.Configuration as Config
23import Distribution.Nixpkgs.Haskell.FromCabal.Configuration as Config
@@ -153,18 +153,23 @@ main = do
153 descr :: GenericPackageDescription
153 descr :: GenericPackageDescription
154 descr = fromMaybe (abort "not on Hackage") (Map.lookup name hackage >>= Map.lookup v)
154 descr = fromMaybe (abort "not on Hackage") (Map.lookup name hackage >>= Map.lookup v)
156− flagAssignment :: FlagAssignment
157− flagAssignment = configureCabalFlags (packageId descr)
159 sha256 :: String
156 sha256 :: String
160 sha256 = fromMaybe (abort "has no hash") (lookup "X-Package-SHA256" (customFieldsPD (packageDescription descr)))
157 sha256 = fromMaybe (abort "has no hash") (lookup "X-Package-SHA256" (customFieldsPD (packageDescription descr)))
160+ spec = Map.findWithDefault (Spec v mempty True True True) (PackageName name) (packages nightly)
162+ flagAssignment :: FlagAssignment -- We don't use the flags from Stackage Nightly here, because
163+ flagAssignment = configureCabalFlags pkgId -- they are chosen specifically for GHC 7.10.2.
162 attr :: String
165 attr :: String
163 attr = if isInDefaultPackageSet then name else mangle pkgId
166 attr = if isInDefaultPackageSet then name else mangle pkgId
165 drv :: Derivation
168 drv :: Derivation
166 drv = fromGenericPackageDescription haskellResolver nixpkgsResolver targetPlatform (compilerInfo config) flagAssignment [] descr
169 drv = fromGenericPackageDescription haskellResolver nixpkgsResolver targetPlatform (compilerInfo config) flagAssignment [] descr
167 & src .~ DerivationSource "url" ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") "" sha256
170 & src .~ DerivationSource "url" ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") "" sha256
171+ & Derivation.runHaddock .~ (Stackage.runHaddock spec)
172+ & doCheck .~ runTests spec
168 & metaSection.hydraPlatforms %~ (`Set.difference` Map.findWithDefault Set.empty (PackageName name) (dontDistributePackages config))
173 & metaSection.hydraPlatforms %~ (`Set.difference` Map.findWithDefault Set.empty (PackageName name) (dontDistributePackages config))
169 & metaSection.maintainers .~ Map.findWithDefault Set.empty (PackageName name) globalPackageMaintainers
174 & metaSection.maintainers .~ Map.findWithDefault Set.empty (PackageName name) globalPackageMaintainers
170 & metaSection.hydraPlatforms %~ (if isInDefaultPackageSet then id else const Set.empty)
175 & metaSection.hydraPlatforms %~ (if isInDefaultPackageSet then id else const Set.empty)