Place the fruit, sugar and butter into a saucepan and cook on a medium heat for 15 minutes, or until softened. (Don’t stir too often as the fruit will become mushy.)
Remove the pan from the heat and pour the contents into a colander set over a large bowl. Leave to stand for 8-10 minutes, stirring once or twice, so as much juice as possible is released by the fruit. You should end up with around 600ml/20fl oz.
Pour the fruit juice back into the saucepan, bring to a simmer and cook for 10-15 minutes, or until the volume of the liquid has reduced by half. Remove the pan from the heat and set aside to cool for 20-30 minutes.
Lightly oil a 1.5 litre/2 pint pudding basin and line with clingfilm, leaving plenty overhanging the edge. Cut a slice of bread using a round cutter and dip it quickly into the fruit juice. Place in the base of the pudding basin.
Cut the other bread slices in half and dip one at a time into the juice. Arrange in slightly overlapping vertical pieces around the inside of the basin, making sure they are soaked in juice without being soggy.
Once all the sides of the basin are lined with bread, pour half of the remaining fruit juice over the drained fruit and stir very lightly until it looks plump and glossy. Spoon the mixture into the pudding basin.
Dip the remaining slices of bread in the fruit juice and place over the top of the pudding, trimming the bread where necessary to give a neat finish. Reserve any remaining fruit juice in a small bowl.
Place the pudding onto a dinner plate. Cover the top of the pudding with the cling film, place a plate on top (make sure it fits inside the basin) and weigh down with a couple of tins. Chill in the fridge overnight.
When ready to serve, remove the weights and plate and open the clingfilm. Place a serving plate on top of the pudding and invert. Remove the basin and peel off the cling film. Brush any gaps where white bread is showing with the reserved fruit juice.