5 ms·
If I am to install Pandoc (on Arch Linux) I have to install 95 Haskell dependencies besides the ones I already have installed.
by lobocinza 6y ago
If I am to install Pandoc (on Arch Linux) I have to install 95 Haskell dependencies besides the ones I already have installed.
- encryptluks2 6y agoThis is due to the maintainers on Arch and I've complained about it before too. They also update them almost daily so they just add noise to system updates. I just end up running the official Pandoc Docker container.
- bscphil 6y agoThat's the result of a perverse maintainer, there used to be a version that didn't depend on the development libraries.
- lobocinza 6y agoFortunately there is pandoc-bin at the AUR.
- bhrgunatha 6y agoI discovered that quite quickly after they switched. More importantly (for any haskell developers using Arch), there are also static builds for stack, cabal and ghcup too although you then need to maintain your own set of GHC and libraries. I can't imagine what it must be like to use the official packages since the haskell library ecosystem is quite fast moving.
- ttsiodras 6y agoThank you! I had noticed the same problem, but was not aware of this excellent solution. I just applied it, and it works perfectly... and I removed the dozens of Haskell libraries that were there just for Pandoc. For anyone else interested, the same solution applies to shellcheck - just install shellcheck-bin from AUR.
- drran 6y ago> If I am to install Pandoc (on Arch Linux) I have to install 95 Haskell dependencies OMG, you really spent 95x more time, by installing of dependencies one by one? Why not just use a package manager?
- encryptluks2 6y agoI'm assuming they already are using the package manager. The issue is that there are so many dependencies for a single package, and almost every system update consist of updating a bunch of Haskell packages which just clutters maintenance.
- drran 6y agoDistribution does it job: it distributes upstream changes. It's like blaming a zip file, because it contains many small files instead of a few big, so it clutters maintenance. If you see this as a problem, then fix upstream. For me, it's important to receive all upstream changes in one update.
- encryptluks2 6y agoYou still could. With proper build systems they could be pushing a new package whenever a dependency gets updated, or daily.
- lobocinza 6y agoDaily would be a huge improvement but preferably less if it is non critical and I am not using testing repos.
- lobocinza 6y agoNo, I didn't. But, before uninstalling Pandoc, I was wasting time with frequent useless updates of minor Haskell dependencies that should be statically linked in the first place as no other package, at least in general, make use of them.
- colonwqbang 6y agoThe Haskell maintainers in Arch have an almost fantatic fascination with dynamic linking. Dynamic linking is otherwise not the norm in Haskell. Haskell has poor support for dynamic linking. The Haskell (GHC) ABI is known to break on every compiler release. This means that every dynamically linked executable in the system needs to be recompiled. Any programs you compiled locally against dynamic system libs will break, of course. This stance makes it much harder than necessarily for Arch users to get started with Haskell.
- gspr 6y agoWhy is this a problem?