We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
pip install toil-cwl-runner should work


┆Issue is synchronized with this [Jira Task](https://ucsc-cgl.atlassian.net/browse/TOIL-879)
┆Issue Number: TOIL-879


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `setup.py`
Content:
```
1 # Copyright (C) 2015-2021 Regents of the University of California
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 import imp
15 import os
16 
17 from tempfile import NamedTemporaryFile
18 from setuptools import find_packages, setup
19 
20 
21 def run_setup():
22     """
23     Calls setup(). This function exists so the setup() invocation preceded more internal
24     functionality. The `version` module is imported dynamically by import_version() below.
25     """
26     boto = 'boto>=2.48.0, <3'
27     boto3 = 'boto3>=1.7.50, <2'
28     futures = 'futures>=3.1.1, <4'
29     pycryptodome = 'pycryptodome==3.5.1'
30     pymesos = 'pymesos==0.3.15'
31     psutil = 'psutil >= 3.0.1, <6'
32     pynacl = 'pynacl==1.3.0'
33     gcs = 'google-cloud-storage==1.6.0'
34     gcs_oauth2_boto_plugin = 'gcs_oauth2_boto_plugin==1.14'
35     apacheLibcloud = 'apache-libcloud==2.2.1'
36     cwltool = 'cwltool==3.0.20201203173111'
37     galaxyToolUtil = 'galaxy-tool-util'
38     htcondor = 'htcondor>=8.6.0'
39     kubernetes = 'kubernetes>=12.0.1, <13'
40     idna = 'idna>=2'
41     pytz = 'pytz>=2012'
42     pyyaml = 'pyyaml>=5, <6'
43     dill = 'dill>=0.3.2, <0.4'
44     requests = 'requests>=2, <3'
45     docker = 'docker==4.3.1'
46     dateutil = 'python-dateutil'
47     addict = 'addict>=2.2.1, <2.3'
48     enlighten = 'enlighten>=1.5.2, <2'
49     wdlparse = 'wdlparse==0.1.0'
50 
51     core_reqs = [
52         dill,
53         requests,
54         docker,
55         dateutil,
56         psutil,
57         addict,
58         pytz,
59         pyyaml,
60         enlighten]
61     aws_reqs = [
62         boto,
63         boto3,
64         futures,
65         pycryptodome]
66     cwl_reqs = [
67         cwltool,
68         galaxyToolUtil]
69     encryption_reqs = [
70         pynacl]
71     google_reqs = [
72         gcs_oauth2_boto_plugin,  # is this being used??
73         apacheLibcloud,
74         gcs]
75     htcondor_reqs = [
76         htcondor]
77     kubernetes_reqs = [
78         kubernetes,
79         idna]  # Kubernetes's urllib3 can mange to use idna without really depending on it.
80     mesos_reqs = [
81         pymesos,
82         psutil]
83     wdl_reqs = [
84         wdlparse
85     ]
86 
87     # htcondor is not supported by apple
88     # this is tricky to conditionally support in 'all' due
89     # to how wheels work, so it is not included in all and
90     # must be explicitly installed as an extra
91     all_reqs = \
92         aws_reqs + \
93         cwl_reqs + \
94         encryption_reqs + \
95         google_reqs + \
96         kubernetes_reqs + \
97         mesos_reqs + \
98         wdl_reqs
99 
100     setup(
101         name='toil',
102         version=version.distVersion,
103         description='Pipeline management software for clusters.',
104         author='Benedict Paten',
105         author_email='benedict@soe.usc.edu',
106         url="https://github.com/DataBiosphere/toil",
107         classifiers=[
108           'Development Status :: 5 - Production/Stable',
109           'Environment :: Console',
110           'Intended Audience :: Developers',
111           'Intended Audience :: Science/Research',
112           'Intended Audience :: Healthcare Industry',
113           'License :: OSI Approved :: Apache Software License',
114           'Natural Language :: English',
115           'Operating System :: MacOS :: MacOS X',
116           'Operating System :: POSIX',
117           'Operating System :: POSIX :: Linux',
118           'Programming Language :: Python :: 3.6',
119           'Topic :: Scientific/Engineering',
120           'Topic :: Scientific/Engineering :: Bio-Informatics',
121           'Topic :: Scientific/Engineering :: Astronomy',
122           'Topic :: Scientific/Engineering :: Atmospheric Science',
123           'Topic :: Scientific/Engineering :: Information Analysis',
124           'Topic :: Scientific/Engineering :: Medical Science Apps.',
125           'Topic :: System :: Distributed Computing',
126           'Topic :: Utilities'],
127         license="Apache License v2.0",
128         python_requires=">=3.6",
129         install_requires=core_reqs,
130         extras_require={
131             'aws': aws_reqs,
132             'cwl': cwl_reqs,
133             'encryption': encryption_reqs,
134             'google': google_reqs,
135             'htcondor:sys_platform!="darwin"': htcondor_reqs,
136             'kubernetes': kubernetes_reqs,
137             'mesos': mesos_reqs,
138             'wdl': wdl_reqs,
139             'all': all_reqs},
140         package_dir={'': 'src'},
141         packages=find_packages(where='src',
142                                # Note that we intentionally include the top-level `test` package for
143                                # functionality like the @experimental and @integrative decorators:
144                                exclude=['*.test.*']),
145         package_data={
146             '': ['*.yml', 'cloud-config'],
147         },
148         # Unfortunately, the names of the entry points are hard-coded elsewhere in the code base so
149         # you can't just change them here. Luckily, most of them are pretty unique strings, and thus
150         # easy to search for.
151         entry_points={
152             'console_scripts': [
153                 'toil = toil.utils.toilMain:main',
154                 '_toil_worker = toil.worker:main',
155                 'cwltoil = toil.cwl.cwltoil:cwltoil_was_removed [cwl]',
156                 'toil-cwl-runner = toil.cwl.cwltoil:main [cwl]',
157                 'toil-wdl-runner = toil.wdl.toilwdl:main',
158                 '_toil_mesos_executor = toil.batchSystems.mesos.executor:main [mesos]',
159                 '_toil_kubernetes_executor = toil.batchSystems.kubernetes:executor [kubernetes]']})
160 
161 
162 def import_version():
163     """Return the module object for src/toil/version.py, generate from the template if required."""
164     if not os.path.exists('src/toil/version.py'):
165         # Use the template to generate src/toil/version.py
166         import version_template
167         with NamedTemporaryFile(mode='w', dir='src/toil', prefix='version.py.', delete=False) as f:
168             f.write(version_template.expand_())
169         os.rename(f.name, 'src/toil/version.py')
170 
171     # Unfortunately, we can't use a straight import here because that would also load the stuff
172     # defined in "src/toil/__init__.py" which imports modules from external dependencies that may
173     # yet to be installed when setup.py is invoked.
174     #
175     # This is also the reason we cannot switch from the "deprecated" imp library
176     # and use:
177     #     from importlib.machinery import SourceFileLoader
178     #     return SourceFileLoader('toil.version', path='src/toil/version.py').load_module()
179     #
180     # Because SourceFileLoader will error and load "src/toil/__init__.py" .
181     return imp.load_source('toil.version', 'src/toil/version.py')
182 
183 
184 version = import_version()
185 run_setup()
186
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -101,8 +101,8 @@
         name='toil',
         version=version.distVersion,
         description='Pipeline management software for clusters.',
-        author='Benedict Paten',
-        author_email='benedict@soe.usc.edu',
+        author='Benedict Paten and the Toil community',
+        author_email='toil-community@googlegroups.com',
         url="https://github.com/DataBiosphere/toil",
         classifiers=[
           'Development Status :: 5 - Production/Stable',

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -101,8 +101,8 @@\n         name='toil',\n         version=version.distVersion,\n         description='Pipeline management software for clusters.',\n-        author='Benedict Paten',\n-        author_email='benedict@soe.usc.edu',\n+        author='Benedict Paten and the Toil community',\n+        author_email='toil-community@googlegroups.com',\n         url=\"https://github.com/DataBiosphere/toil\",\n         classifiers=[\n           'Development Status :: 5 - Production/Stable',\n", "issue": "pip install toil-cwl-runner should work\n\n\n\u2506Issue is synchronized with this [Jira Task](https://ucsc-cgl.atlassian.net/browse/TOIL-879)\n\u2506Issue Number: TOIL-879\n\n", "before_files": [{"content": "# Copyright (C) 2015-2021 Regents of the University of California\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nimport imp\nimport os\n\nfrom tempfile import NamedTemporaryFile\nfrom setuptools import find_packages, setup\n\n\ndef run_setup():\n    \"\"\"\n    Calls setup(). This function exists so the setup() invocation preceded more internal\n    functionality. The `version` module is imported dynamically by import_version() below.\n    \"\"\"\n    boto = 'boto>=2.48.0, <3'\n    boto3 = 'boto3>=1.7.50, <2'\n    futures = 'futures>=3.1.1, <4'\n    pycryptodome = 'pycryptodome==3.5.1'\n    pymesos = 'pymesos==0.3.15'\n    psutil = 'psutil >= 3.0.1, <6'\n    pynacl = 'pynacl==1.3.0'\n    gcs = 'google-cloud-storage==1.6.0'\n    gcs_oauth2_boto_plugin = 'gcs_oauth2_boto_plugin==1.14'\n    apacheLibcloud = 'apache-libcloud==2.2.1'\n    cwltool = 'cwltool==3.0.20201203173111'\n    galaxyToolUtil = 'galaxy-tool-util'\n    htcondor = 'htcondor>=8.6.0'\n    kubernetes = 'kubernetes>=12.0.1, <13'\n    idna = 'idna>=2'\n    pytz = 'pytz>=2012'\n    pyyaml = 'pyyaml>=5, <6'\n    dill = 'dill>=0.3.2, <0.4'\n    requests = 'requests>=2, <3'\n    docker = 'docker==4.3.1'\n    dateutil = 'python-dateutil'\n    addict = 'addict>=2.2.1, <2.3'\n    enlighten = 'enlighten>=1.5.2, <2'\n    wdlparse = 'wdlparse==0.1.0'\n\n    core_reqs = [\n        dill,\n        requests,\n        docker,\n        dateutil,\n        psutil,\n        addict,\n        pytz,\n        pyyaml,\n        enlighten]\n    aws_reqs = [\n        boto,\n        boto3,\n        futures,\n        pycryptodome]\n    cwl_reqs = [\n        cwltool,\n        galaxyToolUtil]\n    encryption_reqs = [\n        pynacl]\n    google_reqs = [\n        gcs_oauth2_boto_plugin,  # is this being used??\n        apacheLibcloud,\n        gcs]\n    htcondor_reqs = [\n        htcondor]\n    kubernetes_reqs = [\n        kubernetes,\n        idna]  # Kubernetes's urllib3 can mange to use idna without really depending on it.\n    mesos_reqs = [\n        pymesos,\n        psutil]\n    wdl_reqs = [\n        wdlparse\n    ]\n\n    # htcondor is not supported by apple\n    # this is tricky to conditionally support in 'all' due\n    # to how wheels work, so it is not included in all and\n    # must be explicitly installed as an extra\n    all_reqs = \\\n        aws_reqs + \\\n        cwl_reqs + \\\n        encryption_reqs + \\\n        google_reqs + \\\n        kubernetes_reqs + \\\n        mesos_reqs + \\\n        wdl_reqs\n\n    setup(\n        name='toil',\n        version=version.distVersion,\n        description='Pipeline management software for clusters.',\n        author='Benedict Paten',\n        author_email='benedict@soe.usc.edu',\n        url=\"https://github.com/DataBiosphere/toil\",\n        classifiers=[\n          'Development Status :: 5 - Production/Stable',\n          'Environment :: Console',\n          'Intended Audience :: Developers',\n          'Intended Audience :: Science/Research',\n          'Intended Audience :: Healthcare Industry',\n          'License :: OSI Approved :: Apache Software License',\n          'Natural Language :: English',\n          'Operating System :: MacOS :: MacOS X',\n          'Operating System :: POSIX',\n          'Operating System :: POSIX :: Linux',\n          'Programming Language :: Python :: 3.6',\n          'Topic :: Scientific/Engineering',\n          'Topic :: Scientific/Engineering :: Bio-Informatics',\n          'Topic :: Scientific/Engineering :: Astronomy',\n          'Topic :: Scientific/Engineering :: Atmospheric Science',\n          'Topic :: Scientific/Engineering :: Information Analysis',\n          'Topic :: Scientific/Engineering :: Medical Science Apps.',\n          'Topic :: System :: Distributed Computing',\n          'Topic :: Utilities'],\n        license=\"Apache License v2.0\",\n        python_requires=\">=3.6\",\n        install_requires=core_reqs,\n        extras_require={\n            'aws': aws_reqs,\n            'cwl': cwl_reqs,\n            'encryption': encryption_reqs,\n            'google': google_reqs,\n            'htcondor:sys_platform!=\"darwin\"': htcondor_reqs,\n            'kubernetes': kubernetes_reqs,\n            'mesos': mesos_reqs,\n            'wdl': wdl_reqs,\n            'all': all_reqs},\n        package_dir={'': 'src'},\n        packages=find_packages(where='src',\n                               # Note that we intentionally include the top-level `test` package for\n                               # functionality like the @experimental and @integrative decorators:\n                               exclude=['*.test.*']),\n        package_data={\n            '': ['*.yml', 'cloud-config'],\n        },\n        # Unfortunately, the names of the entry points are hard-coded elsewhere in the code base so\n        # you can't just change them here. Luckily, most of them are pretty unique strings, and thus\n        # easy to search for.\n        entry_points={\n            'console_scripts': [\n                'toil = toil.utils.toilMain:main',\n                '_toil_worker = toil.worker:main',\n                'cwltoil = toil.cwl.cwltoil:cwltoil_was_removed [cwl]',\n                'toil-cwl-runner = toil.cwl.cwltoil:main [cwl]',\n                'toil-wdl-runner = toil.wdl.toilwdl:main',\n                '_toil_mesos_executor = toil.batchSystems.mesos.executor:main [mesos]',\n                '_toil_kubernetes_executor = toil.batchSystems.kubernetes:executor [kubernetes]']})\n\n\ndef import_version():\n    \"\"\"Return the module object for src/toil/version.py, generate from the template if required.\"\"\"\n    if not os.path.exists('src/toil/version.py'):\n        # Use the template to generate src/toil/version.py\n        import version_template\n        with NamedTemporaryFile(mode='w', dir='src/toil', prefix='version.py.', delete=False) as f:\n            f.write(version_template.expand_())\n        os.rename(f.name, 'src/toil/version.py')\n\n    # Unfortunately, we can't use a straight import here because that would also load the stuff\n    # defined in \"src/toil/__init__.py\" which imports modules from external dependencies that may\n    # yet to be installed when setup.py is invoked.\n    #\n    # This is also the reason we cannot switch from the \"deprecated\" imp library\n    # and use:\n    #     from importlib.machinery import SourceFileLoader\n    #     return SourceFileLoader('toil.version', path='src/toil/version.py').load_module()\n    #\n    # Because SourceFileLoader will error and load \"src/toil/__init__.py\" .\n    return imp.load_source('toil.version', 'src/toil/version.py')\n\n\nversion = import_version()\nrun_setup()\n", "path": "setup.py"}], "after_files": [{"content": "# Copyright (C) 2015-2021 Regents of the University of California\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nimport imp\nimport os\n\nfrom tempfile import NamedTemporaryFile\nfrom setuptools import find_packages, setup\n\n\ndef run_setup():\n    \"\"\"\n    Calls setup(). This function exists so the setup() invocation preceded more internal\n    functionality. The `version` module is imported dynamically by import_version() below.\n    \"\"\"\n    boto = 'boto>=2.48.0, <3'\n    boto3 = 'boto3>=1.7.50, <2'\n    futures = 'futures>=3.1.1, <4'\n    pycryptodome = 'pycryptodome==3.5.1'\n    pymesos = 'pymesos==0.3.15'\n    psutil = 'psutil >= 3.0.1, <6'\n    pynacl = 'pynacl==1.3.0'\n    gcs = 'google-cloud-storage==1.6.0'\n    gcs_oauth2_boto_plugin = 'gcs_oauth2_boto_plugin==1.14'\n    apacheLibcloud = 'apache-libcloud==2.2.1'\n    cwltool = 'cwltool==3.0.20201203173111'\n    galaxyToolUtil = 'galaxy-tool-util'\n    htcondor = 'htcondor>=8.6.0'\n    kubernetes = 'kubernetes>=12.0.1, <13'\n    idna = 'idna>=2'\n    pytz = 'pytz>=2012'\n    pyyaml = 'pyyaml>=5, <6'\n    dill = 'dill>=0.3.2, <0.4'\n    requests = 'requests>=2, <3'\n    docker = 'docker==4.3.1'\n    dateutil = 'python-dateutil'\n    addict = 'addict>=2.2.1, <2.3'\n    enlighten = 'enlighten>=1.5.2, <2'\n    wdlparse = 'wdlparse==0.1.0'\n\n    core_reqs = [\n        dill,\n        requests,\n        docker,\n        dateutil,\n        psutil,\n        addict,\n        pytz,\n        pyyaml,\n        enlighten]\n    aws_reqs = [\n        boto,\n        boto3,\n        futures,\n        pycryptodome]\n    cwl_reqs = [\n        cwltool,\n        galaxyToolUtil]\n    encryption_reqs = [\n        pynacl]\n    google_reqs = [\n        gcs_oauth2_boto_plugin,  # is this being used??\n        apacheLibcloud,\n        gcs]\n    htcondor_reqs = [\n        htcondor]\n    kubernetes_reqs = [\n        kubernetes,\n        idna]  # Kubernetes's urllib3 can mange to use idna without really depending on it.\n    mesos_reqs = [\n        pymesos,\n        psutil]\n    wdl_reqs = [\n        wdlparse\n    ]\n\n    # htcondor is not supported by apple\n    # this is tricky to conditionally support in 'all' due\n    # to how wheels work, so it is not included in all and\n    # must be explicitly installed as an extra\n    all_reqs = \\\n        aws_reqs + \\\n        cwl_reqs + \\\n        encryption_reqs + \\\n        google_reqs + \\\n        kubernetes_reqs + \\\n        mesos_reqs + \\\n        wdl_reqs\n\n    setup(\n        name='toil',\n        version=version.distVersion,\n        description='Pipeline management software for clusters.',\n        author='Benedict Paten and the Toil community',\n        author_email='toil-community@googlegroups.com',\n        url=\"https://github.com/DataBiosphere/toil\",\n        classifiers=[\n          'Development Status :: 5 - Production/Stable',\n          'Environment :: Console',\n          'Intended Audience :: Developers',\n          'Intended Audience :: Science/Research',\n          'Intended Audience :: Healthcare Industry',\n          'License :: OSI Approved :: Apache Software License',\n          'Natural Language :: English',\n          'Operating System :: MacOS :: MacOS X',\n          'Operating System :: POSIX',\n          'Operating System :: POSIX :: Linux',\n          'Programming Language :: Python :: 3.6',\n          'Topic :: Scientific/Engineering',\n          'Topic :: Scientific/Engineering :: Bio-Informatics',\n          'Topic :: Scientific/Engineering :: Astronomy',\n          'Topic :: Scientific/Engineering :: Atmospheric Science',\n          'Topic :: Scientific/Engineering :: Information Analysis',\n          'Topic :: Scientific/Engineering :: Medical Science Apps.',\n          'Topic :: System :: Distributed Computing',\n          'Topic :: Utilities'],\n        license=\"Apache License v2.0\",\n        python_requires=\">=3.6\",\n        install_requires=core_reqs,\n        extras_require={\n            'aws': aws_reqs,\n            'cwl': cwl_reqs,\n            'encryption': encryption_reqs,\n            'google': google_reqs,\n            'htcondor:sys_platform!=\"darwin\"': htcondor_reqs,\n            'kubernetes': kubernetes_reqs,\n            'mesos': mesos_reqs,\n            'wdl': wdl_reqs,\n            'all': all_reqs},\n        package_dir={'': 'src'},\n        packages=find_packages(where='src',\n                               # Note that we intentionally include the top-level `test` package for\n                               # functionality like the @experimental and @integrative decorators:\n                               exclude=['*.test.*']),\n        package_data={\n            '': ['*.yml', 'cloud-config'],\n        },\n        # Unfortunately, the names of the entry points are hard-coded elsewhere in the code base so\n        # you can't just change them here. Luckily, most of them are pretty unique strings, and thus\n        # easy to search for.\n        entry_points={\n            'console_scripts': [\n                'toil = toil.utils.toilMain:main',\n                '_toil_worker = toil.worker:main',\n                'cwltoil = toil.cwl.cwltoil:cwltoil_was_removed [cwl]',\n                'toil-cwl-runner = toil.cwl.cwltoil:main [cwl]',\n                'toil-wdl-runner = toil.wdl.toilwdl:main',\n                '_toil_mesos_executor = toil.batchSystems.mesos.executor:main [mesos]',\n                '_toil_kubernetes_executor = toil.batchSystems.kubernetes:executor [kubernetes]']})\n\n\ndef import_version():\n    \"\"\"Return the module object for src/toil/version.py, generate from the template if required.\"\"\"\n    if not os.path.exists('src/toil/version.py'):\n        # Use the template to generate src/toil/version.py\n        import version_template\n        with NamedTemporaryFile(mode='w', dir='src/toil', prefix='version.py.', delete=False) as f:\n            f.write(version_template.expand_())\n        os.rename(f.name, 'src/toil/version.py')\n\n    # Unfortunately, we can't use a straight import here because that would also load the stuff\n    # defined in \"src/toil/__init__.py\" which imports modules from external dependencies that may\n    # yet to be installed when setup.py is invoked.\n    #\n    # This is also the reason we cannot switch from the \"deprecated\" imp library\n    # and use:\n    #     from importlib.machinery import SourceFileLoader\n    #     return SourceFileLoader('toil.version', path='src/toil/version.py').load_module()\n    #\n    # Because SourceFileLoader will error and load \"src/toil/__init__.py\" .\n    return imp.load_source('toil.version', 'src/toil/version.py')\n\n\nversion = import_version()\nrun_setup()\n", "path": "setup.py"}]}