Pandoc on Arch is weird

Pandoc is a lovely utility that converts between various document formats. Markdown to pdf, docx to latex, so on – it was quite useful to me in undergrad and I still use it to generate this website (markdown to html!).

And yet, if you let this creature into your system, you’ll be opening the door to a pandemonium of haskell packages!

Packages (219) haskell-aeson-2.1.2.1-179  haskell-aeson-pretty-0.8.10-139  haskell-ansi-terminal-1.0.2-148

...

                haskell-zlib-0.7.0.0-63  hslua-cli-1.4.3-77  libyaml-0.2.5-3  lua-lpeg-1.1.0-4  pandoc-cli-3.4-15

Total Installed Size:  376.12 MiB

219 new packages! Okay, disk space is cheap, no big deal. Perhaps you forget about it in some time, but no! This Legion of haskell packages won’t simply be cast into a pig off a cliff and be forgotten since it will show up on every other system upgrade.

That said, complaining is easy and being a package maintainer on an open source project is not! Felix has given some insight on the situation here. Much love to distro maintainers sacrificing their time and cpu cycles building packages for the ungrateful users that we are.

The alternative of the AUR package which essentially just downloads the pre-built binary from pandoc’s github releases page is easy enough:

Packages (2) pandoc-bin-3.8.2-1  pandoc-bin-debug-3.8.2-1

Total Installed Size:  153.95 MiB

Not only does it take less space to install, my upgrades are now using less bandwidth and are triggered less frequently. Faster too – here is how long it took to clean-build the website with the dynamically linked package:

time make -j32

real    0m7.454s
user    1m9.923s
sys     0m6.874s

And the statically linked package:

time make -j32

real    0m1.384s
user    0m2.912s
sys     0m2.525s

95% performance improvement just from statically linking!

Assuming my measurements above are representative, the resulting power waste from the arch package repository serving hundreds of extra haskell packages to 16% of the arch installations, and the users using 24x the CPU to build their documents is probably non trivial but ultimately such is life.