[Git][ghc/ghc][master] 5 commits: Bump transformers submodule

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Sat Oct 19 13:34:06 UTC 2024



Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC


Commits:
eb67875f by Matthew Craven at 2024-10-18T12:18:35+00:00
Bump transformers submodule

The svg image files mentioned in transformers.cabal were
previously not checked in, which broke sdist generation.

- - - - -
366a1109 by Matthew Craven at 2024-10-18T12:18:35+00:00
Remove reference to non-existent file in haddock.cabal

- - - - -
826852e9 by Matthew Craven at 2024-10-18T12:18:35+00:00
Move tests T11462 and T11525 into tests/tcplugins

- - - - -
dbe27152 by Matthew Craven at 2024-10-18T12:18:35+00:00
Repair the 'build-cabal' hadrian target

Fixes #23117. Fixes #23281. Fixes #23490.

This required:
 * Updating the bit-rotted compiler/Setup.hs and its setup-depends
 * Listing a few recently-added libraries and utilities
   in cabal.project-reinstall
 * Setting allow-boot-library-installs to 'True' since Cabal
   now considers the 'ghc' package itself a boot library for
   the purposes of this flag

Additionally, the allow-newer block in cabal.project-reinstall
was removed.  This block was probably added because when the
libraries/Cabal submodule is too new relative to the cabal-install
executable, solving the setup-depends for any package with a custom
setup requires building an old Cabal (from Hackage) against the
in-tree version of base, and this can fail un-necessarily due to
tight version bounds on base.  However, the blind allow-newer can
also cause the solver to go berserk and choose a stupid build plan
that has no business succeeding, and the failures when this happens
are dreadfully confusing. (See #23281 and #24363.)

Why does setup-depends solving insist on an old version of Cabal? See:
  https://github.com/haskell/cabal/blob/0a0b33983b0f022b9697f7df3a69358ee9061a89/cabal-install/src/Distribution/Client/ProjectPlanning.hs#L1393-L1410

The right solution here is probably to use the in-tree cabal-install
from libraries/Cabal/cabal-install with the build-cabal target rather
than whatever the environment happens to provide.  But this is left
for future work.

- - - - -
b3c00c62 by Matthew Craven at 2024-10-18T12:18:35+00:00
Revert "CI: Disable the test-cabal-reinstall job"

This reverts commit 38c3afb64d3ffc42f12163c6f0f0d5c414aa8255.

- - - - -


12 changed files:

- .gitlab-ci.yml
- cabal.project-reinstall
- compiler/Setup.hs
- compiler/ghc.cabal.in
- libraries/transformers
- testsuite/tests/typecheck/should_compile/T11462.hs → testsuite/tests/tcplugins/T11462.hs
- testsuite/tests/typecheck/should_compile/T11462_Plugin.hs → testsuite/tests/tcplugins/T11462_Plugin.hs
- testsuite/tests/typecheck/should_compile/T11525.hs → testsuite/tests/tcplugins/T11525.hs
- testsuite/tests/typecheck/should_compile/T11525_Plugin.hs → testsuite/tests/tcplugins/T11525_Plugin.hs
- testsuite/tests/tcplugins/all.T
- testsuite/tests/typecheck/should_compile/all.T
- utils/haddock/haddock.cabal


Changes:

=====================================
.gitlab-ci.yml
=====================================
@@ -494,21 +494,16 @@ stack-hadrian-build:
 # Testing reinstallable ghc codepath
 ####################################
 
-# As documented on the original ticket #19896, this feature already has a long
-# way to go before it can actually be used. Meanwhile, parts of it have
-# bit-rotted, possibly related to some Cabal change. The job is disabled for
-# now.
-#
-# test-cabal-reinstall-x86_64-linux-deb10:
-#   extends: nightly-x86_64-linux-deb10-validate
-#   stage: full-build
-#   variables:
-#     REINSTALL_GHC: "yes"
-#     BUILD_FLAVOUR: validate
-#     TEST_ENV: "x86_64-linux-deb10-cabal-install"
-#   rules:
-#     - if: $NIGHTLY
-#     - if: '$CI_MERGE_REQUEST_LABELS =~ /.*test-reinstall.*/'
+test-cabal-reinstall-x86_64-linux-deb10:
+  extends: nightly-x86_64-linux-deb10-validate
+  stage: full-build
+  variables:
+    REINSTALL_GHC: "yes"
+    BUILD_FLAVOUR: validate
+    TEST_ENV: "x86_64-linux-deb10-cabal-install"
+  rules:
+    - if: $NIGHTLY
+    - if: '$CI_MERGE_REQUEST_LABELS =~ /.*test-reinstall.*/'
 
 ########################################
 # Testing ABI is invariant across builds


=====================================
cabal.project-reinstall
=====================================
@@ -12,11 +12,13 @@ packages: ./compiler
           -- ./libraries/deepseq/
           ./libraries/directory/
           ./libraries/exceptions/
+          ./libraries/file-io/
           ./libraries/filepath/
           -- ./libraries/ghc-bignum/
            ./libraries/ghc-boot/
           -- ./libraries/ghc-boot-th/
           ./libraries/ghc-compact
+          ./libraries/ghc-experimental
           ./libraries/ghc-heap
           ./libraries/ghci
           -- ./libraries/ghc-prim
@@ -25,6 +27,7 @@ packages: ./compiler
           ./libraries/hpc
           -- ./libraries/integer-gmp
           ./libraries/mtl/
+          ./libraries/os-string/
           ./libraries/parsec/
           -- ./libraries/pretty/
           ./libraries/process/
@@ -39,7 +42,11 @@ packages: ./compiler
           ./libraries/Win32/
           ./libraries/xhtml/
           ./utils/ghc-pkg
+          ./utils/ghc-toolchain
+          ./utils/ghc-toolchain/exe
           ./utils/haddock
+          ./utils/haddock/haddock-api
+          ./utils/haddock/haddock-library
           ./utils/hp2ps
           ./utils/hpc
           ./utils/hsc2hs
@@ -61,15 +68,10 @@ constraints: ghc +internal-interpreter +dynamic-system-linke,
              any.pretty installed,
              any.template-haskell installed
 
-allow-newer:
-  ghc-paths:Cabal,
-  *:base,
-  *:ghc-prim,
-  tree-diff:time
 
 benchmarks: False
 tests: False
-allow-boot-library-installs: False
+allow-boot-library-installs: True
 
 -- Workaround for https://github.com/haskell/cabal/issues/7297
 package *


=====================================
compiler/Setup.hs
=====================================
@@ -1,4 +1,4 @@
-{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE NamedFieldPuns #-}
 module Main where
 
 import Distribution.Simple
@@ -52,10 +52,12 @@ primopIncls =
     , ("primop-vector-tys-exports.hs-incl", "--primop-vector-tys-exports")
     , ("primop-vector-tycons.hs-incl"     , "--primop-vector-tycons")
     , ("primop-docs.hs-incl"              , "--wired-in-docs")
+    , ("primop-deprecations.hs-incl"      , "--wired-in-deprecations")
     ]
 
 ghcAutogen :: Verbosity -> LocalBuildInfo -> IO ()
-ghcAutogen verbosity lbi at LocalBuildInfo{..} = do
+ghcAutogen verbosity lbi at LocalBuildInfo{pkgDescrFile,withPrograms,componentNameMap}
+  = do
   -- Get compiler/ root directory from the cabal file
   let Just compilerRoot = takeDirectory <$> pkgDescrFile
 
@@ -77,7 +79,7 @@ ghcAutogen verbosity lbi at LocalBuildInfo{..} = do
   -- Call genprimopcode to generate *.hs-incl
   forM_ primopIncls $ \(file,command) -> do
     contents <- readProcess "genprimopcode" [command] primopsStr
-    rewriteFileEx verbosity (buildDir </> file) contents
+    rewriteFileEx verbosity (buildDir lbi </> file) contents
 
   -- Write GHC.Platform.Constants
   let platformConstantsPath = autogenPackageModulesDir lbi </> "GHC/Platform/Constants.hs"


=====================================
compiler/ghc.cabal.in
=====================================
@@ -50,7 +50,7 @@ extra-source-files:
 
 
 custom-setup
-    setup-depends: base >= 3 && < 5, Cabal >= 1.6 && <3.10, directory, process, filepath, containers
+    setup-depends: base >= 3 && < 5, Cabal >= 1.6 && <3.14, directory, process, filepath, containers
 
 Flag internal-interpreter
     Description: Build with internal interpreter support.


=====================================
libraries/transformers
=====================================
@@ -1 +1 @@
-Subproject commit ba3503905dec072acc6515323c884706efd4dbb4
+Subproject commit b3eaaae9b6c986aaac84f0f05a137eef65ccfab3


=====================================
testsuite/tests/typecheck/should_compile/T11462.hs → testsuite/tests/tcplugins/T11462.hs
=====================================


=====================================
testsuite/tests/typecheck/should_compile/T11462_Plugin.hs → testsuite/tests/tcplugins/T11462_Plugin.hs
=====================================


=====================================
testsuite/tests/typecheck/should_compile/T11525.hs → testsuite/tests/tcplugins/T11525.hs
=====================================


=====================================
testsuite/tests/typecheck/should_compile/T11525_Plugin.hs → testsuite/tests/tcplugins/T11525_Plugin.hs
=====================================


=====================================
testsuite/tests/tcplugins/all.T
=====================================
@@ -109,3 +109,10 @@ test('TcPlugin_CtId'
     , [ 'TcPlugin_CtId.hs'
       , '-dynamic -package ghc' if have_dynamic() else '-package ghc' ]
     )
+
+test('T11462', [js_broken(22261), req_th, req_plugins], multi_compile,
+     [None, [('T11462_Plugin.hs', '-package ghc'), ('T11462.hs', '')],
+      '-dynamic' if have_dynamic() else ''])
+test('T11525', [js_broken(22261), req_th, req_plugins], multi_compile,
+     [None, [('T11525_Plugin.hs', '-package ghc'), ('T11525.hs', '')],
+      '-dynamic' if have_dynamic() else ''])


=====================================
testsuite/tests/typecheck/should_compile/all.T
=====================================
@@ -500,9 +500,6 @@ test('T10592', normal, compile, [''])
 test('T11305', normal, compile, [''])
 test('T11254', normal, compile, [''])
 test('T11379', normal, compile, [''])
-test('T11462', [js_broken(22261), req_th, req_plugins], multi_compile,
-     [None, [('T11462_Plugin.hs', '-package ghc'), ('T11462.hs', '')],
-      '-dynamic' if have_dynamic() else ''])
 test('T11480', normal, compile, [''])
 test('RebindHR', normal, compile, [''])
 test('RebindNegate', normal, compile, [''])
@@ -568,9 +565,6 @@ test('T11723', normal, compile, [''])
 test('T12987', normal, compile, [''])
 test('T11736', normal, compile, [''])
 test('T13248', expect_broken(13248), compile, [''])
-test('T11525', [js_broken(22261), req_th, req_plugins], multi_compile,
-     [None, [('T11525_Plugin.hs', '-package ghc'), ('T11525.hs', '')],
-      '-dynamic' if have_dynamic() else ''])
 test('T12923_1', normal, compile, [''])
 test('T21208', normal, compile, [''])
 test('T12923_2', normal, compile, [''])


=====================================
utils/haddock/haddock.cabal
=====================================
@@ -43,7 +43,6 @@ extra-source-files:
   doc/README.md
   doc/*.rst
   doc/conf.py
-  haddock-api/src/haddock.sh
   html-test/src/*.hs
   html-test/ref/*.html
   hypsrc-test/src/*.hs



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5bcfefd5bb73c18a9bad63d1813968832b696f9a...b3c00c62d76b873f20ebfbf124853ba2b248a397

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5bcfefd5bb73c18a9bad63d1813968832b696f9a...b3c00c62d76b873f20ebfbf124853ba2b248a397
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/20241019/8e93ead4/attachment-0001.html>


More information about the ghc-commits mailing list