Commit Graph

160 Commits

Author SHA1 Message Date
Simon Michael
53332ee6a5 stack: re-enable hledger-web with ghc 9.2 2022-04-15 15:07:17 -10:00
Simon Michael
07629c803a stack: bump stack & shake to latest nightly 2022-04-15 15:07:17 -10:00
Simon Michael
4a75acedf0 tools: stack: make stackage nightly/ghc 9.2 the default 2022-04-15 15:07:17 -10:00
Simon Michael
75523cae6f tools: stack: rename the 9.0 config 2022-04-15 15:07:17 -10:00
Simon Michael
e91fb8e0db tools: stack: use stackage lts 2022-03-26 09:38:10 -10:00
Simon Michael
7a781b04e5 fix: ci: restore stack.yaml as a regular file to fix CI
Github actions `hashFiles()` may not like symlinks, see comment in
push.yml.
2022-03-25 20:59:28 -10:00
Simon Michael
6914333526 fix: reverse d60e1464's accidental setting of GHC 9.2 as default
There was some reason it wasn't a symlink before, but let's keep that
and see.
2022-03-25 19:46:02 -10:00
Simon Michael
d60e1464d5 imp: fix MonadIO import (#1847) 2022-03-25 14:49:56 -10:00
Simon Michael
b5bb3b4d03 pkg: bump to stackage nightly-2022-03-03 2022-03-04 15:38:57 -10:00
Simon Michael
5ca5f2f875 stack: bump to ghc 9.0.2, with mac m1 workaround 2022-01-21 17:33:19 -10:00
Simon Michael
f511aaf3b3 stack: note 9.0.2 blocker 2022-01-14 09:32:37 -10:00
Simon Michael
2aa7fb9a09 stack: 810, 90 updates 2021-12-16 12:51:05 -10:00
Simon Michael
5af1ac29c5 pkg: bump to latest nightly snapshot to avoid buggy happy 1.21.0 2021-11-22 18:01:20 -10:00
Stephen Morgan
d1ae0c10d6 pkg: Bump stack lts and nightlies. 2021-11-11 18:29:50 -10:00
Simon Michael
14e1efc843 stack: 9.0: rename yaml file, making 9.0 the default 2021-07-20 20:38:39 -10:00
Simon Michael
dd8d6336a1 stack: 8.10: rename yaml file 2021-07-20 20:38:39 -10:00
Simon Michael
4559013bb8 stack: bump to lts-18 2021-07-03 11:45:50 -10:00
Simon Michael
750db7ed6f stack: bump default to lts-17.4/ghc-8.10.4 2021-03-05 14:56:33 -08:00
Simon Michael
31868a6892 ;stack: build with lts-17/ghc-8.10.3 by default 2021-01-29 15:13:06 -08:00
Simon Michael
d17d92b338 ;stack, bin: bump all to lts-16.25 2020-12-08 12:59:25 -08:00
Simon Michael
64c45cc9ae ;stack: bump to lts-16.24 2020-12-05 17:22:04 -08:00
Simon Michael
f39938d7ef stack: ghc-options notes 2020-11-16 14:41:52 -08:00
Simon Michael
a97daaf322 lib: replace pretty-show with pretty-simple
pretty-simple, already used in .ghci, will hopefully give nicer debug
output, including for values which don't have Read-able Show output.
This should mean that we can start removing custom string-like Show
instances that were a workaround for pretty-show.

We are using the latest version (4.0.0.0) to get compact output.
Here's some old pretty-show output:

 CsvRules
   { rdirectives = [ ( "skip" , "1" ) ]
   , rcsvfieldindexes = [ ( "date" , 1 ) , ( "amount" , 2 ) ]
   , rassignments = [ ( "amount" , "%2" ) , ( "date" , "%1" ) ]
   , rconditionalblocks = []
   }

And the new pretty-simple output:

 CsvRules
   { rdirectives=
     [ ( "skip", "1" ) ]
   , rcsvfieldindexes=
     [ ( "date", 1 ), ( "amount", 2 ) ]
   , rassignments=
     [ ( "amount", "%2" ), ( "date", "%1" ) ]
   , rconditionalblocks= []
   }

Non-compact pretty-simple output would be:

 CsvRules
     { rdirectives=
         [
             ( "skip"
             , "1B"
             )
         ]
     , rcsvfieldindexes=
         [
             ( "date"
             , 1
             )
         ,
             ( "amount"
             , 2
             )
         ]
     , rassignments=
         [
             ( "amount"
             , "%2"
             )
         ,
             ( "date"
             , "%1"
             )
         ]
     , rconditionalblocks=[]
     }

Also:

- Account's Show instance no longer converts : to _ in account names

- drop unused pretty-show dependency from hledger, hledger-ui packages

- regenerate hledger-lib with the older hpack that's shipped in stack
2020-11-10 08:06:11 -08:00
Simon Michael
5f1e040ad7 stack: bump default resolver to lts 16.12, ghc 8.8.4 2020-09-02 10:20:57 -07:00
Simon Michael
edbc639f8e Revert "Use -split-sections on everything" (#1328)
This causes problems on mac at least, and we already do it in
.github/workflows/linux.yml, so probably best not to add it here.

This reverts commit 84d479cdc4.
2020-08-11 18:10:39 -07:00
Colin Woodbury
84d479cdc4 Use -split-sections on everything 2020-08-11 17:46:37 -07:00
Simon Michael
7881edfce1 stack: bump default stack file to lts 16 2020-07-05 06:54:38 -07:00
Simon Michael
204b747664 ;stack: drop old probably wrong note 2020-06-06 13:31:05 -07:00
Simon Michael
216cf8d596 ;enable doctest with ghc 8.10 2020-03-30 15:28:11 -07:00
Simon Michael
04931bb0db ;stack: generate ide info files (disabled) 2020-03-16 11:18:04 -07:00
Simon Michael
b151235a43 ;stack: bump default, 8.10 builds to lts-15.4 2020-03-16 10:41:22 -07:00
Simon Michael
a88d9efdf5 ;stack: use lts-15.2 by default again, to help CI 2020-03-07 04:16:42 -08:00
Simon Michael
000434083a ;stack[-8.10]: consistency cleanups
[ci skip]
2020-03-01 15:01:37 -08:00
Simon Michael
bd333a344d ;stack: bump to latest nightly, regex now included
[ci skip]
2020-01-31 14:49:29 -08:00
Simon Michael
e31f644f9a ;stack: bump to latest nightly
[ci skip]
2020-01-28 09:29:46 -08:00
Simon Michael
c84466fb29 ;shake: can use the default stack.yaml/GHC 8.8 (#1090)
[ci skip]
2020-01-28 09:21:10 -08:00
Amarandus
76ffaca466 web: Add IPv6 and hostname support
This commit introduces IPv6 support (and thus closes #1145).
It also allows using local hostnames as a parameter for --host.
For this, multiple things needed to be changed:

 - checkWebOpts is dropped, as the supplied parameter is checked later
 by Network.Socket.getAddrInfo
 - defbaseurl needs to check if : is used in the host, as this indicates
 the usage of an IPv6 address. In this case, the host needs to be
 wrapped in [] for the base URL
 - To allow opening such a modified base URL, runHostPortFullUrl is used
 instead of runhostPortUrl, as it allows opening arbitrary URLs instead
 of a path prefixed with http://127.0.0.1

As checking the host for validity is postponed until the webserver tries
to start, an invalid hostname leads to an exception caused by
Network.Socket.getAddrInfo.
This is still fine, as hledger-web won't start in an undefined state, but
will terminate with a nonzero exit code.
2020-01-17 13:18:51 -08:00
Simon Michael
04ea95cb91 ;stack: bump to latest nightly snapshot 2020-01-06 11:31:24 -08:00
Simon Michael
7e49d8cce9 ;stack: build with ghc 8.8, latest nightly by default
Shake.hs's deps (regex) might or might not build with ghc 8.8 yet.
2019-12-24 17:19:11 -08:00
Simon Michael
39d9e417c3 ;stack: rename the ghc 8.6 stack.yaml 2019-12-24 17:17:51 -08:00
Simon Michael
3c226f869a ;stack: use base-compat < 0.11 and latest lts for Shake/regex (#1090)
[ci skip]
2019-11-29 07:48:03 -08:00
Simon Michael
8952dc9a93 ;stack: build with base-compat 0.11, for testing 2019-11-26 14:17:55 -08:00
Simon Michael
fc2f4d018f ;remove more traces of hledger-api
[ci skip]
2019-09-10 20:12:38 -07:00
Simon Michael
499e20c0b2 lib, cli, ui: start using Control.Monad.Fail, allow base-compat 0.11
fail is moving out of Monad and into it's own MonadFail class.
This will be enforced in GHC 8.8 (I think).

base-compat/base-compat-batteries 0.11.0 have adapted to this,
and are approaching stackage nightly
(https://github.com/commercialhaskell/stackage/issues/4802).

hledger is now ready to build with base-compat-batteries 0.11.0, once
all of our deps do (eg aeson). We are still compatible with the older
0.10.x and GHC 7.10.3 as well.

For now we are using both fails:

- new fail (from Control.Monad.Fail), used in our parsers, imported
  via base-compat-batteries Control.Monad.Fail.Compat to work with
  older GHC versions.

- old fail (from GHC.Base, exported by Prelude, Control.Monad,
  Control.Monad.State.Strict, Prelude.Compat, ...), used in easytest's
  Test, since I couldn't find their existing fail implementation to update.

To reduce (my) confusion, these are imported carefully, consistently,
and qualified everywhere as Fail.fail and Prelude.fail, with clashing
re-exports suppressed, like so:

import Prelude hiding (fail)
import qualified Prelude (fail)
import Control.Monad.State.Strict hiding (fail)
import "base-compat-batteries" Prelude.Compat hiding (fail)
import qualified "base-compat-batteries" Control.Monad.Fail.Compat as Fail
2019-09-08 17:13:47 -07:00
Simon Michael
32154131c9 ;stack: bump default snapshot to lts-14.4
[ci skip]
2019-09-01 08:53:06 -07:00
Simon Michael
ff481e88c0 stack: stop building hledger-api
[ci skip]
2019-08-16 16:22:06 -07:00
Simon Michael
ccc437664d stack: bump to lts-14.1 2019-08-16 15:58:58 -07:00
Simon Michael
875e85ad36 ;stack: bump to latest nightly & brick
[ci skip]
2019-07-26 10:51:41 +01:00
Simon Michael
49523b1611 ;stack: bump to latest nightly snapshot 2019-07-24 18:12:54 +01:00
Simon Michael
827c9b7af5 stack: update deps, fix build of hledger-ui (#1071) 2019-07-24 18:12:54 +01:00