basebuilder_pel7ppc64lebuilder0
2 years ago
9 changed files with 1925 additions and 0 deletions
@ -0,0 +1,20 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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