Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(vuln): Handle scanning conan v2.x lockfiles #6357

Merged
merged 3 commits into from Apr 29, 2024

Conversation

dus7eh
Copy link
Contributor

@dus7eh dus7eh commented Mar 20, 2024

Description

Add capability of parsing conan v2.x lockfile
Note 1: newer conan.lock contains fewer information in respect to its predecessor.
This is described in https://github.com/conan-io/tribe/blob/main/design/034-new_lockfiles.md.
Thus indirect dependencies are not flagged. Only requirements node is parsed.

Makes vuln and sbom reports produce output containing dependencies from conan.lock.

Note 2: to get detailed info about indirect dependencies and test only dependencies parsing output of conan graph info might be necessary but this is not considered here.

Related issues

Checklist

  • I've read the guidelines for contributing to this repository.
  • I've followed the conventions in the PR title.
  • I've added tests that prove my fix is effective or that my feature works.
  • I've updated the documentation with the relevant information (if needed).
  • I've added usage information (if the PR introduces new options)
  • I've included a "before" and "after" example to the description (if the PR is a user interface change).

Copy link
Contributor

@DmitriyLewen DmitriyLewen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @dus7eh
Thanks for your work!

Left comments. Take a look, please.

Also you need to update docs (use mage docs:generate command to see changes in browser) - V2 doesn't support dependency tree.

Regards, Dmitriy

pkg/dependency/parser/c/conan/parse.go Outdated Show resolved Hide resolved
pkg/dependency/parser/c/conan/parse.go Outdated Show resolved Hide resolved
pkg/dependency/parser/c/conan/parse.go Outdated Show resolved Hide resolved
pkg/dependency/parser/c/conan/parse.go Outdated Show resolved Hide resolved
pkg/dependency/parser/c/conan/parse.go Outdated Show resolved Hide resolved
pkg/dependency/parser/c/conan/parse.go Outdated Show resolved Hide resolved
@dus7eh
Copy link
Contributor Author

dus7eh commented Apr 9, 2024

Hello @dus7eh Thanks for your work!

Left comments. Take a look, please.

Also you need to update docs (use mage docs:generate command to see changes in browser) - V2 doesn't support dependency tree.

Regards, Dmitriy

Updated all mentioned issues

Copy link
Contributor

@DmitriyLewen DmitriyLewen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @dus7eh
Thanks for your changes!

I left 1 small comment.
Also resolve conflict please.

Regards, Dmitriy

docs/docs/coverage/language/c.md Outdated Show resolved Hide resolved
Copy link
Contributor

@DmitriyLewen DmitriyLewen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dus7eh Thanks for your work!

LGTM.

@knqyf263 take a look, when you have time, please.

@knqyf263
Copy link
Collaborator

Note 1: newer conan.lock contains fewer information in respect to its predecessor.
This is described in https://github.com/conan-io/tribe/blob/main/design/034-new_lockfiles.md.
Thus indirect dependencies are not flagged. Only requirements node is parsed.

It sounds like we need to parse conanfile.txt to identify direct dependencies. Please correct me if I'm wrong.

@DmitriyLewen
Copy link
Contributor

lockfiles v2 doesn't contain info about child dependencies:
e.g. for pulseaudio:

root@5acf6dd571c3:/app# cat conan.lock 
{
    "version": "0.5",
    "requires": [
        "zlib/1.3.1#f52e03ae3d251dec704634230cd806a2%1708593606.497",
        "xorg/system#f626cbdd0ba57d9c53bce2d8b9362fad%1709213216.576",
        "vorbis/1.3.7#37e58f52e59a6232199b34ef402714a6%1699046045.52",
        "pulseaudio/17.0#8d7ad74a97a376caca6ef0a032d25ad3%1710538592.785",
        "opus/1.4#54631f551fc450783fb2df8cd63f80a2%1692264047.36",
        "openssl/3.2.1#c7b554068caae5eda12b735ea6f23d70%1712227628.919",
        "ogg/1.3.5#062626875f5c8c59f069f76f148098ef%1676030023.878",
        "mpg123/1.31.2#ce831c936b2284e2066ab3dc58a2628e%1697088458.795",
        "libsndfile/1.2.2#b3662f832e29507e8d9840a43737cc14%1701864257.026",
        "libmp3lame/3.100#44b12d19316eb2b223d98d3e75dae438%1674992501.853",
        "libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd%1707122814.387",
        "libgettext/0.22#2c87563d7a69544dd9379f038aca3b0b%1692434363.136",
        "flac/1.4.2#6a17595ab773d2de32e18b5d3b24afff%1703803162.098"
    ],
    "build_requires": [
        "pkgconf/2.1.0#27f44583701117b571307cf5b5fe5605%1701537936.436",
        "pkgconf/2.0.3#f996677e96e61e6552d85e83756c328b%1696606182.229",
        "ninja/1.11.1#77587f8c8318662ac8e5a7867eb4be21%1684431244.21",
        "meson/1.3.2#d1125ba555ec1a94f165a3412fdf7f88%1708699393.753",
        "meson/1.2.2#04bdfb85d665c82b08a3510aee3ffd19%1702568761.764",
        "m4/1.4.19#b38ced39a01e31fef5435bc634461fd2%1700758725.451",
        "gnu-config/cci.20210814#dc430d754f465e8c74463019672fb97b%1701248168.479"
    ],
    "python_requires": [],
    "config_requires": []
}

so it won't help users much.
But conan supports graph - https://docs.conan.io/2/reference/commands/graph.html

example
{
    "graph": {
        "nodes": {
            "0": {
                "ref": "conanfile",
                "id": "0",
                "recipe": "Consumer",
                "package_id": null,
                "prev": null,
                "rrev": null,
                "rrev_timestamp": null,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": null,
                "invalid_build": false,
                "info_invalid": null,
                "name": null,
                "user": null,
                "channel": null,
                "url": null,
                "license": null,
                "author": null,
                "description": null,
                "homepage": null,
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": null,
                "topics": null,
                "package_type": "unknown",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.cppstd": "gnu17",
                    "compiler.libcxx": "libstdc++11",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {},
                "options_definitions": {},
                "generators": [
                    "CMakeDeps",
                    "CMakeToolchain"
                ],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": null,
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "conanfile.txt",
                "dependencies": {
                    "1": {
                        "ref": "pulseaudio/17.0",
                        "run": true,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "2": {
                        "ref": "libgettext/0.22",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "3": {
                        "ref": "libiconv/1.17",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "4": {
                        "ref": "libsndfile/1.2.2",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "6": {
                        "ref": "vorbis/1.3.7",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "7": {
                        "ref": "flac/1.4.2",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "5": {
                        "ref": "ogg/1.3.5",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "8": {
                        "ref": "opus/1.4",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "9": {
                        "ref": "mpg123/1.31.2",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "13": {
                        "ref": "libmp3lame/3.100",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "15": {
                        "ref": "xorg/system",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "16": {
                        "ref": "openssl/3.2.1",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    },
                    "17": {
                        "ref": "zlib/1.3.1",
                        "run": false,
                        "libs": false,
                        "skip": true,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    }
                },
                "context": "host",
                "test": false
            },
            "1": {
                "ref": "pulseaudio/17.0#8d7ad74a97a376caca6ef0a032d25ad3",
                "id": "1",
                "recipe": "Cache",
                "package_id": "f6c7066ca0f97b28acb83b1cc0f18092072d6578",
                "prev": null,
                "rrev": "8d7ad74a97a376caca6ef0a032d25ad3",
                "rrev_timestamp": 1710538592.785,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Missing",
                "invalid_build": false,
                "info_invalid": null,
                "name": "pulseaudio",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "LGPL-2.1",
                "author": null,
                "description": "PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for sound applications.",
                "homepage": "http://pulseaudio.org/",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "with_glib": false,
                    "with_fftw": false,
                    "with_x11": true,
                    "with_openssl": true,
                    "with_dbus": false
                },
                "options_description": null,
                "version": "17.0",
                "topics": [
                    "sound",
                    "audio",
                    "sound-server"
                ],
                "package_type": "shared-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "with_dbus": "False",
                    "with_glib": "False",
                    "with_openssl": "True",
                    "with_x11": "True"
                },
                "options_definitions": {
                    "with_glib": [
                        "True",
                        "False"
                    ],
                    "with_x11": [
                        "True",
                        "False"
                    ],
                    "with_openssl": [
                        "True",
                        "False"
                    ],
                    "with_dbus": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/pulsee2b7eff0be0d2/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "pulseaudio/17.0",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "with_dbus": "False",
                        "with_glib": "False",
                        "with_openssl": "True",
                        "with_x11": "True"
                    },
                    "requires": [
                        "libgettext/0.22#2c87563d7a69544dd9379f038aca3b0b:41e721d904c9ddcfa663c4fb15ecba9da7057704",
                        "libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd:7e0918accf1698c5e54c34e18764ad9156b62d25",
                        "libsndfile/1.2.2#b3662f832e29507e8d9840a43737cc14:bd5b48e622e983e94e2cf5da5618d44bf5983f49",
                        "vorbis/1.3.7#37e58f52e59a6232199b34ef402714a6:b30f0b06917112843bb7972037aa6e8ca1463ef3",
                        "flac/1.4.2#6a17595ab773d2de32e18b5d3b24afff:06cc7ca96b14b2063dfeeeb23a530cca2e65b644",
                        "ogg/1.3.5#062626875f5c8c59f069f76f148098ef:7e0918accf1698c5e54c34e18764ad9156b62d25",
                        "opus/1.4#54631f551fc450783fb2df8cd63f80a2:5b7cfe3a19ddb78609cc708138bb9ebd4d24c1a7",
                        "mpg123/1.31.2#ce831c936b2284e2066ab3dc58a2628e:0bc5cf269869489db05381698a16d7fd566053c1",
                        "libmp3lame/3.100#44b12d19316eb2b223d98d3e75dae438:7e0918accf1698c5e54c34e18764ad9156b62d25",
                        "xorg/system",
                        "openssl/3.2.1#c7b554068caae5eda12b735ea6f23d70:469765602cb39c441c3f8afb43977bb72b8b9a93",
                        "zlib/1.3.1#f52e03ae3d251dec704634230cd806a2:7e0918accf1698c5e54c34e18764ad9156b62d25"
                    ]
                },
                "dependencies": {
                    "2": {
                        "ref": "libgettext/0.22",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "3": {
                        "ref": "libiconv/1.17",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "4": {
                        "ref": "libsndfile/1.2.2",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "6": {
                        "ref": "vorbis/1.3.7",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "7": {
                        "ref": "flac/1.4.2",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "5": {
                        "ref": "ogg/1.3.5",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "8": {
                        "ref": "opus/1.4",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "9": {
                        "ref": "mpg123/1.31.2",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "13": {
                        "ref": "libmp3lame/3.100",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "15": {
                        "ref": "xorg/system",
                        "run": true,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    },
                    "16": {
                        "ref": "openssl/3.2.1",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "17": {
                        "ref": "zlib/1.3.1",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": "full_mode",
                        "visible": true
                    },
                    "18": {
                        "ref": "m4/1.4.19",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    },
                    "19": {
                        "ref": "meson/1.3.2",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    },
                    "20": {
                        "ref": "ninja/1.11.1",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    },
                    "21": {
                        "ref": "pkgconf/2.1.0",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    }
                },
                "context": "host",
                "test": false
            },
            "2": {
                "ref": "libgettext/0.22#2c87563d7a69544dd9379f038aca3b0b",
                "id": "2",
                "recipe": "Cache",
                "package_id": "41e721d904c9ddcfa663c4fb15ecba9da7057704",
                "prev": null,
                "rrev": "2c87563d7a69544dd9379f038aca3b0b",
                "rrev_timestamp": 1692434363.136,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "libgettext",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "LGPL-2.1-or-later",
                "author": null,
                "description": "An internationalization and localization system for multilingual programs",
                "homepage": "https://www.gnu.org/software/gettext",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true
                },
                "options_description": null,
                "version": "0.22",
                "topics": [
                    "gettext",
                    "intl",
                    "libintl",
                    "i18n"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "fPIC": "True",
                    "shared": "False",
                    "threads": "posix"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ],
                    "threads": [
                        "posix",
                        "solaris",
                        "pth",
                        "windows",
                        "disabled"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/libge7dd78f22d4081/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "libgettext/0.22",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "fPIC": "True",
                        "shared": "False",
                        "threads": "posix"
                    },
                    "requires": [
                        "libiconv/1.17.Z"
                    ]
                },
                "dependencies": {
                    "3": {
                        "ref": "libiconv/1.17",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    }
                },
                "context": "host",
                "test": false
            },
            "3": {
                "ref": "libiconv/1.17#73fefc1b696e069df90fd1d18aa63edd",
                "id": "3",
                "recipe": "Cache",
                "package_id": "7e0918accf1698c5e54c34e18764ad9156b62d25",
                "prev": null,
                "rrev": "73fefc1b696e069df90fd1d18aa63edd",
                "rrev_timestamp": 1707122814.387,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "libiconv",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "LGPL-2.1-or-later",
                "author": null,
                "description": "Convert text to and from Unicode",
                "homepage": "https://www.gnu.org/software/libiconv/",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true
                },
                "options_description": null,
                "version": "1.17",
                "topics": [
                    "iconv",
                    "text",
                    "encoding",
                    "locale",
                    "unicode",
                    "conversion"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "fPIC": "True",
                    "shared": "False"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/libic9912aaea08621/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "libiconv/1.17",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "fPIC": "True",
                        "shared": "False"
                    }
                },
                "dependencies": {},
                "context": "host",
                "test": false
            },
            "4": {
                "ref": "libsndfile/1.2.2#b3662f832e29507e8d9840a43737cc14",
                "id": "4",
                "recipe": "Cache",
                "package_id": "bd5b48e622e983e94e2cf5da5618d44bf5983f49",
                "prev": null,
                "rrev": "b3662f832e29507e8d9840a43737cc14",
                "rrev_timestamp": 1701864257.026,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "libsndfile",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "LGPL-2.1",
                "author": null,
                "description": "Libsndfile is a library of C routines for reading and writing files containing sampled audio data.",
                "homepage": "http://www.mega-nerd.com/libsndfile",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true,
                    "programs": true,
                    "experimental": false,
                    "with_alsa": false,
                    "with_external_libs": true,
                    "with_mpeg": true
                },
                "options_description": null,
                "version": "1.2.2",
                "topics": [
                    "audio"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.cppstd": "gnu17",
                    "compiler.libcxx": "libstdc++11",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "experimental": "False",
                    "fPIC": "True",
                    "programs": "True",
                    "shared": "False",
                    "with_alsa": "False",
                    "with_external_libs": "True",
                    "with_mpeg": "True"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ],
                    "programs": [
                        "True",
                        "False"
                    ],
                    "experimental": [
                        "True",
                        "False"
                    ],
                    "with_alsa": [
                        "True",
                        "False"
                    ],
                    "with_external_libs": [
                        "True",
                        "False"
                    ],
                    "with_mpeg": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/libsn6145c76fe38ac/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "libsndfile/1.2.2",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.cppstd": "gnu17",
                        "compiler.libcxx": "libstdc++11",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "experimental": "False",
                        "fPIC": "True",
                        "programs": "True",
                        "shared": "False",
                        "with_alsa": "False",
                        "with_external_libs": "True",
                        "with_mpeg": "True"
                    },
                    "requires": [
                        "vorbis/1.3.Z",
                        "flac/1.4.Z",
                        "ogg/1.3.Z",
                        "opus/1.4.Z",
                        "mpg123/1.31.Z",
                        "libmp3lame/3.100.Z"
                    ]
                },
                "dependencies": {
                    "6": {
                        "ref": "vorbis/1.3.7",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    },
                    "7": {
                        "ref": "flac/1.4.2",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    },
                    "5": {
                        "ref": "ogg/1.3.5",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    },
                    "8": {
                        "ref": "opus/1.4",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    },
                    "9": {
                        "ref": "mpg123/1.31.2",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    },
                    "13": {
                        "ref": "libmp3lame/3.100",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    }
                },
                "context": "host",
                "test": false
            },
            "5": {
                "ref": "ogg/1.3.5#062626875f5c8c59f069f76f148098ef",
                "id": "5",
                "recipe": "Cache",
                "package_id": "7e0918accf1698c5e54c34e18764ad9156b62d25",
                "prev": null,
                "rrev": "062626875f5c8c59f069f76f148098ef",
                "rrev_timestamp": 1676030023.878,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "ogg",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "BSD-2-Clause",
                "author": null,
                "description": "The OGG library",
                "homepage": "https://github.com/xiph/ogg",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true
                },
                "options_description": null,
                "version": "1.3.5",
                "topics": [
                    "codec",
                    "audio",
                    "lossless"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "fPIC": "True",
                    "shared": "False"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/ogg09f0a2947bfb4/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "ogg/1.3.5",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "fPIC": "True",
                        "shared": "False"
                    }
                },
                "dependencies": {},
                "context": "host",
                "test": false
            },
            "6": {
                "ref": "vorbis/1.3.7#37e58f52e59a6232199b34ef402714a6",
                "id": "6",
                "recipe": "Cache",
                "package_id": "b30f0b06917112843bb7972037aa6e8ca1463ef3",
                "prev": null,
                "rrev": "37e58f52e59a6232199b34ef402714a6",
                "rrev_timestamp": 1699046045.52,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "vorbis",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "BSD-3-Clause",
                "author": null,
                "description": "The VORBIS audio codec library",
                "homepage": "https://xiph.org/vorbis/",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true
                },
                "options_description": null,
                "version": "1.3.7",
                "topics": [
                    "audio",
                    "codec"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "fPIC": "True",
                    "shared": "False"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/vorbi17ae576c72ece/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "vorbis/1.3.7",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "fPIC": "True",
                        "shared": "False"
                    },
                    "requires": [
                        "ogg/1.3.Z"
                    ]
                },
                "dependencies": {
                    "5": {
                        "ref": "ogg/1.3.5",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": true,
                        "transitive_libs": true,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    }
                },
                "context": "host",
                "test": false
            },
            "7": {
                "ref": "flac/1.4.2#6a17595ab773d2de32e18b5d3b24afff",
                "id": "7",
                "recipe": "Cache",
                "package_id": "06cc7ca96b14b2063dfeeeb23a530cca2e65b644",
                "prev": null,
                "rrev": "6a17595ab773d2de32e18b5d3b24afff",
                "rrev_timestamp": 1703803162.098,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "flac",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": [
                    "BSD-3-Clause",
                    "GPL-2.0-or-later",
                    "LPGL-2.1-or-later",
                    "GFDL-1.2"
                ],
                "author": null,
                "description": "Free Lossless Audio Codec",
                "homepage": "https://github.com/xiph/flac",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true
                },
                "options_description": null,
                "version": "1.4.2",
                "topics": [
                    "flac",
                    "codec",
                    "audio"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.cppstd": "gnu17",
                    "compiler.libcxx": "libstdc++11",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "fPIC": "True",
                    "shared": "False"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/flacb637da3308530/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "flac/1.4.2",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.cppstd": "gnu17",
                        "compiler.libcxx": "libstdc++11",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "fPIC": "True",
                        "shared": "False"
                    },
                    "requires": [
                        "ogg/1.3.Z"
                    ]
                },
                "dependencies": {
                    "5": {
                        "ref": "ogg/1.3.5",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    }
                },
                "context": "host",
                "test": false
            },
            "8": {
                "ref": "opus/1.4#54631f551fc450783fb2df8cd63f80a2",
                "id": "8",
                "recipe": "Cache",
                "package_id": "5b7cfe3a19ddb78609cc708138bb9ebd4d24c1a7",
                "prev": null,
                "rrev": "54631f551fc450783fb2df8cd63f80a2",
                "rrev_timestamp": 1692264047.36,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "opus",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "BSD-3-Clause",
                "author": null,
                "description": "Opus is a totally open, royalty-free, highly versatile audio codec.",
                "homepage": "https://opus-codec.org",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true,
                    "fixed_point": false,
                    "stack_protector": true
                },
                "options_description": null,
                "version": "1.4",
                "topics": [
                    "opus",
                    "audio",
                    "decoder",
                    "decoding",
                    "multimedia",
                    "sound"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "fPIC": "True",
                    "fixed_point": "False",
                    "shared": "False",
                    "stack_protector": "True"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ],
                    "fixed_point": [
                        "True",
                        "False"
                    ],
                    "stack_protector": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/opus3cb7732193f63/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "opus/1.4",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "fPIC": "True",
                        "fixed_point": "False",
                        "shared": "False",
                        "stack_protector": "True"
                    }
                },
                "dependencies": {},
                "context": "host",
                "test": false
            },
            "9": {
                "ref": "mpg123/1.31.2#ce831c936b2284e2066ab3dc58a2628e",
                "id": "9",
                "recipe": "Cache",
                "package_id": "0bc5cf269869489db05381698a16d7fd566053c1",
                "prev": null,
                "rrev": "ce831c936b2284e2066ab3dc58a2628e",
                "rrev_timestamp": 1697088458.795,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "mpg123",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": [
                    "LGPL-2.1-or-later",
                    "GPL-2.0-or-later"
                ],
                "author": null,
                "description": "Fast console MPEG Audio Player and decoder library",
                "homepage": "http://mpg123.org/",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true,
                    "flexible_resampling": true,
                    "network": true,
                    "icy": true,
                    "id3v2": true,
                    "ieeefloat": true,
                    "layer1": true,
                    "layer2": true,
                    "layer3": true,
                    "moreinfo": true,
                    "seektable": "1000",
                    "module": "dummy"
                },
                "options_description": null,
                "version": "1.31.2",
                "topics": [
                    "mpeg",
                    "audio",
                    "player",
                    "decoder"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "fPIC": "True",
                    "flexible_resampling": "True",
                    "icy": "True",
                    "id3v2": "True",
                    "ieeefloat": "True",
                    "layer1": "True",
                    "layer2": "True",
                    "layer3": "True",
                    "module": "dummy",
                    "moreinfo": "True",
                    "network": "True",
                    "seektable": "1000",
                    "shared": "False"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ],
                    "flexible_resampling": [
                        "True",
                        "False"
                    ],
                    "network": [
                        "True",
                        "False"
                    ],
                    "icy": [
                        "True",
                        "False"
                    ],
                    "id3v2": [
                        "True",
                        "False"
                    ],
                    "ieeefloat": [
                        "True",
                        "False"
                    ],
                    "layer1": [
                        "True",
                        "False"
                    ],
                    "layer2": [
                        "True",
                        "False"
                    ],
                    "layer3": [
                        "True",
                        "False"
                    ],
                    "moreinfo": [
                        "True",
                        "False"
                    ],
                    "seektable": [
                        null,
                        "ANY"
                    ],
                    "module": [
                        "dummy",
                        "libalsa",
                        "tinyalsa",
                        "win32"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/mpg125f57569993ec7/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "mpg123/1.31.2",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "fPIC": "True",
                        "flexible_resampling": "True",
                        "icy": "True",
                        "id3v2": "True",
                        "ieeefloat": "True",
                        "layer1": "True",
                        "layer2": "True",
                        "layer3": "True",
                        "module": "dummy",
                        "moreinfo": "True",
                        "network": "True",
                        "seektable": "1000",
                        "shared": "False"
                    }
                },
                "dependencies": {
                    "10": {
                        "ref": "pkgconf/2.0.3",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    }
                },
                "context": "host",
                "test": false
            },
            "10": {
                "ref": "pkgconf/2.0.3#f996677e96e61e6552d85e83756c328b",
                "id": "10",
                "recipe": "Cache",
                "package_id": "a93744abf7ebe27c68ffd5c57b1f7f21ff754b90",
                "prev": null,
                "rrev": "f996677e96e61e6552d85e83756c328b",
                "rrev_timestamp": 1696606182.229,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "pkgconf",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "ISC",
                "author": null,
                "description": "package compiler and linker metadata toolkit",
                "homepage": "https://git.sr.ht/~kaniini/pkgconf",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true,
                    "enable_lib": false
                },
                "options_description": null,
                "version": "2.0.3",
                "topics": [
                    "build",
                    "configuration"
                ],
                "package_type": "unknown",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "enable_lib": "False"
                },
                "options_definitions": {
                    "enable_lib": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/pkgco5ad2671634075/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "pkgconf/2.0.3",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "build_type": "Release"
                    },
                    "options": {
                        "enable_lib": "False"
                    }
                },
                "dependencies": {
                    "11": {
                        "ref": "meson/1.2.2",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    },
                    "12": {
                        "ref": "ninja/1.11.1",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    }
                },
                "context": "build",
                "test": false
            },
            "11": {
                "ref": "meson/1.2.2#04bdfb85d665c82b08a3510aee3ffd19",
                "id": "11",
                "recipe": "Cache",
                "package_id": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
                "prev": "97f4a23dd2d942f83e5344b1ca496ce7",
                "rrev": "04bdfb85d665c82b08a3510aee3ffd19",
                "rrev_timestamp": 1702568761.764,
                "prev_timestamp": 1702572748.354,
                "remote": null,
                "binary_remote": "conancenter",
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "meson",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "Apache-2.0",
                "author": null,
                "description": "Meson is a project to create the best possible next-generation build system",
                "homepage": "https://github.com/mesonbuild/meson",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": "1.2.2",
                "topics": [
                    "meson",
                    "mesonbuild",
                    "build-system"
                ],
                "package_type": "application",
                "settings": {},
                "options": {},
                "options_definitions": {},
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/meson9aba974547f5b/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "meson/1.2.2",
                "info": {},
                "dependencies": {
                    "12": {
                        "ref": "ninja/1.11.1",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    }
                },
                "context": "build",
                "test": false
            },
            "12": {
                "ref": "ninja/1.11.1#77587f8c8318662ac8e5a7867eb4be21",
                "id": "12",
                "recipe": "Cache",
                "package_id": "85c999356992c5713d308db1a4d7bab6bf572f27",
                "prev": null,
                "rrev": "77587f8c8318662ac8e5a7867eb4be21",
                "rrev_timestamp": 1684431244.21,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "ninja",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "Apache-2.0",
                "author": null,
                "description": "Ninja is a small build system with a focus on speed",
                "homepage": "https://github.com/ninja-build/ninja",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": "1.11.1",
                "topics": [
                    "ninja",
                    "build"
                ],
                "package_type": "application",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.cppstd": "gnu17",
                    "compiler.libcxx": "libstdc++11",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {},
                "options_definitions": {},
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/ninja19c9f8e277acc/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "ninja/1.11.1",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "build_type": "Release"
                    }
                },
                "dependencies": {},
                "context": "build",
                "test": false
            },
            "13": {
                "ref": "libmp3lame/3.100#44b12d19316eb2b223d98d3e75dae438",
                "id": "13",
                "recipe": "Cache",
                "package_id": "7e0918accf1698c5e54c34e18764ad9156b62d25",
                "prev": null,
                "rrev": "44b12d19316eb2b223d98d3e75dae438",
                "rrev_timestamp": 1674992501.853,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "libmp3lame",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "LGPL-2.0",
                "author": null,
                "description": "LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL.",
                "homepage": "http://lame.sourceforge.net",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true
                },
                "options_description": null,
                "version": "3.100",
                "topics": [
                    "multimedia",
                    "audio",
                    "mp3",
                    "decoder",
                    "encoding",
                    "decoding"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "fPIC": "True",
                    "shared": "False"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/libmpebf686a19587c/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "libmp3lame/3.100",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "fPIC": "True",
                        "shared": "False"
                    }
                },
                "dependencies": {
                    "14": {
                        "ref": "gnu-config/cci.20210814",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    }
                },
                "context": "host",
                "test": false
            },
            "14": {
                "ref": "gnu-config/cci.20210814#dc430d754f465e8c74463019672fb97b",
                "id": "14",
                "recipe": "Cache",
                "package_id": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
                "prev": "22618e30bd9e326eb95e824dc90cc860",
                "rrev": "dc430d754f465e8c74463019672fb97b",
                "rrev_timestamp": 1701248168.479,
                "prev_timestamp": 1701248306.606,
                "remote": null,
                "binary_remote": "conancenter",
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "gnu-config",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": [
                    "GPL-3.0-or-later",
                    "autoconf-special-exception"
                ],
                "author": null,
                "description": "The GNU config.guess and config.sub scripts",
                "homepage": "https://savannah.gnu.org/projects/config/",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": "cci.20210814",
                "topics": [
                    "gnu",
                    "config",
                    "autotools",
                    "canonical",
                    "host",
                    "build",
                    "target",
                    "triplet"
                ],
                "package_type": "build-scripts",
                "settings": {},
                "options": {},
                "options_definitions": {},
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/gnu-cbb47279af5340/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "gnu-config/cci.20210814",
                "info": {},
                "dependencies": {},
                "context": "build",
                "test": false
            },
            "15": {
                "ref": "xorg/system#f626cbdd0ba57d9c53bce2d8b9362fad",
                "id": "15",
                "recipe": "Cache",
                "package_id": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
                "prev": "0ba8627bd47edc3a501e8f0eb9a79e5e",
                "rrev": "f626cbdd0ba57d9c53bce2d8b9362fad",
                "rrev_timestamp": 1709213216.576,
                "prev_timestamp": 1709213382.658,
                "remote": null,
                "binary_remote": "conancenter",
                "build_id": null,
                "binary": "Download",
                "invalid_build": false,
                "info_invalid": null,
                "name": "xorg",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "MIT",
                "author": null,
                "description": "The X.Org project provides an open source implementation of the X Window System.",
                "homepage": "https://www.x.org/wiki/",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": "system",
                "topics": [
                    "x11",
                    "xorg"
                ],
                "package_type": "shared-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.cppstd": "gnu17",
                    "compiler.libcxx": "libstdc++11",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {},
                "options_definitions": {},
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/xorge7b7c067f4d9e/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "xorg/system",
                "info": {},
                "dependencies": {},
                "context": "host",
                "test": false
            },
            "16": {
                "ref": "openssl/3.2.1#c7b554068caae5eda12b735ea6f23d70",
                "id": "16",
                "recipe": "Cache",
                "package_id": "469765602cb39c441c3f8afb43977bb72b8b9a93",
                "prev": null,
                "rrev": "c7b554068caae5eda12b735ea6f23d70",
                "rrev_timestamp": 1712227628.919,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "openssl",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "Apache-2.0",
                "author": null,
                "description": "A toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols",
                "homepage": "https://github.com/openssl/openssl",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true,
                    "enable_weak_ssl_ciphers": false,
                    "386": false,
                    "capieng_dialog": false,
                    "enable_capieng": false,
                    "enable_trace": false,
                    "no_aria": false,
                    "no_apps": false,
                    "no_autoload_config": false,
                    "no_asm": false,
                    "no_async": false,
                    "no_blake2": false,
                    "no_bf": false,
                    "no_camellia": false,
                    "no_chacha": false,
                    "no_cms": false,
                    "no_comp": false,
                    "no_ct": false,
                    "no_cast": false,
                    "no_deprecated": false,
                    "no_des": false,
                    "no_dgram": false,
                    "no_dh": false,
                    "no_dsa": false,
                    "no_dso": false,
                    "no_ec": false,
                    "no_ecdh": false,
                    "no_ecdsa": false,
                    "no_engine": false,
                    "no_filenames": false,
                    "no_fips": false,
                    "no_gost": false,
                    "no_idea": false,
                    "no_legacy": false,
                    "no_md2": true,
                    "no_md4": false,
                    "no_mdc2": false,
                    "no_module": false,
                    "no_ocsp": false,
                    "no_pinshared": false,
                    "no_rc2": false,
                    "no_rc4": false,
                    "no_rc5": false,
                    "no_rfc3779": false,
                    "no_rmd160": false,
                    "no_sm2": false,
                    "no_sm3": false,
                    "no_sm4": false,
                    "no_srp": false,
                    "no_srtp": false,
                    "no_sse2": false,
                    "no_ssl": false,
                    "no_stdio": false,
                    "no_seed": false,
                    "no_sock": false,
                    "no_ssl3": false,
                    "no_threads": false,
                    "no_tls1": false,
                    "no_ts": false,
                    "no_whirlpool": false,
                    "no_zlib": false,
                    "openssldir": null,
                    "tls_security_level": null
                },
                "options_description": null,
                "version": "3.2.1",
                "topics": [
                    "ssl",
                    "tls",
                    "encryption",
                    "security"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "386": "False",
                    "enable_trace": "False",
                    "enable_weak_ssl_ciphers": "False",
                    "fPIC": "True",
                    "no_apps": "False",
                    "no_aria": "False",
                    "no_asm": "False",
                    "no_async": "False",
                    "no_autoload_config": "False",
                    "no_bf": "False",
                    "no_blake2": "False",
                    "no_camellia": "False",
                    "no_cast": "False",
                    "no_chacha": "False",
                    "no_cms": "False",
                    "no_comp": "False",
                    "no_ct": "False",
                    "no_deprecated": "False",
                    "no_des": "False",
                    "no_dgram": "False",
                    "no_dh": "False",
                    "no_dsa": "False",
                    "no_dso": "False",
                    "no_ec": "False",
                    "no_ecdh": "False",
                    "no_ecdsa": "False",
                    "no_engine": "False",
                    "no_filenames": "False",
                    "no_fips": "False",
                    "no_gost": "False",
                    "no_idea": "False",
                    "no_legacy": "False",
                    "no_md2": "True",
                    "no_md4": "False",
                    "no_mdc2": "False",
                    "no_module": "False",
                    "no_ocsp": "False",
                    "no_pinshared": "False",
                    "no_rc2": "False",
                    "no_rc4": "False",
                    "no_rc5": "False",
                    "no_rfc3779": "False",
                    "no_rmd160": "False",
                    "no_seed": "False",
                    "no_sm2": "False",
                    "no_sm3": "False",
                    "no_sm4": "False",
                    "no_sock": "False",
                    "no_srp": "False",
                    "no_srtp": "False",
                    "no_sse2": "False",
                    "no_ssl": "False",
                    "no_ssl3": "False",
                    "no_stdio": "False",
                    "no_threads": "False",
                    "no_tls1": "False",
                    "no_ts": "False",
                    "no_whirlpool": "False",
                    "no_zlib": "False",
                    "openssldir": null,
                    "shared": "False",
                    "tls_security_level": null
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ],
                    "enable_weak_ssl_ciphers": [
                        "True",
                        "False"
                    ],
                    "386": [
                        "True",
                        "False"
                    ],
                    "enable_trace": [
                        "True",
                        "False"
                    ],
                    "no_aria": [
                        "True",
                        "False"
                    ],
                    "no_apps": [
                        "True",
                        "False"
                    ],
                    "no_autoload_config": [
                        "True",
                        "False"
                    ],
                    "no_asm": [
                        "True",
                        "False"
                    ],
                    "no_async": [
                        "True",
                        "False"
                    ],
                    "no_blake2": [
                        "True",
                        "False"
                    ],
                    "no_bf": [
                        "True",
                        "False"
                    ],
                    "no_camellia": [
                        "True",
                        "False"
                    ],
                    "no_chacha": [
                        "True",
                        "False"
                    ],
                    "no_cms": [
                        "True",
                        "False"
                    ],
                    "no_comp": [
                        "True",
                        "False"
                    ],
                    "no_ct": [
                        "True",
                        "False"
                    ],
                    "no_cast": [
                        "True",
                        "False"
                    ],
                    "no_deprecated": [
                        "True",
                        "False"
                    ],
                    "no_des": [
                        "True",
                        "False"
                    ],
                    "no_dgram": [
                        "True",
                        "False"
                    ],
                    "no_dh": [
                        "True",
                        "False"
                    ],
                    "no_dsa": [
                        "True",
                        "False"
                    ],
                    "no_dso": [
                        "True",
                        "False"
                    ],
                    "no_ec": [
                        "True",
                        "False"
                    ],
                    "no_ecdh": [
                        "True",
                        "False"
                    ],
                    "no_ecdsa": [
                        "True",
                        "False"
                    ],
                    "no_engine": [
                        "True",
                        "False"
                    ],
                    "no_filenames": [
                        "True",
                        "False"
                    ],
                    "no_fips": [
                        "True",
                        "False"
                    ],
                    "no_gost": [
                        "True",
                        "False"
                    ],
                    "no_idea": [
                        "True",
                        "False"
                    ],
                    "no_legacy": [
                        "True",
                        "False"
                    ],
                    "no_md2": [
                        "True",
                        "False"
                    ],
                    "no_md4": [
                        "True",
                        "False"
                    ],
                    "no_mdc2": [
                        "True",
                        "False"
                    ],
                    "no_module": [
                        "True",
                        "False"
                    ],
                    "no_ocsp": [
                        "True",
                        "False"
                    ],
                    "no_pinshared": [
                        "True",
                        "False"
                    ],
                    "no_rc2": [
                        "True",
                        "False"
                    ],
                    "no_rc4": [
                        "True",
                        "False"
                    ],
                    "no_rc5": [
                        "True",
                        "False"
                    ],
                    "no_rfc3779": [
                        "True",
                        "False"
                    ],
                    "no_rmd160": [
                        "True",
                        "False"
                    ],
                    "no_sm2": [
                        "True",
                        "False"
                    ],
                    "no_sm3": [
                        "True",
                        "False"
                    ],
                    "no_sm4": [
                        "True",
                        "False"
                    ],
                    "no_srp": [
                        "True",
                        "False"
                    ],
                    "no_srtp": [
                        "True",
                        "False"
                    ],
                    "no_sse2": [
                        "True",
                        "False"
                    ],
                    "no_ssl": [
                        "True",
                        "False"
                    ],
                    "no_stdio": [
                        "True",
                        "False"
                    ],
                    "no_seed": [
                        "True",
                        "False"
                    ],
                    "no_sock": [
                        "True",
                        "False"
                    ],
                    "no_ssl3": [
                        "True",
                        "False"
                    ],
                    "no_threads": [
                        "True",
                        "False"
                    ],
                    "no_tls1": [
                        "True",
                        "False"
                    ],
                    "no_ts": [
                        "True",
                        "False"
                    ],
                    "no_whirlpool": [
                        "True",
                        "False"
                    ],
                    "no_zlib": [
                        "True",
                        "False"
                    ],
                    "openssldir": [
                        null,
                        "ANY"
                    ],
                    "tls_security_level": [
                        null,
                        "0",
                        "1",
                        "2",
                        "3",
                        "4",
                        "5"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/opens838c21f04ce59/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "openssl/3.2.1",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "386": "False",
                        "enable_trace": "False",
                        "enable_weak_ssl_ciphers": "False",
                        "fPIC": "True",
                        "no_apps": "False",
                        "no_aria": "False",
                        "no_asm": "False",
                        "no_async": "False",
                        "no_autoload_config": "False",
                        "no_bf": "False",
                        "no_blake2": "False",
                        "no_camellia": "False",
                        "no_cast": "False",
                        "no_chacha": "False",
                        "no_cms": "False",
                        "no_comp": "False",
                        "no_ct": "False",
                        "no_deprecated": "False",
                        "no_des": "False",
                        "no_dgram": "False",
                        "no_dh": "False",
                        "no_dsa": "False",
                        "no_dso": "False",
                        "no_ec": "False",
                        "no_ecdh": "False",
                        "no_ecdsa": "False",
                        "no_engine": "False",
                        "no_filenames": "False",
                        "no_fips": "False",
                        "no_gost": "False",
                        "no_idea": "False",
                        "no_legacy": "False",
                        "no_md2": "True",
                        "no_md4": "False",
                        "no_mdc2": "False",
                        "no_module": "False",
                        "no_ocsp": "False",
                        "no_pinshared": "False",
                        "no_rc2": "False",
                        "no_rc4": "False",
                        "no_rc5": "False",
                        "no_rfc3779": "False",
                        "no_rmd160": "False",
                        "no_seed": "False",
                        "no_sm2": "False",
                        "no_sm3": "False",
                        "no_sm4": "False",
                        "no_sock": "False",
                        "no_srp": "False",
                        "no_srtp": "False",
                        "no_sse2": "False",
                        "no_ssl": "False",
                        "no_ssl3": "False",
                        "no_stdio": "False",
                        "no_threads": "False",
                        "no_tls1": "False",
                        "no_ts": "False",
                        "no_whirlpool": "False",
                        "no_zlib": "False",
                        "openssldir": null,
                        "shared": "False",
                        "tls_security_level": null
                    },
                    "requires": [
                        "zlib/1.3.Z"
                    ]
                },
                "dependencies": {
                    "17": {
                        "ref": "zlib/1.3.1",
                        "run": false,
                        "libs": true,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": true,
                        "package_id_mode": "minor_mode",
                        "visible": true
                    }
                },
                "context": "host",
                "test": false
            },
            "17": {
                "ref": "zlib/1.3.1#f52e03ae3d251dec704634230cd806a2",
                "id": "17",
                "recipe": "Cache",
                "package_id": "7e0918accf1698c5e54c34e18764ad9156b62d25",
                "prev": null,
                "rrev": "f52e03ae3d251dec704634230cd806a2",
                "rrev_timestamp": 1708593606.497,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "zlib",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "Zlib",
                "author": null,
                "description": "A Massively Spiffy Yet Delicately Unobtrusive Compression Library (Also Free, Not to Mention Unencumbered by Patents)",
                "homepage": "https://zlib.net",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true
                },
                "options_description": null,
                "version": "1.3.1",
                "topics": [
                    "zlib",
                    "compression"
                ],
                "package_type": "static-library",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "fPIC": "True",
                    "shared": "False"
                },
                "options_definitions": {
                    "shared": [
                        "True",
                        "False"
                    ],
                    "fPIC": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/zlib41bd3946e7341/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "zlib/1.3.1",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "compiler": "gcc",
                        "compiler.version": "12",
                        "build_type": "Release"
                    },
                    "options": {
                        "fPIC": "True",
                        "shared": "False"
                    }
                },
                "dependencies": {},
                "context": "host",
                "test": false
            },
            "18": {
                "ref": "m4/1.4.19#b38ced39a01e31fef5435bc634461fd2",
                "id": "18",
                "recipe": "Cache",
                "package_id": "85c999356992c5713d308db1a4d7bab6bf572f27",
                "prev": null,
                "rrev": "b38ced39a01e31fef5435bc634461fd2",
                "rrev_timestamp": 1700758725.451,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "m4",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "GPL-3.0-only",
                "author": null,
                "description": "GNU M4 is an implementation of the traditional Unix macro processor",
                "homepage": "https://www.gnu.org/software/m4/",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": "1.4.19",
                "topics": [
                    "macro",
                    "preprocessor"
                ],
                "package_type": "application",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.cppstd": "gnu17",
                    "compiler.libcxx": "libstdc++11",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {},
                "options_definitions": {},
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/m4512cc8aabbc4c/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "m4/1.4.19",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "build_type": "Release"
                    }
                },
                "dependencies": {},
                "context": "build",
                "test": false
            },
            "19": {
                "ref": "meson/1.3.2#d1125ba555ec1a94f165a3412fdf7f88",
                "id": "19",
                "recipe": "Cache",
                "package_id": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
                "prev": "3ba677cf44c95996f4f326c668f92f00",
                "rrev": "d1125ba555ec1a94f165a3412fdf7f88",
                "rrev_timestamp": 1708699393.753,
                "prev_timestamp": 1708699927.309,
                "remote": null,
                "binary_remote": "conancenter",
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "meson",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "Apache-2.0",
                "author": null,
                "description": "Meson is a project to create the best possible next-generation build system",
                "homepage": "https://github.com/mesonbuild/meson",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": "1.3.2",
                "topics": [
                    "meson",
                    "mesonbuild",
                    "build-system"
                ],
                "package_type": "application",
                "settings": {},
                "options": {},
                "options_definitions": {},
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/meson664925a500958/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "meson/1.3.2",
                "info": {},
                "dependencies": {
                    "20": {
                        "ref": "ninja/1.11.1",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    }
                },
                "context": "build",
                "test": false
            },
            "20": {
                "ref": "ninja/1.11.1#77587f8c8318662ac8e5a7867eb4be21",
                "id": "20",
                "recipe": "Cache",
                "package_id": "85c999356992c5713d308db1a4d7bab6bf572f27",
                "prev": null,
                "rrev": "77587f8c8318662ac8e5a7867eb4be21",
                "rrev_timestamp": 1684431244.21,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "ninja",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "Apache-2.0",
                "author": null,
                "description": "Ninja is a small build system with a focus on speed",
                "homepage": "https://github.com/ninja-build/ninja",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": "1.11.1",
                "topics": [
                    "ninja",
                    "build"
                ],
                "package_type": "application",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.cppstd": "gnu17",
                    "compiler.libcxx": "libstdc++11",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {},
                "options_definitions": {},
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/ninja19c9f8e277acc/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "ninja/1.11.1",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "build_type": "Release"
                    }
                },
                "dependencies": {},
                "context": "build",
                "test": false
            },
            "21": {
                "ref": "pkgconf/2.1.0#27f44583701117b571307cf5b5fe5605",
                "id": "21",
                "recipe": "Cache",
                "package_id": "a93744abf7ebe27c68ffd5c57b1f7f21ff754b90",
                "prev": null,
                "rrev": "27f44583701117b571307cf5b5fe5605",
                "rrev_timestamp": 1701537936.436,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "pkgconf",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "ISC",
                "author": null,
                "description": "package compiler and linker metadata toolkit",
                "homepage": "https://git.sr.ht/~kaniini/pkgconf",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": {
                    "shared": false,
                    "fPIC": true,
                    "enable_lib": false
                },
                "options_description": null,
                "version": "2.1.0",
                "topics": [
                    "build",
                    "configuration"
                ],
                "package_type": "unknown",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {
                    "enable_lib": "False"
                },
                "options_definitions": {
                    "enable_lib": [
                        "True",
                        "False"
                    ]
                },
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/pkgco39164e4b4e12d/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "pkgconf/2.1.0",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "build_type": "Release"
                    },
                    "options": {
                        "enable_lib": "False"
                    }
                },
                "dependencies": {
                    "22": {
                        "ref": "meson/1.2.2",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    },
                    "23": {
                        "ref": "ninja/1.11.1",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": false,
                        "build": true,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": false
                    }
                },
                "context": "build",
                "test": false
            },
            "22": {
                "ref": "meson/1.2.2#04bdfb85d665c82b08a3510aee3ffd19",
                "id": "22",
                "recipe": "Cache",
                "package_id": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
                "prev": "97f4a23dd2d942f83e5344b1ca496ce7",
                "rrev": "04bdfb85d665c82b08a3510aee3ffd19",
                "rrev_timestamp": 1702568761.764,
                "prev_timestamp": 1702572748.354,
                "remote": null,
                "binary_remote": "conancenter",
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "meson",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "Apache-2.0",
                "author": null,
                "description": "Meson is a project to create the best possible next-generation build system",
                "homepage": "https://github.com/mesonbuild/meson",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": "1.2.2",
                "topics": [
                    "meson",
                    "mesonbuild",
                    "build-system"
                ],
                "package_type": "application",
                "settings": {},
                "options": {},
                "options_definitions": {},
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/meson9aba974547f5b/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "meson/1.2.2",
                "info": {},
                "dependencies": {
                    "23": {
                        "ref": "ninja/1.11.1",
                        "run": true,
                        "libs": false,
                        "skip": false,
                        "test": false,
                        "force": false,
                        "direct": true,
                        "build": false,
                        "transitive_headers": null,
                        "transitive_libs": null,
                        "headers": false,
                        "package_id_mode": null,
                        "visible": true
                    }
                },
                "context": "build",
                "test": false
            },
            "23": {
                "ref": "ninja/1.11.1#77587f8c8318662ac8e5a7867eb4be21",
                "id": "23",
                "recipe": "Cache",
                "package_id": "85c999356992c5713d308db1a4d7bab6bf572f27",
                "prev": null,
                "rrev": "77587f8c8318662ac8e5a7867eb4be21",
                "rrev_timestamp": 1684431244.21,
                "prev_timestamp": null,
                "remote": null,
                "binary_remote": null,
                "build_id": null,
                "binary": "Skip",
                "invalid_build": false,
                "info_invalid": null,
                "name": "ninja",
                "user": null,
                "channel": null,
                "url": "https://github.com/conan-io/conan-center-index",
                "license": "Apache-2.0",
                "author": null,
                "description": "Ninja is a small build system with a focus on speed",
                "homepage": "https://github.com/ninja-build/ninja",
                "build_policy": null,
                "upload_policy": null,
                "revision_mode": "hash",
                "provides": null,
                "deprecated": null,
                "win_bash": null,
                "win_bash_run": null,
                "default_options": null,
                "options_description": null,
                "version": "1.11.1",
                "topics": [
                    "ninja",
                    "build"
                ],
                "package_type": "application",
                "settings": {
                    "os": "Linux",
                    "arch": "armv8",
                    "compiler": "gcc",
                    "compiler.cppstd": "gnu17",
                    "compiler.libcxx": "libstdc++11",
                    "compiler.version": "12",
                    "build_type": "Release"
                },
                "options": {},
                "options_definitions": {},
                "generators": [],
                "python_requires": null,
                "system_requires": {},
                "recipe_folder": "/root/.conan2/p/ninja19c9f8e277acc/e",
                "source_folder": null,
                "build_folder": null,
                "generators_folder": null,
                "package_folder": null,
                "cpp_info": {
                    "root": {
                        "includedirs": [
                            "include"
                        ],
                        "srcdirs": null,
                        "libdirs": [
                            "lib"
                        ],
                        "resdirs": null,
                        "bindirs": [
                            "bin"
                        ],
                        "builddirs": null,
                        "frameworkdirs": null,
                        "system_libs": null,
                        "frameworks": null,
                        "libs": null,
                        "defines": null,
                        "cflags": null,
                        "cxxflags": null,
                        "sharedlinkflags": null,
                        "exelinkflags": null,
                        "objects": null,
                        "sysroot": null,
                        "requires": null,
                        "properties": null
                    }
                },
                "conf_info": {},
                "label": "ninja/1.11.1",
                "info": {
                    "settings": {
                        "os": "Linux",
                        "arch": "armv8",
                        "build_type": "Release"
                    }
                },
                "dependencies": {},
                "context": "build",
                "test": false
            }
        },
        "root": {
            "0": "None"
        },
        "overrides": {},
        "resolved_ranges": {},
        "replaced_requires": {},
        "error": null
    }
}

Looks like we can parse cache dir - i do this for licenses in #6329.
We will then need to parse conanfile.txt to detect direct dirs.

But User can use conanfile.py instead of conanfile.txt (https://docs.conan.io/2/reference/conanfile_txt.html).
But if i understand correctly - conanfile.txt is toml file. So parse will not be a problem and we can add parse of it.
@dus7eh Can you share your experience - how often do users use conanfile.txt?

@dus7eh
Copy link
Contributor Author

dus7eh commented Apr 23, 2024

It's hard for me to tell which is the preferred way of working with conan. This depends a lot on a specific usecase. For simple library consumers conanfile.txt would be the way to go. However, if you're trying to perform some builds to diferent targets, apply configuration validation logic, or create a package yourself then you should be picking conanfile.py.
Here's a sample article about the flexability that the py script brings.

Best would be probably to leave handling of the dependency graph to conan itself (via conan graph info -f json . command) not to rewrite the same logic in trivy (graph info). Although, this would put a necessity of having conan as a dependency or put a requirement for the user to have it preinstalled in the env where trivy is used.

@knqyf263
Copy link
Collaborator

Best would be probably to leave handling of the dependency graph to conan itself (via conan graph info -f json . command) not to rewrite the same logic in trivy (graph info). Although, this would put a necessity of having conan as a dependency or put a requirement for the user to have it preinstalled in the env where trivy is used.

We wouldn't go down this way.
https://aquasecurity.github.io/trivy/v0.50/community/principles/#external-dependency-free-single-binary

@DmitriyLewen
Copy link
Contributor

@knqyf263 @dus7eh I did some research, and found some difficulties with parsing cache directory to detect child deps:
It looks like only conanfile.py fileы contain info about child deps:

root@3472c8d16413:/app# grep -r "libiconv" /root/.conan2/p/pulsee2b7eff0be0d2
/root/.conan2/p/pulsee2b7eff0be0d2/e/conanfile.py:        self.requires("libiconv/1.17")
/root/.conan2/p/pulsee2b7eff0be0d2/e/conanfile.py:        self.cpp_info.components["pulse"].requires = ["libiconv::libiconv", "libsndfile::libsndfile", "libgettext::libgettext"]

conanfile.py contains child deps in requires field.
But conanfile.py is Python file. So we can see:

@knqyf263
Copy link
Collaborator

@DmitriyLewen So, do you think it's hard to support the dependency graph for Conan v2 lock files? If so, we can merge this PR and work on the dependency graph later.

@DmitriyLewen
Copy link
Contributor

If so, we can merge this PR and work on the dependency graph later.

let's do this because it looks like it can't be done using Go 😞

dus7eh and others added 3 commits April 25, 2024 10:43
@dus7eh
Copy link
Contributor Author

dus7eh commented Apr 29, 2024

@DmitriyLewen So, do you think it's hard to support the dependency graph for Conan v2 lock files? If so, we can merge this PR and work on the dependency graph later.

I'm all for that if I have anything to say :) Graph can be dealt with independently giving some basic support to conan v2 sooner than later.

@knqyf263 knqyf263 added this pull request to the merge queue Apr 29, 2024
@knqyf263
Copy link
Collaborator

Thank you guys!

Merged via the queue into aquasecurity:main with commit 29b8faf Apr 29, 2024
17 checks passed
fl0pp5 pushed a commit to altlinux/trivy that referenced this pull request May 6, 2024
Co-authored-by: Teppei Fukuda <knqyf263@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(c): conan 2.x lockfile support
3 participants