PKGBUILDs/alarm/imx-gpu-viv/PKGBUILD
2016-03-25 02:52:53 -06:00

200 lines
6.6 KiB
Bash

# Maintainer: RaumZeit <raumzeit@gmx.net>
# Contributor: pepedog at archlinuxarm dot com
# Contributor: Oleg Rakhmanov <oleg [at] archlinuxarm [dot] org>
buildarch=4
pkgbase=imx-gpu-viv
pkgver=5.0.11.p4.5
pkgrel=1
pkgdesc="Freescale proprietary Vivante GPU drivers for i.MX6 Quad SoC"
# filesystem prefix for the include files and license
_install_prefix=/opt/fsl
# filesystem prefix for the libraries
_install_exec_prefix=/opt/fsl
# filesystem prefix for the samples
_install_samples_prefix=/opt/fsl
url="https://community.freescale.com/docs/DOC-95560"
arch=('armv7h')
license=('proprietary')
source=("http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/${pkgbase}-${pkgver}-hfp.bin"
"98-galcore.rules"
"egl.pc"
"egl_x11.pc"
"gc_wayland_protocol.pc"
"glesv1_cm.pc"
"glesv1_cm_x11.pc"
"glesv2.pc"
"glesv2_x11.pc"
"vg.pc"
"vg_x11.pc"
"wayland-egl.pc"
"wayland-viv.pc"
"directfbrc")
md5sums=('8314408acb6b3bc58fcbbb8a0f48b54b'
'ab0afbd747e802f0bc95d31494d3b559'
'd56637776b8fa659d7b84f45d006dad2'
'24ea66e2601cd3a1729c16e7e4052425'
'9a815a054d9a2b94e78addd816fbb8a8'
'16055b2e429354d117b9ea5c9d9b29d2'
'7ce072e28e78fe9c67cb45d8ef447d85'
'45982ac2514c8eb08105f8af427ce5eb'
'7bb4eb0db280e9159726adafc8f95d31'
'101994c11d92ff4bcd86ea25f3afa0f0'
'36962675b16862e33f6d250865b0d6ba'
'9e0ce33723aac9e9829a9322e38f6e32'
'8994b882eaad8ee95ccb759505bdcf58'
'7e56b987de6a243023c3313c36df57c5')
prepare() {
cd "${srcdir}"
sh ${pkgbase}-${pkgver}-hfp.bin --force --auto-accept
sed -n '/EOEULA/,/EOEULA/p' ${pkgbase}-${pkgver}-hfp.bin | grep -v EOEULA > LICENSE.$pkgbase
# adopt the prefix and exec_prefix variables in .pc files
sed -i 's#^prefix=/usr#prefix='${_install_prefix}'#' *.pc
sed -i 's#^exec_prefix=/usr#exec_prefix='${_install_exec_prefix}'#' *.pc
}
_package_common() {
provides=('imx-gpu-viv=5.0.11.p4' 'libgl')
conflicts=('gpu-viv-bin-mx6q' 'mesa-libgl')
cd "${pkgbase}-${pkgver}-hfp/gpu-core"
mkdir -p "${pkgdir}${_install_prefix}/include" "${pkgdir}${_install_exec_prefix}/lib"
cp -r usr/include/* "${pkgdir}${_install_prefix}/include"
cd usr/lib
cp -r libCLC* libVDK* libVSC* *GLES* libGL.* libGAL* libGLSLC* libOpenCL* libOpenVG.?d.so* "${pkgdir}${_install_exec_prefix}/lib"
mkdir -p "${pkgdir}${_install_prefix}/licenses"
cp "${srcdir}/LICENSE.$pkgbase" "$pkgdir${_install_prefix}/licenses"
mkdir -p "${pkgdir}/etc/ld.so.conf.d"
echo "${_install_prefix}/lib" > "${pkgdir}/etc/ld.so.conf.d/$pkgbase.conf"
install -D -m0644 "${srcdir}/98-galcore.rules" "${pkgdir}/usr/lib/udev/rules.d/98-galcore.rules"
}
_package_common_post() {
cd "${pkgdir}${_install_exec_prefix}/lib/"
mv libGL.so.1.2 libGL.so.1.2.0
ln -sf libGL.so.1.2.0 libGL.so.1.2
ln -sf libGL.so.1.2.0 libGL.so
mv libEGL-${backend}.so libEGL.so.1.0
ln -sf libEGL.so.1.0 libEGL.so.1
ln -sf libEGL.so.1.0 libEGL.so
mv libGAL-${backend}.so libGAL.so
if [ ${backend} != x11 ]; then
mv libGAL_egl.${backend}.so libGAL_egl.so
fi
mv libVIVANTE-${backend}.so libVIVANTE.so
mv libGLESv2-${backend}.so libGLESv2.so.2.0.0
ln -sf libGLESv2.so.2.0.0 libGLESv2.so.2
ln -sf libGLESv2.so.2.0.0 libGLESv2.so
ln -sf libOpenVG.3d.so libOpenVG.so
for backend in wl x11 fb dfb; do
find "${pkgdir}${_install_exec_prefix}/lib/" -name "*${backend}.so" -exec rm '{}' ';'
done
find "${pkgdir}${_install_exec_prefix}/lib/" -type f -exec chmod 644 {} \;
find "${pkgdir}${_install_prefix}/include/" -type f -exec chmod 644 {} \;
}
package_imx-gpu-viv-fb() {
replaces=('gpu-viv-bin-mx6q-fb')
backend=fb
_package_common
cp -r *-fb* "${pkgdir}${_install_exec_prefix}/lib"
install -d "${pkgdir}/usr/lib/pkgconfig"
install -m0644 "${srcdir}/egl.pc" "${pkgdir}/usr/lib/pkgconfig/egl.pc"
install -m0644 "${srcdir}/glesv1_cm.pc" "${pkgdir}/usr/lib/pkgconfig/glesv1_cm.pc"
install -m0644 "${srcdir}/glesv2.pc" "${pkgdir}/usr/lib/pkgconfig/glesv2.pc"
install -m0644 "${srcdir}/vg.pc" "${pkgdir}/usr/lib/pkgconfig/vg.pc"
_package_common_post
}
package_imx-gpu-viv-x11() {
replaces=('gpu-viv-bin-mx6q-x11')
backend=x11
_package_common
cp -r dri "${pkgdir}${_install_exec_prefix}/lib"
cp -r *-x11* "${pkgdir}${_install_exec_prefix}/lib"
install -d "${pkgdir}/usr/lib/pkgconfig"
install -m0644 "${srcdir}/egl_x11.pc" "${pkgdir}/usr/lib/pkgconfig/egl.pc"
install -m0644 "${srcdir}/glesv1_cm_x11.pc" "${pkgdir}/usr/lib/pkgconfig/glesv1_cm.pc"
install -m0644 "${srcdir}/glesv2_x11.pc" "${pkgdir}/usr/lib/pkgconfig/glesv2.pc"
install -m0644 "${srcdir}/vg_x11.pc" "${pkgdir}/usr/lib/pkgconfig/vg.pc"
#
_package_common_post
}
package_imx-gpu-viv-wl() {
replaces=('gpu-viv-bin-mx6q-wl')
backend=wl
_package_common
cp -r *-wl* "${pkgdir}${_install_exec_prefix}/lib"
cp -r *wayland* "${pkgdir}${_install_exec_prefix}/lib"
install -d "${pkgdir}/usr/lib/pkgconfig"
install -m0644 "${srcdir}/egl_x11.pc" "${pkgdir}/usr/lib/pkgconfig/egl.pc"
install -m0644 "${srcdir}/glesv1_cm_x11.pc" "${pkgdir}/usr/lib/pkgconfig/glesv1_cm.pc"
install -m0644 "${srcdir}/glesv2_x11.pc" "${pkgdir}/usr/lib/pkgconfig/glesv2.pc"
install -m0644 "${srcdir}/vg_x11.pc" "${pkgdir}/usr/lib/pkgconfig/vg.pc"
install -m0644 "${srcdir}/gc_wayland_protocol.pc" "${pkgdir}/usr/lib/pkgconfig/gc_wayland_protocol.pc"
install -m0644 "${srcdir}/wayland-egl.pc" "${pkgdir}/usr/lib/pkgconfig/wayland-egl.pc"
install -m0644 "${srcdir}/wayland-viv.pc" "${pkgdir}/usr/lib/pkgconfig/wayland-viv.pc"
_package_common_post
}
package_imx-gpu-viv-dfb() {
replaces=('gpu-viv-bin-mx6q-dfb')
backend=dfb
_package_common
cp -r *-dfb* directfb* "${pkgdir}${_install_exec_prefix}/lib"
install -d "${pkgdir}/etc"
install -m0644 "${srcdir}/directfbrc" "${pkgdir}/etc/directfbrc"
_package_common_post
}
package_imx-gpu-viv-g2d() {
replaces=('gpu-viv-g2d')
cd "${pkgbase}-${pkgver}-hfp/g2d"
mkdir -p "${pkgdir}${_install_prefix}/include" "${pkgdir}${_install_exec_prefix}/lib"
cp -r usr/include/* "${pkgdir}${_install_prefix}/include"
cp -r usr/lib/* "${pkgdir}${_install_prefix}/lib"
mkdir -p "${pkgdir}${_install_prefix}/licenses"
mkdir -p "${pkgdir}/etc/ld.so.conf.d"
echo "${_install_prefix}/lib" > "${pkgdir}/etc/ld.so.conf.d/$pkgname.conf"
}
package_imx-gpu-viv-samples() {
replaces=('gpu-viv-bin-mx6q-samples')
cd "${pkgbase}-${pkgver}-hfp/gpu-demos"
mkdir -p "${pkgdir}${_install_samples_prefix}/viv_samples"
cp -r opt/viv_samples/* "${pkgdir}${_install_samples_prefix}/viv_samples"
}
pkgname=("${pkgbase}-x11" "${pkgbase}-fb" "${pkgbase}-dfb" "${pkgbase}-wl" "${pkgbase}-g2d" "${pkgbase}-samples")
# vim:set ts=2 sw=2 et: