build flag "-create" leads to undesired dependencies
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
haskell-publicsuffixlist (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
In the (upstream debian) debian/rules, build flags are defined as such:
DEB_SETUP_
The flag "-create" is "false" in the original cabal. Turning it on creates dependency on conduit and most importantly on idna. In great majority of cases, packages that use "publicsuffixlist" module do not need the "create" functionality, but because the package is built with -create, they too become dependent on conduit and idna.
The "idna" package is the biggest offender here. It is bindings to a library written in C++. Fist, the fact makes it next to impossible to build statically, which makes your program depend on a shared library that is part of a (C++) idna package. Second, the (C++) idna package is a moving target, the versions of .so that are installed in different releases of Ubuntu are incompatible (unlike, say, glibc). It makes your compiled Haskell program dependent on the version of the distribution due to a feature of the library that is not necessary for your program.
I suggest to either build the package without -fruntimelist -fcreate flags, or build two versions of the package:
1. "minimal", that the users will depend upon, built with -fruntimelist and with DEB_ENABLE_TESTS = no.
This "minimal" package will have "full" package as _build_ (but not runtime) dependency.
2. "full", with -fruntimelist -fcreate and with DEB_ENABLE_TESTS = yes.
This package which is capable of creating the "effective_
Please consider.
Debian upstream package is https:/
I will notify the debian uploader about this ticket.
Eugene