Magnus pushed to branch wip/mangoiv/hadrian-uncompressed-tar at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • hadrian/src/Rules/BinaryDist.hs
    ... ... @@ -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.