From 867f1588757381fbe22a568b81f49a0ba119eac3 Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Sun, 11 Jul 2021 21:27:39 +0800 Subject: [PATCH] rebase to 8.10.5 from ghc:8.10 --- .gitignore | 2 + ...25fa5f0fce033b529547e0658076e26f4cda.patch | 39 +++++++++++ buildpath-abi-stability.patch | 12 ++-- ghc.spec | 65 ++++++++++--------- sources | 4 +- 5 files changed, 86 insertions(+), 36 deletions(-) create mode 100644 296f25fa5f0fce033b529547e0658076e26f4cda.patch diff --git a/.gitignore b/.gitignore index 3ac4eb6..22069ca 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ testsuite-6.12.3.tar.bz2 /ghc-8.8.3-src.tar.xz.sig /ghc-8.8.4-src.tar.xz.sig /ghc-8.8.4-src.tar.xz +/ghc-8.10.5-src.tar.xz.sig +/ghc-8.10.5-src.tar.xz diff --git a/296f25fa5f0fce033b529547e0658076e26f4cda.patch b/296f25fa5f0fce033b529547e0658076e26f4cda.patch new file mode 100644 index 0000000..813c500 --- /dev/null +++ b/296f25fa5f0fce033b529547e0658076e26f4cda.patch @@ -0,0 +1,39 @@ +From 296f25fa5f0fce033b529547e0658076e26f4cda Mon Sep 17 00:00:00 2001 +From: Adam Sandberg Ericsson +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 + diff --git a/buildpath-abi-stability.patch b/buildpath-abi-stability.patch index 1d45c72..7eeee00 100644 --- a/buildpath-abi-stability.patch +++ b/buildpath-abi-stability.patch @@ -1,8 +1,10 @@ Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424 ---- a/compiler/iface/MkIface.hs -+++ b/compiler/iface/MkIface.hs -@@ -681,7 +681,7 @@ addFingerprints hsc_env mb_old_fingerpri +Index: ghc-8.10.1/compiler/iface/MkIface.hs +=================================================================== +--- ghc-8.10.1.orig/compiler/iface/MkIface.hs ++++ ghc-8.10.1/compiler/iface/MkIface.hs +@@ -679,7 +679,7 @@ iface_hash <- computeFingerprint putNameLiterally (mod_hash, ann_fn (mkVarOcc "module"), -- See mkIfaceAnnCache @@ -11,9 +13,9 @@ Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424 sorted_deps, mi_hpc iface0) -@@ -714,6 +714,9 @@ addFingerprints hsc_env mb_old_fingerpri +@@ -714,6 +714,9 @@ + (non_orph_rules, orph_rules) = mkOrphMap ifRuleOrph (mi_rules iface0) (non_orph_fis, orph_fis) = mkOrphMap ifFamInstOrph (mi_fam_insts iface0) - fix_fn = mi_fix_fn iface0 ann_fn = mkIfaceAnnCache (mi_anns iface0) + -- Do not allow filenames to affect the interface + usages = [ case u of UsageFile _ fp -> UsageFile "" fp; _ -> u | u <- mi_usages iface0 ] diff --git a/ghc.spec b/ghc.spec index b1b1eb3..bbdc06d 100644 --- a/ghc.spec +++ b/ghc.spec @@ -8,7 +8,7 @@ # to handle RCs %global ghc_release %{version} -%global base_ver 4.13.0.0 +%global base_ver 4.14.2.0 # build profiling libraries # build haddock @@ -37,19 +37,19 @@ # no longer build testsuite (takes time and not really being used) %bcond_with testsuite -# 8.8 needs llvm-7.0 -%global llvm_major 7.0 +# 8.10.5 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.8.4 +Version: 8.10.5 # 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: 111%{?dist} +Release: 112%{?dist} Summary: Glasgow Haskell Compiler License: BSD and HaskellReport @@ -68,8 +68,11 @@ 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 -Patch7: ghc-userguide-sphinx4.patch +Patch8: ghc-userguide-sphinx4.patch # Arch dependent patches @@ -93,19 +96,19 @@ Patch18: Disable-unboxed-arrays.patch # Debian patches: Patch24: buildpath-abi-stability.patch Patch26: no-missing-haddock-file-warning.patch -Patch28: x32-use-native-x86_64-insn.patch +#Patch28: x32-use-native-x86_64-insn.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 -BuildRequires: ghc-compiler > 8.4 +BuildRequires: ghc-compiler > 8.6 # for ABI hash checking %if %{with abicheck} BuildRequires: ghc %endif -BuildRequires: ghc-rpm-macros-extra >= 2.0.6 +BuildRequires: ghc-rpm-macros-extra BuildRequires: ghc-binary-devel BuildRequires: ghc-bytestring-devel BuildRequires: ghc-containers-devel @@ -239,41 +242,42 @@ This package provides the User Guide and Haddock manual. # use "./libraries-versions.sh" to check versions %if %{defined ghclibdir} -%ghc_lib_subpackage -d -l BSD Cabal-3.0.1.0 +%ghc_lib_subpackage -d -l BSD Cabal-3.2.1.0 %ghc_lib_subpackage -d -l %BSDHaskellReport array-0.5.4.0 %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.7.0 -%ghc_lib_subpackage -d -l BSD bytestring-0.10.10.1 -%ghc_lib_subpackage -d -l %BSDHaskellReport containers-0.6.2.1 +%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 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 %ghc_lib_subpackage -d -l BSD filepath-1.4.2.1 +# in ghc not ghc-libraries: +%ghc_lib_subpackage -d -x ghc-%{ghc_version_override} +%ghc_lib_subpackage -d -x -l BSD ghc-boot-%{ghc_version_override} %ghc_lib_subpackage -d -l BSD ghc-boot-th-%{ghc_version_override} %ghc_lib_subpackage -d -l BSD ghc-compact-0.1.0.0 %ghc_lib_subpackage -d -l BSD ghc-heap-%{ghc_version_override} # see below for ghc-prim -%ghc_lib_subpackage -d -l BSD haskeline-0.7.5.0 -%ghc_lib_subpackage -d -l BSD hpc-0.6.0.3 +%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 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 BSD stm-2.5.0.0 -%ghc_lib_subpackage -d -l BSD template-haskell-2.15.0.0 +%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 -%ghc_lib_subpackage -d -l BSD text-1.2.4.0 +%ghc_lib_subpackage -d -l BSD text-1.2.4.1 %ghc_lib_subpackage -d -l BSD time-1.9.3 %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} %ghc_lib_subpackage -d -l BSD xhtml-3000.2.2.1 %endif -# in ghc not ghc-devel: -%ghc_lib_subpackage -d -x ghc-%{ghc_version_override} -%ghc_lib_subpackage -d -x -l BSD ghc-boot-%{ghc_version_override} -%ghc_lib_subpackage -d -x -l BSD ghci-%{ghc_version_override} %endif %global version %{ghc_version_override} @@ -315,6 +319,7 @@ packages to be automatically installed too. %patch2 -p1 -b .orig %patch6 -p1 -b .orig %patch7 -p1 -b .orig +%patch8 -p1 -b .orig rm -r libffi-tarballs @@ -335,7 +340,7 @@ rm -r libffi-tarballs # debian %patch24 -p1 -b .orig %patch26 -p1 -b .orig -%patch28 -p1 -b .orig +#%%patch28 -p1 -b .orig %global gen_contents_index gen_contents_index.orig %if %{with haddock} @@ -448,8 +453,8 @@ 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 ghci %{ghc_version_override} -%ghc_gen_filelists ghc-prim 0.5.3 -%ghc_gen_filelists integer-gmp 1.0.2.0 +%ghc_gen_filelists ghc-prim 0.6.1 +%ghc_gen_filelists integer-gmp 1.0.3.0 %define merge_filelist()\ cp -p libraries/%1/LICENSE libraries/LICENSE.%1\ @@ -566,7 +571,7 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index %files compiler %license LICENSE -%doc ANNOUNCE +%doc README.md %{_bindir}/ghc %{_bindir}/ghc-%{version} %{_bindir}/ghc-pkg @@ -590,9 +595,6 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index %{ghclibdir}/bin/ghc-iserv-prof %endif %{ghclibdir}/bin/runghc -%ifnarch %{ghc_unregisterized_arches} -%{ghclibdir}/bin/ghc-split -%endif %{ghclibdir}/bin/hp2ps %{ghclibdir}/bin/unlit %{ghclibdir}/ghc-usage.txt @@ -624,6 +626,7 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index %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 @@ -658,6 +661,10 @@ env -C %{ghc_html_libraries_dir} ./gen_contents_index %changelog +* Sun Jul 11 2021 Jens Petersen - 8.10.5-112 +- rebase to 8.10.5 from ghc:8.10 module stream +- https://downloads.haskell.org/~ghc/8.10.5/docs/html/users_guide/8.10.1-notes.html + * Wed Jun 30 2021 Jens Petersen - 8.8.4-111 - fix build with sphinx4 (#1977317) diff --git a/sources b/sources index 579d80e..b5e2cf4 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (ghc-8.8.4-src.tar.xz.sig) = 1ed2e64e8b75a147d7c66b0018119f54ac740131b6f74612aa975c9120d8f7a8a2286829cef22ef2cd16262af0604659daa41c09ef3bdec6c22b8d086fbc1166 -SHA512 (ghc-8.8.4-src.tar.xz) = efd23bd819f7429486696a3a929a040471db7ea8a2d1f1d832e4cf0825b9e1e0c5e6ecad0ab8376f58b74e9c28c1d2f773bd126596d6d853c9e57d57e5ceb090 +SHA512 (ghc-8.10.5-src.tar.xz.sig) = c9d1abf8f4065c1935be877b4978638130307afbfef988ac16d7c972e502b71056a5e5acc1b54b903d8f939a0f2e3ec4ad953cdc7a9ce21024f398ce84cfb2da +SHA512 (ghc-8.10.5-src.tar.xz) = b5f39be0accd5c1cecf1cc326ba3142f561d2ac93e9abf366fe46307d7c0712aac244836e659e1a4d9d0fb98299ea96edc8e8a06f3a81b528b14914b94057ffe