bottlesdevs / components

Repository for Bottles components
65 stars 41 forks source link
bottles components dxvk repository wine

Components

Repository for Bottles components

Why a centralized repository?

With a centralized repository we can provide some data such as the checksum, which is useful for validate downloads.

How to contribute

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.

1 - Add an entry to the CI (prefered method)

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:

2 - Manually (legacy method)

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.

Guidelines

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.

Testing repository

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.

Need help?

Reach us on our Forums, Discord, Telegram or Matrix.