diff --git a/dev-python/pygame/Manifest b/dev-python/pygame/Manifest index a8302f1..d947704 100644 --- a/dev-python/pygame/Manifest +++ b/dev-python/pygame/Manifest @@ -1,3 +1,4 @@ +AUX pygame-1.9.6-sdl.patch 3869 BLAKE2B f4b55cab3dbc1e7dcdbf807bfdda9338a3ce63574fb51ff4a7c49ba81695e126a7ab9a613253ba6a0f90ad387afefafd8c5ddcf6008f1488ac51d26fd34366d9 SHA512 277ee89e820fdd59ee123f10c17a473ffdd031cd6e94064b8f9a0644a740649302ffd0da23de2cd4be4087a799c44610d819b701e47ade3901ffd05dacc2de1c DIST pygame-1.9.6.tar.gz 3223131 BLAKE2B a4d04c933fcad244d32bd512ef8717e60ec923f361e9e0296b5c7d57c5949d3434a040d028249c5b8f3c865ac3dcdbb32e6f0b223186678595a8625213ba2a17 SHA512 d923c554203a7c35e37921658cb4c5bf50215ab0ff4d2b869a1ee6b2e2ca31d66ec4bbde4287f5a777838ffe932cd15b993cb0224b86e43d684de61c35acbcd0 -EBUILD pygame-1.9.6-r1.ebuild 2295 BLAKE2B 6c23ecc71e4662de7ea7135c588c9d11a1341784d9eca225d6c58393af0530750d0c19236b0c2826180d735e31916e16d8351b4b6caa1c6ab53d30afdffc4cac SHA512 e35cbe1ef44c6093614bd94f58bb8c14cce9743355196180c766c7309cbd22a211514ac552284bc07f08d354a527ac04b682e8bc25d7551c9ac0a584e9450133 +EBUILD pygame-1.9.6-r1.ebuild 2346 BLAKE2B ae80939f0ece2e4796e594cf635e39f1866f5866a7cb11cf1e12f2e3524551c53d5e647824769349360348453645fad6b115b285a4bcbe501faffe1ebb37ca29 SHA512 f051efc9210a4bbb109bec3160cdb7b9d6f5d72b336ca60d23d0ade02ccd3448ad3331be9ea19d074233b6255f03a49d2074ded7adcc1e294ee9aa5d63110185 MISC metadata.xml 408 BLAKE2B ae371ef164069765d0964da714a83c9898ddc190ac295c5ad5bbb6a3c45db5aa415d84ff21dbaa510e5c9852397e6b6b389684c54b67d83d675afd9b3d9a697e SHA512 a6e06c0bed59d5157166577a2dafa53f28a310c56f251bec36af077a79342c6f954fa63a3fa8d3546ca03cc9358e75eeb1ef04c6e0371e43e0b7bff51ffe35dd diff --git a/dev-python/pygame/files/pygame-1.9.6-sdl.patch b/dev-python/pygame/files/pygame-1.9.6-sdl.patch new file mode 100644 index 0000000..5d7e3de --- /dev/null +++ b/dev-python/pygame/files/pygame-1.9.6-sdl.patch @@ -0,0 +1,98 @@ +diff '--color=auto' -Naur pygame-1.9.6.orig/src_c/scrap_x11.c pygame-1.9.6/src_c/scrap_x11.c +--- pygame-1.9.6/src_c/scrap_x11.c 2019-04-25 08:14:17.000000000 +0200 ++++ pygame-1.9.6/src_c/scrap_x11.c 2025-01-20 02:20:22.167220816 +0100 +@@ -22,7 +22,7 @@ + #include + + static Display *SDL_Display; +-static Window SDL_Window; ++static Window MySDL_Window; + static void (*Lock_Display)(void); + static void (*Unlock_Display)(void); + +@@ -148,7 +148,7 @@ + tmp = Bytes_FromStringAndSize(data, srclen); + PyDict_SetItemString(dict, key, tmp); + Py_DECREF(tmp); +- XChangeProperty(SDL_Display, SDL_Window, clip, cliptype, 8, ++ XChangeProperty(SDL_Display, MySDL_Window, clip, cliptype, 8, + PropModeReplace, (unsigned char *)data, srclen); + free(key); + } +@@ -465,7 +465,7 @@ + * Flush afterwards, so we have an immediate effect and do not receive + * the old buffer anymore. + */ +- XConvertSelection(SDL_Display, source, format, _atom_SDL, SDL_Window, ++ XConvertSelection(SDL_Display, source, format, _atom_SDL, MySDL_Window, + timestamp); + XSync(SDL_Display, False); + +@@ -473,7 +473,7 @@ + * react upon it as soon as it is received. + */ + for (start = time(0);;) { +- if (XCheckTypedWindowEvent(SDL_Display, SDL_Window, SelectionNotify, ++ if (XCheckTypedWindowEvent(SDL_Display, MySDL_Window, SelectionNotify, + &ev)) + break; + if (time(0) - start >= 5) { +@@ -628,7 +628,7 @@ + newattrs.event_mask = PropertyChangeMask; + + SDL_Display = info.info.x11.display; +- SDL_Window = info.info.x11.window; ++ MySDL_Window = info.info.x11.window; + Lock_Display = info.info.x11.lock_func; + Unlock_Display = info.info.x11.unlock_func; + +@@ -637,9 +637,9 @@ + /* We need the PropertyNotify event for the timestap, so + * modify the event attributes. + */ +- XGetWindowAttributes(SDL_Display, SDL_Window, &setattrs); ++ XGetWindowAttributes(SDL_Display, MySDL_Window, &setattrs); + newattrs.event_mask |= setattrs.all_event_masks; +- XChangeWindowAttributes(SDL_Display, SDL_Window, CWEventMask, ++ XChangeWindowAttributes(SDL_Display, MySDL_Window, CWEventMask, + &newattrs); + + Unlock_Display(); +@@ -674,7 +674,7 @@ + + Lock_Display(); + retval = (XGetSelectionOwner(SDL_Display, GET_CLIPATOM(_currentmode)) != +- SDL_Window); ++ MySDL_Window); + Unlock_Display(); + + return retval; +@@ -708,7 +708,7 @@ + } + + /* Update the clipboard property with the buffer. */ +- XChangeProperty(SDL_Display, SDL_Window, clip, cliptype, 8, ++ XChangeProperty(SDL_Display, MySDL_Window, clip, cliptype, 8, + PropModeReplace, (unsigned char *)src, srclen); + + if (cliptype == _atom_MIME_PLAIN) { +@@ -723,7 +723,7 @@ + + /* Update the timestamp */ + for (start = time(0);;) { +- if (XCheckTypedWindowEvent(SDL_Display, SDL_Window, PropertyNotify, ++ if (XCheckTypedWindowEvent(SDL_Display, MySDL_Window, PropertyNotify, + &ev)) + break; + if (time(0) - start >= 5) { +@@ -745,8 +745,8 @@ + + SETSELECTIONOWNER: + /* Set the selection owner to the own window. */ +- XSetSelectionOwner(SDL_Display, clip, SDL_Window, timestamp); +- if (XGetSelectionOwner(SDL_Display, clip) != SDL_Window) { ++ XSetSelectionOwner(SDL_Display, clip, MySDL_Window, timestamp); ++ if (XGetSelectionOwner(SDL_Display, clip) != MySDL_Window) { + /* Ouch, we could not toggle the selection owner. Raise an + * error, as it's not guaranteed, that the clipboard + * contains valid data. diff --git a/dev-python/pygame/pygame-1.9.6-r1.ebuild b/dev-python/pygame/pygame-1.9.6-r1.ebuild index c29f577..a5e41b4 100644 --- a/dev-python/pygame/pygame-1.9.6-r1.ebuild +++ b/dev-python/pygame/pygame-1.9.6-r1.ebuild @@ -39,6 +39,10 @@ BDEPEND=" sys-apps/util-linux )" +PATCHES=( + "${FILESDIR}"/pygame-1.9.6-sdl.patch +) + src_prepare() { # segfaults on Xvfb rm test/scrap_test.py || die