Trim skin from grapefruit, cut into strips about 2cm (just under an inch) wide, then thinly slice. Put the sliced skin into a large pot.
Trim excess pith away from the fruit and discard. Chop into quarters, then trim away the tough, pithy centres and seeds and set these aside. Cut the fruit into small chunks and add to the pot.
Using a piece of muslin cloth or similar, and some natural string, tie up a bundle of the pithy centres, seeds, and all of the whole spices. Add the bundle to the pot.
Cover everything in the pot with 1 litre (2 pints) of water and bring to a boil. Turn down the heat and simmer for 1 hour, stirring every now and then. Pay attention during the last 15 minutes or so, once the mixture has reduced it may start to stick.
Once the time is up, use tongs to remove the bundle and squeeze the juice out of it into the pot.
Put a plate in the fridge or freezer to chill.
Add sugar to the pot and stir to combine. Turn the heat up to medium and stir until the sugar has dissolved. Turn the heat up again to medium-high and bring to a rolling boil, stirring often, for five minutes.
Test whether the marmalade is done by dropping a small amount onto the chilled plate and letting it cool for a minute. Run your finger through it, if a channel forms and remains, the marmalade is done. If not, cook for another 1-2 minutes then try again.
Turn the heat down and wait for the marmalade to stop bubbling, then carefully pour the marmalade into hot jars and seal immediately.