@@ -2,7 +2,7 @@ module Cabal2Nix.Package
22 ( cabal2nix, showNixPkg
33 , PkgName, PkgVersion, PkgSHA256, PkgURL, PkgDescription, PkgLicense
44 , PkgIsLib, PkgIsExe, PkgDependencies, PkgBuildTools, PkgExtraLibs
5− , PkgPkgconfigDeps, PkgPlatforms, PkgMaintainers, Pkg(..)
5+ , PkgPkgconfigDeps, PkgPlatforms, PkgMaintainers, PkgNoHaddock, Pkg(..)
66 )
77 where
88
@@ -34,6 +34,7 @@ type PkgDependencies = [Dependency] -- [CondTree ConfVar [Dependency] ()]
3434type PkgBuildTools = [Dependency]
3535type PkgExtraLibs = [String]
3636type PkgPkgconfigDeps = [String]
37+type PkgNoHaddock = Bool
3738type PkgPlatforms = [String]
3839type PkgMaintainers = [String]
3940
@@ -49,13 +50,14 @@ data Pkg = Pkg PkgName
4950 PkgBuildTools
5051 PkgExtraLibs
5152 PkgPkgconfigDeps
53+ PkgNoHaddock
5254 PkgPlatforms
5355 PkgMaintainers
5456 deriving (Show)
5557
5658showNixPkg :: Pkg -> String
5759showNixPkg (Pkg name ver sha256 url desc lic isLib isExe deps
58− tools libs pcs platforms maintainers) =
60+ tools libs pcs noHaddock platforms maintainers) =
5961 render doc
6062 where
6163 doc = funargs (map text ("cabal" : pkgInputs)) $$
@@ -73,6 +75,7 @@ showNixPkg (Pkg name ver sha256 url desc lic isLib isExe deps
7375 listattr "buildTools" pkgBuildTools,
7476 listattr "extraLibraries" pkgLibs,
7577 listattr "pkgconfigDepends" pkgPCs,
78+ boolattr "noHaddock" noHaddock noHaddock,
7679 vcat [
7780 text "meta" <+> equals <+> lbrace,
7881 nest 2 $ vcat [
@@ -101,14 +104,15 @@ showNixPkg (Pkg name ver sha256 url desc lic isLib isExe deps
101104 pkgInputs = nub $ pkgLibs ++ pkgPCs ++ pkgBuildTools ++ pkgDeps
102105
103106
104−cabal2nix :: GenericPackageDescription -> PkgSHA256 -> PkgPlatforms -> PkgMaintainers -> Pkg
105−cabal2nix cabal sha256 platforms maintainers =
107+cabal2nix :: GenericPackageDescription -> PkgSHA256 -> PkgNoHaddock -> PkgPlatforms -> PkgMaintainers -> Pkg
108+cabal2nix cabal sha256 noHaddock platforms maintainers =
106109 Pkg pkgname pkgver sha256 url desc lic
107110 isLib isExe
108111 (buildDepends tpkg)
109112 tools
110113 libs
111114 pcs
115+ noHaddock
112116 [ if '.' `elem` p then p else "self.stdenv.lib.platforms." ++ p | p <- platforms ]
113117 [ if '.' `elem` m then m else "self.stdenv.lib.maintainers." ++ m | m <- maintainers ]
114118 where