diff --git a/build-aux/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch b/build-aux/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch new file mode 100644 index 0000000000000000000000000000000000000000..763c3a99744f679294195b39522c1ad788f79f98 --- /dev/null +++ b/build-aux/0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch @@ -0,0 +1,123 @@ +From d6dd5cdf45c1aac6c0519c8a4f5f89321770fb53 Mon Sep 17 00:00:00 2001 +From: Michael Meeks +Date: Fri, 9 Nov 2012 16:16:40 +0000 +Subject: [PATCH] gtk: Don't assume all GdkDisplays are GdkX11Displays: + broadway/wayland + +Co-Authored-By: Bastien Nocera +--- + src/canberra-gtk-module.c | 15 +++++++++++++++ + src/canberra-gtk.c | 28 ++++++++++++++++++++++------ + 2 files changed, 37 insertions(+), 6 deletions(-) + +diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c +index 67791f0..c1532ab 100644 +--- a/src/canberra-gtk-module.c ++++ b/src/canberra-gtk-module.c +@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDisplay *d) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) { + gboolean ret = FALSE; + Atom xembed; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return FALSE; ++#endif ++ + /* Gnome Panel applets are XEMBED windows. We need to make sure we + * ignore them */ + +diff --git a/src/canberra-gtk.c b/src/canberra-gtk.c +index 34446f5..47285f8 100644 +--- a/src/canberra-gtk.c ++++ b/src/canberra-gtk.c +@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -254,18 +259,28 @@ int ca_gtk_proplist_set_for_widget(ca_proplist *p, GtkWidget *widget) { + + if (gtk_widget_get_realized(GTK_WIDGET(w))) { + GdkWindow *dw = NULL; ++#ifdef GDK_IS_X11_DISPLAY + GdkScreen *screen = NULL; ++#endif + GdkDisplay *display = NULL; + gint x = -1, y = -1, width = -1, height = -1, screen_width = -1, screen_height = -1; + +- if ((dw = gtk_widget_get_window(GTK_WIDGET(w)))) +- if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_XID, "%lu", (unsigned long) GDK_WINDOW_XID(dw))) < 0) +- return ret; ++ if ((dw = gtk_widget_get_window(GTK_WIDGET(w)))) { ++#ifdef GDK_IS_X11_DISPLAY ++ if (GDK_IS_X11_DISPLAY(display)) { ++ if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_XID, "%lu", (unsigned long) GDK_WINDOW_XID(dw))) < 0) ++ return ret; ++ } ++#endif ++ } + + if ((display = gtk_widget_get_display(GTK_WIDGET(w)))) { +- if ((t = gdk_display_get_name(display))) ++#ifdef GDK_IS_X11_DISPLAY ++ if (GDK_IS_X11_DISPLAY(display) && (t = gdk_display_get_name(display))) { + if ((ret = ca_proplist_sets(p, CA_PROP_WINDOW_X11_DISPLAY, t)) < 0) + return ret; ++ } ++#endif + + if (dw) { + gint desktop = window_get_desktop(display, dw); +@@ -276,7 +291,8 @@ int ca_gtk_proplist_set_for_widget(ca_proplist *p, GtkWidget *widget) { + } + } + +- if ((screen = gtk_widget_get_screen(GTK_WIDGET(w)))) { ++#ifdef GDK_IS_X11_DISPLAY ++ if (GDK_IS_X11_DISPLAY(display) && (screen = gtk_widget_get_screen(GTK_WIDGET(w)))) { + + if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_SCREEN, "%i", gdk_screen_get_number(screen))) < 0) + return ret; +@@ -285,7 +301,7 @@ int ca_gtk_proplist_set_for_widget(ca_proplist *p, GtkWidget *widget) { + if ((ret = ca_proplist_setf(p, CA_PROP_WINDOW_X11_MONITOR, "%i", gdk_screen_get_monitor_at_window(screen, dw))) < 0) + return ret; + } +- ++#endif + /* FIXME, this might cause a round trip */ + + if (dw) { +-- +2.34.1 + diff --git a/build-aux/polkit-build-add-option-to-skip-building-polkitd.patch b/build-aux/polkit-build-add-option-to-skip-building-polkitd.patch new file mode 100644 index 0000000000000000000000000000000000000000..76d3bc6e1ecbf2d5f1a9e5cc812228b3a8a17399 --- /dev/null +++ b/build-aux/polkit-build-add-option-to-skip-building-polkitd.patch @@ -0,0 +1,56 @@ +From 9df9641cbce372ffa602958c482abc35473e0324 Mon Sep 17 00:00:00 2001 +From: Peter Eisenmann +Date: Fri, 27 May 2022 00:24:09 +0400 +Subject: [PATCH] build: add option to skip building polkitd + +--- + meson.build | 4 ++++ + meson_options.txt | 1 + + src/meson.build | 4 +++- + 3 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 66c4e9b..1b6e129 100644 +--- a/meson.build ++++ b/meson.build +@@ -137,6 +137,10 @@ assert(cc.has_function('XML_ParserCreate', dependencies: expat_dep), 'Can\'t fin + duktape_req_version = '>= 2.2.0' + + js_engine = get_option('js_engine') ++if get_option('libs-only') ++ js_engine = '' ++endif ++ + if js_engine == 'duktape' + js_dep = dependency('duktape', version: duktape_req_version, required: false) + if not js_dep.found() +diff --git a/meson_options.txt b/meson_options.txt +index 76aa311..908de87 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -1,6 +1,7 @@ + option('session_tracking', type: 'combo', choices: ['libsystemd-login', 'libelogind', 'ConsoleKit'], value: 'ConsoleKit', description: 'session tracking (libsystemd-login/libelogind/ConsoleKit)') + option('systemdsystemunitdir', type: 'string', value: '', description: 'custom directory for systemd system units') + ++option('libs-only', type: 'boolean', value: false, description: 'Only build libraries (skips building polkitd)') + option('polkitd_user', type: 'string', value: 'polkitd', description: 'User for running polkitd (polkitd)') + + option('authfw', type: 'combo', choices: ['pam', 'shadow', 'bsdauth'], value: 'pam', description: 'Authentication framework (pam/shadow)') +diff --git a/src/meson.build b/src/meson.build +index 4073333..7702894 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -4,7 +4,9 @@ symbol_map = meson.current_source_dir() / 'symbol.map' + ldflags = cc.get_supported_link_arguments('-Wl,--version-script,@0@'.format(symbol_map)) + + subdir('polkit') +-subdir('polkitbackend') ++if not get_option('libs-only') ++ subdir('polkitbackend') ++endif + subdir('polkitagent') + subdir('programs') + +-- +2.30.2 + diff --git a/build-aux/sm.puri.Phosh.Devel.json b/build-aux/sm.puri.Phosh.Devel.json new file mode 100644 index 0000000000000000000000000000000000000000..ef0390ba19e2bdec56d289bb2874e1687bff841f --- /dev/null +++ b/build-aux/sm.puri.Phosh.Devel.json @@ -0,0 +1,552 @@ +{ + "app-id" : "sm.puri.Phosh.Devel", + "runtime" : "sm.puri.Platform", + "runtime-version" : "42", + "sdk" : "sm.puri.Sdk", + "sdk-extensions" : [ + "org.freedesktop.Sdk.Extension.rust-stable", + "org.freedesktop.Sdk.Extension.llvm12" + ], + "command" : "phosh", + "finish-args" : [ + "--socket=fallback-x11", + "--socket=wayland", + "--socket=pulseaudio", + "--share=network", + "--share=ipc", + "--device=dri" + ], + "build-options" : { + "append-ld-library-path" : "/usr/lib/sdk/llvm12/lib", + "append-path" : "/usr/lib/sdk/llvm14/bin:/usr/lib/sdk/rust-stable/bin", + "build-args" : [ + "--share=network" + ], + "test-args" : [ + "--socket=x11", + "--share=network" + ] + }, + "modules" : [ + { + "name" : "wayland", + "buildsystem" : "meson", + "config-opts" : [ + "-Ddocumentation=false", + "-Dtests=false", + "-Dscanner=true" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.freedesktop.org/wayland/wayland.git", + "branch" : "main" + } + ] + }, + { + "name" : "wayland-protocols", + "buildsystem" : "meson", + "config-opts" : [ + "-Dtests=false" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.freedesktop.org/wayland/wayland-protocols.git", + "branch" : "main" + } + ] + }, + { + "name" : "drm", + "buildsystem" : "meson", + "config-opts" : [ + "-Dinstall-test-programs=false", + "-Dman-pages=false", + "-Dcairo-tests=false" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.freedesktop.org/mesa/drm.git", + "branch" : "main" + } + ] + }, + { + "name" : "seatd", + "buildsystem" : "meson", + "config-opts" : [ + "-Dexamples=disabled", + "-Dman-pages=disabled", + "-Dlibseat-logind=systemd", + "-Dserver=disabled", + "-Dlibseat-builtin=enabled" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://git.sr.ht/~kennylevinsen/seatd", + "tag" : "0.6.4" + } + ] + }, + { + "name" : "libinput", + "buildsystem" : "meson", + "config-opts" : [ + "-Dlibwacom=false", + "-Ddebug-gui=false", + "-Dinstall-tests=false", + "-Dtests=false" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.freedesktop.org/libinput/libinput.git", + "branch" : "main" + } + ], + "modules" : [ + { + "name" : "mtdev", + "sources" : [ + { + "type" : "git", + "url" : "https://github.com/rydberg/mtdev.git", + "branch" : "master" + } + ] + }, + { + "name" : "libevdev", + "buildsystem" : "meson", + "config-opts" : [ + "-Dtests=disabled", + "-Ddocumentation=disabled" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.freedesktop.org/libevdev/libevdev.git", + "branch" : "master" + } + ] + } + ] + }, + { + "name" : "wlroots", + "buildsystem" : "meson", + "config-opts" : [ + "-Dxwayland=disabled" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.freedesktop.org/wlroots/wlroots.git", + "branch" : "master" + } + ] + }, + { + "name" : "gnome-desktop", + "config-opts" : [ + "-Ddebug_tools=false", + "-Dudev=disabled" + ], + "buildsystem" : "meson", + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.gnome.org/GNOME/gnome-desktop.git", + "branch" : "master" + } + ] + }, + { + "name" : "gsettings-schemes", + "buildsystem" : "simple", + "build-commands": [ + "install -D org.gnome.shell.gschema.xml.in /app/share/glib-2.0/schemas/org.gnome.shell.gschema.xml", + "sed -i -e 's/@GETTEXT_PACKAGE@/gnome-shell/g' /app/share/glib-2.0/schemas/org.gnome.shell.gschema.xml", + "install -D org.gnome.desktop.wm.keybindings.gschema.xml.in /app/share/glib-2.0/schemas/org.gnome.desktop.wm.keybindings.gschema.xml", + "install -D org.gnome.desktop.peripherals.gschema.xml.in /app/share/glib-2.0/schemas/org.gnome.desktop.peripherals.gschema.xml", + "install -D org.gnome.settings-daemon.peripherals.gschema.xml.in /app/share/glib-2.0/schemas/org.gnome.settings-daemon.peripherals.gschema.xml", + "sed -i -e 's/@GETTEXT_PACKAGE@/gnome-settings-daemon/g' /app/share/glib-2.0/schemas/org.gnome.settings-daemon.peripherals.gschema.xml", + "install -D org.gnome.mutter.gschema.xml.in /app/share/glib-2.0/schemas/org.gnome.mutter.gschema.xml", + "sed -i -e 's/@GETTEXT_PACKAGE@/mutter/g' /app/share/glib-2.0/schemas/org.gnome.mutter.gschema.xml", + "glib-mkenums --comments '' --fhead '' --vhead '<@type@ id=\"org.gnome.settings-daemon.@EnumName@\">' --vprod ' ' --vtail ' ' --ftail '' 'gsd-enums.h' --output='/app/share/glib-2.0/schemas/org.gnome.settings-daemon.enums.xml'", + "glib-mkenums --comments '' --fhead '' --vhead '<@type@ id=\"org.gnome.desktop.@EnumName@\">' --vprod ' ' --vtail ' ' --ftail '' 'gdesktop-enums.h' --output='/app/share/glib-2.0/schemas/org.gnome.desktop.enums.xml'", + "glib-compile-schemas /app/share/glib-2.0/schemas" + ], + "sources" : [ + { + "type" : "file", + "url" : "https://gitlab.gnome.org/GNOME/gnome-shell/-/raw/main/data/org.gnome.shell.gschema.xml.in", + "dest-filename" : "org.gnome.shell.gschema.xml.in", + "sha256" : "770149e1172c4dad0dddaaa460449c1fbdf27b5e9ecb10e7d83385b37e1807dc" + }, + { + "type" : "file", + "url" : "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/-/raw/master/schemas/org.gnome.desktop.wm.keybindings.gschema.xml.in", + "dest-filename" : "org.gnome.desktop.wm.keybindings.gschema.xml.in", + "sha256" : "58036d83de3758f5080c80c8f4b4c13faf8d011da6d21bb7d5766d70a7d515ed" + }, + { + "type" : "file", + "url" : "https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/-/raw/master/schemas/org.gnome.desktop.peripherals.gschema.xml.in", + "dest-filename" : "org.gnome.desktop.peripherals.gschema.xml.in", + "sha256" : "a75b066c4c77c097e4225db277b3aac28aeb8ce639b29d4edd96bbef1ae8da69" + }, + { + "type" : "file", + "url" : "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/raw/master/data/org.gnome.settings-daemon.peripherals.gschema.xml.in", + "dest-filename" : "org.gnome.settings-daemon.peripherals.gschema.xml.in", + "sha256" : "71560667386ce396250675b147ca5ff5090ac9c859289c69bea41b00b749c8c0" + }, + { + "type" : "file", + "url" : "https://gitlab.gnome.org/GNOME/mutter/-/raw/main/data/org.gnome.mutter.gschema.xml.in", + "dest-filename" : "org.gnome.mutter.gschema.xml.in", + "sha256" : "58a4ec70e258e51f4f013d863565a27b9f3e85cddd1601340b746169ee2071c2" + }, + { + "type" : "file", + "url" : "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/raw/master/data/gsd-enums.h", + "dest-filename" : "gsd-enums.h", + "sha256" : "f0af4cb0516a494113f14a97cf55b19091daab24d42ce4adb643e8496ea4c1e9" + }, + { + "type" : "file", + "url" : " https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/-/raw/master/headers/gdesktop-enums.h", + "dest-filename" : "gdesktop-enums.h", + "sha256" : "18261cc08bd6ccf2c10cced90b487f81bb205bae014a0d78d3c3465656d6cad2" + } + ] + }, + { + "name" : "phoc", + "buildsystem" : "meson", + "config-opts" : [ + "-Dxwayland=disabled" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.gnome.org/World/Phosh/phoc.git", + "branch" : "master" + } + ] + }, + { + "name" : "callaudiod", + "buildsystem" : "meson", + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.com/mobian1/callaudiod", + "branch" : "master" + } + ] + }, + { + "name" : "NetworkManager", + "buildsystem" : "meson", + "build-options" : { + "cflags" : "-ltinfo", + "cxxflags" : "-ltinfo" + }, + "config-opts" : [ + "-Dudev_dir=no", + "-Ddbus_conf_dir=no", + "-Dsystemdsystemunitdir=no", + "-Dsession_tracking=systemd", + "-Dpolkit=false", + "-Dlibaudit=no", + "-Ddnsmasq=/usr/bin/true", + "-Ddocs=false", + "-Dintrospection=false", + "-Diptables=/usr/bin/true", + "-Dlibpsl=false", + "-Dmodem_manager=false", + "-Dnmcli=false", + "-Dnmtui=false", + "-Dovs=false", + "-Dppp=false", + "-Dqt=false", + "-Dselinux=false", + "-Dsystemd_journal=false", + "-Dtests=no", + "-Dvapi=false" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git", + "branch" : "main" + } + ], + "cleanup" : [ + "/libexec", + "/lib/pkgconfig", + "/lib/cmake", + "/include", + "*.a", + "*.la" + ], + "modules" : [ + { + "name" : "libndp", + "buildsystem" : "autotools", + "sources" : [ + { + "type" : "archive", + "url" : " http://libndp.org/files/libndp-1.6.tar.gz", + "sha256" : "0c7dfa84e013bd5e569ef2c6292a6f72cfaf14f4ff77a77425e52edc33ffac0e" + } + ], + "cleanup" : [ + "/libexec", + "/lib/pkgconfig", + "/include", + "*.a", + "*.la" + ] + } + ] + }, + { + "name" : "polkit", + "buildsystem" : "meson", + "config-opts" : [ + "-Dlibs-only=true", + "-Dman=false", + "-Dintrospection=false", + "-Dexamples=false", + "-Dgtk_doc=false", + "-Dauthfw=shadow" + ], + "cleanup" : [ + "/bin/*", + "/etc/pam.d", + "/etc/dbus-1", + "/share/dbus-1/system-services/*", + "/share/polkit-1", + "/share/polkit-1/actions/*", + "/lib/polkit-1" + ], + "sources" : [ + { + "x-checker-data" : { + "type" : "anitya", + "project-id" : 3682, + "url-template" : "https://www.freedesktop.org/software/polkit/releases/polkit-$version.tar.gz" + }, + "type" : "archive", + "url" : "https://www.freedesktop.org/software/polkit/releases/polkit-121.tar.gz", + "sha256" : "9dc7ae341a797c994a5a36da21963f0c5c8e3e5a1780ccc2a5f52e7be01affaa" + }, + { + "type" : "patch", + "path" : "polkit-build-add-option-to-skip-building-polkitd.patch" + } + ] + }, + { + "name" : "libusb", + "config-opts" : [ + "--disable-static" + ], + "cleanup" : [ + "/lib/*.la", + "/lib/pkgconfig", + "/include" + ], + "sources" : [ + { + "type" : "archive", + "url" : "https://github.com/libusb/libusb/releases/download/v1.0.26/libusb-1.0.26.tar.bz2", + "sha256" : "12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5" + } + ], + "post-install" : [ + "install -Dm644 COPYING /app/share/licenses/libusb/COPYING" + ] + }, + { + "name" : "upower", + "config-opts" : [ + "--with-systemdsystemunitdir=no", + "--with-systemdutildir=no" + ], + "cleanup" : [ + "/bin/upower", + "/etc/dbus-1", + "/etc/UPower", + "/libexec", + "/libexec/rules.d", + "/lib/girepository-1.0", + "/lib/pkgconfig", + "/share/dbus-1", + "/share/gir-1.0", + "/var" + ], + "sources" : [ + { + "type" : "archive", + "url" : "https://gitlab.freedesktop.org/upower/upower/uploads/93cfe7c8d66ed486001c4f3f55399b7a/upower-0.99.11.tar.xz", + "sha256" : "64b5ffbfccd5bdb15d925777979a4dbee1a957f9eaeb158dc76175267eddbdef" + } + ] + }, + { + "name" : "pam", + "buildsystem" : "autotools", + "config-opts" : [ + "--disable-doc", + "--disable-regenerate-docu", + "--libdir=/app/lib", + "--sbindir=/app/bin", + "--includedir=/app/include/security", + "--disable-rpath", + "--enable-static", + "--enable-shared", + "--disable-prelude", + "--enable-audit", + "--enable-openssl", + "--enable-selinux", + "--enable-vendordir=/app/share" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://github.com/linux-pam/linux-pam.git", + "tag" : "v1.5.2" + } + ] + }, + { + "name" : "libcanberra", + "cleanup" : [ + "*.la", + "/bin", + "/etc", + "/include", + "/libexec", + "/share/gtk-doc", + "/share/man" + ], + "config-opts" : [ + "--disable-static", + "--disable-gtk-doc", + "--disable-oss", + "--enable-pulse", + "--disable-udev", + "--disable-gtk", + "--enable-gtk3", + "--disable-lynx" + ], + "sources" : [ + { + "type" : "archive", + "url" : "http://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz", + "sha256" : "c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72", + "git-init" : true + }, + { + "type" : "patch", + "path" : "0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch", + "use-git-am" : true + } + ] + }, + { + "name" : "gsound", + "buildsystem" : "meson", + "sources" : [ + { + "type" : "archive", + "url" : "https://download.gnome.org/sources/gsound/1.0/gsound-1.0.3.tar.xz", + "sha256" : "ca2d039e1ebd148647017a7f548862350bc9af01986d39f10cfdc8e95f07881a" + } + ], + "cleanup" : [ + "/bin" + ] + }, + { + "name" : "feedbackd", + "buildsystem" : "meson", + "config-opts" : [ + "-Dtests=false" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://source.puri.sm/Librem5/feedbackd.git", + "branch" : "master" + } + ] + }, + { + "name" : "squeekboard", + "buildsystem" : "meson", + "config-opts" : [ + "-Dtests=false" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.gnome.org/World/Phosh/squeekboard.git", + "branch" : "master" + } + ] + }, + { + "name" : "gnome-session", + "buildsystem" : "meson", + "config-opts" : [ + "-Ddocbook=false", + "-Dman=false", + "-Dsystemd=false", + "-Dsystemd_session=disable", + "-Dsystemd_journal=false" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.gnome.org/GNOME/gnome-session.git", + "branch" : "main" + } + ] + }, + { + "name" : "phosh", + "buildsystem" : "meson", + "run-tests" : true, + "config-opts" : [ + "-Dtools=false", + "-Dphoc_tests=disabled", + "-Dtests=false" + ], + "post-install" : [ + "cp /usr/share/applications/org.gnome.Adwaita1.Demo.desktop ${FLATPAK_DEST}/share/applications/org.gnome.Adwaita1.Demo.desktop", + "desktop-file-edit --remove-key=NoDisplay ${FLATPAK_DEST}/share/applications/org.gnome.Adwaita1.Demo.desktop", + "echo \"#!/bin/bash\" > /app/bin/phosh", + "echo \"gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true\" >> /app/bin/phosh", + "echo \"gsettings set org.gtk.Settings.Purism is-phone true\" >> /app/bin/phosh", + "echo \"WLR_BACKENDS=wayland phoc -C /app/share/phosh/phoc.ini -E '/app/libexec/phosh -U' &\" >> /app/bin/phosh", + "echo \"sleep 2 && SQUEEKBOARD_DEBUG=force-show squeekboard\" >> /app/bin/phosh" + ], + "sources" : [ + { + "type" : "dir", + "path" : "../" + } + ] + } + ] +} +