[Git][haskell-team/DHG_packages][experimental] 4 commits: ghc: Upgrade to 9.6.4

Ilias Tsitsimpis (@iliastsi) gitlab at salsa.debian.org
Sun Jan 14 07:47:37 GMT 2024



Ilias Tsitsimpis pushed to branch experimental at Debian Haskell Group / DHG_packages


Commits:
0d81c8ea by Ilias Tsitsimpis at 2024-01-13T16:31:04+02:00
ghc: Upgrade to 9.6.4

- - - - -
91840912 by Ilias Tsitsimpis at 2024-01-13T16:34:17+02:00
ghc: Build unregisterised on loong64

- - - - -
6cfa41e5 by Ilias Tsitsimpis at 2024-01-13T16:40:32+02:00
ghc: Build unregisterised on powerpc

- - - - -
263aef5a by Ilias Tsitsimpis at 2024-01-13T23:51:11+02:00
ghc: Add bootstrap plan for 9.6.4

- - - - -


14 changed files:

- p/ghc/debian/changelog
- p/ghc/debian/control
- p/ghc/debian/patches/allow-setting-llvm-program
- − p/ghc/debian/patches/bigNatIsPowerOf2-out-of-bound-access
- − p/ghc/debian/patches/fixStgRegStmt-register-width
- p/ghc/debian/patches/haddock-remove-googleapis-fonts
- − p/ghc/debian/patches/hadrian-fix-dnosmp
- p/ghc/debian/patches/hadrian-plans
- p/ghc/debian/patches/hadrian-relpath
- − p/ghc/debian/patches/llvm-align-objects
- p/ghc/debian/patches/series
- p/ghc/debian/patches/x32-use-native-x86_64-insn.patch
- p/ghc/debian/rules
- p/ghc/debian/upstream/signing-key.asc


Changes:

=====================================
p/ghc/debian/changelog
=====================================
@@ -1,3 +1,11 @@
+ghc (9.6.4-1~exp1) experimental; urgency=medium
+
+  * New upstream release
+  * Build unregisterised on loong64 since llvm-15 is not available
+  * Build unregisterised on powerpc (Closes: #1060196)
+
+ -- Ilias Tsitsimpis <iliastsi at debian.org>  Sat, 13 Jan 2024 16:22:36 +0200
+
 ghc (9.6.3-1~exp2) experimental; urgency=medium
 
   * Backport upstream patch to fix build on armel/armhf


=====================================
p/ghc/debian/control
=====================================
@@ -13,9 +13,9 @@ Build-Depends:
   devscripts,
   pkg-config,
   ghc:native (>= 9.2),
-  hadrian:native (>= 9.6.3) <!pkg.ghc.nohadrian>,
+  hadrian:native (>= 9.6.4) <!pkg.ghc.nohadrian>,
   hadrian:native (<< 9.7) <!pkg.ghc.nohadrian>,
-  llvm-15 [armel armhf s390x riscv64 loong64],
+  llvm-15 [armel armhf s390x riscv64],
   libgmp-dev,
   libffi-dev,
   libncurses-dev,
@@ -32,7 +32,7 @@ Vcs-Browser: https://salsa.debian.org/haskell-team/DHG_packages/tree/master/p/gh
 Package: ghc
 Architecture: any
 Depends:
-  llvm-15 [armel armhf s390x riscv64 loong64],
+  llvm-15 [armel armhf s390x riscv64],
   gcc,
   libgmp-dev,
   libffi-dev,


=====================================
p/ghc/debian/patches/allow-setting-llvm-program
=====================================
@@ -7,7 +7,7 @@ Index: b/configure.ac
 ===================================================================
 --- a/configure.ac
 +++ b/configure.ac
-@@ -573,14 +573,18 @@ AC_SUBST([ClangCmd])
+@@ -571,14 +571,18 @@ AC_SUBST([ClangCmd])
  dnl ** Which LLVM llc to use?
  dnl --------------------------------------------------------------
  AC_ARG_VAR(LLC,[Use as the path to LLVM's llc [default=autodetect]])
@@ -32,7 +32,7 @@ Index: b/distrib/configure.ac.in
 ===================================================================
 --- a/distrib/configure.ac.in
 +++ b/distrib/configure.ac.in
-@@ -153,14 +153,18 @@ LlvmMaxVersion=@LlvmMaxVersion@
+@@ -152,14 +152,18 @@ LlvmMaxVersion=@LlvmMaxVersion@
  dnl ** Which LLVM llc to use?
  dnl --------------------------------------------------------------
  AC_ARG_VAR(LLC,[Use as the path to LLVM's llc [default=autodetect]])


=====================================
p/ghc/debian/patches/bigNatIsPowerOf2-out-of-bound-access deleted
=====================================
@@ -1,41 +0,0 @@
-commit fe0675770b66a9ed393884d96e276b8d116fa2a2
-Author: Sylvain Henry <hsyl20 at gmail.com>
-Date:   Fri Oct 6 14:01:52 2023 +0200
-
-    Avoid out-of-bound array access in bigNatIsPowerOf2 (fix #24066)
-    
-    bigNatIndex# in the `where` clause wasn't guarded by "bigNatIsZero a".
-
-Index: b/libraries/ghc-bignum/src/GHC/Num/BigNat.hs
-===================================================================
---- a/libraries/ghc-bignum/src/GHC/Num/BigNat.hs
-+++ b/libraries/ghc-bignum/src/GHC/Num/BigNat.hs
-@@ -135,13 +135,8 @@ bigNatIsTwo# ba =
- bigNatIsPowerOf2# :: BigNat# -> (# (# #) | Word# #)
- bigNatIsPowerOf2# a
-    | bigNatIsZero a                      = (# (# #) | #)
--   | True = case wordIsPowerOf2# msw of
--               (# (# #) | #) -> (# (# #) | #)
--               (# | c  #) -> case checkAllZeroes (imax -# 1#) of
--                  0# -> (# (# #) | #)
--                  _  -> (# | c `plusWord#`
--                              (int2Word# imax `uncheckedShiftL#` WORD_SIZE_BITS_SHIFT#) #)
--   where
-+   | True =
-+    let
-       msw  = bigNatIndex# a imax
-       sz   = bigNatSize# a
-       imax = sz -# 1#
-@@ -150,6 +145,12 @@ bigNatIsPowerOf2# a
-          | True = case bigNatIndex# a i of
-                      0## -> checkAllZeroes (i -# 1#)
-                      _   -> 0#
-+    in case wordIsPowerOf2# msw of
-+               (# (# #) | #) -> (# (# #) | #)
-+               (# | c  #) -> case checkAllZeroes (imax -# 1#) of
-+                  0# -> (# (# #) | #)
-+                  _  -> (# | c `plusWord#`
-+                              (int2Word# imax `uncheckedShiftL#` WORD_SIZE_BITS_SHIFT#) #)
- 
- -- | Return the Word# at the given index
- bigNatIndex# :: BigNat# -> Int# -> Word#


=====================================
p/ghc/debian/patches/fixStgRegStmt-register-width deleted
=====================================
@@ -1,42 +0,0 @@
-commit 83775ebb0bbf363d59fef1a7f9802d3981db6558
-Author: Moritz Angermann <moritz.angermann at gmail.com>
-Date:   Mon Oct 9 17:28:47 2023 +0800
-
-    CgUtils.fixStgRegStmt respect register width
-    
-    This change ensure that the reg + offset computation is always of the
-    same size.  Before this we could end up with a 64bit register, and then
-    add a 32bit offset (on 32bit platforms).  This not only would fail type
-    sanity checking, but also incorrectly truncate 64bit values into 32bit
-    values silently on 32bit architectures.
-    
-    (cherry picked from commit dafc47091c9107dcf81e1e80a105f59211927c89)
-    (cherry picked from commit 8e7a2065e433aa56552b335d420b5bf925082078)
-
-Index: b/compiler/GHC/StgToCmm/CgUtils.hs
-===================================================================
---- a/compiler/GHC/StgToCmm/CgUtils.hs
-+++ b/compiler/GHC/StgToCmm/CgUtils.hs
-@@ -173,15 +173,18 @@ fixStgRegStmt platform stmt = fixAssign
-                         BaseReg -> baseAddr
-                         _other  -> CmmLoad baseAddr (globalRegType platform reg) NaturallyAligned
- 
--        CmmRegOff (CmmGlobal reg) offset ->
-+        CmmRegOff greg@(CmmGlobal reg) offset ->
-             -- RegOf leaves are just a shorthand form. If the reg maps
-             -- to a real reg, we keep the shorthand, otherwise, we just
-             -- expand it and defer to the above code.
-+            -- NB: to ensure type correctness we need to ensure the Add
-+            --     as well as the Int need to be of the same size as the
-+            --     register.
-             case reg `elem` activeStgRegs platform of
-                 True  -> expr
--                False -> CmmMachOp (MO_Add (wordWidth platform)) [
--                                    fixExpr (CmmReg (CmmGlobal reg)),
-+                False -> CmmMachOp (MO_Add (cmmRegWidth platform greg)) [
-+                                    fixExpr (CmmReg greg),
-                                     CmmLit (CmmInt (fromIntegral offset)
--                                                   (wordWidth platform))]
-+                                                   (cmmRegWidth platform greg))]
- 
-         other_expr -> other_expr


=====================================
p/ghc/debian/patches/haddock-remove-googleapis-fonts
=====================================
@@ -6,7 +6,7 @@ Index: b/utils/haddock/haddock-api/src/Haddock/Backends/Xhtml.hs
 ===================================================================
 --- a/utils/haddock/haddock-api/src/Haddock/Backends/Xhtml.hs
 +++ b/utils/haddock/haddock-api/src/Haddock/Backends/Xhtml.hs
-@@ -155,7 +155,7 @@ headHtml docTitle themes mathjax_url bas
+@@ -152,7 +152,7 @@ headHtml docTitle themes mathjax_url bas
                  , thetype "text/css"
                  , href (withBaseURL base_url quickJumpCssFile) ]
               << noHtml
@@ -15,7 +15,7 @@ Index: b/utils/haddock/haddock-api/src/Haddock/Backends/Xhtml.hs
      , script ! [ src (withBaseURL base_url haddockJsFile)
                 , emptyAttr "async"
                 , thetype "text/javascript" ]
-@@ -164,7 +164,7 @@ headHtml docTitle themes mathjax_url bas
+@@ -161,7 +161,7 @@ headHtml docTitle themes mathjax_url bas
      , script ! [src mjUrl, thetype "text/javascript"] << noHtml
      ]
    where


=====================================
p/ghc/debian/patches/hadrian-fix-dnosmp deleted
=====================================
@@ -1,62 +0,0 @@
-commit bea762f2c9d3ff1f67e3fdb22a8ac288b32225b0
-Author: Ilias Tsitsimpis <iliastsi at debian.org>
-Date:   Thu Oct 12 12:44:02 2023 +0300
-
-    hadrian: Pass -DNOSMP to C compiler when needed
-    
-    Hadrian passes the -DNOSMP flag to GHC when the target doesn't support
-    SMP, but doesn't pass it to CC as well, leading to the following
-    compilation error on mips64el:
-    
-    | Run Cc (FindCDependencies CDep) Stage1: rts/sm/NonMovingScav.c => _build/stage1/rts/build/c/sm/NonMovingScav.o.d
-    Command line: /usr/bin/mips64el-linux-gnuabi64-gcc -E -MM -MG -MF _build/stage1/rts/build/c/hooks/FlagDefaults.thr_debug_p_o.d -MT _build/stage1/rts/build/c/hooks/FlagDefaults.o -Irts/include -I_build/stage1/rts/build -I_build/stage1/rts/build/include -Irts/include -x c rts/hooks/FlagDefaults.c -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Winline -Wpointer-arith -Wmissing-noreturn -Wnested-externs -Wredundant-decls -Wundef -fno-strict-aliasing -DTHREADED_RTS -DDEBUG -fomit-frame-pointer -O2 -g -Irts -I_build/stage1/rts/build -DDEBUG -fno-omit-frame-pointer -g3 -O0
-    ===> Command failed with error code: 1
-    In file included from rts/include/Stg.h:348,
-                     from rts/include/Rts.h:38,
-                     from rts/hooks/FlagDefaults.c:8:
-    rts/include/stg/SMP.h:416:2: error: #error memory barriers unimplemented on this architecture
-      416 | #error memory barriers unimplemented on this architecture
-          |  ^~~~~
-    rts/include/stg/SMP.h:440:2: error: #error memory barriers unimplemented on this architecture
-      440 | #error memory barriers unimplemented on this architecture
-          |  ^~~~~
-    rts/include/stg/SMP.h:464:2: error: #error memory barriers unimplemented on this architecture
-      464 | #error memory barriers unimplemented on this architecture
-          |  ^~~~~
-    
-    The old make system correctly passed this flag to both GHC and CC [1].
-    
-    Fix this error by passing -DNOSMP to CC as well.
-    
-    [1] https://gitlab.haskell.org/ghc/ghc/-/blob/00920f176b0235d5bb52a8e054d89a664f8938fe/rts/ghc.mk#L407
-    
-    Closes #24082
-
-Index: b/hadrian/src/Settings/Packages.hs
-===================================================================
---- a/hadrian/src/Settings/Packages.hs
-+++ b/hadrian/src/Settings/Packages.hs
-@@ -296,13 +296,11 @@ rtsPackageArgs = package rts ? do
-           -- Set the namespace for the rts fs functions
-           , arg $ "-DFS_NAMESPACE=rts"
-           , arg $ "-DCOMPILING_RTS"
--          , notM targetSupportsSMP           ? arg "-DNOSMP"
-           , way `elem` [debug, debugDynamic] ? pure [ "-DTICKY_TICKY"
-                                                     , "-optc-DTICKY_TICKY"]
-           , Profiling `wayUnit` way          ? arg "-DPROFILING"
-           , Threaded  `wayUnit` way          ? arg "-DTHREADED_RTS"
--          , notM targetSupportsSMP           ? pure [ "-DNOSMP"
--                                                    , "-optc-DNOSMP" ]
-+          , notM targetSupportsSMP           ? arg "-optc-DNOSMP"
-           ]
- 
-     let cArgs = mconcat
-@@ -320,6 +318,8 @@ rtsPackageArgs = package rts ? do
-           , arg "-Irts"
-           , arg $ "-I" ++ path
- 
-+          , notM targetSupportsSMP           ? arg "-DNOSMP"
-+
-           , Debug     `wayUnit` way          ? pure [ "-DDEBUG"
-                                                     , "-fno-omit-frame-pointer"
-                                                     , "-g3"


=====================================
p/ghc/debian/patches/hadrian-plans
=====================================
@@ -265,17 +265,17 @@ Index: b/hadrian/bootstrap/plan-bootstrap-9_4_7.json
 +    }
 +  ]
 +}
-Index: b/hadrian/bootstrap/plan-9_6_3.json
+Index: b/hadrian/bootstrap/plan-9_6_4.json
 ===================================================================
 --- /dev/null
-+++ b/hadrian/bootstrap/plan-9_6_3.json
++++ b/hadrian/bootstrap/plan-9_6_4.json
 @@ -0,0 +1 @@
-+{"cabal-version":"3.8.1.0","cabal-lib-version":"3.8.1.0","compiler-id":"ghc-9.6.3","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.8.1.0-3e543d41eeefb76fa988797770ba8240eb248cb158c384d260a2dfbdf5cad591","pkg-name":"Cabal","pkg-version":"3.8.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d","pkg-src-sha256":"7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608","depends":["Cabal-syntax-3.8.1.0-9446964c1ec0b8741f11d79651fc11126aeb6d915bad306f7ca01e9e3f0300ee","array-0.5.5.0","base-4.18.1.0","bytestring-0.11.5.2","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.4","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","process-1.6.17.0","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"Cabal-syntax-3.8.1.0-9446964c1ec0b8741f11d79651fc11126aeb6d915bad306f7ca01e9e3f0300ee","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593","pkg-src-sha256":"07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f","depends":["array-0.5.5.0","base-4.18.1.0","binary-0.8.9.1","bytestring-0.11.5.2","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.4","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.5.0","pkg-name":"array","pkg-version":"0.5.5.0","depends":["base-4.18.1.0"]},{"type":"pre-existing","id":"base-4.18.1.0","pkg-name":"base","pkg-version":"4.18.1.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0","rts-1.0.2"]},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.5.0","base-4.18.1.0","bytestring-0.11.5.2","containers-0.6.7"]},{"type":"pre-existing","id":"bytestring-0.11.5.2","pkg-name":"bytestring","pkg-version":"0.11.5.2","depends":["base-4.18.1.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"configured","id":"clock-0.8.3-6a6741d11b2e3314b163801ea0af07882b1aa04c94aaf1cd835459346ba72b8e","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.5.0","base-4.18.1.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.5.0","base-4.18.1.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.1.0","filepath-1.4.100.4","time-1.12.2","unix-2.8.1.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.1.0","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"extra-1.7.13-67a2636578737a8e2248b880c3d044ff9335ed161a58a4ff6ce5986122e444fe","pkg-name":"extra","pkg-version":"1.7.13","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"5f6aa264fd6b30f3f83a3b7f94232255140ff45600fd401305453aba2419a4c4","pkg-src-sha256":"bdeac5b0316ce4649faae02f7b79cef2bf59a7ddae6dc1c0e3d6c0667a5c7b67","depends":["base-4.18.1.0","clock-0.8.3-6a6741d11b2e3314b163801ea0af07882b1aa04c94aaf1cd835459346ba72b8e","directory-1.3.8.1","filepath-1.4.100.4","process-1.6.17.0","time-1.12.2","unix-2.8.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.100.4","pkg-name":"filepath","pkg-version":"1.4.100.4","depends":["base-4.18.1.0","bytestring-0.11.5.2","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"configured","id":"filepattern-0.1.3-327b7254b637b0d8a1256d2f19c961e413ad9940e5f5fee5f3ab000f08c0ca3a","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.18.1.0","directory-1.3.8.1","extra-1.7.13-67a2636578737a8e2248b880c3d044ff9335ed161a58a4ff6ce5986122e444fe","filepath-1.4.100.4"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.3","pkg-name":"ghc-boot-th","pkg-version":"9.6.3","depends":["base-4.18.1.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":false,"threaded":false},"style":"local","pkg-src":{"type":"local","path":"/build/ghc-9.6.3/hadrian/."},"dist-dir":"/build/ghc-9.6.3/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.3/hadrian-0.1.0.0/x/hadrian","build-info":"/build/ghc-9.6.3/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.3/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0-3e543d41eeefb76fa988797770ba8240eb248cb158c384d260a2dfbdf5cad591","base-4.18.1.0","bytestring-0.11.5.2","containers-0.6.7","directory-1.3.8.1","extra-1.7.13-67a2636578737a8e2248b880c3d044ff9335ed161a58a4ff6ce5986122e444fe","filepath-1.4.100.4","mtl-2.3.1","parsec-3.1.16.1","shake-0.19.7-9fb2682751a52004815dcf9c54ce44fc89374e0281633558586f47a52b774206","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unordered-containers-0.2.19.1-3c78366d7e4aaeaca0711bd5044b9f1a4cb9ec3cf818b79b1a32978b4ae1889a"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/build/ghc-9.6.3/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.3/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.2.0-278da8ce5a5630445680d5e6737cafd674e3592f0a2a20dab4ca99823fc032a4","pkg-name":"hashable","pkg-version":"1.4.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a","pkg-src-sha256":"1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8","depends":["base-4.18.1.0","bytestring-0.11.5.2","containers-0.6.7","deepseq-1.4.8.1","filepath-1.4.100.4","ghc-bignum-1.3","ghc-prim-0.10.0","text-2.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-e34dfc55a93987b9f5b1b38d72a98b0f591b143a4f6e625ca3de0e430fad9733","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-b437b50378e91678ca1284e087b62a138383b7270088b307a582d94b5ce5be74","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-c5d191154c48ef5492429826b9958cc5aa6870bf0ccbaf59fadf2a7bd839c329","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-1b60522f8392429aef634b3430fa995fa08f3fe23f90e4fa70e0356ec0b4b945","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.18.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.1.0","transformers-0.6.1.0"]},{"type":"pre-existing","id":"parsec-3.1.16.1","pkg-name":"parsec","pkg-version":"3.1.16.1","depends":["base-4.18.1.0","bytestring-0.11.5.2","mtl-2.3.1","text-2.0.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.1.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"configured","id":"primitive-0.8.0.0-1668d91881d295d36b48f2796497f2026070412919828ab5bdf883bdf10dfdf1","pkg-name":"primitive","pkg-version":"0.8.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19","pkg-src-sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","depends":["base-4.18.1.0","deepseq-1.4.8.1","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.17.0","pkg-name":"process","pkg-version":"1.6.17.0","depends":["base-4.18.1.0","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.100.4","unix-2.8.1.0"]},{"type":"configured","id":"random-1.2.1.1-faa4af7e487151c56aa553f64f92c72e47674c5d25e9fe1e737c1c3c509c784f","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.18.1.0","bytestring-0.11.5.2","deepseq-1.4.8.1","mtl-2.3.1","splitmix-0.1.0.4-ee5b966fdf2291936f7637a91705dc0ccc62a920a939a4c89041b75ce8dc32e6"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.7-9fb2682751a52004815dcf9c54ce44fc89374e0281633558586f47a52b774206","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.18.1.0","binary-0.8.9.1","bytestring-0.11.5.2","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.13-67a2636578737a8e2248b880c3d044ff9335ed161a58a4ff6ce5986122e444fe","filepath-1.4.100.4","filepattern-0.1.3-327b7254b637b0d8a1256d2f19c961e413ad9940e5f5fee5f3ab000f08c0ca3a","hashable-1.4.2.0-278da8ce5a5630445680d5e6737cafd674e3592f0a2a20dab4ca99823fc032a4","heaps-0.4-e34dfc55a93987b9f5b1b38d72a98b0f591b143a4f6e625ca3de0e430fad9733","js-dgtable-0.5.2-b437b50378e91678ca1284e087b62a138383b7270088b307a582d94b5ce5be74","js-flot-0.8.3-c5d191154c48ef5492429826b9958cc5aa6870bf0ccbaf59fadf2a7bd839c329","js-jquery-3.3.1-1b60522f8392429aef634b3430fa995fa08f3fe23f90e4fa70e0356ec0b4b945","primitive-0.8.0.0-1668d91881d295d36b48f2796497f2026070412919828ab5bdf883bdf10dfdf1","process-1.6.17.0","random-1.2.1.1-faa4af7e487151c56aa553f64f92c72e47674c5d25e9fe1e737c1c3c509c784f","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.19.1-3c78366d7e4aaeaca0711bd5044b9f1a4cb9ec3cf818b79b1a32978b4ae1889a","utf8-string-1.0.2-69ad192ae12a3b93ccfced59c25372c6f25a740769bc62bd92345e6615fb409e"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.7-e-shake-3ca85e67f7a487fa40c3be02c5de3570268184412582560b6fe811bf40085fb9","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.18.1.0","binary-0.8.9.1","bytestring-0.11.5.2","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.13-67a2636578737a8e2248b880c3d044ff9335ed161a58a4ff6ce5986122e444fe","filepath-1.4.100.4","filepattern-0.1.3-327b7254b637b0d8a1256d2f19c961e413ad9940e5f5fee5f3ab000f08c0ca3a","hashable-1.4.2.0-278da8ce5a5630445680d5e6737cafd674e3592f0a2a20dab4ca99823fc032a4","heaps-0.4-e34dfc55a93987b9f5b1b38d72a98b0f591b143a4f6e625ca3de0e430fad9733","js-dgtable-0.5.2-b437b50378e91678ca1284e087b62a138383b7270088b307a582d94b5ce5be74","js-flot-0.8.3-c5d191154c48ef5492429826b9958cc5aa6870bf0ccbaf59fadf2a7bd839c329","js-jquery-3.3.1-1b60522f8392429aef634b3430fa995fa08f3fe23f90e4fa70e0356ec0b4b945","primitive-0.8.0.0-1668d91881d295d36b48f2796497f2026070412919828ab5bdf883bdf10dfdf1","process-1.6.17.0","random-1.2.1.1-faa4af7e487151c56aa553f64f92c72e47674c5d25e9fe1e737c1c3c509c784f","time-1.12.2","transformers-0.6.1.0","unix-2.8.1.0","unordered-containers-0.2.19.1-3c78366d7e4aaeaca0711bd5044b9f1a4cb9ec3cf818b79b1a32978b4ae1889a","utf8-string-1.0.2-69ad192ae12a3b93ccfced59c25372c6f25a740769bc62bd92345e6615fb409e"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/iliastsi/.cabal/store/ghc-9.6.3/shake-0.19.7-e-shake-3ca85e67f7a487fa40c3be02c5de3570268184412582560b6fe811bf40085fb9/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-ee5b966fdf2291936f7637a91705dc0ccc62a920a939a4c89041b75ce8dc32e6","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.18.1.0","deepseq-1.4.8.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.5.0","base-4.18.1.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.1.0","ghc-boot-th-9.6.3","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.2","pkg-name":"text","pkg-version":"2.0.2","depends":["array-0.5.5.0","base-4.18.1.0","binary-0.8.9.1","bytestring-0.11.5.2","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.1.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.1.0"]},{"type":"pre-existing","id":"unix-2.8.1.0","pkg-name":"unix","pkg-version":"2.8.1.0","depends":["base-4.18.1.0","bytestring-0.11.5.2","filepath-1.4.100.4","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-3c78366d7e4aaeaca0711bd5044b9f1a4cb9ec3cf818b79b1a32978b4ae1889a","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.18.1.0","deepseq-1.4.8.1","hashable-1.4.2.0-278da8ce5a5630445680d5e6737cafd674e3592f0a2a20dab4ca99823fc032a4","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-69ad192ae12a3b93ccfced59c25372c6f25a740769bc62bd92345e6615fb409e","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.18.1.0","bytestring-0.11.5.2"],"exe-depends":[],"component-name":"lib"}]}
++{"cabal-version":"3.8.1.0","cabal-lib-version":"3.8.1.0","compiler-id":"ghc-9.6.4","os":"linux","arch":"x86_64","install-plan":[{"type":"configured","id":"Cabal-3.8.1.0-81610c6fb2605892796d8ceb959d4d2ec4e7a827b2b0a3e0c14d1420c84c96be","pkg-name":"Cabal","pkg-version":"3.8.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"77121d8e1aff14a0fd95684b751599db78a7dd26d55862d9fcef27c88b193e9d","pkg-src-sha256":"7464cbe6c2f3d7e5d0232023a1a7330621f8b24853cb259fc89a2af85b736608","depends":["Cabal-syntax-3.8.1.0-90076b8bf0569119932a4d6f195149a67d08f71bdde616d4b652089af1cfb8e7","array-0.5.6.0","base-4.18.2.0","bytestring-0.11.5.3","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.200.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","process-1.6.17.0","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"Cabal-syntax-3.8.1.0-90076b8bf0569119932a4d6f195149a67d08f71bdde616d4b652089af1cfb8e7","pkg-name":"Cabal-syntax","pkg-version":"3.8.1.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"ed2d937ba6c6a20b75850349eedd41374885fc42369ef152d69e2ba70f44f593","pkg-src-sha256":"07e8ddb19fe01781485f1522b6afc22aba680b0ab28ebe6bbfb84a2dd698ce0f","depends":["array-0.5.6.0","base-4.18.2.0","binary-0.8.9.1","bytestring-0.11.5.3","containers-0.6.7","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.200.1","mtl-2.3.1","parsec-3.1.16.1","pretty-1.1.3.6","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"array-0.5.6.0","pkg-name":"array","pkg-version":"0.5.6.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"base-4.18.2.0","pkg-name":"base","pkg-version":"4.18.2.0","depends":["ghc-bignum-1.3","ghc-prim-0.10.0","rts-1.0.2"]},{"type":"pre-existing","id":"binary-0.8.9.1","pkg-name":"binary","pkg-version":"0.8.9.1","depends":["array-0.5.6.0","base-4.18.2.0","bytestring-0.11.5.3","containers-0.6.7"]},{"type":"pre-existing","id":"bytestring-0.11.5.3","pkg-name":"bytestring","pkg-version":"0.11.5.3","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"configured","id":"clock-0.8.3-48c4123b58f396cde0fdd71bd63e0b04245d341201aa4f4fb303567da69a14a0","pkg-name":"clock","pkg-version":"0.8.3","flags":{"llvm":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"a692159828c2cd278eaec317b3a7e9fb6d7b787c8a19f086004d15d9fa1fd72c","pkg-src-sha256":"845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"containers-0.6.7","pkg-name":"containers","pkg-version":"0.6.7","depends":["array-0.5.6.0","base-4.18.2.0","deepseq-1.4.8.1","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"deepseq-1.4.8.1","pkg-name":"deepseq","pkg-version":"1.4.8.1","depends":["array-0.5.6.0","base-4.18.2.0","ghc-prim-0.10.0"]},{"type":"pre-existing","id":"directory-1.3.8.1","pkg-name":"directory","pkg-version":"1.3.8.1","depends":["base-4.18.2.0","filepath-1.4.200.1","time-1.12.2","unix-2.8.4.0"]},{"type":"pre-existing","id":"exceptions-0.10.7","pkg-name":"exceptions","pkg-version":"0.10.7","depends":["base-4.18.2.0","mtl-2.3.1","stm-2.5.1.0","template-haskell-2.20.0.0","transformers-0.6.1.0"]},{"type":"configured","id":"extra-1.7.13-775eeef00e8f19386cd2d3003db1302893af42023be9c369e13489573555ef15","pkg-name":"extra","pkg-version":"1.7.13","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"5f6aa264fd6b30f3f83a3b7f94232255140ff45600fd401305453aba2419a4c4","pkg-src-sha256":"bdeac5b0316ce4649faae02f7b79cef2bf59a7ddae6dc1c0e3d6c0667a5c7b67","depends":["base-4.18.2.0","clock-0.8.3-48c4123b58f396cde0fdd71bd63e0b04245d341201aa4f4fb303567da69a14a0","directory-1.3.8.1","filepath-1.4.200.1","process-1.6.17.0","time-1.12.2","unix-2.8.4.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"filepath-1.4.200.1","pkg-name":"filepath","pkg-version":"1.4.200.1","depends":["base-4.18.2.0","bytestring-0.11.5.3","deepseq-1.4.8.1","exceptions-0.10.7","template-haskell-2.20.0.0"]},{"type":"configured","id":"filepattern-0.1.3-0781e454af0af655b92777435ac02d7ca4b09d7b52fcd45a082ea8cc6719dab5","pkg-name":"filepattern","pkg-version":"0.1.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"372c1733d83b90045eb29da9f010fed79bfef8771ce65eb126a1d83ecc54a9a2","pkg-src-sha256":"cc445d439ea2f65cac7604d3578aa2c3a62e5a91dc989f4ce5b3390db9e59636","depends":["base-4.18.2.0","directory-1.3.8.1","extra-1.7.13-775eeef00e8f19386cd2d3003db1302893af42023be9c369e13489573555ef15","filepath-1.4.200.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"ghc-bignum-1.3","pkg-name":"ghc-bignum","pkg-version":"1.3","depends":["ghc-prim-0.10.0"]},{"type":"pre-existing","id":"ghc-boot-th-9.6.4","pkg-name":"ghc-boot-th","pkg-version":"9.6.4","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"ghc-prim-0.10.0","pkg-name":"ghc-prim","pkg-version":"0.10.0","depends":["rts-1.0.2"]},{"type":"configured","id":"hadrian-0.1.0.0-inplace-hadrian","pkg-name":"hadrian","pkg-version":"0.1.0.0","flags":{"selftest":false,"threaded":false},"style":"local","pkg-src":{"type":"local","path":"/build/ghc-9.6.4/hadrian/."},"dist-dir":"/build/ghc-9.6.4/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.4/hadrian-0.1.0.0/x/hadrian","build-info":"/build/ghc-9.6.4/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.4/hadrian-0.1.0.0/x/hadrian/build-info.json","depends":["Cabal-3.8.1.0-81610c6fb2605892796d8ceb959d4d2ec4e7a827b2b0a3e0c14d1420c84c96be","base-4.18.2.0","bytestring-0.11.5.3","containers-0.6.7","directory-1.3.8.1","extra-1.7.13-775eeef00e8f19386cd2d3003db1302893af42023be9c369e13489573555ef15","filepath-1.4.200.1","mtl-2.3.1","parsec-3.1.16.1","shake-0.19.7-0dc4746613fa5c29f85cf344178662c3ba2ab6146ac52492d3301ababac6219a","text-2.0.2","time-1.12.2","transformers-0.6.1.0","unordered-containers-0.2.19.1-11d6978b7db1fc183318602a2fc027ccabe57b5e18fa07c57c2c8ebedc88a4e5"],"exe-depends":[],"component-name":"exe:hadrian","bin-file":"/build/ghc-9.6.4/hadrian/dist-newstyle/build/x86_64-linux/ghc-9.6.4/hadrian-0.1.0.0/x/hadrian/build/hadrian/hadrian"},{"type":"configured","id":"hashable-1.4.2.0-5b12ee3d47b626a7c281d16582f3bd2c2a8d4278fb4227dbefe458916d726386","pkg-name":"hashable","pkg-version":"1.4.2.0","flags":{"integer-gmp":true,"random-initial-seed":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a","pkg-src-sha256":"1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8","depends":["base-4.18.2.0","bytestring-0.11.5.3","containers-0.6.7","deepseq-1.4.8.1","filepath-1.4.200.1","ghc-bignum-1.3","ghc-prim-0.10.0","text-2.0.2"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"heaps-0.4-a1c692faa7b3e7312a4aa425283f19fbf5aeedff1ff3bb585f62cac50d66c9b2","pkg-name":"heaps","pkg-version":"0.4","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"66b19fcd813b0e4db3e0bac541bd46606c3b13d3d081d9f9666f4be0f5ff14b8","pkg-src-sha256":"89329df8b95ae99ef272e41e7a2d0fe2f1bb7eacfcc34bc01664414b33067cfd","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-dgtable-0.5.2-84152df4144ec29572dd6667da436d4d0dcb33ad069f4c895b18f3ab1c290f0c","pkg-name":"js-dgtable","pkg-version":"0.5.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"f75cb4fa53c88c65794becdd48eb0d3b2b8abd89a3d5c19e87af91f5225c15e4","pkg-src-sha256":"e28dd65bee8083b17210134e22e01c6349dc33c3b7bd17705973cd014e9f20ac","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-flot-0.8.3-210fd9b4cd5178066b95ca3d041529a079d2509c3533b3ff43e51537626ae98e","pkg-name":"js-flot","pkg-version":"0.8.3","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"4c1c447a9a2fba0adba6d30678302a30c32b9dfde9e7aa9e9156483e1545096d","pkg-src-sha256":"1ba2f2a6b8d85da76c41f526c98903cbb107f8642e506c072c1e7e3c20fe5e7a","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"js-jquery-3.3.1-580f138ed4d5cde0ec5e145397076edbfdc19bbf075a5dc086855752614400c4","pkg-name":"js-jquery","pkg-version":"3.3.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"59ab6c79159549ef94b584abce8e6d3b336014c2cce1337b59a8f637e2856df5","pkg-src-sha256":"e0e0681f0da1130ede4e03a051630ea439c458cb97216cdb01771ebdbe44069b","depends":["base-4.18.2.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"mtl-2.3.1","pkg-name":"mtl","pkg-version":"2.3.1","depends":["base-4.18.2.0","transformers-0.6.1.0"]},{"type":"pre-existing","id":"parsec-3.1.16.1","pkg-name":"parsec","pkg-version":"3.1.16.1","depends":["base-4.18.2.0","bytestring-0.11.5.3","mtl-2.3.1","text-2.0.2"]},{"type":"pre-existing","id":"pretty-1.1.3.6","pkg-name":"pretty","pkg-version":"1.1.3.6","depends":["base-4.18.2.0","deepseq-1.4.8.1","ghc-prim-0.10.0"]},{"type":"configured","id":"primitive-0.8.0.0-f6c0d27fcfbcb7f2e7f74051bb1d749712b98c983cf5463e8aebde3cab759806","pkg-name":"primitive","pkg-version":"0.8.0.0","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"826bf2a702a26ef87532a135808abad69d74f70ead39f26c06d034b1f0537a19","pkg-src-sha256":"5553c21b4a789f9b591eed69e598cc58484c274af29250e517b5a8bcc62b995f","depends":["base-4.18.2.0","deepseq-1.4.8.1","template-haskell-2.20.0.0","transformers-0.6.1.0"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"process-1.6.17.0","pkg-name":"process","pkg-version":"1.6.17.0","depends":["base-4.18.2.0","deepseq-1.4.8.1","directory-1.3.8.1","filepath-1.4.200.1","unix-2.8.4.0"]},{"type":"configured","id":"random-1.2.1.1-6211beb54c19c9cb0335ca2b740640ce527924ddcf10f719a4fd65debf71c8d7","pkg-name":"random","pkg-version":"1.2.1.1","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","pkg-src-sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","depends":["base-4.18.2.0","bytestring-0.11.5.3","deepseq-1.4.8.1","mtl-2.3.1","splitmix-0.1.0.4-2589cafa725de4bf0774d8d2997e077f83a14fa94ebdd5b84ebf0a4049b06025"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"rts-1.0.2","pkg-name":"rts","pkg-version":"1.0.2","depends":[]},{"type":"configured","id":"shake-0.19.7-0dc4746613fa5c29f85cf344178662c3ba2ab6146ac52492d3301ababac6219a","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.18.2.0","binary-0.8.9.1","bytestring-0.11.5.3","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.13-775eeef00e8f19386cd2d3003db1302893af42023be9c369e13489573555ef15","filepath-1.4.200.1","filepattern-0.1.3-0781e454af0af655b92777435ac02d7ca4b09d7b52fcd45a082ea8cc6719dab5","hashable-1.4.2.0-5b12ee3d47b626a7c281d16582f3bd2c2a8d4278fb4227dbefe458916d726386","heaps-0.4-a1c692faa7b3e7312a4aa425283f19fbf5aeedff1ff3bb585f62cac50d66c9b2","js-dgtable-0.5.2-84152df4144ec29572dd6667da436d4d0dcb33ad069f4c895b18f3ab1c290f0c","js-flot-0.8.3-210fd9b4cd5178066b95ca3d041529a079d2509c3533b3ff43e51537626ae98e","js-jquery-3.3.1-580f138ed4d5cde0ec5e145397076edbfdc19bbf075a5dc086855752614400c4","primitive-0.8.0.0-f6c0d27fcfbcb7f2e7f74051bb1d749712b98c983cf5463e8aebde3cab759806","process-1.6.17.0","random-1.2.1.1-6211beb54c19c9cb0335ca2b740640ce527924ddcf10f719a4fd65debf71c8d7","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0","unordered-containers-0.2.19.1-11d6978b7db1fc183318602a2fc027ccabe57b5e18fa07c57c2c8ebedc88a4e5","utf8-string-1.0.2-7f7957d6c5602026e12a4448adc4fafdba1c5e253e8a79d546fa2a72c53515f3"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"shake-0.19.7-e-shake-f131e1f4bc3cafaae8f06f5b01b472075a39bc9a1c3e421fcc75da5f490077a1","pkg-name":"shake","pkg-version":"0.19.7","flags":{"cloud":false,"embed-files":false,"portable":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"3cb5814cce210b9756fa9246ff1b2a1e1b86be46fdc4c5e2baacdc5bf83ce5c3","pkg-src-sha256":"352a56af12f70b50d564dcb61131555577281957ee196f1702a3723c0a3699d1","depends":["base-4.18.2.0","binary-0.8.9.1","bytestring-0.11.5.3","deepseq-1.4.8.1","directory-1.3.8.1","extra-1.7.13-775eeef00e8f19386cd2d3003db1302893af42023be9c369e13489573555ef15","filepath-1.4.200.1","filepattern-0.1.3-0781e454af0af655b92777435ac02d7ca4b09d7b52fcd45a082ea8cc6719dab5","hashable-1.4.2.0-5b12ee3d47b626a7c281d16582f3bd2c2a8d4278fb4227dbefe458916d726386","heaps-0.4-a1c692faa7b3e7312a4aa425283f19fbf5aeedff1ff3bb585f62cac50d66c9b2","js-dgtable-0.5.2-84152df4144ec29572dd6667da436d4d0dcb33ad069f4c895b18f3ab1c290f0c","js-flot-0.8.3-210fd9b4cd5178066b95ca3d041529a079d2509c3533b3ff43e51537626ae98e","js-jquery-3.3.1-580f138ed4d5cde0ec5e145397076edbfdc19bbf075a5dc086855752614400c4","primitive-0.8.0.0-f6c0d27fcfbcb7f2e7f74051bb1d749712b98c983cf5463e8aebde3cab759806","process-1.6.17.0","random-1.2.1.1-6211beb54c19c9cb0335ca2b740640ce527924ddcf10f719a4fd65debf71c8d7","time-1.12.2","transformers-0.6.1.0","unix-2.8.4.0","unordered-containers-0.2.19.1-11d6978b7db1fc183318602a2fc027ccabe57b5e18fa07c57c2c8ebedc88a4e5","utf8-string-1.0.2-7f7957d6c5602026e12a4448adc4fafdba1c5e253e8a79d546fa2a72c53515f3"],"exe-depends":[],"component-name":"exe:shake","bin-file":"/home/iliastsi/.cabal/store/ghc-9.6.4/shake-0.19.7-e-shake-f131e1f4bc3cafaae8f06f5b01b472075a39bc9a1c3e421fcc75da5f490077a1/bin/shake"},{"type":"configured","id":"splitmix-0.1.0.4-2589cafa725de4bf0774d8d2997e077f83a14fa94ebdd5b84ebf0a4049b06025","pkg-name":"splitmix","pkg-version":"0.1.0.4","flags":{"optimised-mixer":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"db25c2e17967aa6b6046ab8b1b96ba3f344ca59a62b60fb6113d51ea305a3d8e","pkg-src-sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","depends":["base-4.18.2.0","deepseq-1.4.8.1"],"exe-depends":[],"component-name":"lib"},{"type":"pre-existing","id":"stm-2.5.1.0","pkg-name":"stm","pkg-version":"2.5.1.0","depends":["array-0.5.6.0","base-4.18.2.0"]},{"type":"pre-existing","id":"template-haskell-2.20.0.0","pkg-name":"template-haskell","pkg-version":"2.20.0.0","depends":["base-4.18.2.0","ghc-boot-th-9.6.4","ghc-prim-0.10.0","pretty-1.1.3.6"]},{"type":"pre-existing","id":"text-2.0.2","pkg-name":"text","pkg-version":"2.0.2","depends":["array-0.5.6.0","base-4.18.2.0","binary-0.8.9.1","bytestring-0.11.5.3","deepseq-1.4.8.1","ghc-prim-0.10.0","template-haskell-2.20.0.0"]},{"type":"pre-existing","id":"time-1.12.2","pkg-name":"time","pkg-version":"1.12.2","depends":["base-4.18.2.0","deepseq-1.4.8.1"]},{"type":"pre-existing","id":"transformers-0.6.1.0","pkg-name":"transformers","pkg-version":"0.6.1.0","depends":["base-4.18.2.0"]},{"type":"pre-existing","id":"unix-2.8.4.0","pkg-name":"unix","pkg-version":"2.8.4.0","depends":["base-4.18.2.0","bytestring-0.11.5.3","filepath-1.4.200.1","time-1.12.2"]},{"type":"configured","id":"unordered-containers-0.2.19.1-11d6978b7db1fc183318602a2fc027ccabe57b5e18fa07c57c2c8ebedc88a4e5","pkg-name":"unordered-containers","pkg-version":"0.2.19.1","flags":{"debug":false},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"9ad8972c2e913c37b1d4f0e1261517fd7a1b8c8a58077e057be69837e3dbaa00","pkg-src-sha256":"1b27bec5e0d522b27a6029ebf4c4a6d40acbc083c787008e32fb55c4b1d128d2","depends":["base-4.18.2.0","deepseq-1.4.8.1","hashable-1.4.2.0-5b12ee3d47b626a7c281d16582f3bd2c2a8d4278fb4227dbefe458916d726386","template-haskell-2.20.0.0"],"exe-depends":[],"component-name":"lib"},{"type":"configured","id":"utf8-string-1.0.2-7f7957d6c5602026e12a4448adc4fafdba1c5e253e8a79d546fa2a72c53515f3","pkg-name":"utf8-string","pkg-version":"1.0.2","flags":{},"style":"global","pkg-src":{"type":"repo-tar","repo":{"type":"secure-repo","uri":"http://hackage.haskell.org/"}},"pkg-cabal-sha256":"79416292186feeaf1f60e49ac5a1ffae9bf1b120e040a74bf0e81ca7f1d31d3f","pkg-src-sha256":"ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a","depends":["base-4.18.2.0","bytestring-0.11.5.3"],"exe-depends":[],"component-name":"lib"}]}
 \ No newline at end of file
-Index: b/hadrian/bootstrap/plan-bootstrap-9_6_3.json
+Index: b/hadrian/bootstrap/plan-bootstrap-9_6_4.json
 ===================================================================
 --- /dev/null
-+++ b/hadrian/bootstrap/plan-bootstrap-9_6_3.json
++++ b/hadrian/bootstrap/plan-bootstrap-9_6_4.json
 @@ -0,0 +1,267 @@
 +{
 +  "builtin": [
@@ -293,11 +293,11 @@ Index: b/hadrian/bootstrap/plan-bootstrap-9_6_3.json
 +    },
 +    {
 +      "package": "base",
-+      "version": "4.18.1.0"
++      "version": "4.18.2.0"
 +    },
 +    {
 +      "package": "array",
-+      "version": "0.5.5.0"
++      "version": "0.5.6.0"
 +    },
 +    {
 +      "package": "deepseq",
@@ -305,7 +305,7 @@ Index: b/hadrian/bootstrap/plan-bootstrap-9_6_3.json
 +    },
 +    {
 +      "package": "ghc-boot-th",
-+      "version": "9.6.3"
++      "version": "9.6.4"
 +    },
 +    {
 +      "package": "pretty",
@@ -317,7 +317,7 @@ Index: b/hadrian/bootstrap/plan-bootstrap-9_6_3.json
 +    },
 +    {
 +      "package": "bytestring",
-+      "version": "0.11.5.2"
++      "version": "0.11.5.3"
 +    },
 +    {
 +      "package": "containers",
@@ -345,7 +345,7 @@ Index: b/hadrian/bootstrap/plan-bootstrap-9_6_3.json
 +    },
 +    {
 +      "package": "filepath",
-+      "version": "1.4.100.4"
++      "version": "1.4.200.1"
 +    },
 +    {
 +      "package": "time",
@@ -353,7 +353,7 @@ Index: b/hadrian/bootstrap/plan-bootstrap-9_6_3.json
 +    },
 +    {
 +      "package": "unix",
-+      "version": "2.8.1.0"
++      "version": "2.8.4.0"
 +    },
 +    {
 +      "package": "directory",


=====================================
p/ghc/debian/patches/hadrian-relpath
=====================================
@@ -11,7 +11,7 @@ Index: b/hadrian/bindist/Makefile
 ===================================================================
 --- a/hadrian/bindist/Makefile
 +++ b/hadrian/bindist/Makefile
-@@ -225,7 +225,7 @@ update_package_db: install_bin install_l
+@@ -226,7 +226,7 @@ update_package_db: install_bin install_l
  	$(INSTALL_DATA) mk/system-cxx-std-lib-1.0.conf "$(DESTDIR)$(ActualLibsDir)/package.conf.d"
  	@echo "Updating the package DB"
  	$(foreach p, $(PKG_CONFS),\


=====================================
p/ghc/debian/patches/llvm-align-objects deleted
=====================================
@@ -1,28 +0,0 @@
-From 0d541871cd16b1966940f8df173da4d46f541d6f Mon Sep 17 00:00:00 2001
-From: Stefan Schulze Frielinghaus <stefansf at linux.ibm.com>
-Date: Mon, 27 Nov 2023 12:34:47 +0100
-Subject: [PATCH] llvmGen: Align objects in the data section
-
-Objects in the data section may be referenced via tagged pointers.
-Thus, align those objects to a 4- or 8-byte boundary for 32- or 64-bit
-platforms, respectively.  Note, this may need to be reconsidered if
-objects with a greater natural alignment requirement are emitted as e.g.
-128-bit atomics.
-
-Fixes #24163.
----
- compiler/GHC/CmmToLlvm/Data.hs | 1 +
- 1 file changed, 1 insertion(+)
-
-Index: b/compiler/GHC/CmmToLlvm/Data.hs
-===================================================================
---- a/compiler/GHC/CmmToLlvm/Data.hs
-+++ b/compiler/GHC/CmmToLlvm/Data.hs
-@@ -89,6 +89,7 @@ genLlvmData (sec, CmmStaticsRaw lbl xs)
-         align          = case sec of
-                             Section CString _ -> if (platformArch platform == ArchS390X)
-                                                     then Just 2 else Just 1
-+                            Section Data _    -> Just $ platformWordSizeInBytes platform
-                             _                 -> Nothing
-         const          = if sectionProtection sec == ReadOnlySection
-                             then Constant else Global


=====================================
p/ghc/debian/patches/series
=====================================
@@ -14,16 +14,12 @@ hadrian-iserv
 allow-setting-llvm-program
 sparc-support
 hadrian-disable-threaded
-hadrian-fix-dnosmp
 hadrian-enable-interpreter
 use-modern-atomics
 ppc64el-fix-clrri
-llvm-align-objects
-bigNatIsPowerOf2-out-of-bound-access
 sparc64-cabal-support
 hurd-cabal-osstring
 hurd-cabal-supportrpaths
 hurd-getExecutablePath
 hurd-hadrian-osstring
 hurd-hadrian-supportrpaths
-fixStgRegStmt-register-width


=====================================
p/ghc/debian/patches/x32-use-native-x86_64-insn.patch
=====================================
@@ -16,7 +16,7 @@ Index: b/rts/RtsSymbols.c
 ===================================================================
 --- a/rts/RtsSymbols.c
 +++ b/rts/RtsSymbols.c
-@@ -952,7 +952,7 @@ extern char **environ;
+@@ -955,7 +955,7 @@ extern char **environ;
  
  
  // 64-bit support functions in libgcc.a


=====================================
p/ghc/debian/rules
=====================================
@@ -16,7 +16,7 @@ export HOME = /homedoesnotexistatbuildtime
 export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 export DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
-export DEB_TARGET_ARCH_ENDIAN	?= $(shell dpkg-architecture -qDEB_TARGET_ARCH_ENDIAN)
+export DEB_TARGET_ARCH_ENDIAN  ?= $(shell dpkg-architecture -qDEB_TARGET_ARCH_ENDIAN)
 
 # Bootstrap GHC
 export GHC := $(firstword $(shell bash -c "type -p ghc"))
@@ -60,6 +60,17 @@ ifneq (,$(filter i386 powerpcspe x32, $(DEB_HOST_ARCH)))
   EXTRA_CONFIGURE_FLAGS += --enable-unregisterised
 endif
 
+# Build unregisterised on loong64, since llvm-15 is not available
+ifneq (,$(filter loong64, $(DEB_HOST_ARCH)))
+  EXTRA_CONFIGURE_FLAGS += --enable-unregisterised
+endif
+
+# See https://bugs.debian.org/1060196
+ifneq (,$(filter powerpc, $(DEB_HOST_ARCH)))
+  EXTRA_CONFIGURE_FLAGS += --enable-unregisterised
+  EXTRA_HADRIAN_FLAGS += "*.*.ghc.hs.opts += -optc--param -optcggc-min-expand=10 -optc-O3"
+endif
+
 # Use system's default ld (ld.bfd) rather than ld.gold, which fails for
 # haskell-cryptohash-sha256 on mips/mipsel. For more information, see
 # https://bugs.debian.org/901947
@@ -73,11 +84,11 @@ ifneq (,$(filter mips mipsel powerpc powerpcspe sparc64, $(DEB_HOST_ARCH)))
 endif
 
 ifneq (,$(filter armhf, $(DEB_HOST_ARCH)))
-	EXTRA_HADRIAN_FLAGS += "*.*.ghc.hs.opts += -D__ARM_PCS_VFP"
+  EXTRA_HADRIAN_FLAGS += "*.*.ghc.hs.opts += -D__ARM_PCS_VFP"
 endif
 
 ifneq (,$(filter i386 mips mipsel hppa, $(DEB_HOST_ARCH)))
-	EXTRA_HADRIAN_FLAGS += "*.*.ghc.hs.opts += -optc--param -optcggc-min-expand=10"
+  EXTRA_HADRIAN_FLAGS += "*.*.ghc.hs.opts += -optc--param -optcggc-min-expand=10"
 endif
 
 # mips64el compiles fine without it. Keep this commented out in
@@ -88,16 +99,16 @@ endif
 # endif
 
 ifneq (,$(filter x32, $(DEB_HOST_ARCH)))
-	EXTRA_HADRIAN_FLAGS += --integer-simple
+  EXTRA_HADRIAN_FLAGS += --integer-simple
 endif
 
 ifneq (,$(filter noopt, $(DEB_BUILD_OPTIONS)))
-	EXTRA_HADRIAN_FLAGS += "*.*.ghc.*.opts += -H64m -O0"
-	EXTRA_HADRIAN_FLAGS += "*.*.rts.*.opts += -O0"
+  EXTRA_HADRIAN_FLAGS += "*.*.ghc.*.opts += -H64m -O0"
+  EXTRA_HADRIAN_FLAGS += "*.*.rts.*.opts += -O0"
 endif
 
 ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-    NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+  NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
 endif
 
 # Use system libffi


=====================================
p/ghc/debian/upstream/signing-key.asc
=====================================
@@ -1,662 +1,63 @@
 -----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: 88B5 7FCF 7DB5 3B4D B3BF  A4B1 5887 64FB E22D 19C4
+Comment: Zubin Duggal (GHC signing key) <zubin at well-typed.com>
 
-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
-=uqBh
+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
+7yoq
+=MFsx
 -----END PGP PUBLIC KEY BLOCK-----



View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/-/compare/eb96826de726e342e4495c192fc2886a55fb5ea3...263aef5a269879636987826c3b2de595c9076e56

-- 
View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/-/compare/eb96826de726e342e4495c192fc2886a55fb5ea3...263aef5a269879636987826c3b2de595c9076e56
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-haskell-commits/attachments/20240114/7a811443/attachment-0001.htm>


More information about the Pkg-haskell-commits mailing list