4 ms·
hledger looks pretty amazing, but there are so many dependencies and updates with Haskell programs. Almost every other day I'm updating like 20 Haskell packages
by techntoke 7y ago
hledger looks pretty amazing, but there are so many dependencies and updates with Haskell programs. Almost every other day I'm updating like 20 Haskell packages for hledger or pandoc when I run a system update. It isn't inherently bad, but never had this issue with a C or Go program.
- smichael 7y agoMay I ask what system is that ? Maybe one of the other packaging methods will give you a more stable installation ? https://hledger.org/download https://hledger.org/download
- jeremyjh 7y agoI'd bet money its Arch. I love `pacman` but the package spam for Haskell is a bit much as its automatically updating everytime a new package is hosted on hackage. I'd recommend skipping it all together, just use stack and build it from source, let stack manage GHC and you'll never update except when you want to.
- Shoop 7y agoTo add some context to this, the reason why packages which depend on haskell in arch are such a mess is because "the arch way" is to dynamically link everything. This has its advantages (namely security), but is not super compatible with the haskell ecosystem which is designed with static linking in mind. Like my parent commenter, I recommend just doing everything through stack. stack-static from the AUR [0] is the convenient way to do this (rather than dragging in a few gigs of ghc dependencies for stack only to have stack create its own local ghc installation as well). [0] https://aur.archlinux.org/packages/stack-static/ https://aur.archlinux.org/packages/stack-static/
- bscphil 7y agoIf I'm not mistaken, Arch has some ornery maintainers in the Haskell department as well. Pandoc in particular used to have a static package, but now it can't be installed without pulling in a bunch of Haskell development packages. The maintainer in this case refused to fix the problem and closes all bug reports without comment. Fortunately there's https://aur.archlinux.org/packages/pandoc-bin/ https://aur.archlinux.org/packages/pandoc-bin/
- techntoke 7y agoYes it is Arch. I'll check out the alternate way soon.
- maximente 7y agohaskell is about the only thing on arch i'm not in love with. i also manually downloaded stack and am using it for xmonad/extensions/xmobar as well hledger now; it's been clean. highly recommended although it does use a lot of disk space - check out ~/.stack disk usage when time comes to pare down
- baroffoos 7y agoWhy does this matter? Are you on a limited network where this is causing issues?
- techntoke 7y agoNo one wants to upgrade 20+ libraries every couple of days just for a couple Haskell-specific packages. I am going to try some of the other solutions mentioned for now.
- baroffoos 7y agoYou say that like its hard work to update. Just set up scheduled updates daily and you will never even know how many updates you get in a day.
- dmos62 7y agoIn my experience automatic updates aren't great. If you're updating manually, you'll be in a much better position to handle problems when they arise, and more importantly these problems won't sneak up on you when you need your system the most, because you won't update unless you can afford the risk at that time.
- gmfawcett 7y agoWell, there's always ledger, the C++ program that HLedger was originally based on: https://github.com/ledger/ledger https://github.com/ledger/ledger I used Ledger once upon a time, quite successfully! Worth a look.
- mark_l_watson 7y agoI am just curious: why do you update so often? I will stick with a stack LTS version for many months, then update all my projects at once when I decide to update. Off topic, but as a student of Haskell for many years, I found reading (this morning) some of the code in the ‘tools’ directory of the github repo to be useful for picking up a few useful idioms.