|
2 | 2 |
|
3 | 3 | PKGBUILD is the Arch Linux package build description file, which we inherit by
|
4 | 4 | using pacman. See https://man.archlinux.org/man/PKGBUILD.5 for details on the
|
5 |
| -format. |
6 |
| - |
7 |
| -We have some minor extensions to the format, which are documented here. |
| 5 | +format. We have some minor extensions to the format, which are documented here. |
8 | 6 |
|
9 | 7 | ## Extra Metadata
|
10 | 8 |
|
11 |
| -Variables starting with `msys2_` and `mingw_` can be used to add additional metadata to a package, which will be read and used by our tools. The following datatypes are supported: |
| 9 | +Variables starting with `msys2_` and `mingw_` can be used to add additional metadata to a package, which will be read and used by our tools. |
| 10 | +The following variables are recognized: |
12 | 11 |
|
13 |
| -* Strings: `msys2_myvar="example"` 🠆 `{"myvar": "example"}` |
14 |
| -* Arrays of strings: `msys2_myvar=("example1" "example2")` 🠆 `{"myvar": ["example1", "example2"]}` |
15 |
| -* Mappings of strings to an optional string, separated by `":"`, values are |
16 |
| - stripped: `msys2_myvar=("example1: value1" "example2")` 🠆 `{"myvar": {"example1": "value1", "example2": null}}` |
17 |
| -* Booleans (either `true` or `false`): `msys2_myvar=true` 🠆 `{"myvar": true}` |
| 12 | +| Variable | Type | Description | |
| 13 | +|--------------------------- |---------|-------------| |
| 14 | +| `mingw_arch` | array | A list of MSYS2 environments the package is built for. Defaults to an empty list. | |
| 15 | +| `msys2_internal` | boolean | Whether the package is an internal or meta package and shouldn't be linked to external sources. Defaults to `false`. | |
| 16 | +| `msys2_references` | mapping | Maps the package to external resources, such as other package repositories. | |
| 17 | +| `msys2_documentation_url` | string | URL to the documentation for the API, tools, etc., in case it's a different website than the homepage. | |
| 18 | +| `msys2_repository_url` | string | URL to the web view of the repository, e.g., on GitHub or GitLab. | |
| 19 | +| `msys2_issue_tracker_url` | string | URL to the bug tracker, mailing list archive, etc. | |
| 20 | +| `msys2_pgp_keys_url` | string | URL to a website containing which keys are used to sign releases. | |
18 | 21 |
|
19 |
| -The following variables are recognized: |
| 22 | +For `msys2_references` the following keys are recognized: |
20 | 23 |
|
21 |
| -* `mingw_arch` - array - a list of MSYS2 environments the package is built |
22 |
| - for. Defaults to an empty list. |
23 |
| -* `msys2_internal` - boolean - whether the package is an internal or meta |
24 |
| - package, and shouldn't be linked to external sources. Defaults to `false`. |
25 |
| -* `msys2_references` - mapping - maps the package to external resources, for |
26 |
| - example other package repositories. Defining a key without a value means there |
27 |
| - is no mapping. The following keys exist: |
28 |
| - * `archlinux` - the Arch Linux package name: https://archlinux.org/packages/ |
29 |
| - * `aur` - the AUR package name: https://aur.archlinux.org/packages |
30 |
| - * `cygwin` - the cygwin package name: https://cygwin.com/packages/src_package_list.html |
31 |
| - * `cygwin-mingw64` - |
32 |
| - the cygwin package name for all packages starting with "mingw64-x86_64-", |
33 |
| - minus that prefix: https://cygwin.com/packages/src_package_list.html |
34 |
| - * `pypi` - the PyPI project name: https://pypi.org/search/ |
35 |
| -* `msys2_changelog_url` - string - NEWS file in git or the github releases page. In |
36 |
| - case there are multiple, the one that is more useful for packagers |
37 |
| -* `msys2_documentation_url` - string - Documentation for the API, tools, etc. provided, |
38 |
| - in case it's a different website than the homepage. |
39 |
| -* `msys2_repository_url` - string - Web view of the repository, e.g. on github or gitlab |
40 |
| -* `msys2_issue_tracker_url` - string - The bug tracker, mailing list, etc. |
41 |
| -* `msys2_pgp_keys_url` - string - A website containing which keys are used to sign releases |
| 24 | +* `archlinux` - the Arch Linux package name: https://archlinux.org/packages/ |
| 25 | +* `aur` - the AUR package name: https://aur.archlinux.org/packages |
| 26 | +* `cygwin` - the cygwin package name: https://cygwin.com/packages/src_package_list.html |
| 27 | +* `cygwin-mingw64` - |
| 28 | + the cygwin package name for all packages starting with "mingw64-x86_64-", |
| 29 | + minus that prefix: https://cygwin.com/packages/src_package_list.html |
| 30 | +* `pypi` - the PyPI project name: https://pypi.org/search/ |
| 31 | + |
| 32 | +Defining a key without a value means there is no mapping and the package shouldn't be linked. |
| 33 | + |
| 34 | +The following datatypes are supported: |
| 35 | + |
| 36 | +* **string:** `msys2_myvar="example"` 🠆 `{"myvar": "example"}` |
| 37 | +* **array:** Arrays of strings: `msys2_myvar=("example1" "example2")` 🠆 `{"myvar": ["example1", "example2"]}` |
| 38 | +* **mapping:** Mappings of strings to an optional string, separated by `":"`, values are |
| 39 | + stripped: `msys2_myvar=("example1: value1" "example2")` 🠆 `{"myvar": {"example1": "value1", "example2": null}}` |
| 40 | +* **boolean:** either `true` or `false`: `msys2_myvar=true` 🠆 `{"myvar": true}` |
0 commit comments