]> git.draconx.ca Git - gentoo-draconx.git/commitdiff
net-misc/google-cloud-sdk: New package.
authorNick Bowler <nbowler@draconx.ca>
Sun, 16 Oct 2022 19:35:26 +0000 (15:35 -0400)
committerNick Bowler <nbowler@draconx.ca>
Fri, 16 Dec 2022 04:28:03 +0000 (23:28 -0500)
The google-cloud-sdk requires its own version of oauth2client and
google-apitools which cannot be installed alongside the versions of
these packages from ::gentoo.

Provide "proxy" packages which can satisfy dependencies without
requiring the ::gentoo versions installed.  This seems to work OK at
least for net-misc/gsutil.  No idea about other reverse dependencies.

12 files changed:
dev-python/google-apitools/Manifest [new file with mode: 0644]
dev-python/google-apitools/google-apitools-0.5.32-r100.ebuild [new file with mode: 0644]
dev-python/oauth2client/Manifest [new file with mode: 0644]
dev-python/oauth2client/oauth2client-4.1.3-r100.ebuild [new file with mode: 0644]
dev-python/portpicker/Manifest [new file with mode: 0644]
dev-python/portpicker/portpicker-1.4.0.ebuild [new file with mode: 0644]
dev-python/prompt_toolkit/Manifest [new file with mode: 0644]
dev-python/prompt_toolkit/prompt_toolkit-1.0.18.ebuild [new file with mode: 0644]
net-misc/google-cloud-sdk/Manifest [new file with mode: 0644]
net-misc/google-cloud-sdk/google-cloud-sdk-405.0.0.ebuild [new file with mode: 0644]
profiles/eapi [new file with mode: 0644]
profiles/package.mask [new file with mode: 0644]

diff --git a/dev-python/google-apitools/Manifest b/dev-python/google-apitools/Manifest
new file mode 100644 (file)
index 0000000..2c53555
--- /dev/null
@@ -0,0 +1 @@
+EBUILD google-apitools-0.5.32-r100.ebuild 444 BLAKE2B 288c234b29cc86ebb672781f8c4c63fa2035b8a8c80bb5489dd9da2b8340cf624e0014f03aafa00491fed2e90d9870fb025202983cb6f63fea90e9018b660ab3 SHA512 d2d7aeeb1ef6f64d490ccbe066d40b226165a75916e19cff6deb539ee48f7d1fa1c64c640dab67623118ddd498fcbd7348b2b4d697e23f1a7f54051dbd2cd4ab
diff --git a/dev-python/google-apitools/google-apitools-0.5.32-r100.ebuild b/dev-python/google-apitools/google-apitools-0.5.32-r100.ebuild
new file mode 100644 (file)
index 0000000..4da2fb2
--- /dev/null
@@ -0,0 +1,16 @@
+# Copyright © 2022 Nick Bowler
+# License GPLv3+: GNU General Public License version 3 or any later version.
+# This is free software: you are free to change and redistribute it.
+# There is NO WARRANTY, to the extent permitted by law.
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+inherit python-r1
+
+DESCRIPTION="proxy for apitools via net-misc/google-cloud-sdk"
+
+SLOT="proxy"
+KEYWORDS="~amd64"
+
+RDEPEND="net-misc/google-cloud-sdk[$PYTHON_USEDEP]"
diff --git a/dev-python/oauth2client/Manifest b/dev-python/oauth2client/Manifest
new file mode 100644 (file)
index 0000000..fb89704
--- /dev/null
@@ -0,0 +1 @@
+EBUILD oauth2client-4.1.3-r100.ebuild 448 BLAKE2B 5895ff020d63e547b1b521a7fc41b7af58bc9a95b65bec7789eddf10667ac9ffcd2e3ab7108eef106894dcc8d622d9639114b2a68b13082d2f4cf1808db49701 SHA512 c7395b0138b4463d09ad0cb7242d4a43fb0a3cd3ca9df5b9e9919362348389d38a2524bd69dc552c43e950e3fecd9090a9757d6aa9a55dd4b6f17bf5bc5f432a
diff --git a/dev-python/oauth2client/oauth2client-4.1.3-r100.ebuild b/dev-python/oauth2client/oauth2client-4.1.3-r100.ebuild
new file mode 100644 (file)
index 0000000..b331a7c
--- /dev/null
@@ -0,0 +1,16 @@
+# Copyright © 2022 Nick Bowler
+# License GPLv3+: GNU General Public License version 3 or any later version.
+# This is free software: you are free to change and redistribute it.
+# There is NO WARRANTY, to the extent permitted by law.
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+inherit python-r1
+
+DESCRIPTION="proxy for oauth2client via net-misc/google-cloud-sdk"
+
+SLOT="proxy"
+KEYWORDS="~amd64"
+
+RDEPEND="net-misc/google-cloud-sdk[$PYTHON_USEDEP]"
diff --git a/dev-python/portpicker/Manifest b/dev-python/portpicker/Manifest
new file mode 100644 (file)
index 0000000..116570f
--- /dev/null
@@ -0,0 +1,2 @@
+DIST portpicker-1.4.0.tar.gz 19869 BLAKE2B 3acc1159379152f9a9de822af6b70457d697a2090dae604f9a784755d410b25024d696a93f8745ed6a3d196b7888132d92ab703ce45e7931ad82b8e16a7dc824 SHA512 c3d73385061c916a3f46ba64f784c53ba0d1fbe3e21b326156d82b85a9af5d50db6a480b6d128b3bef2a8eaf4d350c4c9a291c87bceecabdf8ea3292bd9f2d8a
+EBUILD portpicker-1.4.0.ebuild 729 BLAKE2B 67b68f3ebc036cd82fd6d8a2b29c578dd83f773a93434b6861834bc4761ce359f6ef21752fba94f568b2feba86097bc191cde39a729880dde6121c398cc8cb61 SHA512 225ccebdd2e5f29783fdf0c5f1ab7f17db2d51c4fc7a431ebc33cc0b7c3de73ba089e068094e238be14cea8c116944c6a114b0b32709bec105b2017e090f1cdc
diff --git a/dev-python/portpicker/portpicker-1.4.0.ebuild b/dev-python/portpicker/portpicker-1.4.0.ebuild
new file mode 100644 (file)
index 0000000..2f2b948
--- /dev/null
@@ -0,0 +1,26 @@
+# Copyright © 2022 Nick Bowler
+# License GPLv3+: GNU General Public License version 3 or any later version.
+# This is free software: you are free to change and redistribute it.
+# There is NO WARRANTY, to the extent permitted by law.
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="Library to find available local network ports"
+HOMEPAGE="https://github.com/google/python_portpicker https://pypi.org/project/portpicker/"
+SRC_URI="mirror://pypi/${PN:0:1}/$PN/$P.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+python_test () {
+       # Tests depend on portserver being imported as a module
+       distutils_install_for_testing --install-scripts=lib
+       epytest -s
+}
diff --git a/dev-python/prompt_toolkit/Manifest b/dev-python/prompt_toolkit/Manifest
new file mode 100644 (file)
index 0000000..880cefc
--- /dev/null
@@ -0,0 +1,2 @@
+DIST prompt_toolkit-1.0.18.tar.gz 242335 BLAKE2B cbb1586837aea7d9c4a096a59e3fe0b52a3879c08dc02d22d7a928b20eec3b9c2607e255461e234c071112c86ad98389a9b0b699392a929704e19cea0d589cef SHA512 25cb2559084b7769411b0a7ae10e5e8836b7c3fb8841eaefbd4ad784654a144f8e5730fa70d08a6f07c7de9957d308ea8c7b9050564f128fcd875e884963fbe4
+EBUILD prompt_toolkit-1.0.18.ebuild 692 BLAKE2B 37b79e37716aac50e584f8a0ab8bd8dbea82a213db06249f23317e696a4cdee70769223c60d719e3a57b3bfa419fe3001bc0f732aa80471364936cef8cbd4a2b SHA512 1b78f1a94075d1adcdeec39aa43c10abd0c2dbdffd4e87b8d9bda91aed1fec1932a6ccf742a29093fdcf639d8cef0c3f30b0c23aa5ecfd629dc6508c1656aad8
diff --git a/dev-python/prompt_toolkit/prompt_toolkit-1.0.18.ebuild b/dev-python/prompt_toolkit/prompt_toolkit-1.0.18.ebuild
new file mode 100644 (file)
index 0000000..290a8c3
--- /dev/null
@@ -0,0 +1,23 @@
+# Copyright © 2022 Nick Bowler
+# License GPLv3+: GNU General Public License version 3 or any later version.
+# This is free software: you are free to change and redistribute it.
+# There is NO WARRANTY, to the extent permitted by law.
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for building powerful interactive command lines in Python"
+HOMEPAGE="https://github.com/prompt-toolkit/python-prompt-toolkit https://pypi.org/project/prompt_toolkit/"
+SRC_URI="mirror://pypi/${PN:0:1}/$PN/$P.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/six[$PYTHON_USEDEP]
+       dev-python/wcwidth[$PYTHON_USEDEP]"
+
+distutils_enable_tests pytest
diff --git a/net-misc/google-cloud-sdk/Manifest b/net-misc/google-cloud-sdk/Manifest
new file mode 100644 (file)
index 0000000..13080a1
--- /dev/null
@@ -0,0 +1,2 @@
+DIST google-cloud-sdk-405.0.0-linux-x86_64.tar.gz 161779022 BLAKE2B 6343ab5a23692c503d9765c6fb6263403b068f4ea882a57efbcc5066d2b4e717bc833d3ff0af4f7a4b32de2434d9958bb58cece52d7bb4fef224a35e4d855e2e SHA512 da8c8af3f1a45c756619a9d539c7c7440c088999f9489e73f0958ee35b139558a7879fdbb4e09009e8b5ae3030cfb420f6743f6a4b0597bcb827f495736ebae4
+EBUILD google-cloud-sdk-405.0.0.ebuild 1800 BLAKE2B 18e5a18328869e6b9250e636e0fed6e8aa89bdacb51266245c33ff7fc4326a29d88da4edd3e1b6f8d7edd70f7682de42a15c7f1cb463e4a166fc9b1703dcfa9a SHA512 80bd18f041f0f8f61b7b40078100155231593d862bdeacce4fd4ecd861ff47e9a798523a6ad17b49d7816c362f2859431a5c792177340ed6cc1d9ce883272e5d
diff --git a/net-misc/google-cloud-sdk/google-cloud-sdk-405.0.0.ebuild b/net-misc/google-cloud-sdk/google-cloud-sdk-405.0.0.ebuild
new file mode 100644 (file)
index 0000000..88fa480
--- /dev/null
@@ -0,0 +1,65 @@
+# Copyright © 2022 Nick Bowler
+# License GPLv3+: GNU General Public License version 3 or any later version.
+# This is free software: you are free to change and redistribute it.
+# There is NO WARRANTY, to the extent permitted by law.
+
+EAPI=8
+
+PYTHON_COMPAT=(python3_10)
+
+inherit python-r1
+
+DESCRIPTION="Software for accessing Google cloud services"
+HOMEPAGE="https://cloud.google.com/"
+SRC_URI="amd64? ( https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/$P-linux-x86_64.tar.gz )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+REQUIRED_USE=$PYTHON_REQUIRED_USE
+
+S=$WORKDIR/$PN
+
+DEPEND="$PYTHON_DEPS
+       !dev-python/oauth2client:0
+       !dev-python/google-apitools:0"
+
+RDEPEND="$DEPEND
+       <dev-python/prompt_toolkit-2[$PYTHON_USEDEP]
+       dev-python/argcomplete[$PYTHON_USEDEP]
+       dev-python/dnspython[$PYTHON_USEDEP]
+       dev-python/google-auth-httplib2[$PYTHON_USEDEP]
+       dev-python/google-auth-oauthlib[$PYTHON_USEDEP]
+       dev-python/ipaddr[$PYTHON_USEDEP]
+       dev-python/jsonschema[$PYTHON_USEDEP]
+       dev-python/portpicker[$PYTHON_USEDEP]
+       dev-python/proto-plus[$PYTHON_USEDEP]
+       dev-python/pyu2f[$PYTHON_USEDEP]
+       dev-python/ruamel-yaml[$PYTHON_USEDEP]
+       dev-python/six[$PYTHON_USEDEP]
+       dev-python/uritemplate[$PYTHON_USEDEP]
+       dev-python/websocket-client[$PYTHON_USEDEP]"
+
+PDEPEND="dev-python/oauth2client:proxy
+       dev-python/google-apitools:proxy"
+
+PDEPEND="dev-python/oauth2client:proxy
+       dev-python/google-apitools:proxy"
+
+python_install () {
+       gcs_modules=(core calliope api_lib command_lib generated_clients *.py)
+
+       python_domodule lib/third_party/apitools lib/third_party/oauth2client
+       python_domodule lib/surface
+
+       python_moduleinto googlecloudsdk
+       python_domodule ${gcs_modules[@]/#/"lib/googlecloudsdk/"}
+
+       python_newscript lib/gcloud.py gcloud
+}
+
+src_install () {
+       default
+
+       python_foreach_impl python_install
+}
diff --git a/profiles/eapi b/profiles/eapi
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/profiles/package.mask b/profiles/package.mask
new file mode 100644 (file)
index 0000000..9868c03
--- /dev/null
@@ -0,0 +1,3 @@
+# conflicts with packages in ::gentoo; unmask to install google-cloud-sdk
+dev-python/google-apitools:proxy
+dev-python/oauth2client:proxy