Skip to content

Commit 86f6887

Browse files
committed
tcl: update to 9.0.1
1 parent 8be04d9 commit 86f6887

File tree

7 files changed

+74
-30
lines changed

7 files changed

+74
-30
lines changed

build/tcl/build.sh

+21-11
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
# http://www.illumos.org/license/CDDL.
1313
# }}}
1414

15-
# Copyright 2024 OmniOS Community Edition (OmniOSce) Association.
15+
# Copyright 2025 OmniOS Community Edition (OmniOSce) Association.
1616

1717
. ../../lib/build.sh
1818

1919
PROG=tcl
20-
VER=8.6.14
21-
EXPECTVER=5.45.4
20+
VER=9.0.1
21+
EXPECTVER=5.45.4.1
2222
PKG=ooce/runtime/tcl
2323
SUMMARY="Tool Command Language"
2424
DESC="A very powerful but easy to learn dynamic programming language"
@@ -28,16 +28,16 @@ MAJVER=${VER%.*}
2828
OPREFIX=$PREFIX
2929
PREFIX+=/$PROG
3030

31-
set_builddir $PROG$VER/unix
32-
PATCHDIR+=-$PROG
31+
set_builddir $PROG$VER
32+
set_patchdir patches-$PROG
3333

3434
SKIP_LICENCES=BSD-style
3535

36-
# does not yet build with gcc 14
37-
((GCCVER > 13)) && set_gccver 13
38-
3936
set_arch 64
4037

38+
# the build requires gnu find
39+
PATH=$GNUBIN:$PATH
40+
4141
XFORM_ARGS="
4242
-DPREFIX=${PREFIX#/}
4343
-DOPREFIX=${OPREFIX#/}
@@ -53,6 +53,12 @@ CONFIGURE_OPTS[amd64]="
5353
--enable-64bit
5454
"
5555

56+
pre_build() {
57+
append_builddir unix
58+
59+
unset -f pre_build
60+
}
61+
5662
post_configure() {
5763
pushd $TMPDIR/$BUILDDIR/../doc >/dev/null
5864

@@ -91,8 +97,11 @@ DESC="A tool for automating interactive applications"
9197
TCLDIR=$DESTDIR$PREFIX/lib
9298
PREFIX="$OPREFIX/$PROG"
9399

94-
BUILDDIR=$PROG$VER
95-
PATCHDIR=patches-$PROG
100+
# does not yet build with gcc 14
101+
((GCCVER > 13)) && set_gccver 13
102+
103+
set_builddir $PROG-$VER
104+
set_patchdir patches-$PROG
96105

97106
SKIP_LICENCES=NIST
98107

@@ -113,9 +122,10 @@ CONFIGURE_OPTS[amd64]="
113122
"
114123

115124
init
116-
download_source $PROG $PROG$VER
125+
download_source $PROG $PROG $VER
117126
patch_source
118127
prep_build
128+
run_autoconf -f
119129
LD_LIBRARY_PATH=$TCLDIR build
120130
make_package $PROG-local.mog
121131
clean_up

build/tcl/files/ctf.ignore

+5
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,9 @@ exp_regexp.c
33
itclTestRegisterC.c
44
psGdbm.c
55
psLmdb.c
6+
tclAlloc.c
7+
tclEpollNotfy.c
8+
tclKqueueNotfy.c
9+
tclThreadJoin.c
610
threadNs.c
11+
threadUnix.c

build/tcl/patches-tcl/alloca.patch

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
diff -wpruN --no-dereference '--exclude=*.orig' a~/pkgs/sqlite3.47.2/compat/sqlite3/sqlite3.c a/pkgs/sqlite3.47.2/compat/sqlite3/sqlite3.c
2+
--- a~/pkgs/sqlite3.47.2/compat/sqlite3/sqlite3.c 1970-01-01 00:00:00
3+
+++ a/pkgs/sqlite3.47.2/compat/sqlite3/sqlite3.c 1970-01-01 00:00:00
4+
@@ -26,6 +26,11 @@
5+
# define SQLITE_PRIVATE static
6+
#endif
7+
#define SQLITE_UDL_CAPABLE_PARSER 1
8+
+
9+
+#ifdef __illumos__
10+
+#include <alloca.h>
11+
+#endif
12+
+
13+
/************** Begin file sqliteInt.h ***************************************/
14+
/*
15+
** 2001 September 15
16+
diff -wpruN --no-dereference '--exclude=*.orig' a~/pkgs/sqlite3.47.2/generic/tclsqlite3.c a/pkgs/sqlite3.47.2/generic/tclsqlite3.c
17+
--- a~/pkgs/sqlite3.47.2/generic/tclsqlite3.c 1970-01-01 00:00:00
18+
+++ a/pkgs/sqlite3.47.2/generic/tclsqlite3.c 1970-01-01 00:00:00
19+
@@ -60,6 +60,10 @@
20+
#include <errno.h>
21+
#include "sqlite3Uuid.h"
22+
23+
+#ifdef __illumos__
24+
+#include <alloca.h>
25+
+#endif
26+
+
27+
/*
28+
** Some additional include files are needed if this file is not
29+
** appended to the amalgamation.

build/tcl/patches-tcl/makefile.patch

+12-13
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ man3 and mann).
33

44
This patch will not be sent upstream.
55

6-
diff -wpruN --no-dereference '--exclude=*.orig' a~/Makefile.in a/Makefile.in
7-
--- a~/Makefile.in 1970-01-01 00:00:00
8-
+++ a/Makefile.in 1970-01-01 00:00:00
6+
diff -wpruN --no-dereference '--exclude=*.orig' a~/unix/Makefile.in a/unix/Makefile.in
7+
--- a~/unix/Makefile.in 1970-01-01 00:00:00
8+
+++ a/unix/Makefile.in 1970-01-01 00:00:00
99
@@ -72,10 +72,10 @@ MAN_INSTALL_DIR = $(INSTALL_ROOT)$(mand
1010
MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
1111

@@ -19,16 +19,16 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/Makefile.in a/Makefile.in
1919

2020
# Path to the html documentation dir:
2121
HTML_DIR = @HTML_DIR@
22-
@@ -286,7 +286,7 @@ CC_SWITCHES = $(STUB_CC_SWITCHES) ${NO_D
22+
@@ -285,7 +285,7 @@ CC_SWITCHES = $(STUB_CC_SWITCHES) -DBUIL
2323

24-
APP_CC_SWITCHES = $(CC_SWITCHES) @EXTRA_APP_CC_SWITCHES@
24+
APP_CC_SWITCHES = $(STUB_CC_SWITCHES) @EXTRA_APP_CC_SWITCHES@
2525

2626
-LIBS = @TCL_LIBS@
2727
+LIBS = @TCL_LIBS@ -lc
2828

2929
DEPEND_SWITCHES = ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} \
3030
${AC_FLAGS} ${EXTRA_CFLAGS} @EXTRA_CC_SWITCHES@
31-
@@ -1028,7 +1028,7 @@ install-msgs:
31+
@@ -1146,7 +1146,7 @@ install-msgs:
3232
done
3333

3434
install-doc: doc
@@ -37,24 +37,23 @@ diff -wpruN --no-dereference '--exclude=*.orig' a~/Makefile.in a/Makefile.in
3737
if [ ! -d "$$i" ] ; then \
3838
echo "Making directory $$i"; \
3939
$(INSTALL_DATA_DIR) "$$i"; \
40-
@@ -1038,13 +1038,13 @@ install-doc: doc
40+
@@ -1156,13 +1156,13 @@ install-doc: doc
4141
@for i in $(TOP_DIR)/doc/*.1; do \
4242
$(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN1_INSTALL_DIR)"; \
4343
done
4444
- @echo "Installing and cross-linking C API (.3) docs to $(MAN3_INSTALL_DIR)/"
4545
- @for i in $(TOP_DIR)/doc/*.3; do \
4646
- $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN3_INSTALL_DIR)"; \
47-
- done
48-
- @echo "Installing and cross-linking command (.n) docs to $(MANN_INSTALL_DIR)/";
49-
- @for i in $(TOP_DIR)/doc/*.n; do \
50-
- $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MANN_INSTALL_DIR)"; \
5147
+ @echo "Installing and cross-linking C API (.3tcl) docs to $(MAN3TCL_INSTALL_DIR)/"
5248
+ @for i in $(TOP_DIR)/doc/*.3tcl; do \
5349
+ $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN3TCL_INSTALL_DIR)"; \
54-
+ done
50+
done
51+
- @echo "Installing and cross-linking command (.n) docs to $(MANN_INSTALL_DIR)/";
52+
- @for i in $(TOP_DIR)/doc/*.n; do \
53+
- $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MANN_INSTALL_DIR)"; \
5554
+ @echo "Installing and cross-linking command (.1t) docs to $(MAN1T_INSTALL_DIR)/";
5655
+ @for i in $(TOP_DIR)/doc/*.1t; do \
5756
+ $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN1T_INSTALL_DIR)"; \
5857
done
5958

60-
install-headers:
59+
# Public headers that define Tcl's API

build/tcl/patches-tcl/man.patch

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
diff -wpruN --no-dereference '--exclude=*.orig' a~/installManPage a/installManPage
2-
--- a~/installManPage 1970-01-01 00:00:00
3-
+++ a/installManPage 1970-01-01 00:00:00
4-
@@ -87,8 +87,8 @@ fi
1+
diff -wpruN --no-dereference '--exclude=*.orig' a~/unix/installManPage a/unix/installManPage
2+
--- a~/unix/installManPage 1970-01-01 00:00:00
3+
+++ a/unix/installManPage 1970-01-01 00:00:00
4+
@@ -102,8 +102,8 @@ fi
55

66
case $ManPage in
77
*.1) Section=1 ;;

build/tcl/patches-tcl/series

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
man.patch
22
makefile.patch
3+
alloca.patch

doc/packages.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@
185185
| ooce/network/znc | 1.9.1 | https://znc.in/releases/ | [omniosorg](https://github.com/omniosorg)
186186
| ooce/ooceapps | github-latest | https://github.com/omniosorg/ooceapps/releases | [omniosorg](https://github.com/omniosorg)
187187
| ooce/print/cups | 2.4.11 | https://github.com/OpenPrinting/cups/releases | [omniosorg](https://github.com/omniosorg)
188-
| ooce/runtime/expect | 5.45.4 | https://sourceforge.net/projects/expect/files/Expect/ | [omniosorg](https://github.com/omniosorg)
188+
| ooce/runtime/expect | 5.45.4.1 | https://wiki.tcl-lang.org/page/Porting+extensions+to+Tcl+9 https://sourceforge.net/projects/expect/files/Expect/ | [omniosorg](https://github.com/omniosorg)
189189
| ooce/runtime/gnu-smalltalk | 3.2.5 | https://ftp.gnu.org/gnu/smalltalk/ | [omniosorg](https://github.com/omniosorg)
190190
| ooce/runtime/groovy-30 | 3.0.21 | https://groovy.apache.org/download.html | [omniosorg](https://github.com/omniosorg)
191191
| ooce/runtime/groovy-40 | 4.0.21 | https://groovy.apache.org/download.html | [omniosorg](https://github.com/omniosorg)
@@ -197,7 +197,7 @@
197197
| ooce/runtime/ruby-32 | 3.2.6 | https://www.ruby-lang.org/en/downloads/ | [omniosorg](https://github.com/omniosorg)
198198
| ooce/runtime/ruby-33 | 3.3.7 | https://www.ruby-lang.org/en/downloads/ | [omniosorg](https://github.com/omniosorg)
199199
| ooce/runtime/ruby-34 | 3.4.1 | https://www.ruby-lang.org/en/downloads/ | [omniosorg](https://github.com/omniosorg)
200-
| ooce/runtime/tcl | 8.6.14 | https://sourceforge.net/projects/tcl/files/Tcl/ https://www.tcl.tk/software/tcltk/download.html | [omniosorg](https://github.com/omniosorg)
200+
| ooce/runtime/tcl | 9.0.1 | https://sourceforge.net/projects/tcl/files/Tcl/ https://www.tcl.tk/software/tcltk/download.html | [omniosorg](https://github.com/omniosorg)
201201
| ooce/security/gnupg | 2.4.7 | https://gnupg.org/download/ | [omniosorg](https://github.com/omniosorg)
202202
| ooce/security/minisign | 0.12 | https://github.com/jedisct1/minisign/releases | [omniosorg](https://github.com/omniosorg)
203203
| ooce/security/oath-toolkit | 2.6.12 | https://download.savannah.nongnu.org/releases/oath-toolkit/ | [omniosorg](https://github.com/omniosorg)

0 commit comments

Comments
 (0)