Architecture Decision Records
|
CBMC archives versions into a tap which you can use to quickly download and build various historical versions.
The tap is available at https://github.com/diffblue/homebrew-cbmc.
Any version installed from the tap will need to be built from source locally.
Add the CBMC tap using the following command:
Install any of the available CBMC versions in the following manner:
To remove the version of CBMC installed you need to issue
To remove the tap altogether, you need to issue
You can clone the CBMC tap locally by issuing:
That instruction is going to clone the above tap repository locally. Afterwards, you can proceed with installing the formulas present, edit them, etc.
If you wish to set up a new tap for any reason, you can use brew tap-new
like the following example:
For any edit, the second step is to cd
into the repository. To do that easily, it's best to ask Homebrew to give you the location of the repository:
You can extract versions of CBMC previously available in homebrew/core
to the tap with the following instruction:
For example $ brew extract cbmc diffblue/cbmc --version=5.54.0
will have as an end result a new file under Formula/cbmc@5.54.0.rb
that will contain the formula that we had submitted for that version of CBMC in the homebrew/core
repository.
If you want to edit a specific version formula, you can do that by issueing
with the appropriate version tag. This will open the formula on the default editor in your system to allow you to make changes.
These changes are only going to be reflected locally - but you can cd
to the repository, commit and then push to the tap (this is allowed only for people who have permission to push to the tap - mainly, the Diffblue open source team).
brew tap --new
created two github actions .github/workflows/publish.yml
and .github/workflows/tests.yml
which we are not using at the moment but could serve to make future automation easier.$PATH
and installation directories for binaries.If already have a version of CBMC from the tap installed, and you want to install another version, then you need to take an extra step after installation to setup the appropriate symlinks by using the brew link
instruction:
Last modified: 2025-04-11 10:24:23 -0400