From a9175164d4fb1985e2aa2d03d3cbebf65babd6fd Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 20 Sep 2026 20:57:28 +0200 Subject: [PATCH 01/31] mesa: Remove glvnd flag --- recipes/libs/mesa/recipe.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes/libs/mesa/recipe.toml b/recipes/libs/mesa/recipe.toml index 33ee0d0b7..c35f6686a 100644 --- a/recipes/libs/mesa/recipe.toml +++ b/recipes/libs/mesa/recipe.toml @@ -12,7 +12,7 @@ dependencies = [ "llvm21", "zlib", # disabled, see https://gitlab.redox-os.org/redox-os/redox/-/work_items/1883 - # "libglvnd", + # "libglvnd", ] dev-dependencies = [ "llvm21.dev", @@ -38,7 +38,6 @@ cookbook_meson \ -Dglx=disabled \ -Dllvm=enabled \ -Dosmesa=true \ - -Dglvnd=true \ -Dshader-cache=disabled \ -Dgallium-drivers=swrast From 0ad73da5cbe93d7750bc2c64255fc3310ac7b1e4 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 20 Sep 2026 06:15:30 +0700 Subject: [PATCH 02/31] Fix clang compilation for bzip2, flycast, termcap, x11proto --- recipes/archives/bzip2/recipe.toml | 2 ++ recipes/emulators/flycast/redox.patch | 12 ++++++++++++ recipes/libs/termcap/recipe.toml | 4 ++++ recipes/libs/termcap/redox.patch | 14 ++++++++++++++ recipes/wip/x11/x11proto/recipe.toml | 2 +- 5 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 recipes/libs/termcap/redox.patch diff --git a/recipes/archives/bzip2/recipe.toml b/recipes/archives/bzip2/recipe.toml index f5e17f32f..f4476d38b 100644 --- a/recipes/archives/bzip2/recipe.toml +++ b/recipes/archives/bzip2/recipe.toml @@ -17,6 +17,7 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./ PREFIX="${COOKBOOK_STAGE}/usr" \ install +if [ "${COOKBOOK_DYNAMIC}" = "1" ]; then # However, distros distribute libbz2 as well so we'll support it too # Linking the lib fails if we don't rebuild the objects from earlier "${COOKBOOK_MAKE}" clean @@ -32,6 +33,7 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./ cp -av libbz2.so* "${COOKBOOK_STAGE}/usr/lib" ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so.1" ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so" +fi mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig" cp "${COOKBOOK_RECIPE}/pkgconfig" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/bzip2.pc" diff --git a/recipes/emulators/flycast/redox.patch b/recipes/emulators/flycast/redox.patch index 6dda50347..5259daead 100644 --- a/recipes/emulators/flycast/redox.patch +++ b/recipes/emulators/flycast/redox.patch @@ -77,6 +77,18 @@ index 61ee752..4b140b9 100644 // POSIX threads. #if !defined(ASIO_HAS_PTHREADS) # if defined(ASIO_HAS_THREADS) +diff --git a/core/deps/picotcp/modules/pico_dev_ppp.c b/core/deps/picotcp/modules/pico_dev_ppp.c +index dcffacee..121ac27f 100644 +--- a/core/deps/picotcp/modules/pico_dev_ppp.c ++++ b/core/deps/picotcp/modules/pico_dev_ppp.c +@@ -7,6 +7,7 @@ + *********************************************************************/ + + ++#include + #include + #include + #include diff --git a/core/hw/sh4/modules/mmu.cpp b/core/hw/sh4/modules/mmu.cpp index af9de30e..6f839fc7 100644 --- a/core/hw/sh4/modules/mmu.cpp diff --git a/recipes/libs/termcap/recipe.toml b/recipes/libs/termcap/recipe.toml index 8a87cafb2..acfe054cd 100644 --- a/recipes/libs/termcap/recipe.toml +++ b/recipes/libs/termcap/recipe.toml @@ -1,10 +1,14 @@ [source] tar = "https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz" blake3 = "57c095e0bb6e60e7b4a0597f51f7ac15b501ca0f95d37424d8d13978d28b8da3" +patches = [ + "redox.patch" +] [build] template = "custom" script = """ DYNAMIC_STATIC_INIT +export ac_cv_header_stdc=yes COOKBOOK_CONFIGURE_FLAGS+=( --prefix="${COOKBOOK_STAGE}/usr" ) diff --git a/recipes/libs/termcap/redox.patch b/recipes/libs/termcap/redox.patch new file mode 100644 index 000000000..cc3ce40b4 --- /dev/null +++ b/recipes/libs/termcap/redox.patch @@ -0,0 +1,14 @@ +diff -ruwN source/tparam.c source-new/tparam.c +--- source/tparam.c 2002-02-25 17:37:24.000000000 +0000 ++++ source-new/tparam.c 2026-09-22 15:11:03.072524045 +0000 +@@ -38,6 +38,10 @@ + #define bcopy(s, d, n) memcpy ((d), (s), (n)) + #endif + ++#ifdef HAVE_UNISTD_H ++#include ++#endif ++ + #endif /* not emacs */ + + #ifndef NULL diff --git a/recipes/wip/x11/x11proto/recipe.toml b/recipes/wip/x11/x11proto/recipe.toml index fc5be2a28..9e9441f90 100644 --- a/recipes/wip/x11/x11proto/recipe.toml +++ b/recipes/wip/x11/x11proto/recipe.toml @@ -4,4 +4,4 @@ blake3 = "fad667bb04e16dca5e816969f2641bb075929cd73564114cc1aabd87d1975dd3" patches = ["redox.patch"] [build] -template = "configure" +template = "meson" From 9a5aac2adc50ab35275316d9f64eaee8e55848b8 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 20 Sep 2026 06:35:52 +0700 Subject: [PATCH 03/31] Fix find command includes package deps --- src/bin/repo/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/repo/main.rs b/src/bin/repo/main.rs index 8b95e1065..fc5a91af8 100644 --- a/src/bin/repo/main.rs +++ b/src/bin/repo/main.rs @@ -685,7 +685,7 @@ fn parse_args(args: Vec) -> Result<(CliConfig, CliCommand, Vec Date: Mon, 21 Sep 2026 02:33:03 +0700 Subject: [PATCH 04/31] Fix libonig for static build --- recipes/libs/libonig/recipe.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/libs/libonig/recipe.toml b/recipes/libs/libonig/recipe.toml index e1c4f4990..43a47eca2 100644 --- a/recipes/libs/libonig/recipe.toml +++ b/recipes/libs/libonig/recipe.toml @@ -10,6 +10,8 @@ template = "custom" script = """ DYNAMIC_INIT cookbook_configure +if [ "${COOKBOOK_DYNAMIC}" = "1" ]; then # TODO: fini arrays causes hang in uutils ${OBJCOPY} --remove-section=.fini_array --remove-section=.fini ${COOKBOOK_STAGE}/usr/lib/libonig.so.5 +fi """ From f06403c5d5d8366b95d63d73b8d5aafc50a6d50e Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 21 Sep 2026 22:58:36 +0300 Subject: [PATCH 05/31] Validate ignored build dependencies --- src/bin/repo/main.rs | 8 +++- src/recipe.rs | 93 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+), 1 deletion(-) diff --git a/src/bin/repo/main.rs b/src/bin/repo/main.rs index 8b95e1065..17797e682 100644 --- a/src/bin/repo/main.rs +++ b/src/bin/repo/main.rs @@ -11,7 +11,11 @@ use cookbook::cook::tree::{self, DisplayOptions, TreeData, TreeItem, TreeOptions use cookbook::cook::tui::join_logs; use cookbook::cook::{fetch_repo, ident}; use cookbook::recipe::{ - CookRecipe, SourceRecipe, recipes_flatten_package_names, recipes_mark_as_deps, + CookRecipe, + SourceRecipe, + recipes_flatten_package_names, + recipes_mark_as_deps, + validate_filesystem_rules, }; use cookbook::{Error, Result, staged_pkg}; use pkg::{PackageName, PackageState}; @@ -764,6 +768,8 @@ fn parse_args(args: Vec) -> Result<(CliConfig, CliCommand, Vec) -> Vec crate::Result<()> { + let ignored: BTreeSet = recipes + .iter() + .filter(|r| r.rule == "ignore") + .map(|r| r.canon_recipe_name().without_prefix().to_string()) + .collect(); + if ignored.is_empty() { + return Ok(()); + } + for recipe in recipes { + if recipe.rule == "ignore" { + continue; + } + if recipe.recipe.build.kind == BuildKind::None + || recipe.recipe.build.kind == BuildKind::Remote + { + // Not built from source, so build dependencies are irrelevant. + continue; + } + for dep in recipe + .recipe + .build + .dependencies + .iter() + .chain(recipe.recipe.build.dev_dependencies.iter()) + { + if ignored.contains(&dep.without_prefix().to_string()) { + bail_other_err!( + "Invalid filesystem config: {:?} is configured as \"ignore\" but is required as a build dependency by {:?}", + dep.without_prefix().to_string(), + recipe.name.as_str(), + ); + } + } + } + Ok(()) +} #[derive(Serialize, Deserialize)] pub struct AutoDeps { @@ -799,4 +838,58 @@ mod tests { } ); } + + #[test] + fn ignore_required_by_build_dep_is_rejected() { + use crate::recipe::{BuildKind, BuildRecipe, CookRecipe, validate_filesystem_rules}; + + let mut ignored = CookRecipe::dummy(&PackageName::new("libogg").unwrap()); + ignored.rule = "ignore".into(); + + let mut dependent = CookRecipe::dummy(&PackageName::new("libvorbis").unwrap()); + dependent.recipe.build = BuildRecipe::new(BuildKind::Custom { + script: "make".to_string(), + }); + dependent.recipe.build.dependencies = vec![PackageName::new("libogg").unwrap()]; + + let err = validate_filesystem_rules(&[ignored, dependent]).unwrap_err(); + let msg = format!("{}", err); + assert!( + msg.contains("libogg") && msg.contains("libvorbis"), + "unexpected error: {msg}" + ); + } + + #[test] + fn ignore_required_by_dev_dep_is_rejected() { + use crate::recipe::{BuildKind, BuildRecipe, CookRecipe, validate_filesystem_rules}; + + let mut ignored = CookRecipe::dummy(&PackageName::new("libogg").unwrap()); + ignored.rule = "ignore".into(); + + let mut dependent = CookRecipe::dummy(&PackageName::new("libvorbis").unwrap()); + dependent.recipe.build = BuildRecipe::new(BuildKind::Custom { + script: "make".to_string(), + }); + dependent.recipe.build.dev_dependencies = vec![PackageName::new("libogg").unwrap()]; + + let err = validate_filesystem_rules(&[ignored, dependent]).unwrap_err(); + assert!(format!("{}", err).contains("libogg")); + } + + #[test] + fn ignore_leaf_is_allowed() { + use crate::recipe::{BuildKind, BuildRecipe, CookRecipe, validate_filesystem_rules}; + + // e.g. pruning `orbterm` from a metapackage: nothing references it. + let mut ignored = CookRecipe::dummy(&PackageName::new("orbterm").unwrap()); + ignored.rule = "ignore".into(); + + let mut meta = CookRecipe::dummy(&PackageName::new("desktop-minimal").unwrap()); + meta.recipe.build = BuildRecipe::new(BuildKind::None); + meta.recipe.package.dependencies = vec![PackageName::new("orbital").unwrap()]; + + assert!(validate_filesystem_rules(&[ignored, meta]).is_ok()); + assert!(validate_filesystem_rules(&[]).is_ok()); + } } From 9b229ca5b7c67e6d02b57f4b1c30a3794e4469b6 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Mon, 21 Sep 2026 23:10:23 +0300 Subject: [PATCH 06/31] run cargo fmt --- src/bin/repo/main.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/bin/repo/main.rs b/src/bin/repo/main.rs index 17797e682..98b2bfa4e 100644 --- a/src/bin/repo/main.rs +++ b/src/bin/repo/main.rs @@ -11,10 +11,7 @@ use cookbook::cook::tree::{self, DisplayOptions, TreeData, TreeItem, TreeOptions use cookbook::cook::tui::join_logs; use cookbook::cook::{fetch_repo, ident}; use cookbook::recipe::{ - CookRecipe, - SourceRecipe, - recipes_flatten_package_names, - recipes_mark_as_deps, + CookRecipe, SourceRecipe, recipes_flatten_package_names, recipes_mark_as_deps, validate_filesystem_rules, }; use cookbook::{Error, Result, staged_pkg}; From d8e5f45a392f6830f248a691cbe2b764ae58a995 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Wed, 23 Sep 2026 14:49:14 +0300 Subject: [PATCH 07/31] Report all violation in recipe --- src/recipe.rs | 46 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/src/recipe.rs b/src/recipe.rs index 3073d21ad..a66e45249 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -657,6 +657,7 @@ pub fn validate_filesystem_rules(recipes: &[CookRecipe]) -> crate::Result<()> { // Not built from source, so build dependencies are irrelevant. continue; } + let mut ignored_dependencies: Vec<&str> = Vec::new(); for dep in recipe .recipe .build @@ -664,14 +665,19 @@ pub fn validate_filesystem_rules(recipes: &[CookRecipe]) -> crate::Result<()> { .iter() .chain(recipe.recipe.build.dev_dependencies.iter()) { - if ignored.contains(&dep.without_prefix().to_string()) { - bail_other_err!( - "Invalid filesystem config: {:?} is configured as \"ignore\" but is required as a build dependency by {:?}", - dep.without_prefix().to_string(), - recipe.name.as_str(), - ); + let dep = dep.without_prefix(); + + if ignored.contains(dep) { + ignored_dependencies.push(dep); } } + if !ignored_dependencies.is_empty() { + bail_other_err!( + "Invalid filesystem config: the following packages are configured as \"ignore\" but are required as build dependencies by {:?}: {:?}", + ignored_dependencies, + recipe.name.as_str(), + ); + } } Ok(()) } @@ -859,7 +865,35 @@ mod tests { "unexpected error: {msg}" ); } + #[test] + fn ignore_multiple_required_by_build_dep_are_rejected() { + use crate::recipe::{BuildKind, BuildRecipe, CookRecipe, validate_filesystem_rules}; + let mut ignored_ogg = CookRecipe::dummy(&PackageName::new("libogg").unwrap()); + ignored_ogg.rule = "ignore".into(); + + let mut ignored_foo = CookRecipe::dummy(&PackageName::new("libfoo").unwrap()); + ignored_foo.rule = "ignore".into(); + + let mut dependent = CookRecipe::dummy(&PackageName::new("libvorbis").unwrap()); + + dependent.recipe.build = BuildRecipe::new(BuildKind::Custom { + script: "make".to_string(), + }); + + dependent.recipe.build.dependencies = vec![ + PackageName::new("libogg").unwrap(), + PackageName::new("libfoo").unwrap(), + ]; + + let err = validate_filesystem_rules(&[ignored_ogg, ignored_foo, dependent]).unwrap_err(); + + let msg = format!("{err}"); + + assert!(msg.contains("libogg"), "unexpected error: {msg}"); + assert!(msg.contains("libfoo"), "unexpected error: {msg}"); + assert!(msg.contains("libvorbis"), "unexpected error: {msg}"); + } #[test] fn ignore_required_by_dev_dep_is_rejected() { use crate::recipe::{BuildKind, BuildRecipe, CookRecipe, validate_filesystem_rules}; From e62092489a7c4bb20b56beae2feca61a6d3c9af9 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 24 Sep 2026 13:43:10 -0600 Subject: [PATCH 08/31] cosmic-monitor: use patched version --- recipes/cosmic/cosmic-monitor/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cosmic/cosmic-monitor/recipe.toml b/recipes/cosmic/cosmic-monitor/recipe.toml index 761409146..e3adb8afc 100644 --- a/recipes/cosmic/cosmic-monitor/recipe.toml +++ b/recipes/cosmic/cosmic-monitor/recipe.toml @@ -1,6 +1,6 @@ [source] git = "https://github.com/pop-os/cosmic-monitor.git" -rev = "epoch-1.2.0" +branch = "redox" [build] template = "custom" From 61eb6eb57bcf64906387c0c1d4f2c4143f121a35 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 24 Sep 2026 17:07:28 -0600 Subject: [PATCH 09/31] cosmic-monitor: use master branch now that patches are merged --- recipes/cosmic/cosmic-monitor/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cosmic/cosmic-monitor/recipe.toml b/recipes/cosmic/cosmic-monitor/recipe.toml index e3adb8afc..9f70ac02c 100644 --- a/recipes/cosmic/cosmic-monitor/recipe.toml +++ b/recipes/cosmic/cosmic-monitor/recipe.toml @@ -1,6 +1,6 @@ [source] git = "https://github.com/pop-os/cosmic-monitor.git" -branch = "redox" +branch = "master" [build] template = "custom" From fdb2f7faa00bc28b1190ce6e3df165435d156ed2 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 25 Sep 2026 23:15:10 +0700 Subject: [PATCH 10/31] Revert removing libonig fini_array --- recipes/libs/libonig/recipe.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/recipes/libs/libonig/recipe.toml b/recipes/libs/libonig/recipe.toml index 43a47eca2..0ca06f63d 100644 --- a/recipes/libs/libonig/recipe.toml +++ b/recipes/libs/libonig/recipe.toml @@ -10,8 +10,4 @@ template = "custom" script = """ DYNAMIC_INIT cookbook_configure -if [ "${COOKBOOK_DYNAMIC}" = "1" ]; then -# TODO: fini arrays causes hang in uutils -${OBJCOPY} --remove-section=.fini_array --remove-section=.fini ${COOKBOOK_STAGE}/usr/lib/libonig.so.5 -fi """ From bdeb5f27af80365c926fbe687a355bb802cbef1c Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 25 Sep 2026 23:21:40 +0700 Subject: [PATCH 11/31] Enable shared libraries for i586 --- src/cook/script.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cook/script.rs b/src/cook/script.rs index 10331790f..a1f177847 100644 --- a/src/cook/script.rs +++ b/src/cook/script.rs @@ -5,7 +5,7 @@ pub(crate) static SHARED_PRESCRIPT: &str = r#" # Build dynamically function DYNAMIC_INIT { case "${TARGET}" in - "i586-unknown-redox" | "riscv64gc-unknown-redox") + "riscv64gc-unknown-redox") [ -z "${COOKBOOK_VERBOSE}" ] || echo "WARN: ${TARGET} does not support dynamic linking." >&2 return ;; From 3b0333f5697640e4db8b9564fa5edb69e84392fd Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sat, 26 Sep 2026 12:33:55 -0300 Subject: [PATCH 12/31] Add recipes --- recipes/wip/dev/git-tools/critter/recipe.toml | 6 +++++ recipes/wip/emu/pc/lightspark/recipe.toml | 25 +++++++++++++++++++ recipes/wip/fuse/btrfs-fuse/recipe.toml | 18 +++++++++++++ recipes/wip/fuse/zfs-fuse/recipe.toml | 12 +++++++++ .../wip/net/email/flectar-mail/recipe.toml | 7 ++++++ recipes/wip/search/fzy/recipe.toml | 13 ++++++++++ recipes/wip/search/tgrep/recipe.toml | 7 ++++++ recipes/wip/sys/i2c-tools/recipe.toml | 13 ++++++++++ recipes/wip/text/sauva/recipe.toml | 8 ++++++ recipes/wip/vid/editors/concat/recipe.toml | 14 +++++++++++ 10 files changed, 123 insertions(+) create mode 100644 recipes/wip/dev/git-tools/critter/recipe.toml create mode 100644 recipes/wip/emu/pc/lightspark/recipe.toml create mode 100644 recipes/wip/fuse/btrfs-fuse/recipe.toml create mode 100644 recipes/wip/fuse/zfs-fuse/recipe.toml create mode 100644 recipes/wip/net/email/flectar-mail/recipe.toml create mode 100644 recipes/wip/search/fzy/recipe.toml create mode 100644 recipes/wip/search/tgrep/recipe.toml create mode 100644 recipes/wip/sys/i2c-tools/recipe.toml create mode 100644 recipes/wip/text/sauva/recipe.toml create mode 100644 recipes/wip/vid/editors/concat/recipe.toml diff --git a/recipes/wip/dev/git-tools/critter/recipe.toml b/recipes/wip/dev/git-tools/critter/recipe.toml new file mode 100644 index 000000000..ae3d9a7ea --- /dev/null +++ b/recipes/wip/dev/git-tools/critter/recipe.toml @@ -0,0 +1,6 @@ +#TODO compile and test +[source] +git = "https://github.com/andyhmltn/critter" +shallow_clone = true +[build] +template = "cargo" diff --git a/recipes/wip/emu/pc/lightspark/recipe.toml b/recipes/wip/emu/pc/lightspark/recipe.toml new file mode 100644 index 000000000..6abf5672a --- /dev/null +++ b/recipes/wip/emu/pc/lightspark/recipe.toml @@ -0,0 +1,25 @@ +#TODO compile and test +[source] +git = "https://github.com/lightspark/lightspark" +rev = "ff478b8a6a349a6d919e342d04793dad454fdf5c" +shallow_clone = true +[build] +template = "cmake" +cmakeflags = [ + "-DCOMPILE_NPAPI_PLUGIN=FALSE", + "-DCOMPILE_PPAPI_PLUGIN=FALSE", + "-DENABLE_GLES2=TRUE", + "-DENABLE_LIBAVCODEC=FALSE", + "-DENABLE_RTMP=FALSE", +] +#dependencies = [ + #"mesa", + #"curl", + #"zlib", + #"ffmpeg6", + #"rtmpdump", + #"sdl2", + #"libjpeg", + #"xz", + #"fontconfig", +#] diff --git a/recipes/wip/fuse/btrfs-fuse/recipe.toml b/recipes/wip/fuse/btrfs-fuse/recipe.toml new file mode 100644 index 000000000..66ef099b0 --- /dev/null +++ b/recipes/wip/fuse/btrfs-fuse/recipe.toml @@ -0,0 +1,18 @@ +#TODO compile and test +[source] +git = "https://github.com/adam900710/btrfs-fuse" +rev = "b03483b6cc0599c6a940042ff5d31434239b4874" +shallow_clone = true +[build] +template = "meson" +mesonflags = ["-Dtests=false"] +dependencies = [ + "libfuse3", + #"libuuid", + #"libb2", + #"openssl3", + #"xxhash", + #"zlib", + #"lz4", + #"zstd", +] diff --git a/recipes/wip/fuse/zfs-fuse/recipe.toml b/recipes/wip/fuse/zfs-fuse/recipe.toml new file mode 100644 index 000000000..d2d925bf9 --- /dev/null +++ b/recipes/wip/fuse/zfs-fuse/recipe.toml @@ -0,0 +1,12 @@ +#TODO add script for scons: https://github.com/gordan-bobic/zfs-fuse/blob/master/INSTALL#L37 +[source] +git = "https://github.com/gordan-bobic/zfs-fuse" +rev = "d286672f25602583aaf91ef0fa511d03ab4d3aab" +shallow_clone = true +[build] +template = "custom" +dependencies = [ + "libfuse2", + #"libaio", + "zlib", +] diff --git a/recipes/wip/net/email/flectar-mail/recipe.toml b/recipes/wip/net/email/flectar-mail/recipe.toml new file mode 100644 index 000000000..2caa4bdf6 --- /dev/null +++ b/recipes/wip/net/email/flectar-mail/recipe.toml @@ -0,0 +1,7 @@ +#TODO compile and test +[source] +git = "https://github.com/flectar/mail" +shallow_clone = true +[build] +template = "cargo" +cargoflags = ["--no-default-features"] diff --git a/recipes/wip/search/fzy/recipe.toml b/recipes/wip/search/fzy/recipe.toml new file mode 100644 index 000000000..4cbbc3f0d --- /dev/null +++ b/recipes/wip/search/fzy/recipe.toml @@ -0,0 +1,13 @@ +#TODO compile and test +[source] +git = "https://github.com/jhawthorn/fzy" +rev = "v1.1" +shallow_clone = true +[build] +template = "custom" +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +DYNAMIC_INIT +"${COOKBOOK_MAKE}" fzy -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}/usr" +""" diff --git a/recipes/wip/search/tgrep/recipe.toml b/recipes/wip/search/tgrep/recipe.toml new file mode 100644 index 000000000..02449de17 --- /dev/null +++ b/recipes/wip/search/tgrep/recipe.toml @@ -0,0 +1,7 @@ +#TODO compile and test +[source] +git = "https://github.com/microsoft/tgrep" +shallow_clone = true +[build] +template = "cargo" +cargopackages = ["tgrep-cli"] diff --git a/recipes/wip/sys/i2c-tools/recipe.toml b/recipes/wip/sys/i2c-tools/recipe.toml new file mode 100644 index 000000000..219d99f44 --- /dev/null +++ b/recipes/wip/sys/i2c-tools/recipe.toml @@ -0,0 +1,13 @@ +#TODO compile and test +# freebsd probably have a native port: https://github.com/freebsd/freebsd-ports/tree/main/sysutils/i2c-tools/files +# build instructions: https://git.kernel.org/pub/scm/utils/i2c-tools/i2c-tools.git/tree/README#n62 +[source] +tar = "https://www.kernel.org/pub/software/utils/i2c-tools/i2c-tools-4.4.tar.gz" +[build] +template = "custom" +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +DYNAMIC_INIT +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}/usr" +""" diff --git a/recipes/wip/text/sauva/recipe.toml b/recipes/wip/text/sauva/recipe.toml new file mode 100644 index 000000000..51270098f --- /dev/null +++ b/recipes/wip/text/sauva/recipe.toml @@ -0,0 +1,8 @@ +#TODO compile and test +#TODO fix dlopen to use fontconfig dependency +[source] +git = "https://github.com/lusingander/sauva" +shallow_clone = true +[build] +template = "cargo" +#dependencies = ["fontconfig"] diff --git a/recipes/wip/vid/editors/concat/recipe.toml b/recipes/wip/vid/editors/concat/recipe.toml new file mode 100644 index 000000000..b2a77d923 --- /dev/null +++ b/recipes/wip/vid/editors/concat/recipe.toml @@ -0,0 +1,14 @@ +#TODO need ffmpeg +7.x +[source] +git = "https://github.com/jub0t/Concat" +shallow_clone = true +[build] +template = "cargo" +cargopath = "src" +cargopackages = [ + "concat", + "concat-cli", +] +dependencies = [ + "ffmpeg", +] From 0f1714fbd7d30494f94c35242e7b70a50633ab53 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 27 Sep 2026 10:23:36 +0700 Subject: [PATCH 13/31] Fix llvm miscompilation cross arch --- recipes/dev/llvm21/recipe.toml | 1 + src/cook/script.rs | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/recipes/dev/llvm21/recipe.toml b/recipes/dev/llvm21/recipe.toml index ce29e47b9..5c5736fdf 100644 --- a/recipes/dev/llvm21/recipe.toml +++ b/recipes/dev/llvm21/recipe.toml @@ -60,6 +60,7 @@ COOKBOOK_CMAKE_FLAGS+=( -DLLVM_BUILD_EXAMPLES=Off -DLLVM_BUILD_TESTS=Off -DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET}" + -DLLVM_HOST_TRIPLE="${TARGET}" -DLLVM_ENABLE_LTO=Off -DLLVM_ENABLE_RTTI=On -DLLVM_ENABLE_THREADS=On diff --git a/src/cook/script.rs b/src/cook/script.rs index a1f177847..f7e5765df 100644 --- a/src/cook/script.rs +++ b/src/cook/script.rs @@ -234,12 +234,12 @@ function generate_cookbook_cmake_file { gcc_prefix=$2 sysroot=$3 file=$4 - ARCH=$(echo "$target" | cut -d - -f1) + arch=$(echo "$target" | cut -d - -f1) if [[ "$target" == *"-linux-"* ]]; then - SYSTEM_NAME="Linux" + system_name="Linux" else - SYSTEM_NAME="UnixPaths" + system_name="UnixPaths" fi if [[ "$REDOXER_USE_CLANG" != "1" && "$REDOXER_USE_CLANG" != "true" ]]; then @@ -278,8 +278,8 @@ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1) set(CMAKE_PREFIX_PATH, ${sysroot}) set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,") -set(CMAKE_SYSTEM_NAME ${SYSTEM_NAME}) -set(CMAKE_SYSTEM_PROCESSOR ${ARCH}) +set(CMAKE_SYSTEM_NAME ${system_name}) +set(CMAKE_SYSTEM_PROCESSOR ${arch}) EOF if [ "$target" = "$GNU_TARGET" ] From 00486c102c037cf62b41b3b9b5b6a45971e1f6b6 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 27 Sep 2026 15:11:01 +0700 Subject: [PATCH 14/31] Add librsvg dep to gtk instead of adwaita icon theme --- recipes/wip/icons/adwaita-icon-theme/recipe.toml | 5 ----- recipes/wip/libs/gnome/gtk3/recipe.toml | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/wip/icons/adwaita-icon-theme/recipe.toml b/recipes/wip/icons/adwaita-icon-theme/recipe.toml index 1ee7272a8..ce90ad699 100644 --- a/recipes/wip/icons/adwaita-icon-theme/recipe.toml +++ b/recipes/wip/icons/adwaita-icon-theme/recipe.toml @@ -5,8 +5,3 @@ patches = ["redox.patch"] [build] template = "meson" - -[package] -dependencies = [ - "librsvg" # adwaita contains svg icons -] diff --git a/recipes/wip/libs/gnome/gtk3/recipe.toml b/recipes/wip/libs/gnome/gtk3/recipe.toml index da80247fd..ee86e33af 100644 --- a/recipes/wip/libs/gnome/gtk3/recipe.toml +++ b/recipes/wip/libs/gnome/gtk3/recipe.toml @@ -50,3 +50,8 @@ cookbook_meson \ -Dintrospection=false \ -Dtests=false """ + +[package] +dependencies = [ + "librsvg", +] From 93a3c54b1a05db1170e867a90916e16411e1ae22 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 18:54:44 +0200 Subject: [PATCH 15/31] Move acid sources to /usr/share --- config/acid.toml | 4 ++-- config/auto-test.toml | 4 ++-- recipes/tests/acid/recipe.toml | 12 +++++------- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/config/acid.toml b/config/acid.toml index 139e0326f..bdaa141d5 100644 --- a/config/acid.toml +++ b/config/acid.toml @@ -25,7 +25,7 @@ path = "/usr/lib/run_acid.ion" data = """ #!/usr/bin/env ion export RUST_BACKTRACE=full -cd /home/user/acid -cargo test +export HOME=/home/root +acid-runner shutdown """ diff --git a/config/auto-test.toml b/config/auto-test.toml index e6f3032a5..71c822ec4 100644 --- a/config/auto-test.toml +++ b/config/auto-test.toml @@ -24,8 +24,8 @@ path = "/usr/lib/run_tests.ion" data = """ #!/usr/bin/env ion export RUST_BACKTRACE=full -cd /home/user/acid -cargo test +export HOME=/home/root +acid-runner bash /root/relibc-tests/run.sh os-test-runner shutdown diff --git a/recipes/tests/acid/recipe.toml b/recipes/tests/acid/recipe.toml index 54106685e..d20186fec 100644 --- a/recipes/tests/acid/recipe.toml +++ b/recipes/tests/acid/recipe.toml @@ -1,21 +1,19 @@ -# Due to necessary write permission for compilation the filesystem path of source code installation is an exception -# where the package manager can't switch between system-wide and user paths [source] git = "https://gitlab.redox-os.org/redox-os/acid.git" shallow_clone = true [build] template = "custom" script = """ -mkdir -pv "${COOKBOOK_STAGE}/home/user/acid" -cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/acid" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/acid" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/usr/share/acid" # Create runner script mkdir -p "${COOKBOOK_STAGE}/usr/bin" cat > "${COOKBOOK_STAGE}/usr/bin/acid-runner" < Date: Sun, 27 Sep 2026 18:58:08 +0200 Subject: [PATCH 16/31] Move hello-redox sources to /usr/share --- recipes/tests/hello-redox/recipe.toml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes/tests/hello-redox/recipe.toml b/recipes/tests/hello-redox/recipe.toml index 2a526f917..0f67f5ba5 100644 --- a/recipes/tests/hello-redox/recipe.toml +++ b/recipes/tests/hello-redox/recipe.toml @@ -1,8 +1,6 @@ -# Due to necessary write permission for compilation the filesystem path of source code installation is an exception -# where the package manager can't switch between system-wide and user paths [build] template = "custom" script = """ -mkdir -pv "${COOKBOOK_STAGE}/home/user/hello-redox" -cp -rv "${COOKBOOK_RECIPE}"/files/* "${COOKBOOK_STAGE}/home/user/hello-redox" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/hello-redox" +cp -rv "${COOKBOOK_RECIPE}"/files/* "${COOKBOOK_STAGE}/usr/share/hello-redox" """ From b6927c9d1984d2d005d3829b38b0337f6fcb2a82 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 18:59:07 +0200 Subject: [PATCH 17/31] Move openposixtestsuite sources to /usr/share --- recipes/tests/openposixtestsuite/recipe.toml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes/tests/openposixtestsuite/recipe.toml b/recipes/tests/openposixtestsuite/recipe.toml index e4c3df4a6..ff95e3478 100644 --- a/recipes/tests/openposixtestsuite/recipe.toml +++ b/recipes/tests/openposixtestsuite/recipe.toml @@ -1,5 +1,3 @@ -# Due to necessary write permission for compilation the filesystem path of source code installation is an exception -# where the package manager can't switch between system-wide and user paths [source] git = "https://gitlab.redox-os.org/redox-os/openposixtestsuite.git" branch = "redox" @@ -7,8 +5,8 @@ branch = "redox" [build] template = "custom" script = """ -mkdir -pv "${COOKBOOK_STAGE}/home/user/openposixtestsuite" -cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/openposixtestsuite" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/openposixtestsuite" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/usr/share/openposixtestsuite" """ [package] From a0bde92310642f90a78f8fbbf1878b5a0de27900 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 19:03:44 +0200 Subject: [PATCH 18/31] Move cookbook sources to /usr/share --- recipes/other/cookbook/recipe.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/other/cookbook/recipe.toml b/recipes/other/cookbook/recipe.toml index 01b68d613..e2b723cb6 100644 --- a/recipes/other/cookbook/recipe.toml +++ b/recipes/other/cookbook/recipe.toml @@ -7,8 +7,8 @@ script = """ DYNAMIC_INIT cookbook_cargo -mkdir -pv "${COOKBOOK_STAGE}/home/user/cookbook" -cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/cookbook" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/cookbook" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/usr/share/cookbook" """ [package] From cddafcc84a6d542d6c4ad3ae601ba3c441c81aa6 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 19:04:24 +0200 Subject: [PATCH 19/31] Move redox-posix-tests sources to /usr/share --- recipes/tests/redox-posix-tests/recipe.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/tests/redox-posix-tests/recipe.toml b/recipes/tests/redox-posix-tests/recipe.toml index 74f2e46f0..0a0918112 100644 --- a/recipes/tests/redox-posix-tests/recipe.toml +++ b/recipes/tests/redox-posix-tests/recipe.toml @@ -5,8 +5,8 @@ git = "https://gitlab.redox-os.org/redox-os/redox-posix-tests.git" [build] template = "custom" script = """ -mkdir -pv "${COOKBOOK_STAGE}/home/user/redox-posix-tests" -cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/redox-posix-tests" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/redox-posix-tests" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/usr/share/redox-posix-tests" """ [package] From 44a30e582c81948fdee2b62ce49eb962fdd49f71 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 19:17:02 +0200 Subject: [PATCH 20/31] Move relibc-tests sources to /usr/share --- config/auto-test.toml | 2 +- recipes/tests/relibc-tests-bins/recipe.toml | 8 ++++---- recipes/tests/relibc-tests/recipe.toml | 6 ++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/config/auto-test.toml b/config/auto-test.toml index 71c822ec4..7350c4786 100644 --- a/config/auto-test.toml +++ b/config/auto-test.toml @@ -26,7 +26,7 @@ data = """ export RUST_BACKTRACE=full export HOME=/home/root acid-runner -bash /root/relibc-tests/run.sh +bash /usr/share/relibc-tests/run.sh os-test-runner shutdown """ diff --git a/recipes/tests/relibc-tests-bins/recipe.toml b/recipes/tests/relibc-tests-bins/recipe.toml index fd9938c5e..16831465b 100644 --- a/recipes/tests/relibc-tests-bins/recipe.toml +++ b/recipes/tests/relibc-tests-bins/recipe.toml @@ -6,10 +6,10 @@ template = "custom" script = """ rsync -av --delete "${COOKBOOK_SOURCE}/" ./ -make install-tests DESTDIR="${COOKBOOK_STAGE}/home/user" NATIVE_LIBC=1 IS_REDOX=1 +make install-tests DESTDIR="${COOKBOOK_STAGE}/usr/share" NATIVE_LIBC=1 IS_REDOX=1 if [ -n "$TESTBIN" ]; then -"${COOKBOOK_REDOXER}" write-exec sh -c "cd /home/user/relibc-tests; make run-once TESTBIN=bins_dynamic/$TESTBIN" +"${COOKBOOK_REDOXER}" write-exec sh -c "cd /usr/share/relibc-tests; make run-once TESTBIN=bins_dynamic/$TESTBIN" fi # Create runner script @@ -17,8 +17,8 @@ mkdir -p "${COOKBOOK_STAGE}/usr/bin" cat > "${COOKBOOK_STAGE}/usr/bin/relibc-tests-runner" < Date: Sun, 27 Sep 2026 19:19:56 +0200 Subject: [PATCH 21/31] Remove /home/user modification in flycast package --- recipes/emulators/flycast/recipe.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/recipes/emulators/flycast/recipe.toml b/recipes/emulators/flycast/recipe.toml index 1211031bf..de1dde572 100644 --- a/recipes/emulators/flycast/recipe.toml +++ b/recipes/emulators/flycast/recipe.toml @@ -32,8 +32,4 @@ COOKBOOK_CMAKE_FLAGS+=( -DWITH_SYSTEM_ZSTD=ON ) cookbook_cmake - -# for some reason flycast require local dir already set up -mkdir -p ${COOKBOOK_STAGE}/home/user/.local/share/flycast -touch ${COOKBOOK_STAGE}/home/user/.local/share/flycast/.tmp """ From 69183db38973856b3c9f1dbcd8d3f5dba392d3c8 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 19:24:17 +0200 Subject: [PATCH 22/31] Move hello-world-examples sources to /usr/share --- recipes/dev/hello-world-examples/recipe.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/dev/hello-world-examples/recipe.toml b/recipes/dev/hello-world-examples/recipe.toml index ad2d9f702..6f10c10cd 100644 --- a/recipes/dev/hello-world-examples/recipe.toml +++ b/recipes/dev/hello-world-examples/recipe.toml @@ -4,6 +4,6 @@ shallow_clone = true [build] template = "custom" script = """ -mkdir -pv "${COOKBOOK_STAGE}"/home/user/hello-world-examples -cp -rv "${COOKBOOK_SOURCE}"/[#,a-z] "${COOKBOOK_STAGE}"/home/user/hello-world-examples +mkdir -pv "${COOKBOOK_STAGE}"/usr/share/hello-world-examples +cp -rv "${COOKBOOK_SOURCE}"/[#,a-z] "${COOKBOOK_STAGE}"/usr/share/hello-world-examples """ From cc0a884fd8f9f0dc550ca57d1c13c2097f19455f Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 19:24:29 +0200 Subject: [PATCH 23/31] Move wasi-testsuite sources to /usr/share --- recipes/tests/wasi-testsuite/recipe.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/tests/wasi-testsuite/recipe.toml b/recipes/tests/wasi-testsuite/recipe.toml index a4598290b..4fedb2aba 100644 --- a/recipes/tests/wasi-testsuite/recipe.toml +++ b/recipes/tests/wasi-testsuite/recipe.toml @@ -5,8 +5,8 @@ branch = "prod/testsuite-base" [build] template = "custom" script = """ -mkdir -pv "${COOKBOOK_STAGE}/home/user/wasi-testsuite" -cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/wasi-testsuite" +mkdir -pv "${COOKBOOK_STAGE}/usr/share/wasi-testsuite" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/usr/share/wasi-testsuite" """ [package] From 9571d790d3bfb4d30ca535638260d285f74a68d9 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 19:24:42 +0200 Subject: [PATCH 24/31] Move rustconf2025 pdf to /usr/share --- recipes/other/rustconf2025/recipe.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/other/rustconf2025/recipe.toml b/recipes/other/rustconf2025/recipe.toml index 7bd748111..dc604af05 100644 --- a/recipes/other/rustconf2025/recipe.toml +++ b/recipes/other/rustconf2025/recipe.toml @@ -4,6 +4,6 @@ git = "https://github.com/jackpot51/rustconf2025.git" [build] template = "custom" script = """ -mkdir -p "${COOKBOOK_STAGE}/home/user" -cp -v "${COOKBOOK_SOURCE}/"*.pdf "${COOKBOOK_STAGE}/home/user" +mkdir -p "${COOKBOOK_STAGE}/usr/share" +cp -v "${COOKBOOK_SOURCE}/"*.pdf "${COOKBOOK_STAGE}/usr/share" """ From cb48d8c091b5a496184bb637ee2f5a7ae8cc15d2 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 19:33:37 +0200 Subject: [PATCH 25/31] Remove crates-io-index package It is useless now that the spare registry is the default in Cargo as Cargo no longer looks at the git registry repo at all. --- recipes/dev/crates-io-index/recipe.toml | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 recipes/dev/crates-io-index/recipe.toml diff --git a/recipes/dev/crates-io-index/recipe.toml b/recipes/dev/crates-io-index/recipe.toml deleted file mode 100644 index 0d0b92f1e..000000000 --- a/recipes/dev/crates-io-index/recipe.toml +++ /dev/null @@ -1,11 +0,0 @@ -[source] -git = "https://github.com/rust-lang/crates.io-index.git" -shallow_clone = true - -[build] -template = "custom" -script = """ -dir="${COOKBOOK_STAGE}/home/user/.cargo/registry/index/github.com-1ecc6299db9ec823" -mkdir -pv "${dir}" -cp -rv "${COOKBOOK_SOURCE}/.git" "${dir}" -""" From a4242e025798d196f345fd7d497d10fda2d439aa Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Sun, 27 Sep 2026 20:03:37 +0200 Subject: [PATCH 26/31] Stop using deprecated /ui symlink in several recipes --- recipes/cosmic/cosmic-edit/manifest | 2 +- recipes/cosmic/cosmic-files/manifest | 2 +- recipes/cosmic/cosmic-reader/manifest | 2 +- recipes/cosmic/cosmic-term/manifest | 2 +- recipes/emulators/dosbox/manifest | 2 +- recipes/games/classicube/manifest | 2 +- recipes/games/eduke32/manifest | 2 +- recipes/games/gigalomania/manifest | 2 +- recipes/games/neverball/manifest-neverball | 2 +- recipes/games/neverball/manifest-neverputt | 2 +- recipes/games/quakespasm/manifest | 2 +- recipes/games/sm64ex/manifest | 2 +- recipes/wip/cosmic/cosmic-player/manifest | 2 +- recipes/wip/games/data/openjazz-shareware-data/manifest | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/recipes/cosmic/cosmic-edit/manifest b/recipes/cosmic/cosmic-edit/manifest index 7be2c9e7b..0682999c3 100644 --- a/recipes/cosmic/cosmic-edit/manifest +++ b/recipes/cosmic/cosmic-edit/manifest @@ -1,6 +1,6 @@ name=COSMIC Text Editor binary=/bin/cosmic-edit -icon=/ui/icons/apps/accessories-text-editor.png +icon=/usr/share/ui/icons/apps/accessories-text-editor.png accept=*.asm accept=*.c accept=*.conf diff --git a/recipes/cosmic/cosmic-files/manifest b/recipes/cosmic/cosmic-files/manifest index df778a48e..62b4a9668 100644 --- a/recipes/cosmic/cosmic-files/manifest +++ b/recipes/cosmic/cosmic-files/manifest @@ -1,5 +1,5 @@ name=COSMIC File Manager binary=/bin/cosmic-files -icon=/ui/icons/apps/system-file-manager.png +icon=/usr/share/ui/icons/apps/system-file-manager.png author=Jeremy Soller description=COSMIC File Manager diff --git a/recipes/cosmic/cosmic-reader/manifest b/recipes/cosmic/cosmic-reader/manifest index 46524dde4..c99e835d2 100644 --- a/recipes/cosmic/cosmic-reader/manifest +++ b/recipes/cosmic/cosmic-reader/manifest @@ -1,6 +1,6 @@ name=COSMIC Reader binary=/bin/cosmic-reader -icon=/ui/icons/apps/accessories-text-editor.png +icon=/usr/share/ui/icons/apps/accessories-text-editor.png accept=*.pdf accept=*.epub accept=*.cbz diff --git a/recipes/cosmic/cosmic-term/manifest b/recipes/cosmic/cosmic-term/manifest index 2b6f00d14..9342f3c4f 100644 --- a/recipes/cosmic/cosmic-term/manifest +++ b/recipes/cosmic/cosmic-term/manifest @@ -1,5 +1,5 @@ name=COSMIC Terminal binary=/bin/cosmic-term -icon=/ui/icons/apps/utilities-terminal.png +icon=/usr/share/ui/icons/apps/utilities-terminal.png author=Jeremy Soller description=COSMIC Terminal diff --git a/recipes/emulators/dosbox/manifest b/recipes/emulators/dosbox/manifest index 3403b71b2..0381a22fc 100644 --- a/recipes/emulators/dosbox/manifest +++ b/recipes/emulators/dosbox/manifest @@ -1,4 +1,4 @@ name=DOSBox category=Games binary=/bin/dosbox -icon=/ui/icons/apps/dosbox.png +icon=/usr/share/ui/icons/apps/dosbox.png diff --git a/recipes/games/classicube/manifest b/recipes/games/classicube/manifest index 681eca1be..58ebf05a3 100644 --- a/recipes/games/classicube/manifest +++ b/recipes/games/classicube/manifest @@ -1,4 +1,4 @@ name=ClassiCube category=Games binary=/usr/games/classicube/ClassiCube -icon=/ui/icons/apps/classicube.png +icon=/usr/share/ui/icons/apps/classicube.png diff --git a/recipes/games/eduke32/manifest b/recipes/games/eduke32/manifest index 27dfe096c..c9fd63f26 100644 --- a/recipes/games/eduke32/manifest +++ b/recipes/games/eduke32/manifest @@ -1,4 +1,4 @@ name=EDuke32 category=Games binary=/usr/games/eduke32 -icon=/ui/icons/apps/eduke32.png +icon=/usr/share/ui/icons/apps/eduke32.png diff --git a/recipes/games/gigalomania/manifest b/recipes/games/gigalomania/manifest index 94fb93b69..8f45b54a2 100644 --- a/recipes/games/gigalomania/manifest +++ b/recipes/games/gigalomania/manifest @@ -1,4 +1,4 @@ name=Gigalomania category=Games binary=/usr/games/gigalomania/gigalomania -icon=/ui/icons/apps/gigalomania.png +icon=/usr/share/ui/icons/apps/gigalomania.png diff --git a/recipes/games/neverball/manifest-neverball b/recipes/games/neverball/manifest-neverball index 431aadb30..89510ee08 100644 --- a/recipes/games/neverball/manifest-neverball +++ b/recipes/games/neverball/manifest-neverball @@ -1,4 +1,4 @@ name=Neverball category=Games binary=/usr/games/neverball/neverball -icon=/ui/icons/apps/neverball.png +icon=/usr/share/ui/icons/apps/neverball.png diff --git a/recipes/games/neverball/manifest-neverputt b/recipes/games/neverball/manifest-neverputt index debe4f673..7eb4a2e3f 100644 --- a/recipes/games/neverball/manifest-neverputt +++ b/recipes/games/neverball/manifest-neverputt @@ -1,4 +1,4 @@ name=Neverputt category=Games binary=/usr/games/neverball/neverputt -icon=/ui/icons/apps/neverputt.png +icon=/usr/share/ui/icons/apps/neverputt.png diff --git a/recipes/games/quakespasm/manifest b/recipes/games/quakespasm/manifest index 814d6b06e..3813ede74 100644 --- a/recipes/games/quakespasm/manifest +++ b/recipes/games/quakespasm/manifest @@ -1,4 +1,4 @@ name=QuakeSpasm category=Games binary=/usr/games/quakespasm -icon=/ui/icons/apps/quakespasm.png +icon=/usr/share/ui/icons/apps/quakespasm.png diff --git a/recipes/games/sm64ex/manifest b/recipes/games/sm64ex/manifest index 38f7a22b7..321fbfc4a 100644 --- a/recipes/games/sm64ex/manifest +++ b/recipes/games/sm64ex/manifest @@ -1,4 +1,4 @@ name=Super Mario 64 EX category=Games binary=/bin/sm64 -icon=/ui/icons/apps/sm64ex.png +icon=/usr/share/ui/icons/apps/sm64ex.png diff --git a/recipes/wip/cosmic/cosmic-player/manifest b/recipes/wip/cosmic/cosmic-player/manifest index 7b4df7ce8..f87b03905 100644 --- a/recipes/wip/cosmic/cosmic-player/manifest +++ b/recipes/wip/cosmic/cosmic-player/manifest @@ -1,6 +1,6 @@ name=COSMIC Media Player binary=/usr/bin/cosmic-player -icon=/ui/icons/apps/multimedia-photo-viewer.png +icon=/usr/share/ui/icons/apps/multimedia-photo-viewer.png author=Jeremy Soller description=COSMIC Media Player accept=*.avi diff --git a/recipes/wip/games/data/openjazz-shareware-data/manifest b/recipes/wip/games/data/openjazz-shareware-data/manifest index ae844ad7b..8d1f2f327 100644 --- a/recipes/wip/games/data/openjazz-shareware-data/manifest +++ b/recipes/wip/games/data/openjazz-shareware-data/manifest @@ -1,4 +1,4 @@ name=Jazz Jackrabbit (shareware) category=Games binary=/usr/games/OpenJazz -icon=/ui/icons/apps/OpenJazz.png +icon=/usr/share/ui/icons/apps/OpenJazz.png From 811fe895181a62573747513b27967d35bba5befa Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 28 Sep 2026 03:20:48 +0700 Subject: [PATCH 27/31] Add webkit shortcut, fix rendering --- recipes/wip/web/webkitgtk3/recipe.toml | 3 ++- recipes/wip/web/webkitgtk3/redox.patch | 14 ++++++++++++++ recipes/wip/web/webkitgtk3/webkit.desktop | 10 ++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 recipes/wip/web/webkitgtk3/webkit.desktop diff --git a/recipes/wip/web/webkitgtk3/recipe.toml b/recipes/wip/web/webkitgtk3/recipe.toml index 15fea1470..99e646d78 100644 --- a/recipes/wip/web/webkitgtk3/recipe.toml +++ b/recipes/wip/web/webkitgtk3/recipe.toml @@ -61,8 +61,9 @@ cookbook_cmake patchelf --replace-needed "${COOKBOOK_SYSROOT}/usr/lib/libsqlite3.so" "libsqlite3.so" "${COOKBOOK_STAGE}/usr/lib/libwebkit2gtk-4.1.so" patchelf --replace-needed "${COOKBOOK_SYSROOT}/usr/lib/libsqlite3.so" "libsqlite3.so" "${COOKBOOK_STAGE}/usr/libexec/webkit2gtk-4.1/MiniBrowser" -mkdir -p "${COOKBOOK_STAGE}/usr/bin" +mkdir -p "${COOKBOOK_STAGE}/usr/bin" "${COOKBOOK_STAGE}/usr/share/applications" ln -sr "${COOKBOOK_STAGE}/usr/libexec/webkit2gtk-4.1/MiniBrowser" "${COOKBOOK_STAGE}/usr/bin/MiniBrowser" +cp "${COOKBOOK_RECIPE}/webkit.desktop" "${COOKBOOK_STAGE}/usr/share/applications/webkit.desktop" """ [package] diff --git a/recipes/wip/web/webkitgtk3/redox.patch b/recipes/wip/web/webkitgtk3/redox.patch index 3ed8e997c..8589384ee 100644 --- a/recipes/wip/web/webkitgtk3/redox.patch +++ b/recipes/wip/web/webkitgtk3/redox.patch @@ -670,3 +670,17 @@ diff -ruwN source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp source-new/Source/WTF/ Locker locker { m_mutex }; int policy; +diff -ruwN source/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp source-new/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp +--- source/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp 2025-03-07 11:11:01.594008200 +0000 ++++ source-new/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp 2026-09-27 19:45:00.480807469 +0000 +@@ -82,7 +82,9 @@ + static OptionSet mode; + static std::once_flag onceFlag; + std::call_once(onceFlag, [] { +- const char* disableDMABuf = getenv("WEBKIT_DISABLE_DMABUF_RENDERER"); ++ // redox: the mesa implementation for dma-buf renderer is incomplete ++ // https://blogs.igalia.com/carlosgc/2023/04/03/webkitgtk-accelerated-compositing-rendering/ ++ const char* disableDMABuf = "1";// getenv("WEBKIT_DISABLE_DMABUF_RENDERER"); + if (disableDMABuf && strcmp(disableDMABuf, "0")) + return; + diff --git a/recipes/wip/web/webkitgtk3/webkit.desktop b/recipes/wip/web/webkitgtk3/webkit.desktop new file mode 100644 index 000000000..b3c4fd074 --- /dev/null +++ b/recipes/wip/web/webkitgtk3/webkit.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=WebKit +Comment=WebKit GTK Browser +Exec=MiniBrowser +Icon=/usr/share/ui/icons/apps/internet-web-browser.png +Terminal=false +Type=Application +StartupNotify=true +Categories=Network +NoDisplay=true From 4a078df83daddc141e2ebe9b78d60d7a6b5d5d49 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 28 Sep 2026 03:32:07 +0700 Subject: [PATCH 28/31] Enable flycast jit --- recipes/emulators/flycast/recipe.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes/emulators/flycast/recipe.toml b/recipes/emulators/flycast/recipe.toml index 1211031bf..1d409b563 100644 --- a/recipes/emulators/flycast/recipe.toml +++ b/recipes/emulators/flycast/recipe.toml @@ -18,8 +18,7 @@ dev-dependencies = [ script = """ DYNAMIC_INIT COOKBOOK_NOSTRIP=1 -# TODO: remove DTARGET_NO_REC to enable JIT -export CPPFLAGS+=" -D_GNU_SOURCE=1 -DTARGET_NO_REC" +export CPPFLAGS+=" -D_GNU_SOURCE=1" COOKBOOK_CMAKE_FLAGS+=( -DREDOX=1 -DUNIX=1 From 060f01f1e5ef93f9c10e788b04420401181e876f Mon Sep 17 00:00:00 2001 From: Wildan M Date: Tue, 29 Sep 2026 04:59:54 +0200 Subject: [PATCH 29/31] Disable gstreamer fork --- recipes/libs/gstreamer/redox.patch | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/recipes/libs/gstreamer/redox.patch b/recipes/libs/gstreamer/redox.patch index 4dc880968..b5a440c39 100644 --- a/recipes/libs/gstreamer/redox.patch +++ b/recipes/libs/gstreamer/redox.patch @@ -1,6 +1,6 @@ -diff -ruw gstreamer-1.24.12/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c source/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c ---- gstreamer-1.24.12/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c 2025-01-29 13:12:29.000000000 -0700 -+++ source/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c 2026-02-10 19:13:12.530288659 -0700 +diff -ruwN source/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c source-new/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c +--- source/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c 2025-01-29 20:12:29.000000000 +0000 ++++ source-new/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c 2026-09-13 01:22:57.407426034 +0000 @@ -49,6 +49,10 @@ #include #endif @@ -12,9 +12,9 @@ diff -ruw gstreamer-1.24.12/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnecti GST_DEBUG_CATEGORY_STATIC (gst_dtls_connection_debug); #define GST_CAT_DEFAULT gst_dtls_connection_debug -diff -ruw gstreamer-1.24.12/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build ---- gstreamer-1.24.12/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2025-01-29 13:12:29.000000000 -0700 -+++ source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2026-02-10 19:09:53.259120404 -0700 +diff -ruwN source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build source-new/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build +--- source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2025-01-29 20:12:29.000000000 +0000 ++++ source-new/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2026-09-13 01:22:57.408426091 +0000 @@ -136,10 +136,10 @@ install: false) endif @@ -31,4 +31,16 @@ diff -ruw gstreamer-1.24.12/subprojects/gst-plugins-base/gst-libs/gst/tag/meson. +# install : false) gst_tag_dir = meson.current_source_dir() -Only in source/subprojects/gst-plugins-base/gst-libs/gst/tag: meson.build.orig +diff -ruwN source/subprojects/gstreamer/gst/gstregistry.c source-new/subprojects/gstreamer/gst/gstregistry.c +--- source/subprojects/gstreamer/gst/gstregistry.c 2025-01-29 20:12:29.000000000 +0000 ++++ source-new/subprojects/gstreamer/gst/gstregistry.c 2026-09-29 02:59:06.518249721 +0000 +@@ -174,7 +174,8 @@ + static GstRegistry *_gst_registry_default = NULL; + + /* defaults */ +-#define DEFAULT_FORK TRUE ++/* redox: forking result in hang */ ++#define DEFAULT_FORK FALSE + + /* control the behaviour of registry rebuild */ + static gboolean _gst_enable_registry_fork = DEFAULT_FORK; From ed78c2bd0bb07accffda4f6af445e56423cc8ee2 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 28 Sep 2026 08:48:56 +0700 Subject: [PATCH 30/31] Enable webkit jit --- recipes/wip/web/webkitgtk3/recipe.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/recipes/wip/web/webkitgtk3/recipe.toml b/recipes/wip/web/webkitgtk3/recipe.toml index 99e646d78..b676f890c 100644 --- a/recipes/wip/web/webkitgtk3/recipe.toml +++ b/recipes/wip/web/webkitgtk3/recipe.toml @@ -41,10 +41,6 @@ COOKBOOK_CMAKE_FLAGS+=( -DENABLE_BUBBLEWRAP_SANDBOX=OFF -DENABLE_INTROSPECTION=OFF -DENABLE_JOURNALD_LOG=OFF -# jit issues - -DENABLE_JIT=OFF - -DENABLE_DFG_JIT=OFF - -DENABLE_FTL_JIT=OFF # hardware/library issues -DENABLE_SPEECH_SYNTHESIS=OFF -DENABLE_SPELLCHECK=OFF # libenchant From 8484033e1a1efe8c7ee8218d31532638d7851ebd Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 28 Sep 2026 13:43:47 +0700 Subject: [PATCH 31/31] Fix passing redoxer rustflags --- Cargo.lock | 2 +- src/cook/script.rs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f5df5fad0..9f63bb527 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -918,7 +918,7 @@ dependencies = [ [[package]] name = "redoxer" version = "0.2.63" -source = "git+https://gitlab.redox-os.org/redox-os/redoxer.git#f50e0d7f490b60110ee6494a06d9b2f9981f8a5a" +source = "git+https://gitlab.redox-os.org/redox-os/redoxer.git#9281d1d591adf2db028e06a7d75767ad9b55d54f" dependencies = [ "anyhow", "dirs", diff --git a/src/cook/script.rs b/src/cook/script.rs index f7e5765df..12d94ddc4 100644 --- a/src/cook/script.rs +++ b/src/cook/script.rs @@ -35,7 +35,8 @@ function DYNAMIC_INIT { # TODO: check paths for spaces export LDFLAGS="${USER_LDFLAGS}-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib -L${COOKBOOK_SYSROOT}/lib -Wl,--export-dynamic" - export RUSTFLAGS="-C target-feature=-crt-static -L native=${COOKBOOK_SYSROOT}/lib -C link-arg=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib" + rustflags="-C target-feature=-crt-static -L native=${COOKBOOK_SYSROOT}/lib -C link-arg=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib" + export "${REDOXER_RUSTFLAGS_KEY}=${!REDOXER_RUSTFLAGS_KEY} ${rustflags}" export COOKBOOK_DYNAMIC=1 if [ "function" = "$(type -t reexport_flags)" ]; then