|
|
|
@ -32,6 +32,8 @@ any source code from the original tarball into the wrap repository. |
|
|
|
|
Wrapped subprojects are used much like external dependencies. Thus |
|
|
|
|
they should have the same name as the upstream projects. |
|
|
|
|
|
|
|
|
|
NOTE: Repo names must fully match this regexp: `[a-z0-9._]+`. |
|
|
|
|
|
|
|
|
|
If the project provides a pkg-config file, then the repository name should be |
|
|
|
|
the same as the pkg-config name. Usually this is the name of the |
|
|
|
|
project, such as `libpng`. Sometimes it is slightly different, |
|
|
|
@ -42,13 +44,16 @@ named plain `ogg`. |
|
|
|
|
If there is no a pkg-config file, the name the project uses/promotes should be used, |
|
|
|
|
lowercase only (Catch2 -> catch2). |
|
|
|
|
|
|
|
|
|
If the project name is too generic or ambiguous (e.g. `benchmark`), |
|
|
|
|
consider using `organization-project` naming format (e.g. `google-benchmark`). |
|
|
|
|
|
|
|
|
|
## How to contribute a new wrap |
|
|
|
|
|
|
|
|
|
If the project already uses Meson build system, then only a wrap file - `upstream.wrap` |
|
|
|
|
should be provided. In other case a Meson build definition patch - a set of `meson.build` |
|
|
|
|
files - should be also provided. |
|
|
|
|
|
|
|
|
|
### Request a new repository or branch |
|
|
|
|
### Request a new repository |
|
|
|
|
|
|
|
|
|
Create an issue on the [wrapdb bug tracker](https://github.com/mesonbuild/wrapdb/issues) |
|
|
|
|
using *Title* and *Description* below as a template. |
|
|
|
@ -64,6 +69,9 @@ version: <version_you_have_a_wrap_for> |
|
|
|
|
Wait until the new repository or branch is created. A link to the new repository or branch |
|
|
|
|
will be posted in a comment to this issue. |
|
|
|
|
|
|
|
|
|
NOTE: Requesting a branch is not necessary. WrapDB maintainer can create the branch and |
|
|
|
|
modify the PR accordingly if the project repository exists. |
|
|
|
|
|
|
|
|
|
### Add a new wrap |
|
|
|
|
|
|
|
|
|
First you need to fork the repository to your own page. |
|
|
|
@ -87,25 +95,24 @@ Now you should create a pull request on GitHub. Remember to create it against th |
|
|
|
|
correct branch rather than master (`1.0.0` branch in this example). GitHub should do |
|
|
|
|
this automatically. |
|
|
|
|
|
|
|
|
|
If the branch doesn't exist file a pull request against master. |
|
|
|
|
WrapDB maintainers can fix it before merging. |
|
|
|
|
|
|
|
|
|
## What is done by WrapDB maintainers |
|
|
|
|
|
|
|
|
|
[mesonwrap tools](Wrap-tools.md) must be used for the tasks below. |
|
|
|
|
|
|
|
|
|
### Adding new project to the Wrap provider service |
|
|
|
|
|
|
|
|
|
Each project gets its own repo. It is initialized like this: |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
git init |
|
|
|
|
git add readme.txt |
|
|
|
|
git add LICENSE.build |
|
|
|
|
git commit -a -m 'Create project foobar' |
|
|
|
|
git remote add origin <repo url> |
|
|
|
|
git push -u origin master |
|
|
|
|
mesonwrap new_repo --homepage=$HOMEPAGE --directory=$NEW_LOCAL_PROJECT_DIR $PROJECT_NAME |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
Note that this is the *only* commit that will ever be made to master branch. |
|
|
|
|
All other commits are done to branches. |
|
|
|
|
The command creates a new repository and uploads it to Github. |
|
|
|
|
|
|
|
|
|
Repo names must fully match this regexp: `[a-z0-9._]+`. |
|
|
|
|
`--version` flag may be used to create a branch immediately. |
|
|
|
|
|
|
|
|
|
### Adding a new branch to an existing project |
|
|
|
|
|
|
|
|
@ -133,12 +140,6 @@ to functionality. All such changes must be submitted to upstream. You |
|
|
|
|
may also host your own Git repo with the changes if you wish. The Wrap |
|
|
|
|
system has native support for Git subprojects. |
|
|
|
|
|
|
|
|
|
## Creator script |
|
|
|
|
|
|
|
|
|
The WrapDB repository has a |
|
|
|
|
[helper script](https://github.com/mesonbuild/mesonwrap/blob/master/mesonwrap.py) |
|
|
|
|
to generate new repositories, verify them and update them. |
|
|
|
|
|
|
|
|
|
## Reviewing wraps |
|
|
|
|
|
|
|
|
|
See [Wrap review guidelines](Wrap-review-guidelines.md). |
|
|
|
|