prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  cocoyaxi: make deprecated
  Specify library name and version:  **cocoyaxi/***
  
  ---
  
  - [x] I've read the [contributing guidelines](https://github.com/conan-io/conan-center-index/blob/master/CONTRIBUTING.md).
  - [ ] I've used a [recent](https://github.com/conan-io/conan/releases/latest) Conan client version close to the [currently deployed](https://github.com/conan-io/conan-center-index/blob/master/.c3i/config_v1.yml#L6).
  - [ ] I've tried at least one configuration locally with the [conan-center hook](https://github.com/conan-io/hooks.git) activated.
  
  
  </issue>
  <code>
  [start of recipes/cocoyaxi/all/conanfile.py]
  1 from conan import ConanFile
  2 from conan.errors import ConanInvalidConfiguration
  3 from conan.tools.build import check_min_cppstd
  4 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
  5 from conan.tools.files import copy, get
  6 from conan.tools.microsoft import is_msvc, is_msvc_static_runtime
  7 import os
  8 
  9 required_conan_version = ">=1.50.0"
  10 
  11 
  12 class CocoyaxiConan(ConanFile):
  13     name = "cocoyaxi"
  14     url = "https://github.com/conan-io/conan-center-index"
  15     homepage = "https://github.com/idealvin/cocoyaxi"
  16     license = "MIT"
  17     description = "A go-style coroutine library in C++11 and more."
  18     topics = ("cocoyaxi", "coroutine", "c++11")
  19 
  20     settings = "os", "arch", "compiler", "build_type"
  21     options = {
  22         "shared": [True, False],
  23         "fPIC": [True, False],
  24         "with_libcurl": [True, False],
  25         "with_openssl": [True, False],
  26     }
  27     default_options = {
  28         "shared": False,
  29         "fPIC": True,
  30         "with_libcurl": False,
  31         "with_openssl": False,
  32     }
  33 
  34     def config_options(self):
  35         if self.settings.os == "Windows":
  36             del self.options.fPIC
  37 
  38     def configure(self):
  39         if self.options.shared:
  40             del self.options.fPIC
  41 
  42     def requirements(self):
  43         if self.options.with_libcurl:
  44             self.requires("libcurl/7.80.0")
  45         if self.options.with_libcurl or self.options.with_openssl:
  46             self.requires("openssl/1.1.1q")
  47 
  48     def validate(self):
  49         if self.info.settings.compiler.cppstd:
  50             check_min_cppstd(self, 11)
  51         if self.info.options.with_libcurl:
  52             if not self.info.options.with_openssl:
  53                 raise ConanInvalidConfiguration(f"{self.name} requires with_openssl=True when using with_libcurl=True")
  54             if self.dependencies["libcurl"].options.with_ssl != "openssl":
  55                 raise ConanInvalidConfiguration(f"{self.name} requires libcurl:with_ssl='openssl' to be enabled")
  56             if not self.dependencies["libcurl"].options.with_zlib:
  57                 raise ConanInvalidConfiguration(f"{self.name} requires libcurl:with_zlib=True to be enabled")
  58 
  59     def layout(self):
  60         cmake_layout(self, src_folder="src")
  61 
  62     def source(self):
  63         get(self, **self.conan_data["sources"][self.version],
  64             destination=self.source_folder, strip_root=True)
  65 
  66     def generate(self):
  67         tc = CMakeToolchain(self)
  68         if is_msvc(self):
  69             tc.variables["STATIC_VS_CRT"] = is_msvc_static_runtime(self)
  70         tc.variables["WITH_LIBCURL"] = self.options.with_libcurl
  71         tc.variables["WITH_OPENSSL"] = self.options.with_openssl
  72         tc.generate()
  73         cd = CMakeDeps(self)
  74         cd.generate()
  75 
  76     def build(self):
  77         cmake = CMake(self)
  78         cmake.configure()
  79         cmake.build()
  80 
  81     def package(self):
  82         copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
  83         cmake = CMake(self)
  84         cmake.install()
  85 
  86     def package_info(self):
  87         self.cpp_info.set_property("cmake_file_name", "cocoyaxi")
  88         self.cpp_info.set_property("cmake_target_name", "cocoyaxi::co")
  89         # TODO: back to global scope in conan v2 once legacy generators removed
  90         self.cpp_info.components["co"].libs = ["co"]
  91 
  92         # TODO: to remove in conan v2 once legacy generators removed
  93         self.cpp_info.components["co"].set_property("cmake_target_name", "cocoyaxi::co")
  94         if self.options.with_libcurl:
  95             self.cpp_info.components["co"].requires.append("libcurl::libcurl")
  96         if self.options.with_libcurl or self.options.with_openssl:
  97             self.cpp_info.components["co"].requires.append("openssl::openssl")
  98
  [end of recipes/cocoyaxi/all/conanfile.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/recipes/cocoyaxi/all/conanfile.py b/recipes/cocoyaxi/all/conanfile.py
  --- a/recipes/cocoyaxi/all/conanfile.py
  +++ b/recipes/cocoyaxi/all/conanfile.py
  @@ -30,6 +30,7 @@
           "with_libcurl": False,
           "with_openssl": False,
       }
  +    deprecated = "coost"
   
       def config_options(self):
           if self.settings.os == "Windows":
  @@ -37,13 +38,13 @@
   
       def configure(self):
           if self.options.shared:
  -            del self.options.fPIC
  +            self.options.rm_safe("fPIC")
   
       def requirements(self):
           if self.options.with_libcurl:
  -            self.requires("libcurl/7.80.0")
  +            self.requires("libcurl/8.2.1")
           if self.options.with_libcurl or self.options.with_openssl:
  -            self.requires("openssl/1.1.1q")
  +            self.requires("openssl/[>=1.1 <4]")
   
       def validate(self):
           if self.info.settings.compiler.cppstd:
  @@ -95,3 +96,7 @@
               self.cpp_info.components["co"].requires.append("libcurl::libcurl")
           if self.options.with_libcurl or self.options.with_openssl:
               self.cpp_info.components["co"].requires.append("openssl::openssl")
  +        if self.settings.os in ["Linux", "FreeBSD"]:
  +            self.cpp_info.components["co"].system_libs.extend(["pthread", "dl", "m"])
  +        elif self.settings.os == "Windows":
  +            self.cpp_info.components["co"].system_libs.append("ws2_32")
  
verification_info: {"golden_diff": "diff --git a/recipes/cocoyaxi/all/conanfile.py b/recipes/cocoyaxi/all/conanfile.py\n--- a/recipes/cocoyaxi/all/conanfile.py\n+++ b/recipes/cocoyaxi/all/conanfile.py\n@@ -30,6 +30,7 @@\n         \"with_libcurl\": False,\n         \"with_openssl\": False,\n     }\n+    deprecated = \"coost\"\n \n     def config_options(self):\n         if self.settings.os == \"Windows\":\n@@ -37,13 +38,13 @@\n \n     def configure(self):\n         if self.options.shared:\n-            del self.options.fPIC\n+            self.options.rm_safe(\"fPIC\")\n \n     def requirements(self):\n         if self.options.with_libcurl:\n-            self.requires(\"libcurl/7.80.0\")\n+            self.requires(\"libcurl/8.2.1\")\n         if self.options.with_libcurl or self.options.with_openssl:\n-            self.requires(\"openssl/1.1.1q\")\n+            self.requires(\"openssl/[>=1.1 <4]\")\n \n     def validate(self):\n         if self.info.settings.compiler.cppstd:\n@@ -95,3 +96,7 @@\n             self.cpp_info.components[\"co\"].requires.append(\"libcurl::libcurl\")\n         if self.options.with_libcurl or self.options.with_openssl:\n             self.cpp_info.components[\"co\"].requires.append(\"openssl::openssl\")\n+        if self.settings.os in [\"Linux\", \"FreeBSD\"]:\n+            self.cpp_info.components[\"co\"].system_libs.extend([\"pthread\", \"dl\", \"m\"])\n+        elif self.settings.os == \"Windows\":\n+            self.cpp_info.components[\"co\"].system_libs.append(\"ws2_32\")\n", "issue": "cocoyaxi: make deprecated\nSpecify library name and version:  **cocoyaxi/***\r\n\r\n---\r\n\r\n- [x] I've read the [contributing guidelines](https://github.com/conan-io/conan-center-index/blob/master/CONTRIBUTING.md).\r\n- [ ] I've used a [recent](https://github.com/conan-io/conan/releases/latest) Conan client version close to the [currently deployed](https://github.com/conan-io/conan-center-index/blob/master/.c3i/config_v1.yml#L6).\r\n- [ ] I've tried at least one configuration locally with the [conan-center hook](https://github.com/conan-io/hooks.git) activated.\r\n\n", "before_files": [{"content": "from conan import ConanFile\nfrom conan.errors import ConanInvalidConfiguration\nfrom conan.tools.build import check_min_cppstd\nfrom conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout\nfrom conan.tools.files import copy, get\nfrom conan.tools.microsoft import is_msvc, is_msvc_static_runtime\nimport os\n\nrequired_conan_version = \">=1.50.0\"\n\n\nclass CocoyaxiConan(ConanFile):\n    name = \"cocoyaxi\"\n    url = \"https://github.com/conan-io/conan-center-index\"\n    homepage = \"https://github.com/idealvin/cocoyaxi\"\n    license = \"MIT\"\n    description = \"A go-style coroutine library in C++11 and more.\"\n    topics = (\"cocoyaxi\", \"coroutine\", \"c++11\")\n\n    settings = \"os\", \"arch\", \"compiler\", \"build_type\"\n    options = {\n        \"shared\": [True, False],\n        \"fPIC\": [True, False],\n        \"with_libcurl\": [True, False],\n        \"with_openssl\": [True, False],\n    }\n    default_options = {\n        \"shared\": False,\n        \"fPIC\": True,\n        \"with_libcurl\": False,\n        \"with_openssl\": False,\n    }\n\n    def config_options(self):\n        if self.settings.os == \"Windows\":\n            del self.options.fPIC\n\n    def configure(self):\n        if self.options.shared:\n            del self.options.fPIC\n\n    def requirements(self):\n        if self.options.with_libcurl:\n            self.requires(\"libcurl/7.80.0\")\n        if self.options.with_libcurl or self.options.with_openssl:\n            self.requires(\"openssl/1.1.1q\")\n\n    def validate(self):\n        if self.info.settings.compiler.cppstd:\n            check_min_cppstd(self, 11)\n        if self.info.options.with_libcurl:\n            if not self.info.options.with_openssl:\n                raise ConanInvalidConfiguration(f\"{self.name} requires with_openssl=True when using with_libcurl=True\")\n            if self.dependencies[\"libcurl\"].options.with_ssl != \"openssl\":\n                raise ConanInvalidConfiguration(f\"{self.name} requires libcurl:with_ssl='openssl' to be enabled\")\n            if not self.dependencies[\"libcurl\"].options.with_zlib:\n                raise ConanInvalidConfiguration(f\"{self.name} requires libcurl:with_zlib=True to be enabled\")\n\n    def layout(self):\n        cmake_layout(self, src_folder=\"src\")\n\n    def source(self):\n        get(self, **self.conan_data[\"sources\"][self.version],\n            destination=self.source_folder, strip_root=True)\n\n    def generate(self):\n        tc = CMakeToolchain(self)\n        if is_msvc(self):\n            tc.variables[\"STATIC_VS_CRT\"] = is_msvc_static_runtime(self)\n        tc.variables[\"WITH_LIBCURL\"] = self.options.with_libcurl\n        tc.variables[\"WITH_OPENSSL\"] = self.options.with_openssl\n        tc.generate()\n        cd = CMakeDeps(self)\n        cd.generate()\n\n    def build(self):\n        cmake = CMake(self)\n        cmake.configure()\n        cmake.build()\n\n    def package(self):\n        copy(self, \"LICENSE.md\", src=self.source_folder, dst=os.path.join(self.package_folder, \"licenses\"))\n        cmake = CMake(self)\n        cmake.install()\n\n    def package_info(self):\n        self.cpp_info.set_property(\"cmake_file_name\", \"cocoyaxi\")\n        self.cpp_info.set_property(\"cmake_target_name\", \"cocoyaxi::co\")\n        # TODO: back to global scope in conan v2 once legacy generators removed\n        self.cpp_info.components[\"co\"].libs = [\"co\"]\n\n        # TODO: to remove in conan v2 once legacy generators removed\n        self.cpp_info.components[\"co\"].set_property(\"cmake_target_name\", \"cocoyaxi::co\")\n        if self.options.with_libcurl:\n            self.cpp_info.components[\"co\"].requires.append(\"libcurl::libcurl\")\n        if self.options.with_libcurl or self.options.with_openssl:\n            self.cpp_info.components[\"co\"].requires.append(\"openssl::openssl\")\n", "path": "recipes/cocoyaxi/all/conanfile.py"}]}