Source: tktreectrl
Version: 2.2.8-1
Severity: important
Tags: patch

Dear Maintainer,

We are currently deprecating and going to remove Tcl/Tk 8.5 from Debian,
so please, switch the tktreectrl package to a more recent version.

I'm attaching a proposed NMU patch which switches to the default Tcl/Tk
version (currently 8.6, prospectively 8.7), and I could do this NMU if you
don't mind. Or you may want to switch to 8.6 explicitely, this way there won't
be unexpected changes when the default Tcl/Tk version will change.

The patch contains a change in generic/tkTreeElem.c which is required for
the package to be working on Tcl/Tk 8.6 and newer.

-- System Information:
Debian Release: 9.3
  APT prefers stable-debug
  APT policy: (500, 'stable-debug'), (500, 'proposed-updates'), (500, 
'stable'), (1, 'unstable'), (1, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.14.0-0.bpo.3-amd64 (SMP w/12 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-- no debconf information
diff -u tktreectrl-2.2.8/debian/changelog tktreectrl-2.2.8/debian/changelog
--- tktreectrl-2.2.8/debian/changelog
+++ tktreectrl-2.2.8/debian/changelog
@@ -1,3 +1,13 @@
+tktreectrl (2.2.8-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Switch to the default Tcl/Tk version from Tcl/Tk 8.5 since the latter is
+    to be removed from Debian.
+  * Add a patch from upstream which fixes loading the package into Tk 8.6
+    where TclGetLong() has been removed.
+
+ -- Sergei Golovan <[email protected]>  Sun, 21 Jan 2018 13:09:32 +0300
+
 tktreectrl (2.2.8-1) unstable; urgency=low
 
   * Initial release
diff -u tktreectrl-2.2.8/debian/control tktreectrl-2.2.8/debian/control
--- tktreectrl-2.2.8/debian/control
+++ tktreectrl-2.2.8/debian/control
@@ -4,7 +4,7 @@
 Maintainer: Tcl/Tk Debian Packagers <[email protected]>
 Uploaders: Miriam Ruiz <[email protected]>
 Build-Depends: debhelper (>= 7), quilt, autoconf, automake, autotools-dev,
- tcl8.5-dev, tk8.5-dev
+ tcl-dev, tk-dev
 Standards-Version: 3.8.0
 Homepage: http://tktreectrl.sourceforge.net/
 Vcs-Svn: svn://svn.debian.org/svn/pkg-tcltk/packages/tktreectrl/trunk/
diff -u tktreectrl-2.2.8/debian/rules tktreectrl-2.2.8/debian/rules
--- tktreectrl-2.2.8/debian/rules
+++ tktreectrl-2.2.8/debian/rules
@@ -28,10 +28,10 @@
        --prefix=/usr \
        --mandir=\$${prefix}/share/man \
        --infodir=\$${prefix}/share/info \
-       --with-tcl=/usr/lib/tcl8.5/ \
-       --with-tk=/usr/lib/tk8.5/ \
-       --with-tclinclude=/usr/include/tcl8.5/ \
-       --with-tkinclude=/usr/include/tcl8.5/ \
+       --with-tcl=/usr/lib \
+       --with-tk=/usr/lib \
+       --with-tclinclude=/usr/include/tcl \
+       --with-tkinclude=/usr/include/tcl \
        CFLAGS="$(CFLAGS)" \
        LDFLAGS="-lm -Wl,-z,defs -Wl,--no-undefined -Wl,--as-needed"
        touch $@
diff -u tktreectrl-2.2.8/debian/patches/series 
tktreectrl-2.2.8/debian/patches/series
--- tktreectrl-2.2.8/debian/patches/series
+++ tktreectrl-2.2.8/debian/patches/series
@@ -1,0 +2 @@
+tkTreeElem.c.patch
only in patch2:
unchanged:
--- tktreectrl-2.2.8.orig/debian/patches/tkTreeElem.c.patch
+++ tktreectrl-2.2.8/debian/patches/tkTreeElem.c.patch
@@ -0,0 +1,33 @@
+Index: tkTreeElem.c
+===================================================================
+RCS file: /cvsroot/tktreectrl/tktreectrl/generic/tkTreeElem.c,v
+retrieving revision 1.67
+diff -a -u -8 -p -r1.67 tkTreeElem.c
+--- a/generic/tkTreeElem.c     22 Jan 2008 01:03:02 -0000      1.67
++++ b/generic/tkTreeElem.c     22 Jun 2009 20:36:19 -0000
+@@ -3438,17 +3438,24 @@ TreeElement_GetSortData(
+                   int iv;
+                   if (Tcl_GetIntFromObj(tree->interp, dataObj, &iv) != TCL_OK)
+                       return TCL_ERROR;
+                   (*lv) = iv;
+                   break;
+               }
+           }
+           if (elemX->textCfg != NULL) {
+-              if (TclGetLong(tree->interp, elemX->textCfg, lv) != TCL_OK)
++              Tcl_Obj obj;
++
++              obj.refCount = 1;
++              obj.bytes = (char *) elemX->textCfg;
++              obj.length = strlen(elemX->textCfg);
++              obj.typePtr = NULL;
++
++              if (Tcl_GetLongFromObj(tree->interp, &obj, lv) != TCL_OK)
+                   return TCL_ERROR;
+               break;
+           }
+           FormatResult(tree->interp, "can't get a long from an empty -text 
value");
+           return TCL_ERROR;
+     }
+     return TCL_OK;
+ }

Reply via email to