From 23d13c9a9f01b228da9f7cc9a2fd2b37f4523c1a Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Thu, 25 Apr 2024 06:51:01 -1000 Subject: [PATCH] imp: web: support base64 >=1.0 --- hledger-web/Hledger/Web/Widget/AddForm.hs | 10 +++++++++- hledger-web/package.yaml | 2 +- stack.yaml | 2 -- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/hledger-web/Hledger/Web/Widget/AddForm.hs b/hledger-web/Hledger/Web/Widget/AddForm.hs index d67bf3b7b..fa76ca22e 100644 --- a/hledger-web/Hledger/Web/Widget/AddForm.hs +++ b/hledger-web/Hledger/Web/Widget/AddForm.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE GADTs #-} {-# LANGUAGE OverloadedStrings #-} @@ -11,6 +12,9 @@ module Hledger.Web.Widget.AddForm ) where import Control.Monad.State.Strict (evalStateT) +#if MIN_VERSION_base64(1,0,0) +import Data.Base64.Types (extractBase64) +#endif import Data.Bifunctor (first) import Data.Foldable (toList) import Data.List (dropWhileEnd, unfoldr) @@ -192,7 +196,11 @@ toBloodhoundJson ts = ] where -- decodeBase64EncodedText is defined in add-form.hamlet - b64wrap = ("decodeBase64EncodedText(\""<>) . (<>"\")") . encodeBase64 + b64wrap = ("decodeBase64EncodedText(\""<>) . (<>"\")") . +#if MIN_VERSION_base64(1,0,0) + extractBase64 . +#endif + encodeBase64 zipDefault :: a -> [a] -> [a] -> [(a, a)] zipDefault def (b:bs) (c:cs) = (b, c):(zipDefault def bs cs) diff --git a/hledger-web/package.yaml b/hledger-web/package.yaml index 60c306958..e9d1f64de 100644 --- a/hledger-web/package.yaml +++ b/hledger-web/package.yaml @@ -94,7 +94,7 @@ library: - hledger-lib >=1.33.99 && <1.34 - hledger >=1.33.99 && <1.34 - aeson >=1 && <2.3 - - base64 <1 + - base64 - blaze-html - blaze-markup - bytestring diff --git a/stack.yaml b/stack.yaml index f5427b34c..543e330fa 100644 --- a/stack.yaml +++ b/stack.yaml @@ -9,8 +9,6 @@ packages: - hledger-web extra-deps: -- base64-0.4.2.4 # hledger-web does not yet support base64-1 - - process-1.6.19.0 # for HSEC-2024-0003 - haskeline-0.8.2.1