Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's not different from what pip install or gem install do by default.

A mature Haskell project such as hledger has probably a few hundred of transitive dependencies, so you won't be able to install them individually by hand. You might try to figure whether each of them is packaged by your distribution (unlikely, unless hledger itself is packaged), but that's not a typical path — just don't use make in that case.



> It's not different from what pip install or gem install do by default.

Pip installing required packages is alright. But I expect setup.py to NOT call pip install by itself.

> A mature Haskell project such as hledger has probably a few hundred of transitive dependencies

That's horrifying!


Maybe so. :) It's also code reuse, actually working, and quite common for non-trivial end-user apps, particularly in the Haskell world. I'm not sure what kind of software you're used to. It's interesting to imagine how hledger would be different if I wrote everything myself, but I have to think it would be far less further along.


Thanks for your answer! I'm used to mostly C, C++ and Python projects. In the worst cases, when I download and compile a program I have to install two or three dependencies, and it is OK if I do it by hand. For an eminently unix-friendly program like hledger I was expecting a similar ease of installation (i.e., I have an arbitrary haskell compiler and I can just compile the program running "make"). But I was surprised that this is not the case; obviously the traditions of the haskell community are different. Yet, it seems very difficult to install this program in a controlled environment without internet access.


Thanks. Well if we assume "arbitrary haskell compiler" means GHC and stack (or just stack), "make install" will compile it. But yes, there will be much downloading, unless you just happen to have all those haskell libs cached locally from previous builds.

"stack install hledger" would compile just the command line tool (not the curses & web tools), so less downloading.

For end-users who want minimum downloading/building, we recommend one of the binary packages on the download page (nix, docker, homebrew, windows/wine), but that's not you I think.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: