Universal Source Manifest
Manifest format (MANIFEST.usm)
{
"name": "my-package",
"version": "1.0.5+2",
"summary": "A sample package",
"licences": [ {"name": "GPLv3", "category": "libre", "text": "src/LICENSE"} ],
"provides": {
"bin:hello-world": "hello-world",
"app:hello-world.desktop": "hello-world.desktop",
"res:usr/share/icons/hicolor/scalable/hello-world.svg": "icons/hello-world.svg"
},
"depends": {
"runtime": [
"lib:libgtk-4.so.1",
],
"build": [
"bin:valac",
"bin:meson",
"inc:gtk-4.0"
],
"manage": [
"bin:bash"
]
},
"execs": {
"install": "usp-exec/install",
"remove": "usp-exec/remove",
"build": "usp-exec/build",
"rebuild": "usp-exec/rebuild"
}
}
Optional extended properties
{
"md": "src/DESCRIPTION.md",
"url": "https://my.package.com",
"screenshots": [ "hello-world-screenshot.png" ],
"icon": "hello-world.svg",
"git": { "origin": "https://git.my.package.com/hello-world", "commit": "8d9f3b198e3a767d41f3c33fac2fbd8496f23ed2" },
"metainfo": "hello-world.appdata.xml",
"extras": { "customData": "whatever" }
}
Resource types
- "res": Generic resource: file path without leading "/"
- "bin": Binary executable: file name locatable in
$PATH
- "lib": Shared library: file name locatable by LD
- "app": Desktop entry: file name in /usr/share/applications
- "inc": Include: file name in /usr/include