diff options
author | Dirkjan Ochtman <djc@gentoo.org> | 2012-12-26 11:01:44 +0000 |
---|---|---|
committer | Dirkjan Ochtman <djc@gentoo.org> | 2012-12-26 11:01:44 +0000 |
commit | 3f315c41b6ddecfdd81ceecf0d29372d3c12565b (patch) | |
tree | dc92c9af9ab10a9577f5689c132b1ca4901431ae /dev-db/redis | |
parent | Stable for HPPA (bug #423527). (diff) | |
download | gentoo-2-3f315c41b6ddecfdd81ceecf0d29372d3c12565b.tar.gz gentoo-2-3f315c41b6ddecfdd81ceecf0d29372d3c12565b.tar.bz2 gentoo-2-3f315c41b6ddecfdd81ceecf0d29372d3c12565b.zip |
Fix redis compilation against jemalloc-3.2.0 (bug 444796).
(Portage version: 2.1.11.27/cvs/Linux x86_64, signed Manifest commit with key 6B065BFB)
Diffstat (limited to 'dev-db/redis')
-rw-r--r-- | dev-db/redis/ChangeLog | 8 | ||||
-rw-r--r-- | dev-db/redis/files/redis-2.4.17-shared.patch | 22 | ||||
-rw-r--r-- | dev-db/redis/redis-2.4.17-r1.ebuild | 112 |
3 files changed, 141 insertions, 1 deletions
diff --git a/dev-db/redis/ChangeLog b/dev-db/redis/ChangeLog index d71a127b3e61..f078c7cc95a5 100644 --- a/dev-db/redis/ChangeLog +++ b/dev-db/redis/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-db/redis # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/ChangeLog,v 1.52 2012/10/08 05:15:35 robbat2 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/ChangeLog,v 1.53 2012/12/26 11:01:44 djc Exp $ + +*redis-2.4.17-r1 (26 Dec 2012) + + 26 Dec 2012; Dirkjan Ochtman <djc@gentoo.org> +redis-2.4.17-r1.ebuild, + +files/redis-2.4.17-shared.patch: + Fix compilation against jemalloc-3.2.0 (bug 444796). 08 Oct 2012; Robin H. Johnson <robbat2@gentoo.org> redis-2.4.17.ebuild: Fix verbosity issue per bus #428722 and EMAKE_EXTRA bug #437344. diff --git a/dev-db/redis/files/redis-2.4.17-shared.patch b/dev-db/redis/files/redis-2.4.17-shared.patch new file mode 100644 index 000000000000..9c607145d38f --- /dev/null +++ b/dev-db/redis/files/redis-2.4.17-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 -DJEMALLOC_NO_DEMANGLE -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)
\ No newline at end of file diff --git a/dev-db/redis/redis-2.4.17-r1.ebuild b/dev-db/redis/redis-2.4.17-r1.ebuild new file mode 100644 index 000000000000..4074f651d419 --- /dev/null +++ b/dev-db/redis/redis-2.4.17-r1.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-db/redis/redis-2.4.17-r1.ebuild,v 1.1 2012/12/26 11:01:44 djc Exp $ + +EAPI="4" + +inherit autotools eutils flag-o-matic user + +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="+jemalloc tcmalloc test" +SLOT="0" + +RDEPEND="tcmalloc? ( dev-util/google-perftools ) + jemalloc? ( >=dev-libs/jemalloc-3.2 )" +DEPEND=">=sys-devel/autoconf-2.63 + test? ( dev-lang/tcl ) + ${RDEPEND}" +REQUIRED_USE="tcmalloc? ( !jemalloc ) + jemalloc? ( !tcmalloc )" + +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 + enewuser redis 75 -1 ${REDIS_DATAPATH} redis +} + +src_prepare() { + epatch "${FILESDIR}/${P}-shared.patch" + epatch "${FILESDIR}/redis-2.4.4-tcmalloc.patch" + + # 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_compile() { + local myconf="" + + if use tcmalloc ; then + myconf="${myconf} USE_TCMALLOC=yes" + elif use jemalloc ; then + myconf="${myconf} JEMALLOC_SHARED=yes" + else + myconf="${myconf} FORCE_LIBC_MALLOC=yes" + fi + + emake ${myconf} +} + +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:(verbose|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 + + nonfatal dodoc 00-RELEASENOTES BUGS CONTRIBUTING README + + dobin src/redis-cli + dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-dump + 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} +} |