@@ -23,6 +23,7 @@ data Configuration = Configuration
2323 , optPlatform :: [String]
2424 , optHaddock :: Bool
2525 , optDoCheck :: Bool
26+ , optJailbreak :: Bool
2627 }
2728 deriving (Show)
2829
@@ -35,6 +36,7 @@ defaultConfiguration = Configuration
3536 , optPlatform = []
3637 , optHaddock = True
3738 , optDoCheck = True
39+ , optJailbreak = False
3840 }
3941
4042options :: [OptDescr (Configuration -> Configuration)]
@@ -45,6 +47,7 @@ options =
4547 , Option "p" ["platform"] (ReqArg (\x o -> o { optPlatform = x : optPlatform o }) "PLATFORM") "supported build platforms (may be specified multiple times)"
4648 , Option "" ["no-haddock"] (NoArg (\o -> o { optHaddock = False })) "don't run Haddock when building this package"
4749 , 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"
4851 ]
4952
5053usage :: String
@@ -83,7 +86,7 @@ main = bracket (return ()) (\() -> hFlush stdout >> hFlush stderr) $ \() -> do
8386 let packageId = package (packageDescription cabal)
8487 sha <- if null (optSha256 cfg) then hashPackage packageId else return (optSha256 cfg)
8588
86− let deriv = (cabal2nix cabal) { sha256 = sha, runHaddock = optHaddock cfg }
89+ let deriv = (cabal2nix cabal) { sha256 = sha, runHaddock = optHaddock cfg, jailbreak = optJailbreak cfg }
8790 deriv' = deriv { metaSection = (metaSection deriv)
8891 { maintainers = optMaintainer cfg
8992 , platforms = optPlatform cfg