Skip to content

Commit 2772faf

Browse files
authored
Merge pull request #6165 from juhp/stack-2.9.3.1
Modify `stack-2.9.3` library (only) to allow it to build with Stackage lts-21.0
2 parents 6cf6389 + c924f15 commit 2772faf

File tree

10 files changed

+196
-140
lines changed

10 files changed

+196
-140
lines changed

cabal.config

+95-89
Original file line numberDiff line numberDiff line change
@@ -1,200 +1,206 @@
11
constraints:
2-
, Cabal ==3.6.3.0
3-
, Cabal-syntax ==3.6.0.0
2+
, Cabal ==3.8.1.0
3+
, Cabal-syntax ==3.8.1.0
44
, Glob ==0.10.2
5-
, OneTuple ==0.3.1
6-
, QuickCheck ==2.14.2
5+
, OneTuple ==0.4.1.1
6+
, QuickCheck ==2.14.3
77
, StateVar ==1.2.2
8-
, aeson ==2.0.3.0
8+
, Win32 ==2.12.0.1
9+
, aeson ==2.1.2.1
910
, annotated-wl-pprint ==0.7.0
10-
, ansi-terminal ==0.11.3
11+
, ansi-terminal ==0.11.5
12+
, ansi-terminal-types ==0.11.5
1113
, ansi-wl-pprint ==0.6.9
1214
, appar ==0.1.8
1315
, array ==0.5.4.0
1416
, asn1-encoding ==0.9.6
1517
, asn1-parse ==0.9.5
1618
, asn1-types ==0.3.4
17-
, assoc ==1.0.2
19+
, assoc ==1.1
1820
, async ==2.2.4
1921
, attoparsec ==0.14.4
20-
, attoparsec-iso8601 ==1.0.2.1
22+
, attoparsec-iso8601 ==1.1.0.0
2123
, auto-update ==0.1.6
22-
, base ==4.16.3.0
24+
, base ==4.17.1.0
2325
, base-compat ==0.12.2
2426
, base-compat-batteries ==0.12.2
25-
, base-orphans ==0.8.7
27+
, base-orphans ==0.9.0
2628
, base16-bytestring ==1.0.2.0
2729
, base64-bytestring ==1.2.1.0
28-
, basement ==0.0.15
29-
, bifunctors ==5.5.12
30-
, binary ==0.8.9.0
30+
, basement ==0.0.16
31+
, bifunctors ==5.5.15
32+
, binary ==0.8.9.1
33+
, bitvec ==1.1.4.0
3134
, blaze-builder ==0.4.2.2
3235
, blaze-html ==0.9.1.2
3336
, blaze-markup ==0.8.2.8
3437
, byteorder ==1.0.4
35-
, bytestring ==0.11.3.1
38+
, bytestring ==0.11.4.0
3639
, casa-client ==0.0.1
3740
, casa-types ==0.0.2
3841
, case-insensitive ==1.2.1.0
3942
, cereal ==0.5.8.3
4043
, clock ==0.8.3
41-
, cmdargs ==0.10.21
44+
, cmdargs ==0.10.22
4245
, colour ==2.3.6
4346
, comonad ==5.0.8
44-
, conduit ==1.3.4.2
47+
, conduit ==1.3.5
4548
, conduit-combinators ==1.3.0
4649
, conduit-extra ==1.3.6
4750
, connection ==0.3.1
48-
, containers ==0.6.5.1
51+
, containers ==0.6.7
4952
, contravariant ==1.5.5
50-
, cookie ==0.4.5
53+
, cookie ==0.4.6
5154
, cryptohash-sha256 ==0.11.102.1
5255
, cryptonite ==0.30
5356
, cryptonite-conduit ==0.2.2
5457
, data-default-class ==0.1.2.0
5558
, data-fix ==0.3.2
56-
, deepseq ==1.4.6.1
57-
, digest ==0.0.1.3
58-
, directory ==1.3.6.2
59+
, deepseq ==1.4.8.0
60+
, digest ==0.0.1.7
61+
, directory ==1.3.7.1
5962
, distributive ==0.6.2.1
6063
, dlist ==1.0
61-
, easy-file ==0.2.2
64+
, easy-file ==0.2.5
6265
, echo ==0.1.4
6366
, ed25519 ==0.0.5.0
64-
, exceptions ==0.10.4
65-
, extra ==1.7.12
66-
, fast-logger ==3.1.1
67+
, exceptions ==0.10.5
68+
, extra ==1.7.13
69+
, fast-logger ==3.2.1
6770
, file-embed ==0.0.15.0
68-
, filelock ==0.1.1.5
71+
, filelock ==0.1.1.6
6972
, filepath ==1.4.2.2
73+
, foldable1-classes-compat ==0.1
7074
, fsnotify ==0.4.1.0
71-
, generic-deriving ==1.14.2
72-
, ghc-bignum ==1.2
73-
, ghc-boot-th ==9.2.4
74-
, ghc-prim ==0.8.0
75-
, githash ==0.1.6.2
76-
, hackage-security ==0.6.2.2
77-
, hashable ==1.4.1.0
78-
, hi-file-parser ==0.1.3.0
79-
, hinotify ==0.4.1
75+
, generic-deriving ==1.14.4
76+
, generically ==0.1.1
77+
, ghc-bignum ==1.3
78+
, ghc-boot-th ==9.4.5
79+
, ghc-prim ==0.9.0
80+
, githash ==0.1.6.3
81+
, hackage-security ==0.6.2.3
82+
, hashable ==1.4.2.0
83+
, hi-file-parser ==0.1.4.0
84+
. hinotify ==0.4.1
8085
, hourglass ==0.2.12
81-
, hpack ==0.35.0
86+
, hpack ==0.35.2
8287
, hpc ==0.6.1.0
83-
, http-api-data ==0.4.3
88+
, http-api-data ==0.5
8489
, http-client ==0.7.13.1
8590
, http-client-tls ==0.3.6.1
86-
, http-conduit ==2.3.8
91+
, http-conduit ==2.3.8.1
8792
, http-download ==0.2.0.0
8893
, http-types ==0.12.3
89-
, indexed-traversable ==0.1.2
90-
, indexed-traversable-instances ==0.1.1.1
94+
, indexed-traversable ==0.1.2.1
95+
, indexed-traversable-instances ==0.1.1.2
9196
, infer-license ==0.2.0
9297
, integer-gmp ==1.1
9398
, integer-logarithms ==1.0.3.1
9499
, iproute ==1.7.12
95100
, libyaml ==0.1.2
96-
, lift-type ==0.1.0.1
101+
, lift-type ==0.1.1.1
97102
, lifted-base ==0.2.3.12
98103
, lukko ==0.1.1.3
99-
, megaparsec ==9.2.2
100-
, memory ==0.17.0
101-
, microlens ==0.4.12.0
102-
, microlens-mtl ==0.2.0.2
103-
, microlens-th ==0.4.3.10
104-
, mime-types ==0.1.0.9
104+
, megaparsec ==9.3.1
105+
, memory ==0.18.0
106+
, microlens ==0.4.13.1
107+
, microlens-mtl ==0.2.0.3
108+
, microlens-th ==0.4.3.13
109+
, mime-types ==0.1.1.0
105110
, mintty ==0.1.4
106111
, monad-control ==1.0.3.1
107-
, monad-logger ==0.3.37
112+
, monad-logger ==0.3.40
108113
, monad-loops ==0.4.3
109114
, mono-traversable ==1.0.15.3
110115
, mtl ==2.2.2
111116
, mtl-compat ==0.2.2
112-
, mustache ==2.4.1
117+
, mustache ==2.4.2
113118
, neat-interpolation ==0.5.1.3
114-
, network ==3.1.2.7
115-
, network-uri ==2.6.4.1
119+
, network ==3.1.4.0
120+
, network-uri ==2.6.4.2
116121
, old-locale ==1.0.0.7
117122
, old-time ==1.1.0.3
118123
, open-browser ==0.2.1.0
119-
, optparse-applicative ==0.17.0.0
124+
, optparse-applicative ==0.17.1.0
120125
, optparse-simple ==0.1.1.4
121-
, pantry ==0.7.0
122-
, parsec ==3.1.15.0
126+
, pantry ==0.8.2.2
127+
, parsec ==3.1.16.1
123128
, parser-combinators ==1.3.0
124129
, path ==0.9.2
125-
, path-io ==1.7.0
130+
, path-io ==1.8.1
126131
, path-pieces ==0.2.1
127132
, pem ==0.2.4
128-
, persistent ==2.13.3.5
129-
, persistent-sqlite ==2.13.1.0
133+
, persistent ==2.14.5.0
134+
, persistent-sqlite ==2.13.1.1
130135
, persistent-template ==2.12.0.0
131136
, pretty ==1.1.3.6
132-
, primitive ==0.7.3.0
133-
, process ==1.6.13.2
137+
, primitive ==0.8.0.0
138+
, process ==1.6.16.0
134139
, project-template ==0.2.1.0
135140
, random ==1.2.1.1
136-
, resource-pool ==0.2.3.2
141+
, resource-pool ==0.4.0.0
137142
, resourcet ==1.2.6
138-
, retry ==0.9.3.0
143+
, retry ==0.9.3.1
139144
, rio ==0.1.22.0
140145
, rio-orphans ==0.1.2.0
141-
, rio-prettyprint ==0.1.1.0
146+
, rio-prettyprint ==0.1.4.0
142147
, rts ==1.0.2
143148
, safe ==0.3.19
144149
, safe-exceptions ==0.1.7.3
145150
, scientific ==0.3.7.0
146-
, semialign ==1.2.0.1
151+
, semialign ==1.3
147152
, semigroupoids ==5.3.7
148153
, semigroups ==0.20
149154
, silently ==1.2.5.3
150155
, socks ==0.6.1
151156
, split ==0.2.3.5
152157
, splitmix ==0.1.0.4
153-
, stack ==2.10.0
154-
, stm ==2.5.0.2
155-
, stm-chans ==3.0.0.6
156-
, streaming-commons ==0.2.2.4
157-
, strict ==0.4.0.1
158-
, syb ==0.7.2.1
159-
, tagged ==0.8.6.1
158+
, stack ==2.9.3.1
159+
, stm ==2.5.1.0
160+
, stm-chans ==3.0.0.9
161+
, streaming-commons ==0.2.2.6
162+
, strict ==0.5
163+
, syb ==0.7.2.3
164+
, tagged ==0.8.7
160165
, tar ==0.5.1.1
161166
, tar-conduit ==0.3.2
162-
, template-haskell ==2.18.0.0
167+
, template-haskell ==2.19.0.0
163168
, temporary ==1.3
164-
, text ==1.2.5.0
169+
, text ==2.0.2
165170
, text-metrics ==0.3.2
166171
, text-short ==0.1.5
167-
, th-abstraction ==0.4.4.0
172+
, th-abstraction ==0.4.5.0
168173
, th-compat ==0.1.4
169-
, th-expand-syns ==0.4.10.0
170-
, th-lift ==0.8.2
174+
, th-expand-syns ==0.4.11.0
175+
, th-lift ==0.8.3
171176
, th-lift-instances ==0.1.20
172177
, th-reify-many ==0.1.10
173-
, these ==1.1.1.1
174-
, time ==1.11.1.1
178+
, these ==1.2
179+
, time ==1.12.2
175180
, time-compat ==1.9.6.1
176-
, tls ==1.5.8
181+
, tls ==1.6.0
177182
, transformers ==0.5.6.2
178183
, transformers-base ==0.4.6
179184
, transformers-compat ==0.7.2
180-
, typed-process ==0.2.10.1
181-
, unicode-data ==0.3.0
185+
, typed-process ==0.2.11.0
186+
, unix ==2.7.3
187+
, unicode-data ==0.4.0.1
182188
, unicode-transforms ==0.4.0.1
183-
, unix ==2.7.2.2
184-
, unix-compat ==0.5.4
185-
, unix-time ==0.4.7
186-
, unliftio ==0.2.22.0
187-
, unliftio-core ==0.2.0.1
189+
, unix-compat ==0.7
190+
, unix-time ==0.4.9
191+
, unliftio ==0.2.25.0
192+
, unliftio-core ==0.2.1.0
188193
, unordered-containers ==0.2.19.1
189194
, uuid-types ==1.0.5
190195
, vault ==0.3.1.5
191-
, vector ==0.12.3.1
192-
, vector-algorithms ==0.8.0.4
196+
, vector ==0.13.0.0
197+
, vector-algorithms ==0.9.0.1
198+
, vector-stream ==0.1.0.0
193199
, witherable ==0.4.2
194200
, x509 ==1.7.7
195201
, x509-store ==1.6.9
196202
, x509-system ==1.6.7
197203
, x509-validation ==1.6.12
198-
, yaml ==0.11.8.0
199-
, zip-archive ==0.4.2.1
204+
, yaml ==0.11.11.1
205+
, zip-archive ==0.4.3
200206
, zlib ==0.6.3.0

cabal.project

+24
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,30 @@
1212
-- The constraints in file `cabal.config` can be obtained by commanding:
1313
--
1414
-- > stack ls dependencies cabal > cabal.config
15+
--
16+
-- However, be aware that, in respect of the `unix` package or the `Win32`
17+
-- package (that may come with GHC, depending on the operating system):
18+
--
19+
-- * on Windows, the Stack project does not depend on `unix` but depends on
20+
-- `Win32`; and
21+
--
22+
-- * on non-Windows operating systems, the Stack project does not depend on
23+
-- `Win32` but depends on `unix`.
24+
--
25+
-- The command above will add one of the two packages to `cabal.config` but omit
26+
-- the other. A comprehensive `cabal.config` will need to be created by editing
27+
-- the command's output.
28+
--
29+
-- Also be aware that there may be other packages required only on non-Windows
30+
-- systems. For example, the `hinotify` package.
31+
--
32+
-- Be sure to set `with-compiler: ghc-x.y.z` below to the version of GHC that is
33+
-- specified by the snapshot specifed in Stack's project-level YAML
34+
-- configuration file (`stack.yaml`). The relevant version of GHC can be
35+
-- confirmed by reviewing the snapshot on Stackage. For example, at:
36+
-- https://www.stackage.org/lts-20.23/cabal.config.
37+
--
1538

39+
with-compiler: ghc-9.4.5
1640
import: cabal.config
1741
packages: .

package.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: stack
2-
version: '2.9.3'
2+
version: '2.9.3.1'
33
synopsis: The Haskell Tool Stack
44
description: |
55
Please see the documentation at <https://docs.haskellstack.org>
@@ -102,7 +102,7 @@ dependencies:
102102
# In order for Cabal (the tool) to build Stack, it needs to be told of the
103103
# upper bound on persistent. See
104104
# https://github.com/commercialhaskell/stack/pull/5677#issuecomment-1193318542
105-
- persistent >= 2.13.3.5 && < 2.14
105+
- persistent >= 2.13.3.5 && < 2.15
106106
- persistent-sqlite
107107
- persistent-template
108108
- pretty

src/Stack/Config.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
{-# LANGUAGE RecordWildCards #-}
88
{-# LANGUAGE ScopedTypeVariables #-}
99
{-# LANGUAGE TypeFamilies #-}
10+
{-# LANGUAGE CPP #-}
1011

1112
-- | The general Stack configuration that starts everything off. This should
1213
-- be smart to fallback if there is no stack.yaml, instead relying on
@@ -89,7 +90,7 @@ import System.Console.ANSI
8990
import System.Environment
9091
import System.Info.ShortPathName ( getShortPathName )
9192
import System.PosixCompat.Files ( fileOwner, getFileStatus )
92-
import System.PosixCompat.User ( getEffectiveUserID )
93+
import System.Posix.User ( getEffectiveUserID )
9394

9495
-- | If deprecated path exists, use it and print a warning.
9596
-- Otherwise, return the new path.

src/Stack/Docker.hs

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ import System.IO.Unsafe ( unsafePerformIO )
6666
import System.Posix.Signals
6767
import qualified System.Posix.User as PosixUser
6868
#endif
69-
import qualified System.PosixCompat.User as User
69+
import System.Posix.User as User
7070
import qualified System.PosixCompat.Files as Files
7171
import System.Terminal ( hIsTerminalDeviceOrMinTTY )
7272
import Text.ParserCombinators.ReadP ( readP_to_S )

src/Stack/Storage/Util.hs

+7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
{-# LANGUAGE MultiParamTypeClasses #-}
55
{-# LANGUAGE TypeFamilies #-}
66
{-# LANGUAGE TypeOperators #-}
7+
{-# LANGUAGE CPP #-}
78

89
-- | Utils for the other Stack.Storage modules
910
module Stack.Storage.Util
@@ -26,6 +27,9 @@ updateSet ::
2627
, PersistEntity record
2728
, MonadIO m
2829
, PersistQueryWrite backend
30+
#if MIN_VERSION_persistent(2,14,0)
31+
, SafeToInsert record
32+
#endif
2933
)
3034
=> (parentid -> value -> record)
3135
-> EntityField record parentid
@@ -51,6 +55,9 @@ updateList ::
5155
, PersistEntity record
5256
, MonadIO m
5357
, PersistQueryWrite backend
58+
#if MIN_VERSION_persistent(2,14,0)
59+
, SafeToInsert record
60+
#endif
5461
)
5562
=> (parentid -> Int -> value -> record)
5663
-> EntityField record parentid

0 commit comments

Comments
 (0)