From 4813e3fc5ffd1e2f009b51cce1005b464b3082e0 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Tue, 7 Nov 2023 09:04:50 -0800 Subject: [PATCH] pkg:ui: fix wasteful double-building of hledger-ui modules --- hledger-ui/Hledger/UI/Main.hs | 4 +-- hledger-ui/app/hledger-ui.hs | 4 +++ hledger-ui/hledger-ui.hs | 7 ---- hledger-ui/package.yaml | 62 +++++++++++++++++++---------------- 4 files changed, 39 insertions(+), 38 deletions(-) create mode 100644 hledger-ui/app/hledger-ui.hs delete mode 100644 hledger-ui/hledger-ui.hs diff --git a/hledger-ui/Hledger/UI/Main.hs b/hledger-ui/Hledger/UI/Main.hs index 6e3a7692b..8dd9d7f36 100644 --- a/hledger-ui/Hledger/UI/Main.hs +++ b/hledger-ui/Hledger/UI/Main.hs @@ -56,8 +56,8 @@ writeChan :: BC.BChan a -> a -> IO () writeChan = BC.writeBChan -main :: IO () -main = withProgName "hledger-ui.log" $ do -- force Hledger.Utils.Debug.* to log to hledger-ui.log +hledgerUiMain :: IO () +hledgerUiMain = withProgName "hledger-ui.log" $ do -- force Hledger.Utils.Debug.* to log to hledger-ui.log traceLogAtIO 1 "\n\n\n\n==== hledger-ui start" dbg1IO "args" progArgs dbg1IO "debugLevel" debugLevel diff --git a/hledger-ui/app/hledger-ui.hs b/hledger-ui/app/hledger-ui.hs new file mode 100644 index 000000000..233e4e9f1 --- /dev/null +++ b/hledger-ui/app/hledger-ui.hs @@ -0,0 +1,4 @@ +import Hledger.UI.Main (hledgerUiMain) + +main :: IO () +main = hledgerUiMain diff --git a/hledger-ui/hledger-ui.hs b/hledger-ui/hledger-ui.hs deleted file mode 100644 index 4e7ef509f..000000000 --- a/hledger-ui/hledger-ui.hs +++ /dev/null @@ -1,7 +0,0 @@ -module Main (main) -where --- import Hledger.UI (main) --- workaround for GHC 9.0.1 https://gitlab.haskell.org/ghc/ghc/-/issues/19397, #1503 -import qualified Hledger.UI.Main (main) -main :: IO () -main = Hledger.UI.Main.main diff --git a/hledger-ui/package.yaml b/hledger-ui/package.yaml index 8c624d72c..17faf1868 100644 --- a/hledger-ui/package.yaml +++ b/hledger-ui/package.yaml @@ -50,34 +50,6 @@ ghc-options: dependencies: - base >=4.14 && <4.19 -- hledger-lib >=1.31.99 && <1.32 -- hledger >=1.31.99 && <1.32 -- ansi-terminal >=0.9 -- async -- cmdargs >=0.8 -- containers >=0.5.9 -- data-default -- directory -- doclayout >=0.3 && <0.5 -- extra >=1.6.3 -- filepath -- fsnotify >=0.4 && <0.5 -- microlens >=0.4 -- microlens-platform >=0.2.3.1 -- megaparsec >=7.0.0 && <9.6 -- mtl >=2.2.1 -- process >=1.2 -- safe >=0.3.19 -- split >=0.1 -- text >=1.2 -- text-zipper >=0.4 -- time >=1.5 -- transformers -- vector -# not installable on windows, cf buildable flag below -- brick >=1.5 -- vty >=5.15 -- unix when: # curses is required to build terminfo for vty for hledger-ui. @@ -104,11 +76,43 @@ library: - Hledger.UI.Main - Hledger.UI.Theme - Hledger.UI.UIOptions + dependencies: + - hledger-lib >=1.31.99 && <1.32 + - hledger >=1.31.99 && <1.32 + - ansi-terminal >=0.9 + - async + - cmdargs >=0.8 + - containers >=0.5.9 + - data-default + - directory + - doclayout >=0.3 && <0.5 + - extra >=1.6.3 + - filepath + - fsnotify >=0.4 && <0.5 + - microlens >=0.4 + - microlens-platform >=0.2.3.1 + - megaparsec >=7.0.0 && <9.6 + - mtl >=2.2.1 + - process >=1.2 + - safe >=0.3.19 + - split >=0.1 + - text >=1.2 + - text-zipper >=0.4 + - time >=1.5 + - transformers + - vector + # not installable on windows, cf buildable flag below + - brick >=1.5 + - vty >=5.15 + - unix executables: hledger-ui: - source-dirs: . + source-dirs: app main: hledger-ui.hs + dependencies: + - base >=4.14 && <4.19 + - hledger-ui when: - condition: flag(threaded) ghc-options: -threaded