Skip to content

Instantly share code, notes, and snippets.

@macton
Last active November 5, 2023 02:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save macton/55d02e2a98cebd7041e78e50ba78dc8d to your computer and use it in GitHub Desktop.
Save macton/55d02e2a98cebd7041e78e50ba78dc8d to your computer and use it in GitHub Desktop.
Unity on CentOS 7 on WSL2
# syntax=docker/dockerfile:1
FROM centos:7 as stage-1
##
## Install unityhub, chromimum, visual studio code, dotnet, gcc10 (+dependencies)
##
RUN yum -y install centos-release-scl-rh
RUN yum -y install epel-release
RUN yum -y install http://www.nosuchhost.net/~cheese/fedora/packages/epel-7/x86_64/cheese-release-7-1.noarch.rpm
RUN yum -y install https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
RUN yum -y install dnf
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
RUN echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo
RUN echo -e "[unityhub]\nname=Unity Hub\nbaseurl=https://hub.unity3d.com/linux/repos/rpm/stable\nenabled=1\ngpgcheck=1\ngpgkey=https://hub.unity3d.com/linux/repos/rpm/stable/repodata/repomd.xml.key\nrepo_gpgcheck=1" > /etc/yum.repos.d/unityhub.repo
RUN dnf -y install \
abattis-cantarell-fonts-0.0.25-1.el7 \
accountsservice-0.6.50-7.el7 \
accountsservice-libs-0.6.50-7.el7 \
adwaita-cursor-theme-3.28.0-1.el7 \
adwaita-gtk2-theme-3.28-2.el7 \
adwaita-icon-theme-3.28.0-1.el7 \
alsa-lib-1.1.8-1.el7 \
at-spi2-atk-2.26.2-1.el7 \
at-spi2-core-2.28.0-1.el7 \
atk-2.28.1-2.el7 \
atkmm-2.24.2-1.el7 \
audit-libs-python-2.8.5-4.el7 \
avahi-0.6.31-20.el7 \
avahi-glib-0.6.31-20.el7 \
avahi-libs-0.6.31-20.el7 \
bash-4.2.46-35.el7_9 \
bind-license-9.11.4-26.P2.el7_9.13 \
binutils-2.27-44.base.el7_9.1 \
bison-3.0.4-2.el7 \
bluez-5.44-7.el7 \
bolt-0.7-1.el7 \
boost-1.53.0-28.el7 \
boost-atomic-1.53.0-28.el7 \
boost-chrono-1.53.0-28.el7 \
boost-context-1.53.0-28.el7 \
boost-date-time-1.53.0-28.el7 \
boost-devel-1.53.0-28.el7 \
boost-filesystem-1.53.0-28.el7 \
boost-graph-1.53.0-28.el7 \
boost-iostreams-1.53.0-28.el7 \
boost-locale-1.53.0-28.el7 \
boost-math-1.53.0-28.el7 \
boost-program-options-1.53.0-28.el7 \
boost-python-1.53.0-28.el7 \
boost-random-1.53.0-28.el7 \
boost-regex-1.53.0-28.el7 \
boost-serialization-1.53.0-28.el7 \
boost-signals-1.53.0-28.el7 \
boost-system-1.53.0-28.el7 \
boost-test-1.53.0-28.el7 \
boost-thread-1.53.0-28.el7 \
boost-timer-1.53.0-28.el7 \
boost-wave-1.53.0-28.el7 \
bsdtar-3.1.2-14.el7_7 \
byacc-1.9.20130304-3.el7 \
bzip2-1.0.6-13.el7 \
bzip2-devel-1.0.6-13.el7 \
ca-certificates-2022.2.54-74.el7_9 \
cairo-1.15.12-4.el7 \
cairo-gobject-1.15.12-4.el7 \
cairomm-1.12.0-1.el7 \
capnproto-libs-0.5.3.1-1.el7 \
cdparanoia-libs-10.2-17.el7 \
centos-logos-70.0.6-3.el7.centos \
checkpolicy-2.5-8.el7 \
cheese-libs-3.28.0-1.el7 \
cheese-libs-3.28.0-1.el7 \
clutter-1.26.2-2.el7 \
clutter-gst3-3.0.26-1.el7 \
clutter-gtk-1.8.4-1.el7 \
cmake3-3.17.5-1.el7 \
cmake3-data-3.17.5-1.el7 \
cogl-1.22.2-2.el7 \
color-filesystem-1-13.el7 \
colord-1.3.4-2.el7 \
colord-gtk-0.1.25-4.el7 \
colord-libs-1.3.4-2.el7 \
compat-libcolord1-1.0.4-1.el7 \
compat-libical1-1.0.1-2.el7 \
compat-libxcb-1.9-1.el7 \
compat-lua-libs-5.1.5-3.el7 \
control-center-3.28.1-8.el7_9.1 \
control-center-3.28.1-8.el7_9.1 \
control-center-filesystem-3.28.1-8.el7_9.1 \
control-center-filesystem-3.28.1-8.el7_9.1 \
coreutils-8.22-24.el7_9.2 \
cpp-4.8.5-44.el7 \
crash-7.2.3-11.el7_9.1 \
ctags-5.8-13.el7 \
cups-libs-1.6.3-51.el7 \
cups-libs-1.6.3-51.el7 \
cups-pk-helper-0.2.6-2.el7 \
curl-7.29.0-59.el7_9.1 \
cyrus-sasl-lib-2.1.26-24.el7_9 \
dbus-x11-1.10.24-15.el7 \
dbus-x11-1.10.24-15.el7 \
dconf-0.28.0-4.el7 \
dejagnu-1.5.1-3.el7 \
dejavu-fonts-common-2.33-6.el7 \
dejavu-sans-fonts-2.33-6.el7 \
dejavu-sans-mono-fonts-2.33-6.el7 \
desktop-file-utils-0.23-2.el7 \
device-mapper-1.02.170-6.el7_9.5 \
device-mapper-libs-1.02.170-6.el7_9.5 \
devtoolset-10-10.1-0.el7 \
devtoolset-10-annobin-9.23-4.el7.1 \
devtoolset-10-annobin-annocheck-9.23-4.el7.1 \
devtoolset-10-binutils-2.35-5.el7.4 \
devtoolset-10-binutils-devel-2.35-5.el7.4 \
devtoolset-10-build-10.1-0.el7 \
devtoolset-10-dwz-0.12-1.1.el7 \
devtoolset-10-dyninst-10.2.1-1.el7 \
devtoolset-10-dyninst-devel-10.2.1-1.el7 \
devtoolset-10-dyninst-doc-10.2.1-1.el7 \
devtoolset-10-dyninst-static-10.2.1-1.el7 \
devtoolset-10-dyninst-testsuite-10.2.1-1.el7 \
devtoolset-10-elfutils-0.182-3.el7 \
devtoolset-10-elfutils-debuginfod-0.182-3.el7 \
devtoolset-10-elfutils-debuginfod-client-0.182-3.el7 \
devtoolset-10-elfutils-debuginfod-client-devel-0.182-3.el7 \
devtoolset-10-elfutils-devel-0.182-3.el7 \
devtoolset-10-elfutils-libelf-0.182-3.el7 \
devtoolset-10-elfutils-libelf-devel-0.182-3.el7 \
devtoolset-10-elfutils-libs-0.182-3.el7 \
devtoolset-10-gcc-10.2.1-11.2.el7 \
devtoolset-10-gcc-c++-10.2.1-11.2.el7 \
devtoolset-10-gcc-gdb-plugin-10.2.1-11.2.el7 \
devtoolset-10-gcc-gfortran-10.2.1-11.2.el7 \
devtoolset-10-gcc-plugin-devel-10.2.1-11.2.el7 \
devtoolset-10-gdb-9.2-10.el7 \
devtoolset-10-gdb-doc-9.2-10.el7 \
devtoolset-10-gdb-gdbserver-9.2-10.el7 \
devtoolset-10-libasan-devel-10.2.1-11.2.el7 \
devtoolset-10-libatomic-devel-10.2.1-11.2.el7 \
devtoolset-10-libgccjit-10.2.1-11.2.el7 \
devtoolset-10-libgccjit-devel-10.2.1-11.2.el7 \
devtoolset-10-libgccjit-docs-10.2.1-11.2.el7 \
devtoolset-10-libitm-devel-10.2.1-11.2.el7 \
devtoolset-10-liblsan-devel-10.2.1-11.2.el7 \
devtoolset-10-libquadmath-devel-10.2.1-11.2.el7 \
devtoolset-10-libstdc++-devel-10.2.1-11.2.el7 \
devtoolset-10-libstdc++-docs-10.2.1-11.2.el7 \
devtoolset-10-libtsan-devel-10.2.1-11.2.el7 \
devtoolset-10-libubsan-devel-10.2.1-11.2.el7 \
devtoolset-10-ltrace-0.7.91-1.el7 \
devtoolset-10-make-4.2.1-1.el7 \
devtoolset-10-make-4.2.1-1.el7 \
devtoolset-10-make-devel-4.2.1-1.el7 \
devtoolset-10-memstomp-0.1.5-6.el7 \
devtoolset-10-oprofile-1.4.0-1.el7 \
devtoolset-10-oprofile-devel-1.4.0-1.el7 \
devtoolset-10-oprofile-jit-1.4.0-1.el7 \
devtoolset-10-perftools-10.1-0.el7 \
devtoolset-10-runtime-10.1-0.el7 \
devtoolset-10-strace-5.7-3.el7 \
devtoolset-10-systemtap-4.4-6.el7 \
devtoolset-10-systemtap-client-4.4-6.el7 \
devtoolset-10-systemtap-devel-4.4-6.el7 \
devtoolset-10-systemtap-initscript-4.4-6.el7 \
devtoolset-10-systemtap-runtime-4.4-6.el7 \
devtoolset-10-systemtap-runtime-python2-4.4-6.el7 \
devtoolset-10-systemtap-sdt-devel-4.4-6.el7 \
devtoolset-10-systemtap-server-4.4-6.el7 \
devtoolset-10-systemtap-testsuite-4.4-6.el7 \
devtoolset-10-toolchain-10.1-0.el7 \
devtoolset-10-valgrind-3.16.1-5.el7 \
devtoolset-10-valgrind-3.16.1-5.el7 \
devtoolset-10-valgrind-devel-3.16.1-5.el7 \
diffutils-3.3-6.el7_9 \
dwz-0.11-3.el7 \
efivar-libs-36-12.el7 \
emacs-filesystem-24.3-23.el7 \
enchant-1.6.0-8.el7 \
enchant-1.6.0-8.el7 \
evolution-data-server-3.28.5-5.el7_9.1 \
evolution-data-server-langpacks-3.28.5-5.el7_9.1 \
exo-0.10.7-1.el7 \
expat-2.1.0-15.el7_9 \
expat-devel-2.1.0-15.el7_9 \
expect-5.45-14.el7_1 \
fipscheck-1.4.1-6.el7 \
fipscheck-lib-1.4.1-6.el7 \
flac-libs-1.3.0-5.el7_1 \
flatpak-1.0.9-12.el7_9 \
flatpak-libs-1.0.9-12.el7_9 \
flex-2.5.37-6.el7 \
fontconfig-2.13.0-4.3.el7 \
fontpackages-filesystem-1.44-8.el7 \
freetype-2.8-14.el7_9.1 \
fribidi-1.0.2-1.el7_7.1 \
fuse-2.9.2-11.el7 \
fuse-libs-2.9.2-11.el7 \
garcon-0.4.0-3.el7 \
gcc-4.8.5-44.el7 \
gcc-c++-4.8.5-44.el7 \
GConf2-3.2.6-8.el7 \
gcr-3.28.0-1.el7 \
gdb-7.6.1-120.el7 \
gdk-pixbuf2-2.36.12-3.el7 \
gdm-3.28.2-26.el7 \
gdm-3.28.2-26.el7 \
geoclue2-2.4.8-1.el7 \
geoclue2-libs-2.4.8-1.el7 \
geocode-glib-3.26.0-3.el7 \
giflib-4.1.6-9.el7 \
git-1.8.3.1-24.el7_9 \
gjs-1.52.5-1.el7_6 \
glfw-3.2.1-2.el7 \
glfw-devel-3.2.1-2.el7 \
glib-networking-2.56.1-1.el7 \
glib2-2.56.1-9.el7_9 \
glibc-2.17-326.el7_9 \
glibc-common-2.17-326.el7_9 \
glibc-devel-2.17-326.el7_9 \
glibc-headers-2.17-326.el7_9 \
glibc-static-2.17-326.el7_9 \
glibmm24-2.56.0-1.el7 \
glx-utils-8.3.0-10.el7 \
gmp-devel-6.0.0-15.el7 \
gmp-devel-6.0.0-15.el7 \
gnome-bluetooth-3.28.2-1.el7 \
gnome-bluetooth-3.28.2-1.el7 \
gnome-bluetooth-libs-3.28.2-1.el7 \
gnome-bluetooth-libs-3.28.2-1.el7 \
gnome-desktop3-3.28.2-2.el7 \
gnome-icon-theme-3.12.0-1.el7 \
gnome-icon-theme-legacy-3.12.0-1.el7 \
gnome-keyring-3.28.2-1.el7 \
gnome-keyring-pam-3.28.2-1.el7 \
gnome-online-accounts-3.28.2-1.el7 \
gnome-session-3.28.1-8.el7 \
gnome-settings-daemon-3.28.1-11.el7_9 \
gnome-shell-3.28.3-34.el7_9 \
gnome-themes-standard-3.28-2.el7 \
gnutls-3.3.29-9.el7_6 \
google-noto-emoji-color-fonts-20180508-4.el7 \
graphite2-1.3.10-1.el7_3 \
grilo-0.3.6-1.el7 \
groff-base-1.22.2-8.el7 \
gsettings-desktop-schemas-3.28.0-3.el7 \
gsm-1.0.13-11.el7 \
gstreamer1-1.10.4-2.el7 \
gstreamer1-plugins-bad-free-1.10.4-3.el7 \
gstreamer1-plugins-base-1.10.4-2.el7 \
gtk-update-icon-cache-3.22.30-8.el7_9 \
gtk2-2.24.31-1.el7 \
gtk3-3.22.30-8.el7_9 \
gtkmm30-3.22.2-1.el7 \
gzip-1.5-11.el7_9 \
harfbuzz-1.7.5-2.el7 \
harfbuzz-icu-1.7.5-2.el7 \
hicolor-icon-theme-0.12-7.el7 \
hunspell-1.3.2-16.el7 \
hunspell-en-US-0.20121024-6.el7 \
hwdata-0.252-9.7.el7 \
hyphen-2.8.6-5.el7 \
ibus-1.5.17-12.el7_9 \
ibus-gtk2-1.5.17-12.el7_9 \
ibus-gtk3-1.5.17-12.el7_9 \
ibus-libs-1.5.17-12.el7_9 \
ibus-setup-1.5.17-12.el7_9 \
initscripts-9.49.53-1.el7_9.1 \
iproute-4.11.0-30.el7 \
iptables-1.4.21-35.el7 \
iso-codes-3.46-2.el7 \
jansson-2.10-1.el7 \
jasper-libs-1.900.1-33.el7 \
jbigkit-libs-2.0-11.el7 \
json-glib-1.4.2-2.el7 \
kernel-debug-devel-3.10.0-1160.90.1.el7 \
kernel-headers-3.10.0-1160.90.1.el7 \
keybinder3-0.3.0-1.el7 \
keyutils-libs-devel-1.5.8-3.el7 \
kpartx-0.4.9-136.el7_9 \
krb5-devel-1.15.1-55.el7_9 \
krb5-libs-1.15.1-55.el7_9 \
lcms2-2.6-3.el7 \
less-458-9.el7 \
libappstream-glib-0.7.8-2.el7 \
libarchive-3.1.2-14.el7_7 \
libasan6-11.2.1-9.1.el7 \
libasyncns-0.8-7.el7 \
libatomic-4.8.5-44.el7 \
libblkid-2.23.2-65.el7_9.1 \
libcanberra-0.30-9.el7 \
libcanberra-gtk3-0.30-9.el7 \
libcgroup-0.41-21.el7 \
libcom_err-devel-1.42.9-19.el7 \
libcroco-0.6.12-6.el7_9 \
libcurl-7.29.0-59.el7_9.1 \
libcurl-devel-7.29.0-59.el7_9.1 \
libdaemon-0.14-7.el7 \
libdrm-2.4.97-2.el7 \
libdvdnav-5.0.3-1.el7 \
libdvdread-5.0.3-3.el7 \
libedit-3.0-12.20121213cvs.el7 \
libedit-devel-3.0-12.20121213cvs.el7 \
libepoxy-1.5.2-1.el7 \
libevdev-1.5.6-1.el7 \
libexif-0.6.22-2.el7_9 \
libffi-devel-3.0.13-19.el7 \
libfontenc-1.1.3-3.el7 \
libgcab1-0.7-4.el7_4 \
libgdata-0.17.9-1.el7 \
libgfortran5-8.3.1-2.1.1.el7 \
libglvnd-1.0.1-0.8.git5baa1e5.el7 \
libglvnd-1.0.1-0.8.git5baa1e5.el7 \
libglvnd-egl-1.0.1-0.8.git5baa1e5.el7 \
libglvnd-egl-1.0.1-0.8.git5baa1e5.el7 \
libglvnd-gles-1.0.1-0.8.git5baa1e5.el7 \
libglvnd-gles-1.0.1-0.8.git5baa1e5.el7 \
libglvnd-glx-1.0.1-0.8.git5baa1e5.el7 \
libglvnd-glx-1.0.1-0.8.git5baa1e5.el7 \
libgnomekbd-3.26.0-3.el7 \
libgomp-4.8.5-44.el7 \
libgtop2-2.38.0-3.el7 \
libgudev1-219-78.el7_9.7 \
libgusb-0.2.9-1.el7 \
libgweather-3.28.2-4.el7_9 \
libical-3.0.3-2.el7 \
libICE-1.0.9-9.el7 \
libICE-devel-1.0.9-9.el7 \
libicu-50.2-4.el7_7 \
libimobiledevice-1.2.0-1.el7 \
libinput-1.10.7-2.el7 \
libitm-4.8.5-44.el7 \
libjpeg-turbo-1.2.90-8.el7 \
libjpeg-turbo-devel-1.2.90-8.el7 \
libkadm5-1.15.1-55.el7_9 \
libldb-1.5.4-2.el7 \
liblsan-11.2.1-9.1.el7 \
libmicrohttpd-0.9.33-2.el7 \
libmnl-1.0.3-7.el7 \
libmodman-2.0.1-8.el7 \
libmount-2.23.2-65.el7_9.1 \
libmpc-1.0.1-3.el7 \
libmpc-devel-1.0.1-3.el7 \
libmpcdec-1.2.6-12.el7 \
libndp-1.2-9.el7 \
libnetfilter_conntrack-1.0.6-1.el7_3 \
libnfnetlink-1.0.1-4.el7 \
libnl3-3.2.28-4.el7 \
libnma-1.8.6-2.el7 \
libnotify-0.7.7-1.el7 \
liboauth-0.9.7-4.el7 \
libogg-1.3.0-7.el7 \
libogg-1.3.0-7.el7 \
libpcap-1.5.3-13.el7_9 \
libpcap-1.5.3-13.el7_9 \
libpciaccess-0.14-1.el7 \
libpciaccess-devel-0.14-1.el7 \
libplist-1.12-3.el7 \
libpng-1.5.13-8.el7 \
libpng-1.5.13-8.el7 \
libproxy-0.4.11-11.el7 \
libquadmath-4.8.5-44.el7 \
librsvg2-2.40.20-1.el7 \
libseccomp-2.3.1-4.el7 \
libsecret-0.18.6-1.el7 \
libselinux-devel-2.5-15.el7 \
libselinux-python-2.5-15.el7 \
libselinux-utils-2.5-15.el7 \
libsemanage-python-2.5-14.el7 \
libsepol-devel-2.5-10.el7 \
libsigc++20-2.10.0-1.el7 \
libSM-1.2.2-2.el7 \
libSM-devel-1.2.2-2.el7 \
libsmartcols-2.23.2-65.el7_9.1 \
libsmbclient-4.10.16-24.el7_9 \
libsndfile-1.0.25-12.el7_9.1 \
libsoup-2.62.2-2.el7 \
libsrtp-1.4.4-11.20101004cvs.el7 \
libstdc++-devel-4.8.5-44.el7 \
libtalloc-2.1.16-1.el7 \
libtdb-1.3.18-1.el7 \
libtevent-0.9.39-1.el7 \
libthai-0.1.14-9.el7 \
libtheora-1.1.1-8.el7 \
libtheora-1.1.1-8.el7 \
libtiff-4.0.3-35.el7 \
libtirpc-0.2.4-0.16.el7 \
libtool-ltdl-2.4.2-22.el7_3 \
libtsan-11.2.1-9.1.el7 \
libubsan1-11.2.1-9.1.el7 \
libunwind-1.2-2.el7 \
libunwind-devel-1.2-2.el7 \
libusbmuxd-1.0.10-5.el7 \
libusbx-1.0.21-1.el7 \
libuuid-2.23.2-65.el7_9.1 \
libuv-1.44.2-1.el7 \
libuv-1.44.2-1.el7 \
libverto-devel-0.2.5-4.el7 \
libvisual-0.4.0-16.el7 \
libvorbis-1.3.3-8.el7.1 \
libvorbis-1.3.3-8.el7.1 \
libwacom-0.30-1.el7 \
libwacom-data-0.30-1.el7 \
libwayland-client-1.15.0-1.el7 \
libwayland-cursor-1.15.0-1.el7 \
libwayland-egl-1.15.0-1.el7 \
libwayland-server-1.15.0-1.el7 \
libwbclient-4.10.16-24.el7_9 \
libwebp-0.3.0-11.el7 \
libwnck-2.31.0-1.el7 \
libX11-1.6.7-4.el7_9 \
libX11-common-1.6.7-4.el7_9 \
libX11-devel-1.6.7-4.el7_9 \
libXau-1.0.8-2.1.el7 \
libXau-devel-1.0.8-2.1.el7 \
libXaw-1.0.13-4.el7 \
libxcb-1.13-1.el7 \
libxcb-devel-1.13-1.el7 \
libxcb-doc-1.13-1.el7 \
libXcomposite-0.4.4-4.1.el7 \
libXcursor-1.1.15-1.el7 \
libXcursor-devel-1.1.15-1.el7 \
libXdamage-1.1.4-4.1.el7 \
libXdmcp-1.1.2-6.el7 \
libXext-1.3.3-3.el7 \
libXext-devel-1.3.3-3.el7 \
libxfce4ui-4.12.1-3.el7 \
libxfce4util-4.12.1-2.el7 \
libXfixes-5.0.3-1.el7 \
libXfixes-devel-5.0.3-1.el7 \
libXft-2.3.2-2.el7 \
libXi-1.7.9-1.el7 \
libXi-devel-1.7.9-1.el7 \
libXinerama-1.1.3-2.1.el7 \
libXinerama-devel-1.1.3-2.1.el7 \
libxkbcommon-0.7.1-3.el7 \
libxkbcommon-devel-0.7.1-3.el7 \
libxkbcommon-x11-0.7.1-3.el7 \
libxkbcommon-x11-devel-0.7.1-3.el7 \
libxkbfile-1.0.9-3.el7 \
libxkbfile-devel-1.0.9-3.el7 \
libxklavier-5.4-7.el7 \
libxml2-2.9.1-6.el7_9.6 \
libxml2-devel-2.9.1-6.el7_9.6 \
libxml2-python-2.9.1-6.el7_9.6 \
libXmu-1.1.2-2.el7 \
libXpm-3.5.12-2.el7_9 \
libXrandr-1.5.1-2.el7 \
libXrandr-devel-1.5.1-2.el7 \
libXrender-0.9.10-1.el7 \
libXrender-devel-0.9.10-1.el7 \
libXres-1.2.0-1.el7 \
libxshmfence-1.2-1.el7 \
libxshmfence-devel-1.2-1.el7 \
libxslt-1.1.28-6.el7 \
libXt-1.1.5-3.el7 \
libXt-devel-1.1.5-3.el7 \
libXtst-1.2.3-1.el7 \
libXv-1.0.11-1.el7 \
libXxf86misc-1.0.3-7.1.el7 \
libXxf86vm-1.1.4-1.el7 \
libXxf86vm-devel-1.1.4-1.el7 \
libzstd-1.5.5-1.el7 \
llvm-private-7.0.1-1.el7 \
lua-5.3.0-2.el7 \
lua-devel-5.3.0-2.el7 \
lzo-2.06-8.el7 \
m4-1.4.16-10.el7 \
mailcap-2.1.41-2.el7 \
make-3.82-24.el7 \
make-3.82-24.el7 \
mesa-dri-drivers-18.3.4-12.el7_9 \
mesa-filesystem-18.3.4-12.el7_9 \
mesa-libEGL-18.3.4-12.el7_9 \
mesa-libgbm-18.3.4-12.el7_9 \
mesa-libGL-18.3.4-12.el7_9 \
mesa-libglapi-18.3.4-12.el7_9 \
mobile-broadband-provider-info-1.20170310-1.el7 \
ModemManager-glib-1.6.10-4.el7 \
mokutil-15-8.el7 \
mozjs17-17.0.0-20.el7 \
mozjs52-52.9.0-1.el7 \
mpfr-3.1.1-4.el7 \
mpfr-devel-3.1.1-4.el7 \
mtdev-1.1.5-5.el7 \
mutter-3.28.3-32.el7_9 \
nasm-2.10.07-7.el7 \
ncurses-devel-5.9-14.20130511.el7_4 \
nettle-2.7.1-9.el7_9 \
NetworkManager-1.18.8-2.el7_9 \
NetworkManager-1.18.8-2.el7_9 \
NetworkManager-glib-1.18.8-2.el7_9 \
NetworkManager-glib-1.18.8-2.el7_9 \
NetworkManager-libnm-1.18.8-2.el7_9 \
NetworkManager-libnm-1.18.8-2.el7_9 \
NetworkManager-wifi-1.18.8-2.el7_9 \
NetworkManager-wifi-1.18.8-2.el7_9 \
ninja-build-1.10.2-3.el7 \
nm-connection-editor-1.8.6-2.el7 \
nmap-ncat-6.40-19.el7 \
nmap-ncat-6.40-19.el7 \
nspr-4.34.0-3.1.el7_9 \
nss-3.79.0-5.el7_9 \
nss-softokn-3.79.0-4.el7_9 \
nss-softokn-freebl-3.79.0-4.el7_9 \
nss-sysinit-3.79.0-5.el7_9 \
nss-tools-3.79.0-5.el7_9 \
nss-util-3.79.0-1.el7_9 \
numactl-libs-2.0.12-5.el7 \
ocaml-4.05.0-6.el7 \
ocaml-compiler-libs-4.05.0-6.el7 \
ocaml-runtime-4.05.0-6.el7 \
ocaml-srpm-macros-5-2.el7 \
openjpeg-libs-1.5.1-18.el7 \
openldap-2.4.44-25.el7_9 \
openssh-7.4p1-22.el7_9 \
openssh-askpass-7.4p1-22.el7_9 \
openssh-clients-7.4p1-22.el7_9 \
openssl-1.0.2k-26.el7_9 \
openssl-1.0.2k-26.el7_9 \
openssl-devel-1.0.2k-26.el7_9 \
openssl-libs-1.0.2k-26.el7_9 \
opus-1.0.2-6.el7 \
orage-4.12.1-3.el7 \
orc-0.4.26-1.el7 \
pango-1.42.4-4.el7_7 \
pangomm-2.40.1-1.el7 \
patch-2.7.1-12.el7_7 \
pavucontrol-3.0-5.el7 \
pciutils-3.5.1-3.el7 \
pciutils-libs-3.5.1-3.el7 \
pcre-devel-8.32-17.el7 \
pcre2-10.23-2.el7 \
perf-3.10.0-1160.90.1.el7 \
perl-5.16.3-299.el7_9 \
perl-5.16.3-299.el7_9 \
perl-Business-ISBN-2.06-2.el7 \
perl-Business-ISBN-Data-20120719.001-2.el7 \
perl-Carp-1.26-244.el7 \
perl-Compress-Raw-Bzip2-2.061-3.el7 \
perl-Compress-Raw-Zlib-2.061-4.el7 \
perl-Compress-Raw-Zlib-2.061-4.el7 \
perl-constant-1.27-2.el7 \
perl-Data-Dumper-2.145-3.el7 \
perl-DBI-1.627-4.el7 \
perl-Encode-2.51-7.el7 \
perl-Encode-Locale-1.03-5.el7 \
perl-Error-0.17020-2.el7 \
perl-Exporter-5.68-3.el7 \
perl-File-Path-2.09-2.el7 \
perl-File-Temp-0.23.01-3.el7 \
perl-Filter-1.49-3.el7 \
perl-Getopt-Long-2.40-3.el7 \
perl-Git-1.8.3.1-24.el7_9 \
perl-HTML-Parser-3.71-4.el7 \
perl-HTML-Tagset-3.20-15.el7 \
perl-HTTP-Date-6.02-8.el7 \
perl-HTTP-Message-6.06-6.el7 \
perl-HTTP-Tiny-0.033-3.el7 \
perl-IO-Compress-2.061-2.el7 \
perl-IO-HTML-1.00-2.el7 \
perl-libs-5.16.3-299.el7_9 \
perl-libs-5.16.3-299.el7_9 \
perl-LWP-MediaTypes-6.02-2.el7 \
perl-macros-5.16.3-299.el7_9 \
perl-macros-5.16.3-299.el7_9 \
perl-Net-Daemon-0.48-5.el7 \
perl-parent-0.225-244.el7 \
perl-PathTools-3.40-5.el7 \
perl-PlRPC-0.2020-14.el7 \
perl-Pod-Escapes-1.04-299.el7_9 \
perl-Pod-Perldoc-3.20-4.el7 \
perl-Pod-Simple-3.28-4.el7 \
perl-Pod-Usage-1.63-3.el7 \
perl-podlators-2.5.1-3.el7 \
perl-Scalar-List-Utils-1.27-248.el7 \
perl-Socket-2.010-5.el7 \
perl-srpm-macros-1-8.el7 \
perl-Storable-2.45-3.el7 \
perl-TermReadKey-2.30-20.el7 \
perl-Text-ParseWords-3.29-4.el7 \
perl-threads-1.87-4.el7 \
perl-threads-shared-1.43-6.el7 \
perl-Time-HiRes-1.9725-3.el7 \
perl-Time-HiRes-1.9725-3.el7 \
perl-Time-Local-1.2300-2.el7 \
perl-TimeDate-2.30-2.el7 \
perl-URI-1.60-9.el7 \
pinentry-gtk-0.8.1-17.el7 \
pixman-0.34.0-1.el7 \
policycoreutils-2.5-34.el7 \
policycoreutils-python-2.5-34.el7 \
polkit-0.112-26.el7_9.1 \
polkit-gnome-0.106-0.1.20170423gita0763a2.el7 \
polkit-pkla-compat-0.1-4.el7 \
poppler-0.26.5-43.el7.1 \
poppler-data-0.4.6-3.el7 \
poppler-glib-0.26.5-43.el7.1 \
prelink-0.5.0-9.el7 \
psmisc-22.20-17.el7 \
pulseaudio-10.0-6.el7_9 \
pulseaudio-gdm-hooks-10.0-6.el7_9 \
pulseaudio-libs-10.0-6.el7_9 \
pulseaudio-libs-glib2-10.0-6.el7_9 \
pulseaudio-module-bluetooth-10.0-6.el7_9 \
pycairo-1.8.10-8.el7 \
pyparsing-1.5.6-9.el7 \
python-2.7.5-92.el7_9 \
python-devel-2.7.5-92.el7_9 \
python-gobject-3.22.0-1.el7_4.1 \
python-IPy-0.75-6.el7 \
python-libs-2.7.5-92.el7_9 \
python-rpm-macros-3-34.el7 \
python-srpm-macros-3-34.el7 \
python2-rpm-macros-3-34.el7 \
python3-3.6.8-18.el7 \
python3-devel-3.6.8-18.el7 \
python3-libs-3.6.8-18.el7 \
python3-pip-9.0.3-8.el7 \
python3-rpm-generators-6-2.el7 \
python3-rpm-macros-3-34.el7 \
python3-setuptools-39.2.0-10.el7 \
redhat-menus-12.0.2-8.el7 \
redhat-rpm-config-9.1.0-88.el7.centos \
rest-0.8.1-2.el7 \
rhash-1.3.4-2.el7 \
rpm-4.11.3-48.el7_9 \
rpm-build-libs-4.11.3-48.el7_9 \
rpm-libs-4.11.3-48.el7_9 \
rpm-python-4.11.3-48.el7_9 \
rr-5.4.0-1.el7 \
rsync-3.1.2-12.el7_9 \
rtkit-0.11-10.el7 \
samba-client-libs-4.10.16-24.el7_9 \
samba-common-4.10.16-24.el7_9 \
samba-common-libs-4.10.16-24.el7_9 \
sbc-1.0-5.el7 \
scl-utils-20130529-19.el7 \
scl-utils-build-20130529-19.el7 \
setools-libs-3.3.8-4.el7 \
slang-2.2.4-11.el7 \
snappy-1.1.0-3.el7 \
sound-theme-freedesktop-0.8-3.el7 \
soundtouch-1.4.0-9.el7 \
source-highlight-3.1.6-6.el7 \
speex-1.2-0.19.rc1.el7 \
startup-notification-0.12-8.el7 \
strace-4.24-6.el7 \
sudo-1.8.23-10.el7_9.3 \
swig3-3.0.12-17.el7 \
systemd-219-78.el7_9.7 \
systemd-libs-219-78.el7_9.7 \
systemd-sysv-219-78.el7_9.7 \
systemtap-devel-4.0-13.el7 \
sysvinit-tools-2.88-14.dsf.el7 \
tbb-4.1-9.20130314.el7 \
tbb-devel-4.1-9.20130314.el7 \
tcl-8.5.13-8.el7 \
tcl-8.5.13-8.el7 \
tcp_wrappers-libs-7.6-77.el7 \
telepathy-filesystem-0.0.2-6.el7 \
telepathy-glib-0.24.1-1.el7 \
telepathy-logger-0.8.0-5.el7 \
Thunar-1.6.16-1.el7 \
thunar-archive-plugin-0.3.1-6.el7 \
thunar-volman-0.8.1-2.el7 \
totem-pl-parser-3.26.1-1.el7 \
trousers-0.3.14-2.el7 \
tumbler-0.1.31-2.el7 \
tzdata-2023c-1.el7 \
unzip-6.0-24.el7_9 \
upower-0.99.7-1.el7 \
util-linux-2.23.2-65.el7_9.1 \
vim-filesystem-7.4.629-8.el7_9 \
vim-filesystem-7.4.629-8.el7_9 \
vim-minimal-7.4.629-8.el7_9 \
vino-3.22.0-7.el7 \
vte-profile-0.52.4-1.el7 \
vte291-0.52.4-1.el7 \
webkitgtk4-2.28.2-3.el7 \
webkitgtk4-jsc-2.28.2-3.el7 \
webrtc-audio-processing-0.3-1.el7 \
wget-1.14-18.el7_6.1 \
which-2.20-7.el7 \
wpa_supplicant-2.6-12.el7_9.2 \
wpa_supplicant-2.6-12.el7_9.2 \
xcb-proto-1.13-1.el7 \
xcb-util-0.4.0-2.el7 \
xcb-util-cursor-0.1.2-2.el7 \
xcb-util-cursor-devel-0.1.2-2.el7 \
xcb-util-devel-0.4.0-2.el7 \
xcb-util-image-0.4.0-2.el7 \
xcb-util-image-devel-0.4.0-2.el7 \
xcb-util-keysyms-0.4.0-1.el7 \
xcb-util-keysyms-devel-0.4.0-1.el7 \
xcb-util-renderutil-0.3.9-3.el7 \
xcb-util-renderutil-devel-0.3.9-3.el7 \
xcb-util-wm-0.4.1-5.el7 \
xcb-util-wm-devel-0.4.1-5.el7 \
xdg-desktop-portal-1.0.2-1.el7 \
xdg-desktop-portal-gtk-1.0.2-1.el7 \
xfce-polkit-0.2-8.el7 \
xfce4-appfinder-4.12.0-4.el7 \
xfce4-panel-4.12.1-4.el7 \
xfce4-power-manager-1.6.0-2.el7 \
xfce4-pulseaudio-plugin-0.2.5-2.el7 \
xfce4-session-4.12.1-8.el7 \
xfce4-session-engines-4.12.1-8.el7 \
xfce4-settings-4.12.1-1.el7 \
xfce4-terminal-0.8.7.4-2.el7 \
xfconf-4.12.0-3.el7 \
xfdesktop-4.12.4-3.el7 \
xfwm4-4.12.3-2.el7 \
xkeyboard-config-2.24-1.el7 \
xml-common-0.6.3-39.el7 \
xorg-x11-apps-7.7-7.el7 \
xorg-x11-proto-devel-2018.4-1.el7 \
xorg-x11-server-utils-7.7-20.el7 \
xorg-x11-xauth-1.0.9-1.el7 \
xorg-x11-xauth-1.0.9-1.el7 \
xorg-x11-xinit-1.3.4-2.el7 \
xorg-x11-xkb-extras-7.7-14.el7 \
xorg-x11-xkb-utils-7.7-14.el7 \
xorg-x11-xkb-utils-devel-7.7-14.el7 \
xterm-295-3.el7_9.1 \
xz-5.2.2-2.el7_9 \
xz-devel-5.2.2-2.el7_9 \
xz-libs-5.2.2-2.el7_9 \
yasm-1.2.0-4.el7 \
yasm-devel-1.2.0-4.el7 \
zenity-3.28.1-2.el7_9 \
zip-3.0-11.el7 \
zlib-1.2.7-21.el7_9 \
zlib-devel-1.2.7-21.el7_9 \
code \
dotnet-sdk-6.0 \
chromium \
unityhub
RUN dnf clean all
FROM stage-1 as stage-2
# use gcc-10 as default compiler
COPY --from=stage-1 /opt/rh/devtoolset-10/root/ /
# cleanup opt
RUN rm -rf /opt/rh
# cmake3 by default
RUN ln -s $(which cmake3) /usr/bin/cmake
# use gold as default linker
RUN rm /usr/bin/ld && ln -s /usr/bin/ld.gold /usr/bin/ld
RUN echo "/usr/local/lib64" > /etc/ld.so.conf.d/lib64.conf
RUN ldconfig
# patch up glibc-devel
RUN dnf -y install glibc-devel.x86_64
##
## Build llvm-14
##
WORKDIR /opt
RUN git clone --depth 1 --branch llvmorg-14.0.6 https://github.com/llvm/llvm-project.git
WORKDIR /opt/llvm-project
RUN cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" -DLLVM_RUNTIME_TARGETS="x86_64" \
-DLLVM_ENABLE_FFI=ON -DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_ENABLE_RTTI=ON -DLLVM_TARGETS_TO_BUILD=all -DLLVM_BINUTILS_INCDIR=/usr/include \
-DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_LIBDIR_SUFFIX=64 -Wno-dev -G Ninja -S llvm -B build-projects
RUN ninja -v -j1 -C build-projects
RUN ninja -v -j1 -C build-projects install
#
# Build Python 3.7.9
#
WORKDIR /opt
RUN wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
RUN tar xzf Python-3.7.9.tgz
WORKDIR /opt/Python-3.7.9
RUN ./configure --prefix=/usr --enable-optimizations --enable-shared --libdir=/usr/lib64
RUN make altinstall
RUN ln -s /usr/lib64/python3.7/lib-dynload/ /usr/lib/python3.7/lib-dynload
RUN python3.7 -m pip install --upgrade pip
RUN python3.7 -m pip install PyOpenGL PySide2 meson numpy mako
RUN rm /usr/bin/python
RUN rm /usr/bin/python3
RUN ln -s /usr/bin/python3.7 /usr/bin/python3
RUN ln -s /usr/bin/python3 /usr/bin/python
RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install PyOpenGL meson numpy mako
##
## Build mesa-22 and glut
##
WORKDIR /opt
RUN wget https://dri.freedesktop.org/libdrm/libdrm-2.4.112.tar.xz
RUN tar xvf libdrm-2.4.112.tar.xz
WORKDIR /opt/libdrm-2.4.112/build
RUN CC=clang CXX=clang++ meson --prefix=/usr --buildtype=release -Dudev=true -Dvalgrind=false
RUN ninja
RUN ninja install
WORKDIR /opt
RUN wget https://mesa.freedesktop.org/archive/mesa-22.1.7.tar.xz
RUN tar xvf mesa-22.1.7.tar.xz
WORKDIR /opt/mesa-22.1.7/build
RUN CC=clang CXX=clang++ meson --prefix=/usr --buildtype=release -Dplatforms=x11 -Dgles1=true -Dgles2=true -Dgallium-drivers=d3d12,virgl,swrast -Dglx=dri -Dvalgrind=disabled -Dlibunwind=disabled ..
RUN ninja
RUN ninja install
WORKDIR /opt
RUN wget https://archive.mesa3d.org/glu/glu-9.0.2.tar.gz
RUN tar xvf glu-9.0.2.tar.gz
WORKDIR /opt/glu-9.0.2/build
RUN CC=clang CXX=clang++ meson --prefix=/usr -Dgl_provider=gl --buildtype=release ..
RUN ninja
RUN ninja install
WORKDIR /opt
RUN wget https://downloads.sourceforge.net/freeglut/freeglut-3.2.2.tar.gz
RUN tar xvf freeglut-3.2.2.tar.gz
WORKDIR /opt/freeglut-3.2.2/build
RUN CC=clang CXX=clang++ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DFREEGLUT_BUILD_DEMOS=OFF -DFREEGLUT_BUILD_STATIC_LIBS=OFF -Wno-dev ..
RUN make
RUN make install
##
## Environment (Docker only, not WSL)
##
ENV TERM=xterm-256color
ENV CONTAINER_NAME=centos7-unityhub
ENTRYPOINT ["/bin/bash","-i"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment