# Universal Source Manifest ## Manifest format (MANIFEST.usm) ```json { "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 ```json { "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