summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-zope/zope/zope-2.12.2.ebuild')
-rw-r--r--net-zope/zope/zope-2.12.2.ebuild142
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"
+}