mirror of
https://github.com/miracle-wm-org/miracle-wm.git
synced 2024-11-23 12:15:59 +03:00
114 lines
3.2 KiB
YAML
114 lines
3.2 KiB
YAML
name: miracle-wm
|
|
adopt-info: miracle-wm
|
|
summary: "miracle-wm: a tiling window manager built on Mir"
|
|
description: |
|
|
miracle-wm is a tiling window manager based off the Mir library.
|
|
|
|
It is intended to provide an i3/sway-like experience.
|
|
confinement: classic
|
|
base: core22
|
|
version: 0.0.1
|
|
|
|
architectures:
|
|
- build-on: amd64
|
|
- build-on: arm64
|
|
- build-on: armhf
|
|
|
|
package-repositories:
|
|
- type: apt
|
|
ppa: mir-team/release
|
|
|
|
apps:
|
|
miracle-wm:
|
|
command: &_command usr/local/bin/miracle-wm
|
|
environment: &_environment
|
|
# Prep for Mir
|
|
MIR_SERVER_PLATFORM_PATH: ${SNAP}/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/mir/server-platform
|
|
__EGL_VENDOR_LIBRARY_DIRS: $SNAP/etc/glvnd/egl_vendor.d:$SNAP/usr/share/glvnd/egl_vendor.d
|
|
LIBGL_DRIVERS_PATH: $SNAP/usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/dri
|
|
LIBINPUT_QUIRKS_DIR: ${SNAP}/usr/share/libinput
|
|
PATH: ${SNAP}/usr/local/bin/:${PATH}
|
|
# For "reasons" this is being set despite this being a classic snap. This overwrites the nonsense
|
|
LD_LIBRARY_PATH: ""
|
|
|
|
parts:
|
|
miracle-wm:
|
|
build-attributes:
|
|
- enable-patchelf
|
|
override-pull: |
|
|
craftctl default
|
|
# work around https://github.com/diddlesnaps/snapcraft-multiarch-action/issues/22
|
|
git config --global --add safe.directory ${CRAFT_PART_SRC}
|
|
server_version=`git rev-list --count HEAD`
|
|
mir_version=`LANG=C apt-cache policy mir-graphics-drivers-desktop | sed -rne 's/^\s+Candidate:\s+([^-]*)-.+$/\1/p'`
|
|
craftctl set version=$server_version-mir$mir_version
|
|
if echo $mir_version | grep -e '+dev' -e '~rc' -q; then craftctl set grade=devel; else craftctl set grade=stable; fi
|
|
plugin: cmake
|
|
source: .
|
|
build-packages:
|
|
- pkg-config
|
|
- libmiral-dev
|
|
- libboost-filesystem-dev
|
|
- libfreetype6-dev
|
|
- libwayland-dev
|
|
- libxkbcommon-dev
|
|
- g++
|
|
- make
|
|
- libgtest-dev
|
|
- libyaml-cpp-dev
|
|
- libyaml-cpp0.7
|
|
- libglib2.0-dev
|
|
- libglib2.0-0
|
|
- libevdev-dev
|
|
- libevdev2
|
|
stage-packages:
|
|
- libmiral6
|
|
- mir-graphics-drivers-desktop
|
|
- libfreetype6
|
|
prime:
|
|
- -lib/udev
|
|
- -usr/doc
|
|
- -usr/doc-base
|
|
- -usr/share/applications
|
|
- -usr/share/apport
|
|
- -usr/share/bug
|
|
- -usr/share/doc
|
|
- -usr/share/doc-base
|
|
- -usr/share/icons
|
|
- -usr/share/libdrm
|
|
- -usr/share/libwacom
|
|
- -usr/share/lintian
|
|
- -usr/share/man
|
|
- -usr/share/pkgconfig
|
|
|
|
session:
|
|
plugin: dump
|
|
source: session
|
|
|
|
mesa-patchelf:
|
|
build-attributes:
|
|
- enable-patchelf
|
|
plugin: nil
|
|
stage-packages:
|
|
- libgl1-mesa-dri
|
|
- libtinfo5
|
|
# included in this part because it tries to pull in mesa bits
|
|
- gvncviewer
|
|
- swaybg
|
|
- synapse
|
|
- xvfb
|
|
- xwayland
|
|
stage:
|
|
# The libraries in .../dri need no-patchelf, so they come from the mesa-unpatched part
|
|
- -usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/dri
|
|
|
|
mesa-no-patchelf:
|
|
plugin: nil
|
|
stage-packages:
|
|
- libgl1-mesa-dri
|
|
build-attributes:
|
|
- no-patchelf # Otherwise snapcraft may strip the build ID and cause the driver to crash
|
|
stage:
|
|
# Only the libraries in .../dri need to not be patched, the rest come from the mesa part
|
|
- usr/lib/${SNAPCRAFT_ARCH_TRIPLET}/dri
|