<pre style='margin:0'>
Haren S (harens) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1340ec6cba6c5a62d4eb1d33aeeefc56550d4fd5">https://github.com/macports/macports-ports/commit/1340ec6cba6c5a62d4eb1d33aeeefc56550d4fd5</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 1340ec6cba6c5a62d4eb1d33aeeefc56550d4fd5
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Mon Aug 8 13:38:45 2022 +0545

<span style='display:block; white-space:pre;color:#404040;'>    hugs98: fix build with non-Apple gcc
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/57222
</span>---
 lang/hugs98/Portfile                        |  58 ++-
 lang/hugs98/files/patch-HTYPE_INT.diff      |  21 +
 lang/hugs98/files/patch-cpp-cleanup.diff    | 611 ++++++++++++++++++++++++++++
 lang/hugs98/files/patch-environ.diff        |   2 +-
 lang/hugs98/files/patch-gcc-inline.diff     |   2 +-
 lang/hugs98/files/patch-no-cpp-precomp.diff |  25 ++
 lang/hugs98/files/patch-packages.diff       | 110 +++++
 7 files changed, 807 insertions(+), 22 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/Portfile b/lang/hugs98/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 029110f2891..a09aa2b22ab 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/hugs98/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,8 +5,8 @@ PortSystem          1.0
</span> name                hugs98
 version             plus-Sep2006
 revision            3
<span style='display:block; white-space:pre;background:#ffe0e0;'>-categories          lang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          lang haskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {@barracuda156 gmail.com:vital.had} openmaintainer
</span> license             BSD
 description         The HUGS Haskell Interpreter
 long_description    Hugs 98 is a functional programming system based \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -14,24 +14,33 @@ long_description    Hugs 98 is a functional programming system based \
</span>                     functional programming languages. Hugs 98 provides \
                     an almost complete implementation of Haskell 98.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            http://www.haskell.org/hugs/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        http://cvs.haskell.org/Hugs/downloads/2006-09/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.haskell.org/hugs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        https://cvs.haskell.org/Hugs/downloads/2006-09
</span> 
 checksums           rmd160  4a7e744360a29fbf94f5ac86ea559e80f12205a5 \
                     sha256  aafaca9ca544572ebef70bbe86b5eb0abaa5d7c11c0b766d7db72a46b022bed5 \
                     size    5322244
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Both FreeBSD and NetBSD add Bison dependency:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/NetBSD/pkgsrc/commit/edf0a1a8e9d42bc00117f4e31e4d85cefb64e0b0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build       port:bison \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:gmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:libedit \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:autoconf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:automake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:bison \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gmake \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libtool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:libedit \
</span>                     port:xorg-libX11
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-configure.ac.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-configure.ac.diff \
</span>                     patch-O1.diff \
                     patch-gcc-inline.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-GLUT.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-GLUT.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-packages.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Only Apple gcc understands -no-cpp-precomp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${configure.compiler} ni [list gcc-4.0 gcc-4.2 apple-gcc-4.0 apple-gcc-4.2]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-no-cpp-precomp.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 # https://svnweb.freebsd.org/ports/head/lang/hugs/Makefile?revision=530719&view=co&pathrev=534092
 # This is untested though; on PPC -O0 breaks the build.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,17 +50,30 @@ if {${build_arch} eq "i386"} {
</span> }
 
 if {${os.platform} eq "darwin" && ${os.major} >= 10} {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-HTYPE_INT.diff
</span>     # This fixes the 'Undefined symbols: "_environ"' error
     patchfiles-append patch-environ.diff
     # This fixes the 'Undefined symbols: "renameFile_17' and 'readdir_40' errors
     patchfiles-append patch-libraries-tools-make-bootlib.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # error: invalid preprocessing directive #!: #!/usr/bin/runhaskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/FranklinChen/hugs98-plus-Sep2006/commit/5ca5d8da5cc692127d0621f652d720b8863772d7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # https://github.com/FranklinChen/hugs98-plus-Sep2006/commit/4f323b9ab1fd6c53fe48d72aad4e7fba2ce8850c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-cpp-cleanup.diff
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Build has been failing with Clang in Macports previously.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Nevertheless, it may be possible: https://github.com/NetBSD/pkgsrc/commit/69085621a4c0c14a468490f8c5760649975e80fa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Build with Clang has been failing.
</span> compiler.blacklist  *clang*
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-use_autoconf        yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} > 15} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    known_fail  yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_error "This is an old compiler not supported on modern systems. Consider GHC instead."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -code error "incompatible OS version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.fallback-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    gcc-4.2 apple-gcc-4.2 macports-gcc-12 macports-gcc-11 macports-gcc-7 macports-gcc-6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 use_parallel_build  no
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,12 +81,8 @@ build.cmd           ${prefix}/bin/gmake
</span> 
 platform darwin 10 powerpc {
     # We ought to convince Rosetta to build for the right arch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append CC="${configure.cc} -arch ppc" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                          --build=powerpc-apple-darwin${os.major} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                          --target=powerpc-apple-darwin${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   CC="${configure.cc} -arch ppc" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            --build=powerpc-apple-darwin${os.major}
</span> }
 
 livecheck.type      none
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#livecheck.url       ${master_sites}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#livecheck.regex     hugs98-\(plus-\[A-Za-z\]+200\[6-9\]\)\.tar.gz
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/files/patch-HTYPE_INT.diff b/lang/hugs98/files/patch-HTYPE_INT.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..340c1fd8260
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-HTYPE_INT.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Foreign/Storable.hs.orig 2006-09-21 06:28:34.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Foreign/Storable.hs      2022-10-08 14:29:09.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,6 +38,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "MachDeps.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "HsBaseConfig.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "CTypes.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __GLASGOW_HASKELL__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import GHC.Storable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -63,6 +64,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import Hugs.Storable
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef HTYPE_INT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define HTYPE_INT Int32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {- |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ The member functions of this class facilitate writing values of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ primitive types to raw memory (which may have been allocated with the
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/files/patch-cpp-cleanup.diff b/lang/hugs98/files/patch-cpp-cleanup.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..026b60d16f8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-cpp-cleanup.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,611 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/FranklinChen/hugs98-plus-Sep2006/commit/5ca5d8da5cc692127d0621f652d720b8863772d7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/FranklinChen/hugs98-plus-Sep2006/commit/4f323b9ab1fd6c53fe48d72aad4e7fba2ce8850c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/Cabal/DefaultSetup.lhs.orig   2006-09-21 04:14:42.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/Cabal/DefaultSetup.lhs        2022-08-09 01:55:35.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,4 +1,3 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#!/usr/bin/runhaskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ > module Main where
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ > import Distribution.Simple
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ > main :: IO ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Data/Array/Base.hs.orig  2006-09-21 04:13:37.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Data/Array/Base.hs       2022-08-09 02:20:35.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -180,8 +180,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "listArray/Array" listArray =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    \lu es -> runST (listArrayST lu es >>= ArrST.unsafeFreezeSTArray)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    \lu es -> runST (listArrayST lu es >>= ArrST.unsafeFreezeSTArray) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# INLINE listUArrayST #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ listUArrayST :: (MArray (STUArray s) e (ST s), Ix i)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -252,8 +251,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "listArray/UArray/Word32"    listArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    = (\lu es -> runST (listUArrayST lu es >>= unsafeFreezeSTUArray)) :: ListUArray Word32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "listArray/UArray/Word64"    listArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   = (\lu es -> runST (listUArrayST lu es >>= unsafeFreezeSTUArray)) :: ListUArray Word64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   = (\lu es -> runST (listUArrayST lu es >>= unsafeFreezeSTUArray)) :: ListUArray Word64 #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# INLINE (!) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -480,8 +478,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# SPECIALISE 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     showsIArray :: (IArray UArray e, Ix i, Show i, Show e) => 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-             Int -> UArray i e -> ShowS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++             Int -> UArray i e -> ShowS #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ showsIArray :: (IArray a e, Ix i, Show i, Show e) => Int -> a i e -> ShowS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ showsIArray p a =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1525,8 +1522,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "freeze/STArray"  freeze = ArrST.freezeSTArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"freeze/STUArray" freeze = freezeSTUArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"freeze/STUArray" freeze = freezeSTUArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* __GLASGOW_HASKELL__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- In-place conversion of mutable arrays to immutable ones places
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1567,8 +1563,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "unsafeFreeze/STArray"  unsafeFreeze = ArrST.unsafeFreezeSTArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"unsafeFreeze/STUArray" unsafeFreeze = unsafeFreezeSTUArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"unsafeFreeze/STUArray" unsafeFreeze = unsafeFreezeSTUArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- Thawing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1597,8 +1592,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "thaw/STArray"  thaw = ArrST.thawSTArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"thaw/STUArray" thaw = thawSTUArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"thaw/STUArray" thaw = thawSTUArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* __GLASGOW_HASKELL__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __HUGS__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1658,8 +1652,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "unsafeThaw/STArray"    unsafeThaw = ArrST.unsafeThawSTArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"unsafeThaw/STUArray"   unsafeThaw = unsafeThawSTUArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"unsafeThaw/STUArray"   unsafeThaw = unsafeThawSTUArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* __GLASGOW_HASKELL__ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | Casts an 'STUArray' with one element type into one with a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Data/Array/Diff.hs.orig  2006-09-21 04:13:37.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Data/Array/Diff.hs       2022-08-09 02:26:34.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -364,8 +364,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return (DiffArray var)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"freeze/DiffArray" freeze = freezeDiffArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"freeze/DiffArray" freeze = freezeDiffArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- unsafeFreezeDiffArray is really unsafe. Better don't use the old
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- array at all after freezing. The contents of the source array will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -379,8 +378,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return (DiffArray var)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"unsafeFreeze/DiffArray" unsafeFreeze = unsafeFreezeDiffArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"unsafeFreeze/DiffArray" unsafeFreeze = unsafeFreezeDiffArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ thawDiffArray :: (MArray a e IO, Ix ix)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+               => IOToDiffArray a ix e
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -419,5 +417,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return a''
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"unsafeThaw/DiffArray" unsafeThaw = unsafeThawDiffArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"unsafeThaw/DiffArray" unsafeThaw = unsafeThawDiffArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Data/Array/IO.hs.orig    2006-09-21 04:13:37.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Data/Array/IO.hs 2022-08-09 02:27:58.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -63,8 +63,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "freeze/IOArray"  freeze = freezeIOArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"freeze/IOUArray" freeze = freezeIOUArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"freeze/IOUArray" freeze = freezeIOUArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# INLINE unsafeFreezeIOArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsafeFreezeIOArray :: Ix ix => IOArray ix e -> IO (Array ix e)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -76,8 +75,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "unsafeFreeze/IOArray"  unsafeFreeze = unsafeFreezeIOArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"unsafeFreeze/IOUArray" unsafeFreeze = unsafeFreezeIOUArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"unsafeFreeze/IOUArray" unsafeFreeze = unsafeFreezeIOUArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- Thawing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -94,8 +92,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "thaw/IOArray"  thaw = thawIOArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"thaw/IOUArray" thaw = thawIOUArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"thaw/IOUArray" thaw = thawIOUArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# INLINE unsafeThawIOArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unsafeThawIOArray :: Ix ix => Array ix e -> IO (IOArray ix e)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -111,8 +108,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "unsafeThaw/IOArray"  unsafeThaw = unsafeThawIOArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"unsafeThaw/IOUArray" unsafeThaw = unsafeThawIOUArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"unsafeThaw/IOUArray" unsafeThaw = unsafeThawIOUArray #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- ---------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- hGetArray
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Data/ByteString.hs.orig  2006-09-21 04:13:38.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Data/ByteString.hs       2022-08-09 02:32:07.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -447,8 +447,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     loop (p `plusPtr` off) (len-1) []
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    "FPS unpack-list"  [1]  forall p  . unpackFoldr p (:) [] = unpackList p
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    "FPS unpack-list"  [1]  forall p  . unpackFoldr p (:) [] = unpackList p #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -484,9 +483,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- v2 fusion
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS length/loop" forall loop s .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   length  (loopArr (loopWrapper loop s)) =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  lengthU (loopArr (loopWrapper loop s))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  lengthU (loopArr (loopWrapper loop s)) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -794,9 +791,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS maximum/loop" forall loop s .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   maximum  (loopArr (loopWrapper loop s)) =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  maximumU (loopArr (loopWrapper loop s))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  maximumU (loopArr (loopWrapper loop s)) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -974,14 +969,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS specialise break (x==)" forall x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    break ((==) x) = breakByte x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    break ((==) x) = breakByte x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if __GLASGOW_HASKELL__ >= 605
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS specialise break (==x)" forall x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    break (==x) = breakByte x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    break (==x) = breakByte x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | 'breakByte' breaks its ByteString argument at the first occurence
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1028,14 +1021,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS specialise span (x==)" forall x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    span ((==) x) = spanByte x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    span ((==) x) = spanByte x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if __GLASGOW_HASKELL__ >= 605
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS specialise span (==x)" forall x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    span (==x) = spanByte x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    span (==x) = spanByte x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | 'spanEnd' behaves like 'span' but from the end of the 'ByteString'.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1200,8 +1191,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS specialise join c -> joinByte" forall c s1 s2 .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    join (singleton c) (s1 : s2 : []) = joinWithByte c s1 s2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    join (singleton c) (s1 : s2 : []) = joinWithByte c s1 s2 #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | /O(n)/ joinWithByte. An efficient way to join to two ByteStrings
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1402,14 +1392,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "FPS specialise filter (== x)" forall x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      filter ((==) x) = filterByte x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      filter ((==) x) = filterByte x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if __GLASGOW_HASKELL__ >= 605
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "FPS specialise filter (== x)" forall x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     filter (== x) = filterByte x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     filter (== x) = filterByte x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1426,14 +1414,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS specialise filter (x /=)" forall x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    filter ((/=) x) = filterNotByte x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    filter ((/=) x) = filterNotByte x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if __GLASGOW_HASKELL__ >= 605
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS specialise filter (/= x)" forall x.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    filter (/= x) = filterNotByte x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    filter (/= x) = filterNotByte x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | /O(n)/ The 'find' function takes a predicate and a ByteString,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1584,9 +1570,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS specialise zipWith" forall (f :: Word8 -> Word8 -> Word8) p q .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    zipWith f p q = unpack (zipWith' f p q)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    zipWith f p q = unpack (zipWith' f p q) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | /O(n)/ 'unzip' transforms a list of pairs of bytes into a pair of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- ByteStrings. Note that this performs two 'pack' operations.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Data/ByteString/Char8.hs.orig    2006-09-21 04:13:38.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Data/ByteString/Char8.hs 2022-08-09 02:33:27.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -312,8 +312,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "FPS pack/packAddress" forall s .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       pack (unpackCString# s) = B.packAddress s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       pack (unpackCString# s) = B.packAddress s #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -779,8 +778,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "FPS specialise break -> breakSpace"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        break isSpace = breakSpace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        break isSpace = breakSpace #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | 'breakSpace' returns the pair of ByteStrings when the argument is
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- broken at the first whitespace byte. I.e.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -806,8 +804,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     "FPS specialise dropWhile isSpace -> dropSpace"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        dropWhile isSpace = dropSpace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        dropWhile isSpace = dropSpace #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | 'dropSpace' efficiently returns the 'ByteString' argument with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- white space Chars removed from the front. It is more efficient than
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Data/ByteString/Fusion.hs.orig   2006-09-21 04:13:38.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Data/ByteString/Fusion.hs        2022-08-09 02:34:34.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -236,9 +236,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS loop/loop fusion!" forall em1 em2 start1 start2 arr.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   loopU em2 start2 (loopArr (loopU em1 start1 arr)) =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    loopSndAcc (loopU (em1 `fuseEFL` em2) (start1 :*: start2) arr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    loopSndAcc (loopU (em1 `fuseEFL` em2) (start1 :*: start2) arr) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- Functional list/array fusion for lazy ByteStrings.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -263,9 +261,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS lazy loop/loop fusion!" forall em1 em2 start1 start2 arr.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   loopL em2 start2 (loopArr (loopL em1 start1 arr)) =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    loopSndAcc (loopL (em1 `fuseEFL` em2) (start1 :*: start2) arr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    loopSndAcc (loopL (em1 `fuseEFL` em2) (start1 :*: start2) arr) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -536,9 +532,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "FPS down/noAcc loop fusion" forall f1 f2 acc1 acc2.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   sequenceLoops (doDownLoop f1 acc1) (doNoAccLoop f2 acc2) =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    doDownLoop (f1 `fuseAccNoAccEFL` f2) (acc1 :*: acc2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    doDownLoop (f1 `fuseAccNoAccEFL` f2) (acc1 :*: acc2) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Data/List.hs.orig        2006-09-21 04:13:38.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Data/List.hs     2022-08-09 02:35:19.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -479,8 +479,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "maximumInt"     maximum = (strictMaximum :: [Int]     -> Int);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  "maximumInteger" maximum = (strictMaximum :: [Integer] -> Integer)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "maximumInteger" maximum = (strictMaximum :: [Integer] -> Integer) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- We can't make the overloaded version of maximum strict without
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- changing its semantics (max might not be strict), but we can for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -499,8 +498,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   "minimumInt"     minimum = (strictMinimum :: [Int]     -> Int);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  "minimumInteger" minimum = (strictMinimum :: [Integer] -> Integer)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  "minimumInteger" minimum = (strictMinimum :: [Integer] -> Integer) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ strictMinimum             :: (Ord a) => [a] -> a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ strictMinimum []        =  errorEmptyList "minimum"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Control/Exception.hs.orig        2006-09-21 04:13:38.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Control/Exception.hs     2022-08-09 01:58:17.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -429,9 +429,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- -----------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- Asynchronous exceptions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{- $async
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #AsynchronousExceptions# Asynchronous exceptions are so-called because they arise due to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{- $async #AsynchronousExceptions# Asynchronous exceptions are so-called because they arise due to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ external influences, and can be raised at any point during execution.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 'StackOverflow' and 'HeapOverflow' are two examples of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ system-generated asynchronous exceptions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Control/Concurrent.hs.orig       2006-09-21 04:13:35.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Control/Concurrent.hs    2022-08-09 01:57:52.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -404,9 +404,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- ---------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- More docs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{- $osthreads
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      #osthreads# In GHC, threads created by 'forkIO' are lightweight threads, and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{- $osthreads #osthreads# In GHC, threads created by 'forkIO' are lightweight threads, and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       are managed entirely by the GHC runtime.  Typically Haskell
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       threads are an order of magnitude or two more efficient (in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       terms of both time and space) than operating system threads.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Control/Arrow.hs.orig    2006-09-21 04:13:33.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Control/Arrow.hs 2022-08-09 02:17:53.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -110,8 +110,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "compose/first" forall f g .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           first f >>> first g = first (f >>> g)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "compose/second" forall f g .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          second f >>> second g = second (f >>> g)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          second f >>> second g = second (f >>> g) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- Ordinary functions are arrows.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -222,8 +221,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "compose/left"  forall f g .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           left f >>> left g = left (f >>> g)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "compose/right" forall f g .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          right f >>> right g = right (f >>> g)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          right f >>> right g = right (f >>> g) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ instance ArrowChoice (->) where
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   left f = f +++ id
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/Foreign/C/Types.hs.orig  2006-09-21 04:13:34.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/Foreign/C/Types.hs       2022-08-09 02:36:30.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -141,8 +141,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/CLong->a"   fromIntegral = \(CLong   x) -> fromIntegral x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/CULong->a"  fromIntegral = \(CULong  x) -> fromIntegral x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/CLLong->a"  fromIntegral = \(CLLong  x) -> fromIntegral x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/CULLong->a" fromIntegral = \(CULLong x) -> fromIntegral x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/CULLong->a" fromIntegral = \(CULLong x) -> fromIntegral x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | Haskell type representing the C @float@ type.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ FLOATING_TYPE(CFloat,tyConCFloat,"CFloat",HTYPE_FLOAT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -159,8 +158,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "realToFrac/CFloat->a"    realToFrac = \(CFloat   x) -> realToFrac x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "realToFrac/CDouble->a"   realToFrac = \(CDouble  x) -> realToFrac x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"realToFrac/CLDouble->a"  realToFrac = \(CLDouble x) -> realToFrac x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"realToFrac/CLDouble->a"  realToFrac = \(CLDouble x) -> realToFrac x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | Haskell type representing the C @ptrdiff_t@ type.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ INTEGRAL_TYPE(CPtrdiff,tyConCPtrdiff,"CPtrdiff",HTYPE_PTRDIFF_T)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -180,8 +178,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/CPtrdiff->a"   fromIntegral = \(CPtrdiff   x) -> fromIntegral x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/CSize->a"      fromIntegral = \(CSize      x) -> fromIntegral x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/CWchar->a"     fromIntegral = \(CWchar     x) -> fromIntegral x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/CSigAtomic->a" fromIntegral = \(CSigAtomic x) -> fromIntegral x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/CSigAtomic->a" fromIntegral = \(CSigAtomic x) -> fromIntegral x #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- | Haskell type representing the C @clock_t@ type.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARITHMETIC_TYPE(CClock,tyConCClock,"CClock",HTYPE_CLOCK_T)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -205,8 +202,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->CIntPtr"  fromIntegral = \x -> CIntPtr  (fromIntegral x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->CUIntPtr" fromIntegral = \x -> CUIntPtr (fromIntegral x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->CIntMax"  fromIntegral = \x -> CIntMax  (fromIntegral x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/a->CUIntMax" fromIntegral = \x -> CUIntMax (fromIntegral x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/a->CUIntMax" fromIntegral = \x -> CUIntMax (fromIntegral x) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- C99 types which are still missing include:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- wint_t, wctrans_t, wctype_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/GHC/Int.hs.orig  2006-09-21 04:13:36.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/GHC/Int.hs       2022-08-09 02:38:19.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -134,8 +134,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int8->Int8" fromIntegral = id :: Int8 -> Int8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->Int8"    fromIntegral = \x -> case fromIntegral x of I# x# -> I8# (narrow8Int# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Int8->a"    fromIntegral = \(I8# x#) -> fromIntegral (I# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Int8->a"    fromIntegral = \(I8# x#) -> fromIntegral (I# x#) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- type Int16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -241,8 +240,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int8->Int16"   fromIntegral = \(I8# x#) -> I16# x#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int16->Int16"  fromIntegral = id :: Int16 -> Int16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->Int16"      fromIntegral = \x -> case fromIntegral x of I# x# -> I16# (narrow16Int# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Int16->a"      fromIntegral = \(I16# x#) -> fromIntegral (I# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Int16->a"      fromIntegral = \(I16# x#) -> fromIntegral (I# x#) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- type Int32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -391,8 +389,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int32->Int"    fromIntegral = \(I32# x#) -> I#   (int32ToInt# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int32->Word"   fromIntegral = \(I32# x#) -> W#   (int2Word# (int32ToInt# x#))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int32->Word32" fromIntegral = \(I32# x#) -> W32# (int32ToWord32# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Int32->Int32"  fromIntegral = id :: Int32 -> Int32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Int32->Int32"  fromIntegral = id :: Int32 -> Int32 #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -493,8 +490,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int16->Int32"  fromIntegral = \(I16# x#) -> I32# x#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int32->Int32"  fromIntegral = id :: Int32 -> Int32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->Int32"      fromIntegral = \x -> case fromIntegral x of I# x# -> I32# (narrow32Int# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Int32->a"      fromIntegral = \(I32# x#) -> fromIntegral (I# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Int32->a"      fromIntegral = \(I32# x#) -> fromIntegral (I# x#) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -677,8 +673,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int64->Int"    fromIntegral = \(I64# x#) -> I#   (int64ToInt# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int64->Word"   fromIntegral = \(I64# x#) -> W#   (int2Word# (int64ToInt# x#))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int64->Word64" fromIntegral = \(I64# x#) -> W64# (int64ToWord64# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Int64->Int64"  fromIntegral = id :: Int64 -> Int64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Int64->Int64"  fromIntegral = id :: Int64 -> Int64 #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -763,8 +758,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->Int64" fromIntegral = \x -> case fromIntegral x of I# x# -> I64# x#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Int64->a" fromIntegral = \(I64# x#) -> fromIntegral (I# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Int64->a" fromIntegral = \(I64# x#) -> fromIntegral (I# x#) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/GHC/Word.hs.orig 2006-09-21 04:13:33.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/GHC/Word.hs      2022-08-09 02:40:13.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -172,8 +172,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Int->Word"  fromIntegral = \(I# x#) -> W# (int2Word# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word->Int"  fromIntegral = \(W# x#) -> I# (word2Int# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Word->Word" fromIntegral = id :: Word -> Word
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Word->Word" fromIntegral = id :: Word -> Word #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- type Word8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -271,8 +270,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word8->Word8"   fromIntegral = id :: Word8 -> Word8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word8->Integer" fromIntegral = toInteger :: Word8 -> Integer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->Word8"       fromIntegral = \x -> case fromIntegral x of W# x# -> W8# (narrow8Word# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Word8->a"       fromIntegral = \(W8# x#) -> fromIntegral (W# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Word8->a"       fromIntegral = \(W8# x#) -> fromIntegral (W# x#) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- type Word16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -371,8 +369,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word16->Word16"  fromIntegral = id :: Word16 -> Word16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word16->Integer" fromIntegral = toInteger :: Word16 -> Integer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->Word16"       fromIntegral = \x -> case fromIntegral x of W# x# -> W16# (narrow16Word# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Word16->a"       fromIntegral = \(W16# x#) -> fromIntegral (W# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Word16->a"       fromIntegral = \(W16# x#) -> fromIntegral (W# x#) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -- type Word32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -492,8 +489,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word->Word32"   fromIntegral = \(W#   x#) -> W32# (wordToWord32# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word32->Int"    fromIntegral = \(W32# x#) -> I#   (word2Int# (word32ToWord# x#))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word32->Word"   fromIntegral = \(W32# x#) -> W#   (word32ToWord# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Word32->Word32" fromIntegral = id :: Word32 -> Word32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Word32->Word32" fromIntegral = id :: Word32 -> Word32 #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -598,8 +594,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word32->Word32"  fromIntegral = id :: Word32 -> Word32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word32->Integer" fromIntegral = toInteger :: Word32 -> Integer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->Word32"       fromIntegral = \x -> case fromIntegral x of W# x# -> W32# (narrow32Word# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Word32->a"       fromIntegral = \(W32# x#) -> fromIntegral (W# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Word32->a"       fromIntegral = \(W32# x#) -> fromIntegral (W# x#) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -765,8 +760,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word->Word64"   fromIntegral = \(W#   x#) -> W64# (wordToWord64# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word64->Int"    fromIntegral = \(W64# x#) -> I#   (word2Int# (word64ToWord# x#))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/Word64->Word"   fromIntegral = \(W64# x#) -> W#   (word64ToWord# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Word64->Word64" fromIntegral = id :: Word64 -> Word64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Word64->Word64" fromIntegral = id :: Word64 -> Word64 #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -851,8 +845,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {-# RULES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "fromIntegral/a->Word64" fromIntegral = \x -> case fromIntegral x of W# x# -> W64# x#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"fromIntegral/Word64->a" fromIntegral = \(W64# x#) -> fromIntegral (W# x#)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"fromIntegral/Word64->a" fromIntegral = \(W64# x#) -> fromIntegral (W# x#) #-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/files/patch-environ.diff b/lang/hugs98/files/patch-environ.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 0402ae3e00c..2e5d1506fae 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/hugs98/files/patch-environ.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-environ.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,4 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- packages/base/include/HsBase.h 2006-09-21 00:28:37.000000000 +0200
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/include/HsBase.h.orig    2006-09-21 00:28:37.000000000 +0200
</span> +++ packages/base/include/HsBase.h        2009-12-13 12:52:32.000000000 +0100
 @@ -764,7 +764,13 @@
  
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/files/patch-gcc-inline.diff b/lang/hugs98/files/patch-gcc-inline.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 5806113c153..97cc82faabf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/hugs98/files/patch-gcc-inline.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-gcc-inline.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,4 +17,4 @@
</span>  # else
  #  define INLINE inline
  # endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span>\ No newline at end of file
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/files/patch-no-cpp-precomp.diff b/lang/hugs98/files/patch-no-cpp-precomp.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..dfdeff92563
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-no-cpp-precomp.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://gcc.gnu.org/legacy-ml/gcc/2005-12/msg00367.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac.orig      2006-05-03 19:55:36.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac   2022-08-08 19:11:57.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -230,7 +230,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $HostPlatform in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   *-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     CFLAGS="$CFLAGS -no-cpp-precomp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     CFLAGS="$CFLAGS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      LDFLAGS="$LDFLAGS -flat_namespace"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # As suggested by James B. White III (Trey) <whitejbiii@ornl.gov> (for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.orig 2022-08-07 23:58:00.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2022-09-21 20:22:15.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4168,7 +4168,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $HostPlatform in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   *-*-darwin*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-     CFLAGS="$CFLAGS -no-cpp-precomp"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     CFLAGS="$CFLAGS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      LDFLAGS="$LDFLAGS -flat_namespace"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+      ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # As suggested by James B. White III (Trey) <whitejbiii@ornl.gov> (for
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/files/patch-packages.diff b/lang/hugs98/files/patch-packages.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..56d7ec849cb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-packages.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,110 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/FranklinChen/hugs98-plus-Sep2006/commit/9f18703ebdb2cc44fcfafcd71399a2fc23774ca3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/network/configure.ac.orig     2006-09-21 05:28:56.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/network/configure.ac  2022-09-20 23:46:53.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11,7 +11,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl ** check for specific header (.h) files that we are interested in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h sys/types.h unistd.h winsock.h])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h netinet/tcp.h sys/socket.h sys/uio.h sys/un.h])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h netinet/tcp.h sys/socket.h sys/uio.h sys/un.h sys/ucred.h])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_CHECK_FUNCS([readlink symlink])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/network/configure.orig        2006-09-21 05:33:37.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/network/configure     2022-09-20 23:48:14.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3810,7 +3810,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-for ac_header in arpa/inet.h netdb.h netinet/in.h netinet/tcp.h sys/socket.h sys/uio.h sys/un.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++for ac_header in arpa/inet.h netdb.h netinet/in.h netinet/tcp.h sys/socket.h sys/uio.h sys/un.h sys/ucred.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ do
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/network/include/HsNet.h.orig  2022-09-20 23:37:05.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/network/include/HsNet.h       2022-09-20 23:45:44.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -20,9 +20,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # if defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define INLINE extern __inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # elif defined(__GNUC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  define INLINE extern inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define INLINE static inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  define INLINE inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define INLINE static inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -89,6 +89,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_SYS_UCRED_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <sys/ucred.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sendFd(int sock, int outfd);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/unix/include/HsUnix.h.org     2022-08-08 01:49:33.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/unix/include/HsUnix.h 2022-09-20 23:41:22.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -89,9 +89,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef INLINE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # if defined(__GNUC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  define INLINE extern inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define INLINE static inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  define INLINE inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define INLINE static inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/Win32/include/HsWin32.h.orig  2006-09-21 05:31:31.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/Win32/include/HsWin32.h       2022-09-20 23:49:07.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,7 +7,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # if defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define INLINE extern __inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  define INLINE extern inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define INLINE static inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/Win32/include/HsGDI.h.orig    2006-09-21 05:31:31.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/Win32/include/HsGDI.h 2022-09-20 23:49:52.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,7 +7,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # if defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define INLINE extern __inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  define INLINE extern inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define INLINE static inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libraries/tools/make_bootlib.orig      2006-05-20 04:36:17.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libraries/tools/make_bootlib   2022-09-20 23:51:57.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,7 +65,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   cp "$1" $cpp_input
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   # gcc-3.3 on MacOS X 10.3 is reported to add #pragma
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  $cpp $cpp_flags $cpp_input | grep -v '^#' | cat -s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  cpp -traditional-cpp -Wno-trigraphs $cpp_flags $cpp_input | grep -v '^#' | cat -s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # internal Hugs modules
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/network/include/HsNetworkConfig.h.in.orig     2006-09-21 05:33:38.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/network/include/HsNetworkConfig.h.in  2022-09-20 23:43:56.000000000 +0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -69,6 +69,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <sys/types.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_SYS_TYPES_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Define to 1 if you have the <sys/ucred.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef HAVE_SYS_UCRED_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the <sys/uio.h> header file. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_SYS_UIO_H
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>