lang/tcltutor: import tcltutor-30b7

This is a package designed to teach the Tcl programming language in a
quick and easy manner.  The goal is to teach the minimal amount of Tcl
syntax, commands and options that are necessary to write useful
programs.

You are encouraged to use the man pages and books to augment this
tutorial.
This commit is contained in:
kamil 2019-10-07 14:37:34 +00:00
parent c835976da2
commit 90e7cda039
5 changed files with 265 additions and 0 deletions

7
lang/tcltutor/DESCR Normal file
View file

@ -0,0 +1,7 @@
This is a package designed to teach the Tcl programming language in a
quick and easy manner. The goal is to teach the minimal amount of Tcl
syntax, commands and options that are necessary to write useful
programs.
You are encouraged to use the man pages and books to augment this
tutorial.

57
lang/tcltutor/Makefile Normal file
View file

@ -0,0 +1,57 @@
# $NetBSD: Makefile,v 1.1 2019/10/07 14:37:34 kamil Exp $
DISTNAME= tcltutor30b7
PKGNAME= ${DISTNAME:S/tcltutor/tcltutor-/}
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_OPENBSD:=distfiles/}
EXTRACT_SUFX= .tgz
MAINTAINER= kamil@NetBSD.org
HOMEPAGE= http://www.msen.com/~clif/TclTutor.html
COMMENT= Learn Tcl interactively
LICENSE= isc
WRKSRC= ${WRKDIR}/TclTutor
SUBST_CLASSES+= fix-wish
SUBST_STAGE.fix-wish= pre-configure
SUBST_MESSAGE.fix-wish= Fixing tcl wish
SUBST_FILES.fix-wish+= TclTutor.tcl
SUBST_SED.fix-wish+= -e 's,exec wish,exec ${PREFIX}/bin/wish,'
SUBST_CLASSES+= fix-data
SUBST_STAGE.fix-data= pre-configure
SUBST_MESSAGE.fix-data= Fixing libdatadir
SUBST_FILES.fix-data+= TclTutor.tcl
SUBST_SED.fix-data+= -e 's,@TCLTUTOR_LIBDATADIR@,${PREFIX}/${TCLTUTOR_LIBDATADIR},'
NO_BUILD= yes
USE_TOOLS+= pax:build wish:run
TCLTUTOR_LIBDATADIR= share/tcltutor
TCLTUTOR_DOCDIR= share/doc/tcltutor
INSTALLATION_DIRS+= bin ${TCLTUTOR_LIBDATADIR} ${TCLTUTOR_DOCDIR}
pre-configure:
${RUN} cd ${WRKSRC} && ${FIND} . -type d -name 'CVS' | ${XARGS} ${RM} -fr
do-install:
${RUN} cd ${WRKSRC} && \
${INSTALL_SCRIPT} TclTutor.tcl ${DESTDIR}${PREFIX}/bin/tcltutor
.for i in balloon.tcl htmllib.tcl images.tcl options.tcl simpleTop.tcl
${RUN} cd ${WRKSRC} && \
${INSTALL_DATA} ${i} ${DESTDIR}${PREFIX}/${TCLTUTOR_LIBDATADIR}
.endfor
.for i in NOTICE README
${RUN} cd ${WRKSRC} && \
${INSTALL_DATA} ${i} ${DESTDIR}${PREFIX}/${TCLTUTOR_DOCDIR}
.endfor
.for i in Tcl_English Tcl_Portuguese
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/${TCLTUTOR_LIBDATADIR}/lesson/${i}
${RUN} cd ${WRKSRC}/lesson/${i} && \
${PAX} -wr * ${DESTDIR}${PREFIX}/${TCLTUTOR_LIBDATADIR}/lesson/${i}
.endfor
.include "../../mk/bsd.pkg.mk"

112
lang/tcltutor/PLIST Normal file
View file

@ -0,0 +1,112 @@
@comment $NetBSD: PLIST,v 1.1 2019/10/07 14:37:34 kamil Exp $
bin/tcltutor
share/doc/tcltutor/NOTICE
share/doc/tcltutor/README
share/tcltutor/balloon.tcl
share/tcltutor/htmllib.tcl
share/tcltutor/images.tcl
share/tcltutor/lesson/Tcl_English/TclLesson.dmy
share/tcltutor/lesson/Tcl_English/Tcl_English.cfg
share/tcltutor/lesson/Tcl_English/Tcl_English0.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English1.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English10.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English11.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English12.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English13.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English14.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English15.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English16.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English17.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English18.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English19.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English2.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English20.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English21.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English22.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English23.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English24.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English25.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English26.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English27.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English28.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English29.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English3.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English30.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English31.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English32.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English33.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English34.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English35.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English36.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English37.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English38.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English39.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English4.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English40.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English41.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English42.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English43.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English44.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English45.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English46.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English47.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English5.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English6.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English7.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English8.lsn
share/tcltutor/lesson/Tcl_English/Tcl_English9.lsn
share/tcltutor/lesson/Tcl_English/about.html
share/tcltutor/lesson/Tcl_English/help.html
share/tcltutor/lesson/Tcl_Portuguese/AVISO
share/tcltutor/lesson/Tcl_Portuguese/LEIAME
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese.cfg
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese0.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese1.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese10.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese11.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese12.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese13.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese14.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese15.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese16.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese17.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese18.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese19.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese2.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese20.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese21.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese22.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese23.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese24.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese25.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese26.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese27.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese28.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese29.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese3.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese30.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese31.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese32.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese33.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese34.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese35.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese36.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese37.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese38.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese39.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese4.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese40.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese41.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese42.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese43.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese5.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese6.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese7.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese8.lsn
share/tcltutor/lesson/Tcl_Portuguese/Tcl_Portuguese9.lsn
share/tcltutor/lesson/Tcl_Portuguese/about.html
share/tcltutor/lesson/Tcl_Portuguese/help.html
share/tcltutor/lesson/Tcl_Portuguese/htmllib.tcl
share/tcltutor/lesson/Tcl_Portuguese/scaler.tcl
share/tcltutor/options.tcl
share/tcltutor/simpleTop.tcl

7
lang/tcltutor/distinfo Normal file
View file

@ -0,0 +1,7 @@
$NetBSD: distinfo,v 1.1 2019/10/07 14:37:34 kamil Exp $
SHA1 (tcltutor30b7.tgz) = 6dfa79b50189dbb3e5a1f004e0f711cd1fc2a90d
RMD160 (tcltutor30b7.tgz) = 02f389c5b5835f5280c20594be5b5415c2ef7e54
SHA512 (tcltutor30b7.tgz) = 17af025b192eefcfde03bf4f9dc173030a0048e84de4ef42c4525f645e5b5067d9209af0da4b1bc632cfbc6faf9703b96eaf9148324c63e4a3d367671756f0f9
Size (tcltutor30b7.tgz) = 263363 bytes
SHA1 (patch-TclTutor.tcl) = edc20e3bc3c8175f8feaa38befbed8537bd42514

View file

@ -0,0 +1,82 @@
$NetBSD: patch-TclTutor.tcl,v 1.1 2019/10/07 14:37:34 kamil Exp $
- fix shebang
- disable logUsage+mailLog
- overwrite data dir
--- TclTutor.tcl.orig 2014-03-20 14:27:20.000000000 +0000
+++ TclTutor.tcl
@@ -1,8 +1,8 @@
-package provide app-tcltutor 1.0
#!/bin/sh
# \
exec wish "$0" "$@"
+package provide app-tcltutor 1.0
package require Tk
;# NAME: TclTutor.tcl
@@ -139,8 +139,8 @@ proc parseArgs {stateVar {throwError 1}}
switch $tcl_platform(platform) {
"unix" {
- set Tutor(sourceHome) [file dirname $argv0]
- set Tutor(lessonHome) [file dirname $argv0]/lesson
+ set Tutor(sourceHome) @TCLTUTOR_LIBDATADIR@
+ set Tutor(lessonHome) @TCLTUTOR_LIBDATADIR@/lesson
set Tutor(rcHome) $env(HOME)
set Tutor(rcfile) [file join $Tutor(rcHome) .tcltutorrc]
set Tutor(logFileName) [file join $Tutor(rcHome) .tcltutoract]
@@ -160,8 +160,8 @@ proc parseArgs {stateVar {throwError 1}}
}
"macintosh" -
"mac" {
- set Tutor(sourceHome) [file dirname $argv0]
- set Tutor(lessonHome) [file dirname $argv0]/lesson
+ set Tutor(sourceHome) @TCLTUTOR_LIBDATADIR@
+ set Tutor(lessonHome) @TCLTUTOR_LIBDATADIR@/lesson
set Tutor(rcHome) [file dirname $argv0]
set Tutor(rcfile) [file join $Tutor(rcHome) tcltutor.rc]
set Tutor(logFileName) [file join $Tutor(rcHome) tcltutor.act]
@@ -174,7 +174,7 @@ proc parseArgs {stateVar {throwError 1}}
}
}
-set Tutor(noSaves) {sourceHome lessonHome}
+set Tutor(noSaves) {sourceHome lessonHome logUsage mailUsage}
#
# check if a Scripted Document
@@ -694,7 +694,7 @@ proc createDisplay {} {
$mbf.file add command -label $l -command $l2
}
- if {[string match $tcl_platform(platform) "unix"]} {
+ if {0 && [string match $tcl_platform(platform) "unix"]} {
if {$Tutor(logUsage)} {
$mbf.file add command -label "Disable activity log" -command {set Tutor(logUsage) 0}
} else {
@@ -1153,6 +1153,8 @@ proc SetFontSize {} {
#
proc logUsage {str} {
global Tutor
+
+ return
if {$Tutor(logUsage) == 0} {return}
@@ -1180,6 +1182,9 @@ proc logUsage {str} {
#
proc mailLog {} {
global Tutor tcl_platform
+
+ return
+
catch {close $Tutor(logFile)}
switch $tcl_platform(platform) {
@@ -1388,4 +1393,3 @@ selectCourse [file join \
[format "%s.%s" $Tutor(courseName) cfg]]
applyOptions
-