@@ -7,15 +7,15 @@ ARG ARG_LIBTOOL_VERSION=2.4.6
77ARG ARG_NCURSES_VERSION=6.3
88ARG ARG_LTM_VERSION=1.2.0
99ARG ARG_ZLIB_VERSION=1.3.1
10- ARG ARG_ICU_VERSION=70 -1
10+ ARG ARG_ICU_VERSION=77 -1
1111
1212ARG ARG_CPUCOUNT=24
1313
1414ARG ARG_CTNG_UID=1000
1515ARG ARG_CTNG_GID=1000
1616
1717
18- FROM debian:bookworm as builder
18+ FROM $ARG_BASE AS builder
1919
2020ARG ARG_TARGET_ARCH
2121ARG ARG_CTNF_CONFIG
@@ -25,7 +25,6 @@ ARG ARG_LIBTOOL_VERSION
2525ARG ARG_NCURSES_VERSION
2626ARG ARG_LTM_VERSION
2727ARG ARG_ZLIB_VERSION
28- ARG ARG_ICU_VERSION
2928
3029ARG ARG_CPUCOUNT
3130
@@ -71,10 +70,9 @@ RUN groupadd -g $ARG_CTNG_GID ctng && \
7170
7271USER ctng
7372
74- COPY --from=asfernandes /firebird-builder:fb6-x64-ng-v1 --chown=ctng:ctng /home/ctng/x-tools /home/ctng/x-tools
73+ COPY --from=firebirdsql /firebird-builder-linux :fb6-x64-ng-v2 --chown=ctng:ctng /home/ctng/x-tools /home/ctng/x-tools
7574
7675RUN mkdir ~/build && \
77- curl -SL --output ~/build/icu4c-${ARG_ICU_VERSION}-src.tgz https://github.com/unicode-org/icu/releases/download/release-${ARG_ICU_VERSION}/icu4c-`echo ${ARG_ICU_VERSION} | tr - _`-src.tgz && \
7876 curl -SL --output ~/build/ncurses-${ARG_NCURSES_VERSION}.tar.gz https://ftp.gnu.org/pub/gnu/ncurses/ncurses-${ARG_NCURSES_VERSION}.tar.gz && \
7977 curl -SL --output ~/build/libtool-${ARG_LIBTOOL_VERSION}.tar.gz https://ftpmirror.gnu.org/libtool/libtool-${ARG_LIBTOOL_VERSION}.tar.gz && \
8078 curl -SL --output ~/build/ltm-${ARG_LTM_VERSION}.tar.xz https://github.com/libtom/libtommath/releases/download/v${ARG_LTM_VERSION}/ltm-${ARG_LTM_VERSION}.tar.xz && \
@@ -110,8 +108,8 @@ RUN sudo apt-get -y remove \
110108 libtomcrypt-dev && \
111109 sudo rm -rf /var/lib/apt/lists/*
112110
113- ENV PATH "/home/ctng/x-tools/x86_64-pc-linux-gnu/bin:/home/ctng/x-tools/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sysroot/usr/local/bin:${PATH}"
114- ENV PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/bin:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin:${PATH}"
111+ ENV PATH= "/home/ctng/x-tools/x86_64-pc-linux-gnu/bin:/home/ctng/x-tools/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sysroot/usr/local/bin:${PATH}"
112+ ENV PATH= "/home/ctng/x-tools/${ARG_TARGET_ARCH}/bin:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin:${PATH}"
115113
116114RUN cd ~/build && \
117115 mkdir -p libtool-${ARG_LIBTOOL_VERSION}-src && \
@@ -180,38 +178,20 @@ RUN cd ~/build && \
180178 make -j${ARG_CPUCOUNT} && \
181179 make install
182180
183- RUN cd ~/build && \
184- mkdir icu4c-${ARG_ICU_VERSION}-src && \
185- tar xvf icu4c-${ARG_ICU_VERSION}-src.tgz --strip 1 -C icu4c-${ARG_ICU_VERSION}-src && \
186- mkdir icu4c-${ARG_ICU_VERSION}-build-x86_64 && \
187- cd icu4c-${ARG_ICU_VERSION}-build-x86_64 && \
188- CXXFLAGS='-std=c++20 -static-libstdc++' ../icu4c-${ARG_ICU_VERSION}-src/source/runConfigureICU \
189- Linux \
190- --host=x86_64-pc-linux-gnu && \
191- make -j${ARG_CPUCOUNT}
192-
193- RUN cd ~/build && \
194- mkdir icu4c-${ARG_ICU_VERSION}-build && \
195- cd icu4c-${ARG_ICU_VERSION}-build && \
196- CXXFLAGS='-std=c++20 -static-libstdc++' ../icu4c-${ARG_ICU_VERSION}-src/source/runConfigureICU \
197- Linux \
198- --host=${ARG_TARGET_ARCH} \
199- --with-cross-build=/home/ctng/build/icu4c-${ARG_ICU_VERSION}-build-x86_64 \
200- --prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local \
201- --includedir=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/include && \
202- make -j${ARG_CPUCOUNT} && \
203- make install
204-
205181
206182FROM $ARG_BASE
207183
208184ARG ARG_TARGET_ARCH
209185ARG ARG_CTNG_UID
210186ARG ARG_CTNG_GID
187+ ARG ARG_ICU_VERSION
188+ ARG ARG_CPUCOUNT
211189
212190RUN apt-get update && \
213191 apt-get -y install \
214192 cmake \
193+ gosu \
194+ curl \
215195 libc6-amd64-cross \
216196 libfile-copy-recursive-perl \
217197 unzip && \
@@ -221,20 +201,36 @@ RUN ln -s /usr/x86_64-linux-gnu/lib64 /lib64 && \
221201 groupadd -g $ARG_CTNG_GID ctng && \
222202 useradd -d /home/ctng -m -g $ARG_CTNG_GID -u $ARG_CTNG_UID -s /bin/bash ctng
223203
224- USER ctng
225-
226- RUN chmod o=u /home/ctng
204+ RUN mkdir /home/ ctng/firebird-build && \
205+ chown ctng:ctng /home/ctng/firebird-build && \
206+ chmod o=u /home/ctng
227207
228208COPY --from=builder --chown=ctng:ctng /home/ctng/x-tools /home/ctng/x-tools
229209COPY --chown=ctng:ctng scripts/* /
230210
231211# Let non-emulated x86_64-linux-gnu make run.
232212RUN rm /home/ctng/x-tools/${ARG_TARGET_ARCH}/bin/make
233213
234- ENV PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/bin:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin:/home/ctng/x-tools/x86_64-pc-linux-gnu/bin:${PATH}"
214+ ENV PATH= "/home/ctng/x-tools/${ARG_TARGET_ARCH}/bin:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/bin:/home/ctng/x-tools/x86_64-pc-linux-gnu/bin:${PATH}"
235215ENV LIBRARY_PATH "/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib"
236216ENV LD_LIBRARY_PATH "/usr/x86_64-linux-gnu/lib:/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr/local/lib"
237217
218+ RUN mkdir ~/build && \
219+ cd ~/build && \
220+ curl -SL --output icu4c-${ARG_ICU_VERSION}-src.tgz https://github.com/unicode-org/icu/releases/download/release-${ARG_ICU_VERSION}/icu4c-`echo ${ARG_ICU_VERSION} | tr - _`-src.tgz && \
221+ mkdir icu4c-${ARG_ICU_VERSION}-src && \
222+ tar xvf icu4c-${ARG_ICU_VERSION}-src.tgz --strip 1 -C icu4c-${ARG_ICU_VERSION}-src && \
223+ mkdir icu4c-${ARG_ICU_VERSION}-build && \
224+ cd icu4c-${ARG_ICU_VERSION}-build && \
225+ CXXFLAGS='-std=c++20 -static-libstdc++' ../icu4c-${ARG_ICU_VERSION}-src/source/runConfigureICU \
226+ Linux \
227+ --host=${ARG_TARGET_ARCH} \
228+ --prefix=/home/ctng/x-tools/${ARG_TARGET_ARCH}/${ARG_TARGET_ARCH}/sysroot/usr && \
229+ make -j${ARG_CPUCOUNT} && \
230+ make install && \
231+ cd / && \
232+ rm -rf ~/build
233+
238234ENV BUILD_ARCH=$ARG_TARGET_ARCH
239235
240236WORKDIR /firebird
0 commit comments