aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown/Adding-new-projects-to-wrapdb.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/markdown/Adding-new-projects-to-wrapdb.md')
-rw-r--r--docs/markdown/Adding-new-projects-to-wrapdb.md33
1 files changed, 17 insertions, 16 deletions
diff --git a/docs/markdown/Adding-new-projects-to-wrapdb.md b/docs/markdown/Adding-new-projects-to-wrapdb.md
index 1d5a596..0e481d0 100644
--- a/docs/markdown/Adding-new-projects-to-wrapdb.md
+++ b/docs/markdown/Adding-new-projects-to-wrapdb.md
@@ -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).