| ... |
... |
@@ -365,16 +365,17 @@ bindistRules = do |
|
365
|
365
|
|
|
366
|
366
|
-- Finally, we create the archive <root>/bindist/ghc-X.Y.Z-platform.tar.xz
|
|
367
|
367
|
tarPath <- builderPath (Tar Create)
|
|
368
|
|
- cmd [Cwd $ root -/- bindist_folder] tarPath
|
|
369
|
|
- [ "-c", compressorTarFlag compressor, "-f"
|
|
370
|
|
- , ghcVersionPretty <.> "tar" <.> compressorExtension compressor
|
|
371
|
|
- , ghcVersionPretty ]
|
|
|
368
|
+ cmd [Cwd $ root -/- bindist_folder] tarPath $
|
|
|
369
|
+ [ "-c"
|
|
|
370
|
+ , "-f" , applyCompressorExtension compressor $ ghcVersionPretty <.> "tar"
|
|
|
371
|
+ , ghcVersionPretty ] <> compressorTarFlags compressor
|
|
372
|
372
|
|
|
373
|
373
|
forM_ [("binary", buildBinDist), ("reloc-binary", buildBinDistReloc)] $ \(name, mk_bindist) -> do
|
|
374
|
374
|
phony (name <> "-dist") $ mk_bindist Xz
|
|
375
|
375
|
phony (name <> "-dist-gzip") $ mk_bindist Gzip
|
|
376
|
376
|
phony (name <> "-dist-bzip2") $ mk_bindist Bzip2
|
|
377
|
377
|
phony (name <> "-dist-xz") $ mk_bindist Xz
|
|
|
378
|
+ phony (name <> "-dist-uncompressed") $ mk_bindist NoCompressor
|
|
378
|
379
|
|
|
379
|
380
|
phony "binary-dist-cross" $ buildBinDistX "binary-dist-dir-cross" "bindist" Xz
|
|
380
|
381
|
phony "binary-dist-stage3" $ buildBinDistX "binary-dist-dir-stage3" "bindist" Xz
|
| ... |
... |
@@ -430,7 +431,7 @@ bindistRules = do |
|
430
|
431
|
fixup f | f `elem` ["INSTALL", "README"] = "distrib" -/- f
|
|
431
|
432
|
| otherwise = f
|
|
432
|
433
|
|
|
433
|
|
-data Compressor = Gzip | Bzip2 | Xz
|
|
|
434
|
+data Compressor = Gzip | Bzip2 | Xz | NoCompressor
|
|
434
|
435
|
deriving (Eq, Ord, Show)
|
|
435
|
436
|
|
|
436
|
437
|
|
| ... |
... |
@@ -447,17 +448,19 @@ generateBuildMk BindistConfig{..} = do |
|
447
|
448
|
where
|
|
448
|
449
|
a =. b = a ++ " = " ++ b
|
|
449
|
450
|
|
|
450
|
|
--- | Flag to pass to tar to use the given 'Compressor'.
|
|
451
|
|
-compressorTarFlag :: Compressor -> String
|
|
452
|
|
-compressorTarFlag Gzip = "--gzip"
|
|
453
|
|
-compressorTarFlag Xz = "--xz"
|
|
454
|
|
-compressorTarFlag Bzip2 = "--bzip"
|
|
455
|
|
-
|
|
456
|
|
--- | File extension to use for archives compressed with the given 'Compressor'.
|
|
457
|
|
-compressorExtension :: Compressor -> String
|
|
458
|
|
-compressorExtension Gzip = "gz"
|
|
459
|
|
-compressorExtension Xz = "xz"
|
|
460
|
|
-compressorExtension Bzip2 = "bz2"
|
|
|
451
|
+-- | Flags to pass to @tar@ to use the given 'Compressor'.
|
|
|
452
|
+compressorTarFlags :: Compressor -> [String]
|
|
|
453
|
+compressorTarFlags Gzip = ["--gzip"]
|
|
|
454
|
+compressorTarFlags Xz = ["--xz" ]
|
|
|
455
|
+compressorTarFlags Bzip2 = ["--bzip"]
|
|
|
456
|
+compressorTarFlags NoCompressor = []
|
|
|
457
|
+
|
|
|
458
|
+-- | File extension to use for archives @p@ compressed with the given 'Compressor'.
|
|
|
459
|
+applyCompressorExtension :: Compressor -> String -> String
|
|
|
460
|
+applyCompressorExtension Gzip p = p <.> "gz"
|
|
|
461
|
+applyCompressorExtension Xz p = p <.> "xz"
|
|
|
462
|
+applyCompressorExtension Bzip2 p = p <.> "bz2"
|
|
|
463
|
+applyCompressorExtension NoCompressor p = p
|
|
461
|
464
|
|
|
462
|
465
|
-- | A list of files that allow us to support a simple
|
|
463
|
466
|
-- @./configure [...] && make install@ workflow.
|