ohwgiles / laminar

Fast and lightweight Continuous Integration
https://laminar.ohwg.net
GNU General Public License v3.0
297 stars 54 forks source link

Hints on how to quickly install `rapidjson` on those distributions that don't feature it #74

Closed cipriancraciun closed 4 years ago

cipriancraciun commented 5 years ago

I've tried to build laminar on OpenSUSE Tumbleweed (i.e. the "rolling" release of OpenSUSE, with all the latest packages), and unfortunately there is no rapidjson package (neither official or unofficial).

However it seems that installing rapidjson is not needed as long as the user just copies the folder include/rapidjson directly into the worktree of laminar. I.e.:

git clone https://github.com/Tencent/rapidjson
cp -r ./rapidjson/include/rapidjson ./laminar/rapidjson

(I know this is mostly a "hack", but I wanted to build it quickly.)


BTW, on OpenSUSE the following are the development dependencies needed:

capnproto
libcapnp-devel
sqlite3-devel
libboost_container1_68_0-devel
ohwgiles commented 5 years ago

Thanks for pointing this out. Some searching led me to this but I don't know anything about openSUSE so it could be irrelevant. If there is a standardised way of submitting user packages (like the AUR for Arch Linux), it would be great to be able to share laminar with other openSUSE users.

cipriancraciun commented 5 years ago

The following link provides available packages from OpenSUSE build service for rapidjson: https://software.opensuse.org/package/rapidjson

However as seen only "source" packages are available for OpenSUSE. (At least at this moment.)

Providing OpenSUSE packages is done via https://build.opensuse.org/, which also handles the building.

(Provided I get some spare time I could try to prepare an RPM myself.)

ohwgiles commented 5 years ago

Rapidjson is a header-only library, so the sources are all that are needed, and only for compilation.

cipriancraciun commented 5 years ago

Rapidjson is a header-only library, so the sources are all that are needed, and only for compilation.

Yes, I understand. However the "sources-only" RPM packages (i.e. *.src.rpm) are not installable, and are in fact a bundle destined for the rpmbuild tool.

ohwgiles commented 5 years ago

Ah, ok. So if laminar sometime becomes an openSUSE rpm, all its dependencies including rapidjson would be available, right? I don't know how compatible their rpm implementations are, but I have a quick-and-dirty way to generate a rpm for centos that could be a useful starting point

cipriancraciun commented 5 years ago

Ah, ok. So if laminar sometime becomes an openSUSE rpm, all its dependencies including rapidjson would be available, right?

In case of rapidjson it is not needed to be present for "install". (Only for "building", and this is why I contributed this "build hint" issue.)

Thus the unavailability of an rapidjson RPM is not an issue for the "user", just for the "builder".

I don't know how compatible their rpm implementations are, but I have a quick-and-dirty way to generate a rpm for centos that could be a useful starting point

I'll take a look. They should be almost compatible, most likely only dependencies are changed.

ohwgiles commented 5 years ago

Cool, thanks :+1:

ohwgiles commented 4 years ago

I think this issue can be closed. It is still searchable for those looking for this information.