Warning, /sdk/codevis/packaging/centos7/Dockerfile is written in an unsupported language. File is not indexed.
0001 FROM centos:7 AS base 0002 0003 ENV LLVM_VERSION=17.0.1 \ 0004 CMAKE_VERSION=3.25.2 \ 0005 OPENSSL_VERSION=1.1.1k \ 0006 QT_VERSION=5.15.7 0007 0008 RUN yum install -y centos-release-scl \ 0009 && yum install -y devtoolset-9 0010 RUN echo "source /opt/rh/devtoolset-9/enable" >> /etc/bashrc 0011 SHELL ["/bin/bash", "--login", "-c"] 0012 RUN yum -y install epel-release \ 0013 && yum -y makecache \ 0014 && yum -y update && yum -y install wget gnupg git wheel python3-pip bash ninja zlib-devel 0015 0016 WORKDIR /codevis 0017 0018 # Openssl 0019 RUN echo "Downloading OpenSSL" \ 0020 && wget https://ftp.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \ 0021 && tar -xf openssl-${OPENSSL_VERSION}.tar.gz \ 0022 && rm openssl-${OPENSSL_VERSION}.tar.gz \ 0023 && cd openssl-${OPENSSL_VERSION} \ 0024 && ./config --prefix=/usr --openssldir=/etc/ssl --libdir=lib no-shared zlib-dynamic \ 0025 && make -j$(nproc) \ 0026 && make install \ 0027 && cd /codevis \ 0028 && rm -rf /codevis/openssl-${OPENSSL_VERSION} 0029 0030 # CMake 0031 RUN echo "Downloading CMake" \ 0032 && wget "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}.tar.gz" \ 0033 && tar -xf cmake-${CMAKE_VERSION}.tar.gz \ 0034 && rm cmake-${CMAKE_VERSION}.tar.gz \ 0035 && cd cmake-${CMAKE_VERSION} \ 0036 && ./bootstrap --prefix=/usr/ \ 0037 && make -j$(nproc) \ 0038 && make install \ 0039 && cd /codevis \ 0040 && rm -rf /codevis/cmake-${CMAKE_VERSION} 0041 0042 # LLVM 0043 RUN echo "Downloading LLVM" \ 0044 && wget "https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/llvm-project-${LLVM_VERSION}.src.tar.xz" \ 0045 && tar -xf llvm-project-${LLVM_VERSION}.src.tar.xz \ 0046 && rm llvm-project-${LLVM_VERSION}.src.tar.xz \ 0047 && mkdir build \ 0048 && mkdir build/llvm-project 0049 RUN cd build/llvm-project \ 0050 && cmake -DBUILD_SHARED_LIBS=Off \ 0051 -DCMAKE_BUILD_TYPE=Release \ 0052 -DCMAKE_INSTALL_PREFIX=/usr \ 0053 -DLIBOMP_INSTALL_ALIASES=OFF \ 0054 -DLLDB_ENABLE_LUA=OFF \ 0055 -DLLDB_ENABLE_LZMA=ON \ 0056 -DLLDB_ENABLE_PYTHON=OFF \ 0057 -DLLDB_INCLUDE_TESTS=OFF \ 0058 -DLLDB_USE_SYSTEM_DEBUGSERVER=OFF \ 0059 -DLLVM_BUILD_EXTERNAL_COMPILER_RT=OFF \ 0060 -DLLVM_BUILD_LLVM_C_DYLIB=OFF \ 0061 -DLLVM_ENABLE_DIA_SDK=1 \ 0062 -DLLVM_ENABLE_EH=ON \ 0063 -DLLVM_ENABLE_FFI=OFF \ 0064 -DLLVM_ENABLE_LIBCXX=ON \ 0065 -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \ 0066 -DLLVM_ENABLE_RTTI=ON \ 0067 -DLLVM_ENABLE_RUNTIMES="compiler-rt" \ 0068 -DLLVM_ENABLE_Z3_SOLVER=OFF \ 0069 -DLLVM_INCLUDE_DOCS=OFF \ 0070 -DLLVM_INCLUDE_TESTS=OFF \ 0071 -DLLVM_INSTALL_UTILS=ON \ 0072 -DLLVM_LINK_LLVM_DYLIB=ON \ 0073 -DLLVM_OPTIMIZED_TABLEGEN=ON \ 0074 -DLLVM_POLLY_LINK_INTO_TOOLS=ON \ 0075 -DLLVM_TARGETS_TO_BUILD="X86" \ 0076 -B /codevis/build/llvm-${LLVM_VERSION} \ 0077 -S /codevis/llvm-project-${LLVM_VERSION}.src/llvm 0078 RUN cmake --build /codevis/build/llvm-${LLVM_VERSION} --parallel $(nproc) --config Release \ 0079 && cmake --install /codevis/build/llvm-${LLVM_VERSION} \ 0080 && rm -rf /codevis/build/llvm-${LLVM_VERSION} \ 0081 && rm -rf /codevis/llvm-project-${LLVM_VERSION}.src 0082 0083 # QT 0084 RUN yum -y install \ 0085 libXScrnSaver-devel \ 0086 libXaw-devel \ 0087 libXcomposite-devel \ 0088 libXcursor-devel \ 0089 libXdmcp-devel \ 0090 libXinerama-devel \ 0091 libXrandr-devel \ 0092 libXres-devel \ 0093 libXtst-devel \ 0094 libXv-devel \ 0095 libXvMC-devel \ 0096 libfontenc-devel \ 0097 libglvnd-devel \ 0098 libuuid-devel \ 0099 libxcb \ 0100 libxcb-devel \ 0101 libxkbcommon-devel \ 0102 libxkbcommon-x11-devel \ 0103 libxkbfile-devel \ 0104 mesa-libGL-devel \ 0105 sqlite-devel \ 0106 xcb-util \ 0107 xcb-util-devel \ 0108 xcb-util-image-devel \ 0109 xcb-util-keysyms-devel \ 0110 xcb-util-renderutil-devel \ 0111 xcb-util-wm-devel \ 0112 xkeyboard-config-devel 0113 RUN cd /codevis \ 0114 && wget https://download.qt.io/archive/qt/5.15/${QT_VERSION}/single/qt-everywhere-opensource-src-${QT_VERSION}.tar.xz \ 0115 && tar -xf qt-everywhere-opensource-src-${QT_VERSION}.tar.xz \ 0116 && rm qt-everywhere-opensource-src-${QT_VERSION}.tar.xz 0117 RUN mkdir /codevis/build/qt5 \ 0118 && cd /codevis/build/qt5 \ 0119 && ../../qt-everywhere-src-${QT_VERSION}/configure -opensource -confirm-license -xcb -xcb-xlib -bundled-xcb-xinput \ 0120 -nomake examples -nomake tests --prefix=/usr 0121 RUN cd /codevis/build/qt5 \ 0122 && make -j$(nproc) \ 0123 && make install \ 0124 && rm -rf /codevis/build/qt5 \ 0125 && rm -rf /codevis/qt-everywhere-opensource-src-${QT_VERSION} 0126 0127 # Catch2 (For testing only) 0128 RUN git clone https://github.com/catchorg/Catch2.git \ 0129 && cd Catch2 \ 0130 && cmake -Bbuild -H. -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/usr \ 0131 && cmake --build build/ --target install 0132 0133 RUN yum -y install python-devel 0134 0135 RUN rm -rf /codevis/ 0136 0137 # KDE / KF5 libraries (Old work, kept for reference) 0138 #RUN wget https://www.cpan.org/src/5.0/perl-5.38.2.tar.gz 0139 #RUN tar -xvf perl-5.38.2.tar.gz && cd perl-5.38.2 0140 #RUN ./Configure -d -e 0141 #RUN make && make install 0142 #RUN mv /usr/local/bin/perl /usr/local/bin/perl.old 0143 #RUN ln -s /usr/local/bin/perl5.38.2 /usr/local/bin/perl 0144 #RUN mv /usr/bin/perl /usr/bin/perl.old 0145 #RUN ln -s /usr/local/bin/perl5.38.2 /usr/bin/perl 0146 #RUN mkdir /root/kde/src 0147 #WORKDIR /root/kde/src/ 0148 #RUN git clone https://invent.kde.org/sdk/kdesrc-build.git 0149 #WORKDIR /root/kde/src/kdesrc-build/ 0150 #RUN yum install -y dnf 0151 # NOTE: kdesrc-build fails due to not-found packages. 0152 # The solution was to avoid using kdesrc-build. 0153 #RUN yes | ./kdesrc-build --initial-setup 0154 0155 # ECM 0156 WORKDIR / 0157 RUN git clone https://github.com/KDE/extra-cmake-modules.git 0158 RUN cd /extra-cmake-modules/ \ 0159 && mkdir -p build \ 0160 && cd build/ \ 0161 && cmake .. \ 0162 && make \ 0163 && make install 0164 0165 # KArchive 0166 WORKDIR / 0167 RUN git clone https://github.com/KDE/karchive.git 0168 RUN cd /karchive/ \ 0169 && git checkout kf5\ 0170 && mkdir -p build \ 0171 && cd build/ \ 0172 && cmake .. \ 0173 && make \ 0174 && make install 0175 0176 WORKDIR / 0177 ADD deploy.sh / 0178 RUN chmod +x /deploy.sh 0179 CMD ["/bin/bash", "/deploy.sh"]