Building Couchbase from source on Exherbo

Hey this is my first post of the year, happy new ye... oh wait. As of now Couchbase can't be packaged in Paludis/Exherbo due to the lack of support of git-repo. So if we want to play with this soft we need to build it manually from source (I hate unpacking .deb or .rpm files on my distro).

First of all, we need to add some repositories for the dependencies:

$ cave resolve repository/{desktop,sardemff7,CleverCloud,malinka} -x1

Next, we will install all the required dependencies:

$ cave resolve app-arch/snappy dev-libs/icu =dev-lang/erlang-16.03.1 dev-libs/v8 sys-apps/repo -x

We fix the version of Erlang to 16.03.1 (R16B03-1) as it is the recommended version by the Couchbase team. There is also a good read about the stability of Erlang R14, R15 and R16.

Starting at rel-2.2.1.xml, memcached requires tcmalloc from the Google's project gperftools. Just install it:

$ cave resolve repository/alip -x1
$ cave resolve =gperftools-2.1 -x

There are breaking changes in gperftools 2.2.1 so we stay on the version 2.1.

Now you can build Couchbase without error using the usual method:

$ repo init -u git://github.com/couchbase/manifest.git -m rel-2.5.1.xml
$ repo sync
$ make

Enjoy!