| # Using the WrapDB |
| |
| The Wrap database is a web service that provides Meson build |
| definitions to projects that do not have it natively. Using it is |
| simple. The service can be found |
| [here](https://wrapdb.mesonbuild.com). |
| |
| The front page lists all projects that are on the service. Select the |
| one you want and click it. The detail page lists available versions by |
| branch and revision id. The branch names come from upstream releases |
| and revision ids are version numbers internal to the database. |
| Whenever the packaging is updated a new revision is released to the |
| service a new revision with a bigger revision id is added. Usually you |
| want to select the newest branch with the highest revision id. |
| |
| You can get the actual wrap file which tells Meson how to fetch the |
| project by clicking on the download link on the page. As an example, |
| the wrap file for [zlib-1.2.8, revision |
| 4](https://wrapdb.mesonbuild.com/v1/projects/zlib/1.2.8/4/get_wrap) |
| looks like this. You can find detailed documentation about it in [the |
| Wrap manual](Wrap-dependency-system-manual.md). |
| |
| [wrap-file] |
| directory = zlib-1.2.8 |
| |
| source_url = http://zlib.net/zlib-1.2.8.tar.gz |
| source_filename = zlib-1.2.8.tar.gz |
| source_hash = 36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d |
| |
| patch_url = https://wrapdb.mesonbuild.com/v1/projects/zlib/1.2.8/4/get_zip |
| patch_filename = zlib-1.2.8-4-wrap.zip |
| patch_hash = 2327a42c8f73a4289ee8c9cd4abc43b324d0decc28d6e609e927f0a50321af4a |
| |
| Add this file to your project with the name `subprojects/zlib.wrap`. |
| Then you can use it in your `meson.build` file with this directive: |
| |
| zproj = subproject('zlib') |
| |
| When Meson encounters this it will automatically download, unpack and |
| patch the source files. |
| |
| ## Contributing build definitions |
| |
| The contents of the Wrap database are tracked in git repos of the |
| [Mesonbuild project](https://github.com/mesonbuild). The actual |
| process is simple and described in [submission |
| documentation](Adding-new-projects-to-wrapdb.md). |