@@ -205,61 +205,64 @@ final: prev: {
205
205
# Creates Cabal local repository from { name, index } set.
206
206
mkLocalHackageRepo = import ../mk-local-hackage-repo final ;
207
207
208
+ # Dummy version of ghc to work around https://github.com/haskell/cabal/issues/8352
209
+ cabal-issue-8352-workaround = [
210
+ ( final . writeTextFile {
211
+ name = "dummy-ghc" ;
212
+ executable = true ;
213
+ destination = "/bin/ghc" ;
214
+ text = ''
215
+ #!${ final . runtimeShell }
216
+ case "$*" in
217
+ --version*)
218
+ echo 'The Glorious Glasgow Haskell Compilation System, version 8.10.7'
219
+ ;;
220
+ --numeric-version*)
221
+ echo '8.10.7'
222
+ ;;
223
+ --supported-languages*)
224
+ echo Haskell2010
225
+ ;;
226
+ --info*)
227
+ echo '[]'
228
+ ;;
229
+ *)
230
+ echo "Unknown argument '$*'" >&2
231
+ exit 1
232
+ ;;
233
+ esac
234
+ exit 0
235
+ '' ;
236
+ } )
237
+ ( final . writeTextFile {
238
+ name = "dummy-ghc" ;
239
+ executable = true ;
240
+ destination = "/bin/ghc-pkg" ;
241
+ text = ''
242
+ #!${ final . runtimeShell }
243
+ case "$*" in
244
+ --version*)
245
+ echo 'GHC package manager version 8.10.7'
246
+ ;;
247
+ *)
248
+ echo "Unknown argument '$*'" >&2
249
+ exit 1
250
+ ;;
251
+ esac
252
+ exit 0
253
+ '' ;
254
+ } )
255
+ ] ;
256
+
208
257
dotCabal = { index-state , sha256 , cabal-install , extra-hackage-tarballs ? { } , extra-hackage-repos ? { } , ... } @args :
209
258
let
210
259
allTarballs = hackageTarball args // extra-hackage-tarballs ;
211
260
allNames = final . lib . concatStringsSep "-" ( builtins . attrNames allTarballs ) ;
212
261
# Main Hackage index-state is embedded in its name and thus will propagate to
213
262
# dotCabalName anyway.
214
263
dotCabalName = "dot-cabal-" + allNames ;
215
- # Dummy version of ghc to work around https://github.com/haskell/cabal/issues/8352
216
- dummy-ghc = final . writeTextFile {
217
- name = "dummy-ghc" ;
218
- executable = true ;
219
- destination = "/bin/ghc" ;
220
- text = ''
221
- #!${ final . runtimeShell }
222
- case "$*" in
223
- --version*)
224
- echo 'The Glorious Glasgow Haskell Compilation System, version 8.10.7'
225
- ;;
226
- --numeric-version*)
227
- echo '8.10.7'
228
- ;;
229
- --supported-languages*)
230
- echo Haskell2010
231
- ;;
232
- --info*)
233
- echo '[]'
234
- ;;
235
- *)
236
- echo "Unknown argument '$*'" >&2
237
- exit 1
238
- ;;
239
- esac
240
- exit 0
241
- '' ;
242
- } ;
243
- dummy-ghc-pkg = final . writeTextFile {
244
- name = "dummy-ghc" ;
245
- executable = true ;
246
- destination = "/bin/ghc-pkg" ;
247
- text = ''
248
- #!${ final . runtimeShell }
249
- case "$*" in
250
- --version*)
251
- echo 'GHC package manager version 8.10.7'
252
- ;;
253
- *)
254
- echo "Unknown argument '$*'" >&2
255
- exit 1
256
- ;;
257
- esac
258
- exit 0
259
- '' ;
260
- } ;
261
264
tarballRepoFor = name : index : final . runCommand "tarballRepo_${ name } " {
262
- nativeBuildInputs = [ cabal-install dummy-ghc dummy-ghc-pkg ] ;
265
+ nativeBuildInputs = [ cabal-install cabal-issue-8352-workaround ] ;
263
266
} ''
264
267
set -xe
265
268
0 commit comments