From 72eb2785d19f85f6719819475c9ae6076859e9e6 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Thu, 17 Nov 2022 12:47:46 +0100 Subject: [PATCH 01/20] ghc: update to 9.2.5 + Adjust ppc64-be-elfv2.patch * The libraries/ghci/GHCi/InfoTable.hsc bit seems to have been merged, hence delete it. * Adjust for changes in fptools and configure. * Delete now out-of-date TOC. --- srcpkgs/ghc/patches/ppc64-be-elfv2.patch | 105 +++++------------------ srcpkgs/ghc/template | 6 +- 2 files changed, 23 insertions(+), 88 deletions(-) diff --git a/srcpkgs/ghc/patches/ppc64-be-elfv2.patch b/srcpkgs/ghc/patches/ppc64-be-elfv2.patch index df1a0bfe15ba..5fa356be700e 100644 --- a/srcpkgs/ghc/patches/ppc64-be-elfv2.patch +++ b/srcpkgs/ghc/patches/ppc64-be-elfv2.patch @@ -3,100 +3,36 @@ From: q66 Date: Thu, 28 Apr 2022 00:48:04 +0200 Subject: [PATCH] fix up runtime for ppc64 BE ELFv2 + ensure it's used ---- - configure | 2 +- - libraries/ghci/GHCi/InfoTable.hsc | 36 ++++++++++++------------------- - m4/fptools.m4 | 2 +- - rts/AdjustorAsm.S | 2 +- - rts/StgCRun.c | 4 ++-- - rts/StgCRunAsm.S | 2 +- - rts/adjustor/NativeIA64.c | 2 +- - rts/adjustor/NativePowerPC.c | 2 +- - 8 files changed, 22 insertions(+), 30 deletions(-) - -diff --git a/configure b/configure -index 8310e6f..eac1124 100755 --- a/configure +++ b/configure -@@ -10508,7 +10508,7 @@ printf "%s\n" "no" >&6; } +@@ -10871,7 +10871,7 @@ test -z "$2" || eval "$2=ArchPPC" ;; powerpc64) -- test -z "$2" || eval "$2=\"ArchPPC_64 {ppc_64ABI = ELF_V1}\"" -+ test -z "$2" || eval "$2=\"ArchPPC_64 {ppc_64ABI = ELF_V2}\"" +- test -z "$2" || eval "$2=\"ArchPPC_64 ELF_V1\"" ++ test -z "$2" || eval "$2=\"ArchPPC_64 ELF_V2\"" ;; 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 ad4eb4d..e4f1c0c 100644 ---- a/libraries/ghci/GHCi/InfoTable.hsc -+++ b/libraries/ghci/GHCi/InfoTable.hsc -@@ -231,30 +231,22 @@ mkJumpToAddr' platform a = case platform of - , fromIntegral w64 - , fromIntegral (w64 `shiftR` 32) ] - ArchPPC64 -> -- -- We use the compiler's register r12 to read the function -- -- descriptor and the linker's register r11 as a temporary -- -- register to hold the function entry point. -- -- In the medium code model the function descriptor -- -- is located in the first two gigabytes, i.e. the address -- -- of the function pointer is a non-negative 32 bit number. -- -- 0x0EADBEEF stands for the address of the function pointer: -- -- 0: 3d 80 0e ad lis r12,0x0EAD -- -- 4: 61 8c be ef ori r12,r12,0xBEEF -- -- 8: e9 6c 00 00 ld r11,0(r12) -- -- c: e8 4c 00 08 ld r2,8(r12) -- -- 10: 7d 69 03 a6 mtctr r11 -- -- 14: e9 6c 00 10 ld r11,16(r12) -- -- 18: 4e 80 04 20 bctr -- let w32 = fromIntegral (funPtrToInt a) -+ -- The ABI requires r12 to point to the function's entry point. -+ -- We use the medium code model where code resides in the first -+ -- two gigabytes, so loading a non-negative32 bit address -+ -- with lis followed by ori is fine. -+ -- 0x0EADBEEF stands for the address: -+ -- 3D800EAD lis r12,0x0EAD -+ -- 618CBEEF ori r12,r12,0xBEEF -+ -- 7D8903A6 mtctr r12 -+ -- 4E800420 bctr -+ -+ let w32 = fromIntegral (funPtrToInt a) - hi16 x = (x `shiftR` 16) .&. 0xFFFF - lo16 x = x .&. 0xFFFF -- in Right [ 0x3D800000 .|. hi16 w32, -- 0x618C0000 .|. lo16 w32, -- 0xE96C0000, -- 0xE84C0008, -- 0x7D6903A6, -- 0xE96C0010, -- 0x4E800420] -+ in Right [ 0x3D800000 .|. hi16 w32, -+ 0x618C0000 .|. lo16 w32, -+ 0x7D8903A6, 0x4E800420 ] - - ArchPPC64LE -> - -- The ABI requires r12 to point to the function's entry point. -diff --git a/m4/fptools.m4 b/m4/fptools.m4 -index 8c6c9b7..eb25c37 100644 ---- a/m4/fptools.m4 -+++ b/m4/fptools.m4 -@@ -201,7 +201,7 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_VARS], + test -z "$2" || eval "$2=\"ArchPPC_64 ELF_V2\"" +--- a/m4/fptools_set_haskell_platform_vars.m4 ++++ b/m4/fptools_set_haskell_platform_vars.m4 +@@ -15,7 +15,7 @@ test -z "[$]2" || eval "[$]2=ArchPPC" ;; powerpc64) -- test -z "[$]2" || eval "[$]2=\"ArchPPC_64 {ppc_64ABI = ELF_V1}\"" -+ test -z "[$]2" || eval "[$]2=\"ArchPPC_64 {ppc_64ABI = ELF_V2}\"" +- test -z "[$]2" || eval "[$]2=\"ArchPPC_64 ELF_V1\"" ++ test -z "[$]2" || eval "[$]2=\"ArchPPC_64 ELF_V2\"" ;; powerpc64le) - test -z "[$]2" || eval "[$]2=\"ArchPPC_64 {ppc_64ABI = ELF_V2}\"" + test -z "[$]2" || eval "[$]2=\"ArchPPC_64 ELF_V2\"" 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 @@ - + /* ******************************** PowerPC ******************************** */ - + -#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)) @@ -109,21 +45,21 @@ index f43227a..927d44a 100644 @@ -724,7 +724,7 @@ StgRunIsImplementedInAssembler(void) 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) /* 64-bit PowerPC ELF ABI 1.9 * * Stack frame organization (see Figure 3-17, ELF ABI 1.9, p 14) @@ -792,7 +792,7 @@ StgRunIsImplementedInAssembler(void) - + #endif - + -#if defined(powerpc64le_HOST_ARCH) +#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 60f1bf9..c6794d7 100644 --- a/rts/StgCRunAsm.S @@ -131,7 +67,7 @@ index 60f1bf9..c6794d7 100644 @@ -5,7 +5,7 @@ * then functions StgRun/StgReturn are implemented in file StgCRun.c */ #if !defined(USE_MINIINTERPRETER) - + -#if defined(powerpc64le_HOST_ARCH) +#if defined(powerpc64le_HOST_ARCH) || (defined(powerpc64_HOST_ARCH) && (_CALL_ELF == 2)) # if defined(linux_HOST_OS) @@ -157,12 +93,11 @@ index 2e5d605..caef5d3 100644 @@ -29,7 +29,7 @@ __asm__("obscure_ccall_ret_code:\n\t" extern void obscure_ccall_ret_code(void); #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: !!! !!! --- +-- 2.35.1 - diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template index bf76202f4098..c4808339cd29 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=9.0.2 +version=9.2.5 revision=1 build_style=gnu-configure hostmakedepends="automake docbook-xsl ghc-bin libxslt libnuma-devel @@ -9,11 +9,11 @@ hostmakedepends="automake docbook-xsl ghc-bin libxslt libnuma-devel makedepends="libnuma-devel" depends="perl gcc libffi-devel gmp-devel libnuma-devel" short_desc="Glorious Haskell Compiler" -maintainer="slotThe " +maintainer="Tony Zorman " 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=140e42b96346322d1a39eb17602bcdc76e292028ad4a69286b230bab188a9197 +checksum=0606797d1b38e2d88ee2243f38ec6b9a1aa93e9b578e95f0de9a9c0a4144021c 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 3d349a8a1192747ff14dd89e54fc0f7f19a991f5 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Fri, 18 Nov 2022 14:56:06 +0100 Subject: [PATCH 02/20] cabal-install: update to 3.8.1.0. --- srcpkgs/cabal-install/files/linux-9.0.2.json | 1 - srcpkgs/cabal-install/files/linux-9.2.5.json | 1 + srcpkgs/cabal-install/template | 12 ++++++------ 3 files changed, 7 insertions(+), 7 deletions(-) delete mode 100644 srcpkgs/cabal-install/files/linux-9.0.2.json create mode 100644 srcpkgs/cabal-install/files/linux-9.2.5.json diff --git a/srcpkgs/cabal-install/files/linux-9.0.2.json b/srcpkgs/cabal-install/files/linux-9.0.2.json deleted file mode 100644 index f3cb6b4aeeb5..000000000000 --- a/srcpkgs/cabal-install/files/linux-9.0.2.json +++ /dev/null @@ -1 +0,0 @@ -{"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/files/linux-9.2.5.json b/srcpkgs/cabal-install/files/linux-9.2.5.json new file mode 100644 index 000000000000..13fe257cbb30 --- /dev/null +++ b/srcpkgs/cabal-install/files/linux-9.2.5.json @@ -0,0 +1 @@ +{"builtin":[{"package":"rts","version":"1.0.2"},{"package":"ghc-prim","version":"0.8.0"},{"package":"ghc-bignum","version":"1.2"},{"package":"base","version":"4.16.4.0"},{"package":"array","version":"0.5.4.0"},{"package":"deepseq","version":"1.4.6.1"},{"package":"ghc-boot-th","version":"9.2.5"},{"package":"pretty","version":"1.1.3.6"},{"package":"template-haskell","version":"2.18.0.0"},{"package":"bytestring","version":"0.11.3.1"},{"package":"containers","version":"0.6.5.1"},{"package":"binary","version":"0.8.9.0"},{"package":"filepath","version":"1.4.2.2"},{"package":"time","version":"1.11.1.1"},{"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":"text","version":"1.2.5.0"},{"package":"parsec","version":"3.1.15.0"},{"package":"process","version":"1.6.16.0"},{"package":"stm","version":"2.5.0.2"},{"package":"exceptions","version":"0.10.4"}],"dependencies":[{"cabal_sha256":null,"flags":[],"package":"Cabal-syntax","revision":null,"source":"local","src_sha256":null,"version":"3.8.1.0"},{"cabal_sha256":null,"flags":[],"package":"Cabal","revision":null,"source":"local","src_sha256":null,"version":"3.8.1.0"},{"cabal_sha256":"804e2574bc7e32d08cbab91e47ee6287b4df7d50851d73f9e778f94a9a7814c7","flags":["-optimised-mixer"],"package":"splitmix","revision":1,"source":"hackage","src_sha256":"6d065402394e7a9117093dbb4530a21342c9b1e2ec509516c8a8d0ffed98ecaa","version":"0.1.0.4"},{"cabal_sha256":"dea1f11e5569332dc6c8efaad1cb301016a5587b6754943a49f9de08ae0e56d9","flags":[],"package":"random","revision":0,"source":"hackage","src_sha256":"3e1272f7ed6a4d7bd1712b90143ec326fee9b225789222379fea20a9c90c9b76","version":"1.2.1.1"},{"cabal_sha256":"50b2f002c68fe67730ee7a3cd8607486197dd99b084255005ad51ecd6970a41b","flags":["+containers","+integer-gmp","-random-initial-seed"],"package":"hashable","revision":0,"source":"hackage","src_sha256":"e1b305c280e66ad827edeaedd6933b9fc4174f626882877eab2a08344e665e87","version":"1.4.1.0"},{"cabal_sha256":"2b9409023536823233ce3134558565d01b3382e651fa54ac8cb8a99967e023c9","flags":["-bench"],"package":"async","revision":2,"source":"hackage","src_sha256":"484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725","version":"2.2.4"},{"cabal_sha256":"bc14969ea4adfec6eee20264decf4a07c4002b38b2aa802d58d86b1a2cf7b895","flags":["-old-bytestring","-old-time"],"package":"tar","revision":5,"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":"6ca77c4e80b4e4109e30549c269631a9cc295c8fc2431ce4123972a5f80f7bfc","flags":[],"package":"th-compat","revision":0,"source":"hackage","src_sha256":"d8f97ac14ab47b6b8a7b0fdb4ff95426322ec56badd01652ac15da4a44d4bab8","version":"0.1.4"},{"cabal_sha256":"a4765164ed0a2d1668446eb2e03460ce98645fbf083598c690846af79b7de10d","flags":[],"package":"network-uri","revision":0,"source":"hackage","src_sha256":"57856db93608a4d419f681b881c9b8d4448800d5a687587dc37e8a9e0b223584","version":"2.6.4.1"},{"cabal_sha256":"b878d575c470bd1f72d37af6654d924ab2b9489d88de8a71bd74d9d5d726c013","flags":["-conduit10","+network-uri","-warn-as-error","-warp-tests"],"package":"HTTP","revision":1,"source":"hackage","src_sha256":"df31d8efec775124dab856d7177ddcba31be9f9e0836ebdab03d94392f2dd453","version":"4000.4.1"},{"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":"4d33a49cd383d50af090f1b888642d10116e43809f9da6023d9fc6f67d2656ee","flags":[],"package":"edit-distance","revision":1,"source":"hackage","src_sha256":"3e8885ee2f56ad4da940f043ae8f981ee2fe336b5e8e4ba3f7436cff4f526c4a","version":"0.2.2.1"},{"cabal_sha256":null,"flags":["-debug-conflict-sets","-debug-expensive-assertions","-debug-tracetree"],"package":"cabal-install-solver","revision":null,"source":"local","src_sha256":null,"version":"3.8.1.0"},{"cabal_sha256":"facd0c04925ef925ec05243471fd16055229fdf51f64db1a1049de0cc6c6dfc3","flags":["-exe","+use-cbits"],"package":"cryptohash-sha256","revision":1,"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":"885c9e2410e5d91a08b199897df0867fecedf818216d7329a2d43a512833dd63","flags":["+no-donna","+test-doctests","+test-hlint","+test-properties"],"package":"ed25519","revision":6,"source":"hackage","src_sha256":"d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d","version":"0.0.5.0"},{"cabal_sha256":"efd4c08c4df1ac3f423858a834c0e3b5b4909febda66a901d12a8e1d57bddaa8","flags":["+ofd-locking"],"package":"lukko","revision":3,"source":"hackage","src_sha256":"a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f","version":"0.1.1.3"},{"cabal_sha256":"8214a9d37580f17f8b675109578a5dbe6853559eef156e34dc2233f1123ace33","flags":["-bundled-c-zlib","-non-blocking-ffi","-pkg-config"],"package":"zlib","revision":0,"source":"hackage","src_sha256":"9eaa989ad4534438b5beb51c1d3a4c8f6a088fdff0b259a5394fbf39aaee04da","version":"0.6.3.0"},{"cabal_sha256":"1a6cf81a4871559ef5bc47b230278b9ad4bf44f1e4dbf77bdc8e07f6e7b8d005","flags":["+base48","+cabal-syntax","+lukko","-mtl21","-old-directory","+use-network-uri"],"package":"hackage-security","revision":1,"source":"hackage","src_sha256":"a833a31610220506557e96fb6e3e8b05a2e1db8e7ebc06e91bbb699ddde0b276","version":"0.6.2.2"},{"cabal_sha256":"4ff4425c710cddf440dfbac6cd52310bb6b23e17902390ff71c9fc7eaafc4fcc","flags":[],"package":"regex-base","revision":1,"source":"hackage","src_sha256":"7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1","version":"0.94.0.2"},{"cabal_sha256":"9dbba4b65a3bb6975d9740814be5593c6b2d2d6a0b3febc8ec940edb9a9bbdf4","flags":["-_regex-posix-clib"],"package":"regex-posix","revision":1,"source":"hackage","src_sha256":"c7827c391919227711e1cff0a762b1678fd8739f9c902fc183041ff34f59259c","version":"0.96.0.1"},{"cabal_sha256":"61e2d98ff634b8b4b3db467772420c0f9c79c2da9ddf3d2daeb2af2417f2c535","flags":[],"package":"resolv","revision":5,"source":"hackage","src_sha256":"81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671","version":"0.1.2.0"},{"cabal_sha256":"6e9b1b233af80cc0aa17ea858d2641ba146fb11cbcc5970a52649e89d77282e2","flags":[],"package":"safe-exceptions","revision":0,"source":"hackage","src_sha256":"91ce28d8f8a6efd31788d4827ed5cdcb9a546ad4053a86c56f7947c66a30b5bf","version":"0.1.7.3"},{"cabal_sha256":null,"flags":["+lukko","+native-dns"],"package":"cabal-install","revision":null,"source":"local","src_sha256":null,"version":"3.8.1.0"}]} \ No newline at end of file diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template index b3ebc1bb15b9..9f9bd3afe8a2 100644 --- a/srcpkgs/cabal-install/template +++ b/srcpkgs/cabal-install/template @@ -1,7 +1,7 @@ # Template file for 'cabal-install' pkgname=cabal-install -version=3.6.3.0 -revision=2 +version=3.8.1.0 +revision=1 hostmakedepends="ghc curl tar which" makedepends="gmp-devel libffi-devel zlib-devel python3" depends="ghc" @@ -10,24 +10,24 @@ 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=dea086acad6d9fe5fe22d838b95b4e988022e8519f38d41609119ea32bfb7466 +checksum=d4eff9c1fcc5212360afac8d97da83b3aff79365490a449e9c47d3988c14b6bc nopie_files="/usr/bin/cabal" nocross=yes post_extract() { - cp "${FILESDIR}/linux-9.0.2.json" bootstrap/ + cp "${FILESDIR}/linux-9.2.5.json" bootstrap/ } 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-9.0.2.json ;; + vsed -i -e 's/+ofd-locking/-ofd-locking/' bootstrap/linux-9.2.5.json ;; esac } do_build() { - PREFIX=$PWD bootstrap/bootstrap.py -d bootstrap/linux-9.0.2.json + PREFIX=$PWD bootstrap/bootstrap.py -d bootstrap/linux-9.2.5.json } do_install() { vbin _build/bin/cabal From bfcde1a6bcb96b4aeb73a1b115d301425f323814 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Mon, 21 Nov 2022 18:38:18 +0100 Subject: [PATCH 03/20] stack: update to 2.9.3 + Remove most outdated patches concerning version bounds and compatibility with GHC 9.0.2. + Adjust ppc patch. + New showStackVersion patch to build with GHC 9.2.5. --- srcpkgs/stack/patches/aeson.patch | 46 ---- srcpkgs/stack/patches/fsnotify.patch | 16 -- srcpkgs/stack/patches/ghc9.0.2.patch | 212 ------------------- srcpkgs/stack/patches/persistent.patch | 46 ---- srcpkgs/stack/patches/ppc.patch | 3 +- srcpkgs/stack/patches/showStackVersion.patch | 10 + srcpkgs/stack/template | 10 +- 7 files changed, 16 insertions(+), 327 deletions(-) delete mode 100644 srcpkgs/stack/patches/aeson.patch delete mode 100644 srcpkgs/stack/patches/fsnotify.patch delete mode 100644 srcpkgs/stack/patches/ghc9.0.2.patch delete mode 100644 srcpkgs/stack/patches/persistent.patch create mode 100644 srcpkgs/stack/patches/showStackVersion.patch diff --git a/srcpkgs/stack/patches/aeson.patch b/srcpkgs/stack/patches/aeson.patch deleted file mode 100644 index 68f267c30cc8..000000000000 --- a/srcpkgs/stack/patches/aeson.patch +++ /dev/null @@ -1,46 +0,0 @@ -commit 09e233ed73aa3335642f97c080ef27e42047c527 -Author: q66 -Date: Fri Mar 11 04:37:15 2022 +0100 - - constrain aeson to prevent build failures - -diff --git a/stack.cabal b/stack.cabal -index dba5bf0..0195f2c 100644 ---- a/stack.cabal -+++ b/stack.cabal -@@ -231,7 +231,7 @@ library - - build-depends: - Cabal >=3.2.1.0, -- aeson >=1.5.6.0, -+ aeson >=1.5.6.0 && <1.6, - annotated-wl-pprint >=0.7.0, - ansi-terminal >=0.10.3, - array >=0.5.4.0, -@@ -357,7 +357,7 @@ executable stack - - build-depends: - Cabal >=3.2.1.0, -- aeson >=1.5.6.0, -+ aeson >=1.5.6.0 && <1.6, - annotated-wl-pprint >=0.7.0, - ansi-terminal >=0.10.3, - array >=0.5.4.0, -@@ -485,7 +485,7 @@ executable stack-integration-test - - build-depends: - Cabal >=3.2.1.0, -- aeson >=1.5.6.0, -+ aeson >=1.5.6.0 && <1.6, - annotated-wl-pprint >=0.7.0, - ansi-terminal >=0.10.3, - array >=0.5.4.0, -@@ -621,7 +621,7 @@ test-suite stack-test - build-depends: - Cabal >=3.2.1.0, - QuickCheck >=2.14.2, -- aeson >=1.5.6.0, -+ aeson >=1.5.6.0 && <1.6, - annotated-wl-pprint >=0.7.0, - ansi-terminal >=0.10.3, - array >=0.5.4.0, diff --git a/srcpkgs/stack/patches/fsnotify.patch b/srcpkgs/stack/patches/fsnotify.patch deleted file mode 100644 index f82fd8f73004..000000000000 --- a/srcpkgs/stack/patches/fsnotify.patch +++ /dev/null @@ -1,16 +0,0 @@ -src/Stack/FileWatch.hs:29:49: error: Not in scope: ‘confUsePolling’ - | -29 | fileWatchPoll = fileWatchConf $ defaultConfig { confUsePolling = True } - | ^^^^^^^^^^^^^^ - ---- a/stack.cabal -+++ b/stack.cabal -@@ -256,7 +256,7 @@ library - file-embed >=0.0.14.0, - filelock >=0.1.1.5, - filepath >=1.4.2.1, -- fsnotify >=0.3.0.1, -+ fsnotify >=0.3.0.1 && <0.4.0.0, - generic-deriving >=1.13.1, - hackage-security >=0.6.0.1, - hashable >=1.3.0.0, diff --git a/srcpkgs/stack/patches/ghc9.0.2.patch b/srcpkgs/stack/patches/ghc9.0.2.patch deleted file mode 100644 index bdd77de58c6b..000000000000 --- a/srcpkgs/stack/patches/ghc9.0.2.patch +++ /dev/null @@ -1,212 +0,0 @@ -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/patches/persistent.patch b/srcpkgs/stack/patches/persistent.patch deleted file mode 100644 index cf462d7b80c2..000000000000 --- a/srcpkgs/stack/patches/persistent.patch +++ /dev/null @@ -1,46 +0,0 @@ -commit 188d7ece06ee06ed6ccaf0df0c46285bd43898f4 -Author: q66 -Date: Thu Apr 28 05:02:09 2022 +0200 - - constrain persistent to fix build - -diff --git a/stack.cabal b/stack.cabal -index dba5bf0..e221321 100644 ---- a/stack.cabal -+++ b/stack.cabal -@@ -281,7 +281,7 @@ library - pantry >=0.5.3, - path >=0.7.0, - path-io >=1.6.3, -- persistent >=2.11.0.4, -+ persistent >=2.11.0.4 && <2.14.0.0, - persistent-sqlite >=2.11.1.0, - persistent-template >=2.9.1.0, - pretty >=1.1.3.6, -@@ -407,7 +407,7 @@ executable stack - pantry >=0.5.3, - path >=0.7.0, - path-io >=1.6.3, -- persistent >=2.11.0.4, -+ persistent >=2.11.0.4 && <2.14.0.0, - persistent-sqlite >=2.11.1.0, - persistent-template >=2.9.1.0, - pretty >=1.1.3.6, -@@ -537,7 +537,7 @@ executable stack-integration-test - pantry >=0.5.3, - path >=0.7.0, - path-io >=1.6.3, -- persistent >=2.11.0.4, -+ persistent >=2.11.0.4 && <2.14.0.0, - persistent-sqlite >=2.11.1.0, - persistent-template >=2.9.1.0, - pretty >=1.1.3.6, -@@ -672,7 +672,7 @@ test-suite stack-test - pantry >=0.5.3, - path >=0.7.0, - path-io >=1.6.3, -- persistent >=2.11.0.4, -+ persistent >=2.11.0.4 && <2.14.0.0, - persistent-sqlite >=2.11.1.0, - persistent-template >=2.9.1.0, - pretty >=1.1.3.6, diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch index fc4c540f0f92..4ab025e7663c 100644 --- a/srcpkgs/stack/patches/ppc.patch +++ b/srcpkgs/stack/patches/ppc.patch @@ -22,11 +22,10 @@ --- a/stack.cabal +++ b/stack.cabal -@@ -246,6 +246,7 @@ +@@ -246,4 +246,5 @@ conduit >=1.3.4.1, conduit-extra >=1.3.5, containers >=0.6.2.1, + cpu >=0.1.2, cryptonite >=0.27, cryptonite-conduit >=0.2.2, - deepseq >=1.4.4.0, diff --git a/srcpkgs/stack/patches/showStackVersion.patch b/srcpkgs/stack/patches/showStackVersion.patch new file mode 100644 index 000000000000..454e0c6dfe53 --- /dev/null +++ b/srcpkgs/stack/patches/showStackVersion.patch @@ -0,0 +1,10 @@ +--- a/src/main/BuildInfo.hs ++++ b/src/main/BuildInfo.hs +@@ -32,5 +32,6 @@ + #endif + import Stack.Prelude + import qualified Paths_stack as Meta ++import Stack.Types.Version (showStackVersion) + + versionString' :: String + #ifdef USE_GIT_INFO diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template index b6c1f1578ed9..c76f90ff89ed 100644 --- a/srcpkgs/stack/template +++ b/srcpkgs/stack/template @@ -1,8 +1,8 @@ # Template file for 'stack' pkgname=stack -version=2.7.5 -revision=2 -_stackage="lts-19.0" +version=2.9.3 +revision=1 +_stackage="lts-20.0" hostmakedepends="cabal-install pkg-config unzip" makedepends="zlib-devel pcre-devel" depends="git gmp-devel iana-etc" @@ -12,8 +12,8 @@ license="BSD-3-Clause" 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 - e1de952bb6f62573e5c211df99ce6bb684c4cae7845f16c347ce9aa503d6374f" +checksum="c4700cb227dd624249db2e649445f3df3d558c8a5ab2c98b5c7bf8545901f2dc + addcb336500f35b565403e72b0b3793fee74313439eacfb79e0c2121d88bc8ea" skip_extraction="cabal.config-${_stackage}" nocross=yes nopie_files="/usr/bin/stack" From 43c22912fcbee45621319d96abf8603e2d5f6339 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Tue, 27 Dec 2022 15:29:21 +0100 Subject: [PATCH 04/20] hlint: update to 3.4.1 --- srcpkgs/hlint/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template index 0109be25805f..c5efc617393c 100644 --- a/srcpkgs/hlint/template +++ b/srcpkgs/hlint/template @@ -1,16 +1,16 @@ # Template file for 'hlint' pkgname=hlint -version=3.3.6 +version=3.4.1 revision=1 build_style=haskell-stack -stackage="lts-19.0" +stackage="lts-20.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=7d536c03f77a0c259efb2b00b525ef34578ca8a4a95ccb412708e8c7172e2e6a +checksum=667b1ee82ce47706e8206c4994add2483b0bf21c67861d4652b2b5aa90299dc5 nocross=yes # Can't yet cross compile Haskell nopie_files="/usr/bin/hlint" From bef4ba87d4872f0785d1d546613599791b2fa456 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Tue, 27 Dec 2022 16:19:12 +0100 Subject: [PATCH 05/20] hoogle: bump for stackage lts-20.0 --- srcpkgs/hoogle/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template index dc487cab4017..00de03e81eef 100644 --- a/srcpkgs/hoogle/template +++ b/srcpkgs/hoogle/template @@ -1,9 +1,9 @@ # Template file for 'hoogle' pkgname=hoogle version=5.0.18.3 -revision=1 +revision=2 build_style=haskell-stack -stackage="lts-19.0" +stackage="lts-20.0" makedepends="zlib-devel" short_desc="Haskell API search engine" maintainer="Inokentiy Babushkin " From 0ff10d252f1074acd9450926e1bba8eded586310 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Tue, 27 Dec 2022 17:38:42 +0100 Subject: [PATCH 06/20] pandoc: update to 2.19.2 + Update pandoc-crossref and it's associated cabal file. + Bump lua dependency. + Remove roman-numerals dependency, as pandoc-crossref now has its own implementation of this. --- srcpkgs/pandoc/files/pandoc-crossref.cabal | 139 +++++++++++++++++---- srcpkgs/pandoc/template | 17 ++- 2 files changed, 121 insertions(+), 35 deletions(-) diff --git a/srcpkgs/pandoc/files/pandoc-crossref.cabal b/srcpkgs/pandoc/files/pandoc-crossref.cabal index 7aacc47278f3..850405534565 100644 --- a/srcpkgs/pandoc/files/pandoc-crossref.cabal +++ b/srcpkgs/pandoc/files/pandoc-crossref.cabal @@ -1,13 +1,9 @@ -cabal-version: 2.0 - --- This file has been generated from package.yaml by hpack version 0.34.6. +-- This file has been generated from package.yaml by hpack version 0.34.4. -- -- see: https://github.com/sol/hpack --- --- hash: 20655cd6263e9fe7e5737ee81b093c8c6f5eae67e260ddd3a821ac6ef5e35e69 name: pandoc-crossref -version: 0.3.13.0 +version: 0.3.14.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 @@ -18,6 +14,99 @@ 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 + licenses/LICENSE.roman-numerals +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/eqnInlineTemplate/expect.md + test/m2m/eqnInlineTemplate/expect.tex + test/m2m/eqnInlineTemplate/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/listOfTemplates-buillet-list/expect.md + test/m2m/listOfTemplates-buillet-list/expect.tex + test/m2m/listOfTemplates-buillet-list/input.md + test/m2m/listOfTemplates-ord-list/expect.md + test/m2m/listOfTemplates-ord-list/expect.tex + test/m2m/listOfTemplates-ord-list/input.md + test/m2m/listOfTemplates/expect.md + test/m2m/listOfTemplates/expect.tex + test/m2m/listOfTemplates/input.md + test/m2m/loxItemTitle/expect.md + test/m2m/loxItemTitle/expect.tex + test/m2m/loxItemTitle/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 +cabal-version: 1.12 source-repository head type: git @@ -32,6 +121,7 @@ library exposed-modules: Text.Pandoc.CrossRef other-modules: + Text.Numeral.Roman Text.Pandoc.CrossRef.References Text.Pandoc.CrossRef.References.Blocks Text.Pandoc.CrossRef.References.List @@ -60,13 +150,12 @@ library , 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.* + , mtl >=1.1 && <2.4 + , pandoc >=2.18 && <2.20 + , pandoc-types >=1.22.2 && <1.23 , syb >=0.4 && <0.8 , template-haskell >=2.7.0.0 && <3.0.0.0 - , text >=1.2.2 && <1.3 + , text >=1.2.2 && <2.1 , utility-ht >=0.0.11 && <0.1.0 default-language: Haskell2010 @@ -82,13 +171,13 @@ executable pandoc-crossref , deepseq ==1.4.* , gitrev >=1.3.1 && <1.4 , open-browser ==0.2.* - , optparse-applicative >=0.13 && <0.17 - , pandoc >=2.10 && <2.18 + , optparse-applicative >=0.13 && <0.18 + , pandoc >=2.18 && <2.20 , pandoc-crossref - , pandoc-types >=1.21 && <1.23 + , pandoc-types >=1.22.2 && <1.23 , template-haskell >=2.7.0.0 && <3.0.0.0 , temporary >=1.2 && <1.4 - , text >=1.2.2 && <1.3 + , text >=1.2.2 && <2.1 default-language: Haskell2010 test-suite test-integrative @@ -102,10 +191,10 @@ test-suite test-integrative , directory >=1 && <1.4 , filepath >=1.1 && <1.5 , hspec >=2.4.4 && <3 - , pandoc >=2.10 && <2.18 + , pandoc >=2.18 && <2.20 , pandoc-crossref - , pandoc-types >=1.21 && <1.23 - , text >=1.2.2 && <1.3 + , pandoc-types >=1.22.2 && <1.23 + , text >=1.2.2 && <2.1 if flag(enable_flaky_tests) cpp-options: -DFLAKY default-language: Haskell2010 @@ -128,10 +217,10 @@ test-suite test-pandoc-crossref , 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 >=2.18 && <2.20 , pandoc-crossref - , pandoc-types >=1.21 && <1.23 - , text >=1.2.2 && <1.3 + , pandoc-types >=1.22.2 && <1.23 + , text >=1.2.2 && <2.1 if flag(enable_flaky_tests) cpp-options: -DFLAKY default-language: Haskell2010 @@ -146,9 +235,9 @@ benchmark simple 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 + , criterion >=1.5.9.0 && <1.7 + , pandoc >=2.18 && <2.20 , pandoc-crossref - , pandoc-types >=1.21 && <1.23 - , text >=1.2.2 && <1.3 + , pandoc-types >=1.22.2 && <1.23 + , text >=1.2.2 && <2.1 default-language: Haskell2010 diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template index 9bdf32ef3c53..0ce941c6fcc5 100644 --- a/srcpkgs/pandoc/template +++ b/srcpkgs/pandoc/template @@ -1,20 +1,19 @@ # Template file for 'pandoc' pkgname=pandoc # Keep in sync with http://www.stackage.org/lts -version=2.17.1.1 +version=2.19.2 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 +_crossref_version=0.3.14.0 create_wrksrc=yes build_style=haskell-stack -stackage="lts-19.0" +stackage="lts-20.0" make_build_args=" --flag pandoc:embed_data_files --flag=lua:pkg-config" hostmakedepends="pkg-config unzip wget" -makedepends="zlib-devel lua53-devel tar" +makedepends="zlib-devel lua54-devel tar" short_desc="Universal converter between markup formats" maintainer="slotThe " license="GPL-2.0-or-later, BSD-3-Clause" @@ -22,13 +21,11 @@ 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 - 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="649ec528d1413130c5ce304b826ff473b3696269eea8834d908589e775bd1ad1 + https://hackage.haskell.org/package/${pkgname}-crossref-${_crossref_version}/${pkgname}-crossref-${_crossref_version}.tar.gz" +checksum="36e83694c36a5af35a4442c4d5abd4273289d9d309793466f59c1632e87d4245 c39dd7343b9cb4dc5b1c91c9e47c3d357874e9e1a30b8d377bbea0b1d50323b2 be8485023fce236b5b915f2f6074f7b0470a2040f84cdd137c5227f1b4c98465 - 94540325c9c98ae4d5199c634bf402ffa41e3c5b020d7207daef90fd9e224fb4 - b9c7195b69b1662a286d2c28a55fafdcb693c522ba5eb54a11b1d0a4e92eaa81" + 06d163e2cec3f285919295c41a0580f203bb157d05eb06a494dbc093cbefa5b8" subpackages=" pandoc-sidenote pandoc-crossref" From 64f9e27c94218c3f8b4ac7a3091dabe797feb3d7 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Wed, 28 Dec 2022 08:32:36 +0100 Subject: [PATCH 07/20] shellcheck: bump for stackage lts-20.0 --- srcpkgs/shellcheck/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template index e85667f66918..c06b88603109 100644 --- a/srcpkgs/shellcheck/template +++ b/srcpkgs/shellcheck/template @@ -1,9 +1,9 @@ # Template file for 'shellcheck' pkgname=shellcheck version=0.9.0 -revision=1 +revision=2 build_style=haskell-stack -stackage="lts-19.0" +stackage="lts-20.0" hostmakedepends="pandoc" short_desc="Static analysis tool for shell scripts" maintainer="Diogo Leal " From b72f37ea6631b90f2da8c80353754274e5de9dfb Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Wed, 28 Dec 2022 08:36:43 +0100 Subject: [PATCH 08/20] New package: greenclip-4.2 Co-authored-by: KawaiiAmber --- srcpkgs/greenclip/files/stack.yaml | 12 ++++++++++++ srcpkgs/greenclip/template | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 srcpkgs/greenclip/files/stack.yaml create mode 100644 srcpkgs/greenclip/template diff --git a/srcpkgs/greenclip/files/stack.yaml b/srcpkgs/greenclip/files/stack.yaml new file mode 100644 index 000000000000..86f4b6fa7ed2 --- /dev/null +++ b/srcpkgs/greenclip/files/stack.yaml @@ -0,0 +1,12 @@ +resolver: lts-20.0 + +packages: +- '.' + +extra-deps: +- 'wordexp-0.2.2' +- 'protolude-0.3.2' +- 'tomland-1.3.3.2' +- 'validation-selective-0.1.0.2' + +allow-newer: true diff --git a/srcpkgs/greenclip/template b/srcpkgs/greenclip/template new file mode 100644 index 000000000000..c048afe39e01 --- /dev/null +++ b/srcpkgs/greenclip/template @@ -0,0 +1,19 @@ +# Template file for 'greenclip' +pkgname=greenclip +version=4.2 +revision=1 +build_style=haskell-stack +hostmakedepends="pkg-config" +makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel" +short_desc="Simple clipboard manager to be integrated with rofi" +maintainer="KawaiiAmber " +license="BSD-3-Clause" +homepage="https://github.com/erebe/greenclip" +distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz" +checksum=bb95211e3c4bf3ab3a95ede92a678f79bedf2ed2c5b707ba0fb2efbae7fc60cd +nopie=yes +nocross="can't yet cross compile Haskell" + +post_install() { + vlicense LICENSE +} From b244badd1691a35e0eeab309f750297cccbdbc0b Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Wed, 28 Dec 2022 10:35:09 +0100 Subject: [PATCH 09/20] hledger: update to 1.28 --- srcpkgs/hledger/files/stack.yaml | 14 +++++--------- srcpkgs/hledger/template | 4 ++-- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml index b5f41932e272..e2fd18f264a4 100644 --- a/srcpkgs/hledger/files/stack.yaml +++ b/srcpkgs/hledger/files/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-19.0 +resolver: lts-20.0 packages: - hledger-lib @@ -7,16 +7,12 @@ packages: - hledger-web extra-deps: +- megaparsec-9.3.0 # for hledger-lib: -- breakpoint-0.1.0.0 +# - breakpoint-0.1.2.0 # for hledger: # for hledger-ui: -- brick-1.0 -- bimap-0.5.0 -- text-zipper-0.12 -- vty-5.36 +- brick-1.5 +- fsnotify-0.4.0.0 # for hledger-web: # for Shake.hs: - -ghc-options: - "$locals": -fplugin Debug.Breakpoint diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template index 5750484fc5bc..6a4360a0c641 100644 --- a/srcpkgs/hledger/template +++ b/srcpkgs/hledger/template @@ -1,6 +1,6 @@ # Template file for 'hledger' pkgname=hledger -version=1.27.1 +version=1.28 revision=1 build_style=haskell-stack makedepends="zlib-devel ncurses-devel" @@ -10,7 +10,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/hledger/archive/${version}.tar.gz" -checksum=218f6005b7b30308cc43523dc7b61c818bb649abc217a6c8803e8f82b408d239 +checksum=e2736f732d9f5cade993877b4524f06fbb3488142843c62653a0849180d2a34a nopie_files="/usr/bin/hledger" nocross=yes # Can't yet cross compile Haskell From 09afe3b6b6e780d7e8e842a71f12eb57592d5613 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Wed, 28 Dec 2022 13:58:50 +0100 Subject: [PATCH 10/20] darcs: bump for stackage lts-20.0 --- srcpkgs/darcs/files/stack.yaml | 2 +- srcpkgs/darcs/template | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml index 6e459703764a..f2dd5264e5bf 100644 --- a/srcpkgs/darcs/files/stack.yaml +++ b/srcpkgs/darcs/files/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-19.0 +resolver: lts-20.0 packages: - . allow-newer: true diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template index 15a8f71f9021..04a0f6da593c 100644 --- a/srcpkgs/darcs/template +++ b/srcpkgs/darcs/template @@ -1,7 +1,7 @@ # Template file for 'darcs' pkgname=darcs version=2.16.5 -revision=3 +revision=4 build_style=haskell-stack hostmakedepends="unzip" makedepends="zlib-devel libcurl-devel ncurses-devel" From bcfad03f61ed98bea9f3f5e6189c0383834e54ee Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Wed, 28 Dec 2022 14:54:40 +0100 Subject: [PATCH 11/20] cgrep: bump for stackage lts-20.0 --- srcpkgs/cgrep/files/stack.yaml | 7 +++++++ srcpkgs/cgrep/template | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/cgrep/files/stack.yaml diff --git a/srcpkgs/cgrep/files/stack.yaml b/srcpkgs/cgrep/files/stack.yaml new file mode 100644 index 000000000000..9db0805a3957 --- /dev/null +++ b/srcpkgs/cgrep/files/stack.yaml @@ -0,0 +1,7 @@ +resolver: lts-20.0 + +packages: + - '.' + +extra-deps: + - bitwise-1.0.0.1 diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template index 9d943300a68c..865d4e43398d 100644 --- a/srcpkgs/cgrep/template +++ b/srcpkgs/cgrep/template @@ -1,7 +1,7 @@ # Template file for 'cgrep' pkgname=cgrep version=7.0.0 -revision=1 +revision=2 build_style=haskell-stack makedepends="pcre-devel pkg-config" short_desc="Context-aware grep for source codes" From bc3778263267cf26d60df508d713bb57b570ed04 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Wed, 28 Dec 2022 15:38:14 +0100 Subject: [PATCH 12/20] xmobar: update to 0.44.2 This is the last version that still builds on musl. --- srcpkgs/xmobar/files/stack.yaml | 2 +- srcpkgs/xmobar/template | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml index 7e0956374142..15744aaa56ee 100644 --- a/srcpkgs/xmobar/files/stack.yaml +++ b/srcpkgs/xmobar/files/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-19.0 +resolver: lts-20.0 packages: - . extra-deps: diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template index 6a12a9ed7055..fb00e4865322 100644 --- a/srcpkgs/xmobar/template +++ b/srcpkgs/xmobar/template @@ -1,6 +1,7 @@ # Template file for 'xmobar' pkgname=xmobar -version=0.42 +# versions >= 0.45 are broken on musl: https://codeberg.org/xmobar/xmobar/issues/656 +version=0.44.2 revision=1 build_style=haskell-stack hostmakedepends="pkg-config" @@ -15,10 +16,10 @@ maintainer="xaltsc " license="BSD-3-Clause" homepage="https://xmobar.org" distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz" -checksum=53f4a06d79c3db32ef1a498ec7b764b17d03ebf9bca3126c6b8259595492769b -build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone +checksum=08a0bdd6a6c84b2219fae33de1c1335ff3610a194b377dc59ab4505aac84b73d +build_options="dbus threaded xft mpd mpris inotify iwlib alsa datezone xpm uvmeter weather nl80211" -build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm alsa mpris mpd dbus" +build_options_default="threaded xft inotify nl80211 datezone weather xpm alsa mpris mpd dbus" nopie_files="/usr/bin/xmobar" nocross=yes vopt_hflag() { From af04deea05b26054881ade9e6712ee3e7a22e2e8 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Wed, 28 Dec 2022 17:10:27 +0100 Subject: [PATCH 13/20] kmonad: bump for stackage lts-20.0 --- srcpkgs/kmonad/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template index 04088043afc2..a21383b6a484 100644 --- a/srcpkgs/kmonad/template +++ b/srcpkgs/kmonad/template @@ -3,9 +3,9 @@ pkgname=kmonad reverts="65b501defdd0049563752f8af8c8c57f5a1ae38b_1" _githash=65b501defdd0049563752f8af8c8c57f5a1ae38b version=0.4.1.20220321 -revision=1 +revision=2 build_style=haskell-stack -stackage=lts-19.0 +stackage=lts-20.0 short_desc="Keyboard remapping utility providing qmk-like functionality" maintainer="slotThe " license="MIT" From b783cb1f43574e6bf73d89d4e867e7610b244c2a Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Wed, 28 Dec 2022 17:11:43 +0100 Subject: [PATCH 14/20] glirc: bump for cabal-install 3.8.1.0 --- srcpkgs/glirc/template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srcpkgs/glirc/template b/srcpkgs/glirc/template index 98a677886ae1..458609007def 100644 --- a/srcpkgs/glirc/template +++ b/srcpkgs/glirc/template @@ -1,7 +1,7 @@ # Template file for 'glirc' pkgname=glirc version=2.39.0.1 -revision=1 +revision=2 hostmakedepends="cabal-install" makedepends="ncurses-devel openssl-devel" short_desc="Console IRC client written in Haskell" From 902bcc768fbcd0855eafe3d232ce7210d64fefab Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Wed, 28 Dec 2022 18:15:04 +0100 Subject: [PATCH 15/20] git-mediate: bump for stackage lts-20.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 705df7843b8e..f472a26d132a 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=3 +revision=4 build_style=haskell-stack -stackage="lts-19.0" +stackage="lts-20.0" depends="git" short_desc="Tool to help resolving git conflicts" maintainer="Peter Wang " From 3135d4b7069eeb833c222919e2954f1887bd4261 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Thu, 29 Dec 2022 09:22:09 +0100 Subject: [PATCH 16/20] [WIP] ghc-bin: update to 9.2.5 --- srcpkgs/ghc-bin/template | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template index f9610408060f..ee8083ff3cf0 100644 --- a/srcpkgs/ghc-bin/template +++ b/srcpkgs/ghc-bin/template @@ -1,6 +1,6 @@ # Template file for 'ghc-bin' pkgname=ghc-bin -version=9.0.2 +version=9.2.5 revision=1 archs="i686 x86_64* ppc64le* ppc64 aarch64*" hostmakedepends="perl libffi libnuma" @@ -16,7 +16,7 @@ conflicts="ghc>=0 ghc-doc>=0" case "$XBPS_TARGET_MACHINE" in x86_64) distfiles="https://downloads.haskell.org/ghc/${version%[!0-9]}/ghc-${version}-x86_64-deb9-linux.tar.xz" - checksum=805f5628ce6cec678ba77ff48c924831ebdf75ec2c66368e8935a618913a150e + checksum=2d115b7258751f0e4481e35b5953ca3c7870e8ec9ce68f1d32fc014ddc29b2a5 ;; x86_64-musl) # create with "make binary-dist" @@ -25,7 +25,7 @@ x86_64-musl) ;; i686) distfiles="https://downloads.haskell.org/ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz" - checksum=fdeb9f8928fbe994064778a8e1e85bb1a58a6cd3dd7b724fcc2a1dcfda6cad47 + checksum=cf2088010e4477cb84b26725107eeb23e878368074abcf04f089d498ca2d9ddf ;; ppc64le) distfiles="https://repo-default.voidlinux.org/distfiles/ghc-${version}-powerpc64le-void-linux.tar.xz" From ed70d04edb71262b23158dd7397916111ab1d337 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Thu, 29 Dec 2022 09:22:41 +0100 Subject: [PATCH 17/20] New package: ghcup-0.21 Co-authored-by: Kye Shi --- srcpkgs/ghcup/INSTALL.msg | 8 ++++++++ srcpkgs/ghcup/template | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 srcpkgs/ghcup/INSTALL.msg create mode 100644 srcpkgs/ghcup/template diff --git a/srcpkgs/ghcup/INSTALL.msg b/srcpkgs/ghcup/INSTALL.msg new file mode 100644 index 000000000000..100bbd0780b7 --- /dev/null +++ b/srcpkgs/ghcup/INSTALL.msg @@ -0,0 +1,8 @@ +ghcup comes with an internal downloader, but optionally depends on curl and/or +wget for more advanced usages (e.g., proxying). To use curl/wget as downloader, +first make sure they are installed, then run `ghcup config set downloader Curl`. + +Also, ghcup requires $GHCUP_INSTALL_BASE_PREFIX/.ghcup/bin to be in your PATH +(by default, $GHCUP_INSTALL_BASE_PREFIX is $HOME); make sure to update your +shell launch scripts accordingly. Alternatively, when GHCUP_USE_XDG_DIRS is set, +GHCUP uses XDG-ish directories. diff --git a/srcpkgs/ghcup/template b/srcpkgs/ghcup/template new file mode 100644 index 000000000000..de9be01dc9f0 --- /dev/null +++ b/srcpkgs/ghcup/template @@ -0,0 +1,32 @@ +# Template file for 'ghcup' +pkgname=ghcup +version=0.21 +revision=1 +wrksrc="ghcup-hs-v$version" +hostmakedepends='tar git cabal-install pkg-config' +makedepends='zlib-devel ncurses-libtinfo-devel libarchive-devel' +depends='zlib ncurses-libtinfo-libs libarchive gcc gmp make perl' +short_desc='Installer for the general purpose language Haskell' +maintainer='Kye Shi ' +license='LGPL-3.0-only' +homepage='https://www.haskell.org/ghcup/' +distfiles="https://github.com/haskell/ghcup-hs/archive/refs/tags/v$version.tar.gz" +checksum=66bf77b062740eb18053b5b0456d568874b2981f641597e6152a721851900c4e +nopie_files='/usr/bin/ghcup' +nocross='cannot cross compile haskell yet' + +post_extract() { + vsed -i 's/-system-libarchive/+system-libarchive/' cabal.project +} + +do_build() { + cabal update --prefix="$PWD" + cabal build --prefix="$PWD" --project-file=cabal.project -f'internal-downloader' +} + +do_install() { + cabal install --prefix="$PWD" --install-method='copy' --installdir="$DESTDIR/usr/bin" + for sh in 'bash' 'fish' 'zsh'; do + vcompletion "scripts/shell-completions/$sh" "$sh" + done +} From 62f7f0b0f3ccd713525ee49ff555740cbf08cc5a Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Thu, 29 Dec 2022 12:22:29 +0100 Subject: [PATCH 18/20] debug-me: bump for stackage lts-20.0 --- srcpkgs/debug-me/files/stack.yaml | 2 +- srcpkgs/debug-me/patches/bytestring.patch | 26 +++++++++++++++++++++++ srcpkgs/debug-me/template | 3 +-- 3 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/debug-me/patches/bytestring.patch diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml index f2b1a79d70c6..cf7820620db2 100644 --- a/srcpkgs/debug-me/files/stack.yaml +++ b/srcpkgs/debug-me/files/stack.yaml @@ -1,6 +1,6 @@ packages: - '.' -resolver: lts-19.0 +resolver: lts-20.0 extra-deps: - posix-pty-0.2.1.1 - sandi-0.5@sha256:b278d072ca717706ea38f9bd646e023f7f2576a778fb43565b434f93638849aa,3010 diff --git a/srcpkgs/debug-me/patches/bytestring.patch b/srcpkgs/debug-me/patches/bytestring.patch new file mode 100644 index 000000000000..24a67ef604d0 --- /dev/null +++ b/srcpkgs/debug-me/patches/bytestring.patch @@ -0,0 +1,26 @@ +From 1d30b5cd9156b1a9d409c8810dab26e2dc5065af Mon Sep 17 00:00:00 2001 +From: Tony Zorman +Date: Thu, 29 Dec 2022 10:35:58 +0100 +Subject: [PATCH] Bump bytestring dependency + +This fixes the build for GHC 9.2, which ships with a higher version of +the bytestring library. +--- + debug-me.cabal | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/debug-me.cabal b/debug-me.cabal +index d5a44e9..2dd60a0 100644 +--- a/debug-me.cabal ++++ b/debug-me.cabal +@@ -55,7 +55,7 @@ Executable debug-me + Build-Depends: + base (>= 4.9 && < 5.0) + , network (>= 2.6) +- , bytestring == 0.10.* ++ , bytestring < 0.12 + , cryptonite (>= 0.20) + , unix (>= 2.7) + , process (>= 1.4) +-- +2.39.0 diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template index f971f2156c77..0ffea08897fe 100644 --- a/srcpkgs/debug-me/template +++ b/srcpkgs/debug-me/template @@ -1,9 +1,8 @@ # Template file for 'debug-me' pkgname=debug-me version=1.20220324 -revision=1 +revision=2 build_style=haskell-stack -stackage="lts-19.0" makedepends="zlib-devel" short_desc="Secure remote debugging" maintainer="Dominic Monroe " From 6d2757d2607a7aecc6da4131e294ee97fd1b6d37 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Thu, 29 Dec 2022 16:04:34 +0100 Subject: [PATCH 19/20] git-annex: update to 10.20221212 Patch bloomfilter to fix the build for GHC 9.2.5. Related: https://github.com/bos/bloomfilter/pull/20 --- srcpkgs/git-annex/files/stack.yaml | 31 +- .../patches/bloomfilter-ghc9.2.patch | 290 ++++++++++++++++++ srcpkgs/git-annex/template | 14 +- 3 files changed, 313 insertions(+), 22 deletions(-) create mode 100644 srcpkgs/git-annex/patches/bloomfilter-ghc9.2.patch diff --git a/srcpkgs/git-annex/files/stack.yaml b/srcpkgs/git-annex/files/stack.yaml index acc592054f70..b2674a7af4ad 100644 --- a/srcpkgs/git-annex/files/stack.yaml +++ b/srcpkgs/git-annex/files/stack.yaml @@ -10,21 +10,18 @@ flags: benchmark: true gitlfs: true packages: - - '.' -resolver: lts-19.0 +- './git-annex-10.20221212' +resolver: lts-20.0 extra-deps: - - IfElse-0.85 - - aws-0.22 - - bloomfilter-2.0.1.0 - - git-lfs-1.2.0 - - http-client-restricted-0.0.4 - - network-multicast-0.3.2 - - sandi-0.5 - - torrent-10000.1.1 - - base16-bytestring-0.1.1.7 - - base64-bytestring-1.0.0.3 - - bencode-0.6.1.1 - - aeson-1.5.6.0@sha256:5003bb6fd260d2e2d5a51dee2bf5c8e8f29e4e0e0288fef805c22dcc80ecab06,6788 - - http-client-0.7.11@sha256:3f59ac8ffe2a3768846cdda040a0d1df2a413960529ba61c839861c948871967,5756 -explicit-setup-deps: - git-annex: true +- IfElse-0.85 +- aws-0.23 +- ./bloomfilter-2.0.1.0 +- git-lfs-1.2.0 +- http-client-restricted-0.0.5 +- network-multicast-0.3.2 +- sandi-0.5 +- torrent-10000.1.1 +- base16-bytestring-1.0.2.0 +- base64-bytestring-1.2.1.0 +- bencode-0.6.1.1 +- http-client-0.7.13.1 diff --git a/srcpkgs/git-annex/patches/bloomfilter-ghc9.2.patch b/srcpkgs/git-annex/patches/bloomfilter-ghc9.2.patch new file mode 100644 index 000000000000..0316a6a15194 --- /dev/null +++ b/srcpkgs/git-annex/patches/bloomfilter-ghc9.2.patch @@ -0,0 +1,290 @@ +From fb79b39c44404fd791a3bed973e9d844fb084f1e Mon Sep 17 00:00:00 2001 +From: Simon Jakobi +Date: Fri, 12 Nov 2021 01:37:36 +0100 +Subject: [PATCH] Fix build with GHC 9.2 + +The `FastShift.shift{L,R}` methods are replaced with `unsafeShift{L,R}` +introduced in base-4.5. + +Fixes #19. +--- + Data/BloomFilter.hs | 16 +++++------ + Data/BloomFilter/Hash.hs | 15 +++++----- + Data/BloomFilter/Mutable.hs | 20 +++++++------- + Data/BloomFilter/Util.hs | 55 ++++++------------------------------- + bloomfilter.cabal | 2 +- + 5 files changed, 34 insertions(+), 74 deletions(-) + +diff --git a/bloomfilter-2.0.1.0/Data/BloomFilter.hs b/bloomfilter-2.0.1.0/Data/BloomFilter.hs +index 2210cef..6b47c21 100644 +--- a/bloomfilter-2.0.1.0/Data/BloomFilter.hs ++++ b/bloomfilter-2.0.1.0/Data/BloomFilter.hs +@@ -78,8 +78,8 @@ import Control.DeepSeq (NFData(..)) + import Data.Array.Base (unsafeAt) + import qualified Data.Array.Base as ST + import Data.Array.Unboxed (UArray) +-import Data.Bits ((.&.)) +-import Data.BloomFilter.Util (FastShift(..), (:*)(..)) ++import Data.Bits ((.&.), unsafeShiftL, unsafeShiftR) ++import Data.BloomFilter.Util ((:*)(..)) + import qualified Data.BloomFilter.Mutable as MB + import qualified Data.BloomFilter.Mutable.Internal as MB + import Data.BloomFilter.Mutable.Internal (Hash, MBloom) +@@ -98,7 +98,7 @@ data Bloom a = B { + } + + instance Show (Bloom a) where +- show ub = "Bloom { " ++ show ((1::Int) `shiftL` shift ub) ++ " bits } " ++ show ub = "Bloom { " ++ show ((1::Int) `unsafeShiftL` shift ub) ++ " bits } " + + instance NFData (Bloom a) where + rnf !_ = () +@@ -172,7 +172,7 @@ singleton hash numBits elt = create hash numBits (\mb -> MB.insert mb elt) + -- | Given a filter's mask and a hash value, compute an offset into + -- a word array and a bit offset within that word. + hashIdx :: Int -> Word32 -> (Int :* Int) +-hashIdx mask x = (y `shiftR` logBitsInHash) :* (y .&. hashMask) ++hashIdx mask x = (y `unsafeShiftR` logBitsInHash) :* (y .&. hashMask) + where hashMask = 31 -- bitsInHash - 1 + y = fromIntegral x .&. mask + +@@ -191,7 +191,7 @@ hashesU ub elt = hashIdx (mask ub) `map` hashes ub elt + -- /still/ some possibility that @True@ will be returned. + elem :: a -> Bloom a -> Bool + elem elt ub = all test (hashesU ub elt) +- where test (off :* bit) = (bitArray ub `unsafeAt` off) .&. (1 `shiftL` bit) /= 0 ++ where test (off :* bit) = (bitArray ub `unsafeAt` off) .&. (1 `unsafeShiftL` bit) /= 0 + + modify :: (forall s. (MBloom s a -> ST s z)) -- ^ mutation function (result is discarded) + -> Bloom a +@@ -255,11 +255,11 @@ insertList elts = modify $ \mb -> mapM_ (MB.insert mb) elts + -- is /still/ some possibility that @True@ will be returned. + notElem :: a -> Bloom a -> Bool + notElem elt ub = any test (hashesU ub elt) +- where test (off :* bit) = (bitArray ub `unsafeAt` off) .&. (1 `shiftL` bit) == 0 ++ where test (off :* bit) = (bitArray ub `unsafeAt` off) .&. (1 `unsafeShiftL` bit) == 0 + + -- | Return the size of an immutable Bloom filter, in bits. + length :: Bloom a -> Int +-length = shiftL 1 . shift ++length = unsafeShiftL 1 . shift + + -- | Build an immutable Bloom filter from a seed value. The seeding + -- function populates the filter as follows. +@@ -318,7 +318,7 @@ fromList hashes numBits = unfold hashes numBits convert + logPower2 :: Int -> Int + logPower2 k = go 0 k + where go j 1 = j +- go j n = go (j+1) (n `shiftR` 1) ++ go j n = go (j+1) (n `unsafeShiftR` 1) + + -- $overview + -- +diff --git a/bloomfilter-2.0.1.0/Data/BloomFilter/Hash.hs b/bloomfilter-2.0.1.0/Data/BloomFilter/Hash.hs +index 132a3a4..d071fd4 100644 +--- a/bloomfilter-2.0.1.0/Data/BloomFilter/Hash.hs ++++ b/bloomfilter-2.0.1.0/Data/BloomFilter/Hash.hs +@@ -38,8 +38,7 @@ module Data.BloomFilter.Hash + ) where + + import Control.Monad (foldM) +-import Data.Bits ((.&.), (.|.), xor) +-import Data.BloomFilter.Util (FastShift(..)) ++import Data.Bits ((.&.), (.|.), unsafeShiftL, unsafeShiftR, xor) + import Data.List (unfoldr) + import Data.Int (Int8, Int16, Int32, Int64) + import Data.Word (Word8, Word16, Word32, Word64) +@@ -91,11 +90,11 @@ class Hashable a where + -> Word64 -- ^ salt + -> IO Word64 + hashIO64 v salt = do +- let s1 = fromIntegral (salt `shiftR` 32) .&. maxBound ++ let s1 = fromIntegral (salt `unsafeShiftR` 32) .&. maxBound + s2 = fromIntegral salt + h1 <- hashIO32 v s1 + h2 <- hashIO32 v s2 +- return $ (fromIntegral h1 `shiftL` 32) .|. fromIntegral h2 ++ return $ (fromIntegral h1 `unsafeShiftL` 32) .|. fromIntegral h2 + + -- | Compute a 32-bit hash. + hash32 :: Hashable a => a -> Word32 +@@ -149,8 +148,8 @@ cheapHashes :: Hashable a => Int -- ^ number of hashes to compute + cheapHashes k v = go 0 + where go i | i == j = [] + | otherwise = hash : go (i + 1) +- where !hash = h1 + (h2 `shiftR` i) +- h1 = fromIntegral (h `shiftR` 32) ++ where !hash = h1 + (h2 `unsafeShiftR` i) ++ h1 = fromIntegral (h `unsafeShiftR` 32) + h2 = fromIntegral h + h = hashSalt64 0x9150a946c4a8966e v + j = fromIntegral k +@@ -163,7 +162,7 @@ instance Hashable Integer where + (salt `xor` 0x3ece731e) + | otherwise = hashIO32 (unfoldr go k) salt + where go 0 = Nothing +- go i = Just (fromIntegral i :: Word32, i `shiftR` 32) ++ go i = Just (fromIntegral i :: Word32, i `unsafeShiftR` 32) + + instance Hashable Bool where + hashIO32 = hashOne32 +@@ -224,7 +223,7 @@ instance Hashable Word64 where + -- | A fast unchecked shift. Nasty, but otherwise GHC 6.8.2 does a + -- test and branch on every shift. + div4 :: CSize -> CSize +-div4 k = fromIntegral ((fromIntegral k :: HTYPE_SIZE_T) `shiftR` 2) ++div4 k = fromIntegral ((fromIntegral k :: HTYPE_SIZE_T) `unsafeShiftR` 2) + + alignedHash :: Ptr a -> CSize -> Word32 -> IO Word32 + alignedHash ptr bytes salt +diff --git a/bloomfilter-2.0.1.0/Data/BloomFilter/Mutable.hs b/bloomfilter-2.0.1.0/Data/BloomFilter/Mutable.hs +index edff1fc..0bb5cc9 100644 +--- a/bloomfilter-2.0.1.0/Data/BloomFilter/Mutable.hs ++++ b/bloomfilter-2.0.1.0/Data/BloomFilter/Mutable.hs +@@ -65,9 +65,9 @@ module Data.BloomFilter.Mutable + import Control.Monad (liftM, forM_) + import Control.Monad.ST (ST) + import Data.Array.Base (unsafeRead, unsafeWrite) +-import Data.Bits ((.&.), (.|.)) ++import Data.Bits ((.&.), (.|.), unsafeShiftL, unsafeShiftR) + import Data.BloomFilter.Array (newArray) +-import Data.BloomFilter.Util (FastShift(..), (:*)(..), nextPowerOfTwo) ++import Data.BloomFilter.Util ((:*)(..), nextPowerOfTwo) + import Data.Word (Word32) + import Data.BloomFilter.Mutable.Internal + +@@ -86,9 +86,9 @@ new hash numBits = MB hash shft msk `liftM` newArray numElems numBytes + | numBits > maxHash = maxHash + | isPowerOfTwo numBits = numBits + | otherwise = nextPowerOfTwo numBits +- numElems = max 2 (twoBits `shiftR` logBitsInHash) +- numBytes = numElems `shiftL` logBytesInHash +- trueBits = numElems `shiftL` logBitsInHash ++ numElems = max 2 (twoBits `unsafeShiftR` logBitsInHash) ++ numBytes = numElems `unsafeShiftL` logBytesInHash ++ trueBits = numElems `unsafeShiftL` logBitsInHash + shft = logPower2 trueBits + msk = trueBits - 1 + isPowerOfTwo n = n .&. (n - 1) == 0 +@@ -109,7 +109,7 @@ logBytesInHash = 2 -- logPower2 (sizeOf (undefined :: Hash)) + -- | Given a filter's mask and a hash value, compute an offset into + -- a word array and a bit offset within that word. + hashIdx :: Int -> Word32 -> (Int :* Int) +-hashIdx msk x = (y `shiftR` logBitsInHash) :* (y .&. hashMask) ++hashIdx msk x = (y `unsafeShiftR` logBitsInHash) :* (y .&. hashMask) + where hashMask = 31 -- bitsInHash - 1 + y = fromIntegral x .&. msk + +@@ -125,7 +125,7 @@ insert mb elt = do + let mu = bitArray mb + forM_ (hashesM mb elt) $ \(word :* bit) -> do + old <- unsafeRead mu word +- unsafeWrite mu word (old .|. (1 `shiftL` bit)) ++ unsafeWrite mu word (old .|. (1 `unsafeShiftL` bit)) + + -- | Query a mutable Bloom filter for membership. If the value is + -- present, return @True@. If the value is not present, there is +@@ -135,7 +135,7 @@ elem elt mb = loop (hashesM mb elt) + where mu = bitArray mb + loop ((word :* bit):wbs) = do + i <- unsafeRead mu word +- if i .&. (1 `shiftL` bit) == 0 ++ if i .&. (1 `unsafeShiftL` bit) == 0 + then return False + else loop wbs + loop _ = return True +@@ -145,7 +145,7 @@ elem elt mb = loop (hashesM mb elt) + + -- | Return the size of a mutable Bloom filter, in bits. + length :: MBloom s a -> Int +-length = shiftL 1 . shift ++length = unsafeShiftL 1 . shift + + + -- | Slow, crummy way of computing the integer log of an integer known +@@ -153,7 +153,7 @@ length = shiftL 1 . shift + logPower2 :: Int -> Int + logPower2 k = go 0 k + where go j 1 = j +- go j n = go (j+1) (n `shiftR` 1) ++ go j n = go (j+1) (n `unsafeShiftR` 1) + + -- $overview + -- +diff --git a/bloomfilter-2.0.1.0/Data/BloomFilter/Util.hs b/bloomfilter-2.0.1.0/Data/BloomFilter/Util.hs +index 7f695dc..6ade6e5 100644 +--- a/bloomfilter-2.0.1.0/Data/BloomFilter/Util.hs ++++ b/bloomfilter-2.0.1.0/Data/BloomFilter/Util.hs +@@ -2,15 +2,11 @@ + + module Data.BloomFilter.Util + ( +- FastShift(..) +- , nextPowerOfTwo ++ nextPowerOfTwo + , (:*)(..) + ) where + +-import Data.Bits ((.|.)) +-import qualified Data.Bits as Bits +-import GHC.Base +-import GHC.Word ++import Data.Bits ((.|.), unsafeShiftR) + + -- | A strict pair type. + data a :* b = !a :* !b +@@ -22,46 +18,11 @@ nextPowerOfTwo :: Int -> Int + {-# INLINE nextPowerOfTwo #-} + nextPowerOfTwo n = + let a = n - 1 +- b = a .|. (a `shiftR` 1) +- c = b .|. (b `shiftR` 2) +- d = c .|. (c `shiftR` 4) +- e = d .|. (d `shiftR` 8) +- f = e .|. (e `shiftR` 16) +- g = f .|. (f `shiftR` 32) -- in case we're on a 64-bit host ++ b = a .|. (a `unsafeShiftR` 1) ++ c = b .|. (b `unsafeShiftR` 2) ++ d = c .|. (c `unsafeShiftR` 4) ++ e = d .|. (d `unsafeShiftR` 8) ++ f = e .|. (e `unsafeShiftR` 16) ++ g = f .|. (f `unsafeShiftR` 32) -- in case we're on a 64-bit host + !h = g + 1 + in h +- +--- | This is a workaround for poor optimisation in GHC 6.8.2. It +--- fails to notice constant-width shifts, and adds a test and branch +--- to every shift. This imposes about a 10% performance hit. +-class FastShift a where +- shiftL :: a -> Int -> a +- shiftR :: a -> Int -> a +- +-instance FastShift Word32 where +- {-# INLINE shiftL #-} +- shiftL (W32# x#) (I# i#) = W32# (x# `uncheckedShiftL#` i#) +- +- {-# INLINE shiftR #-} +- shiftR (W32# x#) (I# i#) = W32# (x# `uncheckedShiftRL#` i#) +- +-instance FastShift Word64 where +- {-# INLINE shiftL #-} +- shiftL (W64# x#) (I# i#) = W64# (x# `uncheckedShiftL64#` i#) +- +- {-# INLINE shiftR #-} +- shiftR (W64# x#) (I# i#) = W64# (x# `uncheckedShiftRL64#` i#) +- +-instance FastShift Int where +- {-# INLINE shiftL #-} +- shiftL (I# x#) (I# i#) = I# (x# `iShiftL#` i#) +- +- {-# INLINE shiftR #-} +- shiftR (I# x#) (I# i#) = I# (x# `iShiftRA#` i#) +- +-instance FastShift Integer where +- {-# INLINE shiftL #-} +- shiftL = Bits.shiftL +- +- {-# INLINE shiftR #-} +- shiftR = Bits.shiftR +-- +2.35.1 diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template index 91d714a327ac..41117a4aca5f 100644 --- a/srcpkgs/git-annex/template +++ b/srcpkgs/git-annex/template @@ -1,6 +1,8 @@ # Template file for 'git-annex' pkgname=git-annex -version=10.20221103 +version=10.20221212 +_bloomfilter_version=2.0.1.0 +create_wrksrc=yes revision=1 build_style=haskell-stack makedepends="curl file-devel gnupg gnutls-devel gsasl-devel libxml2-devel @@ -12,8 +14,10 @@ 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="https://git-annex.branchable.com" changelog="https://git.joeyh.name/index.cgi/git-annex.git/plain/CHANGELOG" -distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz" -checksum=f549c31264d6da3bb544755795e7fc29882ebec45014905bc2ea0ade28398f3b +distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz + https://hackage.haskell.org/package/bloomfilter-${_bloomfilter_version}/bloomfilter-${_bloomfilter_version}.tar.gz" +checksum="ef67b4b93728d86050d6e6ec862e950cd6f9db488aea9c840092f024b8a0d629 + 6c5e0d357d5d39efe97ae2776e8fb533fa50c1c05397c7b85020b0f098ad790f" nopie_files="/usr/bin/git-annex" nocross=yes @@ -26,7 +30,7 @@ post_install() { ln -sf git-annex ${DESTDIR}/usr/bin/git-remote-tor-annex vmkdir usr/share/man/man1 - vcopy man/*.1 usr/share/man/man1 + vcopy ${pkgname}-${version}/man/*.1 usr/share/man/man1 - vlicense doc/license/AGPL + vlicense ${pkgname}-${version}/doc/license/AGPL } From b284b63085b6a9be5a5194af268d3ff997ad2b92 Mon Sep 17 00:00:00 2001 From: Tony Zorman Date: Fri, 30 Dec 2022 10:38:58 +0100 Subject: [PATCH 20/20] fixup! New package: greenclip-4.2 --- srcpkgs/greenclip/files/stack.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/srcpkgs/greenclip/files/stack.yaml b/srcpkgs/greenclip/files/stack.yaml index 86f4b6fa7ed2..94808b687ddd 100644 --- a/srcpkgs/greenclip/files/stack.yaml +++ b/srcpkgs/greenclip/files/stack.yaml @@ -8,5 +8,3 @@ extra-deps: - 'protolude-0.3.2' - 'tomland-1.3.3.2' - 'validation-selective-0.1.0.2' - -allow-newer: true