Bug 361349 has comments (from 2011, admittedly) stating: "BTW is there a good reason not to use /run on non-linux systems? I think it will be even more painful for apps to support another case like that." "we're not going to dictate standards to other OS's, and i don't see any pain here at all. no package should be using paths to /run/ in place of /var/run/." "/run is linux-specific by design, so I agree. We are not going to put the /run directory on non-linux systems." ... yet there now exist a growing number of ebulids which provide init-scripts which do hard-code '/run'. For example rrdcached, ulogd, and lighttpd all now use /run rather than /var/run for PID files. In the case of ulogd and rrdtool, these changes are also in place for the Prefix portage tree where baselayout does not create ${PREFIX}/run and the platform doesn't provide /run. So, is Gentoo moving away from support for non-Linux deployments from the default portage tree, or should bugs be filed against packages using /run instead or /var/run (which may be a symlink to /run on Linux) - or is there a third way?
I believe on Linux systems that /run should be used while on non-Linux systems it should likely remain /var/run, until those systems decide to make the same change. I've requested a change to the GNU Coding Standards so that we can get autoconf and automake updates to make this configurable in packages via ./configure. Hopefully this enhancement will come in autoconf 2.70 and automake 1.15. http://lists.gnu.org/archive/html/bug-standards/2013-09/msg00001.html
In general we follow Gentoo Linux in Gentoo Prefix, regardless of the OS