rebase to 8.10.7 from ghc8.10; adding filesystem subpkg

This commit is contained in:
Jens Petersen 2022-06-14 00:49:10 +08:00
parent 43ca3c7195
commit aafa21cdc2
5 changed files with 75 additions and 113 deletions

2
.gitignore vendored
View File

@ -34,3 +34,5 @@ testsuite-6.12.3.tar.bz2
/ghc-8.10.5-src.tar.xz.sig
/ghc-8.10.5-src.tar.xz
/ghc-8.10.4-src.tar.xz.sig
/ghc-8.10.7-src.tar.xz
/ghc-8.10.7-src.tar.xz.sig

View File

@ -1,39 +0,0 @@
From 296f25fa5f0fce033b529547e0658076e26f4cda Mon Sep 17 00:00:00 2001
From: Adam Sandberg Ericsson <adam@sandbergericsson.se>
Date: Wed, 28 Apr 2021 20:11:52 +0100
Subject: [PATCH] rts: export allocateWrite, freeWrite and markExec #19763
(cherry picked from commit 2d2985a79eec3d6ae9aee96b264c97c2b158f196)
---
rts/RtsSymbols.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/rts/RtsSymbols.c b/rts/RtsSymbols.c
index 9ca696c27c4..d5b8cc5fece 100644
--- a/rts/RtsSymbols.c
+++ b/rts/RtsSymbols.c
@@ -539,11 +539,21 @@
#define RTS_PROF_SYMBOLS /* empty */
#endif
+#if RTS_LINKER_USE_MMAP
+#define RTS_LINKER_USE_MMAP_SYMBOLS \
+ SymI_HasProto(allocateWrite) \
+ SymI_HasProto(freeWrite) \
+ SymI_HasProto(markExec)
+#else
+#define RTS_LINKER_USE_MMAP_SYMBOLS /* empty */
+#endif
+
#define RTS_SYMBOLS \
Maybe_Stable_Names \
RTS_TICKY_SYMBOLS \
RTS_PROF_SYMBOLS \
RTS_LIBDW_SYMBOLS \
+ RTS_LINKER_USE_MMAP_SYMBOLS \
SymI_HasProto(StgReturn) \
SymI_HasProto(stg_gc_noregs) \
SymI_HasProto(stg_ret_v_info) \
--
GitLab

View File

@ -1,11 +0,0 @@
--- ghc-8.8.4/docs/users_guide/conf.py~ 2020-07-09 00:43:03.000000000 +0800
+++ ghc-8.8.4/docs/users_guide/conf.py 2021-07-01 00:09:03.537324304 +0800
@@ -77,7 +77,7 @@
latex_elements = {
'inputenc': '',
'utf8extra': '',
- 'preamble': '''
+ 'preamble': r'''
\usepackage{fontspec}
\usepackage{makeidx}
\setsansfont{DejaVu Sans}

132
ghc.spec
View File

@ -8,7 +8,7 @@
# to handle RCs
%global ghc_release %{version}
%global base_ver 4.14.2.0
%global base_ver 4.14.3.0
# build profiling libraries
# build haddock
@ -38,19 +38,19 @@
# no longer build testsuite (takes time and not really being used)
%bcond_with testsuite
# 8.10.5 can use llvm 9-12
# 8.10 can use llvm 9-12
%global llvm_major 11
%global ghc_llvm_archs armv7hl aarch64
%global ghc_unregisterized_arches s390 s390x %{mips} riscv64
Name: ghc
Version: 8.10.5
Version: 8.10.7
# 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: 117%{?dist}
Release: 118%{?dist}
Summary: Glasgow Haskell Compiler
License: BSD and HaskellReport
@ -69,11 +69,6 @@ Patch2: ghc-Cabal-install-PATH-warning.patch
Patch3: ghc-gen_contents_index-nodocs.patch
# https://phabricator.haskell.org/rGHC4eebc8016f68719e1ccdf460754a97d1f4d6ef05
Patch6: ghc-8.6.3-sphinx-1.8.patch
# https://gitlab.haskell.org/ghc/ghc/-/issues/19763
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5915
Patch7: https://gitlab.haskell.org/ghc/ghc/-/commit/296f25fa5f0fce033b529547e0658076e26f4cda.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1977317
Patch8: ghc-userguide-sphinx4.patch
# Arch dependent patches
# arm
@ -99,12 +94,13 @@ Patch26: no-missing-haddock-file-warning.patch
# fedora ghc has been bootstrapped on
# %%{ix86} x86_64 ppc ppc64 armv7hl s390 s390x ppc64le aarch64
# and retired arches: alpha sparcv9 armv5tel
# see also deprecated ghc_arches defined in /etc/rpm/macros.ghc-srpm by redhat-rpm-macros
# see also deprecated ghc_arches defined in ghc-srpm-macros
# /usr/lib/rpm/macros.d/macros.ghc-srpm
BuildRequires: ghc-compiler > 8.6
# for ABI hash checking
%if %{with abicheck}
BuildRequires: ghc
BuildRequires: %{name}
%endif
BuildRequires: ghc-rpm-macros-extra
BuildRequires: ghc-binary-devel
@ -113,6 +109,8 @@ 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: alex
BuildRequires: gmp-devel
@ -141,18 +139,18 @@ BuildRequires: autoconf, automake
%if %{without quickbuild}
#BuildRequires: gnupg2
%endif
Requires: ghc-compiler = %{version}-%{release}
Requires: ghc-devel = %{version}-%{release}
Requires: ghc-ghc-devel = %{version}-%{release}
Requires: %{name}-compiler = %{version}-%{release}
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-ghc-devel = %{version}-%{release}
%if %{with haddock}
Suggests: ghc-doc = %{version}-%{release}
Suggests: ghc-doc-index = %{version}-%{release}
Suggests: %{name}-doc = %{version}-%{release}
Suggests: %{name}-doc-index = %{version}-%{release}
%endif
%if %{with manual}
Suggests: ghc-manual = %{version}-%{release}
Suggests: %{name}-manual = %{version}-%{release}
%endif
%if %{with ghc_prof}
Suggests: ghc-prof = %{version}-%{release}
Suggests: %{name}-prof = %{version}-%{release}
%endif
%description
@ -182,11 +180,12 @@ for the functional language Haskell. Highlights:
Summary: GHC compiler and utilities
License: BSD
Requires: gcc%{?_isa}
Requires: ghc-base-devel%{?_isa} = %{base_ver}-%{release}
Requires: ghc-filesystem
%if %{without haddock}
# added during f31
Obsoletes: ghc-doc-index < %{version}-%{release}
Requires: %{name}-base-devel%{?_isa} = %{base_ver}-%{release}
%if %{with haddock}
Requires: %{name}-filesystem = %{version}-%{release}
%else
Obsoletes: %{name}-doc-index < %{version}-%{release}
Obsoletes: %{name}-filesystem < %{version}-%{release}
%endif
%ifarch %{ghc_llvm_archs}
Requires: llvm%{llvm_major}
@ -195,7 +194,7 @@ Requires: llvm%{llvm_major}
%description compiler
The package contains the GHC compiler, tools and utilities.
The ghc libraries are provided by ghc-devel.
The ghc libraries are provided by %{name}-devel.
To install all of ghc (including the ghc library),
install the main ghc package.
@ -206,19 +205,28 @@ Summary: Haskell library documentation meta package
License: BSD
%description doc
Installing this package causes ghc-*-doc packages corresponding to ghc-*-devel
packages to be automatically installed too.
Installing this package causes %{name}-*-doc packages corresponding to
%{name}-*-devel packages to be automatically installed too.
%package doc-index
Summary: GHC library documentation indexing
License: BSD
Obsoletes: ghc-doc-cron < %{version}-%{release}
Requires: ghc-compiler = %{version}-%{release}
Requires: %{name}-compiler = %{version}-%{release}
BuildArch: noarch
%description doc-index
The package enables re-indexing of installed library documention.
%package filesystem
Summary: Shared directories for Haskell documentation
BuildArch: noarch
%description filesystem
This package provides some common directories used for
Haskell libraries documentation.
%endif
@ -227,6 +235,7 @@ The package enables re-indexing of installed library documention.
Summary: GHC manual
License: BSD
BuildArch: noarch
Requires: %{name}-filesystem = %{version}-%{release}
%description manual
This package provides the User Guide and Haddock manual.
@ -245,7 +254,7 @@ This package provides the User Guide and Haddock manual.
%ghc_lib_subpackage -d -l %BSDHaskellReport -c gmp-devel%{?_isa},libffi-devel%{?_isa} base-%{base_ver}
%ghc_lib_subpackage -d -l BSD binary-0.8.8.0
%ghc_lib_subpackage -d -l BSD bytestring-0.10.12.0
%ghc_lib_subpackage -d -l %BSDHaskellReport containers-0.6.4.1
%ghc_lib_subpackage -d -l %BSDHaskellReport containers-0.6.5.1
%ghc_lib_subpackage -d -l %BSDHaskellReport deepseq-1.4.4.0
%ghc_lib_subpackage -d -l %BSDHaskellReport directory-1.3.6.0
%ghc_lib_subpackage -d -l %BSDHaskellReport exceptions-0.10.4
@ -258,14 +267,14 @@ This package provides the User Guide and Haddock manual.
%ghc_lib_subpackage -d -l BSD ghc-heap-%{ghc_version_override}
# see below for ghc-prim
%ghc_lib_subpackage -d -l BSD -x ghci-%{ghc_version_override}
%ghc_lib_subpackage -d -l BSD haskeline-0.8.0.1
%ghc_lib_subpackage -d -l BSD haskeline-0.8.2
%ghc_lib_subpackage -d -l BSD hpc-0.6.1.0
# see below for integer-gmp
%ghc_lib_subpackage -d -l %BSDHaskellReport libiserv-%{ghc_version_override}
%ghc_lib_subpackage -d -l BSD mtl-2.2.2
%ghc_lib_subpackage -d -l BSD parsec-3.1.14.0
%ghc_lib_subpackage -d -l BSD pretty-1.1.3.6
%ghc_lib_subpackage -d -l %BSDHaskellReport process-1.6.9.0
%ghc_lib_subpackage -d -l %BSDHaskellReport process-1.6.13.2
%ghc_lib_subpackage -d -l BSD stm-2.5.0.1
%ghc_lib_subpackage -d -l BSD template-haskell-2.16.0.0
%ghc_lib_subpackage -d -l BSD -c ncurses-devel%{?_isa} terminfo-0.4.1.4
@ -283,10 +292,10 @@ This package provides the User Guide and Haddock manual.
%package devel
Summary: GHC development libraries meta package
License: BSD and HaskellReport
Requires: ghc-compiler = %{version}-%{release}
Requires: %{name}-compiler = %{version}-%{release}
Obsoletes: ghc-libraries < %{version}-%{release}
Provides: ghc-libraries = %{version}-%{release}
%{?ghc_packages_list:Requires: %(echo %{ghc_packages_list} | sed -e "s/\([^ ]*\)-\([^ ]*\)/ghc-\1-devel = \2-%{release},/g")}
%{?ghc_packages_list:Requires: %(echo %{ghc_packages_list} | sed -e "s/\([^ ]*\)-\([^ ]*\)/%{name}-\1-devel = \2-%{release},/g")}
%description devel
This is a meta-package for all the development library packages in GHC
@ -297,11 +306,11 @@ except the ghc library, which is installed by the toplevel ghc metapackage.
%package prof
Summary: GHC profiling libraries meta package
License: BSD
Requires: ghc-compiler = %{version}-%{release}
Requires: %{name}-compiler = %{version}-%{release}
%description prof
Installing this package causes ghc-*-prof packages corresponding to ghc-*-devel
packages to be automatically installed too.
Installing this package causes %{name}-*-prof packages corresponding to
%{name}-*-devel packages to be automatically installed too.
%endif
@ -309,20 +318,18 @@ packages to be automatically installed too.
%if %{without quickbuild}
#%%{gpgverify} --keyring='%{SOURCE3}' --signature='%{SOURCE2}' --data='%{SOURCE0}'
%endif
%setup -q -n %{name}-%{version} %{?with_testsuite:-b1}
%setup -q -n ghc-%{version} %{?with_testsuite:-b1}
%patch1 -p1 -b .orig
%patch3 -p1 -b .orig
%patch2 -p1 -b .orig
%patch6 -p1 -b .orig
%patch7 -p1 -b .orig
%patch8 -p1 -b .orig
rm -r libffi-tarballs
%ifarch armv7hl
%patch12 -p1 -b .orig
%patch12 -p1 -b .orig12
%endif
# remove s390x after switching to llvm
@ -339,8 +346,8 @@ rm -r libffi-tarballs
%patch24 -p1 -b .orig
%patch26 -p1 -b .orig
%global gen_contents_index gen_contents_index.orig
%if %{with haddock}
%global gen_contents_index gen_contents_index.orig
if [ ! -f "libraries/%{gen_contents_index}" ]; then
echo "Missing libraries/%{gen_contents_index}, needed at end of %%install!"
exit 1
@ -390,7 +397,6 @@ autoreconf
%endif
%ghc_set_gcc_flags
# for ghc >= 8.2
export CC=%{_bindir}/gcc
# * %%configure induces cross-build due to different target/host/build platform names
@ -399,7 +405,7 @@ export CC=%{_bindir}/gcc
--datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \
--libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \
--sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
--docdir=%{_docdir}/ghc \
--docdir=%{_docdir}/%{name} \
--with-system-libffi \
%ifarch %{ghc_unregisterized_arches}
--enable-unregisterised \
@ -447,9 +453,10 @@ done
echo "%%dir %{ghclibdir}" >> ghc-base%{?_ghcdynlibdir:-devel}.files
echo "%{ghclibdir}/include" >> ghc-base-devel.files
%ghc_gen_filelists ghc-boot %{ghc_version_override}
%ghc_gen_filelists ghc %{ghc_version_override}
%ghc_gen_filelists ghc-boot %{ghc_version_override}
%ghc_gen_filelists ghci %{ghc_version_override}
%ghc_gen_filelists ghc-prim 0.6.1
%ghc_gen_filelists integer-gmp 1.0.3.0
@ -461,8 +468,8 @@ for i in devel doc prof; do\
cat ghc-%1-$i.files >> ghc-%2-$i.files\
done
%merge_filelist integer-gmp base
%merge_filelist ghc-prim base
%merge_filelist integer-gmp base
# add rts libs
rm -f rts.files
@ -493,7 +500,7 @@ export RPM_BUILD_NCPUS=1
%check
export LANG=en_US.utf8
export LANG=C.utf8
# stolen from ghc6/debian/rules:
GHC=inplace/bin/ghc-stage2
# Do some very simple tests that the compiler actually works
@ -502,8 +509,6 @@ mkdir testghc
echo 'main = putStrLn "Foo"' > testghc/foo.hs
$GHC testghc/foo.hs -o testghc/foo
[ "$(testghc/foo)" = "Foo" ]
# doesn't seem to work inplace:
#[ "$(inplace/bin/runghc testghc/foo.hs)" = "Foo" ]
rm testghc/*
echo 'main = putStrLn "Foo"' > testghc/foo.hs
$GHC testghc/foo.hs -o testghc/foo -O2
@ -514,6 +519,8 @@ $GHC testghc/foo.hs -o testghc/foo -dynamic
[ "$(testghc/foo)" = "Foo" ]
rm testghc/*
$GHC --info
# check the ABI hashes
%if %{with abicheck}
if [ "%{version}" = "$(ghc --numeric-version)" ]; then
@ -619,20 +626,11 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index
%{ghclibdir}/bin/haddock
%{ghclibdir}/html
%{ghclibdir}/latex
%{ghc_html_dir}/libraries/gen_contents_index
%{ghc_html_dir}/libraries/prologue.txt
%ghost %{ghc_html_dir}/libraries/doc-index*.html
%ghost %{ghc_html_dir}/libraries/haddock-bundle.min.js
%ghost %{ghc_html_dir}/libraries/haddock-util.js
%ghost %{ghc_html_dir}/libraries/hslogo-16.png
%ghost %{ghc_html_dir}/libraries/index*.html
%ghost %{ghc_html_dir}/libraries/linuwial.css
%ghost %{ghc_html_dir}/libraries/minus.gif
%ghost %{ghc_html_dir}/libraries/new-ocean.css
%ghost %{ghc_html_dir}/libraries/ocean.css
%ghost %{ghc_html_dir}/libraries/plus.gif
%ghost %{ghc_html_dir}/libraries/quick-jump.css
%ghost %{ghc_html_dir}/libraries/synopsis.png
%{ghc_html_libraries_dir}/prologue.txt
%verify(not size mtime) %{ghc_html_libraries_dir}/haddock-bundle.min.js
%verify(not size mtime) %{ghc_html_libraries_dir}/linuwial.css
%verify(not size mtime) %{ghc_html_libraries_dir}/quick-jump.css
%verify(not size mtime) %{ghc_html_libraries_dir}/synopsis.png
%endif
%if %{with manual}
%{_mandir}/man1/ghc.1*
@ -644,6 +642,14 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index
%files doc
%files doc-index
%{ghc_html_libraries_dir}/gen_contents_index
%verify(not size mtime) %{ghc_html_libraries_dir}/doc-index*.html
%verify(not size mtime) %{ghc_html_libraries_dir}/index*.html
%files filesystem
%dir %_ghc_doc_dir
%dir %ghc_html_dir
%dir %ghc_html_libraries_dir
%endif
%if %{with manual}
@ -663,6 +669,10 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index
%changelog
* Tue Jun 14 2022 Jens Petersen <petersen@redhat.com> - 8.10.7-118
- https://downloads.haskell.org/~ghc/8.10.7/docs/html/users_guide/8.10.7-notes.html
- add filesystem subpackage
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.10.5-117
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

View File

@ -1,2 +1,2 @@
SHA512 (ghc-8.10.5-src.tar.xz.sig) = c9d1abf8f4065c1935be877b4978638130307afbfef988ac16d7c972e502b71056a5e5acc1b54b903d8f939a0f2e3ec4ad953cdc7a9ce21024f398ce84cfb2da
SHA512 (ghc-8.10.5-src.tar.xz) = b5f39be0accd5c1cecf1cc326ba3142f561d2ac93e9abf366fe46307d7c0712aac244836e659e1a4d9d0fb98299ea96edc8e8a06f3a81b528b14914b94057ffe
SHA512 (ghc-8.10.7-src.tar.xz) = eaf35de6da9b196f1e26bbbb681d60e4fe5f94a9e2af265a1ea5b5aef8ad2b10848ff946eb61d128095002624aced52c01c7f8cf1d72fd9120b8cc7762ddc3c3
SHA512 (ghc-8.10.7-src.tar.xz.sig) = 13dcbb85d1b10c9dba0333fddb8475406bfb8c64661bac779ae3d967c93e18db43e1a7ae35422c10d6d00e76b6bbb23895011e2cda9d9a54706620266b2ba2b5