Hello community, here is the log from the commit of package ghc for openSUSE:Factory checked in at 2016-10-19 13:13:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc (Old) and /work/SRC/openSUSE:Factory/.ghc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc" Changes: -------- --- /work/SRC/openSUSE:Factory/ghc/ghc.changes 2016-09-30 15:33:10.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc.new/ghc.changes 2016-10-19 13:14:34.000000000 +0200 @@ -1,0 +2,36 @@ +Fri Oct 14 20:34:46 UTC 2016 - mimi...@gmail.com + +- make compatible with new ghc-rpm-macros + +------------------------------------------------------------------- +Wed Sep 28 14:16:09 UTC 2016 - peter.tromm...@ohm-hochschule.de + +- update to 8.0.1 +- drop patches fixed upstream: +* drop atomic-cast.patch +* drop cabal-show-detail-direct.patch +* drop 0001-link-command-line-libs-to-temp-so.patch +* drop 0001-implement-native-code-generator-for-ppc64.patch +* drop ghc.git-b29f20.patch +* drop u_terminfo_0402.patch +* drop u_Cabal_update.patch +* drop u_haskeline_update.patch +* drop 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch +* drop D2214.patch +* drop D2225.patch +- refresh 0001-StgCmmPrim-Add-missing-write-barrier.patch +- refresh 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch +- add ghc-no-madv-free.patch to fix "unable to decommit memory: + Invalid argument" errors GHC reports due to a misdetected + MADV_FREE capability. The configure script sees the symbol define + by glibc, but unfortunately this doesn't mean that the running + kernel actually supports the feature, too. The upstream ticket + https://ghc.haskell.org/trac/ghc/ticket/12495 has more details. + Thanks to @psimons +- GHC produces debug information on x86 and x86_64 +- aarch64 has LLVM backend (requires llvm-3.7) +- native code generator for powerpc64[le] (openSUSE contribution!) +- disable html doc on SLE, we don't have python-sphinx +* Thanks @mimi_vx + +------------------------------------------------------------------- Old: ---- 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch 0001-implement-native-code-generator-for-ppc64.patch 0001-link-command-line-libs-to-temp-so.patch D2214.patch D2225.patch atomic-cast.patch cabal-show-detail-direct.patch ghc-7.10.3b-src.tar.xz ghc.git-b29f20.patch u_Cabal_update.patch u_haskeline_update.patch u_terminfo_0402.patch New: ---- ghc-8.0.1-src.tar.xz ghc-no-madv-free.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc.spec ++++++ --- /var/tmp/diff_new_pack.WclYjX/_old 2016-10-19 13:14:38.000000000 +0200 +++ /var/tmp/diff_new_pack.WclYjX/_new 2016-10-19 13:14:38.000000000 +0200 @@ -16,22 +16,27 @@ # +%if 0%{?suse_version} == 1315 && !0%{?is_opensuse} +%define without_manual 1 +%endif + %global unregisterised_archs aarch64 s390 s390x Name: ghc -Version: 7.10.3 +Version: 8.0.1 Release: 0 -Url: http://haskell.org/ghc/dist/%{version}/%{name}-%{version}-src.tar.bz2 +Url: http://haskell.org/ghc/dist/%{version}/%{name}-%{version}-src.tar.xz Summary: The Glorious Glasgow Haskell Compiler License: BSD-3-Clause Group: Development/Languages/Other ExclusiveArch: aarch64 %{ix86} x86_64 ppc ppc64 ppc64le s390 s390x BuildRequires: binutils-devel BuildRequires: gcc -BuildRequires: ghc-bootstrap >= 7.6 +BuildRequires: ghc-bootstrap >= 7.8 BuildRequires: ghc-rpm-macros-extra BuildRequires: glibc-devel BuildRequires: gmp-devel +BuildRequires: libdw-devel BuildRequires: libelf-devel #Fix for openSUSE:Leap:42.1 %if 0%{?suse_version} == 1315 @@ -39,59 +44,35 @@ %else BuildRequires: libffi-devel %endif -#TODO ghc-7.10.2 supports only llvm-3.5, need talk with llvm packagers about +%ifarch aarch64 +BuildRequires: binutils-gold +%endif +#TODO ghc-8.0.1 supports only llvm-3.7, need talk with llvm packagers about # versioned build of llvm -#%%ifnarch ppc aarch64 +# Currently, there is no llvm support for powerpc* in GHC. +# Aarch64 has unregisterised LLVM backend, we need llvm 3.7.x +#%%ifarch aarch64 %{ix86} x86_64 #BuildRequires: llvm #%%endif BuildRequires: ncurses-devel BuildRequires: pkg-config BuildRequires: xz %if %{undefined without_manual} -BuildRequires: docbook-utils -BuildRequires: docbook-xsl-stylesheets -BuildRequires: libxslt +BuildRequires: python-sphinx %endif -%ifarch aarch64 -BuildRequires: binutils-gold -%endif - -# Patch 19 changes build system -BuildRequires: autoconf -BuildRequires: automake PreReq: update-alternatives Requires: ghc-compiler = %{version}-%{release} Requires: ghc-ghc-devel = %{version}-%{release} Requires: ghc-libraries = %{version}-%{release} -Source: http://haskell.org/ghc/dist/%{version}/%{name}-%{version}b-src.tar.xz +Source: http://haskell.org/ghc/dist/%{version}/%{name}-%{version}-src.tar.xz Source1: ghc-rpmlintrc -# PATCH-FIX-UPSTREAM fix signature of atomic builtins (#10926) -Patch1: atomic-cast.patch -# PATCH-FIX-UPSTREAM cabal-show-detail-direct.patch peter.tromm...@ohm-hochschule.de -- Fix testsuites with large output. Debian patch. Thanks Joachim for suggesting it in Haskell #10870! -Patch3: cabal-show-detail-direct.patch -# PATCH_FIX-UPSTREAM 0001-link-command-line-libs-to-temp-so.patch -- peter.tromm...@ohm-hochschule.de -- Fix panic in GHCi. See Haskell trac #10458. -Patch4: 0001-link-command-line-libs-to-temp-so.patch -# PATCH-FEATURE-UPSTREAM 0001-implement-native-code-generator-for-ppc64.patch peter.tromm...@ohm-hochschule.de -- Implement native code generator for ppc64. Haskell Trac #9863. -Patch19: 0001-implement-native-code-generator-for-ppc64.patch -# PATCH-FIX-UPSTREAM ghc.git-b29f20.patch peter.tromm...@ohm-hochschule.de -- nativeGen PPC: fix > 16 bit offsets in stack handling. This is a backport of my patch for Haskell trac #7830. We do not use erikd's patch because we have 64 bit native code generation for ppc64[le]. See patch 19. -Patch20: ghc.git-b29f20.patch -# PATCH-FIX-UPSTREAM u_terminfo_0402.patch mimi...@gmail.com -- update terminfo to 0.4.0.2 -Patch21: u_terminfo_0402.patch -# PATCH-FIX-UPSTREAM u_Cabal_update.patch mimi...@gmail.com -- update Cabal to 1.22.6.0 -Patch22: u_Cabal_update.patch -# PATCH-FIX-UPSTREAM u_haskeline_update.patch mimi...@gmail.com -- update haskeline to 0.7.2.3 -Patch23: u_haskeline_update.patch -# PATCH-FIX-UPSTREAM 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch peter.tromm...@ohm-hochschule.de -- Fix ghc-pureMD5 and other Haskell packages on big-endian architectures. -Patch24: 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch -# PATCH-FIX-UPSTREAM D2214.patch peter.tromm...@ohm-hochschule.de -- Fix PowerPC code generator. See Haskell Trac #12054 and https://phabricator.haskell.org/D2214 for details. -Patch25: D2214.patch -# PATCH-FIX-UPSTREAM D2225.patch peter.tromm...@ohm-hochschule.de -- Fix SMP imlementation in Haskell runtime on PPC[64[le]]. Backport of upstreamed patch. See Haskell trac #12070 and https://phabricator.haskell.org/D2225 for details. -Patch26: D2225.patch # PATCH-FIX-UPSTREAM D2495.patch peter.tromm...@ohm-hochschule.de -- Add missing memory barrier on mutable variables. See https://ghc.haskell.org/trac/ghc/ticket/12469 for details. Backport of upstream fix for ghc 8.0.2. Patch27: D2495.patch # PATCH-FIX_UPSTREAM 0001-StgCmmPrim-Add-missing-write-barrier.patch peter.tromm...@ohm-hochschule.de -- Add missing write barrier on mutable arrays. Patch28: 0001-StgCmmPrim-Add-missing-write-barrier.patch +# PATCH-FIX_UPSTREAM ghc-no-madv-free.patch psim...@suse.com -- Fix "unable to decommit memory: Invalid argument" errors. See https://ghc.haskell.org/trac/ghc/ticket/12495 for details. +Patch29: ghc-no-madv-free.patch # PATCH-FIX-UPSTREAM 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch peter.tromm...@ohm-hochschule.de -- Fix PPC codegen: Fixes ghc-zeromq4-haskell build on 64-bit PowerPCs Patch30: 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch @@ -119,10 +100,6 @@ Group: Development/Languages/Other Requires: gcc Requires: ghc-base-devel -# This Requires fixes an issue in ghc's runtime system (rts) when -# locale files are missing. RTS loops and a memory leak eventually -# exhausts all memory and the program crashes. See Haskell trac #7695. -Requires: glibc-locale Requires(post): update-alternatives Requires(postun): update-alternatives %ifarch aarch64 @@ -140,29 +117,30 @@ %global ghc_pkg_c_deps ghc-compiler = %{ghc_version_override}-%{release} %if %{defined ghclibdir} -%ghc_lib_subpackage Cabal 1.22.8.0 -%ghc_lib_subpackage array 0.5.1.0 -%ghc_lib_subpackage -c gmp-devel,libffi-devel base 4.8.2.0 -%ghc_lib_subpackage binary 0.7.5.0 -%ghc_lib_subpackage bytestring 0.10.6.0 -%ghc_lib_subpackage containers 0.5.6.2 -%ghc_lib_subpackage deepseq 1.4.1.1 -%ghc_lib_subpackage directory 1.2.2.0 -%ghc_lib_subpackage filepath 1.4.0.0 -%define ghc_pkg_obsoletes ghc-bin-package-db-devel < 0.0.0.0-%{release} -%ghc_lib_subpackage -x ghc %{ghc_version_override} -%undefine ghc_pkg_obsoletes -%ghc_lib_subpackage haskeline 0.7.2.3 -%ghc_lib_subpackage hoopl 3.10.0.2 -%ghc_lib_subpackage hpc 0.6.0.2 -%ghc_lib_subpackage pretty 1.1.2.0 -%ghc_lib_subpackage process 1.2.3.0 -%ghc_lib_subpackage template-haskell 2.10.0.0 -%ghc_lib_subpackage -c ncurses-devel terminfo 0.4.0.2 -%ghc_lib_subpackage time 1.5.0.1 -%ghc_lib_subpackage transformers 0.4.2.0 -%ghc_lib_subpackage unix 2.7.1.0 -%ghc_lib_subpackage xhtml 3000.2.1 +%ghc_lib_subpackage Cabal-1.24.0.0 +%ghc_lib_subpackage array-0.5.1.1 +%ghc_lib_subpackage -c gmp-devel,libffi-devel,libdw-devel,libelf-devel base-4.9.0.0 +%ghc_lib_subpackage binary-0.8.3.0 +%ghc_lib_subpackage bytestring-0.10.8.1 +%ghc_lib_subpackage containers-0.5.7.1 +%ghc_lib_subpackage deepseq-1.4.2.0 +%ghc_lib_subpackage directory-1.2.6.2 +%ghc_lib_subpackage filepath-1.4.1.0 +%ghc_lib_subpackage -x ghc-%{ghc_version_override} +%ghc_lib_subpackage ghc-boot-%{ghc_version_override} +%ghc_lib_subpackage ghc-boot-th-%{ghc_version_override} +%ghc_lib_subpackage -x ghci-%{ghc_version_override} +%ghc_lib_subpackage haskeline-0.7.2.3 +%ghc_lib_subpackage hoopl-3.10.2.1 +%ghc_lib_subpackage hpc-0.6.0.3 +%ghc_lib_subpackage pretty-1.1.3.3 +%ghc_lib_subpackage process-1.4.2.0 +%ghc_lib_subpackage template-haskell-2.11.0.0 +%ghc_lib_subpackage -c ncurses-devel terminfo-0.4.0.2 +%ghc_lib_subpackage time-1.6.0.1 +%ghc_lib_subpackage transformers-0.5.2.0 +%ghc_lib_subpackage unix-2.7.2.0 +%ghc_lib_subpackage xhtml-3000.2.1 %endif %global version %{ghc_version_override} @@ -183,25 +161,12 @@ %prep %setup -q -%patch1 -p1 -%patch3 -p1 -%patch4 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p2 -%patch22 -p2 -%patch23 -p2 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 %patch27 -p1 %patch28 -p1 +%patch29 -p1 %patch30 -p1 %build -# Patch 19 modifies build system -./boot - # Check if bootstrap is required, i.e. version is different from ghc's version # Note: Cannot use ghc_version macro here as we defined version override earlier %if "%version" != "%(ghc --numeric-version)" @@ -225,7 +190,9 @@ SRC_CC_OPTS += -fno-builtin %endif HADDOCK_DOCS = NO -BUILD_DOCBOOK_HTML = NO +BUILD_SPHINX_HTML = NO +BUILD_SPHINX_PS = NO +BUILD_SPHINX_PDF = NO HSCOLOUR_SRCS = NO EOF ./configure --prefix=%{_builddir}/ghc-boot --with-system-libffi @@ -261,14 +228,16 @@ GhcStage2HcOpts = -O GhcHcOpts = -Rghc-timing GhcLibHcOpts = -O -SRC_HC_OPTS += -optc-fno-builtin -SRC_CC_OPTS += -fno-builtin +SRC_HC_OPTS += -optc-fno-builtin -optc-Wno-return-type +SRC_CC_OPTS += -fno-builtin -Wno-return-type %endif %if %{defined without_haddock} HADDOCK_DOCS = NO %endif +BUILD_SPHINX_PS = NO %if %{defined without_manual} -BUILD_DOCBOOK_HTML = NO +BUILD_SPHINX_HTML = NO +BUILD_SPHINX_PDF = NO %endif %if %{defined without_hscolour} HSCOLOUR_SRCS = NO @@ -291,7 +260,7 @@ %endif %install -%ghc_suse_disable_debug_packages +#%%ghc_suse_disable_debug_packages %makeinstall for i in %{ghc_packages_list}; do @@ -304,10 +273,10 @@ # ghc-base should own ghclibdir echo "%dir %{ghclibdir}" >> ghc-base.files -%ghc_gen_filelists bin-package-db 0.0.0.0 %ghc_gen_filelists ghc %{ghc_version_override} -%ghc_gen_filelists ghc-prim 0.4.0.0 -%ghc_gen_filelists integer-gmp 1.0.0.0 +%ghc_gen_filelists ghci %{ghc_version_override} +%ghc_gen_filelists ghc-prim 0.5.0.0 +%ghc_gen_filelists integer-gmp 1.0.0.1 %define merge_filelist()\ cat ghc-%1.files >> ghc-%2.files\ @@ -317,7 +286,6 @@ %merge_filelist integer-gmp base %merge_filelist ghc-prim base -%merge_filelist bin-package-db ghc %if %{undefined ghc_without_shared} echo %%dir %{ghclibdir}/rts >> ghc-base.files @@ -325,7 +293,7 @@ sed -i -e "s|^%{buildroot}||g" ghc-base.files %endif echo %%dir %{ghclibdir}/rts >> ghc-base-devel.files -ls -d %{buildroot}%{ghclibdir}/rts/libHS*.a %{buildroot}%{ghclibdir}/package.conf.d/builtin_*.conf %{buildroot}%{ghclibdir}/include >> ghc-base-devel.files +ls -d %{buildroot}%{ghclibdir}/rts/libHS*.a %{buildroot}%{ghclibdir}/package.conf.d/rts.conf %{buildroot}%{ghclibdir}/include >> ghc-base-devel.files sed -i -e "s|^%{buildroot}||g" ghc-base-devel.files # these are handled as alternatives @@ -342,6 +310,8 @@ %ghc_strip_dynlinked +find %{buildroot}%{ghclibdocdir} -name LICENSE -exec rm '{}' ';' + %check # Actually, I took this from Jens Petersen's Fedora package # stolen from ghc6/debian/rules: @@ -414,10 +384,13 @@ %dir %{ghclibdir}/bin %{ghclibdir}/bin/ghc %{ghclibdir}/bin/ghc-pkg +%{ghclibdir}/bin/ghc-iserv +%{ghclibdir}/bin/ghc-iserv-dyn +%{ghclibdir}/bin/ghc-iserv-prof %{ghclibdir}/bin/hpc %{ghclibdir}/bin/hsc2hs %ifnarch %{unregisterised_archs} -%{ghclibdir}/ghc-split +%{ghclibdir}/bin/ghc-split %endif %{ghclibdir}/ghc-usage.txt %{ghclibdir}/ghci-usage.txt @@ -426,8 +399,8 @@ %{ghclibdir}/platformConstants %{ghclibdir}/bin/runghc %{ghclibdir}/template-hsc.h -%{ghclibdir}/unlit -%dir %{_datadir}/doc/ghc +%{ghclibdir}/bin/unlit +%dir %{_datadir}/doc/ghc-%{version} %dir %{ghcdocbasedir} %dir %{ghcdocbasedir}/libraries %if %{undefined without_manual} ++++++ 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch ++++++ --- /var/tmp/diff_new_pack.WclYjX/_old 2016-10-19 13:14:38.000000000 +0200 +++ /var/tmp/diff_new_pack.WclYjX/_new 2016-10-19 13:14:38.000000000 +0200 @@ -7,11 +7,11 @@ compiler/nativeGen/PPC/CodeGen.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: ghc-7.10.3/compiler/nativeGen/PPC/CodeGen.hs +Index: ghc-8.0.1/compiler/nativeGen/PPC/CodeGen.hs =================================================================== ---- ghc-7.10.3.orig/compiler/nativeGen/PPC/CodeGen.hs -+++ ghc-7.10.3/compiler/nativeGen/PPC/CodeGen.hs -@@ -464,7 +464,7 @@ getRegister' _ (CmmMachOp (MO_UU_Conv W3 +--- ghc-8.0.1.orig/compiler/nativeGen/PPC/CodeGen.hs ++++ ghc-8.0.1/compiler/nativeGen/PPC/CodeGen.hs +@@ -471,7 +471,7 @@ getRegister' _ (CmmMachOp (MO_UU_Conv W3 return (Any II64 (\dst -> addr_code `snocOL` LD II32 dst addr)) getRegister' _ (CmmMachOp (MO_SS_Conv W32 W64) [CmmLoad mem _]) = do ++++++ 0001-StgCmmPrim-Add-missing-write-barrier.patch ++++++ --- /var/tmp/diff_new_pack.WclYjX/_old 2016-10-19 13:14:38.000000000 +0200 +++ /var/tmp/diff_new_pack.WclYjX/_new 2016-10-19 13:14:38.000000000 +0200 @@ -7,11 +7,11 @@ compiler/codeGen/StgCmmPrim.hs | 1 + 1 file changed, 1 insertion(+) -Index: ghc-7.10.3/compiler/codeGen/StgCmmPrim.hs +Index: ghc-8.0.1/compiler/codeGen/StgCmmPrim.hs =================================================================== ---- ghc-7.10.3.orig/compiler/codeGen/StgCmmPrim.hs -+++ ghc-7.10.3/compiler/codeGen/StgCmmPrim.hs -@@ -1324,6 +1324,7 @@ doWritePtrArrayOp addr idx val +--- ghc-8.0.1.orig/compiler/codeGen/StgCmmPrim.hs ++++ ghc-8.0.1/compiler/codeGen/StgCmmPrim.hs +@@ -1353,6 +1353,7 @@ doWritePtrArrayOp addr idx val emit (setInfo addr (CmmLit (CmmLabel mkMAP_DIRTY_infoLabel))) -- the write barrier. We must write a byte into the mark table: -- bits8[a + header_size + StgMutArrPtrs_size(a) + x >> N] ++++++ ghc-7.10.3b-src.tar.xz -> ghc-8.0.1-src.tar.xz ++++++ /work/SRC/openSUSE:Factory/ghc/ghc-7.10.3b-src.tar.xz /work/SRC/openSUSE:Factory/.ghc.new/ghc-8.0.1-src.tar.xz differ: char 26, line 1 ++++++ ghc-no-madv-free.patch ++++++ Index: ghc-8.0.1/rts/posix/OSMem.c =================================================================== --- ghc-8.0.1.orig/rts/posix/OSMem.c +++ ghc-8.0.1/rts/posix/OSMem.c @@ -504,13 +504,7 @@ void osDecommitMemory(void *at, W_ size) sysErrorBelch("unable to make released memory unaccessible"); #endif -#ifdef MADV_FREE - // Try MADV_FREE first, FreeBSD has both and MADV_DONTNEED - // just swaps memory out - r = madvise(at, size, MADV_FREE); -#else r = madvise(at, size, MADV_DONTNEED); -#endif if(r < 0) sysErrorBelch("unable to decommit memory"); } ++++++ ghc-rpmlintrc ++++++ --- /var/tmp/diff_new_pack.WclYjX/_old 2016-10-19 13:14:38.000000000 +0200 +++ /var/tmp/diff_new_pack.WclYjX/_new 2016-10-19 13:14:38.000000000 +0200 @@ -2,8 +2,6 @@ addFilter("static-library-without-debuginfo") # ghc-compiler has devel-dependency addFilter("devel-dependency") -# Haskell needs executable stack -addFilter("executable-stack") # Regrettably, upstream does not provide man pages for all executables addFilter("no-manual-page-for-binary") # Prevent warning about ghc containing no binary (it is a metapackage)