Hello community, here is the log from the commit of package ghc for openSUSE:Factory checked in at 2018-10-02 19:47:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc (Old) and /work/SRC/openSUSE:Factory/.ghc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc" Tue Oct 2 19:47:12 2018 rev:65 rq:639256 version:8.4.3 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc/ghc.changes 2018-09-11 17:20:00.947160261 +0200 +++ /work/SRC/openSUSE:Factory/.ghc.new/ghc.changes 2018-10-02 19:48:25.985768040 +0200 @@ -1,0 +2,6 @@ +Sun Sep 30 11:21:59 UTC 2018 - ptromm...@icloud.com + +- Add fix-build-using-unregisterized-v8.2.patch + * Fix build on s390x + +------------------------------------------------------------------- New: ---- fix-build-using-unregisterized-v8.2.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc.spec ++++++ --- /var/tmp/diff_new_pack.V1dPuX/_old 2018-10-02 19:48:26.765767231 +0200 +++ /var/tmp/diff_new_pack.V1dPuX/_new 2018-10-02 19:48:26.769767227 +0200 @@ -84,6 +84,8 @@ Patch0: add_armv6l_and_armv7l_target.patch # PATCH-FIX-UPSTREAM fix-ppc64le-recognition.patch ptromm...@icloud.com -- Recognize powerpc64le as PPC64 in cabal files. Patch1: fix-ppc64le-recognition.patch +# PATCH-FIX-OPENSUSE fix-build-using-unregisterized-v8.2.patch ptromm...@icloud.com -- Fix bootstrap with GHC older than 8.4. Can be dropped once we bootstrap with 8.4.3. Debian patch. +Patch2: fix-build-using-unregisterized-v8.2.patch # PATCH-FIX-UPSTREAM ghc-pie.patch - set linux as default PIE platform Patch35: ghc-pie.patch # PATCH-FIX-OPENSUSE ghc-8.0.2-Cabal-dynlibdir.patch -- Fix shared library directory location. @@ -195,6 +197,7 @@ %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 %patch35 -p1 %patch100 -p1 %patch110 -p1 ++++++ fix-build-using-unregisterized-v8.2.patch ++++++ Description: Allow unregisterised ghc-8.2 to build newer GHC Commit b68697e579d38ca29c2b84377dc2affa04659a28 introduced a regression stopping existing unregisteristed compilers from being used to compile a newer version of GHC. The problem is that the bootstrap compiler uses the newer Stg.h where EB_, IB_, etc, definitions have changed resulting in the following error: . error: conflicting types for 'ghc_GhcPrelude_zdtrModule4_bytes' note: in definition of macro 'EB_' #define EB_(X) extern const char X[] note: previous definition of 'ghc_GhcPrelude_zdtrModule4_bytes' was here char ghc_GhcPrelude_zdtrModule4_bytes[] = "ghc"; . For more information about the problem, see https://phabricator.haskell.org/D4114. . This patch is a rework of https://phabricator.haskell.org/D3741. It modifies Stg.h to include the old definitions, if a compiler older than 8.4 is being used. . This patch can be removed, once ghc-8.2 is no longer the bootstrap compiler. Author: Ilias Tsitsimpis <ilias...@debian.org> Bug: https://ghc.haskell.org/trac/ghc/ticket/15201 Index: b/includes/Stg.h =================================================================== --- a/includes/Stg.h +++ b/includes/Stg.h @@ -232,6 +232,16 @@ typedef StgInt I_; typedef StgWord StgWordArray[]; typedef StgFunPtr F_; +#if __GLASGOW_HASKELL__ < 804 +#define EB_(X) extern char X[] +#define IB_(X) static char X[] +#define EI_(X) extern StgWordArray (X) GNU_ATTRIBUTE(aligned (8)) +#define II_(X) static StgWordArray (X) GNU_ATTRIBUTE(aligned (8)) +#define IF_(f) static StgFunPtr GNUC3_ATTRIBUTE(used) f(void) +#define FN_(f) StgFunPtr f(void) +#define EF_(f) StgFunPtr f(void) /* External Cmm functions */ +#define EFF_(f) void f() /* See Note [External function prototypes] */ +#else /* byte arrays (and strings): */ #define EB_(X) extern const char X[] #define IB_(X) static const char X[] @@ -250,6 +260,7 @@ typedef StgFunPtr F_; #define EF_(f) StgFunPtr f(void) /* External Cmm functions */ /* foreign functions: */ #define EFF_(f) void f() /* See Note [External function prototypes] */ +#endif /* __GLASGOW_HASKELL__ < 804 */ /* Note [External function prototypes] See Trac #8965, #11395 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~