basebuilder_pel7ppc64lebuilder0
2 years ago
9 changed files with 1925 additions and 0 deletions
@ -0,0 +1,20 @@ |
|||||||
|
--- ghc-8.2.2/libraries/Cabal/Cabal/Distribution/Simple/Install.hs~ 2017-05-05 16:51:43.000000000 +0200 |
||||||
|
+++ ghc-8.2.2/libraries/Cabal/Cabal/Distribution/Simple/Install.hs 2018-01-23 23:05:47.047081056 +0100 |
||||||
|
@@ -36,7 +36,7 @@ |
||||||
|
import Distribution.Simple.Utils |
||||||
|
( createDirectoryIfMissingVerbose |
||||||
|
, installDirectoryContents, installOrdinaryFile, isInSearchPath |
||||||
|
- , die', info, noticeNoWrap, warn, matchDirFileGlob ) |
||||||
|
+ , die', info, noticeNoWrap, warn, matchDirFileGlob, debug ) |
||||||
|
import Distribution.Simple.Compiler |
||||||
|
( CompilerFlavor(..), compilerFlavor ) |
||||||
|
import Distribution.Simple.Setup |
||||||
|
@@ -215,7 +215,7 @@ |
||||||
|
++ " in " ++ binPref) |
||||||
|
inPath <- isInSearchPath binPref |
||||||
|
when (not inPath) $ |
||||||
|
- warn verbosity ("The directory " ++ binPref |
||||||
|
+ debug verbosity ("The directory " ++ binPref |
||||||
|
++ " is not in the system search path.") |
||||||
|
case compilerFlavor (compiler lbi) of |
||||||
|
GHC -> GHC.installExe verbosity lbi binPref buildPref progFix pkg_descr exe |
@ -0,0 +1,22 @@ |
|||||||
|
Description: Do not emit a warning if the .haddock file is missing |
||||||
|
As it is quite common on Debian installations to install the -dev package |
||||||
|
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 @@ |
||||||
|
mapM_ (checkDir True "dynamic-library-dirs") (libraryDynDirs pkg) |
||||||
|
mapM_ (checkDir True "include-dirs") (includeDirs pkg) |
||||||
|
mapM_ (checkDir True "framework-dirs") (frameworkDirs pkg) |
||||||
|
- mapM_ (checkFile True "haddock-interfaces") (haddockInterfaces pkg) |
||||||
|
- mapM_ (checkDirURL True "haddock-html") (haddockHTMLs pkg) |
||||||
|
+ -- In Debian, it is quite normal that the package is installed without the |
||||||
|
+ -- documentation. Do not print a warning there. |
||||||
|
+ -- mapM_ (checkFile True "haddock-interfaces") (haddockInterfaces pkg) |
||||||
|
+ -- mapM_ (checkDirURL True "haddock-html") (haddockHTMLs pkg) |
||||||
|
checkDuplicateModules pkg |
||||||
|
checkExposedModules db_stack pkg |
||||||
|
checkOtherModules pkg |
@ -0,0 +1,43 @@ |
|||||||
|
This is an attempt to make GHC build reproducible. The name of .c files may end |
||||||
|
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 @@ |
||||||
|
import Util |
||||||
|
import DynFlags |
||||||
|
import Exception |
||||||
|
+import Fingerprint |
||||||
|
|
||||||
|
import LlvmCodeGen.Base (llvmVersionStr, supportedLlvmVersion) |
||||||
|
|
||||||
|
@@ -1145,8 +1146,8 @@ |
||||||
|
mapping <- readIORef dir_ref |
||||||
|
case Map.lookup tmp_dir mapping of |
||||||
|
Nothing -> do |
||||||
|
- pid <- getProcessID |
||||||
|
- let prefix = tmp_dir </> "ghc" ++ show pid ++ "_" |
||||||
|
+ pid <- getStableProcessID |
||||||
|
+ let prefix = tmp_dir </> "ghc" ++ pid ++ "_" |
||||||
|
mask_ $ mkTempDir prefix |
||||||
|
Just dir -> return dir |
||||||
|
where |
||||||
|
@@ -1562,6 +1563,13 @@ |
||||||
|
getProcessID = System.Posix.Internals.c_getpid >>= return . fromIntegral |
||||||
|
#endif |
||||||
|
|
||||||
|
+-- Debian-specific hack to get reproducible output, by not using the "random" |
||||||
|
+-- pid, but rather something determinisic |
||||||
|
+getStableProcessID :: IO String |
||||||
|
+getStableProcessID = do |
||||||
|
+ args <- getArgs |
||||||
|
+ return $ take 4 $ show $ fingerprintString $ unwords args |
||||||
|
+ |
||||||
|
-- Divvy up text stream into lines, taking platform dependent |
||||||
|
-- line termination into account. |
||||||
|
linesPlatform :: String -> [String] |
@ -0,0 +1,27 @@ |
|||||||
|
Description: Use native x86_64 instructions on x32 |
||||||
|
This patch enables a few native 64-bit integer instructions |
||||||
|
on x32 which are available on this architecture despite using |
||||||
|
32-bit pointers. These instructions are present on x86_64 but |
||||||
|
not on x86 and ghc checks the size of (void *) to determine |
||||||
|
that. This method fails on x32 since despite using 32-bit |
||||||
|
pointers and hence sizeof(void *) == 4, it still uses the |
||||||
|
full x86_64 instruction set and software-emulated variants |
||||||
|
of the aforementioned 64-bit integer instructions are |
||||||
|
therefore not present in the toolchain which will make ghc |
||||||
|
fail to build 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 @@ |
||||||
|
|
||||||
|
|
||||||
|
// 64-bit support functions in libgcc.a |
||||||
|
-#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32) |
||||||
|
+#if defined(__GNUC__) && SIZEOF_VOID_P <= 4 && !defined(_ABIN32) && !(defined(__x86_64__) && defined(__ILP32__)) |
||||||
|
#define RTS_LIBGCC_SYMBOLS \ |
||||||
|
SymI_NeedsProto(__divdi3) \ |
||||||
|
SymI_NeedsProto(__udivdi3) \ |
@ -0,0 +1,11 @@ |
|||||||
|
--- ghc-7.8.3/aclocal.m4~ 2014-07-10 13:27:16.000000000 +0900 |
||||||
|
+++ ghc-7.8.3/aclocal.m4 2014-11-05 12:19:08.530044128 +0900 |
||||||
|
@@ -408,7 +408,7 @@ |
||||||
|
)], |
||||||
|
[changequote(, )dnl |
||||||
|
ARM_ISA=ARMv7 |
||||||
|
- ARM_ISA_EXT="[VFPv3,NEON]" |
||||||
|
+ ARM_ISA_EXT="[VFPv3D16]" |
||||||
|
changequote([, ])dnl |
||||||
|
]) |
||||||
|
]) |
@ -0,0 +1,11 @@ |
|||||||
|
--- ghc-8.2.2/configure.ac~ 2017-11-21 05:22:42.000000000 +0900 |
||||||
|
+++ ghc-8.2.2/configure.ac 2018-05-28 12:37:35.296728423 +0900 |
||||||
|
@@ -745,7 +745,7 @@ |
||||||
|
AC_CACHE_CHECK([for version of sphinx-build], fp_cv_sphinx_version, |
||||||
|
changequote(, )dnl |
||||||
|
[if test -n "$SPHINXBUILD"; then |
||||||
|
- fp_cv_sphinx_version=`"$SPHINXBUILD" --version 2>&1 | sed 's/Sphinx\( (sphinx-build)\)\? v\?\([0-9]\.[0-9]\.[0-9]\)/\2/' | head -n1`; |
||||||
|
+ fp_cv_sphinx_version=`"$SPHINXBUILD" --version 2>&1 | sed 's/.* v\?\([0-9]\.[0-9]\.[0-9]\)/\1/' | head -n1`; |
||||||
|
fi; |
||||||
|
changequote([, ])dnl |
||||||
|
]) |
@ -0,0 +1,10 @@ |
|||||||
|
--- ghc-7.6.3/libraries/gen_contents_index~ 2013-04-19 06:22:46.000000000 +0900 |
||||||
|
+++ ghc-7.6.3/libraries/gen_contents_index 2013-04-22 12:07:48.922152864 +0900 |
||||||
|
@@ -60,6 +60,6 @@ |
||||||
|
done |
||||||
|
else |
||||||
|
- HADDOCK=../../../../../bin/haddock |
||||||
|
+ HADDOCK=/usr/bin/haddock |
||||||
|
# We don't want the GHC API to swamp the index |
||||||
|
HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort` |
||||||
|
HADDOCK_ARGS="-p prologue.txt" |
@ -0,0 +1,12 @@ |
|||||||
|
--- ghc-8.4.3/mk/warnings.mk~ 2018-02-04 02:30:11.000000000 +0900 |
||||||
|
+++ ghc-8.4.3/mk/warnings.mk 2018-09-29 14:33:37.607884921 +0900 |
||||||
|
@@ -1,6 +1,6 @@ |
||||||
|
# See Note [Order of warning flags]. |
||||||
|
-SRC_CC_OPTS += -Wall $(WERROR) |
||||||
|
+#SRC_CC_OPTS += -Wall $(WERROR) |
||||||
|
SRC_HC_OPTS += -Wall |
||||||
|
# Don't add -Werror to SRC_HC_OPTS_STAGE0 (or SRC_HC_OPTS), because otherwise |
||||||
|
# validate may unnecessarily fail when booting with an older compiler. |
||||||
|
# It would be better to only exclude certain warnings from becoming errors |
||||||
|
|
||||||
|
Diff finished. Sat Sep 29 14:35:43 2018 |
Loading…
Reference in new issue