The package rpms/ghc9.4.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/ghc9.4.git/commit/?id=fcc3304dac5....
Change:
-%ifarch s390x
Thanks.
Full change:
============
commit 6a60eb42b255d6f38d35a89c80a270086d41999a
Author: Jens Petersen <petersen(a)redhat.com>
Date: Wed May 25 13:46:09 2022 +0800
use ghc9.2 as boot compiler
8.10 is now too old:
https://gitlab.haskell.org/ghc/ghc/-/issues/21633
As of alpha2, ghc9.0 can't build ghc9.4:
see
https://gitlab.haskell.org/ghc/ghc/-/issues/21634
so we use ghc9.2 with new %ghcboot macro
and set GHC for configure
diff --git a/ghc9.4.spec b/ghc9.4.spec
index bc93e09..e3f8b49 100644
--- a/ghc9.4.spec
+++ b/ghc9.4.spec
@@ -10,6 +10,10 @@
%global ghc_name ghc9.4
+# bootstrap from this package
+# NB must be in sync with GHC configure variable below
+%global ghcboot ghc9.2
+
# to handle RCs
%global ghc_release 9.4.1-alpha2
@@ -119,21 +123,21 @@ Patch26: no-missing-haddock-file-warning.patch
# see also deprecated ghc_arches defined in ghc-srpm-macros
# /usr/lib/rpm/macros.d/macros.ghc-srpm
-BuildRequires: ghc-compiler > 8.10
+BuildRequires: %{ghcboot}-compiler > 9.0
# for ABI hash checking
%if %{with abicheck}
BuildRequires: %{name}
%endif
BuildRequires: ghc-rpm-macros-extra
-BuildRequires: ghc-binary-devel
-BuildRequires: ghc-bytestring-devel
-BuildRequires: ghc-containers-devel
-BuildRequires: ghc-directory-devel
-BuildRequires: ghc-pretty-devel
-BuildRequires: ghc-process-devel
-BuildRequires: ghc-stm-devel
-BuildRequires: ghc-template-haskell-devel
-BuildRequires: ghc-transformers-devel
+BuildRequires: %{ghcboot}-binary-devel
+BuildRequires: %{ghcboot}-bytestring-devel
+BuildRequires: %{ghcboot}-containers-devel
+BuildRequires: %{ghcboot}-directory-devel
+BuildRequires: %{ghcboot}-pretty-devel
+BuildRequires: %{ghcboot}-process-devel
+BuildRequires: %{ghcboot}-stm-devel
+BuildRequires: %{ghcboot}-template-haskell-devel
+BuildRequires: %{ghcboot}-transformers-devel
BuildRequires: alex
BuildRequires: gmp-devel
BuildRequires: libffi-devel
@@ -464,6 +468,8 @@ export CC=%{_bindir}/gcc
export LD=%{_bindir}/ld.gold
%endif
+export GHC=/usr/bin/ghc-9.2.2
+
# * %%configure induces cross-build due to different target/host/build platform names
./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
--bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
@@ -880,6 +886,7 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index
* Wed May 25 2022 Jens Petersen <petersen(a)redhat.com> - 9.4.0.20220523-3
- 9.4.1-alpha2
-
https://downloads.haskell.org/ghc/9.4.1-alpha2/docs/users_guide/9.4.1-not...
+- built with ghc9.2
* Mon May 9 2022 Jens Petersen <petersen(a)redhat.com> - 9.4.0.20220501-2
- use --with-system-libffi for Hadrian (#2082827)
commit f10fc4912588c82603d058fd394a1eb0ef24d0b2
Author: Jens Petersen <petersen(a)redhat.com>
Date: Wed May 25 13:44:24 2022 +0800
add patch from gitlab to ensure boot ghc is 9.0+
diff --git a/8332.patch b/8332.patch
new file mode 100644
index 0000000..82cb0fe
--- /dev/null
+++ b/8332.patch
@@ -0,0 +1,32 @@
+From 00ceef6f9e765f794e6b9c91478327e5cca9b788 Mon Sep 17 00:00:00 2001
+From: Ben Gamari <ben(a)smart-cactus.org>
+Date: Tue, 24 May 2022 14:50:53 -0400
+Subject: [PATCH] configure: Bump minimum bootstrap compiler version to 9.0
+
+Fixes #21633.
+---
+ configure.ac | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9bcfae04c613..2f3a9f88cb12 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -226,8 +226,12 @@ if test "$WithGhc" = ""
+ then
+ AC_MSG_ERROR([GHC is required.])
+ fi
+-FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[8.10],
+- [AC_MSG_ERROR([GHC version 8.10 or later is required to compile GHC.])])
++
++dnl ** Check minimum required bootstrap version. N.B. We currently allow
++dnl bootstrapping with the last two major releases.
++MinBootGhcVersion="9.0"
++FP_COMPARE_VERSIONS([$GhcVersion],[-lt],[$MinBootGhcVersion],
++ [AC_MSG_ERROR([GHC version $MinBootGhcVersion or later is required to compile
GHC.])])
+
+ if test `expr $GhcMinVersion % 2` = "1"
+ then
+--
+GitLab
+
diff --git a/ghc9.4.spec b/ghc9.4.spec
index 33ca37a..bc93e09 100644
--- a/ghc9.4.spec
+++ b/ghc9.4.spec
@@ -95,6 +95,8 @@ Patch7:
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8170.patch
# detect ffi.h
#
https://gitlab.haskell.org/ghc/ghc/-/issues/21485
Patch8:
https://gitlab.haskell.org/ghc/ghc/-/commit/6e12e3c178fe9ad16131eb3c089bd...
+# needs ghc9.0+
+Patch11:
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8332.patch
# arm patches
Patch12: ghc-armv7-VFPv3D16--NEON.patch
@@ -381,7 +383,7 @@ Installing this package causes %{name}-*-prof packages corresponding
to
%patch6 -p1 -b .orig
%patch7 -p1 -b .orig
%patch8 -p1 -b .orig
-#%%patch10 -p1 -b .orig
+%patch11 -p1 -b .orig
rm libffi-tarballs/libffi-*.tar.gz
#sed -i -e '/libffi-tarballs/d' packages
commit d9c2543d10702e2bdcba5b8c2b03616681a35a4d
Author: Jens Petersen <petersen(a)redhat.com>
Date: Wed May 25 11:36:09 2022 +0800
9.4.1-alpha2
diff --git a/.gitignore b/.gitignore
index da30c1d..50b39dc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/ghc-9.4.0.20220501-src.tar.lz
+/ghc-9.4.0.20220523-src.tar.lz
diff --git a/8189.patch b/8189.patch
deleted file mode 100644
index 5343188..0000000
--- a/8189.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 235474e7ae582d66081d8e44666beb2f7638fdd3 Mon Sep 17 00:00:00 2001
-From: Matthew Pickering <matthewtpickering(a)gmail.com>
-Date: Mon, 9 May 2022 18:23:15 +0100
-Subject: [PATCH] hadrian: Only copy and install libffi headers when using
- in-tree libffi
-
-When passed `--use-system-libffi` then we shouldn't copy and install the
-headers from the system package. Instead the headers are expected to be
-available as a runtime dependency on the users system.
-
-Fixes #21485 #21487
----
- hadrian/src/Rules/Generate.hs | 4 +++-
- hadrian/src/Rules/Rts.hs | 2 +-
- rts/rts.cabal.in | 6 +++---
- 3 files changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/hadrian/src/Rules/Generate.hs b/hadrian/src/Rules/Generate.hs
-index aaa83e0060ec..5653bd1d25e1 100644
---- a/hadrian/src/Rules/Generate.hs
-+++ b/hadrian/src/Rules/Generate.hs
-@@ -41,13 +41,15 @@ rtsDependencies :: Expr [FilePath]
- rtsDependencies = do
- stage <- getStage
- rtsPath <- expr (rtsBuildPath stage)
-+ useSystemFfi <- expr (flag UseSystemFfi)
-+
- let headers =
- [ "ghcautoconf.h", "ghcplatform.h"
- , "DerivedConstants.h"
- , "rts" -/- "EventTypes.h"
- , "rts" -/- "EventLogConstants.h"
- ]
-- ++ libffiHeaderFiles
-+ ++ (if useSystemFfi then [] else libffiHeaderFiles)
- pure $ ((rtsPath -/- "include") -/-) <$> headers
-
- genapplyDependencies :: Expr [FilePath]
-diff --git a/hadrian/src/Rules/Rts.hs b/hadrian/src/Rules/Rts.hs
-index 59a337801fce..9a18a41c46fb 100644
---- a/hadrian/src/Rules/Rts.hs
-+++ b/hadrian/src/Rules/Rts.hs
-@@ -126,7 +126,7 @@ needRtsLibffiTargets stage = do
- let headers = fmap ((rtsPath -/- "include") -/-) libffiHeaderFiles
-
- if useSystemFfi
-- then return headers
-+ then return []
- else do
- -- Need Libffi
- -- This returns the dynamic library files (in the Libffi build dir).
-diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in
-index ff60f1b4564f..cc449ee5226c 100644
---- a/rts/rts.cabal.in
-+++ b/rts/rts.cabal.in
-@@ -73,6 +73,9 @@ library
- extra-bundled-libraries: Cffi-6
- else
- extra-bundled-libraries: Cffi
-+ install-includes: ffi.h ffitarget.h
-+ -- ^ see Note [Packaging libffi headers] in
-+ -- GHC.Driver.CodeOutput.
-
- -- The make build system does something special in config.mk.in
- -- for generating profiled, debugged, etc builds of those
-@@ -166,7 +166,7 @@
- install-includes: Cmm.h HsFFI.h MachDeps.h Rts.h RtsAPI.h Stg.h
- ghcautoconf.h ghcconfig.h ghcplatform.h ghcversion.h
- -- ^ from include
-- DerivedConstants.h ffi.h ffitarget.h
-+ DerivedConstants.h
- rts/EventLogConstants.h
- rts/EventTypes.h
- -- ^ generated
diff --git a/ghc9.4.spec b/ghc9.4.spec
index 9b4f409..33ca37a 100644
--- a/ghc9.4.spec
+++ b/ghc9.4.spec
@@ -11,7 +11,7 @@
%global ghc_name ghc9.4
# to handle RCs
-%global ghc_release 9.4.1-alpha1
+%global ghc_release 9.4.1-alpha2
%global base_ver 4.17.0.0
%global ghc_compact_ver 0.1.0.0
@@ -60,12 +60,12 @@
%endif
Name: %{ghc_name}
-Version: 9.4.0.20220501
+Version: 9.4.0.20220523
# Since library subpackages are versioned:
# - release can only be reset if *all* library versions get bumped simultaneously
# (sometimes after a major release)
# - minor release numbers for a branch should be incremented monotonically
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Glasgow Haskell Compiler
License: BSD and HaskellReport
@@ -95,11 +95,11 @@ Patch7:
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8170.patch
# detect ffi.h
#
https://gitlab.haskell.org/ghc/ghc/-/issues/21485
Patch8:
https://gitlab.haskell.org/ghc/ghc/-/commit/6e12e3c178fe9ad16131eb3c089bd...
-#
https://gitlab.haskell.org/ghc/ghc/-/issues/21487
-Patch9:
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/8189.patch
# arm patches
Patch12: ghc-armv7-VFPv3D16--NEON.patch
+#
https://github.com/haskell/text/issues/396
+# reverts
https://github.com/haskell/text/pull/405
Patch13: text2-allow-ghc8-arm.patch
# for unregisterized
@@ -307,17 +307,13 @@ This provides the hadrian tool which can be used to build ghc.
%ghc_lib_subpackage -d -l BSD Cabal-3.7.0.0
%ghc_lib_subpackage -d -l BSD Cabal-syntax-3.7.0.0
%ghc_lib_subpackage -d -l %BSDHaskellReport array-0.5.4.0
-%if %{with hadrian}
-%ghc_lib_subpackage -d -l %BSDHaskellReport -c gmp-devel%{?_isa} base-%{base_ver}
-%else
%ghc_lib_subpackage -d -l %BSDHaskellReport -c gmp-devel%{?_isa},libffi-devel%{?_isa}
base-%{base_ver}
-%endif
%ghc_lib_subpackage -d -l BSD binary-0.8.9.0
%ghc_lib_subpackage -d -l BSD bytestring-0.11.3.0
%ghc_lib_subpackage -d -l %BSDHaskellReport containers-0.6.5.1
%ghc_lib_subpackage -d -l %BSDHaskellReport deepseq-1.4.7.0
%ghc_lib_subpackage -d -l %BSDHaskellReport directory-1.3.7.1
-%ghc_lib_subpackage -d -l %BSDHaskellReport exceptions-0.10.4
+%ghc_lib_subpackage -d -l %BSDHaskellReport exceptions-0.10.5
%ghc_lib_subpackage -d -l BSD filepath-1.4.2.2
# in ghc not ghc-libraries:
%ghc_lib_subpackage -d -x ghc-%{ghc_version_override}
@@ -337,10 +333,10 @@ This provides the hadrian tool which can be used to build ghc.
%ghc_lib_subpackage -d -l BSD pretty-1.1.3.6
%ghc_lib_subpackage -d -l %BSDHaskellReport process-1.6.14.0
%ghc_lib_subpackage -d -l BSD stm-2.5.1.0
-%ghc_lib_subpackage -d -l BSD template-haskell-2.18.0.0
+%ghc_lib_subpackage -d -l BSD template-haskell-2.19.0.0
%ghc_lib_subpackage -d -l BSD -c ncurses-devel%{?_isa} terminfo-0.4.1.5
%ghc_lib_subpackage -d -l BSD text-2.0
-%ghc_lib_subpackage -d -l BSD time-1.12.1
+%ghc_lib_subpackage -d -l BSD time-1.12.2
%ghc_lib_subpackage -d -l BSD transformers-0.5.6.2
%ghc_lib_subpackage -d -l BSD unix-2.7.2.2
%if %{with haddock} || %{with hadrian}
@@ -385,7 +381,6 @@ Installing this package causes %{name}-*-prof packages corresponding
to
%patch6 -p1 -b .orig
%patch7 -p1 -b .orig
%patch8 -p1 -b .orig
-%patch9 -p1 -b .orig
#%%patch10 -p1 -b .orig
rm libffi-tarballs/libffi-*.tar.gz
@@ -880,6 +875,10 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index
%changelog
+* Wed May 25 2022 Jens Petersen <petersen(a)redhat.com> - 9.4.0.20220523-3
+- 9.4.1-alpha2
+-
https://downloads.haskell.org/ghc/9.4.1-alpha2/docs/users_guide/9.4.1-not...
+
* Mon May 9 2022 Jens Petersen <petersen(a)redhat.com> - 9.4.0.20220501-2
- use --with-system-libffi for Hadrian (#2082827)
diff --git a/sources b/sources
index bef71e5..31c3e42 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (ghc-9.4.0.20220501-src.tar.lz) =
2f028f75bee803a5481d08acc69848c40f8f9a8c61eeb1be07d34fb1d4d6c2c0ebd6a251c08f435d9fffc859d89583620c4fe61fa20ab9e43c17e8cc7a49de49
+SHA512 (ghc-9.4.0.20220523-src.tar.lz) =
4c8ef7b5a31573d61862574caa5f1d084c2ce6c094746f0832d7176f7d94d0dc4a4b03b8eec2de198164149062ab652d2e8799f67be29241632f170e6f7b5375
commit fcc3304dac5d74ca4556b76eee25354b7b5fb4b8
Author: Jens Petersen <petersen(a)redhat.com>
Date: Tue May 24 12:49:04 2022 +0800
remove containers bigendian Disable-unboxed-arrays.patch completely
The containers in 9.4 is no longer affected
https://gitlab.haskell.org/ghc/ghc/-/issues/16998
diff --git a/Disable-unboxed-arrays.patch b/Disable-unboxed-arrays.patch
deleted file mode 100644
index 4ccb16d..0000000
--- a/Disable-unboxed-arrays.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ghc-8.8.0.20190721/libraries/containers/containers/include/containers.h~ 2019-06-26
20:39:26.000000000 +0000
-+++ ghc-8.8.0.20190721/libraries/containers/containers/include/containers.h 2019-07-27
08:55:10.747060247 +0000
-@@ -35,7 +35,6 @@
-
- #ifdef __GLASGOW_HASKELL__
- # define USE_ST_MONAD 1
--# define USE_UNBOXED_ARRAYS 1
- #endif
-
- #endif
diff --git a/ghc9.4.spec b/ghc9.4.spec
index 7960283..9b4f409 100644
--- a/ghc9.4.spec
+++ b/ghc9.4.spec
@@ -107,15 +107,6 @@ Patch13: text2-allow-ghc8-arm.patch
Patch15: ghc-warnings.mk-CC-Wall.patch
Patch16: ghc-9.2.1-hadrian-s390x-rts--qg.patch
-# bigendian (s390x and ppc64)
-#
https://gitlab.haskell.org/ghc/ghc/issues/15411
-#
https://gitlab.haskell.org/ghc/ghc/issues/16505
-#
https://bugzilla.redhat.com/show_bug.cgi?id=1651448
-#
https://ghc.haskell.org/trac/ghc/ticket/15914
-#
https://gitlab.haskell.org/ghc/ghc/issues/16973
-#
https://bugzilla.redhat.com/show_bug.cgi?id=1733030
-Patch18: Disable-unboxed-arrays.patch
-
# Debian patches:
Patch24: buildpath-abi-stability.patch
Patch26: no-missing-haddock-file-warning.patch
@@ -413,13 +404,6 @@ rm libffi-tarballs/libffi-*.tar.gz
%patch16 -p1 -b .orig
%endif
-# bigendian
-%if %{without hadrian}
-%ifarch s390x
-%patch18 -p1 -b .orig
-%endif
-%endif
-
#debian
#%%patch24 -p1 -b .orig
%patch26 -p1 -b .orig
commit f2f00d7a8cada2fea84637f817ad7737f00eb99b
Author: Jens Petersen <petersen(a)redhat.com>
Date: Tue May 24 12:46:28 2022 +0800
hadrian haddock generation works now with quick build
diff --git a/ghc9.4.spec b/ghc9.4.spec
index de36097..7960283 100644
--- a/ghc9.4.spec
+++ b/ghc9.4.spec
@@ -512,7 +512,7 @@ cd hadrian
%endif
%if %{with haddock}
# sphinx failing with "Undefined reference targets found in Sphinx log."
-%define hadrian_docs --docs=%{?with_quickbuild:none}%{!?with_quickbuild:no-sphinx}
+%define hadrian_docs --docs=no-sphinx
%else
%define hadrian_docs --docs=none
%endif