Follow

pandoc has HALF A GIGABYTE of dependencies. Choose better doc generators, dammit

@sir true, for end user software. It's insanely good at specific things, like building parsers (parsec), but yeah the bloat is to much to swallow for most situations.

@sir @jb55 yes that's also something you can make parsers with.

@sir @jb55 I don't think you can compare Haskell with yacc. The people at GitHub working on semantic explained why they use Haskell[1], and I doubt that they'd be better off with yacc+C.

Also, pandoc is a beast with support for almost every widely used document path. This is less a problem with Haskell, and more a problem with using a less featureful doc generator like haddock, which is actually the standard tool used for GHC and supported by Hoogle. Actually, pandoc isn't even a documentation generator but rather a document converter, so I'd imagine that haddock is still used to generate the docs and then pandoc to produce PDFs or something, in which case it *should* be an optional dependency.

[1] github.com/github/semantic/blo

@sir Closely related language Idris looks better than Haskell if we are talking about practicalities like executables size etc.
It may be somewhere between C and Go in this regard.
And it is striving to become systems language eventually.

I believe it is as capable of parsing tasks as Haskell without crazy overhead (MB-sized helloworld) of ghc.

@sir pandoc as a doc generator?

Oh please no, it's like if it was depending on LibreOffice.
@sir And what's the size of LibreOffice and it's dependencies?
@sir Nah, it's just comparable as both are supporting a bloatfest of formats, none should be dependencies (as it makes no sense to) and so be free to use it or not.
{Star,Open,Libre}Office can also be used in pure command line too, except maybe if they removed that at some point.

And yeah, I'd rather pick pandoc than libreoffice, specially as libreoffice just failed to compile for years on my machines.

@lanodan but if your goal is to generate man pages, you use maybe 10 MiB of this crap at best. It's like sending your mate a letter as the only cargo on a giant shipping vessel

@lanodan no one said you should use LibreOffice to generate docs, stop bringing it up

@sir I get node_modules feel from this. Using a package for one or two functions because DRY. Can't understand why people do this

@sir One of the saddest things of the free software ecosystem

@sir
You can always download the prebuilt binary. For eg. Using conda or check archlinux aur for pandoc-bin.

@sir Yeah, because you're using arch which for some stupid fucking reason makes Haskell use dynamic linking (which has always been recommended against). Use a distro with statically linked Haskell packages (read: pretty much anything other than Arch, which is a shitshow)

@j the only other distro I care about doesn't even bother packaging Haskell

@sir I'm assuming Alpine? I'm surprised they don't package it. It's not a musl problem, seeing as void has pandoc for x86_64 on musl as well as glibc (where the pandoc package is only 30M, with very little/no dependencies).

So yeah, don't shit on pandoc, which is a great piece of software. It's entirely the arch maintainers' fault.

@j I _do_ have to compile shit myself a lot, you know. The problems being someone else's problems don't excuse the language/tools problems, especially when I'm someone else

@sir Pandoc is a little bit more than just a man-page generator.

@j @sir Void packages it for both -glibc and -musl and does so sanely, it has a very short list of dependencies (on a base-install it the only additional thing it requires is libnuma).

(I have a memory of things once being *even worse* in Arch: having to install a separate Haskell repo.)

@j Gentoo uses dynamic linking with Haskell too, screw static linking outside of doing cross-distro binairies, it's a huge mess to manage.

It's not because upstream wants their software to burn that the distros should burn with it.

@sir I'm guessing the *TeX dependencies make up most of it. You could always use groff or one of those web-based pdf genereators if that's what you want.

On debian at least the it's just over 117MB.

@zge Even on Arch, pandoc only has an optional texlive-core dependency, and that's only if you want it to be able to spit out pdfs. Otherwise, conversion to TeX doesn't actually require TeX packages. @sir

@sir Maybe two or more years ago, most of these dependencies were listed as `makedepends`. Somewhen someone decided, it'd be a good idea to put them into `depends`, so pandoc grew thank to its Haskell dependencies to approx. 750 MB to install back then.

AUR has the package pandoc-bin since then, which is just repackaging Debian's pandoc package.

@neijatolf
Exactly what I was thinking. Even more annoying is how Haskell packages are frequently updated alongside system upgrades. I installed the binary versions and never looked back.
@sir

@ashwinvis @sir That's what I see with shellcheck at the moment. It's great for linting shell scripts, but it's already up to pkgrel 122 due to many rebuilds.

Sign in to participate in the conversation
Mastodon

cmpwn.com is a private Mastodon instance for friends of SirCmpwn.