diff --git a/hardware/virtualization/bubblewrap/pspec.xml b/hardware/virtualization/bubblewrap/pspec.xml
index ab0a4c8beb..cdfa4aef48 100644
--- a/hardware/virtualization/bubblewrap/pspec.xml
+++ b/hardware/virtualization/bubblewrap/pspec.xml
@@ -11,7 +11,7 @@
LGPLv2
Unprivileged sandboxing tool
is a core execution engine for unprivileged containers that works as a setuid binary on kernels without user namespaces.
- https://github.com/projectatomic/bubblewrap/archive/v0.3.3.tar.gz
+ https://github.com/projectatomic/bubblewrap/archive/v0.4.0.tar.gz
libcap-devel
bash-completion
@@ -34,6 +34,13 @@
+
+ 2020-03-12
+ 0.4.0
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
2019-07-07
0.3.3
diff --git a/hardware/virtualization/xdg-desktop-portal/actions.py b/hardware/virtualization/xdg-desktop-portal/actions.py
index b17630872b..48564bc0bf 100644
--- a/hardware/virtualization/xdg-desktop-portal/actions.py
+++ b/hardware/virtualization/xdg-desktop-portal/actions.py
@@ -11,10 +11,11 @@ from pisi.actionsapi import shelltools
from pisi.actionsapi import get
def setup():
- shelltools.system("NOCONFIGURE=1 ./autogen.sh")
-
+ #shelltools.system("NOCONFIGURE=1 ./autogen.sh")
+ autotools.autoreconf("-fi")
autotools.configure("--with-systemduserunitdir=none \
--disable-geoclue \
+ --disable-docbook-docs \
--disable-libportal \
--disable-pipewire")
diff --git a/hardware/virtualization/xdg-desktop-portal/files/hack.diff b/hardware/virtualization/xdg-desktop-portal/files/hack.diff
new file mode 100644
index 0000000000..5aa4ef7b69
--- /dev/null
+++ b/hardware/virtualization/xdg-desktop-portal/files/hack.diff
@@ -0,0 +1,199 @@
+diff --git i/tests/camera.c w/tests/camera.c
+index 4fefbe4..7957d72 100644
+--- i/tests/camera.c
++++ w/tests/camera.c
+@@ -239,29 +239,31 @@ test_camera_lockdown (void)
+ require_pipewire ();
+ reset_camera_permissions ();
+ xdp_impl_lockdown_set_disable_camera (lockdown, TRUE);
++ sleep (1);
+
+ keyfile = g_key_file_new ();
+
+ g_key_file_set_integer (keyfile, "backend", "delay", 200);
+ g_key_file_set_integer (keyfile, "result", "marker", 4);
+ g_key_file_set_integer (keyfile, "backend", "response", 0);
+ g_key_file_set_integer (keyfile, "result", "response", 2);
+ g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
+ g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
+
+ path = g_build_filename (outdir, "access", NULL);
+ g_key_file_save_to_file (keyfile, path, &error);
+ g_assert_no_error (error);
+
+ portal = xdp_portal_new ();
+
+ got_info = 0;
+ xdp_portal_access_camera (portal, NULL, 0, NULL, camera_cb, keyfile);
+
+ while (!got_info)
+ g_main_context_iteration (NULL, TRUE);
+
+ xdp_impl_lockdown_set_disable_camera (lockdown, FALSE);
++ sleep (1);
+ }
+
+ /* Test the effect of the user denying the access dialog */
+diff --git i/tests/filechooser.c w/tests/filechooser.c
+index a5f9b2c..799f24b 100644
+--- i/tests/filechooser.c
++++ w/tests/filechooser.c
+@@ -871,29 +871,31 @@ test_save_file_lockdown (void)
+ };
+
+ xdp_impl_lockdown_set_disable_save_to_disk (lockdown, TRUE);
++ sleep (1);
+
+ keyfile = g_key_file_new ();
+
+ g_key_file_set_integer (keyfile, "backend", "delay", 200);
+ g_key_file_set_integer (keyfile, "backend", "response", 0);
+ g_key_file_set_integer (keyfile, "result", "response", 2);
+ g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
+ g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
+ g_key_file_set_string_list (keyfile, "result", "uris", uris, g_strv_length ((char **)uris));
+
+ path = g_build_filename (outdir, "filechooser", NULL);
+ g_key_file_save_to_file (keyfile, path, &error);
+ g_assert_no_error (error);
+
+ portal = xdp_portal_new ();
+
+ got_info = 0;
+ xdp_portal_save_file (portal, NULL, "test", "test_file.txt", NULL, NULL, NULL, NULL, NULL, 0, NULL, save_file_cb, keyfile);
+
+ while (!got_info)
+ g_main_context_iteration (NULL, TRUE);
+
+ xdp_impl_lockdown_set_disable_save_to_disk (lockdown, FALSE);
++ sleep (1);
+ }
+
+ void
+diff --git i/tests/location.c w/tests/location.c
+index 0395f77..89cdef6 100644
+--- i/tests/location.c
++++ w/tests/location.c
+@@ -30,10 +30,8 @@ test_location_basic (void)
+ {
+ g_autoptr(XdpPortal) portal = NULL;
+
+-#ifndef HAVE_GEOCLUE
+ g_test_skip ("Skipping tests that require geoclue");
+ return;
+-#endif
+
+ portal = xdp_portal_new ();
+
+@@ -67,10 +65,8 @@ test_location_accuracy (void)
+ {
+ g_autoptr(XdpPortal) portal = NULL;
+
+-#ifndef HAVE_GEOCLUE
+ g_test_skip ("Skipping tests that require geoclue");
+ return;
+-#endif
+
+ portal = xdp_portal_new ();
+
+diff --git i/tests/openuri.c w/tests/openuri.c
+index ddff074..ba02bfd 100644
+--- i/tests/openuri.c
++++ w/tests/openuri.c
+@@ -366,28 +366,30 @@ test_open_uri_lockdown (void)
+ g_autofree char *path = NULL;
+
+ xdp_impl_lockdown_set_disable_application_handlers (lockdown, TRUE);
++ sleep (1);
+
+ keyfile = g_key_file_new ();
+
+ g_key_file_set_integer (keyfile, "backend", "delay", 200);
+ g_key_file_set_integer (keyfile, "backend", "response", 0);
+ g_key_file_set_integer (keyfile, "result", "response", 2);
+ g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
+ g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
+
+ path = g_build_filename (outdir, "appchooser", NULL);
+ g_key_file_save_to_file (keyfile, path, &error);
+ g_assert_no_error (error);
+
+ portal = xdp_portal_new ();
+
+ got_info = 0;
+ xdp_portal_open_uri (portal, NULL, "http://www.flatpak.org", 0, NULL, open_uri_cb, keyfile);
+
+ while (!got_info)
+ g_main_context_iteration (NULL, TRUE);
+
+ xdp_impl_lockdown_set_disable_application_handlers (lockdown, FALSE);
++ sleep (1);
+ }
+
+ static void
+diff --git i/tests/print.c w/tests/print.c
+index 1b9be72..ddcac42 100644
+--- i/tests/print.c
++++ w/tests/print.c
+@@ -187,28 +187,30 @@ test_prepare_print_lockdown (void)
+ g_autofree char *path = NULL;
+
+ xdp_impl_lockdown_set_disable_printing (lockdown, TRUE);
++ sleep (1);
+
+ keyfile = g_key_file_new ();
+
+ g_key_file_set_integer (keyfile, "backend", "delay", 200);
+ g_key_file_set_integer (keyfile, "backend", "response", 0);
+ g_key_file_set_integer (keyfile, "result", "response", 2);
+ g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
+ g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
+
+ path = g_build_filename (outdir, "print", NULL);
+ g_key_file_save_to_file (keyfile, path, &error);
+ g_assert_no_error (error);
+
+ portal = xdp_portal_new ();
+
+ got_info = 0;
+ xdp_portal_prepare_print (portal, NULL, "test", NULL, NULL, 0, NULL, prepare_cb, keyfile);
+
+ while (!got_info)
+ g_main_context_iteration (NULL, TRUE);
+
+ xdp_impl_lockdown_set_disable_printing (lockdown, FALSE);
++ sleep (1);
+ }
+
+ void
+@@ -427,28 +429,30 @@ test_print_lockdown (void)
+ g_autoptr(GDBusConnection) session_bus = NULL;
+
+ xdp_impl_lockdown_set_disable_printing (lockdown, TRUE);
++ sleep (1);
+
+ keyfile = g_key_file_new ();
+
+ g_key_file_set_integer (keyfile, "backend", "delay", 200);
+ g_key_file_set_integer (keyfile, "backend", "response", 0);
+ g_key_file_set_integer (keyfile, "result", "response", 2);
+ g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
+ g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
+
+ path = g_build_filename (outdir, "print", NULL);
+ g_key_file_save_to_file (keyfile, path, &error);
+ g_assert_no_error (error);
+
+ portal = xdp_portal_new ();
+
+ got_info = 0;
+ xdp_portal_print_file (portal, NULL, "test", 0, path, 0, NULL, print_cb, keyfile);
+
+ while (!got_info)
+ g_main_context_iteration (NULL, TRUE);
+
+ xdp_impl_lockdown_set_disable_printing (lockdown, FALSE);
++ sleep (1);
+ }
+
+ void
diff --git a/hardware/virtualization/xdg-desktop-portal/pspec.xml b/hardware/virtualization/xdg-desktop-portal/pspec.xml
index bc5752d955..a48049dffe 100644
--- a/hardware/virtualization/xdg-desktop-portal/pspec.xml
+++ b/hardware/virtualization/xdg-desktop-portal/pspec.xml
@@ -22,6 +22,9 @@
fuse-devel
gettext-devel
+
+ hack.diff
+