60 lines
1.8 KiB
Docker
60 lines
1.8 KiB
Docker
|
|
FROM almalinux:9
|
||
|
|
|
||
|
|
USER root
|
||
|
|
|
||
|
|
# Build Dependencies (and dump version to logging)
|
||
|
|
RUN dnf install -y python311 zlib-devel ncurses-devel readline-devel cairo-devel freeglut-devel \
|
||
|
|
mesa-libGLU-devel mesa-libGL-devel libX11-devel libstdc++-devel gcc gcc-c++ make git tcsh \
|
||
|
|
zip \
|
||
|
|
&& echo "### rpm -qa:" \
|
||
|
|
&& rpm -qa | sort \
|
||
|
|
&& echo ""
|
||
|
|
#RUN dnf group install -y "Development Tools"
|
||
|
|
|
||
|
|
# Tcl/Tk
|
||
|
|
WORKDIR /tcl
|
||
|
|
RUN curl -L https://prdownloads.sourceforge.net/tcl/tcl9.0.1-src.tar.gz | tar --strip-components=1 -xzC . \
|
||
|
|
&& cd unix \
|
||
|
|
&& ./configure --prefix=/prefix \
|
||
|
|
&& make \
|
||
|
|
&& make install install-libraries install-msgs install-tzdata
|
||
|
|
|
||
|
|
WORKDIR /tk
|
||
|
|
RUN curl -L https://prdownloads.sourceforge.net/tcl/tk9.0.1-src.tar.gz | tar --strip-components=1 -xzC . \
|
||
|
|
&& cd unix \
|
||
|
|
&& ./configure --prefix=/prefix --with-tcl=/prefix/lib \
|
||
|
|
&& make \
|
||
|
|
&& make install install-libraries
|
||
|
|
|
||
|
|
WORKDIR /prefix/bin
|
||
|
|
RUN cp ./wish9.0 ./wish
|
||
|
|
RUN cp ./tclsh9.0 ./tclsh
|
||
|
|
|
||
|
|
# Magic
|
||
|
|
WORKDIR /magic
|
||
|
|
COPY . .
|
||
|
|
|
||
|
|
RUN ./configure \
|
||
|
|
--prefix=/prefix \
|
||
|
|
--with-tcl=/prefix/lib \
|
||
|
|
--with-tk=/prefix/lib \
|
||
|
|
&& make clean \
|
||
|
|
&& make database/database.h \
|
||
|
|
&& make -j$(nproc) \
|
||
|
|
&& make install
|
||
|
|
|
||
|
|
# Produce summary of what was created and confirm their DSOs
|
||
|
|
RUN echo "### filesystem:" \
|
||
|
|
find /prefix -printf "%y/%M/%m %i/%n %l %u/%U %g/%G %s/%b %T+/%T@\t%p\n"; \
|
||
|
|
ls -lR /prefix; \
|
||
|
|
find /prefix -type f -perm /111 -exec bash -c "echo \#\#\# {}; ldd -v {}" \; 2>/dev/null; \
|
||
|
|
for name in libgcc_s libstdc++ libpng liblzma libxml2 libz libcairo libGL libGLU; do \
|
||
|
|
find /lib64 /usr/lib64 -maxdepth 2 -name "*.so" -name "${name}*" -exec bash -c "echo \#\#\# {}; ldd -v {}" \; 2>/dev/null; \
|
||
|
|
done; \
|
||
|
|
echo "###"
|
||
|
|
|
||
|
|
WORKDIR /
|
||
|
|
RUN tar -czf /prefix.tar.gz -C ./prefix .
|
||
|
|
|
||
|
|
CMD ["/bin/bash"]
|