We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
[package] xorg/system: generated pkg-config files lack variables
While trying to add xkbcommon 1.0.1, I had to add pkg-config generator to xkbcommon recipe because since 1.0.0 a new optional component depends on libxml2, and meson uses pkg-config files.
xkbcommon depends on xorg, but currently xkbcommon's recipe relies on xorg system installed pkg-config files.
As soon as conan pkg-config files are generated for xkbcommon build, they take precedence, but one of them lacks an important variable for xkbcommon: `xkb_base` in `xkeyboard-config` xorg's component, used to set a definition at build time.

xkbcommon can build without this variable, but il will fail at runtime.

I'm pretty sure that this issue can't be fixed right now. It requires https://github.com/conan-io/conan/issues/7720

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `recipes/xorg/all/conanfile.py`
Content:
```
1 from conans import ConanFile, tools
2 from conans.errors import ConanException, ConanInvalidConfiguration
3 import os
4 
5 required_conan_version = ">=1.32"
6 
7 class ConanXOrg(ConanFile):
8     name = "xorg"
9     url = "https://github.com/conan-io/conan-center-index"
10     license = "MIT"
11     homepage = "https://www.x.org/wiki/"
12     description = "The X.Org project provides an open source implementation of the X Window System."
13     settings = "os"
14     topics = ("x11", "xorg")
15 
16     def configure(self):
17         if self.settings.os not in ["Linux", "FreeBSD"]:
18             raise ConanInvalidConfiguration("This recipe supports only Linux and FreeBSD")
19 
20     def package_id(self):
21         self.info.header_only()
22 
23     def _fill_cppinfo_from_pkgconfig(self, name):
24         pkg_config = tools.PkgConfig(name)
25         if not pkg_config.provides:
26             raise ConanException("OpenGL development files aren't available, give up")
27         libs = [lib[2:] for lib in pkg_config.libs_only_l]
28         lib_dirs = [lib[2:] for lib in pkg_config.libs_only_L]
29         ldflags = [flag for flag in pkg_config.libs_only_other]
30         include_dirs = [include[2:] for include in pkg_config.cflags_only_I]
31         cflags = [flag for flag in pkg_config.cflags_only_other if not flag.startswith("-D")]
32         defines = [flag[2:] for flag in pkg_config.cflags_only_other if flag.startswith("-D")]
33 
34         self.cpp_info.components[name].system_libs = libs
35         self.cpp_info.components[name].libdirs = lib_dirs
36         self.cpp_info.components[name].sharedlinkflags = ldflags
37         self.cpp_info.components[name].exelinkflags = ldflags
38         self.cpp_info.components[name].defines = defines
39         self.cpp_info.components[name].includedirs = include_dirs
40         self.cpp_info.components[name].cflags = cflags
41         self.cpp_info.components[name].cxxflags = cflags
42         self.cpp_info.components[name].version = pkg_config.version[0]
43 
44     def system_requirements(self):
45         packages = []
46         if tools.os_info.is_linux and self.settings.os == "Linux":
47             if tools.os_info.with_apt:
48                 packages = ["libx11-dev", "libx11-xcb-dev", "libfontenc-dev", "libice-dev", "libsm-dev", "libxau-dev", "libxaw7-dev",
49                             "libxcomposite-dev", "libxcursor-dev", "libxdamage-dev", "libxdmcp-dev", "libxext-dev", "libxfixes-dev", 
50                             "libxi-dev", "libxinerama-dev", "libxkbfile-dev", "libxmu-dev", "libxmuu-dev",
51                             "libxpm-dev", "libxrandr-dev", "libxrender-dev", "libxres-dev", "libxss-dev", "libxt-dev", "libxtst-dev", 
52                             "libxv-dev", "libxvmc-dev", "libxxf86vm-dev", "xtrans-dev", "libxcb-render0-dev",
53                             "libxcb-render-util0-dev", "libxcb-xkb-dev", "libxcb-icccm4-dev", "libxcb-image0-dev",
54                             "libxcb-keysyms1-dev", "libxcb-randr0-dev", "libxcb-shape0-dev", "libxcb-sync-dev", "libxcb-xfixes0-dev",
55                             "libxcb-xinerama0-dev", "xkb-data", "libxcb-dri3-dev", "uuid-dev"]
56                 if (tools.os_info.linux_distro == "ubuntu" and tools.os_info.os_version < "15") or\
57                    (tools.os_info.linux_distro == "debian" and tools.os_info.os_version < "12") or\
58                    (tools.os_info.linux_distro == "raspbian" and tools.os_info.os_version < "12"):
59                     packages.append( "libxcb-util0-dev" )
60                 else:
61                     packages.append( "libxcb-util-dev" )
62             elif tools.os_info.with_yum or tools.os_info.with_dnf or tools.os_info.with_zypper:
63                 packages = ["libxcb-devel", "libfontenc-devel", "libXaw-devel", "libXcomposite-devel",
64                             "libXcursor-devel", "libXdmcp-devel", "libXtst-devel", "libXinerama-devel",
65                             "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "libXvMC-devel",
66                             "xorg-x11-xtrans-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel",
67                             "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel",
68                             "xcb-util-devel", "libuuid-devel"]
69                 packages.append("xkeyboard-config" if tools.os_info.with_zypper else "xkeyboard-config-devel")
70             elif tools.os_info.with_pacman:
71                 packages = ["libxcb", "libfontenc", "libice", "libsm", "libxaw", "libxcomposite", "libxcursor",
72                             "libxdamage", "libxdmcp", "libxtst", "libxinerama", "libxkbfile", "libxrandr", "libxres",
73                             "libxss", "libxvmc", "xtrans", "xcb-util-wm", "xcb-util-image","xcb-util-keysyms", "xcb-util-renderutil",
74                             "libxxf86vm", "libxv", "xkeyboard-config", "xcb-util", "util-linux-libs"]
75             else:
76                 self.output.warn("Do not know how to install 'xorg' for {}.".format(tools.os_info.linux_distro))
77         
78         elif tools.os_info.is_freebsd and self.settings.os == "FreeBSD":
79             packages = ["libX11", "libfontenc", "libice", "libsm", "libxaw", "libxcomposite", "libxcursor",
80                         "libxdamage", "libxdmcp", "libxtst", "libxinerama", "libxkbfile", "libxrandr", "libxres",
81                         "libXScrnSaver", "libxvmc", "xtrans", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil",
82                         "libxxf86vm", "libxv", "xkeyboard-config", "xcb-util"]
83         if packages:
84             package_tool = tools.SystemPackageTool(conanfile=self, default_mode="verify")
85             package_tool.install_packages(update=True, packages=packages)
86 
87     def package_info(self):
88         for name in ["x11", "x11-xcb", "fontenc", "ice", "sm", "xau", "xaw7",
89                      "xcomposite", "xcursor", "xdamage", "xdmcp", "xext", "xfixes", "xi",
90                      "xinerama", "xkbfile", "xmu", "xmuu", "xpm", "xrandr", "xrender", "xres",
91                      "xscrnsaver", "xt", "xtst", "xv", "xvmc", "xxf86vm", "xtrans",
92                      "xcb-xkb", "xcb-icccm", "xcb-image", "xcb-keysyms", "xcb-randr", "xcb-render",
93                      "xcb-renderutil", "xcb-shape", "xcb-shm", "xcb-sync", "xcb-xfixes",
94                      "xcb-xinerama", "xcb", "xkeyboard-config", "xcb-atom", "xcb-aux", "xcb-event", "xcb-util",
95                      "xcb-dri3"] + ([] if self.settings.os == "FreeBSD" else ["uuid"]):
96             self._fill_cppinfo_from_pkgconfig(name)
97         if self.settings.os == "Linux":
98             self.cpp_info.components["sm"].requires.append("uuid")
99 
100
```
--- 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/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py
--- a/recipes/xorg/all/conanfile.py
+++ b/recipes/xorg/all/conanfile.py
@@ -1,6 +1,5 @@
 from conans import ConanFile, tools
 from conans.errors import ConanException, ConanInvalidConfiguration
-import os
 
 required_conan_version = ">=1.32"
 
@@ -30,6 +29,7 @@
         include_dirs = [include[2:] for include in pkg_config.cflags_only_I]
         cflags = [flag for flag in pkg_config.cflags_only_other if not flag.startswith("-D")]
         defines = [flag[2:] for flag in pkg_config.cflags_only_other if flag.startswith("-D")]
+        variables = pkg_config.variables
 
         self.cpp_info.components[name].system_libs = libs
         self.cpp_info.components[name].libdirs = lib_dirs
@@ -40,6 +40,10 @@
         self.cpp_info.components[name].cflags = cflags
         self.cpp_info.components[name].cxxflags = cflags
         self.cpp_info.components[name].version = pkg_config.version[0]
+        self.cpp_info.components[name].set_property("component_version", pkg_config.version[0])
+        self.cpp_info.components[name].set_property(
+            "pkg_config_custom_content",
+            "\n".join("%s=%s" % (key, value) for key,value in variables.items()))
 
     def system_requirements(self):
         packages = []
@@ -94,6 +98,8 @@
                      "xcb-xinerama", "xcb", "xkeyboard-config", "xcb-atom", "xcb-aux", "xcb-event", "xcb-util",
                      "xcb-dri3"] + ([] if self.settings.os == "FreeBSD" else ["uuid"]):
             self._fill_cppinfo_from_pkgconfig(name)
+            self.cpp_info.components[name].set_property("pkg_config_name", name)
+        
         if self.settings.os == "Linux":
             self.cpp_info.components["sm"].requires.append("uuid")

{"golden_diff": "diff --git a/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py\n--- a/recipes/xorg/all/conanfile.py\n+++ b/recipes/xorg/all/conanfile.py\n@@ -1,6 +1,5 @@\n from conans import ConanFile, tools\n from conans.errors import ConanException, ConanInvalidConfiguration\n-import os\n \n required_conan_version = \">=1.32\"\n \n@@ -30,6 +29,7 @@\n         include_dirs = [include[2:] for include in pkg_config.cflags_only_I]\n         cflags = [flag for flag in pkg_config.cflags_only_other if not flag.startswith(\"-D\")]\n         defines = [flag[2:] for flag in pkg_config.cflags_only_other if flag.startswith(\"-D\")]\n+        variables = pkg_config.variables\n \n         self.cpp_info.components[name].system_libs = libs\n         self.cpp_info.components[name].libdirs = lib_dirs\n@@ -40,6 +40,10 @@\n         self.cpp_info.components[name].cflags = cflags\n         self.cpp_info.components[name].cxxflags = cflags\n         self.cpp_info.components[name].version = pkg_config.version[0]\n+        self.cpp_info.components[name].set_property(\"component_version\", pkg_config.version[0])\n+        self.cpp_info.components[name].set_property(\n+            \"pkg_config_custom_content\",\n+            \"\\n\".join(\"%s=%s\" % (key, value) for key,value in variables.items()))\n \n     def system_requirements(self):\n         packages = []\n@@ -94,6 +98,8 @@\n                      \"xcb-xinerama\", \"xcb\", \"xkeyboard-config\", \"xcb-atom\", \"xcb-aux\", \"xcb-event\", \"xcb-util\",\n                      \"xcb-dri3\"] + ([] if self.settings.os == \"FreeBSD\" else [\"uuid\"]):\n             self._fill_cppinfo_from_pkgconfig(name)\n+            self.cpp_info.components[name].set_property(\"pkg_config_name\", name)\n+        \n         if self.settings.os == \"Linux\":\n             self.cpp_info.components[\"sm\"].requires.append(\"uuid\")\n", "issue": "[package] xorg/system: generated pkg-config files lack variables\nWhile trying to add xkbcommon 1.0.1, I had to add pkg-config generator to xkbcommon recipe because since 1.0.0 a new optional component depends on libxml2, and meson uses pkg-config files.\r\nxkbcommon depends on xorg, but currently xkbcommon's recipe relies on xorg system installed pkg-config files.\r\nAs soon as conan pkg-config files are generated for xkbcommon build, they take precedence, but one of them lacks an important variable for xkbcommon: `xkb_base` in `xkeyboard-config` xorg's component, used to set a definition at build time.\r\n\r\nxkbcommon can build without this variable, but il will fail at runtime.\r\n\r\nI'm pretty sure that this issue can't be fixed right now. It requires https://github.com/conan-io/conan/issues/7720\n", "before_files": [{"content": "from conans import ConanFile, tools\nfrom conans.errors import ConanException, ConanInvalidConfiguration\nimport os\n\nrequired_conan_version = \">=1.32\"\n\nclass ConanXOrg(ConanFile):\n    name = \"xorg\"\n    url = \"https://github.com/conan-io/conan-center-index\"\n    license = \"MIT\"\n    homepage = \"https://www.x.org/wiki/\"\n    description = \"The X.Org project provides an open source implementation of the X Window System.\"\n    settings = \"os\"\n    topics = (\"x11\", \"xorg\")\n\n    def configure(self):\n        if self.settings.os not in [\"Linux\", \"FreeBSD\"]:\n            raise ConanInvalidConfiguration(\"This recipe supports only Linux and FreeBSD\")\n\n    def package_id(self):\n        self.info.header_only()\n\n    def _fill_cppinfo_from_pkgconfig(self, name):\n        pkg_config = tools.PkgConfig(name)\n        if not pkg_config.provides:\n            raise ConanException(\"OpenGL development files aren't available, give up\")\n        libs = [lib[2:] for lib in pkg_config.libs_only_l]\n        lib_dirs = [lib[2:] for lib in pkg_config.libs_only_L]\n        ldflags = [flag for flag in pkg_config.libs_only_other]\n        include_dirs = [include[2:] for include in pkg_config.cflags_only_I]\n        cflags = [flag for flag in pkg_config.cflags_only_other if not flag.startswith(\"-D\")]\n        defines = [flag[2:] for flag in pkg_config.cflags_only_other if flag.startswith(\"-D\")]\n\n        self.cpp_info.components[name].system_libs = libs\n        self.cpp_info.components[name].libdirs = lib_dirs\n        self.cpp_info.components[name].sharedlinkflags = ldflags\n        self.cpp_info.components[name].exelinkflags = ldflags\n        self.cpp_info.components[name].defines = defines\n        self.cpp_info.components[name].includedirs = include_dirs\n        self.cpp_info.components[name].cflags = cflags\n        self.cpp_info.components[name].cxxflags = cflags\n        self.cpp_info.components[name].version = pkg_config.version[0]\n\n    def system_requirements(self):\n        packages = []\n        if tools.os_info.is_linux and self.settings.os == \"Linux\":\n            if tools.os_info.with_apt:\n                packages = [\"libx11-dev\", \"libx11-xcb-dev\", \"libfontenc-dev\", \"libice-dev\", \"libsm-dev\", \"libxau-dev\", \"libxaw7-dev\",\n                            \"libxcomposite-dev\", \"libxcursor-dev\", \"libxdamage-dev\", \"libxdmcp-dev\", \"libxext-dev\", \"libxfixes-dev\", \n                            \"libxi-dev\", \"libxinerama-dev\", \"libxkbfile-dev\", \"libxmu-dev\", \"libxmuu-dev\",\n                            \"libxpm-dev\", \"libxrandr-dev\", \"libxrender-dev\", \"libxres-dev\", \"libxss-dev\", \"libxt-dev\", \"libxtst-dev\", \n                            \"libxv-dev\", \"libxvmc-dev\", \"libxxf86vm-dev\", \"xtrans-dev\", \"libxcb-render0-dev\",\n                            \"libxcb-render-util0-dev\", \"libxcb-xkb-dev\", \"libxcb-icccm4-dev\", \"libxcb-image0-dev\",\n                            \"libxcb-keysyms1-dev\", \"libxcb-randr0-dev\", \"libxcb-shape0-dev\", \"libxcb-sync-dev\", \"libxcb-xfixes0-dev\",\n                            \"libxcb-xinerama0-dev\", \"xkb-data\", \"libxcb-dri3-dev\", \"uuid-dev\"]\n                if (tools.os_info.linux_distro == \"ubuntu\" and tools.os_info.os_version < \"15\") or\\\n                   (tools.os_info.linux_distro == \"debian\" and tools.os_info.os_version < \"12\") or\\\n                   (tools.os_info.linux_distro == \"raspbian\" and tools.os_info.os_version < \"12\"):\n                    packages.append( \"libxcb-util0-dev\" )\n                else:\n                    packages.append( \"libxcb-util-dev\" )\n            elif tools.os_info.with_yum or tools.os_info.with_dnf or tools.os_info.with_zypper:\n                packages = [\"libxcb-devel\", \"libfontenc-devel\", \"libXaw-devel\", \"libXcomposite-devel\",\n                            \"libXcursor-devel\", \"libXdmcp-devel\", \"libXtst-devel\", \"libXinerama-devel\",\n                            \"libxkbfile-devel\", \"libXrandr-devel\", \"libXres-devel\", \"libXScrnSaver-devel\", \"libXvMC-devel\",\n                            \"xorg-x11-xtrans-devel\", \"xcb-util-wm-devel\", \"xcb-util-image-devel\", \"xcb-util-keysyms-devel\",\n                            \"xcb-util-renderutil-devel\", \"libXdamage-devel\", \"libXxf86vm-devel\", \"libXv-devel\",\n                            \"xcb-util-devel\", \"libuuid-devel\"]\n                packages.append(\"xkeyboard-config\" if tools.os_info.with_zypper else \"xkeyboard-config-devel\")\n            elif tools.os_info.with_pacman:\n                packages = [\"libxcb\", \"libfontenc\", \"libice\", \"libsm\", \"libxaw\", \"libxcomposite\", \"libxcursor\",\n                            \"libxdamage\", \"libxdmcp\", \"libxtst\", \"libxinerama\", \"libxkbfile\", \"libxrandr\", \"libxres\",\n                            \"libxss\", \"libxvmc\", \"xtrans\", \"xcb-util-wm\", \"xcb-util-image\",\"xcb-util-keysyms\", \"xcb-util-renderutil\",\n                            \"libxxf86vm\", \"libxv\", \"xkeyboard-config\", \"xcb-util\", \"util-linux-libs\"]\n            else:\n                self.output.warn(\"Do not know how to install 'xorg' for {}.\".format(tools.os_info.linux_distro))\n        \n        elif tools.os_info.is_freebsd and self.settings.os == \"FreeBSD\":\n            packages = [\"libX11\", \"libfontenc\", \"libice\", \"libsm\", \"libxaw\", \"libxcomposite\", \"libxcursor\",\n                        \"libxdamage\", \"libxdmcp\", \"libxtst\", \"libxinerama\", \"libxkbfile\", \"libxrandr\", \"libxres\",\n                        \"libXScrnSaver\", \"libxvmc\", \"xtrans\", \"xcb-util-wm\", \"xcb-util-image\", \"xcb-util-keysyms\", \"xcb-util-renderutil\",\n                        \"libxxf86vm\", \"libxv\", \"xkeyboard-config\", \"xcb-util\"]\n        if packages:\n            package_tool = tools.SystemPackageTool(conanfile=self, default_mode=\"verify\")\n            package_tool.install_packages(update=True, packages=packages)\n\n    def package_info(self):\n        for name in [\"x11\", \"x11-xcb\", \"fontenc\", \"ice\", \"sm\", \"xau\", \"xaw7\",\n                     \"xcomposite\", \"xcursor\", \"xdamage\", \"xdmcp\", \"xext\", \"xfixes\", \"xi\",\n                     \"xinerama\", \"xkbfile\", \"xmu\", \"xmuu\", \"xpm\", \"xrandr\", \"xrender\", \"xres\",\n                     \"xscrnsaver\", \"xt\", \"xtst\", \"xv\", \"xvmc\", \"xxf86vm\", \"xtrans\",\n                     \"xcb-xkb\", \"xcb-icccm\", \"xcb-image\", \"xcb-keysyms\", \"xcb-randr\", \"xcb-render\",\n                     \"xcb-renderutil\", \"xcb-shape\", \"xcb-shm\", \"xcb-sync\", \"xcb-xfixes\",\n                     \"xcb-xinerama\", \"xcb\", \"xkeyboard-config\", \"xcb-atom\", \"xcb-aux\", \"xcb-event\", \"xcb-util\",\n                     \"xcb-dri3\"] + ([] if self.settings.os == \"FreeBSD\" else [\"uuid\"]):\n            self._fill_cppinfo_from_pkgconfig(name)\n        if self.settings.os == \"Linux\":\n            self.cpp_info.components[\"sm\"].requires.append(\"uuid\")\n\n", "path": "recipes/xorg/all/conanfile.py"}], "after_files": [{"content": "from conans import ConanFile, tools\nfrom conans.errors import ConanException, ConanInvalidConfiguration\n\nrequired_conan_version = \">=1.32\"\n\nclass ConanXOrg(ConanFile):\n    name = \"xorg\"\n    url = \"https://github.com/conan-io/conan-center-index\"\n    license = \"MIT\"\n    homepage = \"https://www.x.org/wiki/\"\n    description = \"The X.Org project provides an open source implementation of the X Window System.\"\n    settings = \"os\"\n    topics = (\"x11\", \"xorg\")\n\n    def configure(self):\n        if self.settings.os not in [\"Linux\", \"FreeBSD\"]:\n            raise ConanInvalidConfiguration(\"This recipe supports only Linux and FreeBSD\")\n\n    def package_id(self):\n        self.info.header_only()\n\n    def _fill_cppinfo_from_pkgconfig(self, name):\n        pkg_config = tools.PkgConfig(name)\n        if not pkg_config.provides:\n            raise ConanException(\"OpenGL development files aren't available, give up\")\n        libs = [lib[2:] for lib in pkg_config.libs_only_l]\n        lib_dirs = [lib[2:] for lib in pkg_config.libs_only_L]\n        ldflags = [flag for flag in pkg_config.libs_only_other]\n        include_dirs = [include[2:] for include in pkg_config.cflags_only_I]\n        cflags = [flag for flag in pkg_config.cflags_only_other if not flag.startswith(\"-D\")]\n        defines = [flag[2:] for flag in pkg_config.cflags_only_other if flag.startswith(\"-D\")]\n        variables = pkg_config.variables\n\n        self.cpp_info.components[name].system_libs = libs\n        self.cpp_info.components[name].libdirs = lib_dirs\n        self.cpp_info.components[name].sharedlinkflags = ldflags\n        self.cpp_info.components[name].exelinkflags = ldflags\n        self.cpp_info.components[name].defines = defines\n        self.cpp_info.components[name].includedirs = include_dirs\n        self.cpp_info.components[name].cflags = cflags\n        self.cpp_info.components[name].cxxflags = cflags\n        self.cpp_info.components[name].version = pkg_config.version[0]\n        self.cpp_info.components[name].set_property(\"component_version\", pkg_config.version[0])\n        self.cpp_info.components[name].set_property(\n            \"pkg_config_custom_content\",\n            \"\\n\".join(\"%s=%s\" % (key, value) for key,value in variables.items()))\n\n    def system_requirements(self):\n        packages = []\n        if tools.os_info.is_linux and self.settings.os == \"Linux\":\n            if tools.os_info.with_apt:\n                packages = [\"libx11-dev\", \"libx11-xcb-dev\", \"libfontenc-dev\", \"libice-dev\", \"libsm-dev\", \"libxau-dev\", \"libxaw7-dev\",\n                            \"libxcomposite-dev\", \"libxcursor-dev\", \"libxdamage-dev\", \"libxdmcp-dev\", \"libxext-dev\", \"libxfixes-dev\", \n                            \"libxi-dev\", \"libxinerama-dev\", \"libxkbfile-dev\", \"libxmu-dev\", \"libxmuu-dev\",\n                            \"libxpm-dev\", \"libxrandr-dev\", \"libxrender-dev\", \"libxres-dev\", \"libxss-dev\", \"libxt-dev\", \"libxtst-dev\", \n                            \"libxv-dev\", \"libxvmc-dev\", \"libxxf86vm-dev\", \"xtrans-dev\", \"libxcb-render0-dev\",\n                            \"libxcb-render-util0-dev\", \"libxcb-xkb-dev\", \"libxcb-icccm4-dev\", \"libxcb-image0-dev\",\n                            \"libxcb-keysyms1-dev\", \"libxcb-randr0-dev\", \"libxcb-shape0-dev\", \"libxcb-sync-dev\", \"libxcb-xfixes0-dev\",\n                            \"libxcb-xinerama0-dev\", \"xkb-data\", \"libxcb-dri3-dev\", \"uuid-dev\"]\n                if (tools.os_info.linux_distro == \"ubuntu\" and tools.os_info.os_version < \"15\") or\\\n                   (tools.os_info.linux_distro == \"debian\" and tools.os_info.os_version < \"12\") or\\\n                   (tools.os_info.linux_distro == \"raspbian\" and tools.os_info.os_version < \"12\"):\n                    packages.append( \"libxcb-util0-dev\" )\n                else:\n                    packages.append( \"libxcb-util-dev\" )\n            elif tools.os_info.with_yum or tools.os_info.with_dnf or tools.os_info.with_zypper:\n                packages = [\"libxcb-devel\", \"libfontenc-devel\", \"libXaw-devel\", \"libXcomposite-devel\",\n                            \"libXcursor-devel\", \"libXdmcp-devel\", \"libXtst-devel\", \"libXinerama-devel\",\n                            \"libxkbfile-devel\", \"libXrandr-devel\", \"libXres-devel\", \"libXScrnSaver-devel\", \"libXvMC-devel\",\n                            \"xorg-x11-xtrans-devel\", \"xcb-util-wm-devel\", \"xcb-util-image-devel\", \"xcb-util-keysyms-devel\",\n                            \"xcb-util-renderutil-devel\", \"libXdamage-devel\", \"libXxf86vm-devel\", \"libXv-devel\",\n                            \"xcb-util-devel\", \"libuuid-devel\"]\n                packages.append(\"xkeyboard-config\" if tools.os_info.with_zypper else \"xkeyboard-config-devel\")\n            elif tools.os_info.with_pacman:\n                packages = [\"libxcb\", \"libfontenc\", \"libice\", \"libsm\", \"libxaw\", \"libxcomposite\", \"libxcursor\",\n                            \"libxdamage\", \"libxdmcp\", \"libxtst\", \"libxinerama\", \"libxkbfile\", \"libxrandr\", \"libxres\",\n                            \"libxss\", \"libxvmc\", \"xtrans\", \"xcb-util-wm\", \"xcb-util-image\",\"xcb-util-keysyms\", \"xcb-util-renderutil\",\n                            \"libxxf86vm\", \"libxv\", \"xkeyboard-config\", \"xcb-util\", \"util-linux-libs\"]\n            else:\n                self.output.warn(\"Do not know how to install 'xorg' for {}.\".format(tools.os_info.linux_distro))\n        \n        elif tools.os_info.is_freebsd and self.settings.os == \"FreeBSD\":\n            packages = [\"libX11\", \"libfontenc\", \"libice\", \"libsm\", \"libxaw\", \"libxcomposite\", \"libxcursor\",\n                        \"libxdamage\", \"libxdmcp\", \"libxtst\", \"libxinerama\", \"libxkbfile\", \"libxrandr\", \"libxres\",\n                        \"libXScrnSaver\", \"libxvmc\", \"xtrans\", \"xcb-util-wm\", \"xcb-util-image\", \"xcb-util-keysyms\", \"xcb-util-renderutil\",\n                        \"libxxf86vm\", \"libxv\", \"xkeyboard-config\", \"xcb-util\"]\n        if packages:\n            package_tool = tools.SystemPackageTool(conanfile=self, default_mode=\"verify\")\n            package_tool.install_packages(update=True, packages=packages)\n\n    def package_info(self):\n        for name in [\"x11\", \"x11-xcb\", \"fontenc\", \"ice\", \"sm\", \"xau\", \"xaw7\",\n                     \"xcomposite\", \"xcursor\", \"xdamage\", \"xdmcp\", \"xext\", \"xfixes\", \"xi\",\n                     \"xinerama\", \"xkbfile\", \"xmu\", \"xmuu\", \"xpm\", \"xrandr\", \"xrender\", \"xres\",\n                     \"xscrnsaver\", \"xt\", \"xtst\", \"xv\", \"xvmc\", \"xxf86vm\", \"xtrans\",\n                     \"xcb-xkb\", \"xcb-icccm\", \"xcb-image\", \"xcb-keysyms\", \"xcb-randr\", \"xcb-render\",\n                     \"xcb-renderutil\", \"xcb-shape\", \"xcb-shm\", \"xcb-sync\", \"xcb-xfixes\",\n                     \"xcb-xinerama\", \"xcb\", \"xkeyboard-config\", \"xcb-atom\", \"xcb-aux\", \"xcb-event\", \"xcb-util\",\n                     \"xcb-dri3\"] + ([] if self.settings.os == \"FreeBSD\" else [\"uuid\"]):\n            self._fill_cppinfo_from_pkgconfig(name)\n            self.cpp_info.components[name].set_property(\"pkg_config_name\", name)\n        \n        if self.settings.os == \"Linux\":\n            self.cpp_info.components[\"sm\"].requires.append(\"uuid\")\n\n", "path": "recipes/xorg/all/conanfile.py"}]}