~ruther/guix-local

79c8a071e7f391e40b203f4489396f976a5333a7 — 宋文武 10 years ago 2605975
tk: Hardcode path to TK_LIBRARY.

Fixes <http://bugs.gnu.org/20889>.

* gnu/packages/patches/tk-find-library.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/tcl.scm (tk)[source]: Add patch.
3 files changed, 32 insertions(+), 1 deletions(-)

M gnu-system.am
A gnu/packages/patches/tk-find-library.patch
M gnu/packages/tcl.scm
M gnu-system.am => gnu-system.am +1 -0
@@ 701,6 701,7 @@ dist_patch_DATA =						\
  gnu/packages/patches/texi2html-i18n.patch			\
  gnu/packages/patches/tidy-CVE-2015-5522+5523.patch		\
  gnu/packages/patches/tinyxml-use-stl.patch			\
  gnu/packages/patches/tk-find-library.patch			\
  gnu/packages/patches/torsocks-dns-test.patch			\
  gnu/packages/patches/tvtime-gcc41.patch			\
  gnu/packages/patches/tvtime-pngoutput.patch			\

A gnu/packages/patches/tk-find-library.patch => gnu/packages/patches/tk-find-library.patch +29 -0
@@ 0,0 1,29 @@
This patch hard-codes the Tk library directory during package initialization.

See <http://core.tcl.tk/tk/tktview/765642ffffffffffffff>.

diff --git a/generic/tkWindow.c b/generic/tkWindow.c
index b5cbbab..96b5501 100644
--- a/generic/tkWindow.c
+++ b/generic/tkWindow.c
@@ -988,6 +988,7 @@ TkCreateMainWindow(
 
     Tcl_SetVar2(interp, "tk_patchLevel", NULL, TK_PATCH_LEVEL, TCL_GLOBAL_ONLY);
     Tcl_SetVar2(interp, "tk_version",    NULL, TK_VERSION,     TCL_GLOBAL_ONLY);
+    Tcl_SetVar2(interp, "tk_library",    NULL, TK_LIBRARY,     TCL_GLOBAL_ONLY);
 
     tsdPtr->numMainWindows++;
     return tkwin;
diff --git a/unix/Makefile.in b/unix/Makefile.in
index f21fdbb..c61b0df 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -1029,7 +1029,7 @@ tkVisual.o: $(GENERIC_DIR)/tkVisual.c
 	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkVisual.c
 
 tkWindow.o: $(GENERIC_DIR)/tkWindow.c
-	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkWindow.c
+	$(CC) -c $(CC_SWITCHES) -DTK_LIBRARY=\"${TK_LIBRARY}\" $(GENERIC_DIR)/tkWindow.c
 
 tkButton.o: $(GENERIC_DIR)/tkButton.c
 	$(CC) -c $(CC_SWITCHES) $(GENERIC_DIR)/tkButton.c

M gnu/packages/tcl.scm => gnu/packages/tcl.scm +2 -1
@@ 140,7 140,8 @@ X11 GUIs.")
                                 version "/tk" version "-src.tar.gz"))
             (sha256
              (base32
               "1h96vp15zl5xz0d4qp6wjyrchqmrmdm3q5k22wkw9jaxbvw9vy88"))))
               "1h96vp15zl5xz0d4qp6wjyrchqmrmdm3q5k22wkw9jaxbvw9vy88"))
             (patches (list (search-patch "tk-find-library.patch")))))
    (build-system gnu-build-system)
    (arguments
     '(#:phases (modify-phases %standard-phases