From 82d250470aa2d9aae027db8ac083df80d9ebed28 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 22 May 2026 23:34:12 +0700 Subject: [PATCH] More plumbing to get thunar working --- recipes/groups/xfce4-common/recipe.toml | 1 + recipes/libs/glib/recipe.toml | 4 +- .../gnome/gnome-desktop-schemas/recipe.toml | 8 ++ recipes/wip/libs/tls/gnutls3/recipe.toml | 1 + recipes/wip/libs/tls/gnutls3/redox.patch | 93 +++++++++++++++++++ recipes/wip/x11/iceauth/recipe.toml | 8 ++ recipes/wip/x11/xfce4/thunar/recipe.toml | 5 + recipes/wip/x11/xfce4/tumbler/recipe.toml | 15 +++ .../wip/x11/xfce4/xfce4-session/recipe.toml | 2 +- 9 files changed, 135 insertions(+), 2 deletions(-) create mode 100644 recipes/wip/libs/gnome/gnome-desktop-schemas/recipe.toml create mode 100644 recipes/wip/libs/tls/gnutls3/redox.patch create mode 100644 recipes/wip/x11/iceauth/recipe.toml create mode 100644 recipes/wip/x11/xfce4/tumbler/recipe.toml diff --git a/recipes/groups/xfce4-common/recipe.toml b/recipes/groups/xfce4-common/recipe.toml index f85288ec..847334b6 100644 --- a/recipes/groups/xfce4-common/recipe.toml +++ b/recipes/groups/xfce4-common/recipe.toml @@ -1,6 +1,7 @@ [package] dependencies = [ "thunar", + "tumbler", "xfconf", "xfdashboard", "xfdesktop", diff --git a/recipes/libs/glib/recipe.toml b/recipes/libs/glib/recipe.toml index b0bc7107..cabf6426 100644 --- a/recipes/libs/glib/recipe.toml +++ b/recipes/libs/glib/recipe.toml @@ -18,5 +18,7 @@ script = """ DYNAMIC_INIT cookbook_meson \ -Ddefault_library=shared \ - -Dxattr=false + -Dxattr=false \ + -Dtests=false \ + -Dfile_monitor_backend=auto """ diff --git a/recipes/wip/libs/gnome/gnome-desktop-schemas/recipe.toml b/recipes/wip/libs/gnome/gnome-desktop-schemas/recipe.toml new file mode 100644 index 00000000..edb77203 --- /dev/null +++ b/recipes/wip/libs/gnome/gnome-desktop-schemas/recipe.toml @@ -0,0 +1,8 @@ +[source] +tar = "https://download.gnome.org/sources/gsettings-desktop-schemas/50/gsettings-desktop-schemas-50.1.tar.xz" + +[build] +template = "meson" +mesonflags = [ + "-Dintrospection=false" +] \ No newline at end of file diff --git a/recipes/wip/libs/tls/gnutls3/recipe.toml b/recipes/wip/libs/tls/gnutls3/recipe.toml index d976ab90..1306707e 100644 --- a/recipes/wip/libs/tls/gnutls3/recipe.toml +++ b/recipes/wip/libs/tls/gnutls3/recipe.toml @@ -2,6 +2,7 @@ [source] tar = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.10.tar.xz" blake3 = "edcd8a505867226722ae50e0e9bb2bf57a1f38b5674a3028e26f69d2d61957e6" +patches = ["redox.patch"] script = """ autotools_recursive_regenerate """ diff --git a/recipes/wip/libs/tls/gnutls3/redox.patch b/recipes/wip/libs/tls/gnutls3/redox.patch new file mode 100644 index 00000000..155046ec --- /dev/null +++ b/recipes/wip/libs/tls/gnutls3/redox.patch @@ -0,0 +1,93 @@ +diff -ruwN source/lib/nettle/sysrng-linux.c source-new/lib/nettle/sysrng-linux.c +--- source/lib/nettle/sysrng-linux.c 2023-08-03 21:42:26.000000000 +0700 ++++ source-new/lib/nettle/sysrng-linux.c 2026-05-22 14:49:54.913642701 +0700 +@@ -48,7 +48,7 @@ + + get_entropy_func _rnd_get_system_entropy = NULL; + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__redox__) + # ifdef HAVE_GETRANDOM + # include + # else +@@ -107,7 +107,7 @@ + if (ret == -1) { + int e = errno; + gnutls_assert(); +- _gnutls_debug_log ++ printf + ("Failed to use getrandom: %s\n", + strerror(e)); + return GNUTLS_E_RANDOM_DEVICE_ERROR; +@@ -127,7 +127,7 @@ + + urandom_fd = open("/dev/urandom", O_RDONLY); + if (urandom_fd < 0) { +- _gnutls_debug_log("Cannot open /dev/urandom!\n"); ++ printf("Cannot open /dev/urandom!\n"); + return GNUTLS_E_RANDOM_DEVICE_ERROR; + } + +@@ -140,11 +140,11 @@ + if (res <= 0) { + int e = errno; + if (res < 0) { +- _gnutls_debug_log ++ printf + ("Failed to read /dev/urandom: %s\n", + strerror(e)); + } else { +- _gnutls_debug_log ++ printf + ("Failed to read /dev/urandom: end of file\n"); + } + +@@ -159,18 +159,26 @@ + return 0; + } + ++static int _rnd_get_system_entropy_stub(void* _rnd, size_t size) ++{ ++ if (_rnd != NULL && size > 0) { ++ memset(_rnd, 0, size); ++ } ++ return 0; ++} ++ + int _rnd_system_entropy_init(void) + { + int urandom_fd; + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__redox__) + /* Enable getrandom() usage if available */ + if (have_getrandom()) { + _rnd_get_system_entropy = _rnd_get_system_entropy_getrandom; +- _gnutls_debug_log("getrandom random generator was selected\n"); ++ printf("getrandom random generator was selected\n"); + return 0; + } else { +- _gnutls_debug_log("getrandom is not available\n"); ++ printf("getrandom is not available\n"); + } + #endif + +@@ -179,13 +187,15 @@ + /* Check that we can open it */ + urandom_fd = open("/dev/urandom", O_RDONLY); + if (urandom_fd < 0) { +- _gnutls_debug_log("Cannot open /dev/urandom during initialization!\n"); +- return gnutls_assert_val(GNUTLS_E_RANDOM_DEVICE_ERROR); ++ printf("Cannot open /dev/urandom during initialization!\n"); ++ _rnd_get_system_entropy = _rnd_get_system_entropy_stub; ++ printf("USING VERY INSECURE NOT RANDOM ENTROPY!\n"); ++ return 0; + } + close(urandom_fd); + + _rnd_get_system_entropy = _rnd_get_system_entropy_urandom; +- _gnutls_debug_log("/dev/urandom random generator was selected\n"); ++ printf("/dev/urandom random generator was selected\n"); + + return 0; + } diff --git a/recipes/wip/x11/iceauth/recipe.toml b/recipes/wip/x11/iceauth/recipe.toml new file mode 100644 index 00000000..38207ff1 --- /dev/null +++ b/recipes/wip/x11/iceauth/recipe.toml @@ -0,0 +1,8 @@ +[source] +tar = "https://xorg.freedesktop.org/archive/individual/app/iceauth-1.0.11.tar.xz" +[build] +template = "meson" +dependencies = [ + "x11proto", + "libice", +] diff --git a/recipes/wip/x11/xfce4/thunar/recipe.toml b/recipes/wip/x11/xfce4/thunar/recipe.toml index c6402913..84e5bdf7 100644 --- a/recipes/wip/x11/xfce4/thunar/recipe.toml +++ b/recipes/wip/x11/xfce4/thunar/recipe.toml @@ -28,3 +28,8 @@ mesonflags = [ "-Dgudev=disabled", "-Dintrospection=false" ] + +[package] +dependencies = [ + "gnome-desktop-schemas" +] diff --git a/recipes/wip/x11/xfce4/tumbler/recipe.toml b/recipes/wip/x11/xfce4/tumbler/recipe.toml new file mode 100644 index 00000000..8ab98a2c --- /dev/null +++ b/recipes/wip/x11/xfce4/tumbler/recipe.toml @@ -0,0 +1,15 @@ +[source] +tar = "https://archive.xfce.org/src/xfce/tumbler/4.21/tumbler-4.21.1.tar.xz" +[build] +dependencies = [ + "freetype2", + "gdk-pixbuf", + "gettext", + "glib", + "libjpeg", + "libpng", + "libxfce4util", +] +template = "meson" +mesonflags = [ +] diff --git a/recipes/wip/x11/xfce4/xfce4-session/recipe.toml b/recipes/wip/x11/xfce4/xfce4-session/recipe.toml index 2d7f3de3..00066540 100644 --- a/recipes/wip/x11/xfce4/xfce4-session/recipe.toml +++ b/recipes/wip/x11/xfce4/xfce4-session/recipe.toml @@ -24,5 +24,5 @@ mesonflags = [] [package] dependencies = [ -# todo: port xorg-iceauth + "iceauth" ]