2023-07-05 05:43:25 -07:00
|
|
|
# FROM line will be added dynamically
|
|
|
|
|
|
|
|
WORKDIR /tmp
|
|
|
|
|
2023-09-25 06:45:36 -07:00
|
|
|
# Package spirv-tools from Debian has two problems for us: first, it
|
|
|
|
# doesn't have shared libraries; second, it's not multiarch. So we
|
|
|
|
# have to rebuild it with some tweaks. In order to make it multiarch
|
|
|
|
# we also have to drop the executables, but we don't care about those
|
|
|
|
# anyway.
|
|
|
|
|
2023-07-05 05:43:25 -07:00
|
|
|
RUN export DEBIAN_FRONTEND=noninteractive; \
|
|
|
|
echo 'path-exclude=/usr/share/doc/*' > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft && \
|
|
|
|
echo 'path-exclude=/usr/share/locale/*' >> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft && \
|
|
|
|
echo 'path-exclude=/usr/share/man/*' >> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft && \
|
|
|
|
echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf && \
|
|
|
|
echo '#!/bin/sh' > /usr/sbin/policy-rc.d && \
|
|
|
|
echo 'exit 101' >> /usr/sbin/policy-rc.d && \
|
|
|
|
chmod +x /usr/sbin/policy-rc.d && \
|
|
|
|
dpkg --add-architecture i386 && \
|
2023-09-25 06:45:36 -07:00
|
|
|
sed -i -e 's|Types: deb|Types: deb deb-src|g' /etc/apt/sources.list.d/* && \
|
2023-07-05 05:43:25 -07:00
|
|
|
apt-get update && \
|
|
|
|
apt-get dist-upgrade -y && \
|
2023-09-25 06:45:36 -07:00
|
|
|
apt-get install -y build-essential pkg-config gcc-mingw-w64 crossbuild-essential-i386 \
|
2023-10-02 05:07:28 -07:00
|
|
|
autoconf automake libtool flex bison curl \
|
2023-07-05 05:43:25 -07:00
|
|
|
git ca-certificates rsync \
|
|
|
|
doxygen doxygen-latex graphviz \
|
|
|
|
mesa-vulkan-drivers mesa-vulkan-drivers:i386 \
|
|
|
|
vulkan-tools spirv-headers \
|
2023-09-21 22:31:31 -07:00
|
|
|
libegl-dev libegl-dev:i386 \
|
2023-07-05 05:43:25 -07:00
|
|
|
libvulkan-dev libvulkan-dev:i386 \
|
|
|
|
libncurses-dev libncurses-dev:i386 \
|
2023-09-21 22:31:31 -07:00
|
|
|
libopengl-dev libopengl-dev:i386 \
|
2023-07-05 05:43:25 -07:00
|
|
|
libxcb1-dev libxcb1-dev:i386 \
|
|
|
|
libxcb-util-dev libxcb-util-dev:i386 \
|
|
|
|
libxcb-icccm4-dev libxcb-icccm4-dev:i386 \
|
|
|
|
libxcb-keysyms1-dev libxcb-keysyms1-dev:i386 && \
|
2023-09-25 06:45:36 -07:00
|
|
|
apt-get build-dep -y spirv-tools && \
|
|
|
|
apt-get build-dep -y -ai386 spirv-tools && \
|
2023-07-05 05:43:25 -07:00
|
|
|
git clone --depth 1 --branch wine-3.21 https://gitlab.winehq.org/wine/wine.git && \
|
|
|
|
cd wine && \
|
|
|
|
mkdir build && \
|
|
|
|
cd build && \
|
2023-09-26 07:33:09 -07:00
|
|
|
../configure --enable-win64 --without-x --without-freetype && \
|
2023-07-05 05:43:25 -07:00
|
|
|
make tools/widl/widl && \
|
|
|
|
cp tools/widl/widl /usr/local/bin && \
|
|
|
|
cd ../.. && \
|
|
|
|
rm -rf wine && \
|
2023-09-25 06:45:36 -07:00
|
|
|
apt-get source spirv-tools && \
|
|
|
|
cd spirv-tools-* && \
|
|
|
|
sed -i -e 's|-DBUILD_SHARED_LIBS=OFF|-DBUILD_SHARED_LIBS=ON|g' debian/rules && \
|
|
|
|
sed -i -e 's|dh_install$|dh_install \&\& rm debian/spirv-tools/usr/bin/*|g' debian/rules && \
|
|
|
|
sed -i '/Architecture: any/a Multi-Arch: same' debian/control && \
|
|
|
|
dpkg-buildpackage -uc -us && \
|
|
|
|
cd .. && \
|
|
|
|
rm -f spirv-tools-dbgsym_*.deb && \
|
|
|
|
dpkg -i spirv-tools_*.deb && \
|
|
|
|
rm -fr * && \
|
|
|
|
apt-get source spirv-tools && \
|
|
|
|
cd spirv-tools-* && \
|
|
|
|
sed -i -e 's|-DBUILD_SHARED_LIBS=OFF|-DBUILD_SHARED_LIBS=ON|g' debian/rules && \
|
|
|
|
sed -i -e 's|dh_install$|dh_install \&\& rm debian/spirv-tools/usr/bin/*|g' debian/rules && \
|
|
|
|
sed -i '/Architecture: any/a Multi-Arch: same' debian/control && \
|
|
|
|
CONFIG_SITE=/etc/dpkg-cross/cross-config.amd64 DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -ai386 -Pcross,nocheck -uc -us && \
|
|
|
|
cd .. && \
|
|
|
|
rm -f spirv-tools-dbgsym_*.deb && \
|
|
|
|
dpkg -i spirv-tools_*.deb && \
|
|
|
|
rm -fr * && \
|
2023-07-05 05:43:25 -07:00
|
|
|
apt-get clean && \
|
2023-10-02 05:07:28 -07:00
|
|
|
curl -L -s https://github.com/microsoft/DirectXShaderCompiler/releases/download/v1.7.2308/linux_dxc_2023_08_14.x86_64.tar.gz | tar zx -C /usr/local ./lib/libdxcompiler.so ./lib/libdxil.so && \
|
2023-08-29 13:59:50 -07:00
|
|
|
groupadd host-render -g 800 && \
|
|
|
|
useradd -m gitlab -G host-render
|
2023-07-05 05:43:25 -07:00
|
|
|
|
|
|
|
USER gitlab
|