https://groups.google.com/forum/#!topic/gnu.gnustep.discuss/6SQ4sEbi5GcIt ships with GNUstep GUI:
https://github.com/gnustep/libs-gui/blob/a92b030dcbc226b04cfdf0f91e9cb9b7995f989e/Tools/make_services.m
Reading it should probably hint you at which files are read when trying to find the relevant app to open a file.
Ideally, GNUstep would use freedesktop.org mime apps spec:
https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.html
the shared mime info spec:
https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-0.18.html
and the desktop entry spec:
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html
But I don’t think it does.