@@ -2,7 +2,7 @@ module Cabal2Nix.Package
2 ( cabal2nix, showNixPkg
2 ( cabal2nix, showNixPkg
3 , PkgName, PkgVersion, PkgSHA256, PkgURL, PkgDescription, PkgLicense
3 , PkgName, PkgVersion, PkgSHA256, PkgURL, PkgDescription, PkgLicense
4 , PkgIsLib, PkgIsExe, PkgDependencies, PkgBuildTools, PkgExtraLibs
4 , PkgIsLib, PkgIsExe, PkgDependencies, PkgBuildTools, PkgExtraLibs
5− , PkgPkgconfigDeps, PkgPlatforms, PkgMaintainers, Pkg(..)
5+ , PkgPkgconfigDeps, PkgPlatforms, PkgMaintainers, PkgNoHaddock, Pkg(..)
@@ -34,6 +34,7 @@ type PkgDependencies = [Dependency] -- [CondTree ConfVar [Dependency] ()]
34type PkgBuildTools = [Dependency]
34type PkgBuildTools = [Dependency]
35type PkgExtraLibs = [String]
35type PkgExtraLibs = [String]
36type PkgPkgconfigDeps = [String]
36type PkgPkgconfigDeps = [String]
37+type PkgNoHaddock = Bool
37type PkgPlatforms = [String]
38type PkgPlatforms = [String]
38type PkgMaintainers = [String]
39type PkgMaintainers = [String]
@@ -49,13 +50,14 @@ data Pkg = Pkg PkgName
49 PkgBuildTools
50 PkgBuildTools
50 PkgExtraLibs
51 PkgExtraLibs
51 PkgPkgconfigDeps
52 PkgPkgconfigDeps
52 PkgPlatforms
54 PkgPlatforms
53 PkgMaintainers
55 PkgMaintainers
54 deriving (Show)
56 deriving (Show)
56showNixPkg :: Pkg -> String
58showNixPkg :: Pkg -> String
57showNixPkg (Pkg name ver sha256 url desc lic isLib isExe deps
59showNixPkg (Pkg name ver sha256 url desc lic isLib isExe deps
58− tools libs pcs platforms maintainers) =
60+ tools libs pcs noHaddock platforms maintainers) =
59 render doc
61 render doc
61 doc = funargs (map text ("cabal" : pkgInputs)) $$
63 doc = funargs (map text ("cabal" : pkgInputs)) $$
@@ -73,6 +75,7 @@ showNixPkg (Pkg name ver sha256 url desc lic isLib isExe deps
73 listattr "buildTools" pkgBuildTools,
75 listattr "buildTools" pkgBuildTools,
74 listattr "extraLibraries" pkgLibs,
76 listattr "extraLibraries" pkgLibs,
75 listattr "pkgconfigDepends" pkgPCs,
77 listattr "pkgconfigDepends" pkgPCs,
78+ boolattr "noHaddock" noHaddock noHaddock,
77 text "meta" <+> equals <+> lbrace,
80 text "meta" <+> equals <+> lbrace,
78 nest 2 $ vcat [
81 nest 2 $ vcat [
@@ -101,14 +104,15 @@ showNixPkg (Pkg name ver sha256 url desc lic isLib isExe deps
101 pkgInputs = nub $ pkgLibs ++ pkgPCs ++ pkgBuildTools ++ pkgDeps
104 pkgInputs = nub $ pkgLibs ++ pkgPCs ++ pkgBuildTools ++ pkgDeps
104−cabal2nix :: GenericPackageDescription -> PkgSHA256 -> PkgPlatforms -> PkgMaintainers -> Pkg
107+cabal2nix :: GenericPackageDescription -> PkgSHA256 -> PkgNoHaddock -> PkgPlatforms -> PkgMaintainers -> Pkg
105−cabal2nix cabal sha256 platforms maintainers =
108+cabal2nix cabal sha256 noHaddock platforms maintainers =
106 Pkg pkgname pkgver sha256 url desc lic
109 Pkg pkgname pkgver sha256 url desc lic
107 isLib isExe
110 isLib isExe
108 (buildDepends tpkg)
111 (buildDepends tpkg)
112 [ if '.' `elem` p then p else "self.stdenv.lib.platforms." ++ p | p <- platforms ]
116 [ if '.' `elem` p then p else "self.stdenv.lib.platforms." ++ p | p <- platforms ]
113 [ if '.' `elem` m then m else "self.stdenv.lib.maintainers." ++ m | m <- maintainers ]
117 [ if '.' `elem` m then m else "self.stdenv.lib.maintainers." ++ m | m <- maintainers ]