Preheat oven to 350°F. Grease a 13x9 inch baking dish.
Place the cake mix, instant pudding, 4 eggs, vegetable oil, and 7Up in a large bowl. Whisk until ingredients are combined.
Pour the mixture into the prepared pan. Bake for 40–45 minutes, or until a toothpick inserted into the center comes out clean.
For the frosting:
In a medium saucepan, whisk together the flour, sugar, and pineapple + its juices. Place over medium heat.
Bring to a simmer, then add the eggs and melted butter, whisking constantly so the eggs don’t scramble. Cook for an additional 2–3 minutes, or until thickened. Stir in the coconut.
Pour the frosting over the still-warm cake, and let cool completely before slicing. The frosting will firm up as it cools.
Notes
You can substitute Sprite for the 7Up, if you'd like. Want a simple glaze instead of the frosting? Stir together one-half cup powdered sugar with a few tablespoons of 7Up. Pour that over the cake instead of the frosting. Leftovers: store any remaining 7Up cake in the refrigerator or at room temperature, tightly covered.