blue-recorder/snap/snapcraft.yaml
Ask

111 lines
3.7 KiB
YAML

{95b985e40724ae3370f37cd99d1eb17e2ef38ec1 true 3784 snapcraft.yaml 0xc00b096850}

name: blue-recorder # you probably want to 'snapcraft register <name>'
base: core22 # the base snap is the execution environment for this snap
version: git # just for humans, typically '1.2+git' or '1.3.2'
summary: A simple screen recorder for Linux desktop. Supports Wayland & Xorg # 79 char long summary
description: |
A simple desktop recorder for Linux systems. Built using Rust, GTK+ 3 and ffmpeg. It supports recording audio and video on almost all Linux interfaces with support for Wayland display server on GNOME session.
The following formats are currently supported: mkv, avi, mp4, wmv, gif and nut. You can stop the recording process easily by right-clicking the icon and choosing "Stop Record". Or middle-clicking the recording icon in the notifications area (but doesn't work on all interfaces).
You can choose the audio input source you want from the list. You can also set the default values you want by simply changing them in the interface, and the program will save them for you for the next time you open it.
Based on GREEN RECORDER but rewritten in RUST
adopt-info: blue-recorder
grade: stable # must be 'stable' to release into candidate/stable channels
confinement: strict # use 'strict' once you have the right plugs and slots
compression: lzo
parts:
rust-deps:
plugin: nil
build-packages:
- curl
override-pull: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
blue-recorder:
plugin: rust
source: .
after: [rust-deps]
stage-snaps:
- ffmpeg
stage-packages:
- x11-utils
- libgstreamer-plugins-base1.0-0
- libgstreamer1.0-0
- libpipewire-0.3-0
- libwayland-client0
- libwayland-cursor0
- libwayland-egl1
- libwayland-server0
- gstreamer1.0-plugins-bad
- gstreamer1.0-plugins-base
- gstreamer1.0-plugins-good
- gstreamer1.0-plugins-ugly
- gstreamer1.0-pipewire
- gstreamer1.0-x
build-packages:
- clang
- gettext
- build-essential
- libgstreamer-plugins-bad1.0-dev
- libgstreamer-plugins-base1.0-dev
- libgstreamer1.0-dev
- libgstreamer1.0-0
override-pull: | # set version from Cargo.toml
craftctl default
craftctl set version=$(cat Cargo.toml | grep version | head -n1 | cut -d"=" -f2 | awk '{$1=$1};1' | tr -d '"')
override-build: |
craftctl default
cp -a data interfaces po $CRAFT_PART_INSTALL
cp -a target/release/blue-recorder $CRAFT_PART_INSTALL/blue-recorder
cleanup:
after: [blue-recorder]
plugin: nil
build-snaps: [gnome-42-2204]
override-prime: |
set -eux
cd /snap/gnome-42-2204/current
find . -type f,l -exec rm -f $CRAFT_PRIME/{} \;
pipewire:
source: https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/0.3.32/pipewire-0.3.32.tar.gz
plugin: meson
meson-parameters:
- --prefix=/usr
- --buildtype=release
- --strip
- -Dalsa=disabled
- -Dpipewire-alsa=disabled
- -Djack=disabled
- -Dpipewire-jack=disabled
- -Dsession-managers=[]
build-packages:
- pkg-config
- libdbus-1-dev
- libpulse-dev
prime:
- usr/lib/*/pipewire-*
- usr/lib/*/spa-*
- usr/lib/*/libpipewire*.so*
- usr/share/pipewire
apps:
blue-recorder:
command: blue-recorder
desktop: data/snap/blue-recorder.desktop
extensions:
- gnome
plugs:
- desktop
- home
- audio-playback
- audio-record
- wayland
- x11
- pipewire
- screencast-legacy # for wayland support
slots:
- dbus-daemon
common-id: sa.sy.blue-recorder
slots:
dbus-daemon:
interface: dbus
bus: session
name: sa.sy.blue-recorder