diff options
| author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2013-06-27 13:33:26 -0700 |
|---|---|---|
| committer | Tom Zanussi <tom.zanussi@intel.com> | 2013-07-19 13:41:01 -0500 |
| commit | 988b94de35d3bbb11ad527ace2739b8bd942fc00 (patch) | |
| tree | 1fc7bb8703ee2b40b2e40f84feddb82b3d8eba61 /common/recipes-graphics | |
| parent | 32a8205cebd5dbd65847c63721dc5df70c4d1c35 (diff) | |
| download | meta-intel-988b94de35d3bbb11ad527ace2739b8bd942fc00.tar.gz | |
emgd-driver-bin-1.18: new recipe
Creating version 1.18 of the emgd recipe for the recently released EMGD
driver.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Diffstat (limited to 'common/recipes-graphics')
| -rw-r--r-- | common/recipes-graphics/xorg-driver/emgd-driver-bin_1.18.bb | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/common/recipes-graphics/xorg-driver/emgd-driver-bin_1.18.bb b/common/recipes-graphics/xorg-driver/emgd-driver-bin_1.18.bb new file mode 100644 index 00000000..705b1203 --- /dev/null +++ b/common/recipes-graphics/xorg-driver/emgd-driver-bin_1.18.bb | |||
| @@ -0,0 +1,173 @@ | |||
| 1 | SUMMARY = "EMGD 1.18 xserver binaries" | ||
| 2 | DESCRIPTION = "EMGD 1.18 includes some userspace binaries that use non-free \ | ||
| 3 | licensing, which are now available via a non-click-through downloadable \ | ||
| 4 | tarball, and is what this recipe now uses. Since it is a non-free license, \ | ||
| 5 | this recipe is marked as 'License_emgd-driver-bin_1.18' and you need to add \ | ||
| 6 | to LICENSE_FLAGS_WHITELIST += \"license_emgd-driver-bin_1.18\" to your \ | ||
| 7 | local.conf in order to enable it in a build." | ||
| 8 | LICENSE = "Intel-software-license-emgd-1.18 & Intel-user-space-graphics-driver-binary-license-emgd-1.18" | ||
| 9 | LICENSE_FLAGS = "license_${PN}_${PV}" | ||
| 10 | PR = "r0" | ||
| 11 | |||
| 12 | EMGD_LIC_DIR = "IEMGD_HEAD_Linux/License" | ||
| 13 | EMGD_RPM_DIR = "IEMGD_HEAD_Linux/MeeGo1.2" | ||
| 14 | EMGD_VIDEO_PLUGIN_DIR = "../common/video_plugin" | ||
| 15 | |||
| 16 | LIC_FILES_CHKSUM = "file://${WORKDIR}/${EMGD_LIC_DIR}/License.txt;md5=7ce256e6a32a208bb3e509ef8febc6e4 \ | ||
| 17 | file://${WORKDIR}/${EMGD_LIC_DIR}/readme.txt;md5=73cbec7a0d2bc22faf567238e055bfc8" | ||
| 18 | |||
| 19 | DEPENDS = "rpm-native xz-native" | ||
| 20 | RDEPENDS_${PN} = "libxcb-dri2 cairo" | ||
| 21 | |||
| 22 | # Add the ABI dependency at package generation time, as otherwise bitbake will | ||
| 23 | # attempt to find a provider for it (and fail) when it does the parse. | ||
| 24 | # | ||
| 25 | # This version *must* be kept correct. | ||
| 26 | python populate_packages_prepend() { | ||
| 27 | pn = d.getVar("PN", True) | ||
| 28 | d.appendVar("RDEPENDS_" + pn, " xorg-abi-video-8") | ||
| 29 | } | ||
| 30 | |||
| 31 | SRC_URI = "http://downloadmirror.intel.com/22865/eng/LIN_IEMGD_1_18_GOLD_3398.tgz \ | ||
| 32 | file://egl.pc \ | ||
| 33 | file://gles_cm.pc \ | ||
| 34 | file://glesv2.pc \ | ||
| 35 | " | ||
| 36 | |||
| 37 | SRC_URI[md5sum] = "a165c397866d3fb70ddab318c834e49a" | ||
| 38 | SRC_URI[sha256sum] = "2d709deecda595983b0d8f1d3c7bd0b4d5c79ae665c621b3b9b11c366b34873f" | ||
| 39 | |||
| 40 | # make sure generated rpm packages get non conflicting names | ||
| 41 | PKG_${PN} = "emgd-driver" | ||
| 42 | PKG_${PN}-dev = "emgd-driver-dev" | ||
| 43 | PKG_${PN}-dbg = "emgd-driver-dbg" | ||
| 44 | PKG_${PN}-doc = "emgd-driver-doc" | ||
| 45 | |||
| 46 | PACKAGES =+ "emgd-libmixcommon emgd-libmixvideo emgd-libmixvbp \ | ||
| 47 | emgd-gst-vabuffer emgd-gst-plugins-mixvideo \ | ||
| 48 | emgd-gst-plugins-va emgd-driver-video" | ||
| 49 | |||
| 50 | # These are closed binaries generated elsewhere so don't check ldflags & text relocations | ||
| 51 | INSANE_SKIP_emgd-driver-video = "ldflags textrel" | ||
| 52 | # Inhibit warnings about files being stripped, we can't do anything about it. | ||
| 53 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
| 54 | |||
| 55 | # Avoid auto renaming of these packages | ||
| 56 | DEBIAN_NOAUTONAME_emgd-libmixcommon = "1" | ||
| 57 | DEBIAN_NOAUTONAME_emgd-libmixvideo = "1" | ||
| 58 | DEBIAN_NOAUTONAME_emgd-libmixvbp = "1" | ||
| 59 | DEBIAN_NOAUTONAME_emgd-gst-vabuffer = "1" | ||
| 60 | |||
| 61 | FILES_emgd-libmixcommon = "${libdir}/libmixcommon.so.0.10.8 ${libdir}/libmixcommon.so.0" | ||
| 62 | FILES_emgd-libmixvideo = "${libdir}/libmixvideo.so.0.10.10 ${libdir}/libmixvideo.so.0" | ||
| 63 | FILES_emgd-libmixvbp = "${libdir}/libmixvbp.so.0.10.9 ${libdir}/libmixvbp.so.0 \ | ||
| 64 | ${libdir}/libmixvbp_h264.so.0.10.9 ${libdir}/libmixvbp_h264.so.0 \ | ||
| 65 | ${libdir}/libmixvbp_mpeg4.so.0.10.9 ${libdir}/libmixvbp_mpeg4.so.0 \ | ||
| 66 | ${libdir}/libmixvbp_vc1.so.0.10.9 ${libdir}/libmixvbp_vc1.so.0 " | ||
| 67 | FILES_emgd-gst-vabuffer = "${libdir}/libgstvabuffer.so.0.10.8 ${libdir}/libgstvabuffer.so.0" | ||
| 68 | FILES_emgd-gst-plugins-mixvideo = "${libdir}/gstreamer-0.10/libgstmixvideoplugin.so" | ||
| 69 | FILES_emgd-gst-plugins-va = "${libdir}/gstreamer-0.10/libgstvaplugin.so" | ||
| 70 | FILES_emgd-driver-video = "${libdir}/dri/emgd_drv_video.so" | ||
| 71 | FILES_${PN} += "${libdir}/dri ${libdir}/xorg/modules/drivers" | ||
| 72 | FILES_${PN}-dbg += "${libdir}/xorg/modules/drivers/.debug ${libdir}/dri/.debug ${libdir}/gstreamer-0.10/.debug" | ||
| 73 | |||
| 74 | S = "${WORKDIR}/${EMGD_RPM_DIR}" | ||
| 75 | |||
| 76 | RPM2CPIO = "${COREBASE}/scripts/rpm2cpio.sh" | ||
| 77 | |||
| 78 | do_install () { | ||
| 79 | # cleanup previous files if any | ||
| 80 | rm -rf usr | ||
| 81 | |||
| 82 | # A gstreamer VA buffer library | ||
| 83 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/gst-vabuffer*.rpm | cpio -id | ||
| 84 | |||
| 85 | # MIX Common contains common classes, datatype, header files used by other MIX components | ||
| 86 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/mixcommon*.rpm | cpio -id | ||
| 87 | |||
| 88 | # MIX Video Bitstream Parser is an user library interface for various video format bitstream parsing | ||
| 89 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/mixvbp*.rpm | cpio -id | ||
| 90 | |||
| 91 | # MIX Video is an user library interface for various video codecs available on the platform. | ||
| 92 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/mixvideo*.rpm | cpio -id | ||
| 93 | |||
| 94 | install -d -m 0755 ${D}${libdir}/gstreamer-0.10 | ||
| 95 | install -m 0755 ${S}/usr/lib/* ${D}${libdir}/ | ||
| 96 | |||
| 97 | # A gstreamer plugin that uses MIX Video for hardware accelerated video decoding and rendering. | ||
| 98 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/gst-plugins-mixvideo*.rpm | cpio -id | ||
| 99 | |||
| 100 | # A collection of gstreamer plugins that uses VA libraries for hardware accelerated video rendering and text overlay. | ||
| 101 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/gst-plugins-va*.rpm | cpio -id | ||
| 102 | |||
| 103 | install -m 0755 ${S}/usr/lib/gstreamer-0.10/* ${D}${libdir}/gstreamer-0.10/ | ||
| 104 | |||
| 105 | # EMGD runtime graphics libraries | ||
| 106 | ${RPM2CPIO} ${S}/emgd-bin*.rpm | cpio -id | ||
| 107 | |||
| 108 | install -d -m 0755 ${D}${libdir}/dri | ||
| 109 | install -d -m 0755 ${D}${libdir}/xorg/modules/drivers | ||
| 110 | install -d -m 0755 ${D}${sysconfdir} | ||
| 111 | install -d -m 0755 ${D}${mandir}/man4 | ||
| 112 | install -m 0755 ${S}/usr/lib/*.so.* ${D}${libdir}/ | ||
| 113 | install -m 0755 ${S}/usr/lib/dri/* ${D}${libdir}/dri/ | ||
| 114 | install -m 0755 ${S}/usr/lib/xorg/modules/drivers/* ${D}${libdir}/xorg/modules/drivers/ | ||
| 115 | install -m 0755 ${S}/etc/* ${D}${sysconfdir}/ | ||
| 116 | install -m 0755 ${S}/usr/share/man/man4/* ${D}${mandir}/man4/ | ||
| 117 | |||
| 118 | # Khronos development headers needed for EGL, OpenGL-ES, and OpenVG development | ||
| 119 | ${RPM2CPIO} ${S}/emgd-devel*.rpm | cpio -id | ||
| 120 | |||
| 121 | install -d -m 0755 ${D}${includedir}/EGL | ||
| 122 | install -m 0755 ${S}/usr/include/EGL/*.h ${D}${includedir}/EGL/ | ||
| 123 | install -d -m 0755 ${D}${includedir}/GLES | ||
| 124 | install -m 0755 ${S}/usr/include/GLES/*.h ${D}${includedir}/GLES/ | ||
| 125 | install -d -m 0755 ${D}${includedir}/GLES2 | ||
| 126 | install -m 0755 ${S}/usr/include/GLES2/*.h ${D}${includedir}/GLES2/ | ||
| 127 | install -d -m 0755 ${D}${includedir}/KHR | ||
| 128 | install -m 0755 ${S}/usr/include/KHR/*.h ${D}${includedir}/KHR/ | ||
| 129 | install -d -m 0755 ${D}${includedir}/VG | ||
| 130 | install -m 0755 ${S}/usr/include/VG/*.h ${D}${includedir}/VG/ | ||
| 131 | |||
| 132 | EMGD_SNAPSHOT="1.5.15.3226" | ||
| 133 | ln -sf libEGL.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEGL.so.1 | ||
| 134 | ln -sf libEGL.so.1 ${D}${libdir}/libEGL.so | ||
| 135 | ln -sf libGLES_CM.so.${EMGD_SNAPSHOT} ${D}${libdir}/libGLES_CM.so.1 | ||
| 136 | ln -sf libGLES_CM.so.1 ${D}${libdir}/libGLES_CM.so | ||
| 137 | ln -sf libGLESv2.so.${EMGD_SNAPSHOT} ${D}${libdir}/libGLESv2.so.2 | ||
| 138 | ln -sf libGLESv2.so.2 ${D}${libdir}/libGLESv2.so | ||
| 139 | ln -sf libOpenVG.so.${EMGD_SNAPSHOT} ${D}${libdir}/libOpenVG.so.1 | ||
| 140 | ln -sf libOpenVG.so.1 ${D}${libdir}/libOpenVG.so | ||
| 141 | ln -sf libOpenVGU.so.${EMGD_SNAPSHOT} ${D}${libdir}/libOpenVGU.so.1 | ||
| 142 | ln -sf libOpenVGU.so.1 ${D}${libdir}/libOpenVGU.so | ||
| 143 | ln -sf libEMGD2d.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEMGD2d.so | ||
| 144 | ln -sf libEMGDegl.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEMGDegl.so | ||
| 145 | ln -sf libemgdglslcompiler.so.${EMGD_SNAPSHOT} ${D}${libdir}/libemgdglslcompiler.so | ||
| 146 | ln -sf libEMGDOGL.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEMGDOGL.so | ||
| 147 | ln -sf libemgdPVR2D_DRIWSEGL.so.${EMGD_SNAPSHOT} ${D}${libdir}/libemgdPVR2D_DRIWSEGL.so | ||
| 148 | ln -sf libEMGDScopeServices.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEMGDScopeServices.so | ||
| 149 | ln -sf libemgdsrv_init.so.${EMGD_SNAPSHOT} ${D}${libdir}/libemgdsrv_init.so | ||
| 150 | ln -sf libemgdsrv_um.so.${EMGD_SNAPSHOT} ${D}${libdir}/libemgdsrv_um.so | ||
| 151 | |||
| 152 | #Replace duplicate files with symlinks | ||
| 153 | rm -f ${D}${libdir}/libmixvideo.so.0 | ||
| 154 | ln -sf libmixvideo.so.0.10.10 ${D}${libdir}/libmixvideo.so.0 | ||
| 155 | rm -f ${D}${libdir}/libmixvbp_h264.so.0 | ||
| 156 | ln -sf libmixvbp_h264.so.0.10.9 ${D}${libdir}/libmixvbp_h264.so.0 | ||
| 157 | rm -f ${D}${libdir}/libmixvbp.so.0 | ||
| 158 | ln -sf libmixvbp.so.0.10.9 ${D}${libdir}/libmixvbp.so.0 | ||
| 159 | rm -f ${D}${libdir}/libmixvbp_vc1.so.0 | ||
| 160 | ln -sf libmixvbp_vc1.so.0.10.9 ${D}${libdir}/libmixvbp_vc1.so.0 | ||
| 161 | rm -f ${D}${libdir}/libmixvbp_mpeg4.so.0 | ||
| 162 | ln -sf libmixvbp_mpeg4.so.0.10.9 ${D}${libdir}/libmixvbp_mpeg4.so.0 | ||
| 163 | rm -f ${D}${libdir}/libmixcommon.so.0 | ||
| 164 | ln -sf libmixcommon.so.0.10.8 ${D}${libdir}/libmixcommon.so.0 | ||
| 165 | rm -f ${D}${libdir}/libgstvabuffer.so.0 | ||
| 166 | ln -sf libgstvabuffer.so.0.10.8 ${D}${libdir}/libgstvabuffer.so.0 | ||
| 167 | |||
| 168 | # Copy the .pc files | ||
| 169 | install -d -m 0755 ${D}${libdir}/pkgconfig | ||
| 170 | install -m 0644 ${WORKDIR}/*.pc ${D}${libdir}/pkgconfig/ | ||
| 171 | } | ||
| 172 | |||
| 173 | LEAD_SONAME = "libEGL.so" | ||
