Skip to content

Commit fb988d1

Browse files
committed
Clean up the PKGBUILD page a bit
Keep the commonly looked up info at the top and put it in a table, so it's easier to scan.
1 parent a7f411a commit fb988d1

File tree

1 file changed

+30
-31
lines changed

1 file changed

+30
-31
lines changed

web/dev/pkgbuild.md

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,40 +2,39 @@
22

33
PKGBUILD is the Arch Linux package build description file, which we inherit by
44
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.
86

97
## Extra Metadata
108

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:
1211

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. |
1821

19-
The following variables are recognized:
22+
For `msys2_references` the following keys are recognized:
2023

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

Comments
 (0)