This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
Finally add packages for the "new" version of blackbox, 0.70.x. This window manager is incompatible with older versions, and older add-on applications (aka "bbtools") will not work with this version. Hence, add new versions of bbkeys and bbpager as well, to provide at least the basics. (Again, these will not work with older versions.) Why are we adding these? Well, I'm told that blackbox 0.70.x is fully EWMH compliant and has better fonts. And people always ask "why is blackbox 0.70.x not in pkgsrc?". blackbox version 0.65 and the other bbtools that work with blackbox will remain in pkgsrc.