mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-06 22:24:12 -05:00
86 lines
2.6 KiB
Ruby
86 lines
2.6 KiB
Ruby
require 'package'
|
|
require_relative 'gtk3'
|
|
|
|
class Broadway < Package
|
|
description 'Run GTK applications in a browser window.'
|
|
homepage 'https://docs.gtk.org/gtk3/broadway.html'
|
|
version Gtk3.version
|
|
license Gtk3.license
|
|
compatibility Gtk3.compatibility
|
|
source_url 'SKIP'
|
|
|
|
depends_on 'gtk3'
|
|
|
|
no_compile_needed
|
|
no_upstream_update
|
|
print_source_bashrc
|
|
|
|
def self.build
|
|
File.write 'broadway.env', <<~BROADWAYENVEOF
|
|
# Broadway environment variables + daemon
|
|
# See https://docs.gtk.org/gtk3/broadway.html.
|
|
GDK_BACKEND=broadway
|
|
XDG_RUNTIME_DIR=/var/run/chrome
|
|
BROADWAY_DISPLAY=:5
|
|
BROADWAYENVEOF
|
|
File.write '10-broadway', <<~BROADWAYEOF
|
|
#!/bin/bash
|
|
startbroadway
|
|
BROADWAYEOF
|
|
File.write 'startbroadway', <<~STARTBROADWAYEOF
|
|
#!/bin/bash
|
|
BROADWAYD=$(pidof broadwayd 2>/dev/null)
|
|
if [ -z "${BROADWAYD}" ]; then
|
|
[ -f #{CREW_PREFIX}/bin/stopsommelier ] && stopsommelier
|
|
broadwayd ${BROADWAY_DISPLAY} &
|
|
sleep 3
|
|
fi
|
|
BROADWAYD=$(pidof broadwayd 2>/dev/null)
|
|
if [ ! -z "${BROADWAYD}" ]; then
|
|
echo "broadwayd process ${BROADWAYD} is running"
|
|
else
|
|
echo "broadwayd failed to start"
|
|
exit 1
|
|
fi
|
|
STARTBROADWAYEOF
|
|
File.write 'stopbroadway', <<~STOPBROADWAYEOF
|
|
#!/bin/bash
|
|
BROADWAYD=$(pidof broadwayd 2>/dev/null)
|
|
if [ ! -z "${BROADWAYD}" ]; then
|
|
pkill broadwayd
|
|
sleep 3
|
|
fi
|
|
BROADWAYD=$(pidof broadwayd 2> /dev/null)
|
|
if [ -z "${BROADWAYD}" ]; then
|
|
echo "broadwayd process stopped"
|
|
else
|
|
echo "broadwayd process ${BROADWAYD} is running"
|
|
exit 1
|
|
fi
|
|
STOPBROADWAYEOF
|
|
end
|
|
|
|
def self.install
|
|
FileUtils.install 'startbroadway', "#{CREW_DEST_PREFIX}/bin/startbroadway", mode: 0o755
|
|
FileUtils.install 'stopbroadway', "#{CREW_DEST_PREFIX}/bin/stopbroadway", mode: 0o755
|
|
FileUtils.install '10-broadway', "#{CREW_DEST_PREFIX}/etc/bash.d/10-broadway", mode: 0o755
|
|
FileUtils.install 'broadway.env', "#{CREW_DEST_PREFIX}/etc/env.d/broadway.env", mode: 0o644
|
|
end
|
|
|
|
def self.postinstall
|
|
ExitMessage.add <<~EOM
|
|
|
|
Run 'startbroadway' to start the broadwayd daemon.
|
|
Run 'stopbroadway' to stop the broadwayd daemon.
|
|
|
|
To adjust environment variables, edit #{CREW_PREFIX}/etc/env.d/broadway.env.
|
|
|
|
Navigate your browser to http://127.0.0.1:8085 while the broadwayd
|
|
daemon is running to run GTK applications in the browser window.
|
|
|
|
Please be aware that gtk applications may not work without the broadwayd daemon running.
|
|
|
|
EOM
|
|
end
|
|
end
|