tcl, tk: 8.6.11 -> 8.6.13

This commit is contained in:
Weijia Wang 2023-03-31 10:00:38 +03:00
parent 823d5a4607
commit 048bf22a4c
5 changed files with 8 additions and 70 deletions

View file

@ -2,12 +2,12 @@
callPackage ./generic.nix (args // rec {
release = "8.6";
version = "${release}.11";
version = "${release}.13";
# Note: when updating, the hash in pkgs/development/libraries/tk/8.6.nix must also be updated!
src = fetchurl {
url = "mirror://sourceforge/tcl/tcl${version}-src.tar.gz";
sha256 = "0n4211j80mxr6ql0xx52rig8r885rcbminfpjdb2qrw6hmk8c14c";
sha256 = "sha256-Q6H650EvYf8R3iz9BdKM/Dpzdi81SkF8YjcKVOLK8GY=";
};
})

View file

@ -10,20 +10,8 @@
callPackage ./generic.nix (args // {
src = fetchurl {
url = "mirror://sourceforge/tcl/tk${tcl.version}.1-src.tar.gz"; # TODO: remove '.1' for v8.6.10 or v8.7.x
sha256 = "1gh9k7l76qg9l0sb78ijw9xz4xl1af47aqbdifb6mjpf3cbsnv00";
url = "mirror://sourceforge/tcl/tk${tcl.version}-src.tar.gz";
sha256 = "sha256-LmX6BpojNlRAo8VsVWuGc7XjKig4ANjZslfj9YTOBnU=";
};
patches = [ ./different-prefix-with-tcl.patch ] ++ lib.optionals stdenv.isDarwin [
./Fix-bad-install_name-for-libtk8.6.dylib.patch
# Define MODULE_SCOPE before including tkPort.h
# https://core.tcl-lang.org/tk/info/dba9f5ce3b
(fetchpatch {
name = "module_scope.patch";
url = "https://core.tcl-lang.org/tk/vpatch?from=ef6c6960c53ea30c&to=9b8aa74eebed509a";
extraPrefix = "";
sha256 = "0crhf4zrzdpc1jdgyv6l6mxqgmny12r3i39y1i0j8q3pbqkd04bv";
})
];
})

View file

@ -1,29 +0,0 @@
From f90278dac42135acd55200b7d2153f44d72fec53 Mon Sep 17 00:00:00 2001
From: Josef Knedl <josef.kemetmueller@aon.at>
Date: Wed, 24 Feb 2016 00:37:40 +0100
Subject: [PATCH] Fix bad install_name for libtk8.6.dylib
This follows: https://trac.macports.org/ticket/37395
and https://trac.macports.org/changeset/100816
Alternative would be to use Quartz build instead:
https://sourceforge.net/p/tktoolkit/bugs/3048/
---
unix/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/unix/Makefile.in b/unix/Makefile.in
index f21fdbb..1b89256 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -283,7 +283,7 @@ CC_SEARCH_FLAGS = @CC_SEARCH_FLAGS@
LD_SEARCH_FLAGS = @LD_SEARCH_FLAGS@
# support for embedded libraries on Darwin / Mac OS X
-DYLIB_INSTALL_DIR = ${LIB_RUNTIME_DIR}
+DYLIB_INSTALL_DIR = $(libdir)
# support for building the Aqua resource file
TK_RSRC_FILE = @TK_RSRC_FILE@
--
2.7.1

View file

@ -1,25 +0,0 @@
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

View file

@ -21,6 +21,10 @@ tcl.mkTclDerivation {
for file in $(find library/demos/. -type f ! -name "*.*"); do
substituteInPlace $file --replace "exec wish" "exec $out/bin/wish"
done
''
+ lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinMinVersion "11") ''
substituteInPlace unix/configure* \
--replace " -framework UniformTypeIdentifiers" ""
'';
postInstall = ''