pkg:ui: fix wasteful double-building of hledger-ui modules
This commit is contained in:
parent
96117ae514
commit
4813e3fc5f
@ -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
|
||||
|
||||
4
hledger-ui/app/hledger-ui.hs
Normal file
4
hledger-ui/app/hledger-ui.hs
Normal file
@ -0,0 +1,4 @@
|
||||
import Hledger.UI.Main (hledgerUiMain)
|
||||
|
||||
main :: IO ()
|
||||
main = hledgerUiMain
|
||||
@ -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
|
||||
@ -50,6 +50,33 @@ ghc-options:
|
||||
|
||||
dependencies:
|
||||
- base >=4.14 && <4.19
|
||||
|
||||
when:
|
||||
# curses is required to build terminfo for vty for hledger-ui.
|
||||
# On POSIX systems it might be not present.
|
||||
# On windows it's very likely not present, but possibly it could be.
|
||||
# Ideally we'd like to
|
||||
# on POSIX: give a clear error ("install your system libcurses-dev package") if not present
|
||||
# on windows: quietly skip building if not present, build if it is present
|
||||
# curses
|
||||
# default: True
|
||||
# description:
|
||||
# For now, just don't build hledger-ui on windows
|
||||
- condition: os(windows)
|
||||
then:
|
||||
buildable: false
|
||||
else:
|
||||
buildable: true
|
||||
|
||||
library:
|
||||
source-dirs: .
|
||||
cpp-options: -DVERSION="1.31.99"
|
||||
exposed-modules:
|
||||
- Hledger.UI
|
||||
- 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
|
||||
@ -79,36 +106,13 @@ dependencies:
|
||||
- vty >=5.15
|
||||
- unix
|
||||
|
||||
when:
|
||||
# curses is required to build terminfo for vty for hledger-ui.
|
||||
# On POSIX systems it might be not present.
|
||||
# On windows it's very likely not present, but possibly it could be.
|
||||
# Ideally we'd like to
|
||||
# on POSIX: give a clear error ("install your system libcurses-dev package") if not present
|
||||
# on windows: quietly skip building if not present, build if it is present
|
||||
# curses
|
||||
# default: True
|
||||
# description:
|
||||
# For now, just don't build hledger-ui on windows
|
||||
- condition: os(windows)
|
||||
then:
|
||||
buildable: false
|
||||
else:
|
||||
buildable: true
|
||||
|
||||
library:
|
||||
source-dirs: .
|
||||
cpp-options: -DVERSION="1.31.99"
|
||||
exposed-modules:
|
||||
- Hledger.UI
|
||||
- Hledger.UI.Main
|
||||
- Hledger.UI.Theme
|
||||
- Hledger.UI.UIOptions
|
||||
|
||||
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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user