Preheat oven to 350°F. Grease a 9x13-inch baking dish.
In a saucepan, combine water, 1/2 cup butter, and cocoa powder. Bring to a boil and stir until smooth. Set aside.
In a large mixing bowl, whisk together flour, sugar, baking soda, and salt.
Add the cocoa mixture, buttermilk, eggs, and vanilla extract. Mix until fully combined.
Pour the batter into the prepared pan and bake for 30-35 minutes, or until a toothpick comes out clean.
To make the frosting, combine 1/2 cup butter, evaporated milk, sugar, and egg yolks in a saucepan. Cook over medium heat, stirring constantly, until thickened (about 10-12 minutes).
Remove from heat and stir in vanilla, coconut, and pecans.
Spread the frosting over the cooled cake before serving.