#4 Reduce bundled subpackaging of library deps
Opened 3 years ago by petersen. Modified 3 years ago

Currently a number of Haskell packages have bundled subpackages due to lack of package review manpower: package reviews take time and often a library only has a single consuming dependent package, so just bundling that library as a subpackage is fairly harmless in the short term, or it can even prevent package retirement! But this makes the packages rather harder to maintain over time: harder to update and track the versions of the bundled libraries. Later another package may gain a dependency on the bundled library and now that package will depend indirectly on the base package which bundles the library (in terms of source dependencies).

This ticket is about reducing this technical debt: while reaching and maintaining zero would be ideal in practice there are older less active packages with self-contained bundling which is less of an issue: the first priority should be getting rid of newer subpackaging and specially for higher profile packages, and particularly any shared dependencies.


This is the list as of F32:

== Agda ==
✖ EdisonAPI
✖ EdisonCore
geniplate-mirror
murmur-hash
uri-encode

== darcs ==
data-ordlist
wl-pprint-text
graphviz
regex-applicative
regex-compat-tdfa

== ghc-MemoTrie ==
newtype-generics

== ghc-QuickCheck ==
splitmix   [f32]

== ghc-cabal-helper ==
cabal-plan

== ghc-criterion ==
criterion-measurement   [f31]
binary-orphans   [f32]

== ghc-fast-logger ==
easy-file

== ghc-generics-sop ==
sop-core   [f31]

== ghc-hledger-lib ==
cassava-megaparsec   [f31]
✖ easytest   [f31]

== ghc-http2 ==
✅ time-manager

== ghc-kan-extensions ==
invariant

== ghc-language-ecmascript ==
charset

== ghc-lzma-conduit ==
lzma

== ghc-optparse-simple ==
githash

== ghc-servant ==
dec   [f32]
singleton-bool

== ghc-shelly ==
constraints
lifted-async

== ghc-skylighting ==
skylighting-core

== ghc-snap-core ==
readable

== ghc-snap-server ==
io-streams-haproxy

== ghc-statistics ==
dense-linear-algebra   [f31]

== ghc-tar-conduit ==
safe-exceptions

== ghc-tasty ==
wcwidth

== ghc-yaml ==
libyaml   [f31]

== haskell-platform ==
filelock
hi-file-parser
infer-license
hpack
retry
http-download
mintty
mustache
neat-interpolation
open-browser
th-utilities
rio-orphans
pantry
project-template
regex-applicative-text
stack

== hledger ==
utility-ht
lucid

== hlint ==
ghc-lib-parser   [f32]

== pandoc ==
HsYAML   [f31]
bitarray   [f31]
unicode-transforms   [f31]
hslua-module-system   [f32]
ipynb   [f32]

== shake ==
js-flot
js-jquery
filepattern   [f31]
heaps   [f31]
js-dgtable   [f31]

== xmobar ==
iwlib

[f31] means added for f31

[f32] means added for f32

✖ means dropped in lts-15

✅ means has approved package review

When choosing a package to package, please check the latest lts 15/16 package version to confirm the current dependencies.

The above list needs refreshing now that f33 Rawhide packages were updated.
Be sure to check rawhide before taking on any of these, thanks

Updated list for current F34 Rawhide (lts-16)

== Agda master ==
geniplate-mirror
murmur-hash

== darcs master ==
data-ordlist
wl-pprint-text
graphviz
regex-applicative
regex-compat-tdfa

== ghc-MemoTrie master ==
newtype-generics

== ghc-QuickCheck master ==
splitmix

== ghc-cabal-helper master ==
indexed-profunctors
optics-core
assoc
these
semialign
topograph
cabal-plan

== ghc-criterion master ==
criterion-measurement
binary-orphans

== ghc-doctemplates master ==
doclayout
errors
text-conversions

== ghc-fast-logger master ==
easy-file

== ghc-generics-sop master ==
sop-core

== ghc-gi-pango master ==
gi-harfbuzz

== ghc-hledger-lib master ==
cassava-megaparsec
timeit

== ghc-kan-extensions master ==
invariant

== ghc-language-ecmascript master ==
charset

== ghc-lzma-conduit master ==
lzma

== ghc-optparse-simple master ==
githash

== ghc-servant master ==
dec
singleton-bool

== ghc-shelly master ==
type-equality
constraints
lifted-async

== ghc-skylighting master ==
skylighting-core

== ghc-snap-core master ==
readable

== ghc-snap-server master ==
io-streams-haproxy

== ghc-statistics master ==
dense-linear-algebra

== ghc-tar-conduit master ==
safe-exceptions

== ghc-tasty master ==
wcwidth

== ghc-yaml master ==
libyaml

== hledger master ==
utility-ht
lucid

== hlint master ==
ghc-lib-parser-ex
ghc-lib-parser-ex

== pandoc master ==
hslua-module-system
ipynb
emojis
jira-wiki-markup
base-noprelude

== pandoc-citeproc master ==
HsYAML-aeson

== shake master ==
heaps
js-dgtable

== xmobar master ==
pretty-hex
netlink

Login to comment on this ticket.

Metadata