name: plume base: core18 adopt-info: plume 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: stable 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-2021-11-27 build-packages: - libssl-dev - pkg-config - libsqlite3-dev - gettext - libclang-8-dev - on arm64,armhf,ppc64el,s390x: - lld-8 override-build: | snapcraftctl set-version $(git describe --tags) export PATH=$PATH:$HOME/.cargo/bin rustup install stable cargo +stable install --force wasm-pack # Only Tier 1 Rust platforms get rust-lld # On the others (arm64, armhf, powerpc64, s390x) fall back to using # the system LLD we've installed earlier. case ${SNAPCRAFT_ARCH_TRIPLET} in \ aarch64-linux-gnu|arm-linux-gnueabihf|powerpc64-linux-gnu|s390x-linux-gnu) \ RUSTFLAGS="-C linker=lld" wasm-pack build --target web --release plume-front \ ;; \ *) \ wasm-pack build --target web --release plume-front \ ;; \ esac 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