From 6c9ea521e88d36bd1ce990a561477ec0e2950017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Thu, 12 Nov 2015 13:31:19 +0800 Subject: [PATCH] tk: Hardcode path to TK_LIBRARY. Fixes . * 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. --- gnu-system.am | 1 + gnu/packages/patches/tk-find-library.patch | 30 ++++++++++++++++++++++++++++++ gnu/packages/tcl.scm | 3 ++- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/tk-find-library.patch diff --git a/gnu-system.am b/gnu-system.am index 0b716c7..e7c1b7f 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -662,6 +662,7 @@ dist_patch_DATA = \ gnu/packages/patches/texi2html-document-encoding.patch \ gnu/packages/patches/texi2html-i18n.patch \ gnu/packages/patches/tidy-CVE-2015-5522+5523.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 \ diff --git a/gnu/packages/patches/tk-find-library.patch b/gnu/packages/patches/tk-find-library.patch new file mode 100644 index 0000000..89c4781 --- /dev/null +++ b/gnu/packages/patches/tk-find-library.patch @@ -0,0 +1,30 @@ +This patch hardcode where Tk found its script library during package +initialization. + +See . + +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 diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 5b55ccc..c18b8b5 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -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 -- 2.6.2