diff options
author | 2011-11-26 10:37:47 +0000 | |
---|---|---|
committer | 2011-11-26 10:37:47 +0000 | |
commit | ec910409babcd3a83af1c065da7880cb8e92f90e (patch) | |
tree | a9f2c61e4c645f3826ef0053f34b589af2a35539 /dev-db/redis | |
parent | Stable on amd64 wrt bug #391393 (diff) | |
download | gentoo-2-ec910409babcd3a83af1c065da7880cb8e92f90e.tar.gz gentoo-2-ec910409babcd3a83af1c065da7880cb8e92f90e.tar.bz2 gentoo-2-ec910409babcd3a83af1c065da7880cb8e92f90e.zip |
New version, thanks to Dirkjan Ochtman <djc@gentoo.org> and Johan Bergström <bugs@bergstroem.nu> in bug #378085 for the patches and the updated ebuild.
(Portage version: 2.2.0_alpha76/cvs/Linux x86_64)
Diffstat (limited to 'dev-db/redis')
-rw-r--r-- | dev-db/redis/ChangeLog | 10 | ||||
-rw-r--r-- | dev-db/redis/files/redis-2.4.3-shared.patch | 22 | ||||
-rw-r--r-- | dev-db/redis/redis-2.4.3.ebuild | 108 |
3 files changed, 139 insertions, 1 deletions
diff --git a/dev-db/redis/ChangeLog b/dev-db/redis/ChangeLog index 535f48e57f63..264dff29fd2e 100644 --- a/dev-db/redis/ChangeLog +++ b/dev-db/redis/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for dev-db/redis # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/ChangeLog,v 1.25 2011/11/02 21:40:35 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/ChangeLog,v 1.26 2011/11/26 10:37:47 lu_zero Exp $ + +*redis-2.4.3 (26 Nov 2011) + + 26 Nov 2011; Luca Barbato <lu_zero@gentoo.org> +redis-2.4.3.ebuild, + +files/redis-2.4.3-shared.patch: + New version, thanks to Dirkjan Ochtman <djc@gentoo.org> and + Johan Bergström <bugs@bergstroem.nu> in bug #378085 for the patches + and the updated ebuild. 02 Nov 2011; Mike Frysinger <vapier@gentoo.org> redis-2.2.2.ebuild, redis-2.2.6.ebuild, redis-2.2.8.ebuild, redis-2.2.11.ebuild, diff --git a/dev-db/redis/files/redis-2.4.3-shared.patch b/dev-db/redis/files/redis-2.4.3-shared.patch new file mode 100644 index 000000000000..20cdebe41b47 --- /dev/null +++ b/dev-db/redis/files/redis-2.4.3-shared.patch @@ -0,0 +1,22 @@ +See https://github.com/antirez/redis/pull/137 + +--- src/Makefile 2011-10-17 10:46:00.000000000 +0200 ++++ src/Makefile.2 2011-10-17 13:47:53.000000000 +0200 +@@ -49,7 +49,16 @@ + ifeq ($(USE_JEMALLOC),yes) + ALLOC_DEP=../deps/jemalloc/lib/libjemalloc.a + ALLOC_LINK=$(ALLOC_DEP) -ldl +- ALLOC_FLAGS=-DUSE_JEMALLOC -I../deps/jemalloc/include ++ ALLOC_FLAGS=-DUSE_JEMALLOC ++ ifdef JEMALLOC_SHARED ++ ALLOC_DEP= ++ ALLOC_LINK=-ljemalloc ++ ALLOC_FLAGS=-DUSE_JEMALLOC -I/usr/include ++ else ++ ALLOC_DEP=../deps/jemalloc/lib/libjemalloc.a ++ ALLOC_LINK=$(ALLOC_DEP) -ldl ++ ALLOC_FLAGS=-DUSE_JEMALLOC -I../deps/jemalloc/include ++ endif + endif + + CCOPT= $(CFLAGS) $(ARCH) $(PROF) diff --git a/dev-db/redis/redis-2.4.3.ebuild b/dev-db/redis/redis-2.4.3.ebuild new file mode 100644 index 000000000000..4f2d20598591 --- /dev/null +++ b/dev-db/redis/redis-2.4.3.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/redis-2.4.3.ebuild,v 1.1 2011/11/26 10:37:47 lu_zero Exp $ + +EAPI="2" + +inherit autotools eutils flag-o-matic + +DESCRIPTION="A persistent caching system, key-value and data structures database." +HOMEPAGE="http://redis.io" +SRC_URI="http://redis.googlecode.com/files/${P}.tar.gz" + +LICENSE="BSD" +KEYWORDS="~amd64 ~x86 ~x86-macos ~x86-solaris" +IUSE="tcmalloc test" +SLOT="0" + +RDEPEND="" +DEPEND=">=sys-devel/autoconf-2.63 + tcmalloc? ( dev-util/google-perftools ) + !tcmalloc? ( dev-libs/jemalloc ) + test? ( dev-lang/tcl ) + ${RDEPEND}" + +S="${WORKDIR}/${PN}-${PV/_/-}" + +REDIS_PIDDIR=/var/run/redis/ +REDIS_PIDFILE=${REDIS_PIDDIR}/redis.pid +REDIS_DATAPATH=/var/lib/redis +REDIS_LOGPATH=/var/log/redis +REDIS_LOGFILE=${REDIS_LOGPATH}/redis.log + +pkg_setup() { + enewgroup redis 75 || die "problem adding 'redis' group" + enewuser redis 75 -1 ${REDIS_DATAPATH} redis || die "problem adding 'redis' user" + # set tcmalloc-variable for the build as specified in + # https://github.com/antirez/redis/blob/2.2/README. If build system gets + # better integrated into autotools, replace with append-flags and + # append-ldflags in src_configure() + if use tcmalloc ; then + export EXTRA_EMAKE="${EXTRA_EMAKE} USE_TCMALLOC=yes" + else + export EXTRA_EMAKE="${EXTRA_EMAKE} JEMALLOC_SHARED=yes" + fi +} + +src_prepare() { + epatch "${FILESDIR}/${P}-shared.patch" || die + if use !tcmalloc ; then + sed -i -e "s/je_/j/" src/zmalloc.c || die + fi + # now we will rewrite present Makefiles + local makefiles="" + for MKF in $(find -name 'Makefile' | cut -b 3-); do + mv "${MKF}" "${MKF}.in" + sed -i -e 's:$(CC):@CC@:g' \ + -e 's:$(CFLAGS):@AM_CFLAGS@:g' \ + -e 's: $(DEBUG)::g' \ + -e 's:$(OBJARCH)::g' \ + -e 's:ARCH:TARCH:g' \ + -e '/^CCOPT=/s:$: $(LDFLAGS):g' \ + "${MKF}.in" \ + || die "Sed failed for ${MKF}" + makefiles+=" ${MKF}" + done + # autodetection of compiler and settings; generates the modified Makefiles + cp "${FILESDIR}"/configure.ac-2.2 configure.ac + sed -i -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ + configure.ac || die "Sed failed for configure.ac" + eautoconf +} + +src_install() { + # configuration file rewrites + insinto /etc/ + sed -r \ + -e "/^pidfile\>/s,/var.*,${REDIS_PIDFILE}," \ + -e '/^daemonize\>/s,no,yes,' \ + -e '/^# bind/s,^# ,,' \ + -e '/^# maxmemory\>/s,^# ,,' \ + -e '/^maxmemory\>/s,<bytes>,67108864,' \ + -e "/^dbfilename\>/s,dump.rdb,${REDIS_DATAPATH}/dump.rdb," \ + -e "/^dir\>/s, .*, ${REDIS_DATAPATH}/," \ + -e '/^loglevel\>/s:debug:notice:' \ + -e "/^logfile\>/s:stdout:${REDIS_LOGFILE}:" \ + <redis.conf \ + >redis.conf.gentoo + newins redis.conf.gentoo redis.conf + use prefix || fowners redis:redis /etc/redis.conf + fperms 0644 /etc/redis.conf + + newconfd "${FILESDIR}/redis.confd" redis + newinitd "${FILESDIR}/redis.initd" redis + + dodoc 00-RELEASENOTES BUGS CONTRIBUTING README TODO + + dobin src/redis-cli || die "redis-cli could not be found" + dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-dump \ + || die "some redis executables could not be found" + fperms 0750 /usr/sbin/redis-benchmark + + if use prefix; then + diropts -m0750 + else + diropts -m0750 -o redis -g redis + fi + keepdir ${REDIS_DATAPATH} ${REDIS_LOGPATH} ${REDIS_PIDDIR} +} |