Advice: for all GPL licensing questions ask [email protected] .
I believe the answer to your question is here. Anyway...
I'm using a GPL library in my closed source app. The library providers provide a FOSS exception where a number of licenses are acceptable to them, including LGPL.
You cannot do that. If you link with gpl library, you make a derived work based on that library. Which will be under GPL.
So I was thinking of writing a LGPL licensed wrapper on top of the GPL library and using the library through the LGPL wrapper in my app. Is this the appropriate way to do it if I don't want my closed source app to be open sourced? I would, I believe, have to provide the source of the LGPL wrapper.
You cannot do that. By making a wrapper around GPL library, you're making a derived work, which will be placed under GPL. I.e. wrapper will be GPL, so linking with wrapper will make your program GPL.
YOu may be able to use GPL library if:
1. You don't link with the library (uses sockets/pipes for communication, fork/exec/createprocess to invoke librarty instead). Still, it is "slippery" path, because I suspect it will be still possible to prove that your program is a derived work.
2. You can obtain author's permission to use it with closed-source app.
3. You can turn it into "aggregation".
IMO, #2 is most realistic approach, while #1 and #3 are pain to implement, and if you're going to try them, you will REALLY need to consult a lawyer.
The whole point of GPL was to infect everything it touches with GPL license. So I'd recommend to search for alternative library (closed-source, public domain, MIT, BSD, or LGPL license), or write replacement yourself.