-
Notifications
You must be signed in to change notification settings - Fork 35
/
Dockerfile
171 lines (135 loc) · 6.28 KB
/
Dockerfile
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# syntax=docker/dockerfile:1.4
# Copyright (c) Contributors to the aswf-docker Project. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
# !!! This file is automatically generated from a template and the `image.yaml` file in the same folder !!!
ARG ASWF_ORG
ARG ASWF_PKG_ORG
ARG CI_COMMON_VERSION
ARG ASWF_CLANG_MAJOR_VERSION
ARG ASWF_CONAN_CHANNEL
ARG ASWF_VFXPLATFORM_VERSION
ARG ASWF_PYTHON_VERSION
ARG ASWF_PYBIND11_VERSION
ARG ASWF_TBB_VERSION
ARG ASWF_BOOST_VERSION
ARG ASWF_GLEW_VERSION
ARG ASWF_GLFW_VERSION
ARG ASWF_CMAKE_VERSION
ARG ASWF_IMATH_VERSION
ARG ASWF_OPENEXR_VERSION
ARG ASWF_OIIO_VERSION
ARG ASWF_BLOSC_VERSION
ARG ASWF_PARTIO_VERSION
ARG ASWF_OPENVDB_VERSION
ARG ASWF_OSL_VERSION
ARG ASWF_NUMPY_VERSION
ARG ASWF_VFXPLATFORM_VERSION
ARG ASWF_PYTHON_MAJOR_MINOR_VERSION
# Comment out this block to use Conan packages
FROM ${ASWF_PKG_ORG}/ci-package-imath:$ASWF_VFXPLATFORM_VERSION-$ASWF_IMATH_VERSION AS ci-package-imath
FROM ${ASWF_PKG_ORG}/ci-package-openexr:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENEXR_VERSION AS ci-package-openexr
FROM ${ASWF_PKG_ORG}/ci-package-oiio:$ASWF_VFXPLATFORM_VERSION-$ASWF_OIIO_VERSION AS ci-package-oiio
FROM ${ASWF_PKG_ORG}/ci-package-openvdb:$ASWF_VFXPLATFORM_VERSION-$ASWF_OPENVDB_VERSION AS ci-package-openvdb
FROM ${ASWF_PKG_ORG}/ci-package-osl:$ASWF_VFXPLATFORM_VERSION-$ASWF_OSL_VERSION AS ci-package-osl
FROM ${ASWF_ORG}/ci-common:${CI_COMMON_VERSION}-clang${ASWF_CLANG_MAJOR_VERSION} AS ci-ocio
ARG ASWF_ORG
ARG ASWF_PKG_ORG
ARG ASWF_VERSION
ARG CI_COMMON_VERSION
ARG ASWF_CONAN_CHANNEL
ARG ASWF_PYTHON_VERSION
ARG ASWF_PYBIND11_VERSION
ARG ASWF_TBB_VERSION
ARG ASWF_BOOST_VERSION
ARG ASWF_GLEW_VERSION
ARG ASWF_GLFW_VERSION
ARG ASWF_CMAKE_VERSION
ARG ASWF_IMATH_VERSION
ARG ASWF_OPENEXR_VERSION
ARG ASWF_OIIO_VERSION
ARG ASWF_BLOSC_VERSION
ARG ASWF_PARTIO_VERSION
ARG ASWF_OPENVDB_VERSION
ARG ASWF_OSL_VERSION
ARG ASWF_NUMPY_VERSION
ARG ASWF_VFXPLATFORM_VERSION
ARG ASWF_PYTHON_MAJOR_MINOR_VERSION
LABEL org.opencontainers.image.name="$ASWF_ORG/ci-ocio"
LABEL org.opencontainers.image.title="OpenColorIO CI Docker Image"
LABEL org.opencontainers.image.description="Contains: Python, TBB, Boost and other OpenColorIO upstream dependencies\
Warning: this image does *not* contain OpenColorIO itself as it is used to *build* OpenColorIO!"
LABEL org.opencontainers.image.url="http://aswf.io/"
LABEL org.opencontainers.image.source="https://github.com/AcademySoftwareFoundation/aswf-docker/blob/master/ci-ocio/Dockerfile"
LABEL org.opencontainers.image.vendor="AcademySoftwareFoundation"
LABEL org.opencontainers.image.authors="Built by aswf.io CI Working Group"
LABEL org.opencontainers.image.version="${ASWF_VERSION}"
LABEL com.vfxplatform.version="${ASWF_VFXPLATFORM_VERSION}"
LABEL io.aswf.docker.versions.python="$ASWF_PYTHON_VERSION"
LABEL io.aswf.docker.versions.pybind11="$ASWF_PYBIND11_VERSION"
LABEL io.aswf.docker.versions.tbb="$ASWF_TBB_VERSION"
LABEL io.aswf.docker.versions.boost="$ASWF_BOOST_VERSION"
LABEL io.aswf.docker.versions.glew="$ASWF_GLEW_VERSION"
LABEL io.aswf.docker.versions.glfw="$ASWF_GLFW_VERSION"
LABEL io.aswf.docker.versions.cmake="$ASWF_CMAKE_VERSION"
LABEL io.aswf.docker.versions.imath="$ASWF_IMATH_VERSION"
LABEL io.aswf.docker.versions.openexr="$ASWF_OPENEXR_VERSION"
LABEL io.aswf.docker.versions.oiio="$ASWF_OIIO_VERSION"
LABEL io.aswf.docker.versions.blosc="$ASWF_BLOSC_VERSION"
LABEL io.aswf.docker.versions.partio="$ASWF_PARTIO_VERSION"
LABEL io.aswf.docker.versions.openvdb="$ASWF_OPENVDB_VERSION"
LABEL io.aswf.docker.versions.osl="$ASWF_OSL_VERSION"
LABEL io.aswf.docker.versions.numpy="$ASWF_NUMPY_VERSION"
LABEL io.aswf.docker.versions.vfxplatform="$ASWF_VFXPLATFORM_VERSION"
ENV ASWF_ORG=${ASWF_ORG}
ENV ASWF_VERSION=${ASWF_VERSION}
ENV ASWF_INSTALL_PREFIX=/usr/local
ENV ASWF_VFXPLATFORM_VERSION=${ASWF_VFXPLATFORM_VERSION}
ENV ASWF_PYTHON_VERSION=$ASWF_PYTHON_VERSION
ENV ASWF_PYBIND11_VERSION=$ASWF_PYBIND11_VERSION
ENV ASWF_TBB_VERSION=$ASWF_TBB_VERSION
ENV ASWF_BOOST_VERSION=$ASWF_BOOST_VERSION
ENV ASWF_GLEW_VERSION=$ASWF_GLEW_VERSION
ENV ASWF_GLFW_VERSION=$ASWF_GLFW_VERSION
ENV ASWF_CMAKE_VERSION=$ASWF_CMAKE_VERSION
ENV ASWF_IMATH_VERSION=$ASWF_IMATH_VERSION
ENV ASWF_OPENEXR_VERSION=$ASWF_OPENEXR_VERSION
ENV ASWF_OIIO_VERSION=$ASWF_OIIO_VERSION
ENV ASWF_BLOSC_VERSION=$ASWF_BLOSC_VERSION
ENV ASWF_PARTIO_VERSION=$ASWF_PARTIO_VERSION
ENV ASWF_OPENVDB_VERSION=$ASWF_OPENVDB_VERSION
ENV ASWF_OSL_VERSION=$ASWF_OSL_VERSION
ENV ASWF_NUMPY_VERSION=$ASWF_NUMPY_VERSION
ENV ASWF_VFXPLATFORM_VERSION=$ASWF_VFXPLATFORM_VERSION
ENV ASWF_PYTHON_MAJOR_MINOR_VERSION=$ASWF_PYTHON_MAJOR_MINOR_VERSION
COPY --from=ci-package-imath /. /usr/local/
COPY --from=ci-package-openexr /. /usr/local/
COPY --from=ci-package-oiio /. /usr/local/
COPY --from=ci-package-openvdb /. /usr/local/
COPY --from=ci-package-osl /. /usr/local/
COPY ci-ocio/README.md ci-ocio/image.yaml /usr/local/aswf/
ENV PYTHONPATH=/usr/local/lib/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib64/python${ASWF_PYTHON_MAJOR_MINOR_VERSION}/site-packages:/usr/local/lib/python:${PYTHONPATH}
COPY scripts/common/install_conanpackages.sh /tmp/
# conan-only packages
COPY <<EOF /usr/local/conanfile.txt
[generators]
[imports]
., * -> .
[requires]
python/${ASWF_PYTHON_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
pybind11/${ASWF_PYBIND11_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
tbb/${ASWF_TBB_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
boost/${ASWF_BOOST_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
glew/${ASWF_GLEW_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
glfw/${ASWF_GLFW_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
cmake/${ASWF_CMAKE_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
# imath/${ASWF_IMATH_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
# openexr/${ASWF_OPENEXR_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
# oiio/${ASWF_OIIO_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
blosc/${ASWF_BLOSC_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
partio/${ASWF_PARTIO_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
# openvdb/${ASWF_OPENVDB_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
# osl/${ASWF_OSL_VERSION}@${ASWF_PKG_ORG}/${ASWF_CONAN_CHANNEL}
EOF
RUN --mount=type=cache,target=/opt/conan_home/d \
--mount=type=bind,rw,target=/opt/conan_home/.conan,source=packages/conan/settings \
/tmp/install_conanpackages.sh /usr/local vfx${ASWF_VFXPLATFORM_VERSION}