Hi Guillame;
I'm Jacques from the CF Buildpacks team.
Currently we wrap Heroku's buildpack code for Ruby, Python, PHP and Node. Of these, the Ruby buildpack is furthest down the path of supporting multiple stack settings according to the STACK environment variable.
Heroku's runtime environment is sufficiently different from ours that we can't run their code as-is without introducing regressions. Consequently there has been ongoing work to manipulate the STACK variable and related variables in order to ensure that Heroku's code operates without change in our environment. We introduced a collection of related changes in 1.1.2[1]. The most important of these is that we forcefully set the value of STACK to '', the empty string, before entering the Heroku code. It's set to the empty string because Heroku's code can handle that case, but causes faults if we set a value such as "lucid64". Different faults are introduced if we set it to "cedar".
We are currently working a regression that 1.1.2 introduced[2], due to the fact that Heroku are now building all their binaries in both cedar or cedar-14 variants, starting with ruby 2.1.3.
The other buildpacks have not yet, to our knowledge, introduced changes that break as badly in our environment as the Ruby buildpack has.
Diego's multi-stack support refers to the Cloud Foundry concept of a stack. The CF and Heroku concepts of a "stack" are similar, but sufficiently different that the Diego stories can give a misleading impression of what's happening. For CF-supported buildpacks apart from Java, you can follow activity on the CF Buildpacks tracker[3].
I hope this helps outline the current situation.
Cheers,
JC.