Skip to content

Commit 6d5ab50

Browse files
committed
Prevent dependency on private library
1 parent fd51946 commit 6d5ab50

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

Cabal/Distribution/Simple/Configure.hs

+5-4
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ import Distribution.Types.LegacyExeDependency
8383
import Distribution.Types.PkgconfigDependency
8484
import Distribution.Types.LocalBuildInfo
8585
import Distribution.Types.LibraryName
86+
import Distribution.Types.LibraryVisibility
8687
import Distribution.Types.ComponentRequestedSpec
8788
import Distribution.Types.ForeignLib
8889
import Distribution.Types.ForeignLibType
@@ -899,9 +900,9 @@ dependencySatisfiable
899900

900901
|| all
901902
(\lib ->
902-
(depName, CLibName lib)
903-
`Map.member`
904-
requiredDepsMap)
903+
let maybeIPI =
904+
(depName, CLibName lib) `Map.lookup` requiredDepsMap
905+
in (Just LibraryVisibilityPublic) == (Installed.libVisibility <$> maybeIPI))
905906
sublibs
906907

907908
| isInternalDep
@@ -965,7 +966,7 @@ configureFinalizedPackage verbosity cfg enabled
965966
pkg_descr0
966967
of Right r -> return r
967968
Left missing ->
968-
die' verbosity $ "Encountered missing dependencies:\n"
969+
die' verbosity $ "Encountered missing or private dependencies:\n"
969970
++ (render . nest 4 . sep . punctuate comma
970971
. map (pretty . simplifyDependency)
971972
$ missing)

0 commit comments

Comments
 (0)