diff options
Diffstat (limited to 'lang/tcltutor')
-rw-r--r-- | lang/tcltutor/DESCR | 7 | ||||
-rw-r--r-- | lang/tcltutor/Makefile | 57 | ||||
-rw-r--r-- | lang/tcltutor/PLIST | 112 | ||||
-rw-r--r-- | lang/tcltutor/distinfo | 7 | ||||
-rw-r--r-- | lang/tcltutor/patches/patch-TclTutor.tcl | 82 |
5 files changed, 265 insertions, 0 deletions
diff --git a/lang/tcltutor/DESCR b/lang/tcltutor/DESCR new file mode 100644 index 00000000000..47c614d3bd7 --- /dev/null +++ b/lang/tcltutor/DESCR @@ -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. diff --git a/lang/tcltutor/Makefile b/lang/tcltutor/Makefile new file mode 100644 index 00000000000..fcddec68e5b --- /dev/null +++ b/lang/tcltutor/Makefile @@ -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" diff --git a/lang/tcltutor/PLIST b/lang/tcltutor/PLIST new file mode 100644 index 00000000000..95e1602455a --- /dev/null +++ b/lang/tcltutor/PLIST @@ -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 diff --git a/lang/tcltutor/distinfo b/lang/tcltutor/distinfo new file mode 100644 index 00000000000..327d9c9910e --- /dev/null +++ b/lang/tcltutor/distinfo @@ -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 diff --git a/lang/tcltutor/patches/patch-TclTutor.tcl b/lang/tcltutor/patches/patch-TclTutor.tcl new file mode 100644 index 00000000000..d3d0ce1915f --- /dev/null +++ b/lang/tcltutor/patches/patch-TclTutor.tcl @@ -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 +- |