pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/sysutils/tkdesk Fix up sysutils/tkdesk, some.
details: https://anonhg.NetBSD.org/pkgsrc/rev/06ff53976e19
branches: trunk
changeset: 380396:06ff53976e19
user: dholland <dholland%pkgsrc.org@localhost>
date: Mon Jun 06 05:11:58 2022 +0000
description:
Fix up sysutils/tkdesk, some.
- Fix up the TCL interpreter result handling so we don't need to use
USE_INTERP_RESULT.
- Fix the first startup segfault (probably the one seen in PR 32807
but not necessarily) by using Tcl_Free instead of trying to bypass
it. Unfortunately, there's at least one more segfault at startup
with no obvious cause.
- Don't run off the end of string buffers.
- Remove some uses of sprintf. Use standard headers. Other minor
tidyups.
- Correct glitch in the configury patches that made it link
statically to blt.
- Avoid passing empty variable names to test(1) during configure.
- Fix some pkglint.
Bump PKGREVISION to 4, because even though it didn't run and still
doesn't, it does build. :-|
diffstat:
sysutils/tkdesk/Makefile | 16 +-
sysutils/tkdesk/distinfo | 13 +-
sysutils/tkdesk/patches/patch-aa | 41 ++-
sysutils/tkdesk/patches/patch-aj | 20 +-
sysutils/tkdesk/patches/patch-al | 45 ++-
sysutils/tkdesk/patches/patch-libdesk_dsk__ls.c | 145 ++++++++++
sysutils/tkdesk/patches/patch-libdesk_misc.c | 100 ++++++
sysutils/tkdesk/patches/patch-libdesk_o__FileListbox.c | 79 +++++
sysutils/tkdesk/patches/patch-libdesk_ot.c | 76 +++++
sysutils/tkdesk/patches/patch-netscape-remote_netscape-remote.c | 14 +
10 files changed, 518 insertions(+), 31 deletions(-)
diffs (truncated from 669 to 300 lines):
diff -r 037f35644494 -r 06ff53976e19 sysutils/tkdesk/Makefile
--- a/sysutils/tkdesk/Makefile Mon Jun 06 04:27:14 2022 +0000
+++ b/sysutils/tkdesk/Makefile Mon Jun 06 05:11:58 2022 +0000
@@ -1,31 +1,29 @@
-# $NetBSD: Makefile,v 1.30 2020/08/17 20:20:09 leot Exp $
+# $NetBSD: Makefile,v 1.31 2022/06/06 05:11:58 dholland Exp $
#
DISTNAME= tkdesk-2.0
PKGNAME= ${DISTNAME}p2
-PKGREVISION= 3
+PKGREVISION= 5
CATEGORIES= sysutils
MASTER_SITES= http://tkdesk.sourceforge.net/dist/
+PATCH_SITES= http://tkdesk.sourceforge.net/patches/
+PATCHFILES= ${DISTNAME}p1.patch ${DISTNAME}p2.patch
+PATCH_DIST_STRIP= -p1
+
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
HOMEPAGE= http://tkdesk.sourceforge.net/
COMMENT= Graphical file manager
-PATCHFILES= ${DISTNAME}p1.patch ${DISTNAME}p2.patch
-PATCH_DIST_STRIP= -p1
-PATCH_SITES= http://tkdesk.sourceforge.net/patches/
-
USE_TOOLS+= pax
GNU_CONFIGURE= YES
CONFIGURE_ARGS+= --with-tcl=${BUILDLINK_PREFIX.tcl}/lib \
--with-tk=${BUILDLINK_PREFIX.tk}/lib \
- --with-itcl=${BUILDLINK_PREFIX.tcl}/lib/itcl${ITCL_VERSION} \
+ --with-itcl=${BUILDLINK_PREFIX.tcl}/lib/itcl${ITCL_VERSION} \
--with-blt=${BUILDLINK_PREFIX.blt}/lib
MAKE_ENV+= LIB_RUNTIME_DIR=${BUILDLINK_PREFIX.tcl}/lib/itcl${ITCL_VERSION}
-CFLAGS+= -DUSE_INTERP_RESULT
-
DESTDIR_VARNAME= INSTALL_ROOT
INSTALLATION_DIRS+= bin ${PKGMANDIR}/man1
diff -r 037f35644494 -r 06ff53976e19 sysutils/tkdesk/distinfo
--- a/sysutils/tkdesk/distinfo Mon Jun 06 04:27:14 2022 +0000
+++ b/sysutils/tkdesk/distinfo Mon Jun 06 05:11:58 2022 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.11 2021/10/26 11:20:18 nia Exp $
+$NetBSD: distinfo,v 1.12 2022/06/06 05:11:58 dholland Exp $
BLAKE2s (tkdesk-2.0.tar.gz) = 95b665597f1700fbae03bd19ca880b108afabac8a38f6535459ff9574b75c2f4
SHA512 (tkdesk-2.0.tar.gz) = 482f69b9181b69a0903eff9afeeceefda949d620d7986d796589221a0a201f720e33aae05a622f597eb1072def96ff178232e1f432bc45947d298e730f47155a
@@ -9,10 +9,15 @@
BLAKE2s (tkdesk-2.0p2.patch) = a95322ec58e4fb1f6de9e489136c0d6c3d09c906f6d4deb3b6648c49dabd90fe
SHA512 (tkdesk-2.0p2.patch) = 29171f1f706da9b2ecaf78a760138cfc70ed58a9630ce5e24a23cba9a68735a693c640e5e9378ce3f80dd919431b432b9e8afd3d544a73797d31957532d83802
Size (tkdesk-2.0p2.patch) = 138282 bytes
-SHA1 (patch-aa) = d244a1e004247081b049156457d66c1952668a13
+SHA1 (patch-aa) = 13e1f7ed8b564774949498d2356c29a0ca23bcd1
SHA1 (patch-ab) = 50e591e0732abf19bec531ba1667cadc6c4b24cf
SHA1 (patch-ac) = 286a2bb4177431f87b778ed943cd57961aeb48ab
SHA1 (patch-ae) = c09cd944af50c2a31020a7478c1568e847b0cb02
-SHA1 (patch-aj) = 42f4f44c8b5aff02bb409198fe96d42f987a165c
+SHA1 (patch-aj) = 72f8fdd5bf216fce0db937bfbb862ec540a28b96
SHA1 (patch-ak) = 441a1eefd5872786981b25aa07482a8d6d9515aa
-SHA1 (patch-al) = 70a7a20f9e983ef1b31675631c5a7dd26e03b026
+SHA1 (patch-al) = d4f621554ae76d3ad061fe8c244e10633de4f367
+SHA1 (patch-libdesk_dsk__ls.c) = 1b5824d83b8665bc7b98fbd59fd2736ae17180a1
+SHA1 (patch-libdesk_misc.c) = a7e3e2d4b001b7528900a3ec663acbe62f5bbaaa
+SHA1 (patch-libdesk_o__FileListbox.c) = 90a19887846f869896d2aae8f17119a342b28cda
+SHA1 (patch-libdesk_ot.c) = e261153bcb876a0a30a1e2fd2854339d2b406446
+SHA1 (patch-netscape-remote_netscape-remote.c) = 3f6cda21fce514f8fbb14f066be23a479fc7e84f
diff -r 037f35644494 -r 06ff53976e19 sysutils/tkdesk/patches/patch-aa
--- a/sysutils/tkdesk/patches/patch-aa Mon Jun 06 04:27:14 2022 +0000
+++ b/sysutils/tkdesk/patches/patch-aa Mon Jun 06 05:11:58 2022 +0000
@@ -1,7 +1,12 @@
-$NetBSD: patch-aa,v 1.3 2006/10/14 02:18:37 rillig Exp $
+$NetBSD: patch-aa,v 1.4 2022/06/06 05:11:58 dholland Exp $
---- configure.orig 2004-04-14 05:39:47.000000000 +0200
-+++ configure 2006-10-14 04:17:03.000000000 +0200
+- Remove bashisms.
+- Fix itcl library names.
+- Fix BLT library names.
+- Avoid print from test(1) because ITCL_MAJOR_VERSION is never actually set.
+
+--- configure.orig 2004-04-14 03:39:47.000000000 +0000
++++ configure
@@ -1430,7 +1430,7 @@ TK_LIB_STATIC=${TKCONF_PATH}/libtk${TK_V
# Check for the TkStep libraries (if needed)...
#
@@ -29,9 +34,12 @@
{ echo "$as_me:$LINENO: WARNING: you may be attempting to use TkDesk 2.x with an unsupported version of Tk. Good luck. Hope it works out for you." >&5
echo "$as_me: WARNING: you may be attempting to use TkDesk 2.x with an unsupported version of Tk. Good luck. Hope it works out for you." >&2;}
else
-@@ -1505,7 +1505,7 @@ echo $ECHO_N "checking version of Itcl..
+@@ -1503,9 +1503,9 @@ echo "${ECHO_T}$ITCLCONF_PATH/$ITCLCONF_
+ echo $ECHO_N "checking version of Itcl... $ECHO_C" >&6
+ echo "$as_me:$LINENO: result: $ITCL_VERSION" >&5
echo "${ECHO_T}$ITCL_VERSION" >&6
- if test "$ITCL_MAJOR_VERSION" -ne 3; then
+- if test "$ITCL_MAJOR_VERSION" -ne 3; then
++ if test "${ITCL_MAJOR_VERSION:-3}" -ne 3; then
echo
- if test "$ENABLE_UNSUPPORTED" == "yes" ; then
+ if test "$ENABLE_UNSUPPORTED" = "yes" ; then
@@ -52,17 +60,28 @@
fi
fi
-@@ -1570,11 +1570,9 @@ else
- BLT_LIB_SPEC="-L$BLT_LIB_PATH -lBLT"
- BLT_LIB_STATIC=$BLT_LIB_PATH/libBLT.a
+@@ -1567,17 +1567,17 @@ if test -z "$BLT_LIB_PATH" ; then
+ echo "$as_me:$LINENO: result: ./blt" >&5
+ echo "${ECHO_T}./blt" >&6
+ else
+- BLT_LIB_SPEC="-L$BLT_LIB_PATH -lBLT"
+- BLT_LIB_STATIC=$BLT_LIB_PATH/libBLT.a
++ BLT_LIB_SPEC="-L$BLT_LIB_PATH -lBLT24"
++ BLT_LIB_STATIC=$BLT_LIB_PATH/libBLT24.a
NEED_BLT_LIB=
- if test ! -f $BLT_LIB_PATH/libBLT.a \
- -a ! -f $BLT_LIB_PATH/libBLT.so
-+ if test ! -f $BLT_LIB_PATH/libBLT.a
++ if test ! -f $BLT_LIB_PATH/libBLT24.a \
++ -a ! -f $BLT_LIB_PATH/libBLT24.so
then
- if test ! -f $BLT_LIB_PATH/lib/libBLT.a \
- -a ! -f $BLT_LIB_PATH/lib/libBLT.so
-+ if test ! -f $BLT_LIB_PATH/lib/libBLT.a
++ if test ! -f $BLT_LIB_PATH/lib/libBLT24.a \
++ -a ! -f $BLT_LIB_PATH/lib/libBLT24.so
then
echo
- { { echo "$as_me:$LINENO: error: could not find libBLT.a or libBLT.so in $BLT_LIB_PATH or in $BLT_LIB_PATH/lib." >&5
+- { { echo "$as_me:$LINENO: error: could not find libBLT.a or libBLT.so in $BLT_LIB_PATH or in $BLT_LIB_PATH/lib." >&5
++ { { echo "$as_me:$LINENO: error: could not find libBLT24.a or libBLT24.so in $BLT_LIB_PATH or in $BLT_LIB_PATH/lib." >&5
+ echo "$as_me: error: could not find libBLT.a or libBLT.so in $BLT_LIB_PATH or in $BLT_LIB_PATH/lib." >&2;}
+ { (exit 1); exit 1; }; }
+ else
diff -r 037f35644494 -r 06ff53976e19 sysutils/tkdesk/patches/patch-aj
--- a/sysutils/tkdesk/patches/patch-aj Mon Jun 06 04:27:14 2022 +0000
+++ b/sysutils/tkdesk/patches/patch-aj Mon Jun 06 05:11:58 2022 +0000
@@ -1,6 +1,9 @@
-$NetBSD: patch-aj,v 1.4 2014/02/22 07:53:47 obache Exp $
+$NetBSD: patch-aj,v 1.5 2022/06/06 05:11:58 dholland Exp $
---- libdesk/tixImgXpm.c.orig 2014-02-22 04:59:11.000000000 +0000
+- remove panic declaration (XXX: why?)
+- update for newer tcl
+
+--- libdesk/tixImgXpm.c.orig 2022-06-06 01:40:39.166611462 +0000
+++ libdesk/tixImgXpm.c
@@ -58,8 +58,6 @@
#include "tkPort.h"*/
@@ -63,3 +66,16 @@
*clientDataPtr = (ClientData) masterPtr;
return TCL_OK;
}
+@@ -1152,9 +1158,11 @@ ImgXpmCmd(clientData, interp, argc, argv
+ size_t length;
+
+ if (argc < 2) {
+- sprintf(interp->result,
++ char buf[128];
++ snprintf(buf, sizeof(buf),
+ "wrong # args: should be \"%.50s option ?arg arg ...?\"",
+ argv[0]);
++ Tcl_SetResult(interp, buf, TCL_VOLATILE);
+ return TCL_ERROR;
+ }
+ c = argv[1][0];
diff -r 037f35644494 -r 06ff53976e19 sysutils/tkdesk/patches/patch-al
--- a/sysutils/tkdesk/patches/patch-al Mon Jun 06 04:27:14 2022 +0000
+++ b/sysutils/tkdesk/patches/patch-al Mon Jun 06 05:11:58 2022 +0000
@@ -1,7 +1,14 @@
-$NetBSD: patch-al,v 1.1 2006/10/14 02:18:37 rillig Exp $
+$NetBSD: patch-al,v 1.2 2022/06/06 05:11:58 dholland Exp $
+
+- Remove bashisms.
+- Fix BLT library names.
+- Avoid print from test(1) because ITCL_MAJOR_VERSION is never actually set.
---- configure.in.orig 2004-04-14 05:39:12.000000000 +0200
-+++ configure.in 2006-10-14 04:16:47.000000000 +0200
+Caution: it appears that not all of the direct changes to configure in
+its own patch (patch-aa) are reflected here.
+
+--- configure.in.orig 2004-04-14 03:39:12.000000000 +0000
++++ configure.in
@@ -107,7 +107,7 @@ TK_LIB_STATIC=${TKCONF_PATH}/libtk${TK_V
# Check for the TkStep libraries (if needed)...
#
@@ -29,12 +36,40 @@
AC_MSG_WARN([you may be attempting to use TkDesk 2.x with an unsupported version of Tk. Good luck. Hope it works out for you.])
else
AC_MSG_ERROR([TkDesk version 2.x requires Tk version 8 or higher. Please upgrade your Tk or, if that is not possible, you might prefer to use TkDesk version 1.2 instead.])
-@@ -167,7 +167,7 @@ if test $success = 1 ; then
+@@ -165,9 +165,9 @@ if test $success = 1 ; then
+
+ AC_MSG_CHECKING(version of Itcl)
AC_MSG_RESULT($ITCL_VERSION)
- if test "$ITCL_MAJOR_VERSION" -ne 3; then
+- if test "$ITCL_MAJOR_VERSION" -ne 3; then
++ if test "${ITCL_MAJOR_VERSION:-3}" -ne 3; then
echo
- if test "$ENABLE_UNSUPPORTED" == "yes" ; then
+ if test "$ENABLE_UNSUPPORTED" = "yes" ; then
AC_MSG_WARN([you may be attempting to use TkDesk 2.x with an unsupported version of Itcl. Good luck. Hope it works out for you.])
else
AC_MSG_ERROR([found Itcl, but it appears to be the wrong version. TkDesk 2.x requires itcl 3.x to be installed. Please get it from: http://www.incrtcl.sourceforge.net.])
+@@ -222,17 +222,17 @@ if test -z "$BLT_LIB_PATH" ; then
+ NEED_BLT_LIB=lib_blt
+ AC_MSG_RESULT(./blt)
+ else
+- BLT_LIB_SPEC="-L$BLT_LIB_PATH -lBLT"
+- BLT_LIB_STATIC=$BLT_LIB_PATH/libBLT.a
++ BLT_LIB_SPEC="-L$BLT_LIB_PATH -lBLT24"
++ BLT_LIB_STATIC=$BLT_LIB_PATH/libBLT24.a
+ NEED_BLT_LIB=
+- if test ! -f $BLT_LIB_PATH/libBLT.a \
+- -a ! -f $BLT_LIB_PATH/libBLT.so
++ if test ! -f $BLT_LIB_PATH/libBLT24.a \
++ -a ! -f $BLT_LIB_PATH/libBLT24.so
+ then
+- if test ! -f $BLT_LIB_PATH/lib/libBLT.a \
+- -a ! -f $BLT_LIB_PATH/lib/libBLT.so
++ if test ! -f $BLT_LIB_PATH/lib/libBLT24.a \
++ -a ! -f $BLT_LIB_PATH/lib/libBLT24.so
+ then
+ echo
+- AC_MSG_ERROR([could not find libBLT.a or libBLT.so in $BLT_LIB_PATH or in $BLT_LIB_PATH/lib.])
++ AC_MSG_ERROR([could not find libBLT24.a or libBLT24.so in $BLT_LIB_PATH or in $BLT_LIB_PATH/lib.])
+ else
+ BLT_LIB_PATH=$BLT_LIB_PATH/lib
+ fi
diff -r 037f35644494 -r 06ff53976e19 sysutils/tkdesk/patches/patch-libdesk_dsk__ls.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysutils/tkdesk/patches/patch-libdesk_dsk__ls.c Mon Jun 06 05:11:58 2022 +0000
@@ -0,0 +1,145 @@
+$NetBSD: patch-libdesk_dsk__ls.c,v 1.1 2022/06/06 05:11:58 dholland Exp $
+
+Update for Tcl 8.6 (?)
+Don't run off the end of strings.
+
+--- libdesk/dsk_ls.c~ 2004-04-14 02:20:01.000000000 +0000
++++ libdesk/dsk_ls.c
+@@ -226,7 +226,7 @@ char *path;
+ #endif
+
+ strncpy (par_path, path, MAXPATHLEN);
+- par_path[MAXPATHLEN] = (char) NULL;
++ par_path[MAXPATHLEN - 1] = 0;
+ if (process_cmdline (argc, argv) != TCL_OK)
+ return (TCL_ERROR);
+
+@@ -374,8 +374,8 @@ FILE_ENTRY *fe;
+
+ if (S_ISLNK(fe->sb.st_mode)) {
+ strcpy (linkname, " -> ");
+- len = readlink (fe->path, linkname + 4, MAXPATHLEN - 4);
+- *(linkname + 4 + len) = (char) NULL;
++ len = readlink (fe->path, linkname + 4, MAXPATHLEN - 5);
++ *(linkname + 4 + len) = 0;
+ return (linkname);
+ } else {
+ return (strcpy (linkname, ""));
+@@ -1223,7 +1223,8 @@ char *path;
+ fprintf (stderr, "Opening %s ...\n", path);
+ #endif
+ if ((dp = opendir (path)) == NULL) {
+- sprintf (dsk_interp->result, "no such file or dir: %s", path);
++ snprintf(buffer, MAXPATHLEN, "no such file or dir: %s", path);
++ Tcl_SetResult(dsk_interp, buffer, TCL_VOLATILE);
+ return (TCL_ERROR);
+ }
+
+@@ -1240,18 +1241,15 @@ char *path;
+ if ( (dir->d_name[1] == '\0')
+ || (dir->d_name[1] == '.' && dir->d_name[2] == '\0')) {
+ if (!par_no_points) {
+- strcpy (buffer, path);
+- strcat (buffer, dir->d_name);
++ snprintf(buffer, MAXPATHLEN, "%s%s", path, dir->d_name);
+ new_file_entry (buffer);
+ }
+ } else if (par_show_all) {
+- strcpy (buffer, path);
+- strcat (buffer, dir->d_name);
++ snprintf(buffer, MAXPATHLEN, "%s%s", path, dir->d_name);
+ new_file_entry (buffer);
+ }
+ } else {
+- strcpy (buffer, path);
+- strcat (buffer, dir->d_name);
++ snprintf(buffer, MAXPATHLEN, "%s%s", path, dir->d_name);
+ if (!par_only_directories) {
+ new_file_entry (buffer);
+ } else {
+@@ -1280,16 +1278,19 @@ int read_file_lists ()
+ {
Home |
Main Index |
Thread Index |
Old Index