diff options
Diffstat (limited to 'net-zope/zope/zope-2.12.2.ebuild')
-rw-r--r-- | net-zope/zope/zope-2.12.2.ebuild | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/net-zope/zope/zope-2.12.2.ebuild b/net-zope/zope/zope-2.12.2.ebuild new file mode 100644 index 000000000000..206d61082f21 --- /dev/null +++ b/net-zope/zope/zope-2.12.2.ebuild @@ -0,0 +1,142 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-zope/zope/zope-2.12.2.ebuild,v 1.1 2009/12/24 20:21:32 arfrever Exp $ + +EAPI="2" + +inherit eutils multilib python versionator + +MY_PN="Zope2" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Zope is a web application platform used for building high-performance, dynamic web sites" +HOMEPAGE="http://www.zope.org http://pypi.python.org/pypi/Zope2" +SRC_URI="http://pypi.python.org/packages/source/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" + +LICENSE="ZPL" +SLOT="$(get_version_component_range 1-2)" +KEYWORDS="~amd64" +IUSE="doc" +RESTRICT="test" + +RDEPEND="|| ( dev-lang/python:2.7 dev-lang/python:2.6 ) + dev-python/docutils + dev-python/restrictedpython + dev-python/setuptools + net-zope/acquisition + net-zope/datetime + net-zope/extensionclass + net-zope/persistence + net-zope/tempstorage + net-zope/transaction + net-zope/zdaemon + net-zope/zconfig + net-zope/zlog + >=net-zope/zodb-3.9 + net-zope/zope-app-form + net-zope/zope-app-publication + net-zope/zope-app-publisher + net-zope/zope-app-schema + net-zope/zope-component + net-zope/zope-configuration + net-zope/zope-container + net-zope/zope-contentprovider + net-zope/zope-contenttype + net-zope/zope-deferredimport + net-zope/zope-event + net-zope/zope-exceptions + net-zope/zope-formlib + net-zope/zope-i18n + net-zope/zope-i18nmessageid + net-zope/zope-interface + net-zope/zope-lifecycleevent + net-zope/zope-location + net-zope/zope-pagetemplate + net-zope/zope-processlifetime + net-zope/zope-proxy + net-zope/zope-publisher + net-zope/zope-schema + net-zope/zope-security + net-zope/zope-sendmail + net-zope/zope-sequencesort + net-zope/zope-site + net-zope/zope-size + net-zope/zope-structuredtext + net-zope/zope-tales + net-zope/zope-testbrowser + net-zope/zope-testing + net-zope/zope-traversing + net-zope/zope-viewlet +" +DEPEND="${RDEPEND} + doc? ( dev-python/sphinx )" + +S="${WORKDIR}/${MY_P}" + +ZUID="zope" +ZGID="zope" + +ZSERVDIR="/usr/$(get_libdir)/${PN}-${SLOT}" + +# Narrow the scope of ownership/permissions. +# Security plan: +# * ZUID is the superuser for all zope instances. +# * ZGID is for a single instance's administration. + +pkg_setup() { + python_set_active_version 2 +} + +src_prepare() { + epatch "${FILESDIR}/${P}-fix_syntax_error.patch" +} + +src_compile() { + "$(PYTHON -2)" setup.py build || "Building failed" + + if use doc; then + cd doc + emake html || die "Building of documentation failed" + fi +} + +src_install() { + "$(PYTHON -2)" setup.py install --home="${ZSERVDIR}" --root="${D}" || die "Installation failed" + dosym "$(PYTHON -2 -a)" "${ZSERVDIR}/bin/python" || die "dosym failed" + + for file in "${D}usr/$(get_libdir)/${PN}-${SLOT}/bin/"*; do + if [[ -f "${file}" && ! -L "${file}" ]]; then + sed -e '/import sys/iimport os\nos.environ["PYTHONPATH"] = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "lib", "python"))' -e '/import sys/asys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "lib", "python")))' -i "${file}" || die "Changing of os.environ and sys.path in ${file} failed" + fi + done + + touch "${D}usr/$(get_libdir)/${PN}-${SLOT}/lib/python/Products/__init__.py" || die "touch failed" + + if use doc; then + pushd doc/.build/html > /dev/null + dodoc _sources/* || die "Installation of documentation failed" + docinto html + dohtml -r [A-Za-z]* _static || die "Installation of documentation failed" + popd > /dev/null + fi + + # Copy the init script skeleton to skel directory of our installation. + insinto "${ZSERVDIR}/skel" + doins "${FILESDIR}/zope.initd" || die "doins failed" +} + +pkg_postinst() { + python_mod_optimize "${ZSERVDIR}/lib/python" + + # Create the zope user and group for backward compatibility. + enewgroup ${ZGID} 261 + usermod -g ${ZGID} ${ZUID} 2>&1 >/dev/null || \ + enewuser ${ZUID} 261 -1 /var/$(get_libdir)/zope ${ZGID} + + einfo "Be warned that you need at least one zope instance to run zope." + einfo "Please emerge zope-config for further instance management." +} + +pkg_postrm() { + python_mod_cleanup "${ZSERVDIR}/lib/python" +} |