prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  pypy3-pinned OpenSSL error
  Yet another CI issue, visible in https://github.com/scrapy/scrapy/actions/runs/3849823417/jobs/6559259481
  
  > /home/runner/work/scrapy/scrapy/.tox/pypy3-pinned/site-packages/cryptography/hazmat/bindings/_openssl.pypy37-pp73-x86_64-linux-gnu.so: undefined symbol: FIPS_mode
  
  This may be a problem with that specific binary distribution (it's `cryptography==3.3`), not sure why it worked before, maybe something was rebuilt recently. 
  
  --- 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 from pathlib import Path
  2 from pkg_resources import parse_version
  3 from setuptools import setup, find_packages, __version__ as setuptools_version
  4 
  5 
  6 version = (Path(__file__).parent / 'scrapy/VERSION').read_text('ascii').strip()
  7 
  8 
  9 def has_environment_marker_platform_impl_support():
  10     """Code extracted from 'pytest/setup.py'
  11     https://github.com/pytest-dev/pytest/blob/7538680c/setup.py#L31
  12 
  13     The first known release to support environment marker with range operators
  14     it is 18.5, see:
  15     https://setuptools.readthedocs.io/en/latest/history.html#id235
  16     """
  17     return parse_version(setuptools_version) >= parse_version('18.5')
  18 
  19 
  20 install_requires = [
  21     'Twisted>=18.9.0',
  22     'cryptography>=3.3',
  23     'cssselect>=0.9.1',
  24     'itemloaders>=1.0.1',
  25     'parsel>=1.5.0',
  26     'pyOpenSSL>=21.0.0',
  27     'queuelib>=1.4.2',
  28     'service_identity>=18.1.0',
  29     'w3lib>=1.17.0',
  30     'zope.interface>=5.1.0',
  31     'protego>=0.1.15',
  32     'itemadapter>=0.1.0',
  33     'setuptools',
  34     'packaging',
  35     'tldextract',
  36     'lxml>=4.3.0',
  37 ]
  38 extras_require = {}
  39 cpython_dependencies = [
  40     'PyDispatcher>=2.0.5',
  41 ]
  42 if has_environment_marker_platform_impl_support():
  43     extras_require[':platform_python_implementation == "CPython"'] = cpython_dependencies
  44     extras_require[':platform_python_implementation == "PyPy"'] = [
  45         'PyPyDispatcher>=2.1.0',
  46     ]
  47 else:
  48     install_requires.extend(cpython_dependencies)
  49 
  50 
  51 setup(
  52     name='Scrapy',
  53     version=version,
  54     url='https://scrapy.org',
  55     project_urls={
  56         'Documentation': 'https://docs.scrapy.org/',
  57         'Source': 'https://github.com/scrapy/scrapy',
  58         'Tracker': 'https://github.com/scrapy/scrapy/issues',
  59     },
  60     description='A high-level Web Crawling and Web Scraping framework',
  61     long_description=open('README.rst', encoding="utf-8").read(),
  62     author='Scrapy developers',
  63     author_email='pablo@pablohoffman.com',
  64     maintainer='Pablo Hoffman',
  65     maintainer_email='pablo@pablohoffman.com',
  66     license='BSD',
  67     packages=find_packages(exclude=('tests', 'tests.*')),
  68     include_package_data=True,
  69     zip_safe=False,
  70     entry_points={
  71         'console_scripts': ['scrapy = scrapy.cmdline:execute']
  72     },
  73     classifiers=[
  74         'Framework :: Scrapy',
  75         'Development Status :: 5 - Production/Stable',
  76         'Environment :: Console',
  77         'Intended Audience :: Developers',
  78         'License :: OSI Approved :: BSD License',
  79         'Operating System :: OS Independent',
  80         'Programming Language :: Python',
  81         'Programming Language :: Python :: 3',
  82         'Programming Language :: Python :: 3.7',
  83         'Programming Language :: Python :: 3.8',
  84         'Programming Language :: Python :: 3.9',
  85         'Programming Language :: Python :: 3.10',
  86         'Programming Language :: Python :: 3.11',
  87         'Programming Language :: Python :: Implementation :: CPython',
  88         'Programming Language :: Python :: Implementation :: PyPy',
  89         'Topic :: Internet :: WWW/HTTP',
  90         'Topic :: Software Development :: Libraries :: Application Frameworks',
  91         'Topic :: Software Development :: Libraries :: Python Modules',
  92     ],
  93     python_requires='>=3.7',
  94     install_requires=install_requires,
  95     extras_require=extras_require,
  96 )
  97
  ```
  --- 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()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -19,7 +19,7 @@
   
   install_requires = [
       'Twisted>=18.9.0',
  -    'cryptography>=3.3',
  +    'cryptography>=3.4.6',
       'cssselect>=0.9.1',
       'itemloaders>=1.0.1',
       'parsel>=1.5.0',
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -19,7 +19,7 @@\n \n install_requires = [\n     'Twisted>=18.9.0',\n-    'cryptography>=3.3',\n+    'cryptography>=3.4.6',\n     'cssselect>=0.9.1',\n     'itemloaders>=1.0.1',\n     'parsel>=1.5.0',\n", "issue": "pypy3-pinned OpenSSL error\nYet another CI issue, visible in https://github.com/scrapy/scrapy/actions/runs/3849823417/jobs/6559259481\r\n\r\n> /home/runner/work/scrapy/scrapy/.tox/pypy3-pinned/site-packages/cryptography/hazmat/bindings/_openssl.pypy37-pp73-x86_64-linux-gnu.so: undefined symbol: FIPS_mode\r\n\r\nThis may be a problem with that specific binary distribution (it's `cryptography==3.3`), not sure why it worked before, maybe something was rebuilt recently. \n", "before_files": [{"content": "from pathlib import Path\nfrom pkg_resources import parse_version\nfrom setuptools import setup, find_packages, __version__ as setuptools_version\n\n\nversion = (Path(__file__).parent / 'scrapy/VERSION').read_text('ascii').strip()\n\n\ndef has_environment_marker_platform_impl_support():\n    \"\"\"Code extracted from 'pytest/setup.py'\n    https://github.com/pytest-dev/pytest/blob/7538680c/setup.py#L31\n\n    The first known release to support environment marker with range operators\n    it is 18.5, see:\n    https://setuptools.readthedocs.io/en/latest/history.html#id235\n    \"\"\"\n    return parse_version(setuptools_version) >= parse_version('18.5')\n\n\ninstall_requires = [\n    'Twisted>=18.9.0',\n    'cryptography>=3.3',\n    'cssselect>=0.9.1',\n    'itemloaders>=1.0.1',\n    'parsel>=1.5.0',\n    'pyOpenSSL>=21.0.0',\n    'queuelib>=1.4.2',\n    'service_identity>=18.1.0',\n    'w3lib>=1.17.0',\n    'zope.interface>=5.1.0',\n    'protego>=0.1.15',\n    'itemadapter>=0.1.0',\n    'setuptools',\n    'packaging',\n    'tldextract',\n    'lxml>=4.3.0',\n]\nextras_require = {}\ncpython_dependencies = [\n    'PyDispatcher>=2.0.5',\n]\nif has_environment_marker_platform_impl_support():\n    extras_require[':platform_python_implementation == \"CPython\"'] = cpython_dependencies\n    extras_require[':platform_python_implementation == \"PyPy\"'] = [\n        'PyPyDispatcher>=2.1.0',\n    ]\nelse:\n    install_requires.extend(cpython_dependencies)\n\n\nsetup(\n    name='Scrapy',\n    version=version,\n    url='https://scrapy.org',\n    project_urls={\n        'Documentation': 'https://docs.scrapy.org/',\n        'Source': 'https://github.com/scrapy/scrapy',\n        'Tracker': 'https://github.com/scrapy/scrapy/issues',\n    },\n    description='A high-level Web Crawling and Web Scraping framework',\n    long_description=open('README.rst', encoding=\"utf-8\").read(),\n    author='Scrapy developers',\n    author_email='pablo@pablohoffman.com',\n    maintainer='Pablo Hoffman',\n    maintainer_email='pablo@pablohoffman.com',\n    license='BSD',\n    packages=find_packages(exclude=('tests', 'tests.*')),\n    include_package_data=True,\n    zip_safe=False,\n    entry_points={\n        'console_scripts': ['scrapy = scrapy.cmdline:execute']\n    },\n    classifiers=[\n        'Framework :: Scrapy',\n        'Development Status :: 5 - Production/Stable',\n        'Environment :: Console',\n        'Intended Audience :: Developers',\n        'License :: OSI Approved :: BSD License',\n        'Operating System :: OS Independent',\n        'Programming Language :: Python',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3.7',\n        'Programming Language :: Python :: 3.8',\n        'Programming Language :: Python :: 3.9',\n        'Programming Language :: Python :: 3.10',\n        'Programming Language :: Python :: 3.11',\n        'Programming Language :: Python :: Implementation :: CPython',\n        'Programming Language :: Python :: Implementation :: PyPy',\n        'Topic :: Internet :: WWW/HTTP',\n        'Topic :: Software Development :: Libraries :: Application Frameworks',\n        'Topic :: Software Development :: Libraries :: Python Modules',\n    ],\n    python_requires='>=3.7',\n    install_requires=install_requires,\n    extras_require=extras_require,\n)\n", "path": "setup.py"}], "after_files": [{"content": "from pathlib import Path\nfrom pkg_resources import parse_version\nfrom setuptools import setup, find_packages, __version__ as setuptools_version\n\n\nversion = (Path(__file__).parent / 'scrapy/VERSION').read_text('ascii').strip()\n\n\ndef has_environment_marker_platform_impl_support():\n    \"\"\"Code extracted from 'pytest/setup.py'\n    https://github.com/pytest-dev/pytest/blob/7538680c/setup.py#L31\n\n    The first known release to support environment marker with range operators\n    it is 18.5, see:\n    https://setuptools.readthedocs.io/en/latest/history.html#id235\n    \"\"\"\n    return parse_version(setuptools_version) >= parse_version('18.5')\n\n\ninstall_requires = [\n    'Twisted>=18.9.0',\n    'cryptography>=3.4.6',\n    'cssselect>=0.9.1',\n    'itemloaders>=1.0.1',\n    'parsel>=1.5.0',\n    'pyOpenSSL>=21.0.0',\n    'queuelib>=1.4.2',\n    'service_identity>=18.1.0',\n    'w3lib>=1.17.0',\n    'zope.interface>=5.1.0',\n    'protego>=0.1.15',\n    'itemadapter>=0.1.0',\n    'setuptools',\n    'packaging',\n    'tldextract',\n    'lxml>=4.3.0',\n]\nextras_require = {}\ncpython_dependencies = [\n    'PyDispatcher>=2.0.5',\n]\nif has_environment_marker_platform_impl_support():\n    extras_require[':platform_python_implementation == \"CPython\"'] = cpython_dependencies\n    extras_require[':platform_python_implementation == \"PyPy\"'] = [\n        'PyPyDispatcher>=2.1.0',\n    ]\nelse:\n    install_requires.extend(cpython_dependencies)\n\n\nsetup(\n    name='Scrapy',\n    version=version,\n    url='https://scrapy.org',\n    project_urls={\n        'Documentation': 'https://docs.scrapy.org/',\n        'Source': 'https://github.com/scrapy/scrapy',\n        'Tracker': 'https://github.com/scrapy/scrapy/issues',\n    },\n    description='A high-level Web Crawling and Web Scraping framework',\n    long_description=open('README.rst', encoding=\"utf-8\").read(),\n    author='Scrapy developers',\n    author_email='pablo@pablohoffman.com',\n    maintainer='Pablo Hoffman',\n    maintainer_email='pablo@pablohoffman.com',\n    license='BSD',\n    packages=find_packages(exclude=('tests', 'tests.*')),\n    include_package_data=True,\n    zip_safe=False,\n    entry_points={\n        'console_scripts': ['scrapy = scrapy.cmdline:execute']\n    },\n    classifiers=[\n        'Framework :: Scrapy',\n        'Development Status :: 5 - Production/Stable',\n        'Environment :: Console',\n        'Intended Audience :: Developers',\n        'License :: OSI Approved :: BSD License',\n        'Operating System :: OS Independent',\n        'Programming Language :: Python',\n        'Programming Language :: Python :: 3',\n        'Programming Language :: Python :: 3.7',\n        'Programming Language :: Python :: 3.8',\n        'Programming Language :: Python :: 3.9',\n        'Programming Language :: Python :: 3.10',\n        'Programming Language :: Python :: 3.11',\n        'Programming Language :: Python :: Implementation :: CPython',\n        'Programming Language :: Python :: Implementation :: PyPy',\n        'Topic :: Internet :: WWW/HTTP',\n        'Topic :: Software Development :: Libraries :: Application Frameworks',\n        'Topic :: Software Development :: Libraries :: Python Modules',\n    ],\n    python_requires='>=3.7',\n    install_requires=install_requires,\n    extras_require=extras_require,\n)\n", "path": "setup.py"}]}