diff --git a/Dockerfile.build b/Dockerfile.build index cd05647..cf09504 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -1,19 +1,18 @@ -FROM debian:11 +FROM debian:12 ENV TZ=Europe/Berlin ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/nim-2.2.4/bin RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \ && apt-get update && apt-get install -y \ git \ gcc-12 \ - tcl-dev \ - tk-dev \ + gcc \ + xz-utils \ + libpcre3 \ wget \ - dbus \ - make \ && wget https://nim-lang.org/download/nim-2.2.4-linux_x64.tar.xz \ && tar -xf nim-2.2.4-linux_x64.tar.xz \ && rm nim-2.2.4-linux_x64.tar.xz \ && nimble install -y unittest2 "nimalyzer@#head" contracts \ - && apt purge -y wget dbus \ + && apt purge -y wget \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfile.buildwin64 b/Dockerfile.buildwin64 index 2e40cb7..3c0f7ed 100644 --- a/Dockerfile.buildwin64 +++ b/Dockerfile.buildwin64 @@ -1,73 +1,23 @@ -FROM ubuntu:jammy +FROM debian:12 ENV TZ=Europe/Berlin -ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/gnat/bin:/nim-2.2.0/bin +ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/nim-2.2.4/bin RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \ && apt-get update && apt-get install -y \ wget \ - make \ - tcl \ + gcc-12 \ gcc \ - gnat \ git \ unzip \ binutils \ - gnat-mingw-w64-x86-64 \ - gprbuild \ + gcc-mingw-w64-x86-64 \ + libpcre3 \ xz-utils \ - && sed -i -e 's/-pc-mingw/-w64-mingw/g' /usr/share/gprconfig/* \ - && ln -s /bin/x86_64-w64-mingw32-ar /bin/x86_64-windows-ar \ - && mkdir -p /usr/libexec/gprbuild \ - && ln -s /usr/lib/gprbuild/gprlib /usr/libexec/gprbuild/gprlib \ - && wget https://nim-lang.org/download/nim-2.2.0-linux_x64.tar.xz \ - && tar -xf nim-2.2.0-linux_x64.tar.xz \ - && rm nim-2.2.0-linux_x64.tar.xz \ + && wget https://nim-lang.org/download/nim-2.2.4-linux_x64.tar.xz \ + && tar -xf nim-2.2.4-linux_x64.tar.xz \ + && rm nim-2.2.4-linux_x64.tar.xz \ && nimble install -y "nimalyzer@#head" contracts \ - && wget https://github.com/AdaCore/xmlada/archive/community-2019.tar.gz \ - && tar -xf community-2019.tar.gz \ - && cd xmlada-community-2019 \ - && ./configure --prefix=/usr --disable-shared --target=x86_64-windows \ - && make \ - && make install \ - && cd .. \ - && rm -rf xmlada-community-2019 \ - && rm community-2019.tar.gz \ - && wget https://prdownloads.sourceforge.net/tcl/tcl8.6.12-src.tar.gz \ - && tar -xzf tcl8.6.12-src.tar.gz \ - && rm tcl8.6.12-src.tar.gz \ - && cd tcl8.6.12/win \ - && ./configure --prefix=/opt --host=x86_64-w64-mingw32 \ - && make -j2 \ - && make install \ - && cd / \ - && wget https://prdownloads.sourceforge.net/tcl/tk8.6.12-src.tar.gz \ - && tar -xzf tk8.6.12-src.tar.gz \ - && rm tk8.6.12-src.tar.gz \ - && cd tk8.6.12/win \ - && ./configure --prefix=/opt --host=x86_64-w64-mingw32 --with-tcl=/opt/lib \ - && make -j2 \ - && make install \ - && cd / \ - && rm -rf tcl8.6.12 \ - && rm -rf tk8.6.12 \ - && wget https://github.com/thindil/tashy/archive/refs/tags/8.6.12.tar.gz \ - && tar -xf 8.6.12.tar.gz \ - && cd /tashy-8.6.12 \ - && sed -i -e 's/$CC/$CC -I\/opt\/include/g' scripts/setup.tcl \ - && tclsh scripts/setup.tcl --nogui \ - && sed -i -e 's/usr/opt/g' tash_options.gpr \ - && sed -i -e 's/8.6/86/g' tash_options.gpr \ - && sed -i -e 's/""/"-L\/opt\/lib"/g' tash_options.gpr \ - && sed -i -e 's/"-fpic",//g' tash_options.gpr \ - && sed -i -e 's/"-lto",//g' tash_options.gpr \ - && gprbuild -P tashy.gpr -XLIBRARY_TYPE=static --target=x86_64-windows \ - && gprinstall -f -P tashy.gpr --create-missing-dirs -XLIBRARY_TYPE=static --build-var=LIBRARY_TYPE --build-name=static --target=x86_64-windows \ - && cd .. \ - && rm -rf /tashy-8.6.12 \ - && rm 8.6.12.tar.gz \ && apt-get purge -y \ wget \ - gcc \ - gnat \ unzip \ && apt-get autoremove -y && apt-get clean \ && rm -rf /var/lib/apt/lists/*