Missing dependencies

Propose new dependencies to the Bottles community

This page is only a first reference. Please refer to the dedicated documentation.

First the basics

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 Fonts categories (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.0
  Category: Essentials
vcreditst2015:
  Description: Microsoft Visual C++ Redistributable (2015)
  Category: Essentials
vcredist2019:
  Description: Microsoft Visual C++ Redistributable (2015-2019) 14.28.29325
  Category: 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:

Name: allfonts
Description: All Microsoft and Adobe essential fonts
Provider: Various
License: Mostly Microsoft EULA
License_url: https://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm
Dependencies: []

Steps:
- action: cab_extract
  file_name: arial32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/arial32.exe
  file_checksum: 9637DF0E91703179F0723EC095A36CB5
  
- action: cab_extract
  file_name: arialb32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/arialb32.exe
  file_checksum: C9089AE0C3B3D0D8C4B0A95979BB9FF0
  
- action: cab_extract
  file_name: andale32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/andale32.exe
  file_checksum: CBDC2FDD7D2ED0832795E86A8B9EE19A
  
- action: cab_extract
  file_name: comic32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/comic32.exe
  file_checksum: 2B30DE40BB5E803A0452C7715FC835D1
  
- action: cab_extract
  file_name: courie32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/courie32.exe
  file_checksum: 4E412C772294403AB62FB2D247D85C60
  
- action: cab_extract
  file_name: georgi32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/georgi32.exe
  file_checksum: 4D90016026E2DA447593B41A8D8FA8BD
  
- action: cab_extract
  file_name: impact32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/impact32.exe
  file_checksum: 7907C7DD6684E9BADE91CFF82683D9D7
  
- action: cab_extract
  file_name: times32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/times32.exe
  file_checksum: ED39C8EF91B9FB80F76F702568291BD5
  
- action: cab_extract
  file_name: trebuc32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/trebuc32.exe
  file_checksum: 0D7EA16CAC6261F8513A061FBFCDB2B5
  
- action: cab_extract
  file_name: verdan32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/verdan32.exe
  file_checksum: 12D2A75F8156E10607BE1EAA8E8EF120
  
- action: cab_extract
  file_name: webdin32.exe
  url: https://mirrors.kernel.org/gentoo/distfiles/webdin32.exe
  file_checksum: 230A1D13A365B22815F502EB24D9149B
  
- action: install_cab_fonts
  url: temp/arial32
  fonts: 
   - Ariali.TTF
   - Arialbd.TTF
   - Arialbi.TTF
   - Arial.TTF
  
- action: install_cab_fonts
  url: temp/arialb32
  fonts: 
   - AriBlk.TTF
  
- action: install_cab_fonts
  url: temp/arial32
  fonts: 
   - Ariali.TTF
   - Arialbd.TTF
   - Arialbi.TTF
   - Arial.TTF
  
- action: install_cab_fonts
  url: temp/andale32
  fonts: 
   - AndaleMo.TTF
  
- action: install_cab_fonts
  url: temp/comic32
  fonts: 
   - Comicbd.TTF
   - Comic.TTF
  
- action: install_cab_fonts
  url: temp/courie32
  fonts: 
   - cour.ttf
   - courbd.ttf
   - courbi.ttf
   - couri.ttf
  
- action: install_cab_fonts
  url: temp/georgi32
  fonts: 
   - Georgiaz.TTF
   - Georgiab.TTF
   - Georgiai.TTF
   - Georgia.TTF
  
- action: install_cab_fonts
  url: temp/arial32
  fonts: 
   - Ariali.TTF
   - Arialbd.TTF
   - Arialbi.TTF
   - Arial.TTF
  
- action: install_cab_fonts
  url: temp/impact32
  fonts: 
   - Impact.TTF
  
- action: install_cab_fonts
  url: temp/times32
  fonts: 
   - Times.TTF
   - Timesbd.TTF
   - Timesbi.TTF
   - Timesi.TTF
  
- action: install_cab_fonts
  url: temp/trebuc32
  fonts: 
   - trebuc.ttf
   - Trebucbd.ttf
   - trebucbi.ttf
   - trebucit.ttf
  
- action: install_cab_fonts
  url: temp/verdan32
  fonts: 
   - Verdanab.TTF
   - Verdanai.TTF
   - Verdanaz.TTF
   - Verdana.TTF
  
- action: install_cab_fonts
  url: temp/webdin32
  fonts: 
   - Webdings.TTF

Each manifest has a bunch of mandatory data:

  • Name

  • Description

  • Provider

  • License and License_url

  • Dependencies (not implemented so leave it blank)

  • Steps

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

  • Implementing by yourself Read more

Last updated