From 5ce0a7ea17703bcfb1fc7b4007efef9e20b2d395 Mon Sep 17 00:00:00 2001 From: slotThe Date: Fri, 18 Mar 2022 17:33:46 +0100 Subject: [PATCH 01/15] ghc: update to 9.0.2 --- .../ghc/patches/no-atomic-64-on-32bit.patch | 58 ------------- srcpkgs/ghc/patches/ppc64-be-elfv2.patch | 86 ++++--------------- srcpkgs/ghc/template | 4 +- 3 files changed, 20 insertions(+), 128 deletions(-) delete mode 100644 srcpkgs/ghc/patches/no-atomic-64-on-32bit.patch diff --git a/srcpkgs/ghc/patches/no-atomic-64-on-32bit.patch b/srcpkgs/ghc/patches/no-atomic-64-on-32bit.patch deleted file mode 100644 index 05ca275ea9df..000000000000 --- a/srcpkgs/ghc/patches/no-atomic-64-on-32bit.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 5c5aa87d50dc4ea97e76e13f285a7b5dd71fcd88 Mon Sep 17 00:00:00 2001 -From: Ilias Tsitsimpis -Date: Sun, 1 Mar 2020 16:25:13 +0200 -Subject: [PATCH] Do not define hs_atomic{read,write}64() on non-64bit - -Do not define hs_atomicread64() and hs_atomicwrite64() on machines where -WORD_SIZE_IN_BITS is less than 64, just like we do with the rest of the atomic -functions which work on 64-bit values. - -Without this, compilation fails on MIPSel and PowerPC with the following error: - -/usr/bin/ld: /<>/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.5.3_p.a(atomic.p_o): in function `hs_atomicread64': -atomic.c:(.text.hs_atomicread64+0x8): undefined reference to `__sync_add_and_fetch_8' -/usr/bin/ld: /<>/libraries/ghc-prim/dist-install/build/libHSghc-prim-0.5.3_p.a(atomic.p_o): in function `hs_atomicwrite64': -atomic.c:(.text.hs_atomicwrite64+0x38): undefined reference to `__sync_bool_compare_and_swap_8' - -Fixes #17886. ---- - libraries/ghc-prim/cbits/atomic.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libraries/ghc-prim/cbits/atomic.c b/libraries/ghc-prim/cbits/atomic.c -index ac2e608ec2..01037d70ee 100644 ---- a/libraries/ghc-prim/cbits/atomic.c -+++ b/libraries/ghc-prim/cbits/atomic.c -@@ -361,6 +361,7 @@ hs_atomicread32(StgWord x) - #endif - } - -+#if WORD_SIZE_IN_BITS == 64 - extern StgWord64 hs_atomicread64(StgWord x); - StgWord64 - hs_atomicread64(StgWord x) -@@ -371,6 +372,7 @@ hs_atomicread64(StgWord x) - return __sync_add_and_fetch((StgWord64 *) x, 0); - #endif - } -+#endif - - // AtomicWriteByteArrayOp_Int - // Implies a full memory barrier (see compiler/prelude/primops.txt.pp) -@@ -409,6 +411,7 @@ hs_atomicwrite32(StgWord x, StgWord val) - #endif - } - -+#if WORD_SIZE_IN_BITS == 64 - extern void hs_atomicwrite64(StgWord x, StgWord64 val); - void - hs_atomicwrite64(StgWord x, StgWord64 val) -@@ -420,3 +423,5 @@ hs_atomicwrite64(StgWord x, StgWord64 val) - #endif - } - #endif -+ -+#endif --- -GitLab - diff --git a/srcpkgs/ghc/patches/ppc64-be-elfv2.patch b/srcpkgs/ghc/patches/ppc64-be-elfv2.patch index 275444e828b7..7f074d17cbae 100644 --- a/srcpkgs/ghc/patches/ppc64-be-elfv2.patch +++ b/srcpkgs/ghc/patches/ppc64-be-elfv2.patch @@ -3,21 +3,9 @@ From: Daniel Kolesa Date: Tue, 5 Jan 2021 04:10:25 +0100 Subject: [PATCH] fix up runtime for ppc64 BE ELFv2 + ensure it's used ---- - aclocal.m4 | 2 +- - configure | 2 +- - libraries/ghci/GHCi/InfoTable.hsc | 36 ++++++++++++------------------- - rts/Adjustor.c | 12 +++++------ - rts/AdjustorAsm.S | 2 +- - rts/StgCRun.c | 4 ++-- - rts/StgCRunAsm.S | 2 +- - 7 files changed, 26 insertions(+), 34 deletions(-) - -diff --git a/aclocal.m4 b/aclocal.m4 -index 41cecf0..ba08bd2 100644 ---- a/aclocal.m4 -+++ b/aclocal.m4 -@@ -199,7 +199,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_V +--- a/m4/fptools.m4 ++++ b/m4/fptools.m4 +@@ -201,7 +201,7 @@ test -z "[$]2" || eval "[$]2=ArchPPC" ;; powerpc64) @@ -26,8 +14,6 @@ index 41cecf0..ba08bd2 100644 ;; powerpc64le) test -z "[$]2" || eval "[$]2=\"ArchPPC_64 {ppc_64ABI = ELF_V2}\"" -diff --git a/configure b/configure -index 183e661..8aae1bc 100755 --- a/configure +++ b/configure @@ -10296,7 +10296,7 @@ $as_echo "done" >&6; } @@ -39,8 +25,6 @@ index 183e661..8aae1bc 100755 ;; powerpc64le) test -z "$2" || eval "$2=\"ArchPPC_64 {ppc_64ABI = ELF_V2}\"" -diff --git a/libraries/ghci/GHCi/InfoTable.hsc b/libraries/ghci/GHCi/InfoTable.hsc -index ec3c18a..0359be7 100644 --- a/libraries/ghci/GHCi/InfoTable.hsc +++ b/libraries/ghci/GHCi/InfoTable.hsc @@ -228,30 +228,22 @@ mkJumpToAddr a = case platform of @@ -88,57 +72,28 @@ index ec3c18a..0359be7 100644 ArchPPC64LE -> -- The ABI requires r12 to point to the function's entry point. -diff --git a/rts/Adjustor.c b/rts/Adjustor.c -index d360cfe..ab7ede7 100644 ---- a/rts/Adjustor.c -+++ b/rts/Adjustor.c -@@ -49,7 +49,7 @@ Haskell side. - - #if defined(i386_HOST_ARCH) - extern void adjustorCode(void); --#elif defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH) -+#elif defined(powerpc_HOST_ARCH) || (defined(powerpc64_HOST_ARCH) && (_CALL_ELF != 2)) - // from AdjustorAsm.s - // not declared as a function so that AIX-style - // fundescs can never get in the way. -@@ -278,7 +278,7 @@ __asm__("obscure_ccall_ret_code:\n\t" +--- a/rts/adjustor/NativePowerPC.c ++++ b/rts/adjustor/NativePowerPC.c +@@ -29,7 +29,7 @@ extern void obscure_ccall_ret_code(void); - #endif + #endif /* defined(linux_HOST_OS) */ -#if defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH) +#if defined(powerpc_HOST_ARCH) || (defined(powerpc64_HOST_ARCH) && (_CALL_ELF != 2)) #if !(defined(powerpc_HOST_ARCH) && defined(linux_HOST_OS)) /* !!! !!! WARNING: !!! !!! -@@ -318,7 +318,7 @@ typedef struct AdjustorStub { - } AdjustorStub; - #endif - --#if defined(i386_HOST_ARCH) || defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH) -+#if defined(i386_HOST_ARCH) || defined(powerpc_HOST_ARCH) || (defined(powerpc64_HOST_ARCH) && (_CALL_ELF != 2)) - static int totalArgumentSize(char *typeString) - { - int sz = 0; -@@ -351,7 +351,7 @@ void* +--- a/rts/adjustor/NativeIA64.c ++++ b/rts/adjustor/NativeIA64.c +@@ -39,7 +39,7 @@ createAdjustor(int cconv, StgStablePtr hptr, StgFunPtr wptr, char *typeString -#if !defined(powerpc_HOST_ARCH) && !defined(powerpc64_HOST_ARCH) && !defined(x86_64_HOST_ARCH) +#if !defined(powerpc_HOST_ARCH) && (!defined(powerpc64_HOST_ARCH) || (_CALL_ELF == 2)) && !defined(x86_64_HOST_ARCH) - STG_UNUSED + STG_UNUSED #endif - ) -@@ -1271,7 +1271,7 @@ freeHaskellFunctionPtr(void* ptr) - return; - } - freeStablePtr(((StgStablePtr*)ptr)[1]); --#elif defined(powerpc_HOST_ARCH) || defined(powerpc64_HOST_ARCH) -+#elif defined(powerpc_HOST_ARCH) || (defined(powerpc64_HOST_ARCH) && (_CALL_ELF != 2)) - if ( ((AdjustorStub*)ptr)->code != (StgFunPtr) &adjustorCode ) { - errorBelch("freeHaskellFunctionPtr: not for me, guv! %p\n", ptr); - return; -diff --git a/rts/AdjustorAsm.S b/rts/AdjustorAsm.S -index 2795b83..63cfe91 100644 + ) --- a/rts/AdjustorAsm.S +++ b/rts/AdjustorAsm.S @@ -2,7 +2,7 @@ @@ -150,20 +105,18 @@ index 2795b83..63cfe91 100644 #if !(defined(powerpc_HOST_ARCH) && defined(linux_HOST_OS)) /* The following code applies, with some differences, to all powerpc platforms except for powerpc32-linux, -diff --git a/rts/StgCRun.c b/rts/StgCRun.c -index 934926e..2ff8662 100644 --- a/rts/StgCRun.c +++ b/rts/StgCRun.c -@@ -726,7 +726,7 @@ StgRunIsImplementedInAssembler(void) +@@ -635,7 +635,7 @@ Everything is in assembler, so we don't have to deal with GCC... -------------------------------------------------------------------------- */ --#if defined(powerpc64_HOST_ARCH) -+#if defined(powerpc64_HOST_ARCH) && (_CALL_ELF != 2) +-#if defined(powerpc_HOST_ARCH) ++#if defined(powerpc_HOST_ARCH) && (_CALL_ELF != 2) + + #define STG_GLOBAL ".globl " - static void GNUC3_ATTRIBUTE(used) - StgRunIsImplementedInAssembler(void) -@@ -851,7 +851,7 @@ StgRunIsImplementedInAssembler(void) +@@ -792,6 +792,6 @@ #endif @@ -171,9 +124,6 @@ index 934926e..2ff8662 100644 +#if defined(powerpc64le_HOST_ARCH) || (defined(powerpc64_HOST_ARCH) && (_CALL_ELF == 2)) /* ----------------------------------------------------------------------------- PowerPC 64 little endian architecture - -diff --git a/rts/StgCRunAsm.S b/rts/StgCRunAsm.S -index 9274a44..3b4fc33 100644 --- a/rts/StgCRunAsm.S +++ b/rts/StgCRunAsm.S @@ -5,7 +5,7 @@ diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template index b8b16f67b433..c4bbb3e4e3b1 100644 --- a/srcpkgs/ghc/template +++ b/srcpkgs/ghc/template @@ -1,7 +1,7 @@ # Template file for 'ghc' pkgname=ghc # Keep this synchronized with http://www.stackage.org/lts -version=8.10.7 +version=9.0.2 revision=1 wrksrc="ghc-${version%[!0-9]}" build_style=gnu-configure @@ -14,7 +14,7 @@ maintainer="slotThe " license="BSD-3-Clause" homepage="http://www.haskell.org/ghc/" distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz" -checksum=e3eef6229ce9908dfe1ea41436befb0455fefb1932559e860ad4c606b0d03c9d +checksum=140e42b96346322d1a39eb17602bcdc76e292028ad4a69286b230bab188a9197 nocross=yes # this is conditionally unset for cross bindist nodebug=yes # work around assembler error "Fatal error: duplicate .debug_line sections" _bindir="/usr/lib/${pkgname}-${version}/bin" From 90bdce8ae8ab36517c9cfb601f4e51cba4703bce Mon Sep 17 00:00:00 2001 From: slotThe Date: Sat, 19 Mar 2022 10:48:13 +0100 Subject: [PATCH 02/15] cabal-install: update to 3.6.3.0 Technically, this is only upgrading Cabal (the library) to 3.6.3.0, as the installed version of cabal-install is still 3.6.2.0. This is, however, necessary for GHC 9.x support. --- srcpkgs/cabal-install/files/linux-9.0.2.json | 1 + srcpkgs/cabal-install/template | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 srcpkgs/cabal-install/files/linux-9.0.2.json diff --git a/srcpkgs/cabal-install/files/linux-9.0.2.json b/srcpkgs/cabal-install/files/linux-9.0.2.json new file mode 100644 index 000000000000..f3cb6b4aeeb5 --- /dev/null +++ b/srcpkgs/cabal-install/files/linux-9.0.2.json @@ -0,0 +1 @@ +{"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.7.0"},{"package":"ghc-bignum","version":"1.1"},{"package":"base","version":"4.15.1.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.5.0"},{"package":"bytestring","version":"0.10.12.1"},{"package":"containers","version":"0.6.4.1"},{"package":"binary","version":"0.8.8.0"},{"package":"filepath","version":"1.4.2.1"},{"package":"time","version":"1.9.3"},{"package":"unix","version":"2.7.2.2"},{"package":"directory","version":"1.3.6.2"},{"package":"transformers","version":"0.5.6.2"},{"package":"mtl","version":"2.2.2"},{"package":"ghc-boot-th","version":"9.0.2"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.17.0.0"},{"package":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.14.0"},{"package":"process","version":"1.6.13.2"},{"package":"stm","version":"2.5.0.0"}],"dependencies":[{"cabal_sha256":null,"flags":["-bundled-binary-generic"],"package":"Cabal","revision":null,"source":"local","src_sha256":null,"version":"3.6.3.0"},{"cabal_sha256":"714a55fd28d3e2533bd5b49e74f604ef8e5d7b06f249c8816f6c54aed431dcf1","flags":["-optimised-mixer"],"package":"splitmix","revision":0,"source":"hackage","src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","version":"0.1.0.4"},{"cabal_sha256":"8bee24dc0c985a90ee78d94c61f8aed21c49633686f0f1c14c5078d818ee43a2","flags":[],"package":"random","revision":0,"source":"hackage","src_sha256":"265c768fc5f2ca53cde6a87e706b4448cad474c3deece933c103f24453661457","version":"1.2.1"},{"cabal_sha256":"3a2beeafb220f9de706568a7e4a5b3c762cc4c9f25c94d7ef795b8c2d6a691d7","flags":["+integer-gmp","-random-initial-seed"],"package":"hashable","revision":1,"source":"hackage","src_sha256":"baaad82cd4271b197016bdbe76f22d5c3d3913fe38534cec7d817db9bae19886","version":"1.3.5.0"},{"cabal_sha256":"b83dec34a53520de84c6dd3dc7aae45d22409b46eb471c478b98108215a370f0","flags":["-bench"],"package":"async","revision":1,"source":"hackage","src_sha256":"484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725","version":"2.2.4"},{"cabal_sha256":"037d70bb091c49f68726dde920f6a003b646835a86cdcb5b5ad58ad9af3207d9","flags":[],"package":"Cabal-syntax","revision":0,"source":"hackage","src_sha256":"ca25e5fc601397565fa857f1aa477740fac7f43d659e77c4d9b1485dca239251","version":"3.6.0.0"},{"cabal_sha256":"d8699f46b485f105eea9c7158f3d432ca578e6bbe5d68751184e9899a41d430d","flags":["-old-bytestring","-old-time"],"package":"tar","revision":4,"source":"hackage","src_sha256":"b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de","version":"0.5.1.1"},{"cabal_sha256":"e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568","flags":["-devel"],"package":"network","revision":0,"source":"hackage","src_sha256":"7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85","version":"3.1.2.7"},{"cabal_sha256":"a16dd922947a6877defe52c4c38d1ab48ed3f85a826930f5d1a568741d619993","flags":[],"package":"th-compat","revision":0,"source":"hackage","src_sha256":"6b5059caf6714f47da92953badf2f556119877e09708c14e206b3ae98b8681c6","version":"0.1.3"},{"cabal_sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","flags":[],"package":"network-uri","revision":0,"source":"hackage","src_sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","version":"2.6.4.1"},{"cabal_sha256":"6042643c15a0b43e522a6693f1e322f05000d519543a84149cb80aeffee34f71","flags":["-conduit10","-mtl1","+network-uri","-warn-as-error","-warp-tests"],"package":"HTTP","revision":1,"source":"hackage","src_sha256":"d6091c037871ac3d08d021c906206174567499d5a26a6cb804cf530cd590fe2d","version":"4000.3.16"},{"cabal_sha256":"64abad7816ab8cabed8489e29f807b3a6f828e0b2cec0eae404323d69d36df9a","flags":[],"package":"base16-bytestring","revision":0,"source":"hackage","src_sha256":"1d5a91143ef0e22157536093ec8e59d226a68220ec89378d5dcaeea86472c784","version":"1.0.2.0"},{"cabal_sha256":"50ec0e229255d4c45cbdd568da011311b8887f304b931564886016f4984334d8","flags":[],"package":"base64-bytestring","revision":0,"source":"hackage","src_sha256":"fbf8ed30edde271eb605352021431d8f1b055f95a56af31fe2eacf6bdfdc49c9","version":"1.2.1.0"},{"cabal_sha256":"188d0b5a0491e8b686b32d9b144c9287760ba333d2509bf3f17e3d846fbc2332","flags":["-exe","+use-cbits"],"package":"cryptohash-sha256","revision":0,"source":"hackage","src_sha256":"73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6","version":"0.11.102.1"},{"cabal_sha256":"ccce771562c49a2b29a52046ca68c62179e97e8fbeacdae32ca84a85445e8f42","flags":["-example"],"package":"echo","revision":0,"source":"hackage","src_sha256":"c9fe1bf2904825a65b667251ec644f197b71dc5c209d2d254be5de3d496b0e43","version":"0.1.4"},{"cabal_sha256":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","flags":[],"package":"edit-distance","revision":1,"source":"hackage","src_sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","version":"0.2.2.1"},{"cabal_sha256":"24ac7b5f3d9fa3c2f70262b329f2a75f24e7fd829f88c189b388efa1bcd67eb2","flags":["+no-donna","+test-doctests","+test-hlint","+test-properties"],"package":"ed25519","revision":5,"source":"hackage","src_sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","version":"0.0.5.0"},{"cabal_sha256":"c084c043a40632d3cafcac50fb5eeff84d91edb070a54baa94945f1c976f97c0","flags":["+ofd-locking"],"package":"lukko","revision":2,"source":"hackage","src_sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","version":"0.1.1.3"},{"cabal_sha256":"262a93dbf370be59f4ee57f3b1a51b338bc2c309797daa37c14f2262ae61dae4","flags":["-bundled-c-zlib","-non-blocking-ffi","-pkg-config"],"package":"zlib","revision":1,"source":"hackage","src_sha256":"807f6bddf9cb3c517ce5757d991dde3c7e319953a22c86ee03d74534bd5abc88","version":"0.6.2.3"},{"cabal_sha256":"eb34c3e2fa39f9819293045c03e56148a7125573c1de265cdfe5d967f1d71c6e","flags":["+base48","-cabal-syntax","+lukko","-mtl21","-old-directory","+use-network-uri"],"package":"hackage-security","revision":1,"source":"hackage","src_sha256":"bf22cd16dde7d6b7130463f4d7324b64a2964d9ef3f523df97d7cb98544d64a8","version":"0.6.2.1"},{"cabal_sha256":"2561adac8ce373910948066debe090a22b336b129ba5af18c0332524d16e72ce","flags":[],"package":"regex-base","revision":0,"source":"hackage","src_sha256":"7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1","version":"0.94.0.2"},{"cabal_sha256":"b6421e5356766b0c0a78b6094ae2e3a6259b42c147b717283c03c1cb09163dca","flags":["-_regex-posix-clib"],"package":"regex-posix","revision":0,"source":"hackage","src_sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","version":"0.96.0.1"},{"cabal_sha256":"2088eb9368b920f80bbe4e3b03c3b8484090208f5c3b31645bd67a9ef7d26db4","flags":[],"package":"resolv","revision":4,"source":"hackage","src_sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","version":"0.1.2.0"},{"cabal_sha256":null,"flags":["-debug-conflict-sets","-debug-expensive-assertions","-debug-tracetree","+lukko","+native-dns"],"package":"cabal-install","revision":null,"source":"local","src_sha256":null,"version":"3.6.2.0"}]} \ No newline at end of file diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template index d6d718709993..6a4b0ad7fc0e 100644 --- a/srcpkgs/cabal-install/template +++ b/srcpkgs/cabal-install/template @@ -1,6 +1,6 @@ # Template file for 'cabal-install' pkgname=cabal-install -version=3.6.2.0 +version=3.6.3.0 revision=1 wrksrc=cabal-Cabal-v${version} hostmakedepends="ghc curl tar which" @@ -11,7 +11,7 @@ maintainer="Leah Neukirchen " license="BSD-3-Clause" homepage="https://hackage.haskell.org/package/cabal-install" distfiles="https://github.com/haskell/cabal/archive/Cabal-v${version}.tar.gz" -checksum=dcf31e82cd85ea3236be18cc36c68058948994579ea7de18f99175821dbbcb64 +checksum=dea086acad6d9fe5fe22d838b95b4e988022e8519f38d41609119ea32bfb7466 nopie_files="/usr/bin/cabal" nocross=yes @@ -19,12 +19,13 @@ post_patch() { case "${XBPS_TARGET_MACHINE}" in i686*) # https://github.com/haskell/cabal/issues/7313 - vsed -i -e 's/+ofd-locking/-ofd-locking/' bootstrap/linux-8.10.7.json ;; + vsed -i -e 's/+ofd-locking/-ofd-locking/' bootstrap/linux-9.0.2.json ;; esac } do_build() { - PREFIX=$PWD bootstrap/bootstrap.py -d bootstrap/linux-8.10.7.json + cp "${FILESDIR}/linux-9.0.2.json" bootstrap/ + PREFIX=$PWD bootstrap/bootstrap.py -d bootstrap/linux-9.0.2.json } do_install() { vbin _build/bin/cabal From fca528d49c56be81a9fc18c0f74b3ad761698a27 Mon Sep 17 00:00:00 2001 From: slotThe Date: Sat, 19 Mar 2022 12:54:36 +0100 Subject: [PATCH 03/15] stack: update stackage resolver to lts-19.0 Related: https://github.com/commercialhaskell/stack/pull/5559 --- srcpkgs/stack/patches/ghc9.0.2.patch | 212 +++++++++++++++++++++++++++ srcpkgs/stack/template | 6 +- 2 files changed, 215 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/stack/patches/ghc9.0.2.patch diff --git a/srcpkgs/stack/patches/ghc9.0.2.patch b/srcpkgs/stack/patches/ghc9.0.2.patch new file mode 100644 index 000000000000..bdd77de58c6b --- /dev/null +++ b/srcpkgs/stack/patches/ghc9.0.2.patch @@ -0,0 +1,212 @@ +From cb7e56842a25f93142545fad21306a7c1750fbbf Mon Sep 17 00:00:00 2001 +From: Brandon Chinn +Date: Fri, 4 Jun 2021 16:26:22 -0700 +Subject: [PATCH 1/6] Use Cabal 3.4.0.0 + +--- + stack.yaml | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/stack.yaml b/stack.yaml +index 005bd19f4..9472509be 100644 +--- a/stack.yaml ++++ b/stack.yaml +@@ -20,6 +20,9 @@ flags: + ghc-options: + "$locals": -fhide-source-paths + ++extra-deps: ++- Cabal-3.4.0.0 ++ + drop-packages: + # See https://github.com/commercialhaskell/stack/pull/4712 + - cabal-install + +From 11e11ab0edeba033b40a7fc62434be58dea82ce2 Mon Sep 17 00:00:00 2001 +From: Brandon Chinn +Date: Fri, 4 Jun 2021 16:40:56 -0700 +Subject: [PATCH 2/6] Fix Flag => PackageFlag + +--- + src/Stack/BuildPlan.hs | 2 +- + src/Stack/Package.hs | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/Stack/BuildPlan.hs b/src/Stack/BuildPlan.hs +index 36f82236e..c5c80efc6 100644 +--- a/src/Stack/BuildPlan.hs ++++ b/src/Stack/BuildPlan.hs +@@ -224,7 +224,7 @@ selectPackageBuildPlan platform compiler pool gpd = + flagCombinations :: NonEmpty [(FlagName, Bool)] + flagCombinations = mapM getOptions (genPackageFlags gpd) + where +- getOptions :: C.Flag -> NonEmpty (FlagName, Bool) ++ getOptions :: C.PackageFlag -> NonEmpty (FlagName, Bool) + getOptions f + | flagManual f = (fname, flagDefault f) :| [] + | flagDefault f = (fname, True) :| [(fname, False)] +diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs +index 4db50d2a4..d9bca7af5 100644 +--- a/src/Stack/Package.hs ++++ b/src/Stack/Package.hs +@@ -128,7 +128,7 @@ resolvePackage packageConfig gpkg = + (resolvePackageDescription packageConfig gpkg) + + packageFromPackageDescription :: PackageConfig +- -> [D.Flag] ++ -> [PackageFlag] + -> PackageDescriptionPair + -> Package + packageFromPackageDescription packageConfig pkgFlags (PackageDescriptionPair pkgNoMod pkg) = +@@ -935,9 +935,9 @@ resolvePackageDescription packageConfig (GenericPackageDescription desc defaultF + -- | Make a map from a list of flag specifications. + -- + -- What is @flagManual@ for? +-flagMap :: [Flag] -> Map FlagName Bool ++flagMap :: [PackageFlag] -> Map FlagName Bool + flagMap = M.fromList . map pair +- where pair :: Flag -> (FlagName, Bool) ++ where pair :: PackageFlag -> (FlagName, Bool) + pair = flagName &&& flagDefault + + data ResolveConditions = ResolveConditions +@@ -986,7 +986,7 @@ resolveConditions rc addDeps (CondNode lib deps cs) = basic <> children + case v of + OS os -> os == rcOS rc + Arch arch -> arch == rcArch rc +- Flag flag -> ++ PackageFlag flag -> + fromMaybe False $ M.lookup flag (rcFlags rc) + -- NOTE: ^^^^^ This should never happen, as all flags + -- which are used must be declared. Defaulting to + +From 8facd731ec3f2bbc15a083750740929167b33bb2 Mon Sep 17 00:00:00 2001 +From: Brandon Chinn +Date: Fri, 4 Jun 2021 16:55:30 -0700 +Subject: [PATCH 3/6] Fix CabalSpecVersion + +--- + src/Stack/Package.hs | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs +index d9bca7af5..fca039140 100644 +--- a/src/Stack/Package.hs ++++ b/src/Stack/Package.hs +@@ -32,6 +32,7 @@ import Data.List (find, isPrefixOf, unzip) + import qualified Data.Map.Strict as M + import qualified Data.Set as S + import qualified Data.Text as T ++import Distribution.CabalSpecVersion (CabalSpecVersion, cabalSpecMinimumLibraryVersion) + import Distribution.Compiler + import Distribution.ModuleName (ModuleName) + import qualified Distribution.ModuleName as Cabal +@@ -190,7 +191,7 @@ packageFromPackageDescription packageConfig pkgFlags (PackageDescriptionPair pkg + (library pkg) + , packageBuildType = buildType pkg + , packageSetupDeps = msetupDeps +- , packageCabalSpec = either orLaterVersion id $ specVersionRaw pkg ++ , packageCabalSpec = orLaterVersion $ mkVersion $ cabalSpecMinimumLibraryVersion $ specVersion pkg + } + where + extraLibNames = S.union subLibNames foreignLibNames +@@ -696,7 +697,7 @@ packageDescModulesAndFiles pkg = do + + -- | Resolve globbing of files (e.g. data files) to absolute paths. + resolveGlobFiles +- :: Version -- ^ cabal file version ++ :: CabalSpecVersion -- ^ cabal file version + -> [String] + -> RIO Ctx (Set (Path Abs File)) + resolveGlobFiles cabalFileVersion = + +From 004f14652409b7d0645215d354b2e599eb7f76bc Mon Sep 17 00:00:00 2001 +From: Brandon Chinn +Date: Fri, 4 Jun 2021 16:55:40 -0700 +Subject: [PATCH 4/6] Fix GenericPackageDescription + +--- + src/Stack/Build.hs | 2 +- + src/Stack/Package.hs | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/Stack/Build.hs b/src/Stack/Build.hs +index 23b9a9719..856903bed 100644 +--- a/src/Stack/Build.hs ++++ b/src/Stack/Build.hs +@@ -358,7 +358,7 @@ checkComponentsBuildable lps = + checkSubLibraryDependencies :: HasLogFunc env => [ProjectPackage] -> RIO env () + checkSubLibraryDependencies proj = do + forM_ proj $ \p -> do +- C.GenericPackageDescription _ _ lib subLibs foreignLibs exes tests benches <- liftIO $ cpGPD . ppCommon $ p ++ C.GenericPackageDescription _ _ _ lib subLibs foreignLibs exes tests benches <- liftIO $ cpGPD . ppCommon $ p + + let dependencies = concatMap getDeps subLibs <> + concatMap getDeps foreignLibs <> +diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs +index fca039140..39aad4d2f 100644 +--- a/src/Stack/Package.hs ++++ b/src/Stack/Package.hs +@@ -863,7 +863,7 @@ data PackageDescriptionPair = PackageDescriptionPair + resolvePackageDescription :: PackageConfig + -> GenericPackageDescription + -> PackageDescriptionPair +-resolvePackageDescription packageConfig (GenericPackageDescription desc defaultFlags mlib subLibs foreignLibs' exes tests benches) = ++resolvePackageDescription packageConfig (GenericPackageDescription desc _ defaultFlags mlib subLibs foreignLibs' exes tests benches) = + PackageDescriptionPair + { pdpOrigBuildable = go False + , pdpModifiedBuildable = go True + +From 820797b566ef981936907f4d19658259d4a635a8 Mon Sep 17 00:00:00 2001 +From: Brandon Chinn +Date: Fri, 4 Jun 2021 17:01:01 -0700 +Subject: [PATCH 5/6] Fix generatePackageVersionMacros + +--- + src/Stack/Build/Execute.hs | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/Stack/Build/Execute.hs b/src/Stack/Build/Execute.hs +index 1e381dd21..aedd7fee5 100644 +--- a/src/Stack/Build/Execute.hs ++++ b/src/Stack/Build/Execute.hs +@@ -1214,7 +1214,7 @@ withSingleContext ActionContext {..} ee@ExecuteEnv {..} task@Task {..} allDeps m + let macroDeps = mapMaybe snd matchedDeps + cppMacrosFile = setupDir relFileSetupMacrosH + cppArgs = ["-optP-include", "-optP" ++ toFilePath cppMacrosFile] +- writeBinaryFileAtomic cppMacrosFile (encodeUtf8Builder (T.pack (C.generatePackageVersionMacros macroDeps))) ++ writeBinaryFileAtomic cppMacrosFile (encodeUtf8Builder (T.pack (C.generatePackageVersionMacros (packageVersion package) macroDeps))) + return (packageDBArgs ++ depsArgs ++ cppArgs) + + -- This branch is usually taken for builds, and + +From 336ab515e30f03c274f89ebe1cbc6aa1e597c2a4 Mon Sep 17 00:00:00 2001 +From: Brandon Chinn +Date: Fri, 4 Jun 2021 17:04:16 -0700 +Subject: [PATCH 6/6] Fix ModuleReexport + +--- + src/Stack/Script.hs | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/Stack/Script.hs b/src/Stack/Script.hs +index 6bb67c049..9ebd2173d 100644 +--- a/src/Stack/Script.hs ++++ b/src/Stack/Script.hs +@@ -18,6 +18,7 @@ import Distribution.Compiler (CompilerFlavor (..)) + import Distribution.ModuleName (ModuleName) + import qualified Distribution.PackageDescription as PD + import qualified Distribution.Types.CondTree as C ++import qualified Distribution.Types.ModuleReexport as ModuleReexport + import Distribution.Types.PackageName (mkPackageName) + import Distribution.Types.VersionRange (withinRange) + import Distribution.System (Platform (..)) +@@ -280,7 +281,7 @@ allExposedModules gpd = do + mlibrary = snd . C.simplifyCondTree checkCond <$> PD.condLibrary gpd + pure $ case mlibrary of + Just lib -> PD.exposedModules lib ++ +- map PD.moduleReexportName (PD.reexportedModules lib) ++ map ModuleReexport.moduleReexportName (PD.reexportedModules lib) + Nothing -> mempty + + -- | The Stackage project introduced the concept of hidden packages, diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template index 9e53b95ca633..15c38039684d 100644 --- a/srcpkgs/stack/template +++ b/srcpkgs/stack/template @@ -1,8 +1,8 @@ # Template file for 'stack' pkgname=stack version=2.7.5 -revision=1 -_stackage="lts-18.14" +revision=2 +_stackage="lts-19.0" hostmakedepends="cabal-install pkg-config unzip" makedepends="zlib-devel pcre-devel" depends="git gmp-devel iana-etc" @@ -13,7 +13,7 @@ homepage="https://haskellstack.org" distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}" checksum="9ddd44c2a62e9404194d69e7dc1c94e707910620316b66d6ac0b3201a8f37e80 - 78577c091074d78f9d6e09d6e31e7fc8ac2ddbb0dbc4ac65c606adcac4957d7f" + 6b9983f6448eb825231f65fe955d6d85516f482f0d26fee84183a1a79c6b0646" skip_extraction="cabal.config-${_stackage}" nocross=yes nopie_files="/usr/bin/stack" From 9de9a979acc648b9901fbc319d5af00023176d9b Mon Sep 17 00:00:00 2001 From: slotThe Date: Sun, 20 Mar 2022 09:17:26 +0100 Subject: [PATCH 04/15] cgrep: bump for stackage lts-19.0 --- srcpkgs/cgrep/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template index e57106f3fa26..1c54fe367396 100644 --- a/srcpkgs/cgrep/template +++ b/srcpkgs/cgrep/template @@ -1,9 +1,9 @@ # Template file for 'cgrep' pkgname=cgrep version=6.7.1 -revision=2 +revision=3 build_style=haskell-stack -stackage="lts-18.15" +stackage="lts-19.0" makedepends="pcre-devel pkg-config" short_desc="Context-aware grep for source codes" maintainer="slotThe " From 39baaa9e9822341c8c1d8a90f62843a60692c679 Mon Sep 17 00:00:00 2001 From: slotThe Date: Sun, 20 Mar 2022 09:23:26 +0100 Subject: [PATCH 05/15] git-mediate: bump for stackage lts-19.0 --- srcpkgs/git-mediate/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template index 0c9ec10241e5..705df7843b8e 100644 --- a/srcpkgs/git-mediate/template +++ b/srcpkgs/git-mediate/template @@ -1,9 +1,9 @@ # Template file for 'git-mediate' pkgname=git-mediate version=1.0.8.1 -revision=2 +revision=3 build_style=haskell-stack -stackage="lts-18.14" +stackage="lts-19.0" depends="git" short_desc="Tool to help resolving git conflicts" maintainer="Peter Wang " From 47024f61e647b0f4fa02b273516755d86fda46a6 Mon Sep 17 00:00:00 2001 From: slotThe Date: Sun, 20 Mar 2022 09:51:34 +0100 Subject: [PATCH 06/15] hlint: update to 3.3.6 --- srcpkgs/hlint/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template index fd72c1bbea58..0109be25805f 100644 --- a/srcpkgs/hlint/template +++ b/srcpkgs/hlint/template @@ -1,16 +1,16 @@ # Template file for 'hlint' pkgname=hlint -version=3.2.7 -revision=2 +version=3.3.6 +revision=1 build_style=haskell-stack -stackage="lts-18.14" +stackage="lts-19.0" makedepends="ncurses-devel" short_desc="Haskell source code suggestions" maintainer="Inokentiy Babushkin " license="BSD-3-Clause" homepage="https://github.com/ndmitchell/hlint" distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz" -checksum=fcdeefcc79a52206add44b409abcab48c5fe2adff9d5aff077acbc43c702b54e +checksum=7d536c03f77a0c259efb2b00b525ef34578ca8a4a95ccb412708e8c7172e2e6a nocross=yes # Can't yet cross compile Haskell nopie_files="/usr/bin/hlint" From 9187ce00b74630b99af08af7afd8a17e6fc0fbea Mon Sep 17 00:00:00 2001 From: slotThe Date: Sun, 20 Mar 2022 11:38:44 +0100 Subject: [PATCH 07/15] pandoc: update to 2.17.1.1 + Fix compilation of `pandoc-crossref` for musl systems. + Remove the `system-lua` flag, as `pkg-config` already implies it [1]. Related: https://github.com/lierdakil/pandoc-crossref/issues/342 [1]: https://github.com/hslua/hslua/blob/main/lua/README.md?plain=1#L39-L40 --- srcpkgs/pandoc/files/pandoc-crossref.cabal | 230 +++++++++++++++++++++ srcpkgs/pandoc/template | 43 ++-- 2 files changed, 249 insertions(+), 24 deletions(-) create mode 100644 srcpkgs/pandoc/files/pandoc-crossref.cabal diff --git a/srcpkgs/pandoc/files/pandoc-crossref.cabal b/srcpkgs/pandoc/files/pandoc-crossref.cabal new file mode 100644 index 000000000000..39f2b9e7bde0 --- /dev/null +++ b/srcpkgs/pandoc/files/pandoc-crossref.cabal @@ -0,0 +1,230 @@ +cabal-version: 2.0 + +-- This file has been generated from package.yaml by hpack version 0.34.6. +-- +-- see: https://github.com/sol/hpack +-- +-- hash: 20655cd6263e9fe7e5737ee81b093c8c6f5eae67e260ddd3a821ac6ef5e35e69 + +name: pandoc-crossref +version: 0.3.13.0 +synopsis: Pandoc filter for cross-references +description: pandoc-crossref is a pandoc filter for numbering figures, equations, tables and cross-references to them. +category: Text +homepage: https://github.com/lierdakil/pandoc-crossref#readme +bug-reports: https://github.com/lierdakil/pandoc-crossref/issues +author: Nikolay Yakimov +maintainer: root@livid.pp.ru +license: GPL-2 +license-file: LICENSE +build-type: Simple +extra-source-files: + test/demo-chapters.inc + test/demo.inc + CHANGELOG.md +data-files: + docs/demo/demo.md + docs/index.md + test/m2m/chapDelim/expect.md + test/m2m/chapDelim/expect.tex + test/m2m/chapDelim/input.md + test/m2m/delim/expect.md + test/m2m/delim/expect.tex + test/m2m/delim/input.md + test/m2m/emptyChapterLabels/expect.md + test/m2m/emptyChapterLabels/expect.tex + test/m2m/emptyChapterLabels/input.md + test/m2m/eqnBlockTemplate/expect.md + test/m2m/eqnBlockTemplate/expect.tex + test/m2m/eqnBlockTemplate/input.md + test/m2m/equationNumberLaTeX/expect.md + test/m2m/equationNumberLaTeX/expect.tex + test/m2m/equationNumberLaTeX/input.md + test/m2m/equations-auto/expect.md + test/m2m/equations-auto/expect.tex + test/m2m/equations-auto/input.md + test/m2m/equations-tables-auto/expect.md + test/m2m/equations-tables-auto/expect.tex + test/m2m/equations-tables-auto/input.md + test/m2m/equations-tables/expect.md + test/m2m/equations-tables/expect.tex + test/m2m/equations-tables/input.md + test/m2m/equations/expect.md + test/m2m/equations/expect.tex + test/m2m/equations/input.md + test/m2m/label-precedence/expect.md + test/m2m/label-precedence/expect.tex + test/m2m/label-precedence/input.md + test/m2m/links-names/expect.md + test/m2m/links-names/expect.tex + test/m2m/links-names/input.md + test/m2m/links/expect.md + test/m2m/links/expect.tex + test/m2m/links/input.md + test/m2m/listing-captions-ids/expect.md + test/m2m/listing-captions-ids/expect.tex + test/m2m/listing-captions-ids/input.md + test/m2m/listings-code-block-caption-278/expect.md + test/m2m/listings-code-block-caption-278/expect.tex + test/m2m/listings-code-block-caption-278/input.md + test/m2m/multiple-eqn-same-para/expect.md + test/m2m/multiple-eqn-same-para/expect.tex + test/m2m/multiple-eqn-same-para/input.md + test/m2m/secLabels/expect.md + test/m2m/secLabels/expect.tex + test/m2m/secLabels/input.md + test/m2m/secLevelLabels/expect.md + test/m2m/secLevelLabels/expect.tex + test/m2m/secLevelLabels/input.md + test/m2m/section-template/expect.md + test/m2m/section-template/expect.tex + test/m2m/section-template/input.md + test/m2m/setLabelAttribute/expect.md + test/m2m/setLabelAttribute/expect.tex + test/m2m/setLabelAttribute/input.md + test/m2m/subfigures-ccsDelim/expect.md + test/m2m/subfigures-ccsDelim/expect.tex + test/m2m/subfigures-ccsDelim/input.md + test/m2m/subfigures-grid/expect.md + test/m2m/subfigures-grid/expect.tex + test/m2m/subfigures-grid/input.md + test/m2m/subfigures/expect.md + test/m2m/subfigures/expect.tex + test/m2m/subfigures/input.md + test/m2m/titlesInRefs/expect.md + test/m2m/titlesInRefs/expect.tex + test/m2m/titlesInRefs/input.md + +source-repository head + type: git + location: https://github.com/lierdakil/pandoc-crossref + +flag enable_flaky_tests + description: Some tests rely on specific behaviour of pandoc, which may change between minor versions. These are still useful indicators for the developer, but not necessarily indicating there's a problem with the package itself. Enable if you know what you are doing. + manual: True + default: False + +library + exposed-modules: + Text.Pandoc.CrossRef + other-modules: + Text.Pandoc.CrossRef.References + Text.Pandoc.CrossRef.References.Blocks + Text.Pandoc.CrossRef.References.List + Text.Pandoc.CrossRef.References.Refs + Text.Pandoc.CrossRef.References.Types + Text.Pandoc.CrossRef.Util.CodeBlockCaptions + Text.Pandoc.CrossRef.Util.CustomLabels + Text.Pandoc.CrossRef.Util.Meta + Text.Pandoc.CrossRef.Util.ModifyMeta + Text.Pandoc.CrossRef.Util.Options + Text.Pandoc.CrossRef.Util.Settings + Text.Pandoc.CrossRef.Util.Settings.Gen + Text.Pandoc.CrossRef.Util.Settings.Template + Text.Pandoc.CrossRef.Util.Template + Text.Pandoc.CrossRef.Util.Util + hs-source-dirs: + lib + lib-internal + ghc-options: -Wall + build-depends: + base >=4.11 && <5 + , containers >=0.1 && <0.7 + , data-default >=0.4 && <0.8 + , directory >=1 && <1.4 + , filepath >=1.1 && <1.5 + , microlens >=0.4.12.0 && <0.5.0.0 + , microlens-mtl >=0.2.0.1 && <0.3.0.0 + , microlens-th >=0.4.3.10 && <0.5.0.0 + , mtl >=1.1 && <2.3 + , pandoc >=2.10 && <2.18 + , pandoc-types >=1.21 && <1.23 + , roman-numerals ==0.5.* + , syb >=0.4 && <0.8 + , template-haskell >=2.7.0.0 && <3.0.0.0 + , text >=1.2.2 && <1.3 + , utility-ht >=0.0.11 && <0.1.0 + default-language: Haskell2010 + +executable pandoc-crossref + main-is: pandoc-crossref.hs + other-modules: + ManData + hs-source-dirs: + src + ghc-options: -Wall -threaded + build-depends: + base >=4.11 && <5 + , deepseq ==1.4.* + , gitrev >=1.3.1 && <1.4 + , open-browser ==0.2.* + , optparse-applicative >=0.13 && <0.17 + , pandoc >=2.10 && <2.18 + , pandoc-crossref + , pandoc-types >=1.21 && <1.23 + , template-haskell >=2.7.0.0 && <3.0.0.0 + , temporary >=1.2 && <1.4 + , text >=1.2.2 && <1.3 + default-language: Haskell2010 + +test-suite test-integrative + type: exitcode-stdio-1.0 + main-is: test-integrative.hs + hs-source-dirs: + test + ghc-options: -Wall -fno-warn-unused-do-bind -threaded + build-depends: + base >=4.11 && <5 + , directory >=1 && <1.4 + , filepath >=1.1 && <1.5 + , hspec >=2.4.4 && <3 + , pandoc >=2.10 && <2.18 + , pandoc-crossref + , pandoc-types >=1.21 && <1.23 + , text >=1.2.2 && <1.3 + if flag(enable_flaky_tests) + cpp-options: -DFLAKY + default-language: Haskell2010 + +test-suite test-pandoc-crossref + type: exitcode-stdio-1.0 + main-is: test-pandoc-crossref.hs + other-modules: + Native + Paths_pandoc_crossref + autogen-modules: + Paths_pandoc_crossref + hs-source-dirs: + test + ghc-options: -Wall -fno-warn-unused-do-bind -threaded + build-depends: + base >=4.11 && <5 + , containers >=0.1 && <0.7 + , data-default >=0.4 && <0.8 + , hspec >=2.4.4 && <3 + , microlens >=0.4.12.0 && <0.5.0.0 + , mtl >=1.1 && <2.3 + , pandoc >=2.10 && <2.18 + , pandoc-crossref + , pandoc-types >=1.21 && <1.23 + , text >=1.2.2 && <1.3 + if flag(enable_flaky_tests) + cpp-options: -DFLAKY + default-language: Haskell2010 + +benchmark simple + type: exitcode-stdio-1.0 + main-is: bench-simple.hs + other-modules: + Native + hs-source-dirs: + test + ghc-options: -Wall -fno-warn-unused-do-bind -threaded + build-depends: + base >=4.11 && <5 + , criterion >=1.5.9.0 && <1.6 + , pandoc >=2.10 && <2.18 + , pandoc-crossref + , pandoc-types >=1.21 && <1.23 + , text >=1.2.2 && <1.3 + default-language: Haskell2010 diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template index 8628b1d1f3c2..9bdf32ef3c53 100644 --- a/srcpkgs/pandoc/template +++ b/srcpkgs/pandoc/template @@ -1,18 +1,18 @@ # Template file for 'pandoc' pkgname=pandoc # Keep in sync with http://www.stackage.org/lts -version=2.14.0.3 -revision=3 -_sidenote_version=0.20.0.0 +version=2.17.1.1 +revision=1 +_sidenote_version=0.22.1.0 _monad_gen_version=0.3.0.1 _crossref_version=0.3.12.2 _roman_numerals_version=0.5.1.5 create_wrksrc=yes build_style=haskell-stack -stackage="lts-18.14" +stackage="lts-19.0" make_build_args=" - --flag pandoc:embed_data_files --flag=hslua:system-lua - --flag=hslua:pkg-config" + --flag pandoc:embed_data_files + --flag=lua:pkg-config" hostmakedepends="pkg-config unzip wget" makedepends="zlib-devel lua53-devel tar" short_desc="Universal converter between markup formats" @@ -21,33 +21,28 @@ license="GPL-2.0-or-later, BSD-3-Clause" homepage="http://johnmacfarlane.net/pandoc/" distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz https://hackage.haskell.org/package/${pkgname}-sidenote-${_sidenote_version}/${pkgname}-sidenote-${_sidenote_version}.tar.gz - https://hackage.haskell.org/package/monad-gen-${_monad_gen_version}/monad-gen-${_monad_gen_version}.tar.gz" -checksum="82e3f55bff3059bf30cf532e93d9876c9e3599aa4eafae9c907fe75a4430eddd - 91f8e96d8470722d677d31d4bbf16c2ac6902567d818ed7a2715bad2617a4cdb - be8485023fce236b5b915f2f6074f7b0470a2040f84cdd137c5227f1b4c98465" -subpackages="pandoc-sidenote" -nocross=yes -nopie_files=" - /usr/bin/pandoc - /usr/bin/pandoc-sidenote" - -# pandoc-crossref is currently broken on musl. See lierdakil/pandoc-crossref#342 and commercialhaskell/stack#5683 -if [ "$XBPS_TARGET_LIBC" != "musl" ]; then - distfiles+=" + https://hackage.haskell.org/package/monad-gen-${_monad_gen_version}/monad-gen-${_monad_gen_version}.tar.gz https://hackage.haskell.org/package/${pkgname}-crossref-${_crossref_version}/${pkgname}-crossref-${_crossref_version}.tar.gz https://hackage.haskell.org/package/roman-numerals-${_roman_numerals_version}/roman-numerals-${_roman_numerals_version}.tar.gz" - checksum+=" +checksum="649ec528d1413130c5ce304b826ff473b3696269eea8834d908589e775bd1ad1 + c39dd7343b9cb4dc5b1c91c9e47c3d357874e9e1a30b8d377bbea0b1d50323b2 + be8485023fce236b5b915f2f6074f7b0470a2040f84cdd137c5227f1b4c98465 94540325c9c98ae4d5199c634bf402ffa41e3c5b020d7207daef90fd9e224fb4 b9c7195b69b1662a286d2c28a55fafdcb693c522ba5eb54a11b1d0a4e92eaa81" - nopie_files+=" - /usr/bin/pandoc-crossref" - subpackages+=" +subpackages=" + pandoc-sidenote pandoc-crossref" -fi +nocross=yes +nopie_files=" + /usr/bin/pandoc + /usr/bin/pandoc-sidenote + /usr/bin/pandoc-crossref" post_extract() { sed -i 's/tasty .*,/tasty,/' pandoc-*/pandoc.cabal sed -i 's/zip-archive .*,/zip-archive,/' pandoc-*/pandoc.cabal + # See https://github.com/lierdakil/pandoc-crossref/issues/342#issuecomment-1073256586 + cp "${FILESDIR}/pandoc-crossref.cabal" pandoc-crossref-${_crossref_version} } post_install() { From 96ca211c88712bf81839c41232703ec4fb89208e Mon Sep 17 00:00:00 2001 From: slotThe Date: Sun, 20 Mar 2022 12:15:01 +0100 Subject: [PATCH 08/15] shellcheck: bump for stackage lts-19.0 --- srcpkgs/shellcheck/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template index 70eee6c2854b..903d703488d6 100644 --- a/srcpkgs/shellcheck/template +++ b/srcpkgs/shellcheck/template @@ -1,9 +1,9 @@ # Template file for 'shellcheck' pkgname=shellcheck version=0.8.0 -revision=2 +revision=3 build_style=haskell-stack -stackage="lts-18.14" +stackage="lts-19.0" hostmakedepends="pandoc" short_desc="Static analysis tool for shell scripts" maintainer="Diogo Leal " From d7c5bd5bc2bf3506928f1ec886dfdd3fb90799b9 Mon Sep 17 00:00:00 2001 From: slotThe Date: Sun, 20 Mar 2022 12:52:11 +0100 Subject: [PATCH 09/15] hoogle: update to 5.0.18.3 --- srcpkgs/hoogle/template | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template index 4c3e80186494..dc487cab4017 100644 --- a/srcpkgs/hoogle/template +++ b/srcpkgs/hoogle/template @@ -1,16 +1,16 @@ # Template file for 'hoogle' pkgname=hoogle -version=5.0.18.2 -revision=2 +version=5.0.18.3 +revision=1 build_style=haskell-stack -stackage="lts-18.14" +stackage="lts-19.0" makedepends="zlib-devel" short_desc="Haskell API search engine" maintainer="Inokentiy Babushkin " license="BSD-3-Clause" homepage="https://hoogle.haskell.org/" distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz" -checksum=9f8f0afde52fe602100ab7828fad230c2f5e94050dda9fe1e2a9f0a93f7fe617 +checksum=a2765fcbaf99fe67a64ef29fe50e69fb380cce07807cddeb0836c148b1ae472b nopie_files="/usr/bin/hoogle" nocross=yes # Can't yet cross compile Haskell From 3cc03d6b11b7f6ef4e6a8b8805cf4ee979b4badc Mon Sep 17 00:00:00 2001 From: slotThe Date: Sun, 20 Mar 2022 13:33:12 +0100 Subject: [PATCH 10/15] xmobar: update to 0.42 Also enable most flags during compilation in order to be less surprising with regards to what features xmobar supports out of the box. --- srcpkgs/xmobar/files/stack.yaml | 2 +- srcpkgs/xmobar/template | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml index 47544eb729d8..7e0956374142 100644 --- a/srcpkgs/xmobar/files/stack.yaml +++ b/srcpkgs/xmobar/files/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-18.13 +resolver: lts-19.0 packages: - . extra-deps: diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template index b97c9f268d68..6a12a9ed7055 100644 --- a/srcpkgs/xmobar/template +++ b/srcpkgs/xmobar/template @@ -1,7 +1,7 @@ # Template file for 'xmobar' pkgname=xmobar -version=0.39 -revision=2 +version=0.42 +revision=1 build_style=haskell-stack hostmakedepends="pkg-config" makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel @@ -15,10 +15,10 @@ maintainer="xaltsc " license="BSD-3-Clause" homepage="https://xmobar.org" distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz" -checksum=46f37b90dd3ba3348dbe7de716b88606c7f0f0dd22a3580176b5cd089c1b36cc +checksum=53f4a06d79c3db32ef1a498ec7b764b17d03ebf9bca3126c6b8259595492769b build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone xpm uvmeter weather nl80211" -build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm" +build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm alsa mpris mpd dbus" nopie_files="/usr/bin/xmobar" nocross=yes vopt_hflag() { From d9425e49584c01d9b19fb4231d327bb36a5b15f7 Mon Sep 17 00:00:00 2001 From: slotThe Date: Sun, 20 Mar 2022 18:09:34 +0100 Subject: [PATCH 11/15] hledger: update to 1.25 --- srcpkgs/hledger/template | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template index fdcab180a6de..32d39207fd82 100644 --- a/srcpkgs/hledger/template +++ b/srcpkgs/hledger/template @@ -1,8 +1,9 @@ # Template file for 'hledger' pkgname=hledger -version=1.23 -revision=2 +version=1.25 +revision=1 build_style=haskell-stack +stackage="lts-19.0" makedepends="zlib-devel ncurses-devel" short_desc="Simple, precise, plain text accounting" maintainer="Inokentiy Babushkin " @@ -10,7 +11,7 @@ license="GPL-3.0-or-later" homepage="https://hledger.org/" changelog="https://hackage.haskell.org/package/hledger-${version}/changelog" distfiles="https://github.com/simonmichael/${pkgname}/archive/${version}.tar.gz" -checksum=7252d78aafbae488b113a6350518a702186cacc4e746cec2b31f8321b4dddcb4 +checksum=4c947c2a7d243d2a56efc1fa02994a118e995df025a412f6d2daeadfd78338ee nopie_files="/usr/bin/hledger" nocross=yes # Can't yet cross compile Haskell From 54d9f8a086bfbb6efd1ffe6d3d8fb8a4666882fe Mon Sep 17 00:00:00 2001 From: slotThe Date: Mon, 21 Mar 2022 08:19:29 +0100 Subject: [PATCH 12/15] haskell-language-server: update to 1.6.1.0 --- srcpkgs/haskell-language-server/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/haskell-language-server/template b/srcpkgs/haskell-language-server/template index 0182c9b95757..0c7b2187c5ca 100644 --- a/srcpkgs/haskell-language-server/template +++ b/srcpkgs/haskell-language-server/template @@ -1,16 +1,16 @@ # Template file for 'haskell-language-server' pkgname=haskell-language-server -version=1.4.0 +version=1.6.1.0 revision=1 build_style="haskell-stack" -make_build_args="--stack-yaml stack-8.10.7.yaml" +make_build_args="--stack-yaml stack-9.0.2.yaml" makedepends="ncurses-devel ncurses-libtinfo-devel icu-devel zlib-devel" short_desc="Integration of ghcide and haskell-ide-engine" maintainer="Wayne Van Son " license="Apache-2.0" homepage="https://github.com/haskell/haskell-language-server" distfiles="https://github.com/haskell/haskell-language-server/archive/${version}.tar.gz" -checksum=c5d7dbf7fae9aa3ed2c1184b49e82d8ac623ca786494ef6602cfe11735d28db0 +checksum=e5c336ad2de8d021c882cdac5bbc26bf6427df8d2a5bd244c05cf18296a9bfdc nopie_files=" /usr/bin/haskell-language-server /usr/bin/haskell-language-server-wrapper From 4e351532feef4a3a0694a2d9f63e0ba7c2f59acc Mon Sep 17 00:00:00 2001 From: slotThe Date: Mon, 21 Mar 2022 15:48:58 +0100 Subject: [PATCH 13/15] git-annex: update to 10.20220222 --- srcpkgs/git-annex/template | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template index 1cf2ab14789f..7b788bc5861e 100644 --- a/srcpkgs/git-annex/template +++ b/srcpkgs/git-annex/template @@ -1,8 +1,9 @@ # Template file for 'git-annex' pkgname=git-annex -version=8.20211028 +version=10.20220222 revision=1 build_style=haskell-stack +stackage="lts-19.0" makedepends="curl file-devel gnupg2 gnutls-devel gsasl-devel libxml2-devel lsof rsync git ncurses-devel" # depends are utilities required by git-annex @@ -12,7 +13,7 @@ maintainer="Evan Deaubl " license="AGPL-3.0-or-later, MIT, BSD-2-Clause, GPL-3.0-or-later, custom:Expat, custom:MIT-twitter, GPL-2.0-only, custom:icon-license" homepage="http://git-annex.branchable.com" distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz" -checksum=cf5efe15e68d467daad673bec10037a27a78da7e4af9b4a85e10980bd90ace2d +checksum=1fb9f75a83feb16f7515122135c0f3abe6aa77544d8d778792296cbc053d2c85 nopie_files="/usr/bin/git-annex" nocross=yes From 494f48fa47ee1ae65e04b3d9922661558b1fe1cb Mon Sep 17 00:00:00 2001 From: slotThe Date: Wed, 23 Mar 2022 09:14:58 +0100 Subject: [PATCH 14/15] darcs: bump for stackage lts-19.0 --- srcpkgs/darcs/files/stack.yaml | 7 ++----- srcpkgs/darcs/template | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml index 5ae0f5313b8d..6e459703764a 100644 --- a/srcpkgs/darcs/files/stack.yaml +++ b/srcpkgs/darcs/files/stack.yaml @@ -1,7 +1,4 @@ -resolver: lts-18.14 +resolver: lts-19.0 packages: - . -extra-deps: -- graphviz-2999.20.1.0 -- constraints-0.12@sha256:7edf1e72a92d0a6761da634f08be9123dfcc0dcec11c269cbf465a09721c3481,2322 -- cryptonite-0.27@sha256:c3a9c8ce11e654a9d5bee827b089d4b50587272828d0c52a85362a58667a916c,18163 +allow-newer: true diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template index f9fcac534d46..15a8f71f9021 100644 --- a/srcpkgs/darcs/template +++ b/srcpkgs/darcs/template @@ -1,7 +1,7 @@ # Template file for 'darcs' pkgname=darcs version=2.16.5 -revision=2 +revision=3 build_style=haskell-stack hostmakedepends="unzip" makedepends="zlib-devel libcurl-devel ncurses-devel" From 5682e07e9189b3888f876337db37ede1c5ea42c3 Mon Sep 17 00:00:00 2001 From: slotThe Date: Thu, 24 Mar 2022 11:50:45 +0100 Subject: [PATCH 15/15] debug-me: bump for stackage lts-19.0 --- srcpkgs/debug-me/files/stack.yaml | 8 +++----- srcpkgs/debug-me/patches/ghc8.10.4.patch | 11 ----------- srcpkgs/debug-me/template | 2 +- 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml index ad8b055bb33e..4363ebc5e4f9 100644 --- a/srcpkgs/debug-me/files/stack.yaml +++ b/srcpkgs/debug-me/files/stack.yaml @@ -1,8 +1,6 @@ packages: - '.' -resolver: lts-18.14 +resolver: lts-19.0 extra-deps: -- posix-pty-0.2.1.1 -- graphviz-2999.20.1.0 -- sandi-0.5 -- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048 + - posix-pty-0.2.2@sha256:dd777df258b3b95fe01612c1204cde972ad1323c3289591ecc844ecb29e55e2b,1826 + - sandi-0.5@sha256:b278d072ca717706ea38f9bd646e023f7f2576a778fb43565b434f93638849aa,3010 diff --git a/srcpkgs/debug-me/patches/ghc8.10.4.patch b/srcpkgs/debug-me/patches/ghc8.10.4.patch index bfcff16a4438..dc9be027822f 100644 --- a/srcpkgs/debug-me/patches/ghc8.10.4.patch +++ b/srcpkgs/debug-me/patches/ghc8.10.4.patch @@ -20,14 +20,3 @@ defaultSettings checkEnv :: ServerOpts -> IO ServerOpts ---- a/debug-me.cabal -+++ b/debug-me.cabal -@@ -64,7 +64,7 @@ - , stm-chans (>= 3.0) - , posix-pty (>= 0.2.1) - , terminal-size (>= 0.3) -- , aeson (>= 0.11 && < 1.5) -+ , aeson (>= 0.11 && < 1.6) - , sandi (>= 0.4) - , text (>= 1.2.2) - , optparse-applicative (>= 0.12) diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template index 86ac0037311a..298b38de58cd 100644 --- a/srcpkgs/debug-me/template +++ b/srcpkgs/debug-me/template @@ -1,7 +1,7 @@ # Template file for 'debug-me' pkgname=debug-me version=1.20200820 -revision=3 +revision=4 build_style=haskell-stack makedepends="zlib-devel" short_desc="Secure remote debugging"