dev-python/namespace-zope: New package to handle namespace
authorMichał Górny <mgorny@gentoo.org>
Thu, 4 May 2017 16:30:33 +0000 (18:30 +0200)
committerMichał Górny <mgorny@gentoo.org>
Sun, 7 May 2017 18:43:16 +0000 (20:43 +0200)
Add a new package that installs __init__.py that enables setuptools
namespace processing for zope packages. This makes it possible to remove
the hacky *.pth files installed by various zope packages currently while
preserving namespace package compatibility with Python 2. This in turn
should fix some of the issues with namespace handling.

dev-python/namespace-zope/metadata.xml [new file with mode: 0644]
dev-python/namespace-zope/namespace-zope-1.ebuild [new file with mode: 0644]

diff --git a/dev-python/namespace-zope/metadata.xml b/dev-python/namespace-zope/metadata.xml
new file mode 100644 (file)
index 0000000..266e3f1
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="project">
+               <email>python@gentoo.org</email>
+       </maintainer>
+</pkgmetadata>
diff --git a/dev-python/namespace-zope/namespace-zope-1.ebuild b/dev-python/namespace-zope/namespace-zope-1.ebuild
new file mode 100644 (file)
index 0000000..c56c155
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( pypy{,3} python{2_7,3_{4,5,6}}  )
+inherit python-r1
+
+DESCRIPTION="Namespace package declaration for zope"
+HOMEPAGE=""
+SRC_URI=""
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+       ${PYTHON_DEPS}"
+DEPEND="${PYTHON_DEPS}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_unpack() {
+       mkdir -p "${S}"/zope || die
+       cat > "${S}"/zope/__init__.py <<-EOF || die
+               __import__('pkg_resources').declare_namespace(__name__)
+       EOF
+}
+
+src_install() {
+       python_foreach_impl python_domodule zope
+}