All dependencies present in Bottles are placed in a public repository, available here.
The repository consists of 3 main points:
the index.yml file that is the index of all dependencies available in the repository
the Essentials and Fontscategories (in the future there will be more) where all the dependencies manifests are collected
the dependency manifest
The index.yml file looks like:
vcredist2013:Description:Microsoft Visual C++ Redistributable (2013) 12.0Category:Essentialsvcreditst2015:Description:Microsoft Visual C++ Redistributable (2015)Category:Essentialsvcredist2019:Description:Microsoft Visual C++ Redistributable (2015-2019) 14.28.29325Category:Essentials
How you can see, every dependency is index with it's name, the description and the category where it is located.
Each dependency has a manifest that contains some information and instructions for its installation. This is an example from Fonts/allfonts.yml manifest:
The Name should reflect the manifest file name (e.g. allfonts for allfonts.yml).
The Description is the full name of the dependency (e.g. All Microsoft and Adobe essential fonts)
The Provider is the owner of the source where the dependency files are located. This can also be the name of the creator of the software (e.g. Microsoft).
License and License_url should be filled with the license name and url of the dependency we are going to install, normally these are offered with the software itself (e.g. Microsoft EULA, in case of multiple licenses, only the main license can be specified: Mostly Microsoft EULA).
The Steps are the instructions to follow to install the dependency. Bottles takes into account the order in which these are written and executes them in the same order.
Propose new dependencies
There are two ways of proposing new dependencies:
Filling a new issue following the template for the dependencies implementation request