@@ -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
27 deriving (Show)
28 deriving (Show)
@@ -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
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"
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)
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