summaryrefslogtreecommitdiff
blob: 5c0fe56a233ed2d767ec1a6ac70bb5851282798d (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
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-www/apache/apache-2.0.42.ebuild,v 1.2 2002/10/04 06:19:04 vapier Exp $

S="${WORKDIR}/httpd-${PV}"

KEYWORDS="x86 ppc"
DESCRIPTION="Apache Web Server, Version 2.0.x"
SRC_URI="http://www.apache.org/dist/httpd/httpd-${PV}.tar.gz"
HOMEPAGE="http://www.apache.org"
LICENSE="Apache-1.1"
SLOT="2"

DEPEND="virtual/glibc
	>=dev-libs/mm-1.1.3
	>=sys-libs/gdbm-1.8
	>=dev-libs/expat-1.95.2
	>=sys-devel/perl-5.6.1
	ssl? >=dev-libs/openssl-0.9.6e"

src_compile() {
	PREFIX=/usr/lib/apache2

	select_modules_config || die "determining modules" 
	./configure \
		--host=${CHOST} \
		--prefix=${PREFIX} \
		--infodir=/usr/share/info \
		--mandir=/usr/share/man \
		--sysconfdir=/etc/apache2 \
		--datadir=/home/httpd \
		--enable-suexec \
		--with-suexec-uidmin=1000 \
		--with-suexec-gidmin=100 \
		${MY_BUILTINS} \
			|| die "./configure failed"
	emake || die "Make failed"
}

src_install () {
	make DESTDIR=${D} install || die "make install failed"

	# Install documentation.
	dodoc CHANGES INSTALL LICENSE README

	insinto /etc/conf.d; newins ${FILESDIR}/${PV}/apache2.confd apache2
	exeinto /etc/init.d; newexe ${FILESDIR}/${PV}/apache2.initd apache2
	insinfo /etc/apache2; newins ${FILESDIR}/${PV}/apache2-builtin-mods
}

parse_modules_config() {
	local filename=$1
	local name=""
	local dso=""
	local disable=""
	[ -f ${filename} ] || return 1
	einfo ">>> using ${filename} for builtins..."
	for i in `cat $filename | sed "s/^#.*//"` ; do
		if [ $i == "-" ] ; then
			disable="true"
		elif [ -z "$name" ] && [ ! -z "`echo $i | grep "mod_"`" ] ; then
			name=`echo $i | sed "s/mod_//"`
		elif [ "$disable" ] && ( [ $i == "static" ] || [ $i == "shared" ] ) ; then
			MY_BUILTINS="${MY_BUILTINS} --disable-$name"
			name="" ; disable=""
		elif [ $i == "static" ] ; then
			MY_BUILTINS="${MY_BUILTINS} --enable-$name=yes"
			name="" ; disable=""
		elif [ $i == "shared" ] ; then
			MY_BUILTINS="${MY_BUILTINS} --enable-$name=shared"
			name="" ; disable=""
		fi
	done
	einfo ">>> Here is your custom config line:\n${MY_BUILTINS}"
}

select_modules_config() {
	parse_modules_config /etc/apache/apache2-builtin-mods || \
	parse_modules_config ${FILESDIR}/${PV}/apache2-builtin-mods || \
	return 1
}