[Git][ghc/ghc][wip/ghc-9.12-release] 9 commits: Changelog fixes

Zubin (@wz1000) gitlab at gitlab.haskell.org
Fri Dec 13 07:35:38 UTC 2024



Zubin pushed to branch wip/ghc-9.12-release at Glasgow Haskell Compiler / GHC


Commits:
e8410b62 by Zubin Duggal at 2024-12-13T13:04:58+05:30
Changelog fixes

- - - - -
ef01873f by Zubin Duggal at 2024-12-13T13:04:58+05:30
ghcup metatdata: use fedora33 for redhat

Redhat 9 doesn't have libtinfo.so.5 anymore

- - - - -
f8515241 by Ben Gamari at 2024-12-13T13:04:58+05:30
testsuite: Introduce req_c_rts

As suggested by @hsyl20, this is intended to mark tests that rely on the
behavior of the C RTS.

(cherry picked from commit 1e84b41108d96cb721dd11281105fdf621105a12)

- - - - -
37468109 by Zubin Duggal at 2024-12-13T13:04:58+05:30
release: copy index.html from correct directory

- - - - -
6d00c360 by Matthew Pickering at 2024-12-13T13:04:58+05:30
configure: Allow happy-2.0.2

happy-2.0.2 can be used to compile GHC.

happy-2.0 and 2.0.1 have bugs which make it unsuitable to use.

The version bound is now == 1.20.* || >= 2.0.2 && < 2.1

Fixes #25276

(cherry picked from commit 0029ca91c845dd4530eb2c4606ad5bd59775cec2)

- - - - -
61af0f10 by Cristiano Moraes at 2024-12-13T13:04:58+05:30
configure: Find C++ probing when GCC version is the latest but G++ is old #23118

(cherry picked from commit 78ad81ecef846f73fee0f6c1a86cd6f19aa29b21)

- - - - -
2141f968 by Ben Gamari at 2024-12-13T13:04:58+05:30
configure: Accept happy-2.1.2

happy-2.1 was released in late Oct 2024. I have confirmed that master
bootstraps with it. Here we teach configure to accept this tool.

Fixes #25438.

(cherry picked from commit 1fd83f865ffb620f4f7c4c59787710206dcadb90)

- - - - -
d22fee2e by Ben Gamari at 2024-12-13T13:04:58+05:30
configure: Implement ld override whitelist

Bring `configure` into alignment with `ghc-toolchain`, ensuring that the
ld-override logic will only take effect on Linux and Windows.

Fixes #25501.

(cherry picked from commit 992259962191b0b774dfeeabb46729376c7fe7cf)

- - - - -
ba57a440 by Zubin Duggal at 2024-12-13T13:04:58+05:30
RELEASE=YES

- - - - -


9 changed files:

- .gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py
- .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
- configure.ac
- docs/users_guide/9.12.1-notes.rst
- libraries/template-haskell/changelog.md
- m4/find_ld.m4
- m4/fp_find_cxx_std_lib.m4
- m4/fptools_happy.m4
- testsuite/driver/testlib.py


Changes:

=====================================
.gitlab/rel_eng/fetch-gitlab-artifacts/fetch_gitlab.py
=====================================
@@ -132,7 +132,7 @@ def fetch_artifacts(release: str, pipeline_id: int,
                 for f in doc_files:
                     subprocess.run(['tar', '-xf', f, '-C', dest])
                     logging.info(f'extracted docs {f} to {dest}')
-                index_path = destdir / 'index.html'
+                index_path = destdir / 'docs' / 'index.html'
                 index_path.replace(dest / 'index.html')
             elif job.name == 'hackage-doc-tarball':
                 dest = dest_dir / 'hackage_docs'


=====================================
.gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
=====================================
@@ -234,7 +234,7 @@ def mk_new_yaml(release_mode, version, date, pipeline_type, job_map):
                               , "unknown_versioning" : centos7  }
           , "Linux_Fedora"  : { ">= 33": fedora33
                               , "unknown_versioning": centos7 }
-          , "Linux_RedHat"  : { "unknown_versioning": centos7 }
+          , "Linux_RedHat"  : { "unknown_versioning": fedora33 }
           , "Linux_UnknownLinux" : { "unknown_versioning": rocky8 }
           , "Darwin" : { "unknown_versioning" : darwin_x86 }
           , "Windows" : { "unknown_versioning" :  windows }


=====================================
configure.ac
=====================================
@@ -13,7 +13,7 @@ dnl
 # see what flags are available. (Better yet, read the documentation!)
 #
 
-AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.12.0], [glasgow-haskell-bugs at haskell.org], [ghc-AC_PACKAGE_VERSION])
+AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.12.1], [glasgow-haskell-bugs at haskell.org], [ghc-AC_PACKAGE_VERSION])
     # Version on master must be X.Y (not X.Y.Z) for ProjectVersionMunged variable
     # to be useful (cf #19058). However, the version must have three components
     # (X.Y.Z) on stable branches (e.g. ghc-9.2) to ensure that pre-releases are
@@ -22,7 +22,7 @@ AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.12.0], [glasgow-ha
 AC_CONFIG_MACRO_DIRS([m4])
 
 # Set this to YES for a released version, otherwise NO
-: ${RELEASE=NO}
+: ${RELEASE=YES}
 
 # The primary version (e.g. 7.5, 7.4.1) is set in the AC_INIT line
 # above.  If this is not a released version, then we will append the


=====================================
docs/users_guide/9.12.1-notes.rst
=====================================
@@ -1,4 +1,4 @@
-.. _release-9-11-1:
+.. _release-9-12-1:
 
 Version 9.12.1
 ==============
@@ -80,6 +80,8 @@ Language
 Compiler
 ~~~~~~~~
 
+- GHC now has experimental support for native RISC-V code generation (:ghc-ticket:`16783`).
+
 - Constructor ``PluginProv`` of type ``UnivCoProvenance``, relevant
   for typing plugins, gets an extra ``DCoVarSet`` argument.
   The argument is intended to contain the in-scope coercion variables
@@ -109,16 +111,14 @@ Compiler
   welcome!
 
 - i386 Windows support is now completely removed amid massive cleanup
-  of legacy code to pave way for ARM64 Windows support (`#24883
-  <https://gitlab.haskell.org/ghc/ghc/-/issues/24883>`_). Rest
+  of legacy code to pave way for ARM64 Windows support (:ghc-ticket:`24883`). Rest
   assured, this does not impact existing support for x86_64 Windows or
   i386 Linux. For end users, the ``stdcall`` C calling convention is
   now fully deprecated and GHC will unconditionally produce a warning
   and treat it as ``ccall``. All C import/export declarations on
   Windows should now use ``ccall``.
 
-- 32-bit macOS/iOS support has also been completely removed (`#24921
-  <https://gitlab.haskell.org/ghc/ghc/-/issues/24921>`_). This does
+- 32-bit macOS/iOS support has also been completely removed (:ghc-ticket:`24921`). This does
   not affect existing support of Apple systems on x86_64/aarch64.
 
 - The flag :ghc-flag:`-fignore-asserts` will now also enable the
@@ -216,6 +216,25 @@ Cmm
 
 - The `deprecation process of GHC.Pack <https://gitlab.haskell.org/ghc/ghc/-/issues/21461>`_ has come its term. The module has now been removed from ``base``.
 
+- ``GHC.Desugar`` has been deprecated and should be removed in GHC 9.14. (`CLC proposal #216 <https://github.com/haskell/core-libraries-committee/issues/216>`_)
+- Add a ``readTixFile`` field to the ``HpcFlags`` record in ``GHC.RTS.Flags`` (`CLC proposal #276 <https://github.com/haskell/core-libraries-committee/issues/276>`_)
+- Add ``compareLength`` to ``Data.List`` and ``Data.List.NonEmpty`` (`CLC proposal #257 <https://github.com/haskell/core-libraries-committee/issues/257>`_)
+- Add ``INLINE[1]`` to ``compareInt`` / ``compareWord`` (`CLC proposal #179 <https://github.com/haskell/core-libraries-committee/issues/179>`_)
+- Refactor ``GHC.RTS.Flags`` in preparation for new I/O managers: introduce ``data IoManagerFlag`` and use it in ``MiscFlags``, remove ``getIoManagerFlag``, deprecate re-export of ``IoSubSystem`` (`CLC proposal #263 <https://github.com/haskell/core-libraries-committee/issues/263>`_)
+- Add the ``MonadFix`` instance for ``(,) a``, similar to the one for ``Writer a`` (`CLC proposal #238 <https://github.com/haskell/core-libraries-committee/issues/238>`_)
+- Improve ``toInteger :: Word32 -> Integer`` on 64-bit platforms (`CLC proposal #259 <https://github.com/haskell/core-libraries-committee/issues/259>`_)
+- Make ``flip`` representation polymorphic (`CLC proposal #245 <https://github.com/haskell/core-libraries-committee/issues/245>`_)
+- The ``HasField`` class now supports representation polymorphism (`CLC proposal #194 <https://github.com/haskell/core-libraries-committee/issues/194>`_)
+- Make ``read`` accept binary integer notation (`CLC proposal #177 <https://github.com/haskell/core-libraries-committee/issues/177>`_)
+- Improve the performance of ``Data.List.sort`` using an improved merging strategy. Instead of ``compare``, ``sort`` now uses ``(>)`` which may brea-malform- ``Ord`` instances (`CLC proposal #236 <https://github.com/haskell/core-libraries-committee/issues/236>`_)
+- Add ``inits1`` and ``tails1`` to ``Data.List``, factored from the corresponding functions in ``Data.List.NonEmpty`` (`CLC proposal #252 <https://github.com/haskell/core-libraries-committee/issues/252>`_)
+- Add ``firstA`` and ``secondA`` to ``Data.Bitraversable``. (`CLC proposal #172 <https://github.com/haskell/core-libraries-committee/issues/172>`_)
+- Deprecate ``GHC.TypeNats.Internal``, ``GHC.TypeLits.Internal``, ``GHC.ExecutionStack.Internal`` (`CLC proposal #217 <https://github.com/haskell/core-libraries-committee/issues/217>`_)
+- ``System.IO.Error.ioError`` and ``Control.Exception.ioError`` now both carry ``HasCallStack`` constraints (`CLC proposal #275 <https://github.com/haskell/core-libraries-committee/issues/275>`_)
+- Define ``Eq1``, ``Ord1``, ``Show1`` and ``Read1`` instances for basic ``Generic`` representation types. (`CLC proposal #273 <https://github.com/haskell/core-libraries-committee/issues/273>`_)
+- ``setNonBlockingMode`` will no longer throw an exception when called on a FD associated with a unknown device type. (`CLC proposal #282 <https://github.com/haskell/core-libraries-committee/issues/282>`_)
+
+
 
 ``ghc-prim`` library
 ~~~~~~~~~~~~~~~~~~~~
@@ -255,11 +274,17 @@ Cmm
 ~~~~~~~~~~~~~~~~~~~~
 
 ``ghc-experimental`` library
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+j~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 ``template-haskell`` library
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
+- Extend ``Exp`` with ``ForallE``, ``ForallVisE``, ``ConstraintedE``, introduce
+  functions ``forallE``, ``forallVisE``, ``constraintedE`` `GHC proposal #281
+  <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0281-visible-forall.rst>`_.
+- ``template-haskell`` is no longer wired-in. All wired-in identifiers have been moved to ``ghc-internal``.
+- ``Lift`` instances were added for the ``template-haskell`` AST.
+
 Included libraries
 ~~~~~~~~~~~~~~~~~~
 
@@ -269,6 +294,7 @@ for further change information.
 
 .. ghc-package-list::
 
+    compiler/ghc.cabal:                                  The compiler itself
     libraries/array/array.cabal:                         Dependency of ``ghc`` library
     libraries/base/base.cabal:                           Core library
     libraries/binary/binary.cabal:                       Dependency of ``ghc`` library
@@ -279,23 +305,26 @@ for further change information.
     libraries/deepseq/deepseq.cabal:                     Dependency of ``ghc`` library
     libraries/directory/directory.cabal:                 Dependency of ``ghc`` library
     libraries/exceptions/exceptions.cabal:               Dependency of ``ghc`` and ``haskeline`` library
+    libraries/file-io/file-io.cabal:                     Dependency of ``directory`` library
     libraries/filepath/filepath.cabal:                   Dependency of ``ghc`` library
-    compiler/ghc.cabal:                                  The compiler itself
-    libraries/ghci/ghci.cabal:                           The REPL interface
     libraries/ghc-boot/ghc-boot.cabal:                   Internal compiler library
     libraries/ghc-boot-th/ghc-boot-th.cabal:             Internal compiler library
     libraries/ghc-compact/ghc-compact.cabal:             Core library
+    libraries/ghc-experimental/ghc-experimental.cabal:   Core library
     libraries/ghc-heap/ghc-heap.cabal:                   GHC heap-walking library
+    libraries/ghci/ghci.cabal:                           The REPL interface
+    libraries/ghc-internal/ghc-internal.cabal:           Core library
+    libraries/ghc-platform/ghc-platform.cabal.cabal:     Internal library
     libraries/ghc-prim/ghc-prim.cabal:                   Core library
-    utils/haddock/haddock-api/haddock-api.cabal:         Dependency of ``haddock`` executable
-    utils/haddock/haddock-library/haddock-library.cabal: Dependency of ``haddock`` executable
     libraries/haskeline/haskeline.cabal:                 Dependency of ``ghci`` executable
     libraries/hpc/hpc.cabal:                             Dependency of ``hpc`` executable
     libraries/integer-gmp/integer-gmp.cabal:             Core library
     libraries/mtl/mtl.cabal:                             Dependency of ``Cabal`` library
+    libraries/os-string/os-string.cabal:                 Dependency of ``filepath`` library
     libraries/parsec/parsec.cabal:                       Dependency of ``Cabal`` library
     libraries/pretty/pretty.cabal:                       Dependency of ``ghc`` library
     libraries/process/process.cabal:                     Dependency of ``ghc`` library
+    libraries/semaphore-compat/semaphore-compat.cabal:   Dependency of ``ghc`` library
     libraries/stm/stm.cabal:                             Dependency of ``haskeline`` library
     libraries/template-haskell/template-haskell.cabal:   Core library
     libraries/terminfo/terminfo.cabal:                   Dependency of ``haskeline`` library
@@ -305,5 +334,5 @@ for further change information.
     libraries/unix/unix.cabal:                           Dependency of ``ghc`` library
     libraries/Win32/Win32.cabal:                         Dependency of ``ghc`` library
     libraries/xhtml/xhtml.cabal:                         Dependency of ``haddock`` executable
-    libraries/os-string/os-string.cabal:                 Dependency of ``filepath`` library
-    libraries/file-io/file-io.cabal:                     Dependency of ``directory`` library
+    utils/haddock/haddock-api/haddock-api.cabal:         Dependency of ``haddock`` executable
+    utils/haddock/haddock-library/haddock-library.cabal: Dependency of ``haddock`` executable


=====================================
libraries/template-haskell/changelog.md
=====================================
@@ -5,9 +5,6 @@
   * Extend `Exp` with `ForallE`, `ForallVisE`, `ConstraintedE`,
     introduce functions `forallE`, `forallVisE`, `constraintedE` (GHC Proposal #281).
   * `template-haskell` is no longer wired-in. All wired-in identifiers have been moved to `ghc-internal`.
-
-## 2.22.1.0
-
   * `Lift` instances were added for the `template-haskell` AST.
 
 ## 2.22.0.0


=====================================
m4/find_ld.m4
=====================================
@@ -79,13 +79,16 @@ AC_DEFUN([FIND_LD],[
         dnl See #21712.
         AC_CHECK_TARGET_TOOL([LD], [ld])
         ;;
-    *)
+    *-linux*|*-mingw32)
         if test "x$enable_ld_override" = "xyes"; then
             find_ld
         else
             AC_CHECK_TARGET_TOOL([LD], [ld])
         fi
         ;;
+    *)
+        AC_CHECK_TARGET_TOOL([LD], [ld])
+        ;;
     esac
     CHECK_LD_COPY_BUG([$1])
 ])


=====================================
m4/fp_find_cxx_std_lib.m4
=====================================
@@ -61,10 +61,11 @@ EOF
         try_libs() {
             dnl Try to link a plain object with CC manually
             AC_MSG_CHECKING([for linkage against '${3}'])
-            if "$CC" -o actest actest.o ${1} 2>/dev/null; then
+            dnl Ensures that CC uses same library path of CXX.
+            p="`"$CXX" --print-file-name ${2}`"
+            d="`dirname "$p"`"
+            if "$CC" -o actest actest.o ${1} -L"$d" 2>/dev/null; then
                 CXX_STD_LIB_LIBS="${3}"
-                p="`"$CXX" --print-file-name ${2}`"
-                d="`dirname "$p"`"
                 dnl On some platforms (e.g. Windows) the C++ standard library
                 dnl can be found in the system search path. In this case $CXX
                 dnl --print-file-name will simply print the filename without a


=====================================
m4/fptools_happy.m4
=====================================
@@ -24,10 +24,15 @@ changequote([, ])dnl
 ])
 if test ! -f compiler/GHC/Parser.hs || test ! -f compiler/GHC/Cmm/Parser.hs
 then
+    failure_msg="Happy version == 1.20.* || >= 2.0.2 && < 2.2  is required to compile GHC"
     FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-lt],[1.20.0],
-      [AC_MSG_ERROR([Happy version 1.20 or later is required to compile GHC.])])[]
+      [AC_MSG_ERROR([$failure_msg])])[]
     FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-ge],[1.21.0],
-      [AC_MSG_ERROR([Happy version 1.20 or earlier is required to compile GHC.])])[]
+      FP_COMPARE_VERSIONS([$fptools_cv_happy_version], [-le], [2.0.1],
+        [AC_MSG_ERROR([$failure_msg])])[])[]
+    FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-ge],[2.2.0],
+      [AC_MSG_ERROR([$failure_msg])])[]
+
 fi
 HappyVersion=$fptools_cv_happy_version;
 AC_SUBST(HappyVersion)


=====================================
testsuite/driver/testlib.py
=====================================
@@ -270,6 +270,10 @@ def req_bco( name, opts ):
     # JS backend doesn't support ByteCode
     js_skip(name, opts)
 
+def req_c_rts( name, opts ):
+    """ Require the C runtime system (rather than, e.g. the Javascript RTS). """
+    js_skip(name, opts)
+
 def req_rts_linker( name, opts ):
     if not config.have_RTS_linker:
         opts.expect = 'fail'



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/08b948f60963e2e5704814a05342f680d7f89960...ba57a44015aa0f72bc9096c243780308df84c3aa

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/08b948f60963e2e5704814a05342f680d7f89960...ba57a44015aa0f72bc9096c243780308df84c3aa
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/20241213/73362b4f/attachment-0001.html>


More information about the ghc-commits mailing list