[Git][ghc/ghc][wip/ghc-9.12-release] 9 commits: Changelog fixes
Zubin (@wz1000)
gitlab at gitlab.haskell.org
Fri Dec 13 11:30:20 UTC 2024
Zubin pushed to branch wip/ghc-9.12-release at Glasgow Haskell Compiler / GHC
Commits:
15c719f3 by Zubin Duggal at 2024-12-13T16:59:48+05:30
Changelog fixes
- - - - -
dc86785e by Zubin Duggal at 2024-12-13T16:59:48+05:30
ghcup metatdata: use fedora33 for redhat
Redhat 9 doesn't have libtinfo.so.5 anymore
- - - - -
fc647a65 by Ben Gamari at 2024-12-13T16:59:48+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)
- - - - -
cbfd0829 by Zubin Duggal at 2024-12-13T16:59:48+05:30
release: copy index.html from correct directory
- - - - -
0ba478fe by Matthew Pickering at 2024-12-13T16:59:48+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)
- - - - -
24b4914a by Cristiano Moraes at 2024-12-13T16:59:48+05:30
configure: Find C++ probing when GCC version is the latest but G++ is old #23118
(cherry picked from commit 78ad81ecef846f73fee0f6c1a86cd6f19aa29b21)
- - - - -
95d35d6c by Ben Gamari at 2024-12-13T16:59:48+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)
- - - - -
86f29950 by Ben Gamari at 2024-12-13T16:59:48+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)
- - - - -
32f7a9ab by Zubin Duggal at 2024-12-13T16:59:48+05:30
RELEASE=YES
- - - - -
10 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/base/changelog.md
- 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: 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/base/changelog.md
=====================================
@@ -1,6 +1,7 @@
# Changelog for [`base` package](http://hackage.haskell.org/package/base)
-## 4.21.0.0 *TBA*
+## 4.21.0.0 December 2024
+ * Shipped with GHC 9.12.1
* `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))
=====================================
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/e92bb6e861a0e2b5ea029540dd9c9c7fc8645480...32f7a9ab6c1a52e34e705c8d99deda6068980b5f
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e92bb6e861a0e2b5ea029540dd9c9c7fc8645480...32f7a9ab6c1a52e34e705c8d99deda6068980b5f
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/3ac0a896/attachment-0001.html>
More information about the ghc-commits
mailing list