snap/snapcraft.yaml
name: guiscrcpy
version: v2023.1.1
summary: An opensource GUI for android screen mirroring
description: |
A full fledged GUI integration for the award winning open source scrcpy, for
Android Screen mirroring
grade: stable
confinement: strict
base: core22
architectures:
- build-on: amd64
apps:
scrcpy:
command: usr/local/bin/scrcpy
environment:
LD_LIBRARY_PATH: "$LD_LIBRARY_PATH:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/android:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pulseaudio:/var/lib/snapd/lib/gl"
MESA_GLSL_CACHE_DIR: "$SNAP_USER_DATA"
LIBGL_DRIVERS_PATH: "$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/dri"
SCRCPY_SERVER_PATH: "$SNAP/usr/local/share/scrcpy/scrcpy-server"
adb:
command: usr/bin/adb
environment:
LD_LIBRARY_PATH: "$LD_LIBRARY_PATH:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/android/"
guiscrcpy:
command: bin/guiscrcpy
environment:
PATH: $SNAP/lib:$SNAP/usr/lib:$SNAP/bin:$SNAP/usr/bin:$SNAP/usr/local/bin:$PATH
GUISCRCPY_SCRCPY: "$SNAP/usr/local/bin/scrcpy"
GUISCRCPY_ADB: "$SNAP/usr/bin/adb"
SCRCPY_SERVER_PATH: "$SNAP/usr/local/share/scrcpy/scrcpy-server"
GUISCRCPY_SNAP: "TRUE"
command-chain: &command-chain-common
- bin/debian-multiarch-triplet-provider-launch
- bin/classic-launch
- bin/desktop-launch
- bin/guiscrcpy
desktop: share/applications/guiscrcpy.desktop
parts:
debian-multiarch-triplet-provider-launch:
plugin: nil
stage-snaps:
- debian-multiarch-triplet-provider-launch
classic-launch:
plugin: nil
stage-snaps:
- classic-launch
# Remote part for support of various desktop technologies
# Refer: https://github.com/ubuntu/snapcraft-desktop-helpers/blob/master/snapcraft.yaml
desktop-qt5:
build-packages:
- build-essential
- qtbase5-dev
- dpkg-dev
make-parameters:
- FLAVOR=qt5
plugin: make
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
source-subdir: qt
guiscrcpy:
after: [desktop-qt5, classic-launch, debian-multiarch-triplet-provider-launch]
# See 'snapcraft plugins'
plugin: python
source: .
stage:
- lib64/*
python-packages:
- build
override-stage: |
snapcraftctl stage
ls -al $CRAFT_STAGE
scrcpy:
plugin: nil
stage-snaps:
- scrcpy
stage-packages:
- freeglut3
stage:
- -lib/x86_64-linux-gnu/libcom_err.so.2.1
- -usr/lib/x86_64-linux-gnu/libsensors.so.4.4.0
- -usr/lib/x86_64-linux-gnu/libtiff.so.5.3.0
- -usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4
- -usr/share/doc/libcom-err2/changelog.Debian.gz
- -usr/share/doc/libsensors4/changelog.Debian.gz
- -usr/share/doc/libtiff5/changelog.Debian.gz
- -usr/share/doc/libxml2/changelog.Debian.gz
plugs:
adb-support:
desktop:
desktop-legacy:
x11:
unity7:
wayland:
opengl:
process-control:
network-bind:
network:
adb:
interface: content
target: $SNAP/usr/bin
# some parts are inherited from https://github.com/sisco311/scrcpy-snap/blob/master/snap/snapcraft.yaml
# Thanks @sisco311 for the amazing snap!!