commit:     73c3566d9a4e3fc9775a6158162b89f4a8a96223
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec  1 11:48:43 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec  1 11:48:43 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73c3566d

x11-drivers/xf86-video-nouveau: fix build with newer xorg-server

Closes: https://bugs.gentoo.org/827878
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...deo-nouveau-1.0.17-xorg-server-API-rename.patch | 52 ++++++++++++++++++++++
 .../xf86-video-nouveau-1.0.17.ebuild               |  4 ++
 2 files changed, 56 insertions(+)

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 <[email protected]>
+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
+)

Reply via email to