Remove the lamb from the fridge 1 hour before cooking. Preheat the oven to 200°C/fan 180°C/gas mark 6
For the stuffing, put the garlic, oregano, cinnamon, pistachios, egg, breadcrumbs, lemon zest and juice into a small food processor and whizz until just combined. Add feta, season with black pepper; pulse once.
Put lamb skin-side down on a board, remove string and open out. Without piercing skin, make slits in larger parts of the leg to help flatten. Cover with clingfilm; bash with rolling pin. Spread over stuffing, then roll up from one short end to the other and secure with string at 3cm intervals, and at each end.
Put lamb into a roasting tin, brush with oil and season. Pour wine into tin; roast for calculated time (medium-rare; 15 min per 450g; well done; 25 min per 450g. After 1 hour, brush with honey and cook for remaining time. Remove from tin. Transfer to a platter and cover with foil to rest for 20 min while you make the gravy.
To make the gravy, skim fat from cooking juices, then stir in flour to form a thick paste. Cook over medium heat for 2 min, stirring. Whisk in stock until smooth, bring to the boil, then stir over a medium heat until thickened. Carve lamb and serve with gravy.