On Fri, Apr 24, 2015 at 6:25 PM, Sebastian Lau <[email protected]> wrote: > Hi, > > At the moment I'm trying to rewrite grive [1], because its maintainer > did not migrate it to the new Google APIs. > After reviewing the code, I decided, that maybe using the google api cpp > client libraries would be a good choice since the original author of > grive did implement similar things as the official google API[2] does. > > So I created packages for those APIs in the AUR[3]. Everything fine so far. > > The problem is, google is using an old version (3.7) of the simple > embedded webserver mongoose[4] as backend in its current stable > release[5]. I tried using the current version of mongoose, but the > developers have some functions removed that google uses. So I'm stuck > with using version 3.7 . > > Since however cmake won't build shared libraries (even with > -DBUILD_SHARED=ON) of google-api-cpp-client, mongoose is already > statically linked into the libgoogleapis_mongoose.a . The only problem > is that one header of googleapis (mongoose_webserver.h) has the line > "#include <mongoose/mongoose.h>". No problem for compilation, but when > using the headers in an own project, there won't be any file at this place. > The mongoose 5 package in AUR installs its header to > '/usr/include/mongoose.h'. > > So I'm stuck with the question wether > - to create a new package "mongoose3" for the header only since nothing > more is needed (more dependencies) and hope for google fixing that issue > with the next more current release > or > - just include the mongoose header in "/usr/include/mongoose3.h", patch > the include in google webserver to use that file and include the license > of mongoose version 3 in my google-api-cpp-client package. > > Personally, I'd prefer the second conclusion since AFAIK no other > package needs this header and google is working on its web section on > the master branch, so it probably won't be needed anymore in near > future. But I'm not sure, so it would be nice to have your opinion on that. > > > Greets, > > Sebastian > > > > [1] https://aur.archlinux.org/packages/grive/ > [2] https://github.com/google/google-api-cpp-client/tree/v0.1 > [3] > https://aur.archlinux.org/packages/?O=0&C=0&SeB=nd&K=google-api-cpp&outdated=&SB=n&SO=a&PP=50&do_Search=Go > [4] https://github.com/cesanta/mongoose > [5] https://aur.archlinux.org/packages/google-api-cpp-client/
That's a case for our old friend sed -r -i 's@(#include <)mongoose/(mongoose\.h>)@\1\2@' This change may be implemented using an additional diff source file or with a different sed line, but I particularly like sed -r for being not as backslashy for when I need groups. cheers! mar77i
