@er1n sort of? depends on your size/weight/power/$/time budgets.
if you have a decent SDR receiver that can listen at 1575.42MHz with at least a few MHz bandwidth, there are open source implementations like https://github.com/gnss-sdr/gnss-sdr that worked in my experiments. we've written our own several times, too: https://github.com/psas/gps
we built custom hardware: https://github.com/psas/gps-rf-board, https://github.com/psas/gps-cpld, and https://github.com/psas/stm32/tree/master/projects/flight-gps
or there's e.g. https://github.com/swift-nav/piksi_hardware which you can just buy.