@@ -38,8 +38,6 @@ import Distribution.Simple.Compiler
38
38
import Distribution.Simple.InstallDirs
39
39
( PathTemplate , fromPathTemplate )
40
40
import Distribution.Pretty (prettyShow )
41
- import Distribution.Deprecated.Text
42
- ( display )
43
41
import Distribution.Types.PkgconfigVersion (PkgconfigVersion )
44
42
import Distribution.Client.HashValue
45
43
import Distribution.Client.Types
@@ -76,11 +74,22 @@ hashedInstalledPackageId
76
74
-- without significant path length limitations (ie not Windows).
77
75
--
78
76
hashedInstalledPackageIdLong :: PackageHashInputs -> InstalledPackageId
79
- hashedInstalledPackageIdLong pkghashinputs@ PackageHashInputs {pkgHashPkgId} =
80
- mkComponentId $
81
- display pkgHashPkgId -- to be a bit user friendly
82
- ++ " -"
83
- ++ showHashValue (hashPackageHashInputs pkghashinputs)
77
+ hashedInstalledPackageIdLong
78
+ pkghashinputs@ PackageHashInputs {pkgHashPkgId,pkgHashComponent}
79
+ = mkComponentId $
80
+ prettyShow pkgHashPkgId -- to be a bit user friendly
81
+ ++ maybe " " displayComponent pkgHashComponent
82
+ ++ " -"
83
+ ++ showHashValue (hashPackageHashInputs pkghashinputs)
84
+ where
85
+ displayComponent :: CD. Component -> String
86
+ displayComponent CD. ComponentLib = " "
87
+ displayComponent (CD. ComponentSubLib s) = " -l-" ++ prettyShow s
88
+ displayComponent (CD. ComponentFLib s) = " -f-" ++ prettyShow s
89
+ displayComponent (CD. ComponentExe s) = " -e-" ++ prettyShow s
90
+ displayComponent (CD. ComponentTest s) = " -t-" ++ prettyShow s
91
+ displayComponent (CD. ComponentBench s) = " -b-" ++ prettyShow s
92
+ displayComponent CD. ComponentSetup = " -setup"
84
93
85
94
-- | On Windows we have serious problems with path lengths. Windows imposes a
86
95
-- maximum path length of 260 chars, and even if we can use the windows long
@@ -105,8 +114,8 @@ hashedInstalledPackageIdShort pkghashinputs@PackageHashInputs{pkgHashPkgId} =
105
114
mkComponentId $
106
115
intercalate " -"
107
116
-- max length now 64
108
- [ truncateStr 14 (display name)
109
- , truncateStr 8 (display version)
117
+ [ truncateStr 14 (prettyShow name)
118
+ , truncateStr 8 (prettyShow version)
110
119
, showHashValue (truncateHash 20 (hashPackageHashInputs pkghashinputs))
111
120
]
112
121
where
@@ -143,8 +152,8 @@ hashedInstalledPackageIdVeryShort :: PackageHashInputs -> InstalledPackageId
143
152
hashedInstalledPackageIdVeryShort pkghashinputs@ PackageHashInputs {pkgHashPkgId} =
144
153
mkComponentId $
145
154
intercalate " -"
146
- [ filter (not . flip elem " aeiou" ) (display name)
147
- , display version
155
+ [ filter (not . flip elem " aeiou" ) (prettyShow name)
156
+ , prettyShow version
148
157
, showHashValue (truncateHash 4 (hashPackageHashInputs pkghashinputs))
149
158
]
150
159
where
@@ -250,56 +259,56 @@ renderPackageHashInputs PackageHashInputs{
250
259
-- into the ghc-pkg db. At that point this should probably be changed to
251
260
-- use the config file infrastructure so it can be read back in again.
252
261
LBS. pack $ unlines $ catMaybes $
253
- [ entry " pkgid" display pkgHashPkgId
262
+ [ entry " pkgid" prettyShow pkgHashPkgId
254
263
, mentry " component" show pkgHashComponent
255
264
, entry " src" showHashValue pkgHashSourceHash
256
265
, entry " pkg-config-deps"
257
- (intercalate " , " . map (\ (pn, mb_v) -> display pn ++
266
+ (intercalate " , " . map (\ (pn, mb_v) -> prettyShow pn ++
258
267
case mb_v of
259
268
Nothing -> " "
260
269
Just v -> " " ++ prettyShow v)
261
270
. Set. toList) pkgHashPkgConfigDeps
262
- , entry " deps" (intercalate " , " . map display
271
+ , entry " deps" (intercalate " , " . map prettyShow
263
272
. Set. toList) pkgHashDirectDeps
264
273
-- and then all the config
265
- , entry " compilerid" display pkgHashCompilerId
266
- , entry " platform" display pkgHashPlatform
274
+ , entry " compilerid" prettyShow pkgHashCompilerId
275
+ , entry " platform" prettyShow pkgHashPlatform
267
276
, opt " flags" mempty showFlagAssignment pkgHashFlagAssignment
268
277
, opt " configure-script" [] unwords pkgHashConfigureScriptArgs
269
- , opt " vanilla-lib" True display pkgHashVanillaLib
270
- , opt " shared-lib" False display pkgHashSharedLib
271
- , opt " dynamic-exe" False display pkgHashDynExe
272
- , opt " fully-static-exe" False display pkgHashFullyStaticExe
273
- , opt " ghci-lib" False display pkgHashGHCiLib
274
- , opt " prof-lib" False display pkgHashProfLib
275
- , opt " prof-exe" False display pkgHashProfExe
278
+ , opt " vanilla-lib" True prettyShow pkgHashVanillaLib
279
+ , opt " shared-lib" False prettyShow pkgHashSharedLib
280
+ , opt " dynamic-exe" False prettyShow pkgHashDynExe
281
+ , opt " fully-static-exe" False prettyShow pkgHashFullyStaticExe
282
+ , opt " ghci-lib" False prettyShow pkgHashGHCiLib
283
+ , opt " prof-lib" False prettyShow pkgHashProfLib
284
+ , opt " prof-exe" False prettyShow pkgHashProfExe
276
285
, opt " prof-lib-detail" ProfDetailDefault showProfDetailLevel pkgHashProfLibDetail
277
286
, opt " prof-exe-detail" ProfDetailDefault showProfDetailLevel pkgHashProfExeDetail
278
- , opt " hpc" False display pkgHashCoverage
287
+ , opt " hpc" False prettyShow pkgHashCoverage
279
288
, opt " optimisation" NormalOptimisation (show . fromEnum ) pkgHashOptimization
280
- , opt " split-objs" False display pkgHashSplitObjs
281
- , opt " split-sections" False display pkgHashSplitSections
282
- , opt " stripped-lib" False display pkgHashStripLibs
283
- , opt " stripped-exe" True display pkgHashStripExes
289
+ , opt " split-objs" False prettyShow pkgHashSplitObjs
290
+ , opt " split-sections" False prettyShow pkgHashSplitSections
291
+ , opt " stripped-lib" False prettyShow pkgHashStripLibs
292
+ , opt " stripped-exe" True prettyShow pkgHashStripExes
284
293
, opt " debug-info" NormalDebugInfo (show . fromEnum ) pkgHashDebugInfo
285
294
, opt " extra-lib-dirs" [] unwords pkgHashExtraLibDirs
286
295
, opt " extra-framework-dirs" [] unwords pkgHashExtraFrameworkDirs
287
296
, opt " extra-include-dirs" [] unwords pkgHashExtraIncludeDirs
288
297
, opt " prog-prefix" Nothing (maybe " " fromPathTemplate) pkgHashProgPrefix
289
298
, opt " prog-suffix" Nothing (maybe " " fromPathTemplate) pkgHashProgSuffix
290
299
291
- , opt " documentation" False display pkgHashDocumentation
292
- , opt " haddock-hoogle" False display pkgHashHaddockHoogle
293
- , opt " haddock-html" False display pkgHashHaddockHtml
300
+ , opt " documentation" False prettyShow pkgHashDocumentation
301
+ , opt " haddock-hoogle" False prettyShow pkgHashHaddockHoogle
302
+ , opt " haddock-html" False prettyShow pkgHashHaddockHtml
294
303
, opt " haddock-html-location" Nothing (fromMaybe " " ) pkgHashHaddockHtmlLocation
295
- , opt " haddock-foreign-libraries" False display pkgHashHaddockForeignLibs
296
- , opt " haddock-executables" False display pkgHashHaddockExecutables
297
- , opt " haddock-tests" False display pkgHashHaddockTestSuites
298
- , opt " haddock-benchmarks" False display pkgHashHaddockBenchmarks
299
- , opt " haddock-internal" False display pkgHashHaddockInternal
304
+ , opt " haddock-foreign-libraries" False prettyShow pkgHashHaddockForeignLibs
305
+ , opt " haddock-executables" False prettyShow pkgHashHaddockExecutables
306
+ , opt " haddock-tests" False prettyShow pkgHashHaddockTestSuites
307
+ , opt " haddock-benchmarks" False prettyShow pkgHashHaddockBenchmarks
308
+ , opt " haddock-internal" False prettyShow pkgHashHaddockInternal
300
309
, opt " haddock-css" Nothing (fromMaybe " " ) pkgHashHaddockCss
301
- , opt " haddock-hyperlink-source" False display pkgHashHaddockLinkedSource
302
- , opt " haddock-quickjump" False display pkgHashHaddockQuickJump
310
+ , opt " haddock-hyperlink-source" False prettyShow pkgHashHaddockLinkedSource
311
+ , opt " haddock-quickjump" False prettyShow pkgHashHaddockQuickJump
303
312
, opt " haddock-contents-location" Nothing (maybe " " fromPathTemplate) pkgHashHaddockContents
304
313
305
314
] ++ Map. foldrWithKey (\ prog args acc -> opt (prog ++ " -options" ) [] unwords args : acc) [] pkgHashProgramArgs
0 commit comments