diff options
author | mickybart | 2016-06-03 20:31:24 -0400 |
---|---|---|
committer | mickybart | 2016-06-03 20:31:24 -0400 |
commit | 7f837187521d6b401d41b60afb2793685f4e02a5 (patch) | |
tree | b08c5eaf0ed89c9337a08b48df589b8c3738a67b /PKGBUILD | |
download | aur-7f837187521d6b401d41b60afb2793685f4e02a5.tar.gz |
initial: libhybris-ext
libhybris with compatibility support
+ Android 5 support
This package is (at least) used for the GNU/Linux for Android devices project: https://github.com/mickybart/gnulinux_support
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..5c1a97e07059 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,110 @@ +# Maintainer: Michael Serpieri <mickybart@pygoscelis.org> + +pkgbase=libhybris-ext-git +pkgname=('libhybris-ext-git' 'libhybris-ext-libgl-git' 'libhybris-ext-wayland-egl-git') +_pkgbase=libhybris +pkgver=775.4cd30c8 +pkgrel=1 +arch=('armv7h') +url="https://github.com/mickybart/libhybris_ext" +license=('Apache') +makedepends=('wayland') +source=("libhybris::git+https://github.com/mickybart/libhybris_ext") +md5sums=('SKIP') + +pkgver() { + cd "${srcdir}/${_pkgbase}" + echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD) +} + +prepare() { + cd "${_pkgbase}" + +} + +build() { + cd "${srcdir}/${_pkgbase}/hybris" + + ./autogen.sh \ + --prefix=/opt/android/hybris \ + --with-android-headers=/opt/android/include \ + --enable-wayland + make + + # fake installation + mkdir ${srcdir}/fakeinstall + # lib dependency issue: workaround with -j1 + make -j1 DESTDIR="${srcdir}/fakeinstall" install +} + +package_libhybris-ext-git() { + pkgdesc="hybris allows to use bionic-based HW adaptations in glibc systems (ext version)" + depends=('hybris-device') + provides=('libhybris') + conflicts=('libhybris') + + cd "${srcdir}/${_pkgbase}/hybris" + + cp -av ${srcdir}/fakeinstall/* ${pkgdir}/ + + # move pkgconfig to standard path + install -m755 -d "${pkgdir}/usr/lib/" + mv "${pkgdir}/opt/android/hybris/lib/pkgconfig" "${pkgdir}/usr/lib/" + rm -f ${pkgdir}/usr/lib/pkgconfig/{egl,glesv1_cm,glesv2,wayland-egl}.pc + + # create symlink to /usr/lib for every lib except those handle by package libgl, libwayland-egl + find ${pkgdir}/opt/android/hybris/lib/ -type l -exec cp -a {} ${pkgdir}/usr/lib/ \; + for i in $(find ${pkgdir}/opt/android/hybris/lib/ -not -type l -type f); do + ln -s /opt/android/hybris/lib/$(basename $i) ${pkgdir}/usr/lib/ + done + for i in $(find ${pkgdir}/usr/lib/ -name 'libEGL.so*' -or -name 'libGLES*' -or -name 'libwayland-egl.so*'); do + rm -f $i + done +} + +package_libhybris-ext-libgl-git() { + pkgdesc="hybris 3-D graphics library" + depends=('libhybris' 'libhybris-ext-wayland-egl-git' 'mesa-hybris') + provides=('libgl') + replaces=('libgl') + conflicts=('libgl') + + install -m755 -d ${pkgdir}/usr/lib/pkgconfig + cp -av ${srcdir}/fakeinstall/opt/android/hybris/lib/pkgconfig/{egl,glesv1_cm,glesv2}.pc ${pkgdir}/usr/lib/pkgconfig/ + + # WORKAROUND: libGL is not provided by libhybris so we use the one from mesa. + # Of course it will NOT work but we need it for Xwayland used kwin_wayland. + # Xwayland support should be broken and will need some analyze and fix. + ln -s /usr/lib/mesa/libGL.so.1.2.0 ${pkgdir}/usr/lib/libGL.so.1.2.0 + ln -s libGL.so.1.2.0 ${pkgdir}/usr/lib/libGL.so.1 + ln -s libGL.so.1.2.0 ${pkgdir}/usr/lib/libGL.so + + ln -s /opt/android/hybris/lib/libEGL.so.1.0.0 ${pkgdir}/usr/lib/libEGL.so.1.0.0 + ln -s libEGL.so.1.0.0 ${pkgdir}/usr/lib/libEGL.so.1 + ln -s libEGL.so.1.0.0 ${pkgdir}/usr/lib/libEGL.so + + ln -s /opt/android/hybris/lib/libGLESv1_CM.so.1.0.1 ${pkgdir}/usr/lib/libGLESv1_CM.so.1.0.1 + ln -s libGLESv1_CM.so.1.0.1 ${pkgdir}/usr/lib/libGLESv1_CM.so.1 + ln -s libGLESv1_CM.so.1.0.1 ${pkgdir}/usr/lib/libGLESv1_CM.so + + ln -s /opt/android/hybris/lib/libGLESv2.so.2.0.0 ${pkgdir}/usr/lib/libGLESv2.so.2.0.0 + ln -s libGLESv2.so.2.0.0 ${pkgdir}/usr/lib/libGLESv2.so.2 + ln -s libGLESv2.so.2.0.0 ${pkgdir}/usr/lib/libGLESv2.so + +} + +package_libhybris-ext-wayland-egl-git() { + pkgdesc="hybris 3-D wayland library" + depends=('libhybris') + provides=('libwayland-egl') + replaces=('libwayland-egl') + conflicts=('libwayland-egl') + + install -m755 -d ${pkgdir}/usr/lib/pkgconfig + cp ${srcdir}/fakeinstall/opt/android/hybris/lib/pkgconfig/wayland-egl.pc ${pkgdir}/usr/lib/pkgconfig + + ln -s /opt/android/hybris/lib/libwayland-egl.so.1.0.0 ${pkgdir}/usr/lib/libwayland-egl.so.1.0.0 + ln -s libwayland-egl.so.1.0.0 ${pkgdir}/usr/lib/libwayland-egl.so.1 + ln -s libwayland-egl.so.1.0.0 ${pkgdir}/usr/lib/libwayland-egl.so +} + |