diff options
Diffstat (limited to 'common/recipes-graphics/xorg-driver/emgd-driver-bin_1.16.bb')
-rw-r--r-- | common/recipes-graphics/xorg-driver/emgd-driver-bin_1.16.bb | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/common/recipes-graphics/xorg-driver/emgd-driver-bin_1.16.bb b/common/recipes-graphics/xorg-driver/emgd-driver-bin_1.16.bb new file mode 100644 index 00000000..8f37bfe2 --- /dev/null +++ b/common/recipes-graphics/xorg-driver/emgd-driver-bin_1.16.bb | |||
@@ -0,0 +1,157 @@ | |||
1 | SUMMARY = "EMGD 1.16 xserver binaries" | ||
2 | DESCRIPTION = "EMGD 1.16 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.16' and you need to add \ | ||
6 | to LICENSE_FLAGS_WHITELIST += \"license_emgd-driver-bin_1.16\" to your \ | ||
7 | local.conf in order to enable it in a build." | ||
8 | LICENSE = "Intel-software-license-emgd-1.16 & Intel-user-space-graphics-driver-binary-license-emgd-1.16" | ||
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=b54f01caaf8483b3cb60c0c40f2bf22d \ | ||
17 | file://${WORKDIR}/${EMGD_LIC_DIR}/readme.txt;md5=73cbec7a0d2bc22faf567238e055bfc8" | ||
18 | |||
19 | DEPENDS = "rpm-native xz-native" | ||
20 | RDEPENDS_${PN} = "libxcb-dri2" | ||
21 | |||
22 | SRC_URI = "https://edc.intel.com/App_Shared/Downloads/LIN_IEMGD_1_16_GOLD_3228.tgz" | ||
23 | |||
24 | SRC_URI[md5sum] = "339c902baeac0a5816108bea827b3685" | ||
25 | SRC_URI[sha256sum] = "33ef38b83914ef7d1e12a430ec009352b415b9d5840c9d0db25744b7dc6a2473" | ||
26 | |||
27 | |||
28 | # make sure generated rpm packages get non conflicting names | ||
29 | PKG_${PN} = "emgd-driver" | ||
30 | PKG_${PN}-dev = "emgd-driver-dev" | ||
31 | PKG_${PN}-dbg = "emgd-driver-dbg" | ||
32 | PKG_${PN}-doc = "emgd-driver-doc" | ||
33 | |||
34 | PACKAGES =+ "emgd-libmixcommon emgd-libmixvideo emgd-libmixvbp \ | ||
35 | emgd-gst-vabuffer emgd-gst-plugins-mixvideo \ | ||
36 | emgd-gst-plugins-va emgd-driver-video" | ||
37 | |||
38 | # These are closed binaries generated elsewhere so don't check ldflags & text relocations | ||
39 | INSANE_SKIP_emgd-driver-video = "ldflags textrel" | ||
40 | # Inhibit warnings about files being stripped, we can't do anything about it. | ||
41 | INHIBIT_PACKAGE_DEBUG_SPLIT = "1" | ||
42 | |||
43 | # Avoid auto renaming of these packages | ||
44 | DEBIAN_NOAUTONAME_emgd-libmixcommon = "1" | ||
45 | DEBIAN_NOAUTONAME_emgd-libmixvideo = "1" | ||
46 | DEBIAN_NOAUTONAME_emgd-libmixvbp = "1" | ||
47 | DEBIAN_NOAUTONAME_emgd-gst-vabuffer = "1" | ||
48 | |||
49 | FILES_emgd-libmixcommon = "${libdir}/libmixcommon.so.0.10.8 ${libdir}/libmixcommon.so.0" | ||
50 | FILES_emgd-libmixvideo = "${libdir}/libmixvideo.so.0.10.10 ${libdir}/libmixvideo.so.0" | ||
51 | FILES_emgd-libmixvbp = "${libdir}/libmixvbp.so.0.10.9 ${libdir}/libmixvbp.so.0 \ | ||
52 | ${libdir}/libmixvbp_h264.so.0.10.9 ${libdir}/libmixvbp_h264.so.0 \ | ||
53 | ${libdir}/libmixvbp_mpeg4.so.0.10.9 ${libdir}/libmixvbp_mpeg4.so.0 \ | ||
54 | ${libdir}/libmixvbp_vc1.so.0.10.9 ${libdir}/libmixvbp_vc1.so.0 " | ||
55 | FILES_emgd-gst-vabuffer = "${libdir}/libgstvabuffer.so.0.10.8 ${libdir}/libgstvabuffer.so.0" | ||
56 | FILES_emgd-gst-plugins-mixvideo = "${libdir}/gstreamer-0.10/libgstmixvideoplugin.so" | ||
57 | FILES_emgd-gst-plugins-va = "${libdir}/gstreamer-0.10/libgstvaplugin.so" | ||
58 | FILES_emgd-driver-video = "${libdir}/dri/emgd_drv_video.so" | ||
59 | FILES_${PN} += "${libdir}/dri ${libdir}/xorg/modules/drivers" | ||
60 | FILES_${PN}-dbg += "${libdir}/xorg/modules/drivers/.debug ${libdir}/dri/.debug ${libdir}/gstreamer-0.10/.debug" | ||
61 | |||
62 | S = "${WORKDIR}/${EMGD_RPM_DIR}" | ||
63 | |||
64 | RPM2CPIO = "${COREBASE}/scripts/rpm2cpio.sh" | ||
65 | |||
66 | do_install () { | ||
67 | # cleanup previous files if any | ||
68 | rm -rf usr | ||
69 | |||
70 | # A gstreamer VA buffer library | ||
71 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/gst-vabuffer*.rpm | cpio -id | ||
72 | |||
73 | # MIX Common contains common classes, datatype, header files used by other MIX components | ||
74 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/mixcommon*.rpm | cpio -id | ||
75 | |||
76 | # MIX Video Bitstream Parser is an user library interface for various video format bitstream parsing | ||
77 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/mixvbp*.rpm | cpio -id | ||
78 | |||
79 | # MIX Video is an user library interface for various video codecs available on the platform. | ||
80 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/mixvideo*.rpm | cpio -id | ||
81 | |||
82 | install -d -m 0755 ${D}${libdir}/gstreamer-0.10 | ||
83 | install -m 0755 ${S}/usr/lib/* ${D}${libdir}/ | ||
84 | |||
85 | # A gstreamer plugin that uses MIX Video for hardware accelerated video decoding and rendering. | ||
86 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/gst-plugins-mixvideo*.rpm | cpio -id | ||
87 | |||
88 | # A collection of gstreamer plugins that uses VA libraries for hardware accelerated video rendering and text overlay. | ||
89 | ${RPM2CPIO} ${S}/${EMGD_VIDEO_PLUGIN_DIR}/gst-plugins-va*.rpm | cpio -id | ||
90 | |||
91 | install -m 0755 ${S}/usr/lib/gstreamer-0.10/* ${D}${libdir}/gstreamer-0.10/ | ||
92 | |||
93 | # EMGD runtime graphics libraries | ||
94 | ${RPM2CPIO} ${S}/emgd-bin*.rpm | cpio -id | ||
95 | |||
96 | install -d -m 0755 ${D}${libdir}/dri | ||
97 | install -d -m 0755 ${D}${libdir}/xorg/modules/drivers | ||
98 | install -d -m 0755 ${D}${sysconfdir} | ||
99 | install -d -m 0755 ${D}${mandir}/man4 | ||
100 | install -m 0755 ${S}/usr/lib/*.so.* ${D}${libdir}/ | ||
101 | install -m 0755 ${S}/usr/lib/dri/* ${D}${libdir}/dri/ | ||
102 | install -m 0755 ${S}/usr/lib/xorg/modules/drivers/* ${D}${libdir}/xorg/modules/drivers/ | ||
103 | install -m 0755 ${S}/etc/* ${D}${sysconfdir}/ | ||
104 | install -m 0755 ${S}/usr/share/man/man4/* ${D}${mandir}/man4/ | ||
105 | |||
106 | # Khronos development headers needed for EGL, OpenGL-ES, and OpenVG development | ||
107 | ${RPM2CPIO} ${S}/emgd-devel*.rpm | cpio -id | ||
108 | |||
109 | install -d -m 0755 ${D}${includedir}/EGL | ||
110 | install -m 0755 ${S}/usr/include/EGL/*.h ${D}${includedir}/EGL/ | ||
111 | install -d -m 0755 ${D}${includedir}/GLES | ||
112 | install -m 0755 ${S}/usr/include/GLES/*.h ${D}${includedir}/GLES/ | ||
113 | install -d -m 0755 ${D}${includedir}/GLES2 | ||
114 | install -m 0755 ${S}/usr/include/GLES2/*.h ${D}${includedir}/GLES2/ | ||
115 | install -d -m 0755 ${D}${includedir}/KHR | ||
116 | install -m 0755 ${S}/usr/include/KHR/*.h ${D}${includedir}/KHR/ | ||
117 | install -d -m 0755 ${D}${includedir}/VG | ||
118 | install -m 0755 ${S}/usr/include/VG/*.h ${D}${includedir}/VG/ | ||
119 | |||
120 | EMGD_SNAPSHOT="1.5.15.3226" | ||
121 | ln -sf libEGL.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEGL.so.1 | ||
122 | ln -sf libEGL.so.1 ${D}${libdir}/libEGL.so | ||
123 | ln -sf libGLES_CM.so.${EMGD_SNAPSHOT} ${D}${libdir}/libGLES_CM.so.1 | ||
124 | ln -sf libGLES_CM.so.1 ${D}${libdir}/libGLES_CM.so | ||
125 | ln -sf libGLESv2.so.${EMGD_SNAPSHOT} ${D}${libdir}/libGLESv2.so.2 | ||
126 | ln -sf libGLESv2.so.2 ${D}${libdir}/libGLESv2.so | ||
127 | ln -sf libOpenVG.so.${EMGD_SNAPSHOT} ${D}${libdir}/libOpenVG.so.1 | ||
128 | ln -sf libOpenVG.so.1 ${D}${libdir}/libOpenVG.so | ||
129 | ln -sf libOpenVGU.so.${EMGD_SNAPSHOT} ${D}${libdir}/libOpenVGU.so.1 | ||
130 | ln -sf libOpenVGU.so.1 ${D}${libdir}/libOpenVGU.so | ||
131 | ln -sf libEMGD2d.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEMGD2d.so | ||
132 | ln -sf libEMGDegl.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEMGDegl.so | ||
133 | ln -sf libemgdglslcompiler.so.${EMGD_SNAPSHOT} ${D}${libdir}/libemgdglslcompiler.so | ||
134 | ln -sf libEMGDOGL.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEMGDOGL.so | ||
135 | ln -sf libemgdPVR2D_DRIWSEGL.so.${EMGD_SNAPSHOT} ${D}${libdir}/libemgdPVR2D_DRIWSEGL.so | ||
136 | ln -sf libEMGDScopeServices.so.${EMGD_SNAPSHOT} ${D}${libdir}/libEMGDScopeServices.so | ||
137 | ln -sf libemgdsrv_init.so.${EMGD_SNAPSHOT} ${D}${libdir}/libemgdsrv_init.so | ||
138 | ln -sf libemgdsrv_um.so.${EMGD_SNAPSHOT} ${D}${libdir}/libemgdsrv_um.so | ||
139 | |||
140 | #Replace duplicate files with symlinks | ||
141 | rm -f ${D}${libdir}/libmixvideo.so.0 | ||
142 | ln -sf libmixvideo.so.0.10.10 ${D}${libdir}/libmixvideo.so.0 | ||
143 | rm -f ${D}${libdir}/libmixvbp_h264.so.0 | ||
144 | ln -sf libmixvbp_h264.so.0.10.9 ${D}${libdir}/libmixvbp_h264.so.0 | ||
145 | rm -f ${D}${libdir}/libmixvbp.so.0 | ||
146 | ln -sf libmixvbp.so.0.10.9 ${D}${libdir}/libmixvbp.so.0 | ||
147 | rm -f ${D}${libdir}/libmixvbp_vc1.so.0 | ||
148 | ln -sf libmixvbp_vc1.so.0.10.9 ${D}${libdir}/libmixvbp_vc1.so.0 | ||
149 | rm -f ${D}${libdir}/libmixvbp_mpeg4.so.0 | ||
150 | ln -sf libmixvbp_mpeg4.so.0.10.9 ${D}${libdir}/libmixvbp_mpeg4.so.0 | ||
151 | rm -f ${D}${libdir}/libmixcommon.so.0 | ||
152 | ln -sf libmixcommon.so.0.10.8 ${D}${libdir}/libmixcommon.so.0 | ||
153 | rm -f ${D}${libdir}/libgstvabuffer.so.0 | ||
154 | ln -sf libgstvabuffer.so.0.10.8 ${D}${libdir}/libgstvabuffer.so.0 | ||
155 | } | ||
156 | |||
157 | LEAD_SONAME = "libEGL.so" | ||