mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-04-23 03:00:17 -04:00
* Use ninja for the examples Should help a little bit with doc building * FIx some templates * Fix template deduction error in count_x_for_y_many functions The count_x_for_y_many and count_x_for_y_manyC functions were using a single template parameter for both input (double) and output (size_t) arrays, causing template deduction failures in Cython bindings. Changed to use separate template parameters YContainer and CountContainer to properly support different types for input y values and output counts. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix types in PXD header too * Docs should get ninja too * Changes from clang-format * Fix git diff argument order in clang-format script The script was comparing PR_BRANCH to TARGET_BRANCH, which shows changes from the PR branch to the target (what's in target that's NOT in PR). For PR validation, we need the opposite: changes from target to PR (what's in PR that's NOT in target). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix Cython template deduction errors in solve_for_x_manyC and count_x_for_y_manyC Add explicit template parameters [double, size_t] to both function calls to resolve template type deduction errors when compiling with Cython. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix wheel building by removing return from void Cython template calls The functions solve_for_x_manyC and count_x_for_y_manyC return void in C++. When Cython sees a return statement with a void function call containing template arguments with commas (e.g., [double, size_t]), it wraps the call in the __Pyx_void_to_None macro. This macro is a simple preprocessor macro that cannot handle the commas in template arguments, treating them as macro argument separators instead. The fix is to remove the return statements, making these simple void function calls. This prevents the __Pyx_void_to_None wrapping and allows the wheel to build successfully. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
42 lines
1.8 KiB
Docker
42 lines
1.8 KiB
Docker
# This is a dockerfile for building the docker container that is
|
|
# the foundation for the documentation builder. All components of
|
|
# this image are publicly available and it could be built using
|
|
# github actions or some other CI tool. However, it does not change
|
|
# frequently and building the image is expensive which is why it
|
|
# is not part the frequent CI runs.
|
|
#
|
|
# Normally, a CI workflow should take care of executing the commands
|
|
# to build the docker image. However, you can also use an access
|
|
# token to manually build the new image and push it to github.
|
|
#
|
|
# To get the token:
|
|
# github settings for user -> Developer settings -> Personal access tokens -> Tokens (classic) -> New personal access token (classic) -> tick write:packages -> store in the file your_token
|
|
#
|
|
# $ cat your_token | docker login ghcr.io -u USERNAME --password-stdin
|
|
# $ docker build --file docs_01_base.Dockerfile --tag ghcr.io/coolprop/coolprop_docs_01_base:dev .
|
|
# $ docker push ghcr.io/coolprop/coolprop_docs_01_base:dev
|
|
|
|
FROM continuumio/miniconda3
|
|
|
|
RUN apt-get -y -m update && \
|
|
apt-get install -y \
|
|
g++ make cmake ninja-build swig doxygen p7zip-full \
|
|
mono-mcs \
|
|
octave liboctave-dev \
|
|
r-base-dev \
|
|
default-jre default-jdk \
|
|
texlive-extra-utils \
|
|
rsync && \
|
|
apt-get autoclean
|
|
|
|
# Allow ImageMagick to invoke Ghostscript
|
|
# RUN sed -i '/disable ghostscript format types/,+6d' /etc/ImageMagick-6/policy.xml
|
|
|
|
ADD conda_environment.yml /environment.yml
|
|
RUN conda update -n base -c defaults conda && conda env create -f /environment.yml && conda clean --all --yes
|
|
RUN mkdir -p /opt
|
|
|
|
# Patch the cloud_sptheme package to fix import paths for jinja2
|
|
ADD patch_cloud_sptheme.py /
|
|
RUN /opt/conda/envs/docs/bin/python /patch_cloud_sptheme.py && rm /patch_cloud_sptheme.py
|