Skip to content

Commit

Permalink
Merge branch 'main' into openjpeg-not-building-on-windows
Browse files Browse the repository at this point in the history
  • Loading branch information
cedrik-fuoco-adsk authored Sep 26, 2024
2 parents 72bcba4 + 97b269f commit 4b61980
Show file tree
Hide file tree
Showing 4 changed files with 534 additions and 12 deletions.
106 changes: 106 additions & 0 deletions dockerfiles/Dockerfile.Linux-Rocky8
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
FROM rockylinux/rockylinux:8.9

LABEL maintainer="Open RV maintainer - https://github.com/AcademySoftwareFoundation/OpenRV"

USER root

# enable epel crb and devel packages
RUN dnf upgrade -y \
&& dnf install -y epel-release \
&& dnf config-manager --set-enabled powertools \
&& dnf update -y\
&& dnf install -y \
# RV requirements
alsa-lib-devel \
autoconf \
automake \
avahi-compat-libdns_sd-devel \
bison \
bzip2-devel \
cmake-gui \
curl-devel \
diffutils \
flex \
git \
gcc \
gcc-c++ \
libXcomposite \
libXi-devel \
libaio-devel \
libffi-devel \
nasm ncurses-devel \
nss \
libtool \
libxkbcommon \
libXcomposite \
libXdamage \
libXrandr \
libXtst \
libXcursor \
mesa-libGLU \
mesa-libGLU-devel \
mesa-libOSMesa \
mesa-libOSMesa-devel \
meson \
openssl-devel \
patch \
pulseaudio-libs \
pulseaudio-libs-glib2 \
ocl-icd ocl-icd-devel \
opencl-headers \
qt5-qtbase-devel \
readline-devel \
sqlite-devel \
sudo \
tcl-devel \
tcsh \
tk-devel \
wget \
xz-devel \
yasm \
zip \
zlib-devel \
systemd-devel \
# The cmake in dnf is not recent enough, install from the CMake site
&& curl -L https://github.com/Kitware/CMake/releases/download/v3.30.3/cmake-3.30.3-linux-x86_64.sh -o cmake.sh \
&& sh cmake.sh --prefix=/usr/local/ --skip-license && rm -rf cmake.sh \
# Clearing dnf caches
&& dnf clean all && rm -rf /var/cache/yum


ENV PATH=/home/rv/.local/bin:/usr/local/bin:$PATH \
QT_QPA_PLATFORM=offscreen

# create and run as user rv
RUN useradd -u 1001 -ms /bin/bash rv
WORKDIR /home/rv
USER rv

# Download ninja from GitHub to get a more recent version.
RUN wget https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip
RUN unzip ninja-linux.zip -d ./ninja
RUN echo 'export PATH=/home/rv/ninja:$PATH' >> /home/rv/.bash_profile
ENV PATH /home/rv/ninja:$PATH

# Using pyenv to make sure that python and python3 command points to the same version.
# Install pyenv
RUN git clone http://github.com/pyenv/pyenv.git /home/rv/.pyenv
ENV PYENV_ROOT /home/rv/.pyenv
ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
RUN echo 'export PYENV_ROOT="/home/rv/.pyenv"' >> ~/.bashrc
RUN echo 'export PATH="$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
RUN echo 'eval "$(pyenv init -)"' >> ~/.bashrc

# Install specific version of Python
RUN pyenv install 3.10.13

# Set as the global version
RUN pyenv global 3.10.13

RUN python -m pip install aqtinstall

RUN python -m aqt install-qt linux desktop 5.15.2 gcc_64 -O ~/Qt \
-m debug_info qtcharts qtdatavis3d qtlottie qtnetworkauth qtpurchasing qtquick3d qtquicktimeline qtscript qtvirtualkeyboard qtwaylandcompositor qtwebengine qtwebglplugin \
--archives icu qt3d qtbase qtconnectivity qtdeclarative qtgamepad qtgraphicaleffects qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtremoteobjects qtscxml qtsensors qtserialbus qtserialport qtspeech qtsvg qttools qttranslations qtwayland qtwebchannel qtwebsockets qtwebview qtx11extras qtxmlpatterns

CMD ["/bin/bash"]
106 changes: 106 additions & 0 deletions dockerfiles/Dockerfile.Linux-Rocky9
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
FROM rockylinux/rockylinux:9

LABEL maintainer="Open RV maintainer - https://github.com/AcademySoftwareFoundation/OpenRV"

USER root

# enable epel crb and devel packages
RUN dnf upgrade -y \
&& dnf install -y epel-release \
&& dnf config-manager --set-enabled crb devel \
&& dnf install -y \
# RV requirements
alsa-lib-devel \
autoconf \
automake \
avahi-compat-libdns_sd-devel \
bison \
bzip2-devel \
cmake-gui \
curl-devel \
diffutils \
flex \
git \
gcc \
gcc-c++ \
libXcomposite \
libXi-devel \
libaio-devel \
libffi-devel \
nasm ncurses-devel \
nss \
libtool \
libxkbcommon \
libXcomposite \
libXdamage \
libXrandr \
libXtst \
libXcursor \
mesa-libGLU \
mesa-libGLU-devel \
mesa-libOSMesa \
mesa-libOSMesa-devel \
meson \
ninja-build \
openssl-devel \
patch \
perl-FindBin \
pulseaudio-libs \
pulseaudio-libs-glib2 \
ocl-icd ocl-icd-devel \
opencl-headers \
qt5-qtbase-devel \
readline-devel \
sqlite-devel \
sudo \
tcl-devel \
tcsh \
tk-devel \
wget \
yasm \
zip \
zlib-devel \
systemd-devel \
# The cmake in dnf is not recent enough, install from the CMake site
&& curl -L https://github.com/Kitware/CMake/releases/download/v3.30.3/cmake-3.30.3-linux-x86_64.sh -o cmake.sh \
&& sh cmake.sh --prefix=/usr/local/ --skip-license && rm -rf cmake.sh \
# Clearing dnf caches
&& dnf clean all && rm -rf /var/cache/yum


ENV PATH=/home/rv/.local/bin:/usr/local/bin:$PATH \
QT_QPA_PLATFORM=offscreen

# create and run as user rv
RUN useradd -u 1001 -ms /bin/bash rv
WORKDIR /home/rv
USER rv

# Download ninja from GitHub to get a more recent version.
RUN wget https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip
RUN unzip ninja-linux.zip -d ./ninja
RUN echo 'export PATH=/home/rv/ninja:$PATH' >> /home/rv/.bash_profile
ENV PATH /home/rv/ninja:$PATH

# Using pyenv to make sure that python and python3 command points to the same version.
# Install pyenv
RUN git clone http://github.com/pyenv/pyenv.git /home/rv/.pyenv
ENV PYENV_ROOT /home/rv/.pyenv
ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
RUN echo 'export PYENV_ROOT="/home/rv/.pyenv"' >> ~/.bashrc
RUN echo 'export PATH="$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
RUN echo 'eval "$(pyenv init -)"' >> ~/.bashrc

# Install specific version of Python
RUN pyenv install 3.10.13

# Set as the global version
RUN pyenv global 3.10.13

RUN python -m pip install aqtinstall

RUN python -m aqt install-qt linux desktop 5.15.2 gcc_64 -O ~/Qt \
-m debug_info qtcharts qtdatavis3d qtlottie qtnetworkauth qtpurchasing qtquick3d qtquicktimeline qtscript qtvirtualkeyboard qtwaylandcompositor qtwebengine qtwebglplugin \
--archives icu qt3d qtbase qtconnectivity qtdeclarative qtgamepad qtgraphicaleffects qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtremoteobjects qtscxml qtsensors qtserialbus qtserialport qtspeech qtsvg qttools qttranslations qtwayland qtwebchannel qtwebsockets qtwebview qtx11extras qtxmlpatterns

CMD ["/bin/bash"]
Loading

0 comments on commit 4b61980

Please sign in to comment.