# Maintainer: RaumZeit # Contributor: pepedog at archlinuxarm dot com # Contributor: Oleg Rakhmanov 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: