22
22
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
# SOFTWARE.
24
24
25
- # Use Ubuntu 20.04 LTS
26
- FROM ubuntu:focal-20210416
25
+ FROM python:slim AS src
26
+ RUN pip install build
27
+ RUN apt-get update && \
28
+ apt-get install -y --no-install-recommends git
29
+ COPY . /src/sdcflows
30
+ RUN python -m build /src/sdcflows
31
+
32
+ # Use Ubuntu 22.04 LTS
33
+ FROM ubuntu:jammy-20221130
27
34
28
35
# Prepare environment
29
36
RUN apt-get update && \
@@ -35,8 +42,10 @@ RUN apt-get update && \
35
42
ca-certificates \
36
43
curl \
37
44
git \
45
+ gnupg \
38
46
libtool \
39
47
lsb-release \
48
+ netbase \
40
49
pkg-config \
41
50
unzip \
42
51
xvfb && \
@@ -138,33 +147,33 @@ RUN echo "Downloading Convert3D ..." \
138
147
ENV C3DPATH="/opt/convert3d-1.0.0" \
139
148
PATH="/opt/convert3d-1.0.0/bin:$PATH"
140
149
150
+ # Configure PPA for libpng12
151
+ RUN GNUPGHOME=/tmp gpg --keyserver hkps://keyserver.ubuntu.com --no-default-keyring --keyring /usr/share/keyrings/linuxuprising.gpg --recv 0xEA8CACC073C3DB2A \
152
+ && echo "deb [signed-by=/usr/share/keyrings/linuxuprising.gpg] https://ppa.launchpadcontent.net/linuxuprising/libpng12/ubuntu jammy main" > /etc/apt/sources.list.d/linuxuprising.list
141
153
# AFNI latest (neurodocker build)
142
154
RUN apt-get update -qq \
143
155
&& apt-get install -y -q --no-install-recommends \
144
- apt-utils \
145
156
ed \
146
157
gsl-bin \
147
158
libglib2.0-0 \
148
159
libglu1-mesa-dev \
149
160
libglw1-mesa \
150
161
libgomp1 \
151
162
libjpeg62 \
163
+ libpng12-0 \
152
164
libxm4 \
153
165
netpbm \
154
166
tcsh \
155
167
xfonts-base \
156
168
xvfb \
157
169
&& apt-get clean \
158
170
&& rm -rf /var/lib/apt/lists/* \
159
- && curl -sSL --retry 5 -o /tmp/multiarch.deb http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/multiarch-support_2.27-3ubuntu1.2_amd64 .deb \
171
+ && curl -sSL --retry 5 -o /tmp/multiarch.deb http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/multiarch-support_2.27-3ubuntu1.5_amd64 .deb \
160
172
&& dpkg -i /tmp/multiarch.deb \
161
173
&& rm /tmp/multiarch.deb \
162
174
&& curl -sSL --retry 5 -o /tmp/libxp6.deb http://mirrors.kernel.org/debian/pool/main/libx/libxp/libxp6_1.0.2-2_amd64.deb \
163
175
&& dpkg -i /tmp/libxp6.deb \
164
176
&& rm /tmp/libxp6.deb \
165
- && curl -sSL --retry 5 -o /tmp/libpng.deb http://snapshot.debian.org/archive/debian-security/20160113T213056Z/pool/updates/main/libp/libpng/libpng12-0_1.2.49-1%2Bdeb7u2_amd64.deb \
166
- && dpkg -i /tmp/libpng.deb \
167
- && rm /tmp/libpng.deb \
168
177
&& apt-get install -f \
169
178
&& apt-get clean \
170
179
&& rm -rf /var/lib/apt/lists/* \
@@ -242,13 +251,8 @@ COPY .docker/files/nipype.cfg $HOME/.nipype/nipype.cfg
242
251
WORKDIR /src/sdcflows
243
252
244
253
# Installing SDCFlows
245
- COPY . /src/sdcflows
246
- # Force static versioning within container
247
- ARG VERSION
248
- ENV SETUPTOOLS_SCM_PRETEND_VERSION=${VERSION}
249
- RUN sed -i "s/fallback_version\s =\s\" 0\. 0\" /fallback_version = \" ${VERSION}\" /g" pyproject.toml && \
250
- pip install --no-cache-dir .[all] && \
251
- rm -rf $HOME/.cache/pip
254
+ COPY --from=src /src/sdcflows/dist/*.whl .
255
+ RUN /opt/conda/bin/python -m pip install --no-cache-dir $( ls *.whl )[all]
252
256
253
257
RUN find $HOME -type d -exec chmod go=u {} + && \
254
258
find $HOME -type f -exec chmod go=u {} +
0 commit comments