@@ -206,9 +206,8 @@ generatePackageSet config hackage nixpkgs = do
207 formatOverride :: Attribute -> Maybe Path -> Doc
207 formatOverride :: Attribute -> Maybe Path -> Doc
208 formatOverride n Nothing = space <> text n <> text " = null;" -- missing attribute
208 formatOverride n Nothing = space <> text n <> text " = null;" -- missing attribute
209− formatOverride n (Just []) -- Haskell package:
209+ formatOverride n (Just []) = (text " inherit" <+> text n) <> semi
210− | n == name = formatOverride n Nothing -- refers to a missing system library
210+ formatOverride _ (Just ["self"]) = mempty -- callPackage finds this package already
211− | otherwise = mempty -- found by callPackage
212 formatOverride n (Just p) = (text " inherit" <+> parens (text (intercalate "." p)) <+> text n) <> semi
211 formatOverride n (Just p) = (text " inherit" <+> parens (text (intercalate "." p)) <+> text n) <> semi
214 overrides :: Doc
213 overrides :: Doc
@@ -238,7 +237,7 @@ generatePackageSet config hackage nixpkgs = do
239resolveHackageThenNixpkgsAttribute :: Nixpkgs -> Hackage -> Attribute -> Maybe Path
238resolveHackageThenNixpkgsAttribute :: Nixpkgs -> Hackage -> Attribute -> Maybe Path
240resolveHackageThenNixpkgsAttribute nixpkgs hackage name
239resolveHackageThenNixpkgsAttribute nixpkgs hackage name
241− | Just _ <- Map.lookup name hackage = Just []
240+ | Just _ <- Map.lookup name hackage = Just ["self"]
242 | p@(Just _) <- resolveNixpkgsAttribute nixpkgs name = p
241 | p@(Just _) <- resolveNixpkgsAttribute nixpkgs name = p
243 | otherwise = Nothing
242 | otherwise = Nothing