From d9e9efe900b0da5884ee195fae4b9f75e448eef7c7e317e8c5ae74b0b276a69c Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Fri, 1 Mar 2024 19:00:06 +0000 Subject: [PATCH] osc copypac from project:devel:languages:haskell:ghc-9.8.x package:hledger-ui revision:6, using keep-link OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/hledger-ui?expand=0&rev=51 --- fix-build-with-ghc-9.8.x.patch | 50 ++++++++++++++++++++++++++++++++++ hledger-ui.changes | 6 ++++ hledger-ui.spec | 4 ++- 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 fix-build-with-ghc-9.8.x.patch diff --git a/fix-build-with-ghc-9.8.x.patch b/fix-build-with-ghc-9.8.x.patch new file mode 100644 index 0000000..51ca423 --- /dev/null +++ b/fix-build-with-ghc-9.8.x.patch @@ -0,0 +1,50 @@ +From de3209a2fbe50093236b95ec525eaea654e9dcb3 Mon Sep 17 00:00:00 2001 +From: Vekhir <134215107+Vekhir@users.noreply.github.com> +Date: Sun, 18 Feb 2024 23:53:29 +0100 +Subject: [PATCH] fix: Hide ambiguous instance for (!?) + +base 4.19.0.0 introduces Data.List.!? which clashes with Data.Vector.!?, the latter of which is needed for vector operations. +--- + hledger-ui/Hledger/UI/AccountsScreen.hs | 5 +++++ + hledger-ui/Hledger/UI/RegisterScreen.hs | 4 ++++ + 2 files changed, 9 insertions(+) + +diff --git a/hledger-ui/Hledger/UI/AccountsScreen.hs b/hledger-ui/Hledger/UI/AccountsScreen.hs +index af5dd99bb9b..28361cce54e 100644 +--- a/hledger-ui/Hledger/UI/AccountsScreen.hs ++++ b/hledger-ui/Hledger/UI/AccountsScreen.hs +@@ -1,5 +1,6 @@ + -- The accounts screen, showing accounts and balances like the CLI balance command. + ++{-# LANGUAGE CPP #-} + {-# LANGUAGE OverloadedStrings #-} + {-# LANGUAGE RecordWildCards #-} + {-# LANGUAGE TupleSections #-} +@@ -23,7 +24,11 @@ import Brick.Widgets.List + import Brick.Widgets.Edit + import Control.Monad + import Control.Monad.IO.Class (liftIO) ++#if MIN_VERSION_base(4,19,0) ++import Data.List hiding (reverse, (!?)) ++#else + import Data.List hiding (reverse) ++#endif + import Data.Maybe + import qualified Data.Text as T + import Data.Time.Calendar (Day) +diff --git a/hledger-ui/Hledger/UI/RegisterScreen.hs b/hledger-ui/Hledger/UI/RegisterScreen.hs +index d55d22d8252..92c2d7caefa 100644 +--- a/hledger-ui/Hledger/UI/RegisterScreen.hs ++++ b/hledger-ui/Hledger/UI/RegisterScreen.hs +@@ -19,7 +19,11 @@ where + import Control.Monad + import Control.Monad.IO.Class (liftIO) + import Data.Bifunctor (bimap, Bifunctor (second)) ++#if MIN_VERSION_base(4,19,0) ++import Data.List hiding ((!?)) ++#else + import Data.List ++#endif + import Data.Maybe + import qualified Data.Text as T + import qualified Data.Vector as V diff --git a/hledger-ui.changes b/hledger-ui.changes index 1dde5e6..e6c4cf3 100644 --- a/hledger-ui.changes +++ b/hledger-ui.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 28 16:04:39 UTC 2024 - Peter Simons + +- Apply "fix-build-with-ghc-9.8.x.patch" to fix the build with + base library version 4.19.x. + ------------------------------------------------------------------- Sun Jan 28 12:19:56 UTC 2024 - Peter Simons diff --git a/hledger-ui.spec b/hledger-ui.spec index 5b93be0..5b5b7a1 100644 --- a/hledger-ui.spec +++ b/hledger-ui.spec @@ -25,6 +25,7 @@ Summary: Terminal interface for the hledger accounting system License: GPL-3.0-or-later URL: https://hackage.haskell.org/package/%{name} Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz +Patch1: https://github.com/simonmichael/hledger/commit/de3209a2fbe50093236b95ec525eaea654e9dcb3.patch#/fix-build-with-ghc-9.8.x.patch BuildRequires: chrpath BuildRequires: ghc-Cabal-devel BuildRequires: ghc-ansi-terminal-devel @@ -132,7 +133,8 @@ Supplements: (ghc-%{pkg_name}-devel and ghc-prof) This package provides the Haskell %{pkg_name} profiling library. %prep -%autosetup +%autosetup -p2 +cabal-tweak-dep-ver base "<4.19" "< 5" %build %ghc_lib_build