summaryrefslogtreecommitdiffstats
path: root/common/recipes-graphics/xorg-driver/emgd-driver-bin_1.18.bb
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-graphics/xorg-driver/emgd-driver-bin_1.18.bb')
-rw-r--r--common/recipes-graphics/xorg-driver/emgd-driver-bin_1.18.bb173
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 @@
1SUMMARY = "EMGD 1.18 xserver binaries"
2DESCRIPTION = "EMGD 1.18 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.18' and you need to add \
6to LICENSE_FLAGS_WHITELIST += \"license_emgd-driver-bin_1.18\" to your \
7local.conf in order to enable it in a build."
8LICENSE = "Intel-software-license-emgd-1.18 & Intel-user-space-graphics-driver-binary-license-emgd-1.18"
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=7ce256e6a32a208bb3e509ef8febc6e4 \
17 file://${WORKDIR}/${EMGD_LIC_DIR}/readme.txt;md5=73cbec7a0d2bc22faf567238e055bfc8"
18
19DEPENDS = "rpm-native xz-native"
20RDEPENDS_${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.
26python populate_packages_prepend() {
27 pn = d.getVar("PN", True)
28 d.appendVar("RDEPENDS_" + pn, " xorg-abi-video-8")
29}
30
31SRC_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
37SRC_URI[md5sum] = "a165c397866d3fb70ddab318c834e49a"
38SRC_URI[sha256sum] = "2d709deecda595983b0d8f1d3c7bd0b4d5c79ae665c621b3b9b11c366b34873f"
39
40# make sure generated rpm packages get non conflicting names
41PKG_${PN} = "emgd-driver"
42PKG_${PN}-dev = "emgd-driver-dev"
43PKG_${PN}-dbg = "emgd-driver-dbg"
44PKG_${PN}-doc = "emgd-driver-doc"
45
46PACKAGES =+ "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
51INSANE_SKIP_emgd-driver-video = "ldflags textrel"
52# Inhibit warnings about files being stripped, we can't do anything about it.
53INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
54
55# Avoid auto renaming of these packages
56DEBIAN_NOAUTONAME_emgd-libmixcommon = "1"
57DEBIAN_NOAUTONAME_emgd-libmixvideo = "1"
58DEBIAN_NOAUTONAME_emgd-libmixvbp = "1"
59DEBIAN_NOAUTONAME_emgd-gst-vabuffer = "1"
60
61FILES_emgd-libmixcommon = "${libdir}/libmixcommon.so.0.10.8 ${libdir}/libmixcommon.so.0"
62FILES_emgd-libmixvideo = "${libdir}/libmixvideo.so.0.10.10 ${libdir}/libmixvideo.so.0"
63FILES_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 "
67FILES_emgd-gst-vabuffer = "${libdir}/libgstvabuffer.so.0.10.8 ${libdir}/libgstvabuffer.so.0"
68FILES_emgd-gst-plugins-mixvideo = "${libdir}/gstreamer-0.10/libgstmixvideoplugin.so"
69FILES_emgd-gst-plugins-va = "${libdir}/gstreamer-0.10/libgstvaplugin.so"
70FILES_emgd-driver-video = "${libdir}/dri/emgd_drv_video.so"
71FILES_${PN} += "${libdir}/dri ${libdir}/xorg/modules/drivers"
72FILES_${PN}-dbg += "${libdir}/xorg/modules/drivers/.debug ${libdir}/dri/.debug ${libdir}/gstreamer-0.10/.debug"
73
74S = "${WORKDIR}/${EMGD_RPM_DIR}"
75
76RPM2CPIO = "${COREBASE}/scripts/rpm2cpio.sh"
77
78do_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
173LEAD_SONAME = "libEGL.so"