{"@context":"https://spdx.org/rdf/3.0.1/spdx-context.jsonld","@graph":[{"type":"CreationInfo","@id":"_:CreationInfo0","created":"2011-04-05T23:00:00Z","createdBy":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/agent/OpenEmbedded"],"createdUsing":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/tool/oe-spdx-creator_1_0"],"specVersion":"3.0.1"},{"type":"CreationInfo","@id":"_:CreationInfo1","created":"2011-04-05T23:00:00Z","createdBy":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/agent/OpenEmbedded"],"createdUsing":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/tool/oe-spdx-creator_1_0"],"specVersion":"3.0.1"},{"type":"Organization","spdxId":"http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/agent/OpenEmbedded","creationInfo":"_:CreationInfo0","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias"}],"name":"OpenEmbedded"},{"type":"Tool","spdxId":"http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/tool/oe-spdx-creator_1_0","creationInfo":"_:CreationInfo0","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias"}],"name":"oe-spdx-creator 1.0"},{"type":"SpdxDocument","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/583d39e4f7b7a5a4f29fe84d79acfae83a26923afe49c876c532ac377b643b94/document/static-libffi","profileConformance":["build","core","security","simpleLicensing","software"],"rootElement":["http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/583d39e4f7b7a5a4f29fe84d79acfae83a26923afe49c876c532ac377b643b94/recipe/libffi"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/doc/libffi/static-libffi/libffi/UNIHASH/document/static-libffi","https://rdf.openembedded.org/spdx/3.0/link-name":"1030a654356bdf1ac2e282c7ed9054022d8977b50f08152d007062bd5010949e"}],"name":"static-libffi"},{"type":"software_Package","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/583d39e4f7b7a5a4f29fe84d79acfae83a26923afe49c876c532ac377b643b94/recipe/libffi","software_homePage":"http://sourceware.org/libffi/","software_packageUrl":"pkg:yocto/core/libffi@3.5.2","software_packageVersion":"3.5.2","software_sourceInfo":"{\"FILENAME\":\"libffi_3.5.2.bb\",\"FILE_LAYERNAME\":\"core\"}","software_primaryPurpose":"specification","creationInfo":"_:CreationInfo1","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.","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/1030a654356bdf1ac2e282c7ed9054022d8977b50f08152d007062bd5010949e/libffi/UNIHASH/recipe/libffi"}],"externalIdentifier":[{"type":"ExternalIdentifier","externalIdentifierType":"packageUrl","identifier":"pkg:yocto/core/libffi@3.5.2"},{"type":"ExternalIdentifier","externalIdentifierType":"cpe23","identifier":"cpe:2.3:*:*:libffi:3.5.2:*:*:*:*:*:*:*"}],"name":"libffi","summary":"A portable foreign function interface library"},{"type":"LifecycleScopedRelationship","spdxId":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/583d39e4f7b7a5a4f29fe84d79acfae83a26923afe49c876c532ac377b643b94/relationship/7a6783bdd982ec2a07d0bc10f520a0fc","scope":"build","from":"http://spdx.org/spdxdocs/libffi-ca19a601-2f55-55a5-8304-8a0aefc05528/583d39e4f7b7a5a4f29fe84d79acfae83a26923afe49c876c532ac377b643b94/recipe/libffi","relationshipType":"dependsOn","to":["http://spdxdocs.org/openembedded-alias/by-doc-hash/3f4ed898dc3306ad88161c6cb3f6adb7bd2ffca5a138ac9d0494ff49a1d3999f/libtool-native/UNIHASH/recipe/libtool-native","http://spdxdocs.org/openembedded-alias/by-doc-hash/a1b7df3bb83b28b57ecabfa7ea24af08c8f009cdaf0eddaeda1550e20b8e7aad/gcc-cross-aarch64/UNIHASH/recipe/gcc-cross-aarch64","http://spdxdocs.org/openembedded-alias/by-doc-hash/aa5acc23378acbbd9f17af4a565ec6e8e373aa6406d83cbbc04d76f16bb1cd38/autoconf-native/UNIHASH/recipe/autoconf-native","http://spdxdocs.org/openembedded-alias/by-doc-hash/b5a2a4a9a38ffb24f20728c715209ae74466dee8fbe0aaa285e7616b7a7ba1dd/libtool-cross/UNIHASH/recipe/libtool-cross","http://spdxdocs.org/openembedded-alias/by-doc-hash/c58c168c23f1f2e6fcc9b0baefff221e5e69465f454152fa33c05f569ef3d07a/glibc/UNIHASH/recipe/glibc","http://spdxdocs.org/openembedded-alias/by-doc-hash/df381afb08e75701cf9e6873ff8939f51d2209a4163638204bb1ccc0d0e7d45b/texinfo-dummy-native/UNIHASH/recipe/texinfo-dummy-native","http://spdxdocs.org/openembedded-alias/by-doc-hash/dff718261fe91d9119e4103e013304a7639ec412ef35c10d0dea2927fd7c8051/automake-native/UNIHASH/recipe/automake-native","http://spdxdocs.org/openembedded-alias/by-doc-hash/e566e9d50764647375730ed82582046eed4c1855ce7b3073b557fbef31ccac85/gcc-runtime/UNIHASH/recipe/gcc-runtime"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/1030a654356bdf1ac2e282c7ed9054022d8977b50f08152d007062bd5010949e/libffi/UNIHASH/relationship/7a6783bdd982ec2a07d0bc10f520a0fc"}]}]}