Update broadway (#11284)

This commit is contained in:
Ed Reel
2025-02-10 17:43:27 -06:00
committed by GitHub
parent 2c346f9ce1
commit df8d66fca1
3 changed files with 39 additions and 32 deletions

View File

@@ -0,0 +1,4 @@
/usr/local/bin/startbroadway
/usr/local/bin/stopbroadway
/usr/local/etc/bash.d/10-broadway
/usr/local/etc/env.d/broadway.env

View File

@@ -1,2 +1,4 @@
/usr/local/bin/initbroadway
/usr/local/bin/startbroadway
/usr/local/bin/stopbroadway
/usr/local/etc/bash.d/10-broadway
/usr/local/etc/env.d/broadway.env

View File

@@ -1,32 +1,39 @@
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.22-3'
license 'GPL-3+'
compatibility 'aarch64 armv7l x86_64'
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
@broadwayenv = <<~BROADWAYENVEOF
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("#{CREW_DEST_HOME}/.broadway.env", @broadwayenv)
@initbroadway = <<~INITBROADWAYEOF
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' >> initbroadway
sleep 3
fi
BROADWAYD=$(pidof broadwayd 2>/dev/null)
if [ ! -z "${BROADWAYD}" ]; then
@@ -35,9 +42,8 @@ class Broadway < Package
echo "broadwayd failed to start"
exit 1
fi
INITBROADWAYEOF
File.write('initbroadway', @initbroadway)
@stopbroadway = <<~STOPBROADWAYEOF
STARTBROADWAYEOF
File.write 'stopbroadway', <<~STOPBROADWAYEOF
#!/bin/bash
BROADWAYD=$(pidof broadwayd 2>/dev/null)
if [ ! -z "${BROADWAYD}" ]; then
@@ -52,33 +58,28 @@ class Broadway < Package
exit 1
fi
STOPBROADWAYEOF
File.write('stopbroadway', @stopbroadway)
end
def self.install
FileUtils.install 'initbroadway', "#{CREW_DEST_PREFIX}/bin/initbroadway", mode: 0o755
FileUtils.install 'startbroadway', "#{CREW_DEST_PREFIX}/bin/startbroadway", mode: 0o755
FileUtils.install 'stopbroadway', "#{CREW_DEST_PREFIX}/bin/stopbroadway", mode: 0o755
FileUtils.install '.broadway.env', "#{CREW_DEST_HOME}/.broadway.env", mode: 0o644
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
puts
puts 'To complete the installation, execute the following:'.lightblue
puts "echo '# Broadway environment variables + daemon' >> ~/.bashrc".lightblue
puts "echo '# See https://docs.gtk.org/gtk3/broadway.html' >> ~/.bashrc".lightblue
puts "echo 'alias startbroadway=\"set -a && source ~/.broadway.env && set +a && initbroadway\"' >> ~/.bashrc".lightblue
puts "echo 'startbroadway' >> ~/.bashrc".lightblue
puts 'source ~/.bashrc'.lightblue
puts
puts "To start the broadwayd daemon, run 'startbroadway'".lightblue
puts "To stop the broadwayd daemon, run 'stopbroadway'".lightblue
puts
puts "To adjust environment variables, edit #{CREW_HOME}/.broadway.env".lightblue
puts
puts 'Navigate your browser to http://127.0.0.1:8085 while the broadwayd'.lightblue
puts 'daemon is running to run GTK applications in the browser window.'.lightblue
puts
puts 'Please be aware that gtk applications may not work without the broadwayd daemon running.'.orange
puts
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