Skip to content

Commit 0e2a04a

Browse files
committed
Re #6540 Temporarily work around Cabal-3.11.0.0 in StackSetupShim.hs
1 parent 12eba22 commit 0e2a04a

File tree

1 file changed

+49
-6
lines changed

1 file changed

+49
-6
lines changed

src/setup-shim/StackSetupShim.hs

+49-6
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,33 @@ module StackSetupShim where
44
import Main
55
#if defined(MIN_VERSION_Cabal)
66
#if MIN_VERSION_Cabal(3,8,1)
7-
import Distribution.PackageDescription (PackageDescription, emptyHookedBuildInfo)
7+
import Distribution.PackageDescription
8+
( PackageDescription, emptyHookedBuildInfo )
89
#else
9-
import "Cabal" Distribution.PackageDescription (PackageDescription, emptyHookedBuildInfo)
10+
import "Cabal" Distribution.PackageDescription
11+
( PackageDescription, emptyHookedBuildInfo )
1012
#endif
1113
#else
12-
import Distribution.PackageDescription (PackageDescription, emptyHookedBuildInfo)
14+
import Distribution.PackageDescription
15+
( PackageDescription, emptyHookedBuildInfo )
1316
#endif
1417
import Distribution.Simple
1518
import Distribution.Simple.Build
16-
import Distribution.Simple.Setup (ReplFlags, fromFlag, replDistPref, replVerbosity)
17-
import Distribution.Simple.LocalBuildInfo (LocalBuildInfo)
18-
import System.Environment (getArgs)
19+
import Distribution.Simple.Setup
20+
( ReplFlags, fromFlag, replDistPref, replVerbosity )
21+
import Distribution.Simple.LocalBuildInfo ( LocalBuildInfo )
22+
-- | Temporary, can be removed if initialBuildSteps restored to Cabal's API.
23+
#if defined(MIN_VERSION_Cabal)
24+
#if MIN_VERSION_Cabal(3,11,0)
25+
import Distribution.Simple.LocalBuildInfo
26+
( ComponentLocalBuildInfo, componentBuildDir
27+
, withAllComponentsInBuildOrder
28+
)
29+
import Distribution.Simple.Utils ( createDirectoryIfMissingVerbose )
30+
import Distribution.Verbosity ( Verbosity )
31+
#endif
32+
#endif
33+
import System.Environment ( getArgs )
1934

2035
mainOverride :: IO ()
2136
mainOverride = do
@@ -39,3 +54,31 @@ stackReplHook pkg_descr lbi hooks flags args = do
3954
| otherwise ->
4055
fail "Misuse of running Setup.hs with stack-initial-build-steps, expected no arguments"
4156
_ -> replHook simpleUserHooks pkg_descr lbi hooks flags args
57+
58+
-- | Temporary, can be removed if initialBuildSteps restored to Cabal's API.
59+
#if defined(MIN_VERSION_Cabal)
60+
#if MIN_VERSION_Cabal(3,11,0)
61+
-- | Runs 'componentInitialBuildSteps' on every configured component.
62+
initialBuildSteps ::
63+
FilePath -- ^"dist" prefix
64+
-> PackageDescription -- ^mostly information from the .cabal file
65+
-> LocalBuildInfo -- ^Configuration information
66+
-> Verbosity -- ^The verbosity to use
67+
-> IO ()
68+
initialBuildSteps distPref pkg_descr lbi verbosity =
69+
withAllComponentsInBuildOrder pkg_descr lbi $ \_comp clbi ->
70+
componentInitialBuildSteps distPref pkg_descr lbi clbi verbosity
71+
72+
-- | Creates the autogenerated files for a particular configured component.
73+
componentInitialBuildSteps ::
74+
FilePath -- ^"dist" prefix
75+
-> PackageDescription -- ^mostly information from the .cabal file
76+
-> LocalBuildInfo -- ^Configuration information
77+
-> ComponentLocalBuildInfo
78+
-> Verbosity -- ^The verbosity to use
79+
-> IO ()
80+
componentInitialBuildSteps _distPref pkg_descr lbi clbi verbosity = do
81+
createDirectoryIfMissingVerbose verbosity True (componentBuildDir lbi clbi)
82+
writeBuiltinAutogenFiles verbosity pkg_descr lbi clbi
83+
#endif
84+
#endif

0 commit comments

Comments
 (0)