mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-04 18:22:08 +00:00
d3d6b643f1
This patch simplifies the propagation of pointer shapes from window-manager clients to the pointer. The "shape" report is routed to the wm server, which, in turn, reports it to the pointer. This way, the pointer can easily correlate the label of the application's "shape" report with the label of the application's Nitpicker session. The formerly used manual rewriting of the "shape" label is not needed anymore. Since the wm server provides a "Report" service now, its <provides> declaration must cover "Report" in addition to "Nitpicker" to avoid runtime error messages. Vice versa, the wm is now expected to request "shape" reports, which should be routed to the pointer (using the 'label_last' routing attribute). Fixes #3165
159 lines
4.5 KiB
Plaintext
159 lines
4.5 KiB
Plaintext
source ${genode_dir}/repos/libports/run/qt5_common.inc
|
|
|
|
import_from_depot [depot_user]/src/qt5_component \
|
|
[depot_user]/src/qt5_printsupport \
|
|
[depot_user]/src/qt5_textedit \
|
|
[depot_user]/src/qt5_widgets
|
|
|
|
#
|
|
# Build
|
|
#
|
|
|
|
if {[have_spec odroid_xu]} {
|
|
puts "Run script does not support this platform."
|
|
exit 0
|
|
}
|
|
|
|
append build_components [qt5_build_components feature]
|
|
|
|
set use_sd_card_driver [expr [have_spec omap4] || [have_spec arndale]]
|
|
set use_ahci_driver [expr [have_spec x86] && ![have_spec linux]]
|
|
|
|
lappend_if $use_sd_card_driver build_components drivers/sd_card
|
|
lappend_if $use_ahci_driver build_components drivers/ahci
|
|
lappend_if [have_spec acpi] build_components drivers/acpi
|
|
lappend_if [have_spec linux] build_components server/ram_fs
|
|
lappend_if [expr ![have_spec linux]] build_components server/fatfs_fs
|
|
|
|
build $build_components
|
|
|
|
#
|
|
# Generate config
|
|
#
|
|
|
|
append config {
|
|
<config>
|
|
<parent-provides>}
|
|
append config [qt5_parent_provides feature]
|
|
append config {
|
|
</parent-provides>
|
|
<default caps="100"/>
|
|
<default-route>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</default-route>}
|
|
|
|
append config [qt5_start_nodes feature]
|
|
|
|
append_if $use_ahci_driver config {
|
|
<start name="ahci_drv">
|
|
<resource name="RAM" quantum="5M"/>
|
|
<provides> <service name="Block"/> </provides>
|
|
<config>
|
|
<policy label_prefix="fatfs_fs" device="0" />
|
|
</config>
|
|
</start>}
|
|
|
|
append_if $use_sd_card_driver config {
|
|
<start name="sd_card_drv">
|
|
<resource name="RAM" quantum="1M" />
|
|
<provides><service name="Block"/></provides>
|
|
</start>}
|
|
|
|
append_if [have_spec linux] config {
|
|
<start name="ram_fs">
|
|
<resource name="RAM" quantum="10M"/>
|
|
<provides><service name="File_system"/></provides>
|
|
<config>
|
|
<!-- constrain sessions according to their labels -->
|
|
<policy label_prefix="textedit" root="/" writeable="yes" />
|
|
<policy label_prefix="textedit2" root="/" writeable="yes" />
|
|
</config>
|
|
</start>}
|
|
|
|
append_if [expr ![have_spec linux]] config {
|
|
<start name="fatfs_fs">
|
|
<resource name="RAM" quantum="10M"/>
|
|
<provides><service name="File_system"/></provides>
|
|
<config>
|
|
<!-- constrain sessions according to their labels -->
|
|
<policy label_prefix="textedit" root="/" writeable="yes" />
|
|
</config>
|
|
</start>}
|
|
|
|
append config {
|
|
<start name="textedit" caps="300">
|
|
<resource name="RAM" quantum="70M"/>
|
|
<config>
|
|
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
|
|
<vfs>
|
|
<dir name="dev">
|
|
<log/>
|
|
<inline name="rtc">2018-01-01 00:01</inline>
|
|
</dir>
|
|
<dir name="fs"> <fs/> </dir>
|
|
<tar name="qt5_dejavusans.tar"/>
|
|
</vfs>
|
|
</config>
|
|
<route>
|
|
<service name="Nitpicker"> <child name="wm"/> </service>
|
|
<service name="Report" label="shape"> <child name="wm"/> </service>
|
|
<service name="ROM" label="egl_drv.lib.so"> <parent label="egl_swrast.lib.so" /> </service>
|
|
<any-service> <parent /> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
<start name="textedit2" caps="300">
|
|
<binary name="textedit" />
|
|
<resource name="RAM" quantum="70M"/>
|
|
<config>
|
|
<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc"/>
|
|
<vfs>
|
|
<dir name="dev">
|
|
<log/>
|
|
<inline name="rtc">2018-01-01 00:01</inline>
|
|
</dir>
|
|
<dir name="fs"> <fs/> </dir>
|
|
<tar name="qt5_dejavusans.tar"/>
|
|
</vfs>
|
|
</config>
|
|
<route>
|
|
<service name="Nitpicker"> <child name="wm"/> </service>
|
|
<service name="Report" label="shape"> <child name="wm"/> </service>
|
|
<service name="ROM" label="egl_drv.lib.so"> <parent label="egl_swrast.lib.so" /> </service>
|
|
<any-service> <parent /> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
</config>
|
|
}
|
|
|
|
install_config $config
|
|
|
|
#
|
|
# Boot modules
|
|
#
|
|
|
|
append boot_modules [qt5_boot_modules feature]
|
|
|
|
# platform-specific modules
|
|
lappend_if [have_spec linux] boot_modules ram_fs
|
|
lappend_if [expr ![have_spec linux]] boot_modules fatfs_fs
|
|
lappend_if $use_sd_card_driver boot_modules sd_card_drv
|
|
lappend_if $use_ahci_driver boot_modules ahci_drv
|
|
|
|
build_boot_image $boot_modules
|
|
|
|
set disk_image "bin/test.hda"
|
|
set cmd "dd if=/dev/zero of=$disk_image bs=1024 count=65536"
|
|
puts "creating disk image: $cmd"
|
|
catch { exec sh -c $cmd }
|
|
|
|
set cmd "mkfs.vfat -F32 $disk_image"
|
|
puts "formating disk image with vfat file system: $cmd"
|
|
catch { exec sh -c $cmd }
|
|
|
|
append_if $use_ahci_driver qemu_args " -drive id=disk,file=$disk_image,format=raw,if=none -device ahci,id=ahci -device ide-drive,drive=disk,bus=ahci.0 -boot d"
|
|
|
|
append qemu_args " -usbdevice tablet "
|
|
|
|
run_genode_until forever
|
|
|