This repository builds a small, reproducible C++ RDKit distribution for the chemistry service. It does not mirror the upstream RDKit source tree. The build script downloads an immutable upstream release tag, builds the C++ libraries required by chemistry, and publishes a versioned Ubuntu 22.04 x86_64 archive.
Each archive is named rdkit_<version>_ubuntu_22_04_amd64.tar.gz. After extracting it with --strip-components=1, the resulting directory has the following layout:
Code/
build/lib/libRDKit*.so*
build/lib/libboost_serialization.so.1.81.0
build/lib/libboost_iostreams.so.1.81.0
build/lib/libboost_wserialization.so.1.81.0
This layout is intentional: it matches the paths consumed by chemistry/build.rs and chemistry/Dockerfile, while packaging the Boost 1.81 runtime libraries that are newer than Ubuntu 22.04's system Boost 1.74.
The build disables Python wrappers, C++ tests, SWIG wrappers, InChI, Cairo, ChemDraw, and PubChem shape support because the service only uses SMILES parsing, reaction parsing, canonicalization, and SVG drawing. FreeType, CoordGen, MAE parser, Eigen3, Boost serialization, and Boost iostreams remain enabled as required by the selected RDKit targets.
On Ubuntu 22.04, install the packages listed in Dockerfile, then run:
./build.sh 2026.03.5The resulting archive, manifest, and SHA-256 file are written to dist/. The Docker reproduction command is:
docker buildx build \
--build-arg VERSION=2026.03.5 \
--target artifact \
--output type=local,dest=dist .Pushing a tag such as v2026.03.5 starts .github/workflows/release.yml on ubuntu-22.04. The workflow builds the artifact from upstream Release_2026_03_5, verifies the archive layout and checksum, and publishes the archive, manifest, and checksum as a GitHub Release in this repository. The workflow can also be started manually with a version input.
The upstream RDKit release is deliberately selected by tag rather than by a floating branch. A release therefore remains reproducible and does not depend on the previous chemistry release asset.