Cheng Shao pushed to branch wip/testing-use-deb at Glasgow Haskell Compiler / GHC

Commits:

5 changed files:

Changes:

  • .gitlab-ci.yml
    ... ... @@ -444,14 +444,14 @@ hadrian-ghc-in-ghci:
    444 444
     hadrian-multi:
    
    445 445
       stage: testing
    
    446 446
       needs:
    
    447
    -    - job: x86_64-linux-fedora43-release
    
    447
    +    - job: x86_64-linux-deb12-numa-slow-validate
    
    448 448
           optional: true
    
    449
    -    - job: nightly-x86_64-linux-fedora43-release
    
    449
    +    - job: nightly-x86_64-linux-deb12-validate
    
    450 450
           optional: true
    
    451
    -    - job: release-x86_64-linux-fedora43-release
    
    451
    +    - job: release-x86_64-linux-deb12-release
    
    452 452
           optional: true
    
    453 453
       dependencies: null
    
    454
    -  image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
    
    454
    +  image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
    
    455 455
       before_script:
    
    456 456
         # workaround for docker permissions
    
    457 457
         - sudo chown ghc:ghc -R .
    
    ... ... @@ -471,7 +471,9 @@ hadrian-multi:
    471 471
         - ls
    
    472 472
         - |
    
    473 473
           mkdir tmp
    
    474
    -      tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
    
    474
    +      tar -xf ghc-x86_64-linux-deb12-numa-slow-validate.tar.xz -C tmp \
    
    475
    +        || tar -xf ghc-x86_64-linux-deb12-validate.tar.xz -C tmp \
    
    476
    +        || tar -xf ghc-x86_64-linux-deb12-release.tar.xz -C tmp
    
    475 477
           pushd tmp/ghc-*/
    
    476 478
           ./configure --prefix=$root
    
    477 479
           make install
    
    ... ... @@ -1001,14 +1003,14 @@ perf-nofib:
    1001 1003
     perf:
    
    1002 1004
       stage: testing
    
    1003 1005
       needs:
    
    1004
    -    - job: x86_64-linux-fedora43-release
    
    1006
    +    - job: x86_64-linux-deb12-numa-slow-validate
    
    1005 1007
           optional: true
    
    1006
    -    - job: nightly-x86_64-linux-fedora43-release
    
    1008
    +    - job: nightly-x86_64-linux-deb12-validate
    
    1007 1009
           optional: true
    
    1008
    -    - job: release-x86_64-linux-fedora43-release
    
    1010
    +    - job: release-x86_64-linux-deb12-release
    
    1009 1011
           optional: true
    
    1010 1012
       dependencies: null
    
    1011
    -  image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
    
    1013
    +  image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
    
    1012 1014
       tags:
    
    1013 1015
         - x86_64-linux-perf
    
    1014 1016
       before_script:
    
    ... ... @@ -1018,7 +1020,9 @@ perf:
    1018 1020
         - root=$(pwd)/ghc
    
    1019 1021
         - |
    
    1020 1022
           mkdir tmp
    
    1021
    -      tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
    
    1023
    +      tar -xf ghc-x86_64-linux-deb12-numa-slow-validate.tar.xz -C tmp \
    
    1024
    +        || tar -xf ghc-x86_64-linux-deb12-validate.tar.xz -C tmp \
    
    1025
    +        || tar -xf ghc-x86_64-linux-deb12-release.tar.xz -C tmp
    
    1022 1026
           pushd tmp/ghc-*/
    
    1023 1027
           ./configure --prefix=$root
    
    1024 1028
           make install
    
    ... ... @@ -1042,25 +1046,23 @@ perf:
    1042 1046
     abi-test:
    
    1043 1047
       stage: testing
    
    1044 1048
       needs:
    
    1045
    -    - job: x86_64-linux-fedora43-release
    
    1049
    +    - job: x86_64-linux-deb12-numa-slow-validate
    
    1046 1050
           optional: true
    
    1047
    -    - job: nightly-x86_64-linux-fedora43-release
    
    1051
    +    - job: nightly-x86_64-linux-deb12-validate
    
    1048 1052
           optional: true
    
    1049
    -    - job: release-x86_64-linux-fedora43-release
    
    1053
    +    - job: release-x86_64-linux-deb12-release
    
    1050 1054
           optional: true
    
    1051 1055
       dependencies: null
    
    1052
    -  image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-fedora43:$DOCKER_REV"
    
    1053
    -  rules:
    
    1054
    -    - if: $CI_MERGE_REQUEST_ID
    
    1055
    -    - if: '$CI_COMMIT_BRANCH == "master"'
    
    1056
    -    - if: '$CI_COMMIT_BRANCH =~ /ghc-[0.9]+\.[0-9]+/'
    
    1056
    +  image: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb12:$DOCKER_REV"
    
    1057 1057
       tags:
    
    1058 1058
         - x86_64-linux
    
    1059 1059
       script:
    
    1060 1060
         - root=$(pwd)/ghc
    
    1061 1061
         - |
    
    1062 1062
           mkdir tmp
    
    1063
    -      tar -xf ghc-x86_64-linux-fedora43-release.tar.xz -C tmp
    
    1063
    +      tar -xf ghc-x86_64-linux-deb12-numa-slow-validate.tar.xz -C tmp \
    
    1064
    +        || tar -xf ghc-x86_64-linux-deb12-validate.tar.xz -C tmp \
    
    1065
    +        || tar -xf ghc-x86_64-linux-deb12-release.tar.xz -C tmp
    
    1064 1066
           pushd tmp/ghc-*/
    
    1065 1067
           ./configure --prefix=$root
    
    1066 1068
           make install
    

  • docs/users_guide/exts/roles.rst
    ... ... @@ -38,7 +38,7 @@ trouble.
    38 38
     The way to identify such situations is to have *roles* assigned to type
    
    39 39
     variables of datatypes, classes, and type synonyms.
    
    40 40
     
    
    41
    -Roles as implemented in GHC are a from a simplified version of the work
    
    41
    +Roles as implemented in GHC are based on a simplified version of the work
    
    42 42
     described in `Generative type abstraction and type-level
    
    43 43
     computation <https://www.seas.upenn.edu/~sweirich/papers/popl163af-weirich.pdf>`__,
    
    44 44
     published at POPL 2011.
    

  • hadrian/src/Context.hs
    ... ... @@ -11,7 +11,7 @@ module Context (
    11 11
         pkgLibraryFile,
    
    12 12
         pkgConfFile, pkgStampFile, resourcePath, objectPath, contextPath, getContextPath, libPath, distDir,
    
    13 13
         distDynDir,
    
    14
    -    haddockStatsFilesDir, ensureConfigured, autogenPath, rtsContext, rtsBuildPath, libffiBuildPath
    
    14
    +    haddockStatsFilesDir, ensureConfigured, autogenPath, rtsContext, rtsBuildPath
    
    15 15
         ) where
    
    16 16
     
    
    17 17
     import Base
    
    ... ... @@ -93,14 +93,6 @@ rtsContext stage = vanillaContext stage rts
    93 93
     rtsBuildPath :: Stage -> Action FilePath
    
    94 94
     rtsBuildPath stage = buildPath (rtsContext stage)
    
    95 95
     
    
    96
    --- | Build directory for in-tree 'libffi' library.
    
    97
    -libffiBuildPath :: Stage -> Action FilePath
    
    98
    -libffiBuildPath stage = buildPath $ Context
    
    99
    -    stage
    
    100
    -    libffi
    
    101
    -    (error "libffiBuildPath: way not set.")
    
    102
    -    (error "libffiBuildPath: inplace not set.")
    
    103
    -
    
    104 96
     pkgFileName :: Context -> Package -> String -> String -> Action FilePath
    
    105 97
     pkgFileName context package prefix suffix = do
    
    106 98
         pid  <- pkgUnitId (stage context) package
    

  • hadrian/src/Settings/Builders/Configure.hs
    ... ... @@ -8,8 +8,7 @@ configureBuilderArgs :: Args
    8 8
     configureBuilderArgs = do
    
    9 9
         stage      <- getStage
    
    10 10
         gmpPath    <- expr (gmpBuildPath stage)
    
    11
    -    libffiPath <- expr (libffiBuildPath stage)
    
    12
    -    mconcat [ builder (Configure gmpPath) ? do
    
    11
    +    builder (Configure gmpPath) ? do
    
    13 12
                     targetArch <- queryTarget queryArch
    
    14 13
                     targetPlatform <- queryTarget targetPlatformTriple
    
    15 14
                     buildPlatform <- queryBuild targetPlatformTriple
    
    ... ... @@ -28,16 +27,3 @@ configureBuilderArgs = do
    28 27
                          -- option.
    
    29 28
                          <> [ "--enable-alloca=malloc-notreentrant" | targetArch == "wasm32" ]
    
    30 29
                          <> [ "--with-pic=yes" ]
    31
    -
    
    32
    -            , builder (Configure libffiPath) ? do
    
    33
    -                top            <- expr topDirectory
    
    34
    -                targetPlatform <- queryTarget targetPlatformTriple
    
    35
    -                way            <- getWay
    
    36
    -                pure [ "--prefix=" ++ top -/- libffiPath -/- "inst"
    
    37
    -                     , "--libdir=" ++ top -/- libffiPath -/- "inst/lib"
    
    38
    -                     , "--enable-static=yes"
    
    39
    -                     , "--enable-shared="
    
    40
    -                            ++ (if wayUnit Dynamic way
    
    41
    -                                    then "yes"
    
    42
    -                                    else "no")
    
    43
    -                     , "--host=" ++ targetPlatform ] ]

  • hadrian/src/Settings/Builders/Make.hs
    ... ... @@ -12,12 +12,8 @@ makeBuilderArgs = do
    12 12
         threads    <- shakeThreads <$> expr getShakeOptions
    
    13 13
         stage      <- getStage
    
    14 14
         gmpPath    <- expr (gmpBuildPath stage)
    
    15
    -    libffiPaths <- forM [Stage1, Stage2, Stage3 ] $ \s -> expr (libffiBuildPath s)
    
    16 15
         let t = show $ max 4 (threads - 2) -- Don't use all Shake's threads
    
    17
    -    mconcat $
    
    18
    -        (builder (Make gmpPath   ) ? pure ["MAKEFLAGS=-j" ++ t]) :
    
    19
    -        [ builder (Make libffiPath) ? pure ["MAKEFLAGS=-j" ++ t, "install"]
    
    20
    -        | libffiPath <- libffiPaths ]
    
    16
    +    builder (Make gmpPath) ? pure ["MAKEFLAGS=-j" ++ t]
    
    21 17
     
    
    22 18
     validateBuilderArgs :: Args
    
    23 19
     validateBuilderArgs = builder (Make "testsuite/tests") ? do