summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-12-01 11:48:43 +0000
committerSam James <sam@gentoo.org>2021-12-01 11:48:43 +0000
commit73c3566d9a4e3fc9775a6158162b89f4a8a96223 (patch)
tree7670772b5dfc7aa93884d9ae0a57a83615a1c66a /x11-drivers
parentdev-java/icedtea: drop 3.19.0 (diff)
downloadgentoo-73c3566d9a4e3fc9775a6158162b89f4a8a96223.tar.gz
gentoo-73c3566d9a4e3fc9775a6158162b89f4a8a96223.tar.bz2
gentoo-73c3566d9a4e3fc9775a6158162b89f4a8a96223.zip
x11-drivers/xf86-video-nouveau: fix build with newer xorg-server
Closes: https://bugs.gentoo.org/827878 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/xf86-video-nouveau/files/xf86-video-nouveau-1.0.17-xorg-server-API-rename.patch52
-rw-r--r--x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.17.ebuild4
2 files changed, 56 insertions, 0 deletions
diff --git a/x11-drivers/xf86-video-nouveau/files/xf86-video-nouveau-1.0.17-xorg-server-API-rename.patch b/x11-drivers/xf86-video-nouveau/files/xf86-video-nouveau-1.0.17-xorg-server-API-rename.patch
new file mode 100644
index 000000000000..cb9b6e0f4eec
--- /dev/null
+++ b/x11-drivers/xf86-video-nouveau/files/xf86-video-nouveau-1.0.17-xorg-server-API-rename.patch
@@ -0,0 +1,52 @@
+https://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=e80e73ced69b15662103d0fd6837db4ce6c6eb5b
+https://bugs.gentoo.org/827878
+
+From: Dave Airlie <airlied@redhat.com>
+Date: Mon, 13 Jul 2020 09:20:15 +1000
+Subject: nouveau: fixup driver for new X server ABI
+
+--- a/src/compat-api.h
++++ b/src/compat-api.h
+@@ -102,4 +102,8 @@
+
+ #endif
+
++#if ABI_VIDEODRV_VERSION < SET_ABI_VERSION(25, 2)
++#define secondary_dst slave_dst
++#endif
++
+ #endif
+--- a/src/nouveau_exa.c
++++ b/src/nouveau_exa.c
+@@ -157,7 +157,7 @@ nouveau_exa_destroy_pixmap(ScreenPtr pScreen, void *priv)
+
+ #ifdef NOUVEAU_PIXMAP_SHARING
+ static Bool
+-nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr slave, void **handle_p)
++nouveau_exa_share_pixmap_backing(PixmapPtr ppix, ScreenPtr secondary, void **handle_p)
+ {
+ struct nouveau_bo *bo = nouveau_pixmap_bo(ppix);
+ struct nouveau_pixmap *nvpix = nouveau_pixmap(ppix);
+--- a/src/nv_driver.c
++++ b/src/nv_driver.c
+@@ -559,16 +559,16 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty)
+ {
+ RegionRec pixregion;
+
+- PixmapRegionInit(&pixregion, dirty->slave_dst);
++ PixmapRegionInit(&pixregion, dirty->secondary_dst);
+
+- DamageRegionAppend(&dirty->slave_dst->drawable, &pixregion);
++ DamageRegionAppend(&dirty->secondary_dst->drawable, &pixregion);
+ #ifdef HAS_DIRTYTRACKING_ROTATION
+ PixmapSyncDirtyHelper(dirty);
+ #else
+ PixmapSyncDirtyHelper(dirty, &pixregion);
+ #endif
+
+- DamageRegionProcessPending(&dirty->slave_dst->drawable);
++ DamageRegionProcessPending(&dirty->secondary_dst->drawable);
+ RegionUninit(&pixregion);
+ }
+
+cgit v1.2.1
diff --git a/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.17.ebuild b/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.17.ebuild
index af511dafe0b2..c9a67c0af74d 100644
--- a/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.17.ebuild
+++ b/x11-drivers/xf86-video-nouveau/xf86-video-nouveau-1.0.17.ebuild
@@ -22,3 +22,7 @@ RDEPEND=">=x11-libs/libdrm-2.4.60[video_cards_nouveau]
>=x11-libs/libpciaccess-0.10
virtual/libudev:="
DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-xorg-server-API-rename.patch
+)