git.iko.soy/typeable/cabal2nix
on master help sign in
fromGenericPackageDescription: added a horrible hack to restrict the set of known scopes found by the NixpkgsResolver
commit6530f942a748040b7e335ccc8f7dc1c1485bc7d1 authorPeter Simons <simons@cryp.to> dateWed 26 Aug 2015, 17:02 (11 years ago) parent4c2828b
1 file changed+5−1
src/Distribution/Nixpkgs/Haskell/FromCabal.hs+5−1
src/Distribution/Nixpkgs/Haskell/FromCabal.hs+5−1
@@ -99,10 +99,14 @@ fromPackageDescription haskellResolver nixpkgsResolver mismatchedDeps missingDep
9999 resolveInHackage i | (i^.ident) `elem` [ n | (Dependency (PackageName n) _) <- missingDeps ] = bindNull i
100100 | otherwise = create binding (i, create path ["self",i]) -- TODO: "self" shouldn't be hardcoded.
101101
102+ goodScopes :: Set [Identifier]
103+ goodScopes = Set.fromList (map ("pkgs":) [[], ["xlibs"], ["gnome"], ["gnome3"], ["kde4"]])
104+
102105 resolveInNixpkgs :: Identifier -> Binding
103106 resolveInNixpkgs i
104107 | i `elem` ["clang","lldb","llvm"] = create binding (i,create path ["self","llvmPackages",i]) -- TODO: evil!
105− | otherwise = fromMaybe (bindNull i) (nixpkgsResolver i)
108+ | Just p <- nixpkgsResolver i, init (view (reference . path) p) `Set.member` goodScopes = p
109+ | otherwise = bindNull i
106110
107111 resolveInHackageThenNixpkgs :: Identifier -> Binding
108112 resolveInHackageThenNixpkgs i | haskellResolver (Dependency (PackageName (i^.ident)) anyVersion) = resolveInHackage i