summaryrefslogtreecommitdiffstats
path: root/common/recipes-graphics
diff options
context:
space:
mode:
authorNitin A Kamble <nitin.a.kamble@intel.com>2013-01-22 15:36:46 -0800
committerTom Zanussi <tom.zanussi@intel.com>2013-01-23 14:04:50 -0600
commit0b2a42bab3cc720d3b787b17d21d172d67b4a751 (patch)
treee3b3a510d45d45d975d39aa02563a6bccad55c57 /common/recipes-graphics
parente3155c34af5539f8fa737bb1eee0ebc20eadf762 (diff)
downloadmeta-intel-0b2a42bab3cc720d3b787b17d21d172d67b4a751.tar.gz
emgd-1.16: create a new recipe
Create a new recipe for the latest emgd 1.16 version of the graphics driver. Also add the custom license files of the recipe to avoid build time QA warnings. There are strange characters in the license files, because they are copied verbatim from the sources. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Acked-by: Darren Hart <dvhart@linux.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.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"