<farkuhar>
beerman's reply to the 2022-June "freetype, harfbuzz, freetype love triangle" thread was very much in the spirit of the CRUX Mantra: "We don't want to prepare for all necessities and build a complex system which in 90% of all cases is overkill." Our utilities are designed to "do the work for you, not the thinking."
<farkuhar>
I did manage to extend the dependency resolver to incorporate soft dependencies, without violating the condition that the directed graph is *acyclic*. In coding this extension, I was haunted by the suspicion that such a feature might be regarded as "doing the thinking for you, not just the work."
<farkuhar>
After all, thinking is involved when the user inspects the "Optional:" line and decides to install, say, graphite2 before harfbuzz. Should our tools then relieve the user of responsibility for thinking about the sysup constraints that stem from such a decision?
<chrcav>
farkuhar: The only issue is if you don't explicitly install an optional dependency but it's installed already as a dependency of another port it gets linked automatically. I was trying to enhance prt-get to show optional dependencies that were installed in the depends list and prt-get info to make it more obvious when this automatic linking has occurred or will occur when that port gets rebuilt.
<farkuhar>
chrcav: Yes, the "eager linking" phenomenon is unfortunately all too common these days. Not just the infamous case of libbsd (mitigated now by installing under a non-standard path), but also libmd, lz4, graphite2, and others. When reading the 2008-May thread cited above, you'll notice a stark contrast in how the core team's opinions on "fluid Pkgfiles" have evolved since then.
<farkuhar>
In 2008 it was a minority view to be in favor of "fluid Pkgfiles". There were disparaging comments about "playing 'pkginfo-i-grep-something' games" in a Pkgfile. Nowadays it's a minority preference to create inflexible Pkgfiles, on the theory that encouraging such rigidity would lead to a proliferation of "near-duplicates" in the portdb (like what the AUR has become).
groovy2shoes has joined #crux-devel
groovy2shoes has quit [Remote host closed the connection]