# vpython VirtualEnv protobuf for "gsutil".
#
# See:
# https://chromium.googlesource.com/infra/luci/luci-go/+/master/vpython/api/vpython/spec.proto
#
# This is a "vpython" VirtualEnv specification applied to invocations of "gsutil"
# by the bootstrap wrapper, "gsutil.py". It ensures that any Python distribution
# has the expected Python packages installed.
#
# This is specifically relevant on Google Compute Engine invocations of
# "gsutil", where a stock system-deployed file in "/etc/" explicitly specifies
# that the "google_compute_engine" and "boto" Python packages are available.

python_version: "2.7"

wheel <
  name: "infra/python/wheels/google_compute_engine-py2_py3"
  version: "version:2.6.2"
>
wheel <
  name: "infra/python/wheels/boto-py2_py3"
  version: "version:2.48.0"
>

# "gsutil" on non-GCE can require PyOpenSSL, which, in turn, requires
# "cryptography".

wheel: <
  name: "infra/python/wheels/pyopenssl-py2_py3"
  version: "version:17.2.0"
>

##
# BEGIN "cryptography" dependencies.
##

wheel: <
  name: "infra/python/wheels/cryptography/${platform}_${py_python}_${py_abi}"
  version: "version:2.0.3"
>

wheel: <
  name: "infra/python/wheels/appdirs-py2_py3"
  version: "version:1.4.3"
>

wheel: <
  name: "infra/python/wheels/asn1crypto-py2_py3"
  version: "version:1.0.1"
>

wheel: <
  name: "infra/python/wheels/enum34-py2"
  version: "version:1.1.6"
>

wheel: <
  name: "infra/python/wheels/cffi/${platform}_${py_python}_${py_abi}"
  version: "version:1.10.0"
>

wheel: <
  name: "infra/python/wheels/idna-py2_py3"
  version: "version:2.5"
>

wheel: <
  name: "infra/python/wheels/ipaddress-py2"
  version: "version:1.0.18"
>

wheel: <
  name: "infra/python/wheels/packaging-py2_py3"
  version: "version:16.8"
>

wheel: <
  name: "infra/python/wheels/pyasn1-py2_py3"
  version: "version:0.2.3"
>

wheel: <
  name: "infra/python/wheels/pycparser-py2_py3"
  version: "version:2.17"
>

wheel: <
  name: "infra/python/wheels/pyparsing-py2_py3"
  version: "version:2.2.0"
>

wheel: <
  name: "infra/python/wheels/setuptools-py2_py3"
  version: "version:34.3.2"
>

wheel: <
  name: "infra/python/wheels/six-py2_py3"
  version: "version:1.10.0"
>

##
# END "cryptography" dependencies.
##

wheel: <
  name: "infra/python/wheels/crcmod/${vpython_platform}"
  version: "version:1.7"
  match_tag: <
    abi: "cp27mu"
    platform: "manylinux1_i686"
  >
  match_tag: <
    abi: "cp27mu"
    platform: "manylinux1_x86_64"
  >
  match_tag: <
    platform: "macosx_10_6_intel"
  >
>
