summaryrefslogtreecommitdiff
blob: 04fa89b1f6e73ba86b493031b5f867b3394eecdd (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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sci-libs/geos/geos-2.2.2.ebuild,v 1.4 2006/09/24 10:48:51 chtekk Exp $

WANT_AUTOCONF="2.5"

inherit eutils distutils autotools

DESCRIPTION="Geometry Engine - Open Source"
HOMEPAGE="http://geos.refractions.net"
SRC_URI="http://geos.refractions.net/${P}.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="static doc python"

RDEPEND="virtual/libc"
DEPEND="${RDEPEND}
	doc? ( app-doc/doxygen )
	python? ( dev-lang/python
		  >=dev-lang/swig-1.3.29 )"

src_unpack() {
	unpack ${A}
	cd ${S}
	elibtoolize
	use python && epatch ${FILESDIR}/${P}-swig.patch
}

src_compile() {
	cd ${S}
	local myconf
	myconf=""
	if use static; then
	    myconf="$(use_enable static)"
	elif use python || use ruby; then
	    myconf="--with-pic"
	else
	    myconf="--with-pic --enable-static=no"
	fi

	econf ${myconf} || die "Error: econf failed"

	# intermittent build failures with emake
	make || die "Error: make failed"

	if use python; then
		einfo "Compilling PyGEOS"
		cd ${S}/swig/python
		cp ${FILESDIR}/python.i ${S}/swig/python/
		rm -f geos_wrap.cxx
		swig -c++ -python -modern -o geos_wrap.cxx ../geos.i
		distutils_src_compile
	fi
}

src_test() {
	cd ${S}
	make check || die "Tring make check without success."
	# I think this test must be made after the PyGEOS installation
	#export PYTHONPATH=${S}/swig/python
	if use python; then
		cd ${S}/swig/python
		python tests/runtests.py -v
	fi
}

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

	if use python; then
		einfo "Intalling PyGEOS"
		cd ${S}/swig/python
		distutils_src_install
		insinto /usr/share/doc/${PF}/python
		doins README.txt tests/*.py
		insinto /usr/share/doc/${PF}/python/cases
		doins tests/cases/*
	fi
	if use doc; then
		cd ${S}/doc
		make doxygen-html
		dohtml -r doxygen_docs/html/*
	fi
	cd ${S}
	dodoc AUTHORS COPYING INSTALL NEWS README TODO
}

pkg_postinst() {
	if use python; then
	    python_version
	    python_mod_optimize ${ROOT}usr/bin
	fi
}

pkg_postrm() {
	if use python; then
	    python_version
	    python_mod_cleanup
	fi
}