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
This commit is contained in:
Minecrell 2020-01-19 14:11:03 +01:00 committed by Oliver Smith
parent bdbcfc38dd
commit b334362d72
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB

View file

@ -1,7 +1,7 @@
# Maintainer: David Heidelberg <david@ixit.cz>
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