/ mustfile
mustfile
 1  # SPDX-License-Identifier: AGPL-3.0-or-later
 2  # mustfile for bitfuckit - declarative build requirements
 3  
 4  [project]
 5  name = "bitfuckit"
 6  version = "0.1.0"
 7  license = "AGPL-3.0-or-later"
 8  
 9  [build]
10  system = "gprbuild"
11  file = "bitfuckit.gpr"
12  output = "bin/bitfuckit"
13  
14  [build.commands]
15  default = "gprbuild -P bitfuckit.gpr"
16  release = "gprbuild -P bitfuckit.gpr -XBUILD_MODE=release"
17  clean = "gprclean -P bitfuckit.gpr"
18  verify = "gnatprove -P bitfuckit.gpr --mode=check"
19  
20  [install]
21  binary = { src = "bin/bitfuckit", dest = "~/.local/bin/bitfuckit" }
22  man = { src = "doc/bitfuckit.1", dest = "/usr/share/man/man1/bitfuckit.1" }
23  
24  [install.completions]
25  bash = { src = "completions/bitfuckit.bash", dest = "/usr/share/bash-completion/completions/bitfuckit" }
26  zsh = { src = "completions/bitfuckit.zsh", dest = "/usr/share/zsh/site-functions/_bitfuckit" }
27  fish = { src = "completions/bitfuckit.fish", dest = "/usr/share/fish/vendor_completions.d/bitfuckit.fish" }
28  
29  [dependencies.build]
30  gnat = ">= 12"
31  gprbuild = ">= 22"
32  
33  [dependencies.runtime]
34  curl = ">= 7"
35  
36  [test]
37  smoke = "bin/bitfuckit --help"
38  
39  [package]
40  formats = ["rpm", "deb", "flatpak", "nix", "homebrew"]
41  
42  [package.rpm]
43  name = "bitfuckit"
44  release = "1"
45  requires = ["curl"]
46  build_requires = ["gcc-gnat", "gprbuild"]
47  
48  [package.deb]
49  name = "bitfuckit"
50  section = "devel"
51  depends = ["curl"]
52  build-depends = ["gnat", "gprbuild"]