Universal Source Manifest

Billy Barrow d0fbc06eaa Make build path optional for install verb vor 10 Monaten
scripts 180529cbea Fix acquire script vor 10 Monaten
src d0fbc06eaa Make build path optional for install verb vor 10 Monaten
.gitignore 2aa0c9dcbb Initial commit vor 10 Monaten
MANIFEST.usm 449925f716 More features vor 10 Monaten
README.md 2aa0c9dcbb Initial commit vor 10 Monaten

README.md

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