FROM redhat/ubi8:8.10 WORKDIR /app/projects/rocprofiler-compute RUN yum install -y curl git cmake gcc-c++ # Allows running git commands in /app RUN git config --global --add safe.directory /app RUN yum install -y python39 python39-devel && \ yum clean all && \ rm -rf /var/cache/yum && \ curl -sS https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ python3 get-pip.py # Should be absolute path to where the standalone binary will extract its contents ARG STANDALONEBINARY_EXTRACT_DIR=/tmp ENV STANDALONEBINARY_EXTRACT_DIR=${STANDALONEBINARY_EXTRACT_DIR} CMD ["/bin/bash", "-c", "\ python3 -m pip install -r requirements.txt \ && python3 -m pip install nuitka==2.6 patchelf \ && git rev-parse HEAD > VERSION.sha \ && python3 -m nuitka --mode=onefile --no-deployment-flag=self-execution \ --product-name=${STANDALONEBINARY_EXTRACT_DIR} \ --onefile-tempdir-spec=/{PRODUCT}/rocprof_compute_standalonebinary_{PID} \ --enable-plugin=no-qt \ --include-data-files=VERSION*=./ \ --include-data-files=src/lib/rocprofiler_compute_tool.cpp=lib/rocprofiler_compute_tool.cpp \ --include-data-files=src/lib/helper.cpp=lib/helper.cpp \ --include-data-files=src/lib/helper.hpp=lib/helper.hpp \ --include-package=dash_svg --include-package-data=dash_svg \ --include-package=dash_bootstrap_components \ --include-package-data=dash_bootstrap_components \ --include-package=plotly --include-package-data=plotly \ --include-package=rocprof_compute_analyze \ --include-package-data=rocprof_compute_analyze \ --include-package=rocprof_compute_profile \ --include-package-data=rocprof_compute_profile \ --include-package=rocprof_compute_tui --include-package-data=rocprof_compute_tui \ --include-package=rocprof_compute_soc --include-package-data=rocprof_compute_soc \ --include-package=utils --include-package-data=utils \ --include-package=hip --include-package-data=hip \ src/rocprof-compute \ && patchelf --remove-rpath rocprof-compute.bin \ "]