It hasn't been released yet, but this will help to keep track of things. * fix src/Makefile so we don't use bundled jemalloc (we have the same version in tree) * possibly build hiredis (the c api) as a shared extension * fix static/shared linking for above * USE: lua for libraries? * SRC_URI can nowadays stick to ${P} * remove einfo
Hi Version 2.4.1 was released: http://redis.io/ I hope someone can update it :) Thanks
Created attachment 290267 [details] redis-2.4.1.ebuild Fixes most stuff mentioned above, besides lua part since it didn't land in 2.4. Also remove lots of docs since they aren't bundled anymore (?). Most importantly, jemalloc builds against shared libraries. Our main concern forward will be that upstream has ruled against using shared libraries. Hopefully it will Just Work. Upstream info here: https://github.com/antirez/redis/pull/137
Created attachment 290269 [details, diff] redis-2.4.1-shared.patch
Thanks, I've done a quick test and it works on my system (~amd64).
When bumping, please change HOMEPAGE to "http://redis.io"
2.4.3 is now out. Renaming attachments works for me.
I'm thinking we should add USE=jemalloc, enabled by default and make sure we negate tcmalloc when jemalloc is enabled (and the other way around). The "fallback" memory allocator would then be libc malloc.
I tried the attached ebuild and patch with 2.4.3, and it failed: MAKE linenoise make[2]: Entering directory `/var/tmp/portage/dev-db/redis-2.4.3/work/redis-2.4.3/deps/linenoise' x86_64-pc-linux-gnu-gcc -c -Wall -W -Os -g linenoise.c x86_64-pc-linux-gnu-gcc -c -Wall -W -Os -g example.c x86_64-pc-linux-gnu-gcc -Wall -W -Os -g -o linenoise_example linenoise.o example.o make[2]: Leaving directory `/var/tmp/portage/dev-db/redis-2.4.3/work/redis-2.4.3/deps/linenoise' make[1]: Leaving directory `/var/tmp/portage/dev-db/redis-2.4.3/work/redis-2.4.3/src' make: *** [all] Error 2 emake failed * ERROR: dev-db/redis-2.4.3 failed (compile phase): * emake failed * * Call stack: * ebuild.sh, line 84: Called src_compile * environment, line 3065: Called _eapi2_src_compile * phase-helpers.sh, line 570: Called die * The specific snippet of code: * emake || die "emake failed" * * If you need support, post the output of 'emerge --info =dev-db/redis-2.4.3', * the complete build log and the output of 'emerge -pqv =dev-db/redis-2.4.3'. * The complete build log is located at '/var/tmp/portage/dev-db/redis-2.4.3/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-db/redis-2.4.3/temp/environment'. * S: '/var/tmp/portage/dev-db/redis-2.4.3/work/redis-2.4.3'
The patch works for me now...
djc: how did you build it (what use flags), and can i have the entire build log? thanks!
2.4.4 yesterday. Patch still applies and works nicely at my place. GCC 4.5.3 fwiw.
Created attachment 294221 [details] Build log with linenoise failure
Created attachment 294227 [details] redis-2.4.4.ebuild So. Here's a new ebuild. Changes: - bump to eapi=4 - add jemalloc use-flag (enabled by default, upstream choice) USE=jemalloc and USE=tcmalloc cannot be used simultaneously, USE="-jemalloc -tcmalloc" will choose the standard libc malloc. - remove Changelog docs, no longer included - add patch for an upstream bug related to tcmalloc build Pretty please review this. I have most likely missed stuff related to the eapi 4-bump.
Created attachment 294229 [details, diff] redis-2.4.4-tcmalloc.patch Above mentioned patch
I've put 2.4.4 in the tree, thanks!