Skip to content
Commits on Source (20)
ghc (8.2.2-3) unstable; urgency=medium
* Upload to unstable.
-- Clint Adams <clint@debian.org> Sun, 08 Apr 2018 16:24:00 -0400
ghc (8.2.2-2) experimental; urgency=medium
* Merge 8.0.2-12 unreleased changes.
-- Clint Adams <clint@debian.org> Sat, 07 Apr 2018 08:08:41 -0400
ghc (8.2.2-1) experimental; urgency=medium
* Merge 8.0.2-11 unreleased changes
* New upstream release, patch refresh
* Fixup regex fix in watch file
-- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 27 Nov 2017 12:08:38 +0100
ghc (8.2.1-2) experimental; urgency=medium
[ Sean Whitton ]
* Upload to experimental again, after merging in changes from unstable.
- Refresh patches.
- Drop osdecommitmemory-compat.patch from series file
Merged upstream.
[ Clint Adams ]
* Drop avoid-CrossCompilerPrefix-stage2.patch.
-- Clint Adams <clint@debian.org> Sun, 17 Sep 2017 07:52:14 -0400
ghc (8.2.1-1) experimental; urgency=medium
* New upstream release
-- Sean Whitton <spwhitton@spwhitton.name> Fri, 15 Sep 2017 17:15:49 -0700
ghc (8.2.0~20170507-3) experimental; urgency=medium
* 8.2.1-rc2.
- Switches to LLVM 3.9.
-- Clint Adams <clint@debian.org> Wed, 12 Jul 2017 17:51:16 -0400
ghc (8.0.2-12) UNRELEASED; urgency=medium
[ Ilias Tsitsimpis ]
......@@ -60,6 +106,19 @@ ghc (8.0.2-6) unstable; urgency=medium
-- Clint Adams <clint@debian.org> Fri, 25 Aug 2017 08:36:53 -0400
ghc (8.2.0~20170507-2) experimental; urgency=medium
* 8.2.1-rc2.
- Switches to LLVM 3.9.
-- Clint Adams <clint@debian.org> Wed, 12 Jul 2017 17:51:16 -0400
ghc (8.2.0~20170507-1) experimental; urgency=medium
* 8.2.1-rc2.
-- Clint Adams <clint@debian.org> Wed, 12 Jul 2017 17:51:16 -0400
ghc (8.0.2-5) unstable; urgency=medium
* Patch from James Clarke to fix powerpc breakage caused by
......
......@@ -12,7 +12,7 @@ Build-Depends:
pkg-config,
ghc:native (>= 7.8),
libgmp-dev,
llvm-3.7 [arm64 armel armhf],
llvm-3.9 [arm64 armel armhf],
libffi-dev,
binutils [arm64 armel armhf],
libncurses5-dev,
......@@ -31,7 +31,7 @@ Vcs-Browser: https://salsa.debian.org/haskell-team/DHG_packages/tree/master/p/gh
Package: ghc
Architecture: any
Depends:
llvm-3.7 [arm64 armel armhf],
llvm-3.9 [arm64 armel armhf],
gcc,
libgmp-dev,
libffi-dev,
......@@ -53,7 +53,7 @@ Provides:
Replaces: ghc6 (<< 7), ghc-dynamic (<< 7.8), ghc-haddock (<< 7.10)
Conflicts: ghc6 (<< 7), ghc-dynamic (<< 7.8), libghc-cabal-dev (<< 1.24.2.1), ${conflicting-devs}
Breaks: cabal-install (<< 1.22), haskell-devscripts (<< 0.8.13), ghc-doc (<< 7.10), ghc-haddock (<< 7.10)
Suggests: perl, ghc-prof, ghc-doc, haskell-doc, llvm-3.7
Suggests: perl, ghc-prof, ghc-doc, haskell-doc, llvm-3.9
Description: The Glasgow Haskell Compilation system
The Glorious Glasgow Haskell Compilation system (GHC) is a compiler for
Haskell.
......
......@@ -60,4 +60,4 @@ License: BSD-3-clause
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
......@@ -6,11 +6,9 @@ Author: Jani Monoses <jani@ubuntu.com>
Upstream-Bug: https://ghc.haskell.org/trac/ghc/ticket/5914
Launchpad-Bug: https://ghc.haskell.org/trac/ghc/ticket/5914
Index: ghc/aclocal.m4
===================================================================
--- ghc.orig/aclocal.m4 2016-01-14 16:19:24.858462215 +0100
+++ ghc/aclocal.m4 2016-01-14 16:19:24.854462134 +0100
@@ -420,7 +420,7 @@
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -417,7 +417,7 @@ AC_DEFUN([GET_ARM_ISA],
)],
[changequote(, )dnl
ARM_ISA=ARMv7
......
......@@ -9,9 +9,9 @@ Description: Revert ghci ARM improvements (ticket #10375) on armel
armel with the help of debian/rules.
.
--- ghc-7.10.3.orig/aclocal.m4
+++ ghc-7.10.3/aclocal.m4
@@ -577,18 +577,10 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
--- ghc-8.2.1.orig/aclocal.m4 2017-09-17 10:46:45.000000000 +0200
+++ ghc-8.2.1/aclocal.m4 2017-09-17 11:57:40.681870101 +0200
@@ -621,16 +621,8 @@ AC_DEFUN([FPTOOLS_SET_C_LD_FLAGS],
$3="$$3 -D_HPUX_SOURCE"
$5="$$5 -D_HPUX_SOURCE"
;;
......@@ -20,23 +20,19 @@ Description: Revert ghci ARM improvements (ticket #10375) on armel
- # instructions (ie not Thumb) and to link using the gold linker.
- # Forcing LD to be ld.gold is done in FIND_LD m4 macro.
- $2="$$2 -marm"
- $3="$$3 -fuse-ld=gold -Wl,-z,noexecstack"
- $3="$$3 -Wl,-z,noexecstack"
- $4="$$4 -z noexecstack"
- ;;
-
- aarch64*linux*)
- # On aarch64/linux and aarch64/android, tell gcc to link using the
- # gold linker.
+ arm*linux* | \
+ aarch64*linux* )
+ # On arm/linux, aarch64/linux, arm/android and aarch64/android, tell
+ # gcc to link using the gold linker.
# Forcing LD to be ld.gold is done in FIND_LD m4 macro.
$3="$$3 -fuse-ld=gold -Wl,-z,noexecstack"
+ arm*linux* | \
+ aarch64*linux* )
$3="$$3 -Wl,-z,noexecstack"
$4="$$4 -z noexecstack"
;;
--- ghc-7.10.3.orig/libraries/ghci/GHCi/InfoTable.hsc
+++ ghc-7.10.3/libraries/ghci/GHCi/InfoTable.hsc
@@ -184,17 +184,17 @@ mkJumpToAddr dflags a = case platformArc
@@ -245,17 +245,17 @@ mkJumpToAddr dflags a = case platformArc
, fromIntegral ((w64 `shiftR` 32) .&. 0x0000FFFF) ]
ArchARM { } ->
......
Description: Don't use cross-compile prefix for stage2 cross-builds
Origin: http://git.haskell.org/ghc.git/commitdiff/f2685df3b10e13f142736f28835e9064334bc143
Note: Can be dropped for 8.2.0
Last-Update: 2017-08-02
--- ghc-8.0.2.orig/mk/config.mk.in
+++ ghc-8.0.2/mk/config.mk.in
@@ -518,11 +518,6 @@ SUPPORTS_THIS_UNIT_ID = @SUPPORTS_THIS_U
WhatGccIsCalled = @WhatGccIsCalled@
GccVersion = @GccVersion@
-ifeq "$(phase)" "0"
-CrossCompilePrefix =
-else
-CrossCompilePrefix = @CrossCompilePrefix@
-endif
# TargetPlatformFull retains the string passed to configure so we have it in
# the necessary format to pass to libffi's configure.
TargetPlatformFull = @TargetPlatformFull@
@@ -557,6 +552,11 @@ CrossCompiling = @CrossCompiling@
# See Note [Stage1Only vs stage=1]
Stage1Only = NO
+# Installed tools prefix:
+# we add prefix to crosscompiler GHC only (ghc-stage1),
+# not cross-built GHC (not ghc-stage2).
+CrossCompilePrefix = $(if $(filter YES,$(Stage1Only)),@CrossCompilePrefix@,)
+
# Install stage 2 by default, or stage 1 in the cross compiler
# case. Can be changed to 3
INSTALL_GHC_STAGE= $(if $(filter YES,$(Stage1Only)),1,2)
......@@ -2,10 +2,8 @@ Description: Build unlit and hp2ps twice
Author: Thomas Miedema <thomasmiedema@gmail.com>
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Index: ghc-8.0.1/utils/ghc-pkg/ghc.mk
===================================================================
--- ghc-8.0.1.orig/utils/ghc-pkg/ghc.mk
+++ ghc-8.0.1/utils/ghc-pkg/ghc.mk
--- a/utils/ghc-pkg/ghc.mk
+++ b/utils/ghc-pkg/ghc.mk
@@ -27,7 +27,7 @@ utils/ghc-pkg_PACKAGE = ghc-pkg
# Note [Why build certain utils twice?]
#
......@@ -27,22 +25,22 @@ Index: ghc-8.0.1/utils/ghc-pkg/ghc.mk
# Therefore we build fresh copies, using the stage1 compiler, and install them
# when you run 'make install'. They are not used for any other purpose.
Index: ghc-8.0.1/utils/hp2ps/ghc.mk
===================================================================
--- ghc-8.0.1.orig/utils/hp2ps/ghc.mk
+++ ghc-8.0.1/utils/hp2ps/ghc.mk
@@ -17,10 +17,23 @@ utils/hp2ps_dist_C_SRCS = AreaB
--- a/utils/hp2ps/ghc.mk
+++ b/utils/hp2ps/ghc.mk
@@ -17,7 +17,7 @@ utils/hp2ps_dist_C_SRCS = AreaB
Utilities.c
utils/hp2ps_dist_EXTRA_LIBRARIES = m
utils/hp2ps_dist_PROGNAME = $(CrossCompilePrefix)hp2ps
utils/hp2ps_dist_PROGNAME = hp2ps
-utils/hp2ps_dist_INSTALL = YES
+utils/hp2ps_dist_INSTALL = NO
utils/hp2ps_dist_INSTALL_INPLACE = YES
utils/hp2ps_dist_SHELL_WRAPPER = YES
utils/hp2ps_dist_INSTALL_SHELL_WRAPPER_NAME = hp2ps
@@ -25,3 +25,17 @@ utils/hp2ps_dist_INSTALL_SHELL_WRAPPER_N
utils/hp2ps_CC_OPTS += $(addprefix -I,$(GHC_INCLUDE_DIRS))
$(eval $(call build-prog,utils/hp2ps,dist,0))
+
+utils/hp2ps_dist-install_C_SRCS = AreaBelow.c Curves.c Error.c Main.c \
+ Reorder.c TopTwenty.c AuxFile.c Deviation.c \
+ HpFile.c Marks.c Scale.c TraceElement.c \
......@@ -56,10 +54,8 @@ Index: ghc-8.0.1/utils/hp2ps/ghc.mk
+
+# See Note [Why build certain utils twice?].
+$(eval $(call build-prog,utils/hp2ps,dist-install,1))
Index: ghc-8.0.1/utils/unlit/ghc.mk
===================================================================
--- ghc-8.0.1.orig/utils/unlit/ghc.mk
+++ ghc-8.0.1/utils/unlit/ghc.mk
--- a/utils/unlit/ghc.mk
+++ b/utils/unlit/ghc.mk
@@ -13,8 +13,16 @@
utils/unlit_dist_C_SRCS = unlit.c
utils/unlit_dist_PROGNAME = unlit
......
Forwarded to https://ghc.haskell.org/trac/ghc/ticket/10424
Index: ghc/compiler/iface/MkIface.hs
===================================================================
--- ghc.orig/compiler/iface/MkIface.hs 2016-04-19 09:26:40.075170754 +0200
+++ ghc/compiler/iface/MkIface.hs 2016-04-19 09:26:40.071170684 +0200
@@ -556,7 +556,7 @@
--- a/compiler/iface/MkIface.hs
+++ b/compiler/iface/MkIface.hs
@@ -681,7 +681,7 @@ addFingerprints hsc_env mb_old_fingerpri
iface_hash <- computeFingerprint putNameLiterally
(mod_hash,
ann_fn (mkVarOcc "module"), -- See mkIfaceAnnCache
......@@ -13,7 +11,7 @@ Index: ghc/compiler/iface/MkIface.hs
sorted_deps,
mi_hpc iface0)
@@ -589,6 +589,9 @@
@@ -714,6 +714,9 @@ addFingerprints hsc_env mb_old_fingerpri
(non_orph_fis, orph_fis) = mkOrphMap ifFamInstOrph (mi_fam_insts iface0)
fix_fn = mi_fix_fn iface0
ann_fn = mkIfaceAnnCache (mi_anns iface0)
......@@ -21,5 +19,5 @@ Index: ghc/compiler/iface/MkIface.hs
+ usages = [ case u of UsageFile _ fp -> UsageFile "" fp; _ -> u | u <- mi_usages iface0 ]
+
getOrphanHashes :: HscEnv -> [Module] -> IO [Fingerprint]
getOrphanHashes hsc_env mods = do
-- | Retrieve the orphan hashes 'mi_orphan_hash' for a list of modules
-- (in particular, the orphan modules which are transitively imported by the
--- a/compiler/cmm/PprC.hs
+++ b/compiler/cmm/PprC.hs
@@ -1114,6 +1114,8 @@ cLoad expr rep
bewareLoadStoreAlignment ArchMipsel = True
bewareLoadStoreAlignment (ArchARM {}) = True
bewareLoadStoreAlignment ArchARM64 = True
+ bewareLoadStoreAlignment ArchSPARC = True
+ bewareLoadStoreAlignment ArchSPARC64 = True
-- Pessimistically assume that they will also cause problems
-- on unknown arches
bewareLoadStoreAlignment ArchUnknown = True
......@@ -3,11 +3,9 @@ Description: Do not use $SHELL
leak into the wrapper scripts.
Author: Joachim Breitner <nomeata@debian.org>
Index: ghc/driver/ghci/ghc.mk
===================================================================
--- ghc.orig/driver/ghci/ghc.mk 2016-07-07 12:40:40.690866042 +0200
+++ ghc/driver/ghci/ghc.mk 2016-07-07 12:40:40.686863966 +0200
@@ -21,7 +21,7 @@
--- a/driver/ghci/ghc.mk
+++ b/driver/ghci/ghc.mk
@@ -21,7 +21,7 @@ install_driver_ghci:
$(INSTALL_DIR) "$(DESTDIR)$(bindir)"
$(call removeFiles, "$(WRAPPER)")
$(CREATE_SCRIPT) "$(WRAPPER)"
......@@ -16,7 +14,7 @@ Index: ghc/driver/ghci/ghc.mk
echo 'exec "$(bindir)/ghc-$(ProjectVersion)" --interactive "$$@"' >> "$(WRAPPER)"
$(EXECUTABLE_FILE) "$(WRAPPER)"
$(call removeFiles,"$(DESTDIR)$(bindir)/ghci")
@@ -56,7 +56,7 @@
@@ -56,7 +56,7 @@ install_driver_ghcii: GHCII_SCRIPT_VERSI
install_driver_ghcii:
$(INSTALL_DIR) "$(DESTDIR)$(bindir)"
$(call removeFiles,"$(GHCII_SCRIPT)")
......@@ -25,11 +23,9 @@ Index: ghc/driver/ghci/ghc.mk
echo 'exec "$$(dirname "$$0")"/ghc --interactive "$$@"' >> $(GHCII_SCRIPT)
$(EXECUTABLE_FILE) $(GHCII_SCRIPT)
cp $(GHCII_SCRIPT) $(GHCII_SCRIPT_VERSIONED)
Index: ghc/rules/shell-wrapper.mk
===================================================================
--- ghc.orig/rules/shell-wrapper.mk 2016-07-07 12:40:40.690866042 +0200
+++ ghc/rules/shell-wrapper.mk 2016-07-07 12:40:40.686863966 +0200
@@ -41,7 +41,7 @@
--- a/rules/shell-wrapper.mk
+++ b/rules/shell-wrapper.mk
@@ -41,7 +41,7 @@ $$($1_$2_INPLACE_WRAPPER): $$($1_$2_SHEL
endif
$$($1_$2_INPLACE_WRAPPER): $$($1_$2_INPLACE)
$$(call removeFiles, $$@)
......@@ -38,7 +34,7 @@ Index: ghc/rules/shell-wrapper.mk
echo 'executablename="$$(TOP)/$$<"' >> $$@
echo 'datadir="$$(TOP)/$$(INPLACE_LIB)"' >> $$@
echo 'bindir="$$(TOP)/$$(INPLACE_BIN)"' >> $$@
@@ -80,7 +80,7 @@
@@ -80,7 +80,7 @@ install_$1_$2_wrapper:
$$(INSTALL_DIR) "$$(DESTDIR)$$(bindir)"
$$(call removeFiles, "$$(WRAPPER)")
$$(CREATE_SCRIPT) "$$(WRAPPER)"
......@@ -47,7 +43,7 @@ Index: ghc/rules/shell-wrapper.mk
echo 'exedir="$$(ghclibexecdir)/bin"' >> "$$(WRAPPER)"
echo 'exeprog="$$($1_$2_PROG)"' >> "$$(WRAPPER)"
echo 'executablename="$$$$exedir/$$$$exeprog"' >> "$$(WRAPPER)"
@@ -106,7 +106,7 @@
@@ -106,7 +106,7 @@ BINDIST_EXTRAS += $$($1_$2_BINDIST_WRAPP
$$($1_$2_BINDIST_WRAPPER): $1/$2/build/tmp/$$($1_$2_PROG)
$$(call removeFiles, $$@)
......@@ -56,11 +52,9 @@ Index: ghc/rules/shell-wrapper.mk
ifeq "$$(DYNAMIC_GHC_PROGRAMS)" "YES"
echo '$$(call prependLibraryPath,$$($1_$2_DEP_LIB_REL_DIRS_SEARCHPATH))' >> $$@
endif
Index: ghc/utils/mkdirhier/ghc.mk
===================================================================
--- ghc.orig/utils/mkdirhier/ghc.mk 2016-07-07 12:40:40.690866042 +0200
+++ ghc/utils/mkdirhier/ghc.mk 2016-07-07 12:40:40.686863966 +0200
@@ -14,7 +14,7 @@
--- a/utils/mkdirhier/ghc.mk
+++ b/utils/mkdirhier/ghc.mk
@@ -14,7 +14,7 @@ $(MKDIRHIER) : utils/mkdirhier/mkdirhier
mkdir -p $(INPLACE_BIN)
mkdir -p $(INPLACE_LIB)
$(call removeFiles,$@)
......
......@@ -14,9 +14,9 @@ This fixes #574.
--- a/utils/haddock/haddock-api/src/Haddock/Interface/Rename.hs
+++ b/utils/haddock/haddock-api/src/Haddock/Interface/Rename.hs
@@ -263,10 +263,21 @@ renameType t = case t of
@@ -264,10 +264,21 @@
HsCoreTy a -> pure (HsCoreTy a)
HsExplicitListTy a b -> HsExplicitListTy a <$> mapM renameLType b
HsExplicitListTy i a b -> HsExplicitListTy i a <$> mapM renameLType b
HsExplicitTupleTy a b -> HsExplicitTupleTy a <$> mapM renameLType b
- HsSpliceTy _ _ -> error "renameType: HsSpliceTy"
+ HsSpliceTy s _ -> renameHsSpliceTy s
......
Provided by “Pino” via Samuel Thibault. Not yet pushed upstream.
Index: ghc/aclocal.m4
===================================================================
--- ghc.orig/aclocal.m4 2016-01-14 16:20:19.683572714 +0100
+++ ghc/aclocal.m4 2016-01-14 16:21:18.024754631 +0100
@@ -277,7 +277,7 @@
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -274,7 +274,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_V
nto-qnx)
test -z "[$]2" || eval "[$]2=OSQNXNTO"
;;
- dragonfly|osf1|hpux|linuxaout|freebsd2|gnu|nextstep2|nextstep3|sunos4|ultrix|irix)
+ dragonfly|osf1|hpux|linuxaout|freebsd2|nextstep2|nextstep3|sunos4|ultrix|irix)
- dragonfly|hpux|linuxaout|freebsd2|gnu|nextstep2|nextstep3|sunos4|ultrix)
+ dragonfly|hpux|linuxaout|freebsd2|nextstep2|nextstep3|sunos4|ultrix)
test -z "[$]2" || eval "[$]2=OSUnknown"
;;
aix)
@@ -286,6 +286,9 @@
@@ -283,6 +283,9 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_V
linux-android)
test -z "[$]2" || eval "[$]2=OSAndroid"
;;
......@@ -23,11 +21,9 @@ Index: ghc/aclocal.m4
*)
echo "Unknown OS '[$]1'"
exit 1
Index: ghc/compiler/utils/Platform.hs
===================================================================
--- ghc.orig/compiler/utils/Platform.hs 2016-01-14 16:20:19.683572714 +0100
+++ ghc/compiler/utils/Platform.hs 2016-01-14 16:20:40.067985654 +0100
@@ -88,6 +88,7 @@
--- a/compiler/utils/Platform.hs
+++ b/compiler/utils/Platform.hs
@@ -88,6 +88,7 @@ data OS
| OSQNXNTO
| OSAndroid
| OSAIX
......@@ -35,7 +31,7 @@ Index: ghc/compiler/utils/Platform.hs
deriving (Read, Show, Eq)
-- | ARM Instruction Set Architecture, Extensions and ABI
@@ -141,6 +142,7 @@
@@ -139,6 +140,7 @@ osElfTarget OSHaiku = True
osElfTarget OSQNXNTO = False
osElfTarget OSAndroid = True
osElfTarget OSAIX = False
......
Description: mk/config.mk.in: lower -O2 optimization down to -O1 on UNREG
Author: Sergei Trofimovich <slyfox@gentoo.org>
Origin: upstream, http://git.haskell.org/ghc.git/commitdiff/432a1f18327a50d7b2bbdbe6b004473fe1b0b0b9
Last-Update: 2018-02-17
Description: mk/config.mk.in: lower GhcLibHcOpts -O2 optimization down to -O1 on UNREG
Last-Update: 2018-04-07
--- ghc-8.0.2.orig/mk/config.mk.in
+++ ghc-8.0.2/mk/config.mk.in
@@ -70,15 +70,6 @@ GhcStage1HcOpts=
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -70,16 +70,6 @@
GhcStage2HcOpts=-O2
GhcStage3HcOpts=-O2
-# Disable -O2 optimization. Otherwise amount of generated C code
-# makes things very slow to compile (~5 minutes on core-i7 for 'compiler/hsSyn/HsExpr.lhs')
-# makes things very slow to compile (~5 minutes on core-i7 for 'compiler/hsSyn/HsExpr.hs')
-# and sometimes not compile at all (powerpc64 overflows something
-# on 'compiler/hsSyn/HsExpr.lhs').
-# on 'compiler/hsSyn/HsExpr.hs').
-ifeq "$(GhcUnregisterised)" "YES"
-GhcStage1HcOpts=
-GhcStage2HcOpts=
-GhcStage3HcOpts=
-endif
-
# Note [Stage number in build variables].
#
@@ -892,3 +883,15 @@ GMP_LIB_DIRS = @GMP_LIB_DIRS@
# There are (unfortunately) two different naming schemes for build variables
@@ -326,6 +316,17 @@
GhcLibHcOpts=-O2
CURSES_INCLUDE_DIRS = @CURSES_INCLUDE_DIRS@
CURSES_LIB_DIRS = @CURSES_LIB_DIRS@
+
+# Disable -O2 optimization. Otherwise amount of generated C code
+# makes things very slow to compile (~5 minutes on core-i7 for 'compiler/hsSyn/HsExpr.lhs')
+# makes things very slow to compile (~5 minutes on core-i7 for 'compiler/hsSyn/HsExpr.hs')
+# and sometimes not compile at all (powerpc64 overflows something
+# on 'compiler/hsSyn/HsExpr.lhs').
+# on 'compiler/hsSyn/HsExpr.hs').
+ifeq "$(GhcUnregisterised)" "YES"
+GhcStage1HcOpts=
+GhcStage2HcOpts=
+GhcStage3HcOpts=
+
+GhcLibHcOpts=
+endif
+
# Strip local symbols from libraries? This can make the libraries smaller,
# but makes debugging somewhat more difficult. Doesn't work with all ld's.
#
......@@ -3,11 +3,9 @@ Description: Do not emit a warning if the .haddock file is missing
without the -doc package.
Author: Joachim Breitner <nomeata@debian.org>
Index: ghc-8.0.2/utils/ghc-pkg/Main.hs
===================================================================
--- ghc-8.0.2.orig/utils/ghc-pkg/Main.hs
+++ ghc-8.0.2/utils/ghc-pkg/Main.hs
@@ -1588,8 +1588,10 @@
--- a/utils/ghc-pkg/Main.hs
+++ b/utils/ghc-pkg/Main.hs
@@ -1773,8 +1773,10 @@ checkPackageConfig pkg verbosity db_stac
mapM_ (checkDir True "dynamic-library-dirs") (libraryDynDirs pkg)
mapM_ (checkDir True "include-dirs") (includeDirs pkg)
mapM_ (checkDir True "framework-dirs") (frameworkDirs pkg)
......
Description: rts: Ensure we always give MADV_DONTNEED a chance in osDecommitMemory
Author: Ben Gamari <bgamari.foss@gmail.com>
Origin: upstream, https://phabricator.haskell.org/D2780
Bug: https://ghc.haskell.org/trac/ghc/ticket/12865
Bug-Debian: https://bugs.debian.org/847677
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: ghc-8.0.2/rts/posix/OSMem.c
===================================================================
--- ghc-8.0.2.orig/rts/posix/OSMem.c
+++ ghc-8.0.2/rts/posix/OSMem.c
@@ -522,11 +522,24 @@
#ifdef MADV_FREE
// Try MADV_FREE first, FreeBSD has both and MADV_DONTNEED
- // just swaps memory out
+ // just swaps memory out. Linux >= 4.5 has both DONTNEED and FREE; either
+ // will work as they both allow the system to free anonymous pages.
+ // It is important that we try both methods as the kernel which we were
+ // built on may differ from the kernel we are now running on.
r = madvise(at, size, MADV_FREE);
-#else
- r = madvise(at, size, MADV_DONTNEED);
+ if(r < 0) {
+ if (errno == EINVAL) {
+ // Perhaps the system doesn't support MADV_FREE; fall-through and
+ // try MADV_DONTNEED.
+ } else {
+ sysErrorBelch("unable to decommit memory");
+ }
+ } else {
+ return;
+ }
#endif
+
+ r = madvise(at, size, MADV_DONTNEED);
if(r < 0)
sysErrorBelch("unable to decommit memory");
}
......@@ -4,11 +4,9 @@ up in the resulting binary (in the debug section), but not the directory.
Instead of using the process id, create a hash from the command line arguments,
and assume that is going to be unique.
Index: ghc-8.0.2/compiler/main/SysTools.hs
===================================================================
--- ghc-8.0.2.orig/compiler/main/SysTools.hs
+++ ghc-8.0.2/compiler/main/SysTools.hs
@@ -65,6 +65,7 @@
--- a/compiler/main/SysTools.hs
+++ b/compiler/main/SysTools.hs
@@ -68,6 +68,7 @@ import Platform
import Util
import DynFlags
import Exception
......@@ -16,7 +14,7 @@ Index: ghc-8.0.2/compiler/main/SysTools.hs
import LlvmCodeGen.Base (llvmVersionStr, supportedLlvmVersion)
@@ -1145,8 +1146,8 @@
@@ -1121,8 +1122,8 @@ getTempDir dflags = do
mapping <- readIORef dir_ref
case Map.lookup tmp_dir mapping of
Nothing -> do
......@@ -27,7 +25,7 @@ Index: ghc-8.0.2/compiler/main/SysTools.hs
mask_ $ mkTempDir prefix
Just dir -> return dir
where
@@ -1562,6 +1563,13 @@
@@ -1558,6 +1559,13 @@ getProcessID :: IO Int
getProcessID = System.Posix.Internals.c_getpid >>= return . fromIntegral
#endif
......
......@@ -5,11 +5,8 @@ hurd.diff
buildpath-abi-stability.patch
reproducible-tmp-names
do-not-use-SHELL
compiler-cmm-PprC-sparc-alignment.patch
x32-use-native-x86_64-insn.patch
osdecommitmemory-compat.patch
use-stage1-binaries-for-install.patch
build-unlit-and-hp2ps-twice.patch
avoid-CrossCompilerPrefix-stage2.patch
fix-hssplicety.patch
lower-optimization-for-unreg.patch
Index: ghc/ghc.mk
===================================================================
--- ghc.orig/ghc.mk 2016-05-21 17:05:28.794690704 +0200
+++ ghc/ghc.mk 2016-05-21 17:05:28.790690606 +0200
@@ -824,7 +824,6 @@
--- a/ghc.mk
+++ b/ghc.mk
@@ -829,7 +829,6 @@ endif
# Build the Haddock contents and index
ifeq "$(HADDOCK_DOCS)" "YES"
libraries/dist-haddock/index.html: $(haddock_INPLACE) $(ALL_HADDOCK_FILES)
......@@ -10,7 +8,7 @@ Index: ghc/ghc.mk
ifeq "$(phase)" "final"
$(eval $(call all-target,library_doc_index,libraries/dist-haddock/index.html))
endif
@@ -945,12 +944,8 @@
@@ -950,12 +949,8 @@ endif
$(INSTALL_DIR) "$(DESTDIR)$(docdir)/html"
$(INSTALL_DOC) $(INSTALL_OPTS) docs/index.html "$(DESTDIR)$(docdir)/html"
ifneq "$(INSTALL_LIBRARY_DOCS)" ""
......@@ -24,7 +22,7 @@ Index: ghc/ghc.mk
endif
ifneq "$(INSTALL_HTML_DOC_DIRS)" ""
for i in $(INSTALL_HTML_DOC_DIRS); do \
@@ -1059,7 +1054,6 @@
@@ -1067,7 +1062,6 @@ $(eval $(call bindist-list,.,\
mk/project.mk \
mk/install.mk.in \
bindist.mk \
......
......@@ -7,9 +7,9 @@ Description: Use the stage1 binaries for install
Author: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Last-Update: 2017-01-29
--- ghc-8.0.1.orig/ghc.mk
+++ ghc-8.0.1/ghc.mk
@@ -958,8 +958,12 @@ INSTALLED_PACKAGE_CONF=$(DESTDIR)$(topdi
--- a/ghc.mk
+++ b/ghc.mk
@@ -963,8 +963,12 @@ INSTALLED_PACKAGE_CONF=$(DESTDIR)$(topdi
# Install packages in the right order, so that ghc-pkg doesn't complain.
# Also, install ghc-pkg first.
ifeq "$(Windows_Host)" "NO"
......
......@@ -12,11 +12,9 @@ Description: Use native x86_64 instructions on x32
See: https://ghc.haskell.org/trac/ghc/ticket/11571
.
Index: ghc-8.0.2/rts/RtsSymbols.c
===================================================================
--- ghc-8.0.2.orig/rts/RtsSymbols.c
+++ ghc-8.0.2/rts/RtsSymbols.c
@@ -857,7 +857,7 @@
--- a/rts/RtsSymbols.c
+++ b/rts/RtsSymbols.c
@@ -917,7 +917,7 @@
// 64-bit support functions in libgcc.a
......