This organization serves a purpose of hosting precompiled builds of packages and libraries required by Membrane plugins. These builds are generated by installing packages with homebrew on different CircleCI execution environments.
If you want to add a new package repository using the automated method (homebrew on CircleCI), follow these steps:
-
Ensure the package is available in homebrew by running
brew info <package>or check athttps://formulae.brew.sh/formula/<package> -
Create a repository named after the homebrew package, like
precompiled_<package>, (for instance,precompiled_portaudio) from theprecompiled_templatetemplate. -
In the
.circleci/config.ymlfile, replacePACKAGE_NAME_HEREwith the package name (the same one that was used in the repository name). -
On CircleCI Project Dashboard set up a new project of the package's repository (preset Fastest, branch
main). -
To initiate the precompilation process, push a tag matching the latest version of your package, prefixed with 'v'. You can check the latest version of the package by running
brew info <package>or visitinghttps://formulae.brew.sh/formula/<package>. For example, to trigger the precompilation of a package with a latest version of1.2.3, you would need to push av1.2.3tag.
Once the CircleCI pipeline finishes the precompilation and publishing process, a new release will be created from the pushed tag that contains the precompiled builds of the package. By default the following archives will be present:
<package>_macos_arm.tar.gz<package>_linux.tar.gz<package>_linux_x86.tar.gz<package>_linux_arm.tar.gz
Each of them will contain the package built for specified OS and architecture. Repos and releases structured this way can be further utilized by Bundlex and Membrane Precompiled Dependency Provider. The linux archive will the same as linux_x86 for backwards compatibility.