Fairly easy to make your own...not even messy:
1 medium onion, finely chopped or shredded
2 pounds ground lamb
1 tablespoon finely minced garlic
1 tablespoon dried marjoram
1 tablespoon dried ground rosemary
2 teaspoons kosher salt
1/2 teaspoon freshly ground black pepper
Tzatziki Sauce (below)
*Tzatziki Sauce:
16 ounces plain yogurt
1 cucumber
Pinch kosher salt
4 cloves garlic, finely minced
1 tablespoon olive oil
2 teaspoons red wine vinegar
5 to 6 mint leaves, finely minced
Put the yogurt in a tea towel, gather up the edges, suspend over a bowl, and drain for 2 hours in the refrigerator to drain the liquid the yogurt is holding.
Peel the cucumber and slice it down the middle lengthwise. Take a melonballer and remove the seeds from each half (they're bitter). Then chop the cucumber up. Put the chopped cucumber in a tea towel and squeeze to remove the liquid; toss the liquid. Then put the cucumber, yogurt, salt, garlic, olive oil, vingar, garlic and mint into a bowl and mix it up. This is the sauce you are eating when you order a gyro. It'll keep in the fridge for about a week, and actually gets better the longer you've had it.
Now the gyro portion:
Throw the onion in a food processor for 10 to 15 seconds and dump into the center of a tea towel. Spin the tea towel so that the onions are in a ball wrapped up in it and squeeze to get all the liquid out. Ditch the liquid.
Throw the onion back into food processor and add the lamb, garlic, marjoram, rosemary, salt, and pepper and process until it is a fine paste, about a minute. If you don't have a strong food processor, make sure to pulse it so you don't burn out the motor. Stop the processor as needed to scrape the sides of the bowl.
From here, there are 2 ways you can cook it--on a rotisserie spit if you have one for your grill or one of those Showtime deals, or in the oven like a meatloaf. Won't taste quite the same in the oven and the texture will be different, but still pretty good.
*Rotisserie style:
Mold the lamb paste into a loaf shape and place on top of 2 overlapping pieces of plastic wrap that are at least 18 inches long and overlapping about an inch--you want a nice wide thing of wrap. Roll the stuff in the plastic wrap tightly, making sure to remove any air pockets. Once the meat is completely rolled in the wrap, twist the ends of the plastic wrap until the surface of the wrap is tight. Should look like a giant sausage. Store in the refrigerator for at least 2 hours (overnight is better) to allow it to set and get firm.
Preheat the grill to high. Skewer the meat onto the rotisserie skewer. Place a drip pan or a sheet of aluminum foil directly under the meat to catch any drippings. Spin/cook on high for 15 minutes. Decrease the heat to medium and continue to cook for another 20 to 30 minutes or until the internal temperature of the meat reaches 165 degrees F. Turn off the heat and allow to continue to spin for another 10 to 15 minutes or until the internal temperature reaches 175 degrees.
*Oven method:
Preheat oven to 325. Place the lamb into a loaf pan (unlike the rotisserie version don't bother setting it in plastic), making sure to press into the sides of the pan. Place the loaf pan into a water bath and bake for 60 to 75 minutes or until the mixture reaches 165 or so degrees. Remove from the oven and drain off any fat. Place the loaf pan on a cooling rack and place a brick wrapped in aluminum foil directly on the surface of the meat and allow to sit for 15 to 20 minutes, until the internal temperature reaches 175 degrees F. This compacts the meat (remember, you didn't set it in the fridge) and helps to keep it dense.
Either way you cook it...once it's done, shave off thin strips from it, lengthwise, put on pita bread and top it with the tzatziki sauce, tomatoes, feta cheese, chopped onions and maybe a little lettuce.