summaryrefslogtreecommitdiff
blob: 2194e69b8f426f4bc1813557a04284f93073b3f2 (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
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/apr/apr-0.9.5-r2.ebuild,v 1.3 2005/04/24 08:44:43 vapier Exp $

inherit flag-o-matic libtool

DESCRIPTION="Apache Portable Runtime Library"
HOMEPAGE="http://apr.apache.org/"
SRC_URI="mirror://apache/apr/${P}.tar.gz"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
IUSE="ipv6"
RESTRICT="test"

DEPEND=""

# this function shall maybe go into flag-o-matic.eclass
lfs-flags() {
	echo -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
}

# returns true, if LFS is supported (and supposed to be bugfree ;) by current system
supports-lfs() {
	# sparc has issues with 64bit IO
	use sparc && return 1

	# for some reason (I do not know who wrote this) we do not want LFS on glibc-2.2
	# maybe it's broken then

	has_version '>=sys-libs/glibc-2.3*' && return 0
	has_version '=sys-libs/glibc-2.2*'  && return 1
	return 0
}

set_filter_flags() {
	CFLAGS="${CFLAGS/  / }"

	supports-lfs && append-lfs-flags || filter-lfs-flags
}

src_compile() {
	elibtoolize || die "elibtoolize failed"
	set_filter_flags

	myconf="--datadir=/usr/share/apr-0"

	myconf="${myconf} $(use_enable ipv6)"
	myconf="${myconf} --enable-threads"
	myconf="${myconf} --enable-nonportable-atomics"
	myconf="${myconf} --with-devrandom=/dev/random"

	econf ${myconf} || die
	emake || die
}

src_install() {
	set_filter_flags

	make DESTDIR="${D}" installbuilddir=/usr/share/apr-0/build install || die

	# bogus values pointing at /var/tmp/portage
	sed -i -e 's:APR_SOURCE_DIR=.*:APR_SOURCE_DIR=/usr/share/apr-0:g' ${D}/usr/bin/apr-config
	sed -i -e 's:APR_BUILD_DIR=.*:APR_BUILD_DIR=/usr/share/apr-0/build:g' ${D}/usr/bin/apr-config

	sed -i -e 's:apr_builddir=.*:apr_builddir=/usr/share/apr-0/build:g' ${D}/usr/share/apr-0/build/apr_rules.mk
	sed -i -e 's:apr_builders=.*:apr_builders=/usr/share/apr-0/build:g' ${D}/usr/share/apr-0/build/apr_rules.mk

	# fix apr-config to reflect LFS
	supports-lfs && \
		sed -i -e "s:CPPFLAGS=\"\\(.*\\)\":CPPFLAGS=\"\\1 `lfs-flags`\":" ${D}/usr/bin/apr-config

	cp -p build/*.awk ${D}/usr/share/apr-0/build
	cp -p build/*.sh ${D}/usr/share/apr-0/build
	cp -p build/*.pl ${D}/usr/share/apr-0/build

	dodoc CHANGES LICENSE NOTICE
}