Add PKGBUILD file (#25)
This commit is contained in:
parent
04edf2eecc
commit
eb81b7af4a
|
|
@ -0,0 +1,76 @@
|
|||
# Maintainer: hodasemi <michaelh.95 at t-online dot de>
|
||||
_pkgbase=breezy-desktop
|
||||
pkgname="${_pkgbase}"-gnome
|
||||
pkgver=0.1
|
||||
pkgrel=1
|
||||
pkgdesc="Breezy desktop - XR desktop"
|
||||
arch=('x86_64')
|
||||
url="https://github.com/wheaney/breezy-desktop"
|
||||
license=('GPL-3.0')
|
||||
makedepends=('ninja' 'meson' 'librsvg')
|
||||
depends=('python' 'python-pydbus' 'gnome-shell' 'XRLinuxDriver-BreezyGNOME')
|
||||
conflicts=("${_pkgbase}")
|
||||
source=("git+${url}")
|
||||
md5sums=(SKIP)
|
||||
|
||||
_uuid="breezydesktop@xronlinux.com"
|
||||
|
||||
build() {
|
||||
cd ${_pkgbase}
|
||||
|
||||
# init submodules (only required ones)
|
||||
git submodule update --init --recursive modules/sombrero
|
||||
git submodule update --init --recursive ui/modules/PyXRLinuxDriverIPC
|
||||
|
||||
# build binaries
|
||||
cd ui
|
||||
meson setup build
|
||||
cd build
|
||||
meson compile
|
||||
|
||||
# prepare extension
|
||||
cd ../..
|
||||
unlink gnome/src/schemas/com.xronlinux.BreezyDesktop.gschema.xml
|
||||
cp ui/data/com.xronlinux.BreezyDesktop.gschema.xml gnome/src/schemas/
|
||||
glib-compile-schemas --targetdir="gnome/src/schemas" "gnome/src/schemas"
|
||||
|
||||
unlink gnome/src/textures/custom_banner.png
|
||||
cp vulkan/custom_banner.png gnome/src/textures/
|
||||
|
||||
unlink gnome/src/textures/calibrating.png
|
||||
cp modules/sombrero/calibrating.png gnome/src/textures/
|
||||
|
||||
unlink gnome/src/IMUAdjust.frag
|
||||
cp modules/sombrero/IMUAdjust.frag gnome/src/
|
||||
|
||||
# create icon
|
||||
rsvg-convert ui/data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 64 -h 64 -o ui/data/icons/hicolor/com.xronlinux.BreezyDesktop_64.png
|
||||
rsvg-convert ui/data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 128 -h 128 -o ui/data/icons/hicolor/com.xronlinux.BreezyDesktop_128.png
|
||||
rsvg-convert ui/data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 256 -h 256 -o ui/data/icons/hicolor/com.xronlinux.BreezyDesktop_256.png
|
||||
rsvg-convert ui/data/icons/hicolor/scalable/apps/com.xronlinux.BreezyDesktop.svg -w 1024 -h 1024 -o ui/data/icons/hicolor/com.xronlinux.BreezyDesktop_1024.png
|
||||
}
|
||||
|
||||
package() {
|
||||
# copy gnome extension
|
||||
install -Dm755 ${_pkgbase}/ui/data/com.xronlinux.BreezyDesktop.gschema.xml "${pkgdir}"/usr/share/glib-2.0/schemas/com.xronlinux.BreezyDesktop.gschema.xml
|
||||
|
||||
install -d "${pkgdir}/usr/share/gnome-shell/extensions/${_uuid}/"
|
||||
cp -r ${_pkgbase}/gnome/src/* "${pkgdir}/usr/share/gnome-shell/extensions/${_uuid}/"
|
||||
|
||||
# copy binaries
|
||||
install -d "${pkgdir}"/usr/local/share/breezydesktop/breezydesktop/
|
||||
cp -r ${_pkgbase}/ui/src/*.py "${pkgdir}"/usr/local/share/breezydesktop/breezydesktop/
|
||||
install -Dm755 ${_pkgbase}/ui/modules/PyXRLinuxDriverIPC/xrdriveripc.py "${pkgdir}"/usr/local/share/breezydesktop/breezydesktop/xrdriveripc.py
|
||||
|
||||
install -Dm755 ${_pkgbase}/ui/build/src/breezydesktop "${pkgdir}"/usr/bin/breezydesktop
|
||||
|
||||
install -Dm755 ${_pkgbase}/ui/build/src/breezydesktop.gresource "${pkgdir}"/usr/local/share/breezydesktop/breezydesktop.gresource
|
||||
install -Dm755 ${_pkgbase}/ui/build/data/com.xronlinux.BreezyDesktop.desktop "${pkgdir}"/usr/share/applications/com.xronlinux.BreezyDesktop.desktop
|
||||
sed -i '/Exec/c\Exec=breezydesktop --skip-verification' "${pkgdir}"/usr/share/applications/com.xronlinux.BreezyDesktop.desktop
|
||||
|
||||
install -Dm755 ${_pkgbase}/ui/data/icons/hicolor/com.xronlinux.BreezyDesktop_64.png "${pkgdir}"/usr/share/icons/hicolor/64x64/apps/com.xronlinux.BreezyDesktop.png
|
||||
install -Dm755 ${_pkgbase}/ui/data/icons/hicolor/com.xronlinux.BreezyDesktop_128.png "${pkgdir}"/usr/share/icons/hicolor/128x128/apps/com.xronlinux.BreezyDesktop.png
|
||||
install -Dm755 ${_pkgbase}/ui/data/icons/hicolor/com.xronlinux.BreezyDesktop_256.png "${pkgdir}"/usr/share/icons/hicolor/256x256/apps/com.xronlinux.BreezyDesktop.png
|
||||
install -Dm755 ${_pkgbase}/ui/data/icons/hicolor/com.xronlinux.BreezyDesktop_1024.png "${pkgdir}"/usr/share/icons/hicolor/1024x1024/apps/com.xronlinux.BreezyDesktop.png
|
||||
}
|
||||
|
||||
|
|
@ -21,6 +21,7 @@ import gi
|
|||
import logging
|
||||
import os
|
||||
import sys
|
||||
import argparse
|
||||
|
||||
from logging.handlers import TimedRotatingFileHandler
|
||||
|
||||
|
|
@ -58,13 +59,14 @@ XRDriverIPC.set_instance(XRDriverIPC(logger))
|
|||
class BreezydesktopApplication(Adw.Application):
|
||||
"""The main application singleton class."""
|
||||
|
||||
def __init__(self):
|
||||
def __init__(self, skip_verification):
|
||||
super().__init__(application_id='com.xronlinux.BreezyDesktop',
|
||||
flags=Gio.ApplicationFlags.DEFAULT_FLAGS)
|
||||
self.create_action('quit', self.on_quit_action, ['<primary>q'])
|
||||
self.create_action('about', self.on_about_action)
|
||||
self.create_action('license', self.on_license_action)
|
||||
self.create_action('reset_driver', self.on_reset_driver_action)
|
||||
self._skip_verification = skip_verification
|
||||
|
||||
def do_activate(self):
|
||||
"""Called when the application is activated.
|
||||
|
|
@ -74,7 +76,7 @@ class BreezydesktopApplication(Adw.Application):
|
|||
"""
|
||||
win = self.props.active_window
|
||||
if not win:
|
||||
win = BreezydesktopWindow(application=self)
|
||||
win = BreezydesktopWindow(self._skip_verification, application=self)
|
||||
win.connect('close-request', lambda *_: self.on_quit_action())
|
||||
win.connect('destroy', lambda *_: self.on_quit_action())
|
||||
win.present()
|
||||
|
|
@ -125,5 +127,9 @@ class BreezydesktopApplication(Adw.Application):
|
|||
|
||||
|
||||
def main(version):
|
||||
app = BreezydesktopApplication()
|
||||
return app.run(sys.argv)
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("-sv", "--skip-verification", action="store_true")
|
||||
args = parser.parse_args()
|
||||
|
||||
app = BreezydesktopApplication(args.skip_verification)
|
||||
return app.run(None)
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ class BreezydesktopWindow(Gtk.ApplicationWindow):
|
|||
license_action_needed_banner = Gtk.Template.Child()
|
||||
missing_breezy_features_banner = Gtk.Template.Child()
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
def __init__(self, skip_verification, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
self.state_manager = StateManager.get_instance()
|
||||
|
|
@ -57,6 +57,8 @@ class BreezydesktopWindow(Gtk.ApplicationWindow):
|
|||
|
||||
self._handle_state_update(self.state_manager, None)
|
||||
|
||||
self._skip_verification = skip_verification
|
||||
|
||||
self.connect("destroy", self._on_window_destroy)
|
||||
|
||||
def _handle_state_update(self, state_manager, val):
|
||||
|
|
@ -71,9 +73,11 @@ class BreezydesktopWindow(Gtk.ApplicationWindow):
|
|||
for child in self.main_content:
|
||||
self.main_content.remove(child)
|
||||
|
||||
if not verify_installation():
|
||||
self.main_content.append(self.failed_verification)
|
||||
elif not self.state_manager.get_property('license-present'):
|
||||
if not self._skip_verification:
|
||||
if not verify_installation():
|
||||
self.main_content.append(self.failed_verification)
|
||||
|
||||
if not self.state_manager.get_property('license-present'):
|
||||
self.main_content.append(self.no_license)
|
||||
elif not ExtensionsManager.get_instance().is_installed():
|
||||
self.main_content.append(self.no_extension)
|
||||
|
|
|
|||
Loading…
Reference in New Issue