This repository has been archived by the owner on Oct 28, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile.perf
62 lines (56 loc) · 2.34 KB
/
Dockerfile.perf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Build vips
FROM amazonlinux:2 as builder
RUN yum update -y
RUN yum groupinstall -y "Development Tools"
RUN mkdir /build
# Build libgsf
RUN yum install -y wget pkgconfig glib2-devel gtk-doc libxml2-devel
ENV GSFVERSION 1_14_47
RUN \
cd /build && \
wget https://gitlab.gnome.org/GNOME/libgsf/-/archive/LIBGSF_${GSFVERSION}/libgsf-LIBGSF_${GSFVERSION}.tar.gz && \
tar zxvf libgsf-LIBGSF_${GSFVERSION}.tar.gz && \
cd /build/libgsf-LIBGSF_${GSFVERSION} && \
./autogen.sh && \
make && \
make install
# Build OpenSlide
RUN yum install -y libjpeg-turbo-devel openjpeg-devel libtiff-devel cairo-devel gdk-pixbuf2-devel sqlite-devel
ENV OSVERSION 3.4.1
RUN \
cd /build && \
wget https://github.com/openslide/openslide/releases/download/v${OSVERSION}/openslide-${OSVERSION}.tar.gz && \
tar zxvf openslide-${OSVERSION}.tar.gz && \
cd openslide-${OSVERSION} && \
./configure && \
make && \
make install
# Build libvips
RUN yum install -y unzip glib2-devel expat-devel gobject-introspection-devel libexif-devel lcms2-devel
ENV VIPSVERSION 8.10.0
ENV PKG_CONFIG_PATH /usr/local/lib/pkgconfig/
RUN \
cd /tmp && \
wget https://github.com/libvips/libvips/releases/download/v${VIPSVERSION}-rc1/vips-${VIPSVERSION}-rc1.tar.gz && \
tar zxvf vips-${VIPSVERSION}-rc1.tar.gz && \
cd /tmp/vips-${VIPSVERSION} && \
CFLAGS="-O2 -g -fno-omit-frame-pointer" CXXFLAGS="-O2 -g -fno-omit-frame-pointer" \
./configure --with-gsf=yes --with-openslide=yes --enable-debug=no --enable-deprecated=no && \
make && \
make install
RUN ldconfig /
# Add (to) aws-cli
FROM amazon/aws-cli
RUN yum update -y \
&& yum install -y less groff glib2 expat libtiff libjpeg-turbo libexif lcms2 perl libpng cairo openjpeg-libs gdk-pixbuf2 \
&& yum clean all
COPY --from=builder /usr/local/bin/vips /usr/local/bin/
COPY --from=builder /usr/local/bin/vipsheader /usr/local/bin/
COPY --from=builder /usr/local/bin/vipsprofile /usr/local/bin/
COPY --from=builder /usr/local/lib/libvips.so.42 /usr/local/lib
COPY --from=builder /usr/local/lib/libgsf-1.so.114 /usr/local/lib
COPY --from=builder /usr/local/lib/libopenslide.so.0 /usr/local/lib
RUN cd /usr/local/lib && ln -s libvips.so.42 libvips.so && ln -s libgsf-1.so.114 libgsf-1.so && ln -s libopenslide.so.0 libopenslide.so
COPY src/ /usr/local/bin/
RUN amazon-linux-extras enable BCC
RUN yum install -y procps-ng strace kernel-tools perf bcc