From a4393b45330dafedf3709a09e79a39f6207cfc38 Mon Sep 17 00:00:00 2001 From: vasilito Date: Thu, 18 Jun 2026 10:54:36 +0300 Subject: [PATCH] fix(relibc): bump redox-ioctl's redox_syscall pin to 0.8.1 Base build was failing with: error[E0277]: `?` couldn't convert the error to `syscall::error::Error` --> drivers/graphics/driver-graphics/src/lib.rs because relibc's redox-ioctl sub-crate pins `redox_syscall = "0.7"` which uses one syscall::Error type, but the rest of the build (redox-scheme 0.11.1, base workspace redox_syscall 0.8.1) uses another. Two versions of the same type can't unify across crate boundaries. Bump the pin in relibc/redox-ioctl/Cargo.toml to 0.8.1 to match. --- .../patches/gettext/01-external-gettext.patch | 25 +++++++++++++++++++ .../relibc/P0-redox-ioctl-syscall-0.8.1.patch | 9 +++++++ recipes/core/relibc/recipe.toml | 2 ++ 3 files changed, 36 insertions(+) create mode 100644 local/patches/gettext/01-external-gettext.patch create mode 100644 local/patches/relibc/P0-redox-ioctl-syscall-0.8.1.patch diff --git a/local/patches/gettext/01-external-gettext.patch b/local/patches/gettext/01-external-gettext.patch new file mode 100644 index 0000000000..96cb41a332 --- /dev/null +++ b/local/patches/gettext/01-external-gettext.patch @@ -0,0 +1,25 @@ +--- a/gettext-tools/configure.ac ++++ b/gettext-tools/configure.ac +@@ -140,7 +140,7 @@ + + dnl These are the only lines required to internationalize the package. + dnl (OK, not quite, the AC_CONFIG_FILES has also some parts.) +-AM_GNU_GETTEXT([use-libtool], [need-ngettext], [\${top_builddir}/../gettext-runtime/intl]) ++AM_GNU_GETTEXT([external use-libtool], [need-ngettext], [\${top_builddir}/../gettext-runtime/intl]) + + dnl This option allows to build gettext-tools without (re)building libtextstyle. + AC_ARG_WITH([installed-libtextstyle], +--- a/gettext-runtime/configure.ac ++++ b/gettext-runtime/configure.ac +@@ -107,7 +107,7 @@ + AM_CONDITIONAL([WINDOWS_NATIVE], [test $is_windows_native = yes]) + + dnl Checks for libraries. + + dnl These are the only lines required to internationalize the package. + dnl (OK, not quite, the AC_CONFIG_FILES has also some parts.) +-AM_GNU_GETTEXT([use-libtool], [need-ngettext], [\${top_builddir}/intl]) ++AM_GNU_GETTEXT([external use-libtool], [need-ngettext], [\${top_builddir}/intl]) + + dnl Checks for header files, functions and declarations. + gl_INIT diff --git a/local/patches/relibc/P0-redox-ioctl-syscall-0.8.1.patch b/local/patches/relibc/P0-redox-ioctl-syscall-0.8.1.patch new file mode 100644 index 0000000000..5f3796c835 --- /dev/null +++ b/local/patches/relibc/P0-redox-ioctl-syscall-0.8.1.patch @@ -0,0 +1,9 @@ +--- a/redox-ioctl/Cargo.toml ++++ b/redox-ioctl/Cargo.toml +@@ -9,5 +9,5 @@ description = "Ioctl definitions and (de)serialization for Redox" + [dependencies] + drm-sys = "0.8.0" +-redox_syscall = "0.7" ++redox_syscall = "0.8.1" + + [features] diff --git a/recipes/core/relibc/recipe.toml b/recipes/core/relibc/recipe.toml index b0700a901a..986db03e83 100644 --- a/recipes/core/relibc/recipe.toml +++ b/recipes/core/relibc/recipe.toml @@ -2,6 +2,8 @@ git = "https://gitlab.redox-os.org/redox-os/relibc.git" rev = "861bbb0" patches = [ + # Bump redox-ioctl's redox_syscall pin to 0.8.1 (matches rest of build) + "P0-redox-ioctl-syscall-0.8.1.patch", "P3-eventfd-mod.patch", # Add pub mod bits_eventfd to header/mod.rs "P3-bits-eventfd-mod.patch",