Skip to content

Commit c2c5c4b

Browse files
committed
Alpine-based Tcl batteries-included Image update to Tcl 8.6.16
1 parent a0286b8 commit c2c5c4b

File tree

4 files changed

+32
-28
lines changed

4 files changed

+32
-28
lines changed

AlpineTclBatteriesIncluded/Dockerfile

+24-20
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ ARG TCL_LIB=/usr/local/lib
77

88
# Install dependencies, download and install Tcl, and clean up in a single RUN command to reduce layers
99
RUN apk add --no-cache bash gcc musl-dev libpq-dev openssl openssl-dev build-base zlib-dev autoconf tar gzip git libpng-dev curl curl-dev \
10-
&& wget https://sourceforge.net/projects/tcl/files/Tcl/8.6.15/tcl8615-src.zip -O tcl.zip \
10+
&& wget https://sourceforge.net/projects/tcl/files/Tcl/8.6.16/tcl8616-src.zip -O tcl.zip \
1111
&& mkdir -p ${TCL_BUILD_HOME}/tcl \
1212
&& unzip tcl.zip -d ${TCL_BUILD_HOME}/tcl \
13-
&& cd ${TCL_BUILD_HOME}/tcl/tcl8.6.15/unix \
13+
&& cd ${TCL_BUILD_HOME}/tcl/tcl8.6.16/unix \
1414
&& ./configure --enable-64bit --enable-threads \
1515
&& make \
1616
&& make install \
17-
&& wget https://github.com/tcltk/tcllib/archive/refs/tags/tcllib-1-21.zip -O tcllib-1-21.zip \
17+
&& wget https://github.com/tcltk/tcllib/archive/refs/tags/tcllib-2-0.zip -O tcllib-2-0.zip \
1818
&& mkdir -p ${TCL_BUILD_HOME}/tcllib \
19-
&& unzip tcllib-1-21.zip -d ${TCL_BUILD_HOME}/tcllib \
20-
&& cd ${TCL_BUILD_HOME}/tcllib/tcllib-tcllib-1-21/ \
19+
&& unzip tcllib-2-0.zip -d ${TCL_BUILD_HOME}/tcllib \
20+
&& cd ${TCL_BUILD_HOME}/tcllib/tcllib-tcllib-2-0/ \
2121
&& ./configure \
2222
&& make install \
2323
&& wget tdom.org/index.html/zip/trunk/tdom-trunk.zip -O tdom-trunk.zip \
@@ -26,23 +26,23 @@ RUN apk add --no-cache bash gcc musl-dev libpq-dev openssl openssl-dev build-bas
2626
&& cd ${TCL_BUILD_HOME}/tdom/tdom-trunk/ \
2727
&& ./configure \
2828
&& make install \
29-
&& wget https://github.com/flightaware/Pgtcl/archive/refs/tags/v3.0.1.zip -O pgtcl.zip \
29+
&& wget https://github.com/flightaware/Pgtcl/archive/refs/tags/v3.1.0.zip -O pgtcl.zip \
3030
&& mkdir -p ${TCL_BUILD_HOME}/pgtcl \
3131
&& unzip pgtcl.zip -d ${TCL_BUILD_HOME}/pgtcl \
32-
&& cd ${TCL_BUILD_HOME}/pgtcl/Pgtcl-3.0.1/ \
32+
&& cd ${TCL_BUILD_HOME}/pgtcl/Pgtcl-3.1.0/ \
3333
&& autoreconf \
3434
&& ./configure && make \
3535
&& make install \
36-
&& wget https://github.com/flightaware/tclcurl-fa/archive/refs/tags/v7.22.0.zip -O v7.22.0.zip \
36+
&& wget https://github.com/flightaware/tclcurl-fa/archive/refs/tags/v7.22.1.zip -O v7.22.1.zip \
3737
&& mkdir -p ${TCL_BUILD_HOME}/tclcurl \
38-
&& unzip v7.22.0.zip -d ${TCL_BUILD_HOME}/tclcurl \
39-
&& cd ${TCL_BUILD_HOME}/tclcurl/tclcurl-fa-7.22.0/ \
38+
&& unzip v7.22.1.zip -d ${TCL_BUILD_HOME}/tclcurl \
39+
&& cd ${TCL_BUILD_HOME}/tclcurl/tclcurl-fa-7.22.1/ \
4040
&& ./configure --enable-64bit && make \
4141
&& make install \
42-
&& wget https://core.tcl-lang.org/tcltls/zip/89a6207a57/tcltls-89a6207a57.zip -O tcltls-1.8.0.zip \
42+
&& wget https://core.tcl-lang.org/tcltls/zip/e03e54ee87/tcltls-e03e54ee87.zip -O tcltls-1.8.0.zip \
4343
&& mkdir -p ${TCL_BUILD_HOME}/tcltls \
4444
&& unzip tcltls-1.8.0.zip -d ${TCL_BUILD_HOME}/tcltls \
45-
&& cd ${TCL_BUILD_HOME}/tcltls/tcltls-89a6207a57/ \
45+
&& cd ${TCL_BUILD_HOME}/tcltls/tcltls-e03e54ee87/ \
4646
&& ./configure --enable-64bit && make \
4747
&& make install-binaries install-libraries \
4848
&& wget https://github.com/nm-wu/nsf/archive/refs/tags/2.4.0.zip -O nsf.zip \
@@ -55,18 +55,19 @@ RUN apk add --no-cache bash gcc musl-dev libpq-dev openssl openssl-dev build-bas
5555
&& cd ${TCL_BUILD_HOME}/src/tzint \
5656
&& ./configure --enable-64bit && make \
5757
&& make install-binaries install-libraries \
58-
&& wget --no-check-certificate https://core.tcl-lang.org/tclvfs/zip/72e30db4a7/tclvfs-72e30db4a7.zip -O tclvfs-72e30db4a7.zip \
58+
&& wget --no-check-certificate https://core.tcl-lang.org/tclvfs/zip/f082c47f9b/tclvfs-f082c47f9b.zip -O tclvfs-f082c47f9b.zip \
5959
&& mkdir -p ${TCL_BUILD_HOME}/src/vfs/ \
60-
&& unzip tclvfs-72e30db4a7.zip -d ${TCL_BUILD_HOME}/src/vfs \
61-
&& mv ${TCL_BUILD_HOME}/src/vfs/tclvfs-72e30db4a7/* ${TCL_BUILD_HOME}/src/vfs/ \
62-
&& wget --no-check-certificate https://core.tcl-lang.org/tclconfig/zip/2a8174cc0c/TEA+%28tclconfig%29+Source+Code-2a8174cc0c.zip -P ${TCL_BUILD_HOME}/src/vfs/ -O ${TCL_BUILD_HOME}/src/vfs/tclconfig.zip \
60+
&& unzip tclvfs-f082c47f9b.zip -d ${TCL_BUILD_HOME}/src/vfs \
61+
&& mv ${TCL_BUILD_HOME}/src/vfs/tclvfs-f082c47f9b/* ${TCL_BUILD_HOME}/src/vfs/ \
62+
&& wget --no-check-certificate https://core.tcl-lang.org/tclconfig/zip/c34cded0a3/TEA+%28tclconfig%29+Source+Code-c34cded0a3.zip -P ${TCL_BUILD_HOME}/src/vfs/ -O ${TCL_BUILD_HOME}/src/vfs/tclconfig.zip \
6363
&& unzip ${TCL_BUILD_HOME}/src/vfs/tclconfig.zip -d ${TCL_BUILD_HOME}/src/vfs/tclconfig \
6464
&& mv ${TCL_BUILD_HOME}/src/vfs/tclconfig/TEA*/* ${TCL_BUILD_HOME}/src/vfs/tclconfig/ \
6565
&& cd ${TCL_BUILD_HOME}/src/vfs \
6666
&& ./configure && make && make install \
67-
&& git clone https://github.com/aschoepe/ooxml.git ${TCL_BUILD_HOME}/src/ooxml \
68-
&& cd ${TCL_BUILD_HOME}/src/ooxml \
69-
&& ./configure && make && make install \
67+
&& wget --no-check-certificate https://fossil.sowaswie.de/ooxml/uv/ooxml1.9.zip -O ooxml1.9.zip \
68+
&& mkdir -p ${TCL_BUILD_HOME}/src/ooxml/ \
69+
&& unzip ooxml1.9.zip -d ${TCL_BUILD_HOME}/src/ooxml \
70+
&& cp -r ${TCL_BUILD_HOME}/src/ooxml/ooxml1.9 $TCL_LIB/ \
7071
&& git clone https://github.com/Siqsuruq/money-tcl-package.git ${TCL_BUILD_HOME}/src/money \
7172
&& cp -r ${TCL_BUILD_HOME}/src/money/money $TCL_LIB/ \
7273
&& git clone https://github.com/Siqsuruq/mimext.git ${TCL_BUILD_HOME}/src/mimext \
@@ -83,10 +84,13 @@ RUN apk add --no-cache bash gcc musl-dev libpq-dev openssl openssl-dev build-bas
8384
# Stage 2: Final Image
8485
FROM alpine:latest
8586

87+
# Declare BUILD_DATE as an argument
88+
ARG BUILD_DATE
89+
8690
# Metadata using OCI Image Format Specification annotations
8791
LABEL org.opencontainers.image.title="Alpine Tcl batteries-included Image"
8892
LABEL org.opencontainers.image.description="A custom Docker image with Alpine, Tcl, Tcllib and some Tcl packages."
89-
LABEL org.opencontainers.image.version="1.1"
93+
LABEL org.opencontainers.image.version="1.2"
9094
LABEL org.opencontainers.image.created=${BUILD_DATE}
9195
LABEL org.opencontainers.image.authors="[email protected]"
9296
LABEL org.opencontainers.image.vendor="Cloudz"

AlpineTclBatteriesIncluded/README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ This Docker image provides a lightweight, Alpine-based environment equipped with
44

55
At this point image brings:
66

7-
- tcl 8.6.15 [official documentation](https://www.tcl-lang.org/man/tcl8.6/)
8-
- tcllib 1.21 [list of packages included](https://core.tcl-lang.org/tcllib/doc/tcllib-1-21/embedded/md/toc.md)
9-
- tdom 0.9.3
10-
- Pgtcl 3.0.1
7+
- tcl 8.6.16 [official documentation](https://www.tcl-lang.org/man/tcl8.6/)
8+
- tcllib 2.0 [list of packages included](https://core.tcl-lang.org/tcllib/doc/tcllib-2-0/embedded/md/toc.md)
9+
- tdom 0.9.5
10+
- Pgtcl 3.1.0
1111
- tls 1.8.0
1212
- nsf 2.4.0
1313
- tzint 1.1.0
1414
- TclCurl 7.22.0
1515
- vfs 1.4.2
16-
- ooxml 1.6.1
16+
- ooxml 1.9.0
1717
- money 1.0.1
1818
- mimext 1.1.0
1919
- hrfilesize 1.0.0

AlpineTclBatteriesIncluded/build.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
#!/bin/bash
2-
docker build --pull --no-cache -t tclbi-alpine .
2+
docker build --build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") --pull --no-cache -t tclbi-alpine .

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ This repository contains a collection of Docker images designed for various purp
66

77
### AlpineTclBaseImage
88

9-
This image serves as a base image with Tcl and tcllib installed on Alpine Linux. It's optimized for size, making it an excellent choice for Tcl applications that require a minimal footprint. Size: 44.5 MB
9+
This image serves as a base image with Tcl and tcllib installed on Alpine Linux. It's optimized for size, making it an excellent choice for Tcl applications that require a minimal footprint. Size: 39.8 MB
1010

1111
**Directory:** `AlpineTclBaseImage/`
1212

1313
### AlpineTclBatteriesIncluded
1414

15-
This image also serves as a base image with Tcl, tcllib plus aditional packages installed on Alpine Linux. It's optimized for size, making it an excellent choice for Tcl applications that require a minimal footprint. Size: 54.4 MB
15+
This image also serves as a base image with Tcl, tcllib plus aditional packages installed on Alpine Linux. It's optimized for size, making it an excellent choice for Tcl applications that require a minimal footprint. Size: 51.1 MB
1616

1717
**Directory:** `AlpineTclBatteriesIncluded/`
1818

0 commit comments

Comments
 (0)