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
* Depend on correct version of libhybris:
This fixes a very nasty bug where libhybris-9.0 would be
installed as a dependency of xf86-video-hwcomposer even
on Android-7.1-based Halium adaptations.
* Add a patch that fixes crash in xf86-video-hwcomposer
on Andoird-7.1 ports.
Signed-off-by: Danct12 <danct12@disroot.org>
There were some API changes:
- 878ef44079
- 6665b466d2
Leading to error at run time:
Error relocating /usr/lib/pulse-13.0/modules/libdroid-sink.so: pa_make_realtime: symbol not found
Error relocating /usr/lib/pulse-13.0/modules/libdroid-source.so: pa_make_realtime: symbol not found
Error relocating /usr/lib/pulse-13.0/modules/libdroid-source.so: pa_source_get_state: symbol not found
Fixes are:
- include <pulse/util.h>, replace pa_make_realtime -> pa_thread_make_realtime
- replace pa_source_get_state(X) -> X->state
- replace pa_sink_get_state(X) -> X->state
[ci:skip-build]: already built successfully in CI
Pulseaudio was updated to 13.0, reflect this in APKBUILDs.
Looks like Mer project did not release pulseaudio-modules-droid
for 13.0, so update it to 12.2.79.
Fixes#363
It should not directly call functions from hybris's libEGL,
because it is not linking to libEGL. Load libEGL dynamically
and resolve function at run time instead.
Related: https://github.com/libhybris/libhybris/pull/424
[ci:skip-build]: already built successfully in CI
Essentially needed for packaging pulseaudio-modules-droid.
This package is basically a set of headers taken from
original pulseaudio tarball and one hand-made pkg-config file.
All versions listed in this package and in pulsecore.pc should
match pulseaudio's MAJOR.MINOR version, otherwise everything
will break. All library paths listed in pulsecore.pc should
match pulseaudio paths, too. Because library itself is built
and installed by pulseaudio package (pulseaudio-dev).
For motivation behind this see:
9316d7ba94
TL;DR pulsecore is an internal pulseaudio library needed to build
pulseaudio's own modules, not meant to be used py pulseaudio clients.
It is not exported since pulseaudio-8. We fake an "export"
of this library, since we need it to build an out-of-tree module.
Meta package to install all needed packages to get libhybris hardware
adaptation working.
Has 2 subpackages (caf/generic), that device packages can depend on.
Arches are limited, because libhybris cannot be built for x86_64.
[ci:skip-build]: already built successfully in CI
The config file for container from Halium repo is outdated, and will not
load on latest version of LXC, here is the error when you start the container:
postmarketos:~$ sudo lxc-start android
lxc-start: android: confile.c: parse_line: 2447 Unknown configuration key "lxc.rootfs"
lxc-start: android: parse.c: lxc_file_for_each_line_mmap: 142 Failed to parse config file "/var/lib/lxc/android/config" at line "lxc.rootfs = /var/lib/lxc/android/rootfs"
Failed to load config for android
lxc-start: android: tools/lxc_start.c: main: 264 Failed to create lxc_container
postmarketos:~$
This pull request updates the config file, but also use the latest
commit.
As observed on UBPorts, hwcomposer implementation on Android 7 CAF (non-Nexus
Qualcomm) devices has slight differences in employed structs, which makes
them binary incompatible with AOSP headers.
Halium 7.1 android-headers extracted from LineageOS include those
modifications (e. g. https://github.com/Halium/android-headers/blob/halium-7.1/hardware/hwcomposer.h#L290),
so it is enough to add QTI_BSP/QCOM_BSP to defines of programs utilizing
those headers. In case of libhybris, only test_hwcomposer is affected so
far on 7.1 (might be not true for Android 5.1/6!).
This change avoids providing libhybris-7.1-caf package by building a
separate binary of test_hwcomposer for affected devices.
As discussed in #1039, I want to split feature/hybris branch into
smaller sensible pull requests.
This is the first one that simply adds android-headers and libhybris
packaging. libhybris allows apps compiled with glibc (musl in our case)
to load Android libraries that utilize bionic libc, which is used to
load proprietary userspace drivers.
The package isn't very useful on its own and requires core (non-UI/Java)
Android services to be running in some way - either in Halium-style LXC
container or in same root as main OS with modified init (Mer/Sailfish do
it this way). Both ways are tested to work in postmarketOS.
libhybris also includes some tests, not all of them are known to be
representative, but test_vibrator and test_egl_configs are usually good
indicators if system is set up correctly.