sandstorm-pkgdef.capnp 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. # Use use the meteor-spk tool to generate a sandstorm package (spk) from this
  2. # meteor application source code. https://github.com/sandstorm-io/meteor-spk
  3. @0xa5275bd3ad124e12;
  4. using Spk = import "/sandstorm/package.capnp";
  5. # This imports:
  6. # $SANDSTORM_HOME/latest/usr/include/sandstorm/package.capnp
  7. # Check out that file to see the full, documented package definition format.
  8. const pkgdef :Spk.PackageDefinition = (
  9. # The package definition. Note that the spk tool looks specifically for the
  10. # "pkgdef" constant.
  11. id = "m86q05rdvj14yvn78ghaxynqz7u2svw6rnttptxx49g1785cdv1h",
  12. # The app ID is actually its public key. The private key was placed in your
  13. # keyring. All updates must be signed with the same key.
  14. manifest = (
  15. # This manifest is included in our app package to tell Sandstorm about our
  16. # app.
  17. appTitle = (defaultText = "LibreBoard"),
  18. # The name of the app as it is displayed to the user.
  19. appVersion = 3,
  20. # Increment this for every release.
  21. appMarketingVersion = (defaultText = "0.9.0_beta1"),
  22. # Human-readable presentation of the app version.
  23. minUpgradableAppVersion = 0,
  24. # The minimum version of the app which can be safely replaced by this app
  25. # package without data loss. This might be non-zero if the app's data store
  26. # format changed drastically in the past and the app is no longer able to
  27. # read the old format.
  28. actions = [
  29. # Define your "new document" handlers here.
  30. (
  31. title = (defaultText = "New board"),
  32. command = .myCommand,
  33. # The command to run when starting for the first time. (".myCommand" is
  34. # just a constant defined at the bottom of the file.)
  35. )
  36. ],
  37. continueCommand = .myCommand,
  38. # This is the command called to start your app back up after it has been
  39. # shut down for inactivity. Here we're using the same command as for
  40. # starting a new instance, but you could use different commands for each
  41. # case.
  42. metadata = (
  43. # icons = (
  44. # appGrid = (svg = embed "meta/icons/libreboard-128.svg"),
  45. # grain = (svg = embed "meta/icons/libreboard-24.svg"),
  46. # market = (svg = embed "meta/icons/libreboard-150.svg"),
  47. # ),
  48. # XXX We currently don't have an icon, because the bird image included in
  49. # previous version was a copyright infringement, see
  50. # https://github.com/libreboard/libreboard/issues/64.
  51. # I have an idea to replace it but it's not ready yet.
  52. website = "http://libreboard.com",
  53. codeUrl = "https://github.com/libreboard/libreboard",
  54. license = (openSource = mit),
  55. categories = [productivity, office],
  56. author = (
  57. contactEmail = "maxime@quandalle.com",
  58. pgpSignature = embed "meta/mquandalle-pgp-sig",
  59. ),
  60. pgpKeyring = embed "meta/keyring",
  61. # screenshots = [
  62. # (
  63. # width = 1222,
  64. # height = 822,
  65. # png = embed "meta/screenshots/board-view.png"
  66. # ),
  67. # # XXX The UI visible screenshot is outdated, make some new screenshots
  68. # # before the final v0.9 release.
  69. # # XXX The screenshots should have a standard width and height.
  70. # ],
  71. # XXX Disabled because it seems that the PNG image is too large and causes
  72. # an exception, is it?
  73. changeLog = (
  74. defaultText = embed "History.md",
  75. localizations = [
  76. (locale = "fr", text = embed "meta/t9n-changelog/fr.md"),
  77. ],
  78. )
  79. )
  80. ),
  81. sourceMap = (
  82. # The following directories will be copied into your package.
  83. searchPath = [
  84. (sourcePath = ".meteor-spk/deps"),
  85. (sourcePath = ".meteor-spk/bundle"),
  86. ]
  87. ),
  88. alwaysInclude = [ "." ],
  89. # This says that we always want to include all files from the source map. (An
  90. # alternative is to automatically detect dependencies by watching what the app
  91. # opens while running in dev mode. To see what that looks like, run `spk init`
  92. # without the -A option.)
  93. bridgeConfig = (
  94. viewInfo = (
  95. permissions = [(
  96. name = "participate",
  97. title = (
  98. defaultText = "participate",
  99. localizations = [
  100. (locale = "fr", text = "participer"),
  101. ],
  102. ),
  103. description = (
  104. defaultText = "allows participating in the board",
  105. localizations = [
  106. (locale = "fr", text = "permet de participer dans le tableau"),
  107. ],
  108. )
  109. ), (
  110. name = "configure",
  111. title = (
  112. defaultText = "configure",
  113. localizations = [
  114. (locale = "fr", text = "configurer"),
  115. ],
  116. ),
  117. description = (
  118. defaultText = "allows configuring the board",
  119. localizations = [
  120. (locale = "fr", text = "permet de configurer le tableau"),
  121. ],
  122. )
  123. )],
  124. roles = [(
  125. title = (
  126. defaultText = "observer",
  127. localizations = [
  128. (locale = "fr", text = "observateur"),
  129. ],
  130. ),
  131. permissions = [false, false],
  132. verbPhrase = (
  133. defaultText = "can read",
  134. localizations = [
  135. (locale = "fr", text = "peut lire"),
  136. ],
  137. )
  138. ), (
  139. title = (
  140. defaultText = "member",
  141. localizations = [
  142. (locale = "fr", text = "membre"),
  143. ],
  144. ),
  145. permissions = [true, false],
  146. verbPhrase = (
  147. defaultText = "can edit",
  148. localizations = [
  149. (locale = "fr", text = "peut éditer"),
  150. ],
  151. ),
  152. default = true,
  153. # ), (
  154. # title = (defaultText = "administrator"),
  155. # permissions = [true, true],
  156. # verbPhrase = (defaultText = "can configure")
  157. #
  158. # XXX Administrators configuration options aren’t implemented yet, so this
  159. # role is currently useless.
  160. )]
  161. )
  162. ),
  163. );
  164. const myCommand :Spk.Manifest.Command = (
  165. # Here we define the command used to start up your server.
  166. argv = ["/sandstorm-http-bridge", "4000", "--", "node", "start.js"],
  167. environ = [
  168. # Note that this defines the *entire* environment seen by your app.
  169. (key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"),
  170. (key = "METEOR_SETTINGS", value = "{\"public\": {\"sandstorm\": true}}")
  171. ]
  172. );