pmaports/hybris/libhybris/APKBUILD
Minecrell a85db1dc7b
*: remove "Contributor:" lines from APKBUILDs (MR 1203)
At the moment we have Contributor: lines on some packages (but not all of them),
but often they don't represent the actual contributors to the package very well.
E.g. when we added them retroactively to the device packages we only added
the initial contributor (which isn't necessarily the person
who made most of the work for a device...)

The Git history is the most representative source for figuring out
who contributed to a package, so there is no reason to duplicate that
into the APKBUILD.

[skip ci]: way too many packages
2020-05-02 21:45:25 +03:00

180 lines
5.9 KiB
Text

# Maintainer: TheKit <nekit1000@gmail.com>
pkgname=libhybris
pkgver=1.0_git20200117
pkgrel=1
arch="armhf armv7 aarch64"
url="https://github.com/libhybris/libhybris"
license="Apache-2.0"
pkgdesc="libhybris allows to use bionic-based HW adaptations"
_commit="605f294d3cdf70e3072b9a3077cd14758a174124"
makedepends="autoconf automake libtool wayland-dev linux-headers bsd-compat-headers
libx11-dev libxcb-dev libxext-dev
android-headers-9.0 android-headers-7.1 android-headers-4.4"
depends_dev="bsd-compat-headers android-headers-9.0"
source="$pkgname-$_commit.tar.gz::https://github.com/libhybris/libhybris/archive/$_commit.tar.gz
0001-Make-libhybris-compile-with-musl.patch
0002-tests-Regression-test-for-EGL-glibc-TLS-conflict.patch
0003-PATCH-v2-Implement-X11-EGL-platform-based-on-wayland.patch
0004-Build-test-hwcomposer-7-caf.patch
"
_base_subpackages="$pkgname-dev
$pkgname-dbg
$pkgname-egl
$pkgname-gles
$pkgname-libwayland-egl:_wayland"
subpackages="$_base_subpackages
$pkgname-9.0:_specific
$pkgname-7.1:_specific
$pkgname-4.4:_specific"
# Override subpackages list for some specific arches
if [ "$CARCH" == "aarch64" ]; then
subpackages="$_base_subpackages $pkgname-9.0:_specific $pkgname-7.1:_specific"
elif [ "$CARCH" == "x86" ]; then
subpackages="$_base_subpackages $pkgname-9.0:_specific $pkgname-7.1:_specific $pkgname-4.4:_specific"
fi
options="!check !strip !tracedeps"
builddir="$srcdir/$pkgname-$_commit"
_tmppkgdir="$srcdir/tmpinstall"
_main_headers_ver=9.0
_bins_specific="test_audio test_camera test_egl_configs test_gps
test_hwcomposer test_hwcomposer_7_caf test_input test_lights test_media test_nfc
test_recorder test_sensors test_sf test_vibrator test_wifi"
_libs_specific="libcamera.so.1.0.0 libhardware.so.2.0.0
libhybris-common.so.1.0.0 libhybris-eglplatformcommon.so.1.0.0
libhybris-hwcomposerwindow.so.1.0.0 libis.so.1.0.0 libmedia.so.1
libmedia.so.1.0.0 libnfc_ndef_nxp.so.1.0.0 libnfc_nxp.so.1.0.0
libsf.so.1.0.0 libsync.so.2.0.0 libui.so.1.0.0 libvibrator.so.1.0.0
libwifi.so.1.0.0
libhybris/eglplatform_fbdev.so libhybris/eglplatform_hwcomposer.so
libhybris/eglplatform_null.so libhybris/eglplatform_wayland.so
libhybris/eglplatform_x11.so"
build() {
cd "$builddir/hybris"
NOCONFIGURE=1 ./autogen.sh
if [ "$CARCH" == "armhf" -o "$CARCH" == "armv7" ]; then
_vers="9.0 7.1 4.4"
_ldpath="/usr/libexec/droid-hybris/system/lib:/vendor/lib:/system/lib"
_arch="arm"
_enable_quirks="--enable-mali-quirks \
--enable-adreno-quirks"
elif [ "$CARCH" == "aarch64" ]; then
_vers="9.0 7.1"
_ldpath="/usr/libexec/droid-hybris/system/lib64:/vendor/lib64:/system/lib64"
_arch="arm64"
_enable_quirks="--enable-mali-quirks \
--enable-adreno-quirks"
elif [ "$CARCH" == "x86" ]; then
_vers="9.0 7.1 4.4"
_ldpath="/usr/libexec/droid-hybris/system/lib:/vendor/lib:/system/lib"
_arch="x86"
fi
for _headers_ver in $_vers; do
msg "building $pkgname-$_headers_ver"
./configure \
--prefix=/usr \
--enable-wayland \
--enable-trace \
--enable-debug \
--enable-experimental \
--with-android-headers=/usr/include/android-$_headers_ver \
--with-default-hybris-ld-library-path=$_ldpath \
--enable-arch=$_arch \
$_enable_quirks \
--enable-property-cache
make clean
make
make DESTDIR="$_tmppkgdir/$pkgname-$_headers_ver" install
done
}
package() {
cd "$builddir/hybris"
# make DESTDIR="$pkgdir" install
mkdir -p "$pkgdir"
cp -a "$_tmppkgdir"/"$pkgname-$_main_headers_ver"/* "$pkgdir"
for _bin in $_bins_specific; do
rm "$pkgdir/usr/bin/$_bin" || true
done
for _lib in $_libs_specific; do
rm "$pkgdir/usr/lib/$_lib"
done
}
_specific() {
depends="$pkgname"
for _bin in $_bins_specific; do
install -Dm755 "$_tmppkgdir/$subpkgname/usr/bin/$_bin" \
"$subpkgdir/usr/bin/$_bin" || true
done
for _lib in $_libs_specific; do
install -Dm755 "$_tmppkgdir/$subpkgname/usr/lib/$_lib" \
"$subpkgdir/usr/lib/$_lib"
done
}
egl() {
depends="$pkgname"
pkgdesc="libhybris libEGL runtime libraries"
install="$subpkgname.post-install"
install -d "$subpkgdir"/usr/lib/libhybris-egl
mv "$pkgdir"/usr/lib/libEGL.so.* \
"$subpkgdir"/usr/lib/libhybris-egl/
}
gles() {
depends="$pkgname"
pkgdesc="libhybris libGLESv2 runtime libraries"
install -d "$subpkgdir"/usr/lib/libhybris-egl
mv "$pkgdir"/usr/lib/libGLES*.so.* \
"$subpkgdir"/usr/lib/libhybris-egl/
}
_wayland() {
depends="$pkgname"
pkgdesc="libhybris libwayland-egl library"
mkdir -p "$subpkgdir"/usr/lib/libhybris-egl
mv "$pkgdir"/usr/lib/libwayland-egl.so.* "$subpkgdir"/usr/lib/libhybris-egl/
}
dev() {
default_dev
# Avoid conflicts with mesa-dev
install -d "$subpkgdir"/usr/lib/libhybris-egl
mv "$subpkgdir"/usr/lib/lib*GL*.so "$subpkgdir"/usr/lib/libhybris-egl
mv "$subpkgdir"/usr/lib/libwayland-egl.so "$subpkgdir"/usr/lib/libhybris-egl
cd "$subpkgdir"/usr/lib/pkgconfig
rm -f egl.pc glesv*.pc wayland-egl.pc
cd "$subpkgdir"/usr/include
# Move libhybris-provided headers into hybris dir
mv CL EGL GLES GLES2 KHR VG hybris
# Symlink eglhybris.h
mkdir -p EGL
cd EGL
ln -s ../hybris/EGL/eglhybris.h .
}
sha512sums="9d4705eab02d0f1cd8c2e9fba39f03a7ea73dd0afebd544cf56343b9d002cdb07cc1fd4ffa44802c610782b32cd94d97b0b33a4fdbb7dd80a090965128d03998 libhybris-605f294d3cdf70e3072b9a3077cd14758a174124.tar.gz
a1b707c9aaa7bde2907d04742d7d582df57949415e1afe16c3b461671421a18643008e19aa006e9e67b9644392ec4e2d58c6de725d2db2df077a49526f2893ce 0001-Make-libhybris-compile-with-musl.patch
64fa516c823859c062d175a51fc86846dc85f4e98989cf12c7cb8c9a13ffffb748f6152543f1a6e22f5fe78eb619880262b3c8ff3b6cbd314241fec16ef2eff5 0002-tests-Regression-test-for-EGL-glibc-TLS-conflict.patch
db7bb0ffc04042b32d870db364df4d38d9769978f26d71f98dd2569b4cae7fb3839c7a0c421b465f931a57fcde38b8eca091b7ae0062e32a7e09b93a701397f3 0003-PATCH-v2-Implement-X11-EGL-platform-based-on-wayland.patch
eda57804fefa1d586e90fb2198c310f65e6dbc7e09b5d1dd7d15df4ab152c4c8915c212230a92c35ec8a013d3ec7a7b1d289653bedb46b7eb2850a477ccebe16 0004-Build-test-hwcomposer-7-caf.patch"