git.iko.soy/typeable/cabal2nix
on master help sign in
Add support for jailbreak attribute.
commit8d405d91e08e66d64923ad34fae8dfaf2b5c4fab authorPeter Simons <simons@cryp.to> dateMon 10 Sep 2012, 14:01 (14 years ago) parentc35350d
3 files changed+7−3
src/Cabal2Nix/Generate.hs+1 src/Distribution/NixOS/Derivation/Cabal.hs+5−2 src/Hackage4Nix.hs+1−1
src/Cabal2Nix/Generate.hs+1
@@ -27,6 +27,7 @@ cabal2nix cabal = normalize $ postProcess MkDerivation
2727 , configureFlags = []
2828 , cabalFlags = configureCabalFlags pkg
2929 , runHaddock = True
30+ , jailbreak = False
3031 , phaseOverrides = ""
3132 , metaSection = Meta
3233 { homepage = Cabal.homepage descr
src/Distribution/NixOS/Derivation/Cabal.hs+5−2
@@ -53,6 +53,7 @@ data Derivation = MkDerivation
5353 , configureFlags :: [String]
5454 , cabalFlags :: FlagAssignment
5555 , runHaddock :: Bool
56+ , jailbreak :: Bool
5657 , phaseOverrides :: String
5758 , metaSection :: Meta
5859 }
@@ -81,6 +82,7 @@ renderDerivation deriv = funargs (map text ("cabal" : inputs)) $$ vcat
8182 , listattr "pkgconfigDepends" (pkgConfDeps deriv)
8283 , onlyIf renderedFlags $ attr "configureFlags" $ doubleQuotes (sep renderedFlags)
8384 , boolattr "noHaddock" (not (runHaddock deriv)) (not (runHaddock deriv))
85+ , boolattr "jailbreak" (jailbreak deriv) (jailbreak deriv)
8486 , onlyIf (phaseOverrides deriv) $ vcat ((map text . lines) (phaseOverrides deriv))
8587 , disp (metaSection deriv)
8688 ]
@@ -107,6 +109,7 @@ parseDerivation buf
107109 , plats <- buf `regsubmatch` "platforms *= *([^;]+);"
108110 , maint <- buf `regsubmatch` "maintainers *= *\\[([^\"]+)]"
109111 , noHaddock <- buf `regsubmatch` "noHaddock *= *(true|false) *;"
112+ , jailBreak <- buf `regsubmatch` "jailbreak *= *(true|false) *;"
110113 = Just MkDerivation
111114 { pname = name
112115 , version = vers
@@ -119,8 +122,8 @@ parseDerivation buf
119122 , pkgConfDeps = []
120123 , configureFlags = []
121124 , cabalFlags = []
122− , runHaddock = case noHaddock of "true":[] -> False
123− _ -> True
125+ , runHaddock = noHaddock /= ["true"]
126+ , jailbreak = jailBreak == ["true"]
124127 , phaseOverrides = ""
125128 , metaSection = Meta
126129 { homepage = ""
src/Hackage4Nix.hs+1−1
@@ -114,7 +114,7 @@ updateNixPkgs paths = do
114114 when regenerate $ do
115115 msgDebug ("re-generate " ++ path)
116116 pkg <- getCabalPackage (pname deriv) (version deriv)
117− let deriv' = (cabal2nix pkg) { sha256 = sha256 deriv, runHaddock = runHaddock deriv }
117+ let deriv' = (cabal2nix pkg) { sha256 = sha256 deriv, runHaddock = runHaddock deriv, jailbreak = jailbreak deriv }
118118 meta = metaSection deriv'
119119 plats' = if null plats then platforms meta else plats
120120 deriv'' = deriv' { metaSection = meta