summaryrefslogtreecommitdiff
path: root/net-misc/gsutil
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/gsutil')
-rw-r--r--net-misc/gsutil/Manifest17
-rw-r--r--net-misc/gsutil/files/dummy.boto6
-rw-r--r--net-misc/gsutil/files/gsutil-3.37-drop-http_proxy-clearing.patch35
-rw-r--r--net-misc/gsutil/files/gsutil-3.42-use-friendy-version-checks.patch20
-rw-r--r--net-misc/gsutil/files/gsutil-4.19-use-friendy-version-checks.patch25
-rw-r--r--net-misc/gsutil/files/gsutil-4.20-use-friendy-version-checks.patch25
-rw-r--r--net-misc/gsutil/files/gsutil-4.27-use-friendy-version-checks.patch29
-rw-r--r--net-misc/gsutil/gsutil-3.42.ebuild51
-rw-r--r--net-misc/gsutil/gsutil-4.19.ebuild55
-rw-r--r--net-misc/gsutil/gsutil-4.20.ebuild54
-rw-r--r--net-misc/gsutil/gsutil-4.27.ebuild59
-rw-r--r--net-misc/gsutil/metadata.xml11
12 files changed, 387 insertions, 0 deletions
diff --git a/net-misc/gsutil/Manifest b/net-misc/gsutil/Manifest
new file mode 100644
index 000000000000..ca76aa720dfd
--- /dev/null
+++ b/net-misc/gsutil/Manifest
@@ -0,0 +1,17 @@
+AUX dummy.boto 128 SHA256 9ccaaa014a58a8fcf456241d0664bf62604d022e87429bf2ace67b3d3b2dd5c7 SHA512 9e420dde9d7e8e9fe2513529fd2681994763e8b9069ae9911c56a3ee72d77e40a8e5c8b0e7c006fe5c336ccb78935d908b20bd1bd275dded317a0c5d2b7bc97d WHIRLPOOL 67dcf175e872fa47b787a290444a9d1e9847c607bdc4cd4f29053ceece9149a4aabe2a0d313f6aff9cad7765312301acd8156401ebf2f14afdcc10232f63ec5c
+AUX gsutil-3.37-drop-http_proxy-clearing.patch 1144 SHA256 148697e311fb2b11ddcc1caf9e05f3b63e26d2e33603cee1f67f5fb8792177c9 SHA512 30a1a3c2a858941201a0f0cf435cff6f9bfa22e3439e62913ed4f999fcca077c35ae7c2a0fcd90ed988d686f38d0df0fd021ba103bfa99a5931ba9dbe4a0e480 WHIRLPOOL 7a79fb91867480f41f061cc2e6f351c8592db256b45282f98ac77b3301d176c6457e975979c8d3d2c491ef62c320d8b0199329d9ef26a013e80b365b2c96a2d3
+AUX gsutil-3.42-use-friendy-version-checks.patch 473 SHA256 45362bbb927d063f4e523e7117031106fcf7ad6c0d33c27f36124de90b2d3506 SHA512 710f192953d3b0b10cfa4b2fb785d8515149a374197a51bc05e42ebc9293dd8418dcc05f38c005aeecaa87b6e6b8efc89f0c0bfb849a9c8b1741c8a22aed7374 WHIRLPOOL d2b0c49ea90629c5e50c207fa05918d0764e2f5e5ba5f454a6ddf6e05fbf9a0233650cc45a0813eed16864063105c23314b4eb6043e4d70bada8d0ae4de6b195
+AUX gsutil-4.19-use-friendy-version-checks.patch 562 SHA256 3de92d69d8599f5577d0c79657fdbe0d70bdc443aa91f8b1fd47d92ce0ce4c8d SHA512 90d3845ec4f43bfddf6bc71cb31cdffc0623370f15c0621a48bd2687f62221ca2f6ad947d44602143450cb6900a83847c482e33aefda1446361e3a35666ffb92 WHIRLPOOL dbfed5deb8d031e7c536e9b73b314c43c9b75a27e94b79c9479ff3321ea22f116372b704cdcd78f2d9a98a04ad1f1fc31dd39f95757677f5b9eedd321f627928
+AUX gsutil-4.20-use-friendy-version-checks.patch 639 SHA256 f4f295f4cc0593e9c852af4bbb9b6689e997f6f23c3d1cf80932319e11747ef0 SHA512 0446f26c1d25bdd160de849123b90b73ec63b12179f05851c83481860bcb4a259be4166b79ba1616d2ca3f001a75b1d9f7fad588d5d89e3c091f057ddf71cd0b WHIRLPOOL 779b5992291ebb8c57f997c5aaf3aa136f5f1d8005c4f5a7d08e5e71fb076739b7b920dd0b6973d6ed0217160acd846d23bd5bd6fd2023d1169db8d8ff5ab324
+AUX gsutil-4.27-use-friendy-version-checks.patch 745 SHA256 f8a81d187169c1a35e0454c9f8eab37bf2db993508b3d9c3c504250b79bfb6a2 SHA512 ed060d08fe58c171df591c010aec1c597a4ba2f08ecf4d5806a78437b90aedd9309f16f48a7cc24143c508b9cac44d865aa3b4499cd11ab8fa1cc0c6196796ad WHIRLPOOL 08d0725b88d33bfa0a271e38cc410987c0a9d0bf72d7c155cf26f99e09e7cb8ee1080a6a5fb73552caa89e5e4b9918ac8d66c521a852da7abc50b63afd37585e
+DIST gsutil_3.42.tar.gz 1878904 SHA256 50fc7acb7d1db8752f3eee106a3d8d65188107943e7cb30cfd3f94a9cfcdcf37 SHA512 084aaf43a44528af0cdfd9bd22beeb5d6abff240c09843cf35016d685d51b854ed5b2837eaa50c97bb44d5e1a3cdccbae6688ef27aa13f2a5db6040bf501b381 WHIRLPOOL 5b0d0fb1d2446a7b8777f368f073fdb4f7ad2d6407735976c178a2727a2548bf28522e06469dd0b7df1578d5586bc152fba3520b66f88d706417947aa3aa5578
+DIST gsutil_4.19.tar.gz 2715141 SHA256 6d9ce67de274d080775ed55e3d86edeb1c8c0a942bccdf5e96bdf1eaa51dd8d2 SHA512 59e96c9855a037300feae122462ff3c9f69e46f049812e88087ae532f590e84b81d67b4e961c47bd0f725c87aa6e0360f65bd8935a95a51c61eb80da0b82dcc1 WHIRLPOOL 70ccfa6f462e536f8aee7ef27aef0e9f8ef0d73bad1493959d2a177db675324f5a872bef5c7e7c844b380cabb04d00f6b334f46bc0f021e4ed743a209b4bf677
+DIST gsutil_4.20.tar.gz 2872954 SHA256 aa468f68ef7ac570b2071de56b4ce55c829cb92b62cf10c007bcbec6e74c7997 SHA512 3fb7903f87eb18a0bece514d1cfc4030b056e47044ef0d9ffd673015358bd86cfc9dcdcf4191e0a4d8f3bae7ef70e12e6856912940d857dc7eec1b1d087026f6 WHIRLPOOL 88932a54656a6399e1c489c294a83f185bb0343e30489c105de4bb6a556e3173b9bb0d3d24e5808872ea10d50d9731ccbceeb8e43280fb0c30ada61e8d2c6c0b
+DIST gsutil_4.27.tar.gz 3107288 SHA256 1e794e64429077ab2beddbc1a548f83dbde41228f83e8267904dee0778a025fa SHA512 0c05e3f1baa8e11e89fc5af2a42474984fc4d5b3cfbd28f3a0efd7603aeee9062f55899c8325579a10e37a6b70a2ad770daf03589f43d0a8a696595c1cdf7b57 WHIRLPOOL 36e06017e1a1221f1af55976e470119e9543d70cc177ab2d12bb8957d25ff38cfc4fa85873b65b57bf4e7ac83301691d65e97398d638e7cb545fdd472e8437d0
+EBUILD gsutil-3.42.ebuild 1311 SHA256 3ed5dec9fca25ae97fe6540c7b3be4aeade162bf9fdc84ec37bd3e1fd28924c7 SHA512 3e25a65f6946ae050569435431eeff8004bb42f1e57dcfc9bf6ac6e60dbd7c22b011a0f3e78c13b7d1406c76f793a84b3f7cec01fa6ec3c9d158c20f820c6ab3 WHIRLPOOL 96b906f7beffdb9d98796f7d6f0188e034986e8f552b30994009341ffdfe190ed07b43c8a37c726b2f188361c26d5ffbeb3a1e157b70bd4fbb5944afeb8dd74d
+EBUILD gsutil-4.19.ebuild 1542 SHA256 d539930670bdd5751fec4d1610f273f20b1028dc27f0c27c86aa2777a266564d SHA512 2dc39b7f7967d33652547d8bddcddd1b43b8114a8279a3408c3ed3cc0143847908f2fd9a51e5b89524e61fbf90f83fb85d337fd5e0bd6994720b96eee6ac4e4f WHIRLPOOL 7b61b951d5fafea04b9963e84b01ac16ddecbc482c407f4eb0d2cf6bad7d1398ae845228d4aac4ed49c0ec470e75f0a8a60d4d68c438386ec07dabde495934ac
+EBUILD gsutil-4.20.ebuild 1514 SHA256 b08b2b56bbeab33f1eb886e5ea0928cfbd9de9343840ec362d5254a8866192f0 SHA512 fa6f9b69f9e15f369e442aa7b430d87f9b662efb86ea0673297f0d69fa6706db717341510b14a6d72d44b9e0937428eaa6b1df856cb1806d0774be93d7baea82 WHIRLPOOL 7e90f946d5727385d4e2a78e59604d26b4a01b7bd6d6bebefe0ab243bc6db8191b638455e49591cc5e67b9bb52e79e6631815a955a13c656b2c4f1a503b8de6b
+EBUILD gsutil-4.27.ebuild 1740 SHA256 93cbe8c5691d0c5359ad7ca192eea8d4f190369e115207dae09a630d475c79ad SHA512 bcdd47cd2b3a021b47e16a783e6ef805bdf89bddb08df894f0919972a801fa2a09eee724ca55ce15c316b7be371c643a17955eef4570701b4d4939bd41e20595 WHIRLPOOL 5a521a32be09c2f7ed3437440bbfb947fb0e7e3e022f52bc4242d8d28e5105807eef8b4e7322251fa58fc815d93e946f3092886c0b2fc06be25567ffbdabf5f1
+MISC ChangeLog 6807 SHA256 7f1e76a9d1e17208b084c35447b7a38bc755f212d6da177235101241ba5f63ef SHA512 049eb30ac49a9223db124d21660817f63da73737c2005d3e4ae5bc954b153e78a87dbbb324df115b49877ea97c63f57c7658dd4a78c31f2e048f4d8493542cd0 WHIRLPOOL 26dccba528cb709bc6e194a2569435431afccbe2e4f668eb70efeee992779d4d92cb7b47979e91823c42962193b75bd3cf7b242fdb54f7e637311a0a0f834f88
+MISC ChangeLog-2015 3546 SHA256 814f44f33ff09b7a83870f1bffd613cd1a66275ee7a697654d011f992a905e31 SHA512 2f6e9cf12797fc20540a0276e3b31f877e408e4a3e9c1d97529f2a0fa564cfe5ba88404cc0b65f4e2d6fdedeedd5fc197b5445df0e122d3e91108f09a67daf91 WHIRLPOOL d8eb1fb11e34f357c2116a9ad446ede944d2df498c01ea0b8639406a49b9e554afa3867f378c07db43598003273bd41c22c8643f7d153d7905285b0f971e142f
+MISC metadata.xml 359 SHA256 ad721c2e90e604e7b196492bda7457454442652abcb6930149bf045e30c62a8e SHA512 cc3c00dcd60084af77cae6428f522b05fdd95a38b986bbf174be3e1a0dbbffb5d7e448b8eb481b645edf8dc588b8a5d0beed42d6b07e6771fcf5e7e62ad942a0 WHIRLPOOL c6a527f5f24cacb3f2e6ef3337385376831a8f4e3a21e090327ade23b561f73e55f102a7e4e701b3ab850f8d6183800ff76a01c9b7b77a7d407652eeadb619dc
diff --git a/net-misc/gsutil/files/dummy.boto b/net-misc/gsutil/files/dummy.boto
new file mode 100644
index 000000000000..93e9dd2f8c77
--- /dev/null
+++ b/net-misc/gsutil/files/dummy.boto
@@ -0,0 +1,6 @@
+# dummy .boto file for testing
+
+[Credentials]
+gs_oauth2_refresh_token = 1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+
+[GSUtil]
diff --git a/net-misc/gsutil/files/gsutil-3.37-drop-http_proxy-clearing.patch b/net-misc/gsutil/files/gsutil-3.37-drop-http_proxy-clearing.patch
new file mode 100644
index 000000000000..4c36035d21c5
--- /dev/null
+++ b/net-misc/gsutil/files/gsutil-3.37-drop-http_proxy-clearing.patch
@@ -0,0 +1,35 @@
+http://crbug.com/318478
+
+From 0067df5b08ebab29b88bbb7e6c1cd79dc4d96100 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Wed, 27 Nov 2013 14:57:05 -0500
+Subject: [PATCH] drop http_proxy clearing
+
+The boto logic takes care of merging the env vars and the settings in its
+boto config file, so there shouldn't be a need to clear things.
+---
+ gslib/__main__.py | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/gslib/__main__.py b/gslib/__main__.py
+index 82a69c1..a18db42 100644
+--- a/gslib/__main__.py
++++ b/gslib/__main__.py
+@@ -247,14 +247,6 @@ def main():
+ else:
+ command_name = args[0]
+
+- # Unset http_proxy environment variable if it's set, because it confuses
+- # boto. (Proxies should instead be configured via the boto config file.)
+- if 'http_proxy' in os.environ:
+- if debug > 1:
+- sys.stderr.write(
+- 'Unsetting http_proxy environment variable within gsutil run.\n')
+- del os.environ['http_proxy']
+-
+ return _RunNamedCommandAndHandleExceptions(
+ command_runner, command_name, args[1:], headers, debug,
+ parallel_operations)
+--
+1.8.4.3
+
diff --git a/net-misc/gsutil/files/gsutil-3.42-use-friendy-version-checks.patch b/net-misc/gsutil/files/gsutil-3.42-use-friendy-version-checks.patch
new file mode 100644
index 000000000000..5d8bbbc7635e
--- /dev/null
+++ b/net-misc/gsutil/files/gsutil-3.42-use-friendy-version-checks.patch
@@ -0,0 +1,20 @@
+--- a/setup.py
++++ b/setup.py
+@@ -33,15 +33,13 @@ management tasks, including:
+ """
+
+ requires = [
+- 'boto==2.22.1',
++ 'boto>=2.22.1',
+ 'httplib2>=0.8',
+ 'python-gflags>=2.0',
+ 'google-api-python-client>=1.1',
+ 'pyOpenSSL>=0.13',
+ 'crcmod>=1.7',
+- # Not using 1.02 because of:
+- # https://code.google.com/p/socksipy-branch/issues/detail?id=3
+- 'SocksiPy-branch==1.01',
++ 'SocksiPy-branch>=1.01',
+ 'retry_decorator>=1.0.0',
+ ]
+
diff --git a/net-misc/gsutil/files/gsutil-4.19-use-friendy-version-checks.patch b/net-misc/gsutil/files/gsutil-4.19-use-friendy-version-checks.patch
new file mode 100644
index 000000000000..66d8144329f2
--- /dev/null
+++ b/net-misc/gsutil/files/gsutil-4.19-use-friendy-version-checks.patch
@@ -0,0 +1,25 @@
+--- a/setup.py
++++ b/setup.py
+@@ -35,10 +35,10 @@
+ """
+
+ requires = [
+- 'boto==2.39.0',
++ 'boto>=2.39.0',
+ 'crcmod>=1.7',
+ 'gcs-oauth2-boto-plugin>=1.12',
+- 'google-apitools==0.5.2',
++ 'google-apitools>=0.5.2',
+ 'httplib2>=0.8',
+- 'oauth2client==1.5.2',
++ 'oauth2client>=1.5.2',
+ 'pyOpenSSL>=0.13',
+@@ -48,7 +48,7 @@
+ 'six>=1.9.0',
+ # Not using 1.02 because of:
+ # https://code.google.com/p/socksipy-branch/issues/detail?id=3
+- 'SocksiPy-branch==1.01',
++ 'SocksiPy-branch>=1.01',
+ ]
+
+ dependency_links = [
diff --git a/net-misc/gsutil/files/gsutil-4.20-use-friendy-version-checks.patch b/net-misc/gsutil/files/gsutil-4.20-use-friendy-version-checks.patch
new file mode 100644
index 000000000000..8f0de98d0d38
--- /dev/null
+++ b/net-misc/gsutil/files/gsutil-4.20-use-friendy-version-checks.patch
@@ -0,0 +1,25 @@
+--- a/setup.py
++++ b/setup.py
+@@ -35,10 +35,10 @@
+ """
+
+ requires = [
+- 'boto==2.39.0',
++ 'boto>=2.39.0',
+ 'crcmod>=1.7',
+ 'gcs-oauth2-boto-plugin>=1.14',
+- 'google-apitools==0.5.3',
++ 'google-apitools>=0.5.3',
+ 'httplib2>=0.8',
+- 'oauth2client==2.2.0',
++ 'oauth2client>=2.2.0',
+ 'pyOpenSSL>=0.13',
+@@ -48,7 +48,6 @@
+ 'six>=1.9.0',
+ # Not using 1.02 because of:
+ # https://code.google.com/p/socksipy-branch/issues/detail?id=3
+- 'SocksiPy-branch==1.01',
++ 'SocksiPy-branch>=1.01',
+ # TODO: Sync submodule with tag referenced here once #339 is fixed in mock.
+- 'mock==2.0.0',
+ ]
diff --git a/net-misc/gsutil/files/gsutil-4.27-use-friendy-version-checks.patch b/net-misc/gsutil/files/gsutil-4.27-use-friendy-version-checks.patch
new file mode 100644
index 000000000000..c02e567989f3
--- /dev/null
+++ b/net-misc/gsutil/files/gsutil-4.27-use-friendy-version-checks.patch
@@ -0,0 +1,29 @@
+--- a/setup.py
++++ b/setup.py
+@@ -36,21 +36,21 @@
+
+ requires = [
+ 'argcomplete>=1.8.2',
+- 'boto==2.47.0',
++ 'boto>=2.47.0',
+ 'crcmod>=1.7',
+ 'gcs-oauth2-boto-plugin>=1.14',
+- 'google-apitools==0.5.3',
++ 'google-apitools>=0.5.3',
+ 'httplib2>=0.8',
+ # TODO: Sync submodule with tag referenced here once #339 is fixed in mock.
+- 'mock==2.0.0',
+- 'oauth2client==2.2.0',
++ 'mock>=2.0.0',
++ 'oauth2client>=2.2.0',
+ 'pyOpenSSL>=0.13',
+ 'python-gflags>=2.0',
+ 'retry_decorator>=1.0.0',
+ 'six>=1.9.0',
+ # Not using 1.02 because of:
+ # https://code.google.com/p/socksipy-branch/issues/detail?id=3
+- 'SocksiPy-branch==1.01',
++ 'SocksiPy-branch>=1.01',
+ ]
+
+ dependency_links = [
diff --git a/net-misc/gsutil/gsutil-3.42.ebuild b/net-misc/gsutil/gsutil-3.42.ebuild
new file mode 100644
index 000000000000..35ad072fb781
--- /dev/null
+++ b/net-misc/gsutil/gsutil-3.42.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="command line tool for interacting with cloud storage services"
+HOMEPAGE="https://github.com/GoogleCloudPlatform/gsutil"
+SRC_URI="http://commondatastorage.googleapis.com/pub/${PN}_${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ >=dev-python/boto-2.22.1[${PYTHON_USEDEP}]
+ >=dev-python/crcmod-1.7
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.1[${PYTHON_USEDEP}]
+ >=dev-python/python-gflags-2.0[${PYTHON_USEDEP}]
+ >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/PySocks-1.01[${PYTHON_USEDEP}]
+ "
+
+S=${WORKDIR}/${PN}
+
+DOCS=( README.md CHANGES.md )
+
+PATCHES=(
+ "${FILESDIR}/${P}-use-friendy-version-checks.patch"
+ "${FILESDIR}/${PN}-3.37-drop-http_proxy-clearing.patch"
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed \
+ -e '/SocksiPy-branch/d' \
+ -i setup.py || die
+}
+
+python_test() {
+ export BOTO_CONFIG=${FILESDIR}/dummy.boto
+ ${PYTHON} gslib/__main__.py test -u || die "tests failed"
+}
diff --git a/net-misc/gsutil/gsutil-4.19.ebuild b/net-misc/gsutil/gsutil-4.19.ebuild
new file mode 100644
index 000000000000..99c17123dd51
--- /dev/null
+++ b/net-misc/gsutil/gsutil-4.19.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="command line tool for interacting with cloud storage services"
+HOMEPAGE="https://github.com/GoogleCloudPlatform/gsutil"
+SRC_URI="http://commondatastorage.googleapis.com/pub/${PN}_${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+# The oauth2client-2 dep sucks.
+# https://github.com/GoogleCloudPlatform/gsutil/issues/355
+RDEPEND="${PYTHON_DEPS}
+ >=dev-python/boto-2.39.0[${PYTHON_USEDEP}]
+ >=dev-python/crcmod-1.7[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/gcs-oauth2-boto-plugin-1.12[${PYTHON_USEDEP}]
+ >=dev-python/google-apitools-0.5.2[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.5.2[${PYTHON_USEDEP}]
+ <dev-python/oauth2client-2
+ >=dev-python/python-gflags-2.0[${PYTHON_USEDEP}]
+ >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/PySocks-1.01[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${PN}
+
+DOCS=( README.md CHANGES.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.19-use-friendy-version-checks.patch
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -i \
+ -e '/SocksiPy-branch/d' \
+ setup.py || die
+}
+
+python_test() {
+ export BOTO_CONFIG=${FILESDIR}/dummy.boto
+ ${PYTHON} gslib/__main__.py test -u || die "tests failed"
+}
diff --git a/net-misc/gsutil/gsutil-4.20.ebuild b/net-misc/gsutil/gsutil-4.20.ebuild
new file mode 100644
index 000000000000..15361383febe
--- /dev/null
+++ b/net-misc/gsutil/gsutil-4.20.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="command line tool for interacting with cloud storage services"
+HOMEPAGE="https://github.com/GoogleCloudPlatform/gsutil"
+SRC_URI="http://commondatastorage.googleapis.com/pub/${PN}_${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+# The oauth2client-2 dep sucks.
+# https://github.com/GoogleCloudPlatform/gsutil/issues/355
+RDEPEND="${PYTHON_DEPS}
+ >=dev-python/boto-2.39.0[${PYTHON_USEDEP}]
+ >=dev-python/crcmod-1.7[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/gcs-oauth2-boto-plugin-1.14[${PYTHON_USEDEP}]
+ >=dev-python/google-apitools-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-gflags-2.0[${PYTHON_USEDEP}]
+ >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/PySocks-1.01[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${PN}
+
+DOCS=( README.md CHANGES.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.20-use-friendy-version-checks.patch
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -i \
+ -e '/SocksiPy-branch/d' \
+ setup.py || die
+}
+
+python_test() {
+ export BOTO_CONFIG=${FILESDIR}/dummy.boto
+ ${PYTHON} gslib/__main__.py test -u || die "tests failed"
+}
diff --git a/net-misc/gsutil/gsutil-4.27.ebuild b/net-misc/gsutil/gsutil-4.27.ebuild
new file mode 100644
index 000000000000..491ea929a00c
--- /dev/null
+++ b/net-misc/gsutil/gsutil-4.27.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="command line tool for interacting with cloud storage services"
+HOMEPAGE="https://github.com/GoogleCloudPlatform/gsutil"
+SRC_URI="http://commondatastorage.googleapis.com/pub/${PN}_${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE=""
+
+# The oauth2client-2 dep sucks.
+# https://github.com/GoogleCloudPlatform/gsutil/issues/355
+RDEPEND="${PYTHON_DEPS}
+ >=dev-python/argcomplete-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/boto-2.47.0[${PYTHON_USEDEP}]
+ >=dev-python/crcmod-1.7[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-0.13[${PYTHON_USEDEP}]
+ >=dev-python/gcs-oauth2-boto-plugin-1.14[${PYTHON_USEDEP}]
+ >=dev-python/google-apitools-0.5.3[${PYTHON_USEDEP}]
+ =dev-python/oauth2client-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-gflags-2.0[${PYTHON_USEDEP}]
+ >=dev-python/retry-decorator-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/PySocks-1.01[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${PN}
+
+DOCS=( README.md CHANGES.md )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.27-use-friendy-version-checks.patch
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -i \
+ -e '/SocksiPy-branch/d' \
+ setup.py || die
+
+ # Package installs 'test' package which is forbidden and likely a bug in the build system
+ rm -rf "${S}/test" || die
+ sed -i -e '/recursive-include test/d' MANIFEST.in || die
+}
+
+python_test() {
+ export BOTO_CONFIG=${FILESDIR}/dummy.boto
+ ${PYTHON} gslib/__main__.py test -u || die "tests failed"
+}
diff --git a/net-misc/gsutil/metadata.xml b/net-misc/gsutil/metadata.xml
new file mode 100644
index 000000000000..df60255c433f
--- /dev/null
+++ b/net-misc/gsutil/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>vapier@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="google-code">gsutil</remote-id>
+ <remote-id type="github">GoogleCloudPlatform/gsutil</remote-id>
+ </upstream>
+</pkgmetadata>