dev-python/google-apitools: drop cli/test/sample modules
authorMike Frysinger <vapier@chromium.org>
Thu, 29 Mar 2018 04:55:19 +0000 (00:55 -0400)
committerMike Frysinger <vapier@gentoo.org>
Thu, 29 Mar 2018 04:58:00 +0000 (00:58 -0400)
Talking to upstream, the cli modules aren't generally useful, and gsutil
(the only user of this currently) doesn't need it.  By dropping that, we
can drop the deprecated google-apputils project which doesn't support
py3.  We also clean up the install of unused sample & test modules.  Now
we can make it support python-3.

dev-python/google-apitools/files/google-apitools-0.5.22-drop-cli.patch [new file with mode: 0644]
dev-python/google-apitools/google-apitools-0.5.22-r1.ebuild [new file with mode: 0644]

diff --git a/dev-python/google-apitools/files/google-apitools-0.5.22-drop-cli.patch b/dev-python/google-apitools/files/google-apitools-0.5.22-drop-cli.patch
new file mode 100644 (file)
index 0000000..cae369d
--- /dev/null
@@ -0,0 +1,21 @@
+we don't have code currently that uses the CLI tools, and the CLI tools require
+the apputils project, and that doesn't currently work with python3.  drop it for
+now to get general python3 support.
+https://github.com/google/apitools/issues/8
+
+--- a/setup.py
++++ b/setup.py
+@@ -69,13 +69,7 @@ setuptools.setup(
+     author_email='craigcitro@google.com',
+     # Contained modules and scripts.
+     packages=setuptools.find_packages(),
+-    entry_points={'console_scripts': CONSOLE_SCRIPTS},
+     install_requires=REQUIRED_PACKAGES,
+-    tests_require=REQUIRED_PACKAGES + CLI_PACKAGES + TESTING_PACKAGES,
+-    extras_require={
+-        'cli': CLI_PACKAGES,
+-        'testing': TESTING_PACKAGES,
+-        },
+     # Add in any packaged data.
+     include_package_data=True,
+     package_data={
diff --git a/dev-python/google-apitools/google-apitools-0.5.22-r1.ebuild b/dev-python/google-apitools/google-apitools-0.5.22-r1.ebuild
new file mode 100644 (file)
index 0000000..cf9076c
--- /dev/null
@@ -0,0 +1,48 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# We strip out the tests & cli code as it relies on google-apputils, and that
+# module hasn't been ported to python-3.  No one currently relies on them, so
+# we drop them for the sake of gaining python-3.
+# https://github.com/google/apitools/issues/8
+
+EAPI="5"
+
+PYTHON_COMPAT=( python{2_7,3_6} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to manipulate Google APIs"
+HOMEPAGE="https://github.com/google/apitools"
+SRC_URI="https://github.com/google/apitools/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+RDEPEND=">=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+       >=dev-python/fasteners-0.14[${PYTHON_USEDEP}]
+       >=dev-python/oauth2client-1.5.2[${PYTHON_USEDEP}]
+       >=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+       >=dev-python/setuptools-18.5[${PYTHON_USEDEP}]"
+# See comment above about py3 support.
+RESTRICT="test"
+
+S="${WORKDIR}/apitools-${PV}"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.5.22-use-friendy-version-checks.patch
+       "${FILESDIR}"/${PN}-0.5.22-drop-cli.patch
+)
+
+src_unpack() {
+       default
+
+       # Nuke modules that we don't need.
+       cd "${S}"
+       rm -r samples || die
+       find -name '*_test.py' -delete || die
+       find -name testdata -exec rm -r {} + || die
+}