[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 6 commits: hadrian: Improve parallelism in binary-dist-dir rule

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Fri Mar 1 07:28:35 UTC 2024



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
5f63616f by Matthew Pickering at 2024-03-01T02:27:59-05:00
hadrian: Improve parallelism in binary-dist-dir rule

I noticed that the "docs" target was needed after the libraries and
executables were built. We can improve the parallelism by needing
everything at once so that documentation can be built immediately after
a library is built for example.

- - - - -
90d7e879 by Matthew Pickering at 2024-03-01T02:28:00-05:00
ci: Bump windows and freebsd boot compilers to 9.6.4

We have previously bumped the docker images to use 9.6.4, but neglected
to bump the windows images until now.

- - - - -
598e3105 by Matthew Pickering at 2024-03-01T02:28:00-05:00
ci: darwin: Update to 9.6.2 for boot compiler

9.6.4 is currently broken due to #24050

Also update to use LLVM-15 rather than LLVM-11, which is out of date.

- - - - -
882ad3b9 by Matthew Pickering at 2024-03-01T02:28:00-05:00
Bump minimum bootstrap version to 9.6

- - - - -
91a3b79b by Matthew Pickering at 2024-03-01T02:28:00-05:00
ci: Enable more documentation building

Here we enable documentation building on

1. Darwin: The sphinx toolchain was already installed so we enable html
   and manpages.
2. Rocky8: Full documentation (toolchain already installed)
3. Alpine: Full documetnation (toolchain already installed)
4. Windows: HTML and manpages (toolchain already installed)

Fixes #24465

- - - - -
4cb5e8c9 by Matthew Pickering at 2024-03-01T02:28:00-05:00
ci: Bump ci-images to allow updated aarch64-alpine image with llvm15 and clang15

- - - - -


8 changed files:

- .gitlab-ci.yml
- .gitlab/ci.sh
- .gitlab/darwin/nix/sources.json
- .gitlab/darwin/toolchain.nix
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- configure.ac
- hadrian/src/Rules/BinaryDist.hs


Changes:

=====================================
.gitlab-ci.yml
=====================================
@@ -2,7 +2,7 @@ variables:
   GIT_SSL_NO_VERIFY: "1"
 
   # Commit of ghc/ci-images repository from which to pull Docker images
-  DOCKER_REV: 08bdbb85d6711e4df23d97e1cbdb557fe752b0a4
+  DOCKER_REV: 7f63b34ac87b85470eef9c668e9528e8e2f5b46a
 
   # Sequential version number of all cached things.
   # Bump to invalidate GitLab CI cache.
@@ -101,8 +101,6 @@ workflow:
 # which versions of GHC to allow bootstrap with
 .bootstrap_matrix : &bootstrap_matrix
   matrix:
-    - GHC_VERSION: 9.4.8
-      DOCKER_IMAGE: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10-ghc9_4:$DOCKER_REV"
     - GHC_VERSION: 9.6.4
       DOCKER_IMAGE: "registry.gitlab.haskell.org/ghc/ci-images/x86_64-linux-deb10-ghc9_6:$DOCKER_REV"
     - GHC_VERSION: 9.8.1


=====================================
.gitlab/ci.sh
=====================================
@@ -151,6 +151,8 @@ function mingw_init() {
 
   # We always use mingw64 Python to avoid path length issues like #17483.
   export PYTHON="/mingw64/bin/python3"
+  # And need to use sphinx-build from the environment
+  export SPHINXBUILD="/mingw64/bin/sphinx-build.exe"
 }
 
 # This will contain GHC's local native toolchain
@@ -305,7 +307,7 @@ function fetch_cabal() {
           fail "neither CABAL nor CABAL_INSTALL_VERSION are not set"
       fi
 
-      start_section "fetch GHC"
+      start_section "fetch cabal"
       case "$(uname)" in
         # N.B. Windows uses zip whereas all others use .tar.xz
         MSYS_*|MINGW*)
@@ -332,7 +334,7 @@ function fetch_cabal() {
           mv cabal "$toolchain/bin"
           ;;
       esac
-      end_section "fetch GHC"
+      end_section "fetch cabal"
   fi
 }
 


=====================================
.gitlab/darwin/nix/sources.json
=====================================
@@ -12,15 +12,15 @@
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     },
     "nixpkgs": {
-        "branch": "master",
+        "branch": "nixos-unstable",
         "description": "Nix Packages collection",
         "homepage": "",
         "owner": "nixos",
         "repo": "nixpkgs",
-        "rev": "ce1aa29621356706746c53e2d480da7c68f6c972",
-        "sha256": "sha256:1sbs3gi1nf4rcbmnw69fw0fpvb3qvlsa84hqimv78vkpd6xb0bgg",
+        "rev": "73de017ef2d18a04ac4bfd0c02650007ccb31c2a",
+        "sha256": "1v9sy2i2dy3qksx4mf81gwzfl0jzpqccfkzq7fjxgq832f9d255i",
         "type": "tarball",
-        "url": "https://github.com/nixos/nixpkgs/archive/ce1aa29621356706746c53e2d480da7c68f6c972.tar.gz",
+        "url": "https://github.com/nixos/nixpkgs/archive/73de017ef2d18a04ac4bfd0c02650007ccb31c2a.tar.gz",
         "url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
     }
 }


=====================================
.gitlab/darwin/toolchain.nix
=====================================
@@ -4,6 +4,7 @@ let
   sources = import ./nix/sources.nix;
   nixpkgsSrc = sources.nixpkgs;
   pkgs = import nixpkgsSrc { inherit system; };
+  hostPkgs = import nixpkgsSrc { };
 in
 
 let
@@ -13,23 +14,26 @@ let
   targetTriple = pkgs.stdenv.targetPlatform.config;
 
   ghcBindists = let version = ghc.version; in {
-    aarch64-darwin = pkgs.fetchurl {
+    aarch64-darwin = hostPkgs.fetchurl {
       url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-aarch64-apple-darwin.tar.xz";
-      sha256 = "sha256-tQUHsingxBizLktswGAoi6lJf92RKWLjsHB9CisANlg=";
+      sha256 = "sha256-c1GTMJf3/yiW/t4QL532EswD5JVlgA4getkfsxj4TaA=";
     };
-    x86_64-darwin = pkgs.fetchurl {
+    x86_64-darwin = hostPkgs.fetchurl {
       url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
-      sha256 = "sha256-OjXjVe+ZODDCc/hqtihqqz6CX25TKI0ZgORzkR5O3pQ=";
+      sha256 = "sha256-LrYniMG0phsvyW6dhQC+3ompvzcxnwAe6GezEqqzoTQ=";
     };
+
   };
 
   ghc = pkgs.stdenv.mkDerivation rec {
-    version = "9.4.4";
+    # Using 9.6.2 because of #24050
+    version = "9.6.2";
     name = "ghc";
     src = ghcBindists.${pkgs.stdenv.hostPlatform.system};
     configureFlags = [
       "CC=/usr/bin/clang"
       "CLANG=/usr/bin/clang"
+      "AR=/usr/bin/ar"
       "LLC=${llvm}/bin/llc"
       "OPT=${llvm}/bin/opt"
       "CONF_CC_OPTS_STAGE2=--target=${targetTriple}"
@@ -92,7 +96,7 @@ let
     };
   fonts = with pkgs; makeFontsConf { fontDirectories = [ dejavu_fonts ]; };
 
-  llvm = pkgs.llvm_11;
+  llvm = pkgs.llvm_15;
 in
 pkgs.writeTextFile {
   name = "toolchain";


=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -397,8 +397,8 @@ opsysVariables _ FreeBSD13 = mconcat
     -- [1] https://www.freebsd.org/doc/en/books/porters-handbook/using-iconv.html)
     "CONFIGURE_ARGS" =:  "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib"
   , "HADRIAN_ARGS" =: "--docs=no-sphinx"
-  , "GHC_VERSION" =: "9.4.3"
-  , "CABAL_INSTALL_VERSION" =: "3.8.1.0"
+  , "GHC_VERSION" =: "9.6.4"
+  , "CABAL_INSTALL_VERSION" =: "3.10.2.0"
   ]
 opsysVariables _ (Linux distro) = distroVariables distro
 opsysVariables AArch64 (Darwin {}) =
@@ -407,7 +407,7 @@ opsysVariables AArch64 (Darwin {}) =
           , "LANG" =: "en_US.UTF-8"
           , "CONFIGURE_ARGS" =: "--with-intree-gmp --with-system-libffi"
           -- Fonts can't be installed on darwin
-          , "HADRIAN_ARGS" =: "--docs=no-sphinx"
+          , "HADRIAN_ARGS" =: "--docs=no-sphinx-pdfs"
           ]
 opsysVariables Amd64 (Darwin {}) =
   mconcat [ "NIX_SYSTEM" =: "x86_64-darwin"
@@ -421,22 +421,21 @@ opsysVariables Amd64 (Darwin {}) =
           , "LANG" =: "en_US.UTF-8"
           , "CONFIGURE_ARGS" =: "--with-intree-gmp --with-system-libffi"
           -- Fonts can't be installed on darwin
-          , "HADRIAN_ARGS" =: "--docs=no-sphinx"
+          , "HADRIAN_ARGS" =: "--docs=no-sphinx-pdfs"
 
           ]
 opsysVariables _ (Windows {}) =
   mconcat [ "MSYSTEM" =: "CLANG64"
-          , "HADRIAN_ARGS" =: "--docs=no-sphinx"
           , "LANG" =: "en_US.UTF-8"
-          , "CABAL_INSTALL_VERSION" =: "3.8.1.0"
-          , "GHC_VERSION" =: "9.4.3" ]
+          , "CABAL_INSTALL_VERSION" =: "3.10.2.0"
+          , "HADRIAN_ARGS" =: "--docs=no-sphinx-pdfs"
+          , "GHC_VERSION" =: "9.6.4" ]
 opsysVariables _ _ = mempty
 
 alpineVariables = mconcat
   [ -- Due to #20266
     "CONFIGURE_ARGS" =: "--disable-ld-override"
   , "INSTALL_CONFIGURE_ARGS" =: "--disable-ld-override"
-  , "HADRIAN_ARGS" =: "--docs=no-sphinx"
     -- encoding004: due to lack of locale support
     -- T10458, ghcilink002: due to #17869
   , "BROKEN_TESTS" =: "encoding004 T10458"
@@ -450,9 +449,6 @@ distroVariables Centos7 = mconcat [
     "HADRIAN_ARGS" =: "--docs=no-sphinx"
   , "BROKEN_TESTS" =: "T22012" -- due to #23979
   ]
-distroVariables Rocky8 = mconcat [
-  "HADRIAN_ARGS" =: "--docs=no-sphinx"
-  ]
 distroVariables Fedora33 = mconcat
   -- LLC/OPT do not work for some reason in our fedora images
   -- These tests fail with this error: T11649 T5681 T7571 T8131b


=====================================
.gitlab/jobs.yaml
=====================================
@@ -57,7 +57,7 @@
       "BIN_DIST_NAME": "ghc-aarch64-darwin-validate",
       "BUILD_FLAVOUR": "validate",
       "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
+      "HADRIAN_ARGS": "--docs=no-sphinx-pdfs",
       "LANG": "en_US.UTF-8",
       "MACOSX_DEPLOYMENT_TARGET": "11.0",
       "NIX_SYSTEM": "aarch64-darwin",
@@ -305,7 +305,7 @@
       "BIN_DIST_NAME": "ghc-aarch64-darwin-validate",
       "BUILD_FLAVOUR": "validate",
       "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
+      "HADRIAN_ARGS": "--docs=no-sphinx-pdfs",
       "LANG": "en_US.UTF-8",
       "MACOSX_DEPLOYMENT_TARGET": "11.0",
       "NIX_SYSTEM": "aarch64-darwin",
@@ -372,7 +372,6 @@
       "BROKEN_TESTS": "encoding004 T10458",
       "BUILD_FLAVOUR": "validate",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "aarch64-linux-alpine3_18-validate",
@@ -684,7 +683,7 @@
       "BIN_DIST_NAME": "ghc-x86_64-darwin-validate",
       "BUILD_FLAVOUR": "validate",
       "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
+      "HADRIAN_ARGS": "--docs=no-sphinx-pdfs",
       "LANG": "en_US.UTF-8",
       "MACOSX_DEPLOYMENT_TARGET": "10.13",
       "NIX_SYSTEM": "x86_64-darwin",
@@ -751,9 +750,9 @@
       "BIGNUM_BACKEND": "gmp",
       "BIN_DIST_NAME": "ghc-x86_64-freebsd13-validate",
       "BUILD_FLAVOUR": "validate",
-      "CABAL_INSTALL_VERSION": "3.8.1.0",
+      "CABAL_INSTALL_VERSION": "3.10.2.0",
       "CONFIGURE_ARGS": "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --enable-strict-ghc-toolchain-check",
-      "GHC_VERSION": "9.4.3",
+      "GHC_VERSION": "9.6.4",
       "HADRIAN_ARGS": "--docs=no-sphinx",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-freebsd13-validate",
@@ -818,7 +817,6 @@
       "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
       "BUILD_FLAVOUR": "validate+fully_static",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-linux-alpine3_12-int_native-validate+fully_static",
@@ -883,7 +881,6 @@
       "BROKEN_TESTS": "encoding004 T10458",
       "BUILD_FLAVOUR": "validate",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-linux-alpine3_12-validate",
@@ -948,7 +945,6 @@
       "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
       "BUILD_FLAVOUR": "validate+fully_static",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-linux-alpine3_12-validate+fully_static",
@@ -1013,7 +1009,6 @@
       "BROKEN_TESTS": "encoding004 T10458",
       "BUILD_FLAVOUR": "validate",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-linux-alpine3_18-validate",
@@ -2526,7 +2521,6 @@
       "BIN_DIST_NAME": "ghc-x86_64-linux-rocky8-validate",
       "BUILD_FLAVOUR": "validate",
       "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-linux-rocky8-validate",
       "XZ_OPT": "-9"
@@ -2707,10 +2701,10 @@
       "BIGNUM_BACKEND": "native",
       "BIN_DIST_NAME": "ghc-x86_64-windows-int_native-validate",
       "BUILD_FLAVOUR": "validate",
-      "CABAL_INSTALL_VERSION": "3.8.1.0",
+      "CABAL_INSTALL_VERSION": "3.10.2.0",
       "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
-      "GHC_VERSION": "9.4.3",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
+      "GHC_VERSION": "9.6.4",
+      "HADRIAN_ARGS": "--docs=no-sphinx-pdfs",
       "LANG": "en_US.UTF-8",
       "MSYSTEM": "CLANG64",
       "RUNTEST_ARGS": "",
@@ -2769,10 +2763,10 @@
       "BIGNUM_BACKEND": "gmp",
       "BIN_DIST_NAME": "ghc-x86_64-windows-validate",
       "BUILD_FLAVOUR": "validate",
-      "CABAL_INSTALL_VERSION": "3.8.1.0",
+      "CABAL_INSTALL_VERSION": "3.10.2.0",
       "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
-      "GHC_VERSION": "9.4.3",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
+      "GHC_VERSION": "9.6.4",
+      "HADRIAN_ARGS": "--docs=no-sphinx-pdfs",
       "LANG": "en_US.UTF-8",
       "MSYSTEM": "CLANG64",
       "RUNTEST_ARGS": "",
@@ -2837,7 +2831,7 @@
       "BIN_DIST_NAME": "ghc-aarch64-darwin-release",
       "BUILD_FLAVOUR": "release",
       "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx-pdfs",
       "IGNORE_PERF_FAILURES": "all",
       "LANG": "en_US.UTF-8",
       "MACOSX_DEPLOYMENT_TARGET": "11.0",
@@ -2905,7 +2899,7 @@
       "BROKEN_TESTS": "encoding004 T10458",
       "BUILD_FLAVOUR": "release+no_split_sections",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "HADRIAN_ARGS": "--hash-unit-ids",
       "IGNORE_PERF_FAILURES": "all",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
@@ -3162,7 +3156,7 @@
       "BIN_DIST_NAME": "ghc-x86_64-darwin-release",
       "BUILD_FLAVOUR": "release",
       "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx-pdfs",
       "IGNORE_PERF_FAILURES": "all",
       "LANG": "en_US.UTF-8",
       "MACOSX_DEPLOYMENT_TARGET": "10.13",
@@ -3233,7 +3227,7 @@
       "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
       "BUILD_FLAVOUR": "release+fully_static",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "HADRIAN_ARGS": "--hash-unit-ids",
       "IGNORE_PERF_FAILURES": "all",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
@@ -3299,7 +3293,7 @@
       "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
       "BUILD_FLAVOUR": "release+fully_static+no_split_sections",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "HADRIAN_ARGS": "--hash-unit-ids",
       "IGNORE_PERF_FAILURES": "all",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
@@ -3365,7 +3359,7 @@
       "BROKEN_TESTS": "encoding004 T10458",
       "BUILD_FLAVOUR": "release+no_split_sections",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "HADRIAN_ARGS": "--hash-unit-ids",
       "IGNORE_PERF_FAILURES": "all",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
@@ -3431,7 +3425,7 @@
       "BROKEN_TESTS": "encoding004 T10458",
       "BUILD_FLAVOUR": "release+no_split_sections",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "HADRIAN_ARGS": "--hash-unit-ids",
       "IGNORE_PERF_FAILURES": "all",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
@@ -4143,7 +4137,7 @@
       "BIN_DIST_NAME": "ghc-x86_64-linux-rocky8-release",
       "BUILD_FLAVOUR": "release",
       "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "HADRIAN_ARGS": "--hash-unit-ids",
       "IGNORE_PERF_FAILURES": "all",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-linux-rocky8-release",
@@ -4329,10 +4323,10 @@
       "BIGNUM_BACKEND": "native",
       "BIN_DIST_NAME": "ghc-x86_64-windows-int_native-release",
       "BUILD_FLAVOUR": "release",
-      "CABAL_INSTALL_VERSION": "3.8.1.0",
+      "CABAL_INSTALL_VERSION": "3.10.2.0",
       "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
-      "GHC_VERSION": "9.4.3",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "GHC_VERSION": "9.6.4",
+      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx-pdfs",
       "IGNORE_PERF_FAILURES": "all",
       "LANG": "en_US.UTF-8",
       "MSYSTEM": "CLANG64",
@@ -4392,10 +4386,10 @@
       "BIGNUM_BACKEND": "gmp",
       "BIN_DIST_NAME": "ghc-x86_64-windows-release",
       "BUILD_FLAVOUR": "release",
-      "CABAL_INSTALL_VERSION": "3.8.1.0",
+      "CABAL_INSTALL_VERSION": "3.10.2.0",
       "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
-      "GHC_VERSION": "9.4.3",
-      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
+      "GHC_VERSION": "9.6.4",
+      "HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx-pdfs",
       "IGNORE_PERF_FAILURES": "all",
       "LANG": "en_US.UTF-8",
       "MSYSTEM": "CLANG64",
@@ -4461,7 +4455,7 @@
       "BIN_DIST_NAME": "ghc-x86_64-darwin-validate",
       "BUILD_FLAVOUR": "validate",
       "CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
+      "HADRIAN_ARGS": "--docs=no-sphinx-pdfs",
       "LANG": "en_US.UTF-8",
       "MACOSX_DEPLOYMENT_TARGET": "10.13",
       "NIX_SYSTEM": "x86_64-darwin",
@@ -4527,9 +4521,9 @@
       "BIGNUM_BACKEND": "gmp",
       "BIN_DIST_NAME": "ghc-x86_64-freebsd13-validate",
       "BUILD_FLAVOUR": "validate",
-      "CABAL_INSTALL_VERSION": "3.8.1.0",
+      "CABAL_INSTALL_VERSION": "3.10.2.0",
       "CONFIGURE_ARGS": "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib --enable-strict-ghc-toolchain-check",
-      "GHC_VERSION": "9.4.3",
+      "GHC_VERSION": "9.6.4",
       "HADRIAN_ARGS": "--docs=no-sphinx",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-freebsd13-validate"
@@ -4593,7 +4587,6 @@
       "BROKEN_TESTS": "ghcilink002 linker_unload_native encoding004 T10458",
       "BUILD_FLAVOUR": "validate+fully_static",
       "CONFIGURE_ARGS": "--disable-ld-override --enable-strict-ghc-toolchain-check",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
       "INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
       "RUNTEST_ARGS": "",
       "TEST_ENV": "x86_64-linux-alpine3_12-validate+fully_static"
@@ -5585,10 +5578,10 @@
       "BIGNUM_BACKEND": "gmp",
       "BIN_DIST_NAME": "ghc-x86_64-windows-validate",
       "BUILD_FLAVOUR": "validate",
-      "CABAL_INSTALL_VERSION": "3.8.1.0",
+      "CABAL_INSTALL_VERSION": "3.10.2.0",
       "CONFIGURE_ARGS": "--enable-strict-ghc-toolchain-check",
-      "GHC_VERSION": "9.4.3",
-      "HADRIAN_ARGS": "--docs=no-sphinx",
+      "GHC_VERSION": "9.6.4",
+      "HADRIAN_ARGS": "--docs=no-sphinx-pdfs",
       "LANG": "en_US.UTF-8",
       "MSYSTEM": "CLANG64",
       "RUNTEST_ARGS": "",


=====================================
configure.ac
=====================================
@@ -205,7 +205,7 @@ if test "$WithGhc" = ""
 then
     AC_MSG_ERROR([GHC is required.])
 fi
-MinBootGhcVersion="9.4"
+MinBootGhcVersion="9.6"
 FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[$MinBootGhcVersion],
     [AC_MSG_ERROR([GHC version $MinBootGhcVersion or later is required to compile GHC.])])
 


=====================================
hadrian/src/Rules/BinaryDist.hs
=====================================
@@ -145,12 +145,7 @@ bindistRules = do
         installTo NotRelocatable installPrefix
 
     phony "binary-dist-dir" $ do
-        -- We 'need' all binaries and libraries
-        all_pkgs <- stagePackages Stage1
-        (lib_targets, bin_targets) <- partitionEithers <$> mapM pkgTarget all_pkgs
-        cross <- flag CrossCompiling
-        iserv_targets <- if cross then pure [] else iservBins
-        need (lib_targets ++ (map (\(_, p) -> p) (bin_targets ++ iserv_targets)))
+
 
         version        <- setting ProjectVersion
         targetPlatform <- setting TargetPlatformFull
@@ -164,6 +159,22 @@ bindistRules = do
             rtsIncludeDir    = ghcBuildDir -/- "lib" -/- distDir -/- rtsDir
                                -/- "include"
 
+        -- We 'need' all binaries and libraries
+        all_pkgs <- stagePackages Stage1
+        (lib_targets, bin_targets) <- partitionEithers <$> mapM pkgTarget all_pkgs
+        cross <- flag CrossCompiling
+        iserv_targets <- if cross then pure [] else iservBins
+
+        let lib_exe_targets = (lib_targets ++ (map (\(_, p) -> p) (bin_targets ++ iserv_targets)))
+
+        let doc_target = if cross then [] else ["docs"]
+
+        let other_targets = map (bindistFilesDir -/-) (["configure", "Makefile"] ++ bindistInstallFiles)
+        let all_targets = lib_exe_targets ++ doc_target ++ other_targets
+
+        -- Better parallelism if everything is needed together.
+        need all_targets
+
         -- We create the bindist directory at <root>/bindist/ghc-X.Y.Z-platform/
         -- and populate it with Stage2 build results
         createDirectory bindistFilesDir
@@ -232,7 +243,6 @@ bindistRules = do
         cmd_ (bindistFilesDir -/- "bin" -/- ghcPkgName) ["recache"]
 
 
-        unless cross $ need ["docs"]
 
         -- TODO: we should only embed the docs that have been generated
         -- depending on the current settings (flavours' "ghcDocs" field and
@@ -274,8 +284,6 @@ bindistRules = do
         -- We then 'need' all the files necessary to configure and install
         -- (as in, './configure [...] && make install') this build on some
         -- other machine.
-        need $ map (bindistFilesDir -/-)
-                  (["configure", "Makefile"] ++ bindistInstallFiles)
         copyFile ("hadrian" -/- "bindist" -/- "config.mk.in") (bindistFilesDir -/- "config.mk.in")
         generateBuildMk >>= writeFile' (bindistFilesDir -/- "build.mk")
         copyFile ("hadrian" -/- "cfg" -/- "default.target.in") (bindistFilesDir -/- "default.target.in")



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bdb8d342c63b7f2ea23a5a07587d39e76ea569a3...4cb5e8c9f4a446c147f4c3d316852b135edae0cb

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/bdb8d342c63b7f2ea23a5a07587d39e76ea569a3...4cb5e8c9f4a446c147f4c3d316852b135edae0cb
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240301/9ba437c4/attachment-0001.html>


More information about the ghc-commits mailing list