Plume/snap/snapcraft.yaml

54 lines
2 KiB
YAML
Raw Normal View History

name: plume
base: core18
version: '0.3.0' # just for humans, typically '1.2+git' or '1.3.2'
summary: Multi-user blogging platform, federated over ActivityPub
description: |
Plume is a federated blogging platform, featuring:
* A blog-centric approach: you can create as much blogs as you want with your account, to keep your different publications separated.
* Media management: you can upload pictures to illustrate your articles, but also audio files if you host a podcast, and manage them all from Plume.
* Federation: Plume is part of a network of interconnected websites called the Fediverse. Each of these websites (often called instances) have their own rules and thematics, but they can all communicate with each other.
* Collaborative writing: invite other people to your blogs, and write articles together.
grade: devel # must be 'stable' to release into candidate/stable channels
confinement: strict
apps:
plume:
daemon: simple
command: set-environment bin/plume
plugs:
- network
- network-bind
plm:
command: set-environment bin/plm
parts:
plume:
plugin: rust
source: .
rust-revision: nightly-2019-03-23
build-packages:
- libssl-dev
- pkg-config
- libsqlite3-dev
- gettext
after:
- cargo-web
override-build: |
export PATH=$PATH:$SNAPCRAFT_PROJECT_DIR/../.cargo/bin
cargo web deploy -p plume-front --release
cargo install --force --no-default-features --features sqlite --path . --root ${SNAPCRAFT_PART_INSTALL}
cargo install --force --no-default-features --features sqlite --path plume-cli --root ${SNAPCRAFT_PART_INSTALL}
cp -a assets migrations static target translations ${SNAPCRAFT_PART_INSTALL}
cp snap/local/set-environment ${SNAPCRAFT_PART_INSTALL}
stage-packages:
- openssl
- libsqlite3-0
cargo-web:
plugin: rust
source: https://github.com/koute/cargo-web.git
source-tag: 0.6.26
override-pull: |
printf "\n[Workspace]\n" >> ${SNAPCRAFT_PART_SRC}/Cargo.toml
snapcraftctl pull