From b334362d725cdf46719a90e60107102e04083d27 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Sun, 19 Jan 2020 14:11:03 +0100 Subject: [PATCH] temp/libdrm-grate: build all drivers, not just tegra (!897) At the moment, installing the rootfs for ouya-ouya fails with: ERROR: unsatisfiable constraints: libdrm-grate-2.4.100_git20191221-r0: conflicts: libdrm-2.4.100-r0[libdrm] libdrm-2.4.100-r0[so:libdrm.so.2=2.4.0] libdrm-2.4.100-r0[so:libdrm_tegra.so.0=0.0.0] libdrm-2.4.100-r0[so:libkms.so.1=1.0.0] satisfies: device-ouya-ouya-1-r12[libdrm-grate] libvdpau-tegra-0_git20190315-r0[libdrm-grate] .pmbootstrap-20200110.144341[libdrm-grate] .pmbootstrap-20200110.144341[libdrm] mesa-gl-19.3.2-r0[so:libdrm.so.2] directfb-1.7.7-r1[so:libdrm.so.2] directfb-1.7.7-r1[so:libkms.so.1] mesa-dri-swrast-19.3.2-r0[so:libdrm.so.2] mesa-19.3.2-r0[so:libdrm.so.2] libdrm-2.4.100-r0: conflicts: libdrm-grate-2.4.100_git20191221-r0 libdrm-grate-2.4.100_git20191221-r0[so:libdrm.so.2=2.4.0] libdrm-grate-2.4.100_git20191221-r0[so:libdrm_tegra.so.0=0.0.0] libdrm-grate-2.4.100_git20191221-r0[so:libkms.so.1=1.0.0] satisfies: .pmbootstrap-20200110.144341[libdrm] mesa-gl-19.3.2-r0[so:libdrm.so.2] directfb-1.7.7-r1[so:libdrm.so.2] directfb-1.7.7-r1[so:libkms.so.1] mesa-dri-swrast-19.3.2-r0[so:libdrm.so.2] mesa-dri-swrast-19.3.2-r0[so:libdrm_amdgpu.so.1] mesa-dri-swrast-19.3.2-r0[so:libdrm_nouveau.so.2] mesa-dri-swrast-19.3.2-r0[so:libdrm_radeon.so.1] mesa-19.3.2-r0[so:libdrm.so.2] mesa-19.3.2-r0[so:libdrm_amdgpu.so.1] mesa-19.3.2-r0[so:libdrm_nouveau.so.2] mesa-19.3.2-r0[so:libdrm_radeon.so.1] Looking closer at the error we see that: 1. We want to explicitly install libdrm-grate for device-ouya-ouya. 2. libdrm-grate provides - so:libdrm.so.2=2.4.0 - so:libdrm_tegra.so.0=0.0.0 - so:libkms.so.1=1.0.0 3. But the mesa package also builds AMD and Nouveau drivers and therefore requires: - so:libdrm_amdgpu.so.1 - so:libdrm_nouveau.so.2 - so:libdrm_radeon.so.1 These libraries are not provided by libdrm-grate, therefore it is impossible to install mesa and libdrm-grate at the same time. A simple solution to fix this problem is to let libdrm-grate provide these additional libraries as well - the package size overhead is negligible and the additional drivers build just fine. [ci:skip-build]: already built successfully in CI --- temp/libdrm-grate/APKBUILD | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/temp/libdrm-grate/APKBUILD b/temp/libdrm-grate/APKBUILD index 9e2594f0b..393897704 100644 --- a/temp/libdrm-grate/APKBUILD +++ b/temp/libdrm-grate/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: David Heidelberg pkgname=libdrm-grate pkgver=2.4.100_git20191221 -pkgrel=0 +pkgrel=1 pkgdesc="Userspace interface to kernel DRM services" url="https://github.com/grate-driver/libdrm" arch="armhf armv7" @@ -24,14 +24,9 @@ builddir="$srcdir/$_pkgname-$_commit" build() { meson \ -Dprefix=/usr \ - -Dradeon=false \ - -Damdgpu=false \ - -Dnouveau=false \ - -Dvmwgfx=false \ - -Dfreedreno=false \ - -Dvc4=false \ + -Dfreedreno=true \ -Dtegra=true \ - -Detnaviv=false \ + -Detnaviv=true \ -Dudev=true \ . build ninja -C build