{"SPDXID": "SPDXRef-DOCUMENT", "creationInfo": {"comment": "This document was created by analyzing recipe files during the build.", "created": "2025-07-31T21:08:50Z", "creators": ["Tool: OpenEmbedded Core create-spdx.bbclass", "Organization: OpenEmbedded ()", "Person: N/A ()"], "licenseListVersion": "3.14"}, "dataLicense": "CC0-1.0", "documentNamespace": "http://spdx.org/spdxdocs/recipe-libffi-e07aad0a-60d0-5af2-87c1-57fff6c9f659", "externalDocumentRefs": [{"checksum": {"algorithm": "SHA1", "checksumValue": "79d7780e5d01e82f7af8e9f4a135e1e2c0633e6e"}, "externalDocumentId": "DocumentRef-dependency-recipe-autoconf-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-autoconf-native-124e4a29-7bee-575a-9a44-2226fa6af9c9"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "ac315b6f57282e4c31c7e7de77dc131c1b856a31"}, "externalDocumentId": "DocumentRef-dependency-recipe-automake-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-automake-native-e3046935-37af-5c2e-b371-e883e5ef1216"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "53f229048b389c3c0882cc4b396fc55b1d85ebb6"}, "externalDocumentId": "DocumentRef-dependency-recipe-gcc-cross-aarch64", "spdxDocument": "http://spdx.org/spdxdocs/recipe-gcc-cross-aarch64-e05122e2-842a-5b45-a068-7a450933ae13"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "eccd4942007d46e9e04f05d2f3346c95f205c4b0"}, "externalDocumentId": "DocumentRef-dependency-recipe-gcc-runtime", "spdxDocument": "http://spdx.org/spdxdocs/recipe-gcc-runtime-a8177036-816d-5f00-a030-969647302050"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "7d3f95c3fc36623ff116498315c67e98e5dde752"}, "externalDocumentId": "DocumentRef-dependency-recipe-glibc", "spdxDocument": "http://spdx.org/spdxdocs/recipe-glibc-8ec5f1d4-204b-530d-8854-79bbb314d6d7"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "e7a5e6cd30f284b377134f5759813bebad61298d"}, "externalDocumentId": "DocumentRef-dependency-recipe-libtool-cross", "spdxDocument": "http://spdx.org/spdxdocs/recipe-libtool-cross-07500b21-b619-56d3-838e-16ca401a612f"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "8cbef6e873e0feeffa7910a5a4a8e3564fc83441"}, "externalDocumentId": "DocumentRef-dependency-recipe-libtool-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-libtool-native-af5e5210-5bed-5317-878d-15206849f191"}, {"checksum": {"algorithm": "SHA1", "checksumValue": "4fd67275b9f866a95032f70a96b72575a69afc6a"}, "externalDocumentId": "DocumentRef-dependency-recipe-texinfo-dummy-native", "spdxDocument": "http://spdx.org/spdxdocs/recipe-texinfo-dummy-native-cb9012ff-d8d8-5775-98c1-f58ed5fb9573"}], "name": "recipe-libffi", "packages": [{"SPDXID": "SPDXRef-Recipe-libffi", "copyrightText": "NOASSERTION", "description": "The `libffi' library provides a portable, high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. The `libffi' library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. A layer must exist above `libffi' that handles type conversions for values passed between the two languages.", "downloadLocation": "NOASSERTION", "externalRefs": [{"referenceCategory": "SECURITY", "referenceLocator": "cpe:2.3:*:*:libffi:3.4.6:*:*:*:*:*:*:*", "referenceType": "http://spdx.org/rdf/references/cpe23Type"}], "homepage": "http://sourceware.org/libffi/", "licenseConcluded": "NOASSERTION", "licenseDeclared": "MIT", "licenseInfoFromFiles": ["NOASSERTION"], "name": "libffi", "summary": "A portable foreign function interface library", "supplier": "Organization: OpenEmbedded ()", "versionInfo": "3.4.6"}, {"SPDXID": "SPDXRef-Download-libffi-1", "checksums": [{"algorithm": "SHA256", "checksumValue": "b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e"}], "copyrightText": "NOASSERTION", "downloadLocation": "https://github.com/libffi/libffi/releases//download/v3.4.6/libffi-3.4.6.tar.gz", "licenseConcluded": "NOASSERTION", "licenseDeclared": "NOASSERTION", "licenseInfoFromFiles": ["NOASSERTION"], "name": "libffi-source-1", "supplier": "NOASSERTION"}], "relationships": [{"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "DESCRIBES", "spdxElementId": "SPDXRef-DOCUMENT"}, {"relatedSpdxElement": "SPDXRef-Download-libffi-1", "relationshipType": "DESCRIBES", "spdxElementId": "SPDXRef-DOCUMENT"}, {"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "SPDXRef-Download-libffi-1"}, {"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-autoconf-native:SPDXRef-Recipe-autoconf-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-automake-native:SPDXRef-Recipe-automake-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-gcc-cross-aarch64:SPDXRef-Recipe-gcc-cross-aarch64"}, {"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-gcc-runtime:SPDXRef-Recipe-gcc-runtime"}, {"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-glibc:SPDXRef-Recipe-glibc"}, {"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-libtool-cross:SPDXRef-Recipe-libtool-cross"}, {"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-libtool-native:SPDXRef-Recipe-libtool-native"}, {"relatedSpdxElement": "SPDXRef-Recipe-libffi", "relationshipType": "BUILD_DEPENDENCY_OF", "spdxElementId": "DocumentRef-dependency-recipe-texinfo-dummy-native:SPDXRef-Recipe-texinfo-dummy-native"}], "spdxVersion": "SPDX-2.2"}