惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
罗磊的独立博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
Last Week in AI
Last Week in AI
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
博客园 - 司徒正美
博客园 - 叶小钗
T
Tailwind CSS Blog
博客园 - Franky
V
V2EX
有赞技术团队
有赞技术团队
美团技术团队
雷峰网
雷峰网
爱范儿
爱范儿
Jina AI
Jina AI
D
DataBreaches.Net
H
Help Net Security
酷 壳 – CoolShell
酷 壳 – CoolShell

AUR Newest Packages

AUR (en) - linuxqq-clipsync-git AUR (en) - libtslitex-git AUR (en) - libtslitex-git AUR (en) - carton-appimage AUR (en) - veila-git AUR (en) - veila-bin AUR (en) - vigil-baseline AUR (en) - byedroid AUR (en) - neovim-base16-git AUR (en) - pirata AUR (en) - rpi-imager-git-non-root AUR (en) - python-fastapi-sso AUR (en) - tmux-ai-titles AUR (en) - zeed-bin AUR (en) - bclone-bin AUR (en) - dwl-git-azerty AUR (en) - auggie-bin AUR (en) - libspatialaudio-git AUR (en) - libspatialaudio AUR (en) - miniupnpd-iptables-legacy AUR (en) - miniupnpd-nft AUR (en) - jeeves-bin AUR (en) - opennow AUR (en) - rotki AUR (en) - kapi-bin AUR (en) - classfi-bin AUR (en) - classfi-git AUR (en) - classfi AUR (en) - giff-git AUR (en) - budget-tracker-bin
AUR (en) - cardano-wallet
2026-06-14 · via AUR Newest Packages

The build (and probably also the default Haskell ecosystem in Arch) is still just broken:

[1 of 2] Compiling Data.Digest.Adler32 ( dist/build/Data/Digest/Adler32.hs, dist/build/Data/Digest/Adler32.o, dist/build/Data/Digest/Adler32.dyn_o )

Data/Digest/Adler32.hsc:15:8: error:
    Could not find module ‘Prelude’
    There are files missing in the ‘base-4.14.2.0’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
15 | module Data.Digest.Adler32 (
   |        ^^^^^^^^^^^^^^^^^^^

Data/Digest/Adler32.hsc:19:1: error:
    Could not find module ‘Data.ByteString.Unsafe’
    There are files missing in the ‘bytestring-0.10.12.0’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
19 | import Data.ByteString.Unsafe (unsafeUseAsCStringLen)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Digest/Adler32.hsc:20:1: error:
    Could not find module ‘Foreign’
    There are files missing in the ‘base-4.14.2.0’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
20 | import Foreign
   | ^^^^^^^^^^^^^^

Data/Digest/Adler32.hsc:22:1: error:
    Could not find module ‘Data.ByteString’
    There are files missing in the ‘bytestring-0.10.12.0’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
22 | import qualified Data.ByteString as S
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Digest/Adler32.hsc:23:1: error:
    Could not find module ‘Data.ByteString.Lazy’
    There are files missing in the ‘bytestring-0.10.12.0’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
23 | import qualified Data.ByteString.Lazy as L
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Digest/Adler32.hsc:24:1: error:
    Could not find module ‘Data.ByteString.Lazy.Internal’
    There are files missing in the ‘bytestring-0.10.12.0’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
24 | import qualified Data.ByteString.Lazy.Internal as LI
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Data/Digest/Adler32.hsc:25:1: error:
    Could not find module ‘System.IO.Unsafe’
    There are files missing in the ‘base-4.14.2.0’ package,
    try running 'ghc-pkg check'.
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
25 | import qualified System.IO.Unsafe as U
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The current ghc is 9.0.1 and this builds with 8.10.5 just fine, as long as the trick used by @lsf on cardano-node is applied also here:

diff --git a/PKGBUILD b/PKGBUILD
index 685af94..0232e8a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,28 +1,43 @@
 # Maintainer: Michał Sałaban <michal@salaban.info>
 pkgname=cardano-wallet
-_version=2021-03-04
-pkgver=20210304
+_version=2021-06-11
+pkgver=20210611
 pkgrel=1
 pkgdesc='HTTP server & command-line for managing UTxOs and HD wallets in Cardano.'
 license=('Apache')
 arch=('any')
 url='https://github.com/input-output-hk/cardano-wallet'
-makedepends=('cabal-install-bin' 'ghc-8.6=8.6.5')
+_ghc_version="8.10.5"
+makedepends=('cabal-install-bin')
 source=("https://github.com/input-output-hk/${pkgname}/archive/v${_version}.zip"
         "arch-ghc.patch")
-sha256sums=("84fcf0aee57d575c35a29b12d084019df5e0e7bee968d4db92ebdb2fa32c933a"
-        "4212a64f158529417cb06eaeaffb893fa41457fbe5edd310242f9aec54f2e2ff")
+sha256sums=('9b72329915bc342d442e1d0cee7225ca7b0cb702068082801ac2b7f2c0ec9918'
+            'c5c55e3ff75efe867943bad207a22c3ebc2afe74ac1e4ab2d311ed307f3cb1aa')

 pkgver() {
     echo ${_version} | sed s/-//g
 }

-build() {
+prepare() {
   cd "${srcdir}/${pkgname}-${_version}"
+  patch -p1 < ../arch-ghc.patch
+  # NOTE: this is used to avoid running out of space when
+  # /tmp is not large enough
+  mkdir -p ${srcdir}/ghcup_tmp
+  TMPDIR=${srcdir}/ghcup_tmp ghcup install ghc ${_ghc_version}
+  ghcup set ghc ${_ghc_version}
+  ghcup install cabal
+  export PATH="$HOME/.cabal/bin:$HOME/.ghcup/bin:$PATH"
   cabal update
+  cabal configure
+  echo "package cardano-crypto-praos" >> ${srcdir}/${pkgname}-${_version}/cabal.project.local
+  echo "  flags: -external-libsodium-vrf" >> ${srcdir}/${pkgname}-${_version}/cabal.project.local
+}
+
+build() {
+  cd "${srcdir}/${pkgname}-${_version}"
   rm -rf ./arch-build
   mkdir ./arch-build
-  patch -p1 < ../arch-ghc.patch
   cabal install cardano-wallet --install-method=copy --installdir=./arch-build
 }

diff --git a/arch-ghc.patch b/arch-ghc.patch
index 5117739..f06f886 100644
--- a/arch-ghc.patch
+++ b/arch-ghc.patch
@@ -1,11 +1,10 @@
 diff -Nurwa a/cabal.project b/cabal.project
 --- a/cabal.project
 +++ b/cabal.project
-@@ -1,7 +1,7 @@
- -- Generated by stackage-to-hackage
- 
--with-compiler: ghc-8.6.5
-+with-compiler: /opt/ghc-8.6/bin/ghc
- 
+@@ -2,7 +2,7 @@
+
+-with-compiler: ghc-8.10.4
++with-compiler: ghc-8.10.5
+
  packages:
      lib/core/

Without the hacks it will fail at link time due to some missing libsodium stuff or even earlier than that due to missing Haskell dependencies.

In an effort to deduplicate the ghc-8.6 and ghc8.6-bin packages, would you mind switching to depend on ghc8.6-bin? Something like this should work:

PKGBUILD:

-makedepends=(… 'ghc-8.6=8.6.5')
+makedepends=(… 'ghc8.6')

arch-ghc.patch (run updpkgsums as needed):

-with-compiler: ghc-8.6.5
+with-compiler: ghc-8.6