Repository for Bottles components
With a centralized repository we can provide some data such as the checksum, which is useful for validate downloads.
To propose new components, it is necessary to open a Pull Request with the manifest of the component we want to add, here are some examples of manifest:
To do it, there is currently two methods.
For most components, new stable versions (and experimental builds if they exist) are automatically pulled. This is accomplished by the pull-components.yml workflow, where components are described in the following format:
repo : "doitsujin/dxvk",
workflow: "artifacts.yml",
branch: "master",
name-prefix: "dxvk-",
name-suffix: "",
version-prefix: "v",
yaml-file: "14-dxvk.yml",
Category: "dxvk",
Sub-category: "",
where:
owner/repository
version
+ name-suffix (e.g. dxvk-
+ 2.0
+ ∅), and look for release/experimental asset whose filename is begining by name-prefix-x86
, -x64
, etc)version
string (e.g. v2.0
will become 2.0
)Each poster must follow the following layout:
Name: caffe-7.2
Provider: bottles
Channel: stable
File:
- file_name: caffe-7.2-x86_64.tar.xz
url: https://github.com/bottlesdevs/wine/releases/download/caffe-7.2/caffe-7.2-x86_64.tar.xz
file_checksum: 659ee0ee3dbe5274825734ad19692e12
rename: caffe-7.2-x86_64.tar.xz
old json manifests can be converted using this online tool.
where:
There is also an optional Post
section, which can be used to rename the path after extraction:
Post:
- action: rename
source: lutris-fshack-6.14-2
dest: lutris-6.14-2-fshack
We provide an automatic tools for generating the manifest.
In addition to the manifest, en entry must be created in the corresponding file located in the input_files directory. The index can then be regenerated using the generate_index.sh script.
Please double check and test using the LOCAL_COMPONENTS=/path/to/components flatpak run com.usebottles.bottles
command before open a pull request.
The sources of the components must be public and searchable and must not infringe any copyright. Also, each archive must contain the compiled version and not the source code.
There is also a testing repository to test components before publishing them to the main repository.
To do so you need to add the new component to the testing.yml
file (opening a Pull request) and run bottles with the environment variable TESTING_REPOS=1
to use the testing repository.