diff --git a/dev-scripts/docker/AppImage/Dockerfile b/dev-scripts/docker/AppImage/Dockerfile index 0bb6ff4..8f8b0fe 100644 --- a/dev-scripts/docker/AppImage/Dockerfile +++ b/dev-scripts/docker/AppImage/Dockerfile @@ -1,44 +1,57 @@ FROM centos:6.8 MAINTAINER Sergio Martins (sergio.martins@kdab.com) WORKDIR / RUN yum update -y RUN yum install -y git wget RUN wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo RUN yum install -y devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++ ENV PATH=/opt/rh/devtoolset-2/root/usr/bin/:$PATH +# Copy appdir template +ADD clazy.AppDir /clazy.AppDir/ # Build Python RUN wget https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tgz RUN tar xzf Python-2.7.16.tgz WORKDIR /Python-2.7.16 RUN ./configure --enable-optimizations -RUN make altinstall +RUN make -j8 altinstall RUN ln -sf /usr/local/bin/python2.7 /usr/local/bin/python #Build CMake WORKDIR / RUN git clone https://github.com/Kitware/CMake.git WORKDIR /CMake RUN git checkout v3.15.4 RUN ./configure --prefix=/usr/ -RUN make -j6 +RUN make -j8 RUN make install #Build LLVM WORKDIR / -RUN git clone https://github.com/llvm/llvm-project.git +RUN wget -O - https://github.com/llvm/llvm-project/tarball/llvmorg-9.0.0 | tar xz +RUN mv llvm-llvm-project-* llvm-project WORKDIR /llvm-project/ -RUN git checkout llvmorg-9.0.0 +RUN echo "LLVM sha1: `git rev-parse HEAD`" > /clazy.AppDir/sha1 + RUN mkdir /root/build_llvm/ WORKDIR /root/build_llvm/ -RUN cmake -DCMAKE_INSTALL_PREFIX=/usr/ -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCLANG_ENABLE_CLANGD=OFF /llvm-project/llvm/ -RUN make -j6 +RUN cmake -DCMAKE_INSTALL_PREFIX=/usr/ -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON -DCLANG_ENABLE_CLANGD=OFF /llvm-project/llvm/ +RUN make -j8 RUN make install - -#Build clazy +RUN make DESTDIR=/clazy.AppDir install +RUN rm -rf /clazy.AppDir/usr/include/ +RUN rm -rf /clazy.AppDir/usr/share/ +RUN rm -rf /clazy.AppDir/usr/lib/*.a +RUN rm -rf /clazy.AppDir/usr/lib/*.so* +RUN rm -rf /clazy.AppDir/usr/lib/cmake +RUN rm -rf /clazy.AppDir/usr/bin/ll* +WORKDIR /clazy.AppDir/usr/bin/ +RUN rm -rf bugpoint clang-change-namespace clang-doc clang-format clang-include-fixer clang-query clang-rename clang-scan-deps diagtool find-all-symbols hmaptool obj2yaml sancov scan-build verify-uselistorderc-index-test clang-check clang-extdef-mapping clang-import-test clang-offload-bundler clang-refactor clang-reorder-fields clang-tidy dsymutil git-clang-format modularize opt sanstats scan-view yaml2obj + +#Clone clazy WORKDIR / RUN git clone https://github.com/KDE/clazy.git diff --git a/dev-scripts/docker/AppImage/clazy.AppDir/AppRun b/dev-scripts/docker/AppImage/clazy.AppDir/AppRun new file mode 100755 index 0000000..6c95dc6 --- /dev/null +++ b/dev-scripts/docker/AppImage/clazy.AppDir/AppRun @@ -0,0 +1,7 @@ +#!/bin/sh + +HERE="$(dirname "$(readlink -f "${0}")")" +export LD_LIBRARY_PATH=${HERE}/usr/lib:$LD_LIBRARY_PATH +export DYLD_LIBRARY_PATH=${HERE}/usr/lib:$DYLD_LIBRARY_PATH +export PATH=${HERE}/usr/bin:$PATH +exec "${HERE}/usr/bin/clazy" "$@" diff --git a/dev-scripts/docker/AppImage/clazy.AppDir/clazy.desktop b/dev-scripts/docker/AppImage/clazy.AppDir/clazy.desktop new file mode 100644 index 0000000..6a747e1 --- /dev/null +++ b/dev-scripts/docker/AppImage/clazy.AppDir/clazy.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=Clazy +Exec=clazy +Icon=clazy +Type=Application +Categories=Development; diff --git a/dev-scripts/docker/AppImage/clazy.AppDir/clazy.png b/dev-scripts/docker/AppImage/clazy.AppDir/clazy.png new file mode 100755 index 0000000..ecff717 Binary files /dev/null and b/dev-scripts/docker/AppImage/clazy.AppDir/clazy.png differ