summaryrefslogtreecommitdiff
blob: eb8313bef1ba7cbffedc50dc83e603aa03537023 (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
103
104
105
106
107
108
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/django/django-1.0.3.ebuild,v 1.1 2009/08/02 19:29:56 arfrever Exp $

EAPI="2"

inherit bash-completion distutils multilib versionator webapp

MY_P="${P/#d/D}"
WEBAPP_MANUAL_SLOT="yes"

DESCRIPTION="High-level python web framework"
HOMEPAGE="http://www.djangoproject.com/"
SRC_URI="http://media.djangoproject.com/releases/${PV}/${MY_P}.tar.gz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
IUSE="doc examples mysql postgres sqlite test"

RDEPEND="dev-python/imaging
	sqlite? ( || (
		>=dev-lang/python-2.5[sqlite] )
		( dev-python/pysqlite:2 <dev-lang/python-2.5 )
	)
	postgres? ( dev-python/psycopg )
	mysql? ( >=dev-python/mysql-python-1.2.1_p2 )"
DEPEND="${RDEPEND}
	doc? ( >=dev-python/sphinx-0.3 )
	test? ( || (
		>=dev-lang/python-2.5[sqlite] )
		( dev-python/pysqlite:2 <dev-lang/python-2.5 )
	)"

S="${WORKDIR}/${MY_P}"

PYTHON_MODNAME="django"

DOCS="docs/* AUTHORS"

src_compile() {
	distutils_src_compile

	if use doc ; then
		pushd docs > /dev/null
		emake html || die "Generation of HTML documentation failed"
		popd > /dev/null
	fi
}

src_test() {
	einfo "Running tests."
	cat >> tests/settings.py << __EOF__
DATABASE_ENGINE='sqlite3'
DATABASE_NAME='test.db'
ROOT_URLCONF='tests/urls.py'
SITE_ID=1
__EOF__
	PYTHONPATH="." ${python} tests/runtests.py --settings=settings -v1 || die "tests failed"
}

src_install() {
	distutils_python_version
	site_pkgs="$(python_get_sitedir)"
	export PYTHONPATH="${PYTHONPATH}:${D}/${site_pkgs}"
	dodir ${site_pkgs}

	distutils_src_install

	dobashcompletion extras/django_bash_completion

	if use examples ; then
		insinto /usr/share/doc/${PF}
		doins -r examples
	fi

	if use doc ; then
		mv docs/_build/html/{_,.}sources
		dohtml txt -r docs/_build/html/*
	fi

	insinto "${MY_HTDOCSDIR}"
	doins -r "${D}/${site_pkgs}"/django/contrib/admin/media/*

	#webapp_postinst_txt en "${WORKDIR}"/postinstall-en.txt
	webapp_src_install
}

pkg_preinst() {
	:
}

pkg_postinst() {
	bash-completion_pkg_postinst
	distutils_pkg_postinst
	einfo "Now, Django has the best of both worlds with Gentoo,"
	einfo "ease of deployment for production and development."
	echo
	elog "A copy of the admin media is available to"
	elog "webapp-config for installation in a webroot,"
	elog "as well as the traditional location in python's"
	elog "site-packages dir for easy development"
	echo
	echo
	ewarn "If you build Django ${PV} without USE=\"vhosts\""
	ewarn "webapp-config will automatically install the"
	ewarn "admin media into the localhost webroot."
}