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