git.iko.soy/typeable/cabal2nix
on master help sign in
hackage2nix: take doHaddock and doCheck settings from Hackage nightly
commit3cb7f9e7e3dbb71dd52d01bd942adb6ea411e86e authorPeter Simons <simons@cryp.to> dateWed 16 Sep 2015, 15:01 (11 years ago) parent41b5a8e
1 file changed+9−4
hackage2nix/src/Main.hs+9−4
hackage2nix/src/Main.hs+9−4
@@ -17,7 +17,7 @@ import Data.Set ( Set )
1717import qualified Data.Set as Set
1818import Data.String
1919import Distribution.Nixpkgs.Fetch
20−import Distribution.Nixpkgs.Haskell
20+import Distribution.Nixpkgs.Haskell as Derivation
2121import Distribution.Nixpkgs.Haskell.Constraint
2222import Distribution.Nixpkgs.Haskell.FromCabal
2323import Distribution.Nixpkgs.Haskell.FromCabal.Configuration as Config
@@ -153,18 +153,23 @@ main = do
153153 descr :: GenericPackageDescription
154154 descr = fromMaybe (abort "not on Hackage") (Map.lookup name hackage >>= Map.lookup v)
155155
156− flagAssignment :: FlagAssignment
157− flagAssignment = configureCabalFlags (packageId descr)
158−
159156 sha256 :: String
160157 sha256 = fromMaybe (abort "has no hash") (lookup "X-Package-SHA256" (customFieldsPD (packageDescription descr)))
161158
159+ spec :: Spec
160+ spec = Map.findWithDefault (Spec v mempty True True True) (PackageName name) (packages nightly)
161+
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.
164+
162165 attr :: String
163166 attr = if isInDefaultPackageSet then name else mangle pkgId
164167
165168 drv :: Derivation
166169 drv = fromGenericPackageDescription haskellResolver nixpkgsResolver targetPlatform (compilerInfo config) flagAssignment [] descr
167170 & src .~ DerivationSource "url" ("mirror://hackage/" ++ display pkgId ++ ".tar.gz") "" sha256
171+ & Derivation.runHaddock .~ (Stackage.runHaddock spec)
172+ & doCheck .~ runTests spec
168173 & metaSection.hydraPlatforms %~ (`Set.difference` Map.findWithDefault Set.empty (PackageName name) (dontDistributePackages config))
169174 & metaSection.maintainers .~ Map.findWithDefault Set.empty (PackageName name) globalPackageMaintainers
170175 & metaSection.hydraPlatforms %~ (if isInDefaultPackageSet then id else const Set.empty)