git.iko.soy/typeable/cabal2nix
on master help sign in
cabal2nix: add the --jailbreak command line option
6de6f4cPeter Simons
cabal2nix.cabal+1
@@ -22,6 +22,7 @@ Description:
22 > -m MAINTAINER --maintainer=MAINTAINER maintainer of this package (may be specified multiple times)
22 > -m MAINTAINER --maintainer=MAINTAINER maintainer of this package (may be specified multiple times)
23 > -p PLATFORM --platform=PLATFORM supported build platforms (may be specified multiple times)
23 > -p PLATFORM --platform=PLATFORM supported build platforms (may be specified multiple times)
24 > --no-check don't run regression test suites of this package
24 > --no-check don't run regression test suites of this package
25+ > --jailbreak don't honor version restrictions on build inputs
25 >
26 >
26 > Recognized URI schemes:
27 > Recognized URI schemes:
27 >
28 >
src/Cabal2Nix.hs+4−1
@@ -23,6 +23,7 @@ data Configuration = Configuration
23 , optPlatform :: [String]
23 , optPlatform :: [String]
24 , optHaddock :: Bool
24 , optHaddock :: Bool
25 , optDoCheck :: Bool
25 , optDoCheck :: Bool
26+ , optJailbreak :: Bool
26 }
27 }
27 deriving (Show)
28 deriving (Show)
28
29
@@ -35,6 +36,7 @@ defaultConfiguration = Configuration
35 , optPlatform = []
36 , optPlatform = []
36 , optHaddock = True
37 , optHaddock = True
37 , optDoCheck = True
38 , optDoCheck = True
39+ , optJailbreak = False
38 }
40 }
39
41
40options :: [OptDescr (Configuration -> Configuration)]
42options :: [OptDescr (Configuration -> Configuration)]
@@ -45,6 +47,7 @@ options =
45 , Option "p" ["platform"] (ReqArg (\x o -> o { optPlatform = x : optPlatform o }) "PLATFORM") "supported build platforms (may be specified multiple times)"
47 , Option "p" ["platform"] (ReqArg (\x o -> o { optPlatform = x : optPlatform o }) "PLATFORM") "supported build platforms (may be specified multiple times)"
46 , Option "" ["no-haddock"] (NoArg (\o -> o { optHaddock = False })) "don't run Haddock when building this package"
48 , Option "" ["no-haddock"] (NoArg (\o -> o { optHaddock = False })) "don't run Haddock when building this package"
47 , Option "" ["no-check"] (NoArg (\o -> o { optDoCheck = False })) "don't run regression test suites of this package"
49 , Option "" ["no-check"] (NoArg (\o -> o { optDoCheck = False })) "don't run regression test suites of this package"
50+ , Option "" ["jailbreak"] (NoArg (\o -> o { optJailbreak = True })) "don't honor version restrictions on build inputs"
48 ]
51 ]
49
52
50usage :: String
53usage :: String
@@ -83,7 +86,7 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
83 let packageId = package (packageDescription cabal)
86 let packageId = package (packageDescription cabal)
84 sha <- if null (optSha256 cfg) then hashPackage packageId else return (optSha256 cfg)
87 sha <- if null (optSha256 cfg) then hashPackage packageId else return (optSha256 cfg)
85
88
86− let deriv = (cabal2nix cabal) { sha256 = sha, runHaddock = optHaddock cfg }
89+ let deriv = (cabal2nix cabal) { sha256 = sha, runHaddock = optHaddock cfg, jailbreak = optJailbreak cfg }
87 deriv' = deriv { metaSection = (metaSection deriv)
90 deriv' = deriv { metaSection = (metaSection deriv)
88 { maintainers = optMaintainer cfg
91 { maintainers = optMaintainer cfg
89 , platforms = optPlatform cfg
92 , platforms = optPlatform cfg