I probably do not know enough to write it well enough myself - mainly because I am unsure of your intended audience. If it is debian you may only be interested in porting between different linux versions - which could be 'tricky' in itself.
However, I see you mention 'OpenBSD', and linuxisms. Why not 'POSIX'? Why not compiler differences (even different versions of gcc have key differences). As "aixtools" I try to package (port) open-source to AIX and the main problems I run into is that for literally one function in a complex library (e.g., glib) that has nearly impossible demands to meet on a non-linux platform (i.e., they 'demand' a feature of gcc for packaging the complete library) using it's legacy compiler - means the package will likely never be ported or maintained outside of a linux environment - where gcc is the 'native' compiler, plus glibc (which is different that POSIX libc) - aka run-time environments.
As I said above, I am probably not the right person to right this - alone at least. But I do feel some 'guidance' about how to design and develop with portability in mind. Every dependency added (because it was there) adds a potential for a security breach via those dependencies (and their respective dependencies). Portability is not 'for free' - it requires planning and documentation.