@@ -24,6 +24,7 @@ import Distribution.PackageDescription
2424import qualified Distribution.PackageDescription as Cabal
2525import Distribution.Types.LegacyExeDependency as Cabal
2626import Distribution.Types.PkgconfigDependency as Cabal
27+import Distribution.Types.UnqualComponentName as Cabal
2728import Distribution.PackageDescription.Configuration as Cabal
2829import Distribution.Types.ComponentRequestedSpec as Cabal
2930import Distribution.System
@@ -124,9 +125,13 @@ fromPackageDescription haskellResolver nixpkgsResolver missingDeps flags (Packag
124125 resolveInHackageThenNixpkgs i | haskellResolver (Dependency (mkPackageName (i^.ident)) anyVersion) = resolveInHackage i
125126 | otherwise = resolveInNixpkgs i
126127
128+ internalLibNames :: [PackageName]
129+ internalLibNames = fmap unqualComponentNameToPackageName . catMaybes
130+ $ libName <$> subLibraries
131+
127132 convertBuildInfo :: Cabal.BuildInfo -> Nix.BuildInfo
128133 convertBuildInfo Cabal.BuildInfo {..} = mempty
129− & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _) <- targetBuildDepends ]
134+ & haskell .~ Set.fromList [ resolveInHackage (toNixName x) | (Dependency x _) <- targetBuildDepends, not (x `elem` internalLibNames) ]
130135 & system .~ Set.fromList [ resolveInNixpkgs y | x <- extraLibs, y <- libNixName x ]
131136 & pkgconfig .~ Set.fromList [ resolveInNixpkgs y | PkgconfigDependency x _ <- pkgconfigDepends, y <- libNixName (unPkgconfigName x) ]
132137 & tool .~ Set.fromList [ resolveInHackageThenNixpkgs y | LegacyExeDependency x _ <- buildTools, y <- buildToolNixName x ]