summaryrefslogtreecommitdiff
blob: 74f0c5eb2636ffa1ccaeb0109de3894171beec10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-php5/xcache/xcache-1.3.0.ebuild,v 1.4 2011/03/13 08:09:26 olemarkus Exp $

PHP_EXT_NAME="xcache"
PHP_EXT_INI="yes"
PHP_EXT_ZENDEXT="yes"
PHPSAPILIST="apache2 cgi"

inherit php-ext-source-r1 confutils

DESCRIPTION="A fast and stable PHP opcode cacher"
HOMEPAGE="http://xcache.lighttpd.net/"
SRC_URI="http://xcache.lighttpd.net/pub/Releases/${PV}/${P}.tar.bz2"

LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""

# make test would just run php's test and as such need the full php source
RESTRICT="test"

DEPEND="!dev-php/eaccelerator !dev-php5/pecl-apc"
RDEPEND="${DEPEND}"

need_php_by_category

pkg_setup() {
	has_php
	require_php_sapi_from cgi apache2
}

src_compile() {
	has_php

	my_conf="--enable-xcache=shared   \
			--enable-xcache-constant  \
			--enable-xcache-optimizer \
			--enable-xcache-coverager \
			--enable-xcache-assembler \
			--enable-xcache-encoder   \
			--enable-xcache-decoder"

	php-ext-source-r1_src_compile
}

src_install() {
	php-ext-source-r1_src_install
	dodoc-php AUTHORS ChangeLog NEWS README THANKS

	php-ext-base-r1_addtoinifiles "xcache.admin.enable_auth" '"On"'
	php-ext-base-r1_addtoinifiles "xcache.admin.user" '"admin"'
	php-ext-base-r1_addtoinifiles "xcache.admin.pass" '""'

	php-ext-base-r1_addtoinifiles "xcache.cacher" '"On"'
	php-ext-base-r1_addtoinifiles "xcache.size" '"64M"'
	php-ext-base-r1_addtoinifiles "xcache.count" '"2"'
	php-ext-base-r1_addtoinifiles "xcache.slots" '"8k"'
	php-ext-base-r1_addtoinifiles "xcache.ttl" '"0"'
	php-ext-base-r1_addtoinifiles "xcache.gc_interval" '"0"'
	php-ext-base-r1_addtoinifiles "xcache.var_size" '"8M"'
	php-ext-base-r1_addtoinifiles "xcache.var_count" '"1"'
	php-ext-base-r1_addtoinifiles "xcache.var_slots" '"8K"'
	php-ext-base-r1_addtoinifiles "xcache.var_ttl" '"0"'
	php-ext-base-r1_addtoinifiles "xcache.var_maxttl" '"0"'
	php-ext-base-r1_addtoinifiles "xcache.var_gc_interval" '"600"'
	php-ext-base-r1_addtoinifiles "xcache.readonly_protection" '"Off"'
	php-ext-base-r1_addtoinifiles "xcache.mmap_path" '"/dev/zero"'

	php-ext-base-r1_addtoinifiles "xcache.coverager" '"Off"'
	php-ext-base-r1_addtoinifiles "xcache.coveragedump_directory" '""'

	php-ext-base-r1_addtoinifiles "xcache.optimizer" '"Off"'

	insinto "${PHP_EXT_SHARED_DIR}"
	doins Decompiler.class.php
	insinto "${PHP_EXT_SHARED_DIR}/admin"
	doins admin/*
	insinto "${PHP_EXT_SHARED_DIR}/coverager"
	doins coverager/*
}

pkg_postinst() {
	elog "Decompiler.class.php, the admin/ and the coverager/ directory shipped with this"
	elog "release were installed into ${ROOT}usr/share/php5/xcache/."
}