Skip to content

Commit 8e44c60

Browse files
committed
Tcl 8.6.16
1 parent ac59a8b commit 8e44c60

File tree

5 files changed

+14
-63
lines changed

5 files changed

+14
-63
lines changed

AlpineTclBaseImage/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ ARG TCL_BUILD_HOME=/opt/tcl_build
66

77
# Install dependencies, download and install Tcl, and clean up in a single RUN command to reduce layers
88
RUN apk add --no-cache bash gcc musl-dev openssl openssl-dev build-base zlib-dev \
9-
&& wget https://sourceforge.net/projects/tcl/files/Tcl/9.0.1/tcl901-src.zip -O tcl.zip \
9+
&& wget https://sourceforge.net/projects/tcl/files/Tcl/8.6.16/tcl8616-src.zip -O tcl.zip \
1010
&& mkdir -p ${TCL_BUILD_HOME}/tcl \
1111
&& unzip tcl.zip -d ${TCL_BUILD_HOME}/tcl \
12-
&& cd ${TCL_BUILD_HOME}/tcl/tcl9.0.1/unix \
12+
&& cd ${TCL_BUILD_HOME}/tcl/tcl8.6.16/unix \
1313
&& ./configure --enable-64bit --enable-threads \
1414
&& make \
1515
&& make install \

AlpineTclBaseImage/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 tcl-alpine .
2+
docker build --build-arg BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") --pull --no-cache -t tcl-alpine .

UbuntuTclNaviserver/Dockerfile

+9-58
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ ARG NS_BUILD_HOME=/opt/ns_build
77
ARG PG_INCL=/usr/include/postgresql
88
ARG PG_LIB=/usr/lib
99
ARG TCL_LIB=/usr/share/tcltk
10+
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
11+
ENV TCL_LIB=/usr/local/lib
1012

1113
# Install build dependencies
1214
RUN apt-get update \
13-
&& apt-get install -y --no-install-recommends locales unzip automake git gcc zip wget lsb-release xz-utils openssl \
15+
&& apt-get install -y --no-install-recommends locales unzip automake git gcc zip wget lsb-release xz-utils openssl build-essential zlib1g-dev libssl-dev libpq-dev \
1416
&& locale-gen C.UTF-8 \
1517
&& update-locale LANG=C.UTF-8 \
1618
&& apt-get clean \
@@ -21,51 +23,7 @@ RUN apt-get update \
2123
# Compile and install Naviserver
2224
&& git clone https://github.com/naviserver-project/naviserver.git ${NS_BUILD_HOME}/src/naviserver \
2325
&& cd ${NS_BUILD_HOME}/src/naviserver \
24-
&& ./autogen.sh --prefix=$NS_HOME --enable-symbols --enable-threads && make
25-
26-
27-
28-
# Stage 2: Create a temporary image to run 'make install'
29-
FROM ubuntu:jammy AS naviserver-installer
30-
31-
ARG DEBIAN_FRONTEND=noninteractive
32-
ARG NS_HOME=/opt/ns
33-
ARG NS_BUILD_HOME=/opt/ns_build
34-
ARG PG_INCL=/usr/include/postgresql
35-
ARG PG_LIB=/usr/lib
36-
ARG TCL_LIB=/usr/share/tcltk
37-
38-
COPY --from=naviserver-builder ${NS_BUILD_HOME} ${NS_BUILD_HOME}
39-
RUN apt-get update \
40-
&& apt-get install -y --no-install-recommends locales make \
41-
&& locale-gen C.UTF-8 \
42-
&& update-locale LANG=C.UTF-8 \
43-
&& apt-get clean \
44-
&& apt-get autoremove -y \
45-
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
46-
&& cd ${NS_BUILD_HOME}/src/naviserver \
47-
&& make install
48-
49-
50-
# Stage 3: Build the an image to install additional modules
51-
FROM ubuntu:jammy AS module-installer
52-
ARG DEBIAN_FRONTEND=noninteractive
53-
ARG NS_HOME=/opt/ns
54-
ARG NS_BUILD_HOME=/opt/ns_build
55-
ARG PG_INCL=/usr/include/postgresql
56-
ARG PG_LIB=/usr/lib
57-
ARG TCL_LIB=/usr/share/tcltk
58-
59-
COPY --from=naviserver-installer ${NS_HOME} ${NS_HOME}
60-
RUN apt-get update \
61-
&& apt-get install -y --no-install-recommends locales unzip tcl tcl-dev tcllib tdom tcl-tls tcl-thread libssl-dev libpng-dev libpq-dev automake nsf nsf-shells fortune fortunes imagemagick file git gcc zip libcurl4-openssl-dev wget iputils-ping brotli libxml2-utils curl ca-certificates gnupg2 lsb-release xz-utils make \
62-
&& locale-gen C.UTF-8 \
63-
&& update-locale LANG=C.UTF-8 \
64-
&& apt-get clean \
65-
&& apt-get autoremove -y \
66-
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
67-
&& git config --global http.sslverify false \
68-
&& git config --global https.sslverify false \
26+
&& ./autogen.sh --prefix=$NS_HOME --enable-threads --enable-64bit && make && make install \
6927
# Compile and install NS_DBPG
7028
&& git clone https://github.com/naviserver-project/nsdbpg.git ${NS_BUILD_HOME}/src/nsdbpg \
7129
&& cd ${NS_BUILD_HOME}/src/nsdbpg \
@@ -95,29 +53,22 @@ RUN apt-get update \
9553
&& cd ${NS_BUILD_HOME}/src/nsstats \
9654
&& make NAVISERVER=$NS_HOME && make NAVISERVER=$NS_HOME install \
9755
&& rm -rf ${NS_BUILD_HOME}/src
56+
57+
9858

9959
# Stage 2: Final Image
10060
FROM siqsuruq/ubuntu-tcl
10161

102-
LABEL maintainer="[email protected]"
103-
LABEL version="0.3"
104-
LABEL description="This is custom Docker Image for Naviserver"
105-
10662
ARG DEBIAN_FRONTEND=noninteractive
10763
ARG NS_HOME=/opt/ns
108-
ARG NS_BUILD_HOME=/opt/ns_build
109-
ARG PG_INCL=/usr/include/postgresql
110-
ARG PG_LIB=/usr/lib
11164
ARG TCL_LIB=/usr/share/tcltk
112-
ENV LC_ALL=C.UTF-8
65+
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
11366

114-
COPY --from=module-installer ${NS_HOME} ${NS_HOME}
67+
COPY --from=naviserver-builder ${NS_HOME} ${NS_HOME}
11568

11669
# Compile and install NS
11770
RUN apt-get update \
118-
&& apt-get install -y --no-install-recommends locales \
119-
&& locale-gen C.UTF-8 \
120-
&& update-locale LANG=C.UTF-8 \
71+
&& apt-get install -y --no-install-recommends fortune imagemagick brotli libxml2 \
12172
&& apt-get clean \
12273
&& apt-get autoremove -y \
12374
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \

UbuntuTclNaviserver/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 naviserver .
2+
docker build --pull --no-cache -t siqsuruq/naviserver:ubuntu .

UbuntuTclNaviserver/run.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,4 @@ docker run --name=${CTNR} \
3030
--workdir=/opt/ns \
3131
--restart=always \
3232
--runtime=runc \
33-
--detach=true siqsuruq/naviserver:latest
33+
--detach=true siqsuruq/naviserver:ubuntu

0 commit comments

Comments
 (0)