3
0
Fork 0
forked from mirrors/nixpkgs

tix: fix build on darwin

This commit is contained in:
Ryan Burns 2021-09-23 00:49:55 -07:00
parent a86e1f5dac
commit 56d9b43336
2 changed files with 58 additions and 1 deletions

View file

@ -1,4 +1,10 @@
{ lib, stdenv, fetchurl, tcl, tk, fetchpatch } :
{ lib
, stdenv
, fetchurl
, fetchpatch
, tcl
, tk
}:
tcl.mkTclDerivation {
version = "8.4.3";
@ -13,6 +19,8 @@ tcl.mkTclDerivation {
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/dev-tcltk/tix/files/tix-8.4.3-tcl8.5.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d";
sha256 = "0wzqmcxxq0rqpnjgxz10spw92yhfygnlwv0h8pcx2ycnqiljz6vj";
})
# Remove duplicated definition of XLowerWindow
./duplicated-xlowerwindow.patch
] ++ lib.optional (tcl.release == "8.6")
(fetchpatch {
name = "tix-8.4.3-tcl8.6.patch";

View file

@ -0,0 +1,49 @@
This is duplicated code from Tk.
It causes errors during build since XLowerWindow is not only a function but also "defined" in tkIntXlibDecls.h.
See
https://github.com/tcltk/tk/blob/71dcaddc69769cbd3e2c4b5edb5810f974579527/generic/tkIntXlibDecls.h#L396
and
https://github.com/tcltk/tk/blob/71dcaddc69769cbd3e2c4b5edb5810f974579527/generic/tkIntXlibDecls.h#L1487
--- a/unix/tixUnixWm.c 2005-03-25 13:15:53.000000000 -0700
+++ b/unix/tixUnixWm.c 2021-03-20 07:31:52.000000000 -0700
@@ -24,38 +24,3 @@
{
return TCL_OK;
}
-
-#ifdef MAC_OSX_TK
-#include "tkInt.h"
-/*
- *----------------------------------------------------------------------
- *
- * XLowerWindow --
- *
- * Change the stacking order of a window.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Changes the stacking order of the specified window.
- *
- *----------------------------------------------------------------------
- */
-
-int
-XLowerWindow(
- Display* display, /* Display. */
- Window window) /* Window. */
-{
- TkWindow *winPtr = *((TkWindow **) window);
-
- display->request++;
- if (Tk_IsTopLevel(winPtr) && !Tk_IsEmbedded(winPtr)) {
- TkWmRestackToplevel(winPtr, Below, NULL);
- } else {
- /* TODO: this should generate damage */
- }
- return 0;
-}
-#endif