Skip to content

Use mkOverride 900 for project flags. #66

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Oct 13, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions plan2nix/Plan2Nix.hs
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,8 @@ plan2nix args (Plan { packages, extras, compilerVersion, compilerPackages }) = d
return $ fromString pkg $= mkPath False nix
_ -> return []
let flags = concatMap (\case
(name, Just (Package v r flags _)) -> flags2nix name flags) $ Map.toList extras
(name, Just (Package _v _r f _)) -> flags2nix name f
_ -> []) $ Map.toList extras

return $ mkNonRecSet [
"pkgs" $= ("hackage" ==> mkNonRecSet (
Expand All @@ -119,7 +120,7 @@ plan2nix args (Plan { packages, extras, compilerVersion, compilerPackages }) = d
]))
, "extras" $= ("hackage" ==> mkNonRecSet [ "packages" $= extrasNix ])
, "modules" $= mkList [
mkNonRecSet [ "packages" $= mkNonRecSet flags ]
mkParamset [("lib", Nothing)] True ==> mkNonRecSet [ "packages" $= mkNonRecSet flags ]
]
]
where
Expand Down Expand Up @@ -166,7 +167,9 @@ plan2nix args (Plan { packages, extras, compilerVersion, compilerPackages }) = d
flags2nix :: Text -> HashMap Text Bool -> [Binding NExpr]
flags2nix pkgName pkgFlags =
[ quoted pkgName $= mkNonRecSet
[ "flags" $= mkNonRecSet [ quoted flag $= mkBool val
-- `mkOverride 900` is used here so that the default values will be replaced (they are 1000).
-- Values without a priority are treated as 100 and will replace these ones.
[ "flags" $= mkNonRecSet [ quoted flag $= ("lib" @. "mkOverride" @@ mkInt 900 @@ mkBool val)
| (flag, val) <- Map.toList pkgFlags
]
]
Expand Down
6 changes: 4 additions & 2 deletions stack2nix/Stack2nix.hs
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ stack2nix args stack@(Stack resolver compiler pkgs pkgFlags ghcOpts) =
| (Just c) <- [compiler], let name = filter (`elem` ((['a'..'z']++['0'..'9']) :: [Char])) c]))
, "resolver" $= fromString (quoted resolver)
, "modules" $= mkList [
mkNonRecSet [ "packages" $= mkNonRecSet flags ]
mkParamset [("lib", Nothing)] True ==> mkNonRecSet [ "packages" $= mkNonRecSet flags ]
, mkNonRecSet [ "packages" $= mkNonRecSet ghcOptions ] ]
] ++ [
"compiler" $= fromString (quoted c) | (Just c) <- [compiler]
Expand Down Expand Up @@ -112,7 +112,9 @@ extraDeps2nix pkgs =
flags2nix :: PackageFlags -> [Binding NExpr]
flags2nix pkgFlags =
[ quoted pkgName $= mkNonRecSet
[ "flags" $= mkNonRecSet [ quoted flag $= mkBool val
-- `mkOverride 900` is used here so that the default values will be replaced (they are 1000).
-- Values without a priority are treated as 100 and will replace these ones.
[ "flags" $= mkNonRecSet [ quoted flag $= ("lib" @. "mkOverride" @@ mkInt 900 @@ mkBool val)
| (flag, val) <- HM.toList flags
]
]
Expand Down