Skip to content

Commit 9f76d8f

Browse files
authored
Merge pull request #5815 from fgaz/library-visibility-ipi
Add LibraryVisibility to InstalledPackageInfo
2 parents 5d579ab + 9f2867c commit 9f76d8f

File tree

9 files changed

+20
-4
lines changed

9 files changed

+20
-4
lines changed

Cabal/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
* Add `extra-dynamic-library-flavours`, to specify extra dynamic library
88
flavours to build and install from a .cabal file.
99
* `autoconfUserHooks` now passes `--host=$HOST` when cross-compiling
10+
* Add a `LibraryVisibility` field to `InstalledPackageInfo`
1011

1112
----
1213

Cabal/Distribution/Simple/Register.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,8 @@ generalInstalledPackageInfo adjustRelIncDirs pkg abi_hash lib lbi clbi installDi
447447
IPI.frameworkDirs = extraFrameworkDirs bi,
448448
IPI.haddockInterfaces = [haddockdir installDirs </> haddockName pkg],
449449
IPI.haddockHTMLs = [htmldir installDirs],
450-
IPI.pkgRoot = Nothing
450+
IPI.pkgRoot = Nothing,
451+
IPI.libVisibility = libVisibility lib
451452
}
452453
where
453454
ghc84 = case compilerId $ compiler lbi of

Cabal/Distribution/Types/InstalledPackageInfo.hs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import Distribution.ModuleName
2020
import Distribution.Package hiding (installedUnitId)
2121
import Distribution.Types.AbiDependency
2222
import Distribution.Types.ExposedModule
23+
import Distribution.Types.LibraryVisibility
2324
import Distribution.Types.MungedPackageId
2425
import Distribution.Types.MungedPackageName
2526
import Distribution.Types.UnqualComponentName
@@ -86,7 +87,8 @@ data InstalledPackageInfo
8687
frameworks :: [String],
8788
haddockInterfaces :: [FilePath],
8889
haddockHTMLs :: [FilePath],
89-
pkgRoot :: Maybe FilePath
90+
pkgRoot :: Maybe FilePath,
91+
libVisibility :: LibraryVisibility
9092
}
9193
deriving (Eq, Generic, Typeable, Read, Show)
9294

@@ -166,5 +168,6 @@ emptyInstalledPackageInfo
166168
frameworks = [],
167169
haddockInterfaces = [],
168170
haddockHTMLs = [],
169-
pkgRoot = Nothing
171+
pkgRoot = Nothing,
172+
libVisibility = LibraryVisibilityPrivate
170173
}

Cabal/Distribution/Types/InstalledPackageInfo/FieldGrammar.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import Distribution.Package
2121
import Distribution.Parsec
2222
import Distribution.Parsec.Newtypes
2323
import Distribution.Pretty
24+
import Distribution.Types.LibraryVisibility
2425
import Distribution.Types.MungedPackageName
2526
import Distribution.Types.UnqualComponentName
2627
import Distribution.Version
@@ -100,6 +101,7 @@ ipiFieldGrammar = mkInstalledPackageInfo
100101
<+> monoidalFieldAla "haddock-interfaces" (alaList' FSep FilePathNT) L.haddockInterfaces
101102
<+> monoidalFieldAla "haddock-html" (alaList' FSep FilePathNT) L.haddockHTMLs
102103
<+> optionalFieldAla "pkgroot" FilePathNT L.pkgRoot
104+
<+> optionalFieldDef "visibility" L.libVisibility LibraryVisibilityPrivate
103105
where
104106
mkInstalledPackageInfo _ Basic {..} = InstalledPackageInfo
105107
-- _basicPkgName is not used

Cabal/Distribution/Types/InstalledPackageInfo/Lens.hs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import Distribution.License (License)
1212
import Distribution.ModuleName (ModuleName)
1313
import Distribution.Package (AbiHash, ComponentId, PackageIdentifier, UnitId)
1414
import Distribution.Types.InstalledPackageInfo (AbiDependency, ExposedModule, InstalledPackageInfo)
15+
import Distribution.Types.LibraryVisibility (LibraryVisibility)
1516
import Distribution.Types.UnqualComponentName (UnqualComponentName)
1617

1718
import qualified Distribution.SPDX as SPDX
@@ -181,3 +182,7 @@ pkgRoot :: Lens' InstalledPackageInfo (Maybe FilePath)
181182
pkgRoot f s = fmap (\x -> s { T.pkgRoot = x }) (f (T.pkgRoot s))
182183
{-# INLINE pkgRoot #-}
183184

185+
libVisibility :: Lens' InstalledPackageInfo LibraryVisibility
186+
libVisibility f s = fmap (\x -> s { T.libVisibility = x }) (f (T.libVisibility s))
187+
{-# INLINE libVisibility #-}
188+

Cabal/tests/ParserTests/ipi/Includes2.expr

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ InstalledPackageInfo
3636
(DefUnitId `UnitId "Includes2-0.1.0.0-inplace-mysql"`))
3737
`ModuleName ["Database","MySQL"]`)],
3838
ldOptions = [],
39+
libVisibility = LibraryVisibilityPrivate,
3940
libraryDirs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"],
4041
libraryDynDirs = ["/home/travis/build/haskell/cabal/cabal-testsuite/PackageTests/Backpack/Includes2/cabal-internal.dist/work/./dist/build/x86_64-linux/ghc-8.2.2/Includes2-0.1.0.0/l/mylib/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n/build/Includes2-0.1.0.0-inplace-mylib+3gY9SyjX86dBypHcOaev1n"],
4142
license = Right BSD3,

Cabal/tests/ParserTests/ipi/internal-preprocessor-test.expr

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ InstalledPackageInfo
2929
installedUnitId = `UnitId "internal-preprocessor-test-0.1.0.0"`,
3030
instantiatedWith = [],
3131
ldOptions = [],
32+
libVisibility = LibraryVisibilityPrivate,
3233
libraryDirs = ["/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build",
3334
"/home/ogre/Documents/other-haskell/cabal/cabal-testsuite/PackageTests/CustomPreProcess/setup.dist/work/dist/build"],
3435
libraryDynDirs = [],

Cabal/tests/ParserTests/ipi/issue-2276-ghc-9885.expr

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2071,6 +2071,7 @@ InstalledPackageInfo
20712071
"-lm",
20722072
"-lm",
20732073
"-lm"],
2074+
libVisibility = LibraryVisibilityPrivate,
20742075
libraryDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],
20752076
libraryDynDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],
20762077
license = Right BSD3,

Cabal/tests/ParserTests/ipi/transformers.expr

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ InstalledPackageInfo
44
author = "Andy Gill, Ross Paterson",
55
category = "Control",
66
ccOptions = [],
7-
cxxOptions = [],
87
compatPackageKey = "transformers-0.5.2.0",
98
copyright = "",
9+
cxxOptions = [],
1010
dataDir = "/opt/ghc/8.2.2/share/x86_64-linux-ghc-8.2.2/transformers-0.5.2.0",
1111
depends = [`UnitId "base-4.10.1.0"`],
1212
description = concat
@@ -71,6 +71,7 @@ InstalledPackageInfo
7171
installedUnitId = `UnitId "transformers-0.5.2.0"`,
7272
instantiatedWith = [],
7373
ldOptions = [],
74+
libVisibility = LibraryVisibilityPrivate,
7475
libraryDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],
7576
libraryDynDirs = ["/opt/ghc/8.2.2/lib/ghc-8.2.2/transformers-0.5.2.0"],
7677
license = Right BSD3,

0 commit comments

Comments
 (0)