mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 17:31:45 +00:00
fa98aad469
First functional version, but it needs some improvements and fixes identified as I've used it personally on one thing, and when an AI (Claude) used it to work through the CI test errors. I had the AI make a SKILL.md file. If the AI indicates it needs to build the ifcopenshell binary, use this and let it rip.
41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
FROM rockylinux:9
|
|
|
|
# Update system
|
|
RUN dnf update -y
|
|
|
|
# Enable CRB (needed by some EPEL packages) and install EPEL
|
|
RUN dnf install -y epel-release && \
|
|
dnf config-manager --set-enabled crb && \
|
|
dnf install -y --setopt=install_weak_deps=False \
|
|
ccache
|
|
|
|
# Install required packages + some common tools for a bit of command line comfort
|
|
RUN dnf install -y --allowerasing bash-completion vim git curl wget which tree htop \
|
|
gcc gcc-c++ git autoconf automake bison make zip cmake python3 python3-pip \
|
|
bzip2 patch mesa-libGL-devel libffi-devel fontconfig-devel \
|
|
sqlite-devel bzip2-devel zlib-devel openssl-devel xz-devel \
|
|
readline-devel ncurses-devel libffi-devel libuuid-devel git-lfs \
|
|
findutils xz byacc ccache
|
|
|
|
# Clean the caches
|
|
RUN dnf clean all && \
|
|
rm -rf /var/cache/dnf
|
|
|
|
# Configure ccache
|
|
ENV CCACHE_DIR=/ccache
|
|
ENV PATH="/usr/lib/ccache:$PATH"
|
|
|
|
# Optional: Set a reasonable cache size limit (adjust as needed)
|
|
RUN ccache -M 5G # e.g. 5 GB max
|
|
|
|
# Setup uv
|
|
COPY --from=ghcr.io/astral-sh/uv:0.11.27 /uv /uvx /bin/
|
|
|
|
# Install Python
|
|
RUN uv python install
|
|
|
|
# Prevent dubious ownership error
|
|
RUN git config --global --add safe.directory '*'
|
|
|
|
CMD ["sleep", "infinity"]
|