From 965ff8fccf3afa1da6343ae21911b1be9f3b55c3 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Mon, 4 Aug 2025 10:10:21 +0000 Subject: [PATCH 001/182] Update zig recipe --- recipes/wip/dev/lang/zig/01_redox.patch | 83 +++++++++++++++++++++++++ recipes/wip/dev/lang/zig/recipe.toml | 26 ++++---- 2 files changed, 94 insertions(+), 15 deletions(-) create mode 100644 recipes/wip/dev/lang/zig/01_redox.patch diff --git a/recipes/wip/dev/lang/zig/01_redox.patch b/recipes/wip/dev/lang/zig/01_redox.patch new file mode 100644 index 000000000..093eb2f41 --- /dev/null +++ b/recipes/wip/dev/lang/zig/01_redox.patch @@ -0,0 +1,83 @@ +diff -ruwN source/build.zig source-new/build.zig +--- source/build.zig 2025-05-23 11:31:41 ++++ source-new/build.zig 2025-08-04 17:06:57 +@@ -802,7 +802,7 @@ + try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); + try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes); + }, +- .haiku => { ++ .haiku, .redox => { + try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); + }, + else => {}, +diff -ruwN source/lib/std/Target.zig source-new/lib/std/Target.zig +--- source/lib/std/Target.zig 2025-05-23 11:31:41 ++++ source-new/lib/std/Target.zig 2025-08-04 16:59:08 +@@ -29,6 +29,7 @@ + hurd, + linux, + plan9, ++ redox, + rtems, + serenity, + zos, +@@ -904,6 +905,7 @@ + .fuchsia, + .hermit, + .plan9, ++ .redox, + .serenity, + .zos, + .dragonfly, +@@ -2435,6 +2437,16 @@ + else + "/usr", + }) else none, ++ ++ .redox => switch (cpu.arch) { ++ .x86, ++ => init("/usr/lib/ld.so.1"), ++ .aarch64, ++ .riscv64, ++ .x86_64, ++ => init("/usr/lib/ld64.so.1"), ++ else => none, ++ }, + + .freebsd => switch (cpu.arch) { + .arm, +diff -ruwN source/test/llvm_targets.zig source-new/test/llvm_targets.zig +--- source/test/llvm_targets.zig 2025-05-23 11:31:41 ++++ source-new/test/llvm_targets.zig 2025-08-04 17:02:56 +@@ -20,6 +20,7 @@ + .{ .cpu_arch = .aarch64, .os_tag = .macos, .abi = .none }, + .{ .cpu_arch = .aarch64, .os_tag = .netbsd, .abi = .none }, + .{ .cpu_arch = .aarch64, .os_tag = .openbsd, .abi = .none }, ++ .{ .cpu_arch = .aarch64, .os_tag = .redox, .abi = .none }, + .{ .cpu_arch = .aarch64, .os_tag = .rtems, .abi = .none }, + .{ .cpu_arch = .aarch64, .os_tag = .serenity, .abi = .none }, + .{ .cpu_arch = .aarch64, .os_tag = .tvos, .abi = .none }, +@@ -238,6 +239,7 @@ + .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .none }, + .{ .cpu_arch = .riscv64, .os_tag = .netbsd, .abi = .none }, + .{ .cpu_arch = .riscv64, .os_tag = .openbsd, .abi = .none }, ++ .{ .cpu_arch = .riscv64, .os_tag = .redox, .abi = .none }, + .{ .cpu_arch = .riscv64, .os_tag = .rtems, .abi = .none }, + .{ .cpu_arch = .riscv64, .os_tag = .serenity, .abi = .none }, + // .{ .cpu_arch = .riscv64, .os_tag = .uefi, .abi = .none }, +@@ -325,6 +327,7 @@ + .{ .cpu_arch = .x86, .os_tag = .linux, .abi = .none }, + .{ .cpu_arch = .x86, .os_tag = .netbsd, .abi = .none }, + .{ .cpu_arch = .x86, .os_tag = .openbsd, .abi = .none }, ++ .{ .cpu_arch = .x86, .os_tag = .redox, .abi = .none }, + .{ .cpu_arch = .x86, .os_tag = .rtems, .abi = .none }, + .{ .cpu_arch = .x86, .os_tag = .solaris, .abi = .none }, + .{ .cpu_arch = .x86, .os_tag = .uefi, .abi = .none }, +@@ -361,6 +364,7 @@ + .{ .cpu_arch = .x86_64, .os_tag = .macos, .abi = .none }, + .{ .cpu_arch = .x86_64, .os_tag = .netbsd, .abi = .none }, + .{ .cpu_arch = .x86_64, .os_tag = .openbsd, .abi = .none }, ++ .{ .cpu_arch = .x86_64, .os_tag = .redox, .abi = .none }, + .{ .cpu_arch = .x86_64, .os_tag = .rtems, .abi = .none }, + .{ .cpu_arch = .x86_64, .os_tag = .serenity, .abi = .none }, + .{ .cpu_arch = .x86_64, .os_tag = .solaris, .abi = .none }, diff --git a/recipes/wip/dev/lang/zig/recipe.toml b/recipes/wip/dev/lang/zig/recipe.toml index 90ceedba0..c88b9070f 100644 --- a/recipes/wip/dev/lang/zig/recipe.toml +++ b/recipes/wip/dev/lang/zig/recipe.toml @@ -1,20 +1,16 @@ -#TODO probably wrong script, see https://github.com/ziglang/zig/wiki/Building-Zig-From-Source +#TODO see https://github.com/ziglang/zig/wiki/Building-Zig-From-Source [source] -tar = "https://ziglang.org/download/0.10.1/zig-0.10.1.tar.xz" +tar = "https://ziglang.org/download/0.14.1/zig-0.14.1.tar.xz" +patches = [ + "01_redox.patch" +] + [build] +dependencies = [ + "llvm18" # need lld +] template = "custom" script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure +DYNAMIC_INIT +cookbook_cmake """ From 5f12b87dc0b708b0997782e2aadf28595810289a Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Mon, 1 Sep 2025 19:57:07 +0200 Subject: [PATCH 002/182] Move a couple not building recipes to the wip category And remove the pastel-editor recipe as pastel-editor hasn't had any updates in years. --- .../{ => wip}/demos/rust-cairo-demo/recipe.sh | 0 recipes/{ => wip}/demos/rust-cairo/recipe.sh | 0 .../games/syobonaction/01_redox.patch | 0 .../{ => wip}/games/syobonaction/recipe.sh | 0 recipes/{ => wip}/games/vvvvvv/recipe.sh | 0 recipes/{ => wip}/games/wesnoth/recipe.sh | 0 .../wip/image/editors/pastel-editor/recipe.sh | 21 ------------------- recipes/{tools => wip}/termplay/recipe.sh | 0 .../{emulators => wip}/vice/01_redox.patch | 0 recipes/{emulators => wip}/vice/recipe.sh | 0 10 files changed, 21 deletions(-) rename recipes/{ => wip}/demos/rust-cairo-demo/recipe.sh (100%) rename recipes/{ => wip}/demos/rust-cairo/recipe.sh (100%) rename recipes/{ => wip}/games/syobonaction/01_redox.patch (100%) rename recipes/{ => wip}/games/syobonaction/recipe.sh (100%) rename recipes/{ => wip}/games/vvvvvv/recipe.sh (100%) rename recipes/{ => wip}/games/wesnoth/recipe.sh (100%) delete mode 100644 recipes/wip/image/editors/pastel-editor/recipe.sh rename recipes/{tools => wip}/termplay/recipe.sh (100%) rename recipes/{emulators => wip}/vice/01_redox.patch (100%) rename recipes/{emulators => wip}/vice/recipe.sh (100%) diff --git a/recipes/demos/rust-cairo-demo/recipe.sh b/recipes/wip/demos/rust-cairo-demo/recipe.sh similarity index 100% rename from recipes/demos/rust-cairo-demo/recipe.sh rename to recipes/wip/demos/rust-cairo-demo/recipe.sh diff --git a/recipes/demos/rust-cairo/recipe.sh b/recipes/wip/demos/rust-cairo/recipe.sh similarity index 100% rename from recipes/demos/rust-cairo/recipe.sh rename to recipes/wip/demos/rust-cairo/recipe.sh diff --git a/recipes/games/syobonaction/01_redox.patch b/recipes/wip/games/syobonaction/01_redox.patch similarity index 100% rename from recipes/games/syobonaction/01_redox.patch rename to recipes/wip/games/syobonaction/01_redox.patch diff --git a/recipes/games/syobonaction/recipe.sh b/recipes/wip/games/syobonaction/recipe.sh similarity index 100% rename from recipes/games/syobonaction/recipe.sh rename to recipes/wip/games/syobonaction/recipe.sh diff --git a/recipes/games/vvvvvv/recipe.sh b/recipes/wip/games/vvvvvv/recipe.sh similarity index 100% rename from recipes/games/vvvvvv/recipe.sh rename to recipes/wip/games/vvvvvv/recipe.sh diff --git a/recipes/games/wesnoth/recipe.sh b/recipes/wip/games/wesnoth/recipe.sh similarity index 100% rename from recipes/games/wesnoth/recipe.sh rename to recipes/wip/games/wesnoth/recipe.sh diff --git a/recipes/wip/image/editors/pastel-editor/recipe.sh b/recipes/wip/image/editors/pastel-editor/recipe.sh deleted file mode 100644 index 987a251fd..000000000 --- a/recipes/wip/image/editors/pastel-editor/recipe.sh +++ /dev/null @@ -1,21 +0,0 @@ -GIT=https://gitlab.redox-os.org/redox-os/pastel.git -GIT_UPSTREAM=https://github.com/robbycerantola/pastel.git -BINDIR=/usr/bin -DEPENDS="orbital" - -function recipe_stage { - mkdir "$1/ui" - cp -rv res "$1/ui/pastel" - mkdir "$1/ui/apps" - cat > "$1/ui/apps/pastel" <<-EOF - name=Pastel - binary=/usr/bin/pastel - icon=/ui/pastel/accessories-bitmap-editor.png - accept=*.bmp - accept=*.jpg - accept=*.jpeg - accept=*.png - author=Robby Cerantola - description=Bitmap Editor - EOF -} diff --git a/recipes/tools/termplay/recipe.sh b/recipes/wip/termplay/recipe.sh similarity index 100% rename from recipes/tools/termplay/recipe.sh rename to recipes/wip/termplay/recipe.sh diff --git a/recipes/emulators/vice/01_redox.patch b/recipes/wip/vice/01_redox.patch similarity index 100% rename from recipes/emulators/vice/01_redox.patch rename to recipes/wip/vice/01_redox.patch diff --git a/recipes/emulators/vice/recipe.sh b/recipes/wip/vice/recipe.sh similarity index 100% rename from recipes/emulators/vice/recipe.sh rename to recipes/wip/vice/recipe.sh From f4d3630ef8d24b7ef1cf59f4d6a53f7f6a3bd1b6 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Mon, 1 Sep 2025 21:38:14 +0200 Subject: [PATCH 003/182] Remove all code that handles recipe.sh --- cook.sh | 275 ------------------------------------------------------- fetch.sh | 7 +- repo.sh | 60 +----------- 3 files changed, 6 insertions(+), 336 deletions(-) diff --git a/cook.sh b/cook.sh index 6435f2cce..ad457277e 100755 --- a/cook.sh +++ b/cook.sh @@ -13,28 +13,10 @@ export DEBUG= export EXAMPLES= export PREPARE_COPY=1 -if hash sha256sum 2>/dev/null -then - SHASUM="sha256sum" -else - SHASUM="shasum -a 256" -fi - function usage { echo "cook.sh $1 " >&2 - echo " dist" >&2 echo " distclean" >&2 - echo " build" >&2 - echo " clean" >&2 - echo " fetch" >&2 echo " unfetch" >&2 - echo " pkg" >&2 - echo " unpkg" >&2 - echo " prepare" >&2 - echo " unprepare" >&2 - echo " stage" >&2 - echo " unstage" >&2 - echo " version" >&2 } function op { @@ -44,275 +26,22 @@ function op { fi case "$2" in - dist) - op $1 prepare - op $1 build - op $1 stage - op $1 pkg - ;; distclean) op $1 unpkg op $1 unstage op $1 unprepare ;; - fetch) - skip=0 - if [ "$(type -t recipe_fetch)" = "function" ] - then - recipe_fetch - fi - if [ "$skip" -eq "0" ] - then - if [ -n "$TAR" ] - then - if [ ! -f source.tar ] - then - wget "$TAR" --continue -O source.tar.tmp - mv source.tar.tmp source.tar - fi - - if [ -n "$TAR_SHA256" ] - then - $SHASUM -c <<< "${TAR_SHA256} source.tar" - fi - - if [ ! -d source ] - then - mkdir source - tar xvf source.tar -C source --strip-components 1 - fi - elif [ -n "$GIT" ] - then - if [ ! -d source ] - then - if [ -n "$BRANCH" ] - then - git clone --recursive "$GIT" -b "$BRANCH" source - else - git clone --recursive "$GIT" source - fi - fi - - pushd source > /dev/null - git remote set-url origin "$GIT" - git fetch origin - if [ -n "$GIT_UPSTREAM" ] - then - git remote set-url upstream "$GIT_UPSTREAM" &> /dev/null || - git remote add upstream "$GIT_UPSTREAM" - git fetch upstream - fi - - ORIGIN_BRANCH="$(git branch --remotes | grep '^ origin/HEAD -> ' | cut -d ' ' -f 5-)" - if [ -n "$BRANCH" ] - then - ORIGIN_BRANCH="origin/$BRANCH" - fi - - if [ "$(git rev-parse HEAD)" != "$(git rev-parse $ORIGIN_BRANCH)" ] - then - git checkout -B "$(echo "$ORIGIN_BRANCH" | cut -d / -f 2-)" "$ORIGIN_BRANCH" - fi - git submodule sync --recursive - git submodule update --init --recursive - popd > /dev/null - fi - fi - ;; unfetch) rm -rfv source source.tar ;; - prepare) - skip=0 - if [ "$(type -t recipe_prepare)" = "function" ] - then - recipe_prepare - fi - if [ "$skip" -eq "0" ] - then - rm -rf "${COOKBOOK_SYSROOT}" - mkdir "${COOKBOOK_SYSROOT}" - - # usrmerge - mkdir "${COOKBOOK_SYSROOT}/usr" - for folder in bin include lib share - do - mkdir "${COOKBOOK_SYSROOT}/usr/${folder}" - ln -s "usr/${folder}" "${COOKBOOK_SYSROOT}/${folder}" - done - - if [ ${#BUILD_DEPENDS} -gt 0 ] - then - pushd $ROOT - ./repo.sh "${BUILD_DEPENDS[@]}" - popd - - for i in "${BUILD_DEPENDS[@]}" - do - pkgar \ - extract \ - "${COOKBOOK_SYSROOT}" \ - --archive "$REPO/$i.pkgar" \ - --pkey "${ROOT}/build/id_ed25519.pub.toml" - done - fi - - rm -rf "${COOKBOOK_BUILD}" - if [ "$PREPARE_COPY" -eq "0" ] - then - mkdir "${COOKBOOK_BUILD}" - else - cp -Rp source "${COOKBOOK_BUILD}" - fi - - for patch in *.patch - do - patch -p1 -d "${COOKBOOK_BUILD}" < "$patch" - done - fi - ;; unprepare) rm -rf "${COOKBOOK_BUILD}" rm -rf "${COOKBOOK_SYSROOT}" ;; - version) - pushd "${COOKBOOK_BUILD}" > /dev/null - skip=0 - if [ "$(type -t recipe_version)" = "function" ] - then - recipe_version - fi - if [ "$skip" -eq "0" ] - then - # there's an unstable built-in cargo config command, so hack around it - cargo-config config package.version | tr -d '"' - fi - popd > /dev/null - ;; - gitversion) - if [ -d "${COOKBOOK_BUILD}"/.git ] - then - echo "$(op $1 version)-$(git -C "${COOKBOOK_BUILD}" rev-parse --short HEAD)" - else - op $1 version - fi - ;; - build) - pushd "${COOKBOOK_BUILD}" > /dev/null - skip=0 - if [ "$(type -t recipe_build)" = "function" ] - then - recipe_build - fi - - release_flag="--release" - if [ "$DEBUG" == 1 ] - then - release_flag= - fi - - if [ -n "$CARGO_PACKAGE" ]; then - package_flag="--package=$CARGO_PACKAGE" - else - package_flag= - fi - - if [ "$skip" -eq "0" ] - then - "${CARGO[@]}" "$CARGOBUILD" --target "$TARGET" $release_flag $package_flag $CARGOFLAGS - fi - popd > /dev/null - ;; - clean) - pushd "${COOKBOOK_BUILD}" > /dev/null - skip=0 - if [ "$(type -t recipe_clean)" = "function" ] - then - recipe_clean - fi - if [ "$skip" -eq "0" ] - then - "${CARGO[@]}" clean - fi - popd > /dev/null - ;; - stage) - op $1 unstage - mkdir -p "${COOKBOOK_STAGE}" - stage="$(realpath "${COOKBOOK_STAGE}")" - source="$(realpath source)" - pushd "${COOKBOOK_BUILD}" > /dev/null - skip=0 - if [ "$(type -t recipe_stage)" = "function" ] - then - recipe_stage "$stage" - fi - if [ "$skip" -eq "0" ] - then - #TODO "${CARGO[@]}" install --root "$stage" $CARGOFLAGS - if [ "$DEBUG" == 1 ] - then - build=debug - else - build=release - fi - - bins="$(find target/$TARGET/$build/ -maxdepth 1 -type f ! -name '*.*')" - if [ -z "$bins" ] || [ "$EXAMPLES" == 1 ] - then - example=true - bins="$bins $(find target/$TARGET/$build/examples/ -maxdepth 1 -type f ! -name '*.*' ! -name '*-*' \ - 2> /dev/null || true)" - fi - if [ -n "$bins" ] - then - if [ -n "$example" ] && [ "$EXAMPLES" != 1 ] - then - echo "$(tput bold)Note$(tput sgr0): No binaries detected, using example binaries" - fi - mkdir -p "$stage/$BINDIR" - for bin in $bins - do - if [ "$DEBUG" == 1 ] - then - cp -v "$bin" "$stage/$BINDIR/$(basename $bin)" - else - "${STRIP}" -v "$bin" -o "$stage/$BINDIR/$(basename $bin)" - fi - done - else - echo "$(tput bold)Warning$(tput sgr0): Recipe does not have any binaries" >&2 - fi - fi - popd > /dev/null - ;; unstage) rm -rfv "${COOKBOOK_STAGE}" rm -fv "${TARGET_DIR}/auto_deps.toml" ;; - pkg) - pkgar \ - create \ - --archive "${COOKBOOK_STAGE}.pkgar" \ - --skey "${ROOT}/build/id_ed25519.toml" \ - "${COOKBOOK_STAGE}" - - # Generate stage.toml - echo "name = \"$1\"" > "${COOKBOOK_STAGE}.toml" - echo "version = \"$(op $1 version)\"" >> "${COOKBOOK_STAGE}.toml" - echo "target = \"$TARGET\"" >> "${COOKBOOK_STAGE}.toml" - - # Add runtime dependencies to package if they exist - if [ -n "$DEPENDS" ] - then - # Remove leading and trailing whitespace, replace whitespace between - # package names with commas, and surround package names with quotes - dependencies=$(echo -e "$DEPENDS" | sed -E 's/^[[:space:]]*//;s/[[:space:]]*$//;s/[[:space:]]+/,/g;s/[^, ][^, ]*/"&"/g') - echo "depends = [$dependencies]" >> "${COOKBOOK_STAGE}.toml" - else - echo "depends = []" >> "${COOKBOOK_STAGE}.toml" - fi - ;; unpkg) rm -fv "${COOKBOOK_STAGE}.pkgar" "${COOKBOOK_STAGE}.toml" ;; @@ -351,10 +80,6 @@ then cd "${COOKBOOK_RECIPE}" - if [ -e recipe.sh ]; then - source recipe.sh - fi - ops=() for arg in "${@:2}" do diff --git a/fetch.sh b/fetch.sh index 060ac6e4d..a3bc69c76 100755 --- a/fetch.sh +++ b/fetch.sh @@ -32,10 +32,5 @@ do recipe_path=`target/release/find_recipe $recipe_name` fi - if [ -e "$recipe_path/recipe.toml" ] - then - target/release/cook --fetch-only "$recipe_name" - else - ./cook.sh "$recipe_name" fetch - fi + target/release/cook --fetch-only "$recipe_name" done diff --git a/repo.sh b/repo.sh index 40476cefd..8869c0e7b 100755 --- a/repo.sh +++ b/repo.sh @@ -34,9 +34,6 @@ then recipes="$(target/release/list_recipes)" fi -# All $recipes that are in the new TOML format. -toml_recipes="" - for recipe in $recipes do recipe_path=`target/release/find_recipe $recipe` @@ -47,65 +44,18 @@ do COOKBOOK_SOURCE="${COOKBOOK_RECIPE}/source" COOKBOOK_SYSROOT="${TARGET_DIR}/sysroot" - if [ -e "${COOKBOOK_RECIPE}/recipe.toml" ] - then - toml_recipes+=" $recipe" - target/release/cook $COOK_OPT "$recipe" - continue - fi - - if [ ! -d "${COOKBOOK_SOURCE}" ] - then - echo -e "\033[01;38;5;155mrepo - fetching $recipe\033[0m" >&2 - ./cook.sh "$recipe" fetch - fi - - if [ ! -d "${COOKBOOK_BUILD}" ] - then - echo -e "\033[01;38;5;155mrepo - preparing $recipe\033[0m" >&2 - ./cook.sh "$recipe" prepare - elif [ ! -d "${COOKBOOK_SYSROOT}" ] - then - echo -e "\033[01;38;5;155mrepo - repreparing $recipe\033[0m" >&2 - ./cook.sh "$recipe" unprepare prepare - else - TIME_SOURCE="$($FIND "${COOKBOOK_SOURCE}" -type f -not -path '*/.git*' -printf "%Ts\n" | sort -nr | head -n 1)" - TIME_BUILD="$($FIND "${COOKBOOK_BUILD}" -type f -not -path '*/.git*' -printf "%Ts\n" | sort -nr | head -n 1)" - if [ "$TIME_SOURCE" -gt "$TIME_BUILD" ] - then - echo -e "\033[01;38;5;155mrepo - repreparing $recipe\033[0m" >&2 - ./cook.sh "$recipe" unprepare prepare - fi - fi - - if [ ! -f "${COOKBOOK_STAGE}.pkgar" ] - then - echo -e "\033[01;38;5;155mrepo - building $recipe\033[0m" >&2 - ./cook.sh "$recipe" build stage pkg $DEBUG - else - TIME_BUILD="$($FIND "${COOKBOOK_BUILD}" -type f -not -path '*/.git*' -printf "%Ts\n" | sort -nr | head -n 1)" - TIME_STAGE="$($STAT -c "%Y" "${COOKBOOK_STAGE}.pkgar")" - TIME_RECIPE="$($FIND "${COOKBOOK_RECIPE}"/{recipe.sh,*.patch} -printf '%Ts\n' | sort -nr | head -n 1)" - if [ "$TIME_BUILD" -gt "$TIME_STAGE" -o "$TIME_RECIPE" -gt "$TIME_STAGE" ] - then - echo -e "\033[01;38;5;155mrepo - rebuilding $recipe\033[0m" >&2 - ./cook.sh "$recipe" untar unstage build stage pkg $DEBUG - else - echo -e "\033[01;38;5;155mrepo - $recipe up to date\033[0m" >&2 - fi - fi + target/release/cook $COOK_OPT "$recipe" done mkdir -p "$REPO" declare -A APPSTREAM_SOURCES -# Currently, we only support runtime dependencies for recipes in the new TOML -# format. Runtime dependencies include both `[package.dependencies]` and -# dynamically linked packages discovered by auto_deps. -# +# Runtime dependencies include both `[package.dependencies]` and dynamically +# linked packages discovered by auto_deps. +# # The following adds the package dependencies of the recipes to the repo as # well. -recipes="$recipes $(target/release/pkg_deps $toml_recipes)" +recipes="$recipes $(target/release/pkg_deps $recipes)" target/release/repo_builder "$REPO" $recipes From 24eccf7093faf9055fba638cca4832b7d4669731 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Mon, 1 Sep 2025 21:52:06 +0200 Subject: [PATCH 004/182] Remove cook.sh --- clean.sh | 22 ++++++++++- cook.sh | 105 ----------------------------------------------------- unfetch.sh | 13 ++++++- 3 files changed, 31 insertions(+), 109 deletions(-) delete mode 100755 cook.sh diff --git a/clean.sh b/clean.sh index 7aba7ca85..c1ed4cf24 100755 --- a/clean.sh +++ b/clean.sh @@ -10,7 +10,25 @@ else recipes="$@" fi -for recipe_path in $recipes +for recipe in $recipes do - ./cook.sh "$recipe_path" distclean + if (echo "$recipe" | grep '.*/.*' >/dev/null); then + recipe_name=$(basename "$recipe") + recipe_path="$recipe" + else + recipe_name="$recipe" + recipe_path=`target/release/find_recipe $recipe` + fi + + echo -e "\033[01;38;5;215mcook - clean $recipe_name\033[0m" + + if [ -d "$ROOT/$recipe_path" ] + then + COOKBOOK_RECIPE="${ROOT}/$recipe_path" + TARGET_DIR="${ROOT}/$recipe_path/target/${TARGET}" + + rm -rf "${TARGET_DIR}" + else + echo "clean.sh: recipe '$recipe_name' not found" >&2 + fi done diff --git a/cook.sh b/cook.sh deleted file mode 100755 index ad457277e..000000000 --- a/cook.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/usr/bin/env bash -set -e -shopt -s nullglob - -source config.sh - -# Variables to be overriden by recipes -export BINDIR=bin -export CARGO=(env RUSTFLAGS="$PREFIX_RUSTFLAGS -C link-arg=-zmuldefs" cargo) -export CARGOBUILD=rustc -export CARGOFLAGS= -export DEBUG= -export EXAMPLES= -export PREPARE_COPY=1 - -function usage { - echo "cook.sh $1 " >&2 - echo " distclean" >&2 - echo " unfetch" >&2 -} - -function op { - if [ ! "$COOK_QUIET" = "1" ] - then - echo -e "\033[01;38;5;215mcook - $1 $2\033[0m" >&2 - fi - - case "$2" in - distclean) - op $1 unpkg - op $1 unstage - op $1 unprepare - ;; - unfetch) - rm -rfv source source.tar - ;; - unprepare) - rm -rf "${COOKBOOK_BUILD}" - rm -rf "${COOKBOOK_SYSROOT}" - ;; - unstage) - rm -rfv "${COOKBOOK_STAGE}" - rm -fv "${TARGET_DIR}/auto_deps.toml" - ;; - unpkg) - rm -fv "${COOKBOOK_STAGE}.pkgar" "${COOKBOOK_STAGE}.toml" - ;; - *) - usage $1 - ;; - esac -} - -if [ -n "$1" ] -then - if (echo "$1" | grep '.*/.*' >/dev/null); then - recipe_name=$(basename "$1") - recipe_path="$1" - else - recipe_name="$1" - recipe_path=`target/release/find_recipe $recipe_name` - fi - - if [ -d "$ROOT/$recipe_path" ] - then - export COOKBOOK_RECIPE="${ROOT}/$recipe_path" - - TARGET_DIR="${COOKBOOK_RECIPE}/target/${TARGET}" - mkdir -p "${TARGET_DIR}" - - export COOKBOOK_BUILD="${TARGET_DIR}/build" - export COOKBOOK_STAGE="${TARGET_DIR}/stage" - export COOKBOOK_SOURCE="${COOKBOOK_RECIPE}/source" - export COOKBOOK_SYSROOT="${TARGET_DIR}/sysroot" - - export PKG_CONFIG_ALLOW_CROSS=1 - export PKG_CONFIG_PATH= - export PKG_CONFIG_LIBDIR="${COOKBOOK_SYSROOT}/lib/pkgconfig" - export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" - - cd "${COOKBOOK_RECIPE}" - - ops=() - for arg in "${@:2}" - do - if [ "$arg" == "--debug" ] - then - DEBUG=1 - else - ops[${#ops[@]}]="$arg" - fi - done - - for i in "${ops[@]}" - do - op "$recipe_name" "$i" - done - elif [ "$IGNORE_ERROR" != "1" ] - then - echo "cook.sh: recipe '$recipe_name' at not found" >&2 - exit 1 - fi -else - usage "{package}" -fi diff --git a/unfetch.sh b/unfetch.sh index eb73178c3..d8016a05f 100755 --- a/unfetch.sh +++ b/unfetch.sh @@ -10,7 +10,16 @@ else recipes="$@" fi -for recipe_path in $recipes +for recipe in $recipes do - ./cook.sh "$recipe_path" unfetch + if (echo "$recipe" | grep '.*/.*' >/dev/null); then + recipe_name=$(basename "$recipe") + recipe_path="$recipe" + else + recipe_name="$recipe" + recipe_path=`target/release/find_recipe $recipe` + fi + + rm -rfv "$recipe_path"/source "$recipe_path"/source.tar done + From 081367d343155280636c3d1dd246a569193f8881 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Tue, 2 Sep 2025 15:31:26 +0000 Subject: [PATCH 005/182] Fix relibc tests --- recipes/tests/relibc-tests/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tests/relibc-tests/recipe.toml b/recipes/tests/relibc-tests/recipe.toml index 023ac741e..8f587bb5d 100644 --- a/recipes/tests/relibc-tests/recipe.toml +++ b/recipes/tests/relibc-tests/recipe.toml @@ -8,7 +8,7 @@ script = """ rsync -av --delete "${COOKBOOK_SOURCE}/" ./ pushd tests export CARGO_TEST="${COOKBOOK_CARGO}" -export NATIVE_RELIBC=1 +export NATIVE_RELIBC=0 # set 0 to link against relibc "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" all bins_verify/relibc-tests popd mkdir -pv "${COOKBOOK_STAGE}/share/relibc" From bf026ddaf813d0d6a8a3231e167ee1230ad8bbdb Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 2 Sep 2025 20:33:37 +0200 Subject: [PATCH 006/182] Couple more cleanups --- clean.sh | 11 +---------- config.sh | 18 +----------------- repo.sh | 15 +++------------ 3 files changed, 5 insertions(+), 39 deletions(-) diff --git a/clean.sh b/clean.sh index c1ed4cf24..45c2e14a3 100755 --- a/clean.sh +++ b/clean.sh @@ -21,14 +21,5 @@ do fi echo -e "\033[01;38;5;215mcook - clean $recipe_name\033[0m" - - if [ -d "$ROOT/$recipe_path" ] - then - COOKBOOK_RECIPE="${ROOT}/$recipe_path" - TARGET_DIR="${ROOT}/$recipe_path/target/${TARGET}" - - rm -rf "${TARGET_DIR}" - else - echo "clean.sh: recipe '$recipe_name' not found" >&2 - fi + rm -rf "${ROOT}/$recipe_path/target/${TARGET}" done diff --git a/config.sh b/config.sh index f3a3b2de4..71131eb89 100755 --- a/config.sh +++ b/config.sh @@ -14,7 +14,6 @@ fi # Automatic variables ROOT="$(cd `dirname "$0"` && pwd)" -REPO="$ROOT/repo/$TARGET" export PATH="${ROOT}/bin:$PATH" export AR="${HOST}-gcc-ar" @@ -43,26 +42,11 @@ export PKG_CONFIG_FOR_BUILD="pkg-config" if [[ "$OSTYPE" == "darwin"* ]] || [[ "$OSTYPE" == "FreeBSD" ]]; then # GNU find FIND="gfind"; - - # GNU stat from Homebrew or MacPorts - if [ ! -z "$(which brew)" ]; then - STAT="$(brew --prefix)/opt/coreutils/libexec/gnubin/stat"; - elif [ ! -z "$(which port)" ]; then - # TODO: find a programatic way of asking MacPorts for it's root dir. - STAT="/opt/local/opt/coreutils/libexec/gnubin/stat"; - elif [ ! -z "$(which pkg)" ]; then - STAT="gnustat" - else - echo "Please install either Homebrew or MacPorts and run the boostrap script." - exit 1 - fi else - FIND="find" - STAT="stat"; + FIND="find"; fi export FIND -export STAT if [ ! "$(uname -s)" = "Redox" ] then diff --git a/repo.sh b/repo.sh index 8869c0e7b..99ec7f272 100755 --- a/repo.sh +++ b/repo.sh @@ -36,20 +36,11 @@ fi for recipe in $recipes do - recipe_path=`target/release/find_recipe $recipe` - COOKBOOK_RECIPE="$recipe_path" - TARGET_DIR="${COOKBOOK_RECIPE}/target/${TARGET}" - COOKBOOK_BUILD="${TARGET_DIR}/build" - COOKBOOK_STAGE="${TARGET_DIR}/stage" - COOKBOOK_SOURCE="${COOKBOOK_RECIPE}/source" - COOKBOOK_SYSROOT="${TARGET_DIR}/sysroot" - target/release/cook $COOK_OPT "$recipe" done -mkdir -p "$REPO" - -declare -A APPSTREAM_SOURCES +repo="$ROOT/repo/$TARGET" +mkdir -p "$repo" # Runtime dependencies include both `[package.dependencies]` and dynamically # linked packages discovered by auto_deps. @@ -58,4 +49,4 @@ declare -A APPSTREAM_SOURCES # well. recipes="$recipes $(target/release/pkg_deps $recipes)" -target/release/repo_builder "$REPO" $recipes +target/release/repo_builder "$repo" $recipes From 87699a364e132b4c55d3347cea3ce14f3c2b7777 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 2 Sep 2025 20:43:39 +0200 Subject: [PATCH 007/182] Only accept recipe name in shell scripts Rather than recipe path. --- clean.sh | 12 +++--------- fetch.sh | 10 +--------- unfetch.sh | 13 ++++--------- 3 files changed, 8 insertions(+), 27 deletions(-) diff --git a/clean.sh b/clean.sh index 45c2e14a3..e26dba32a 100755 --- a/clean.sh +++ b/clean.sh @@ -5,20 +5,14 @@ source config.sh if [ $# = 0 ] then - recipes="$(target/release/list_recipes)" + recipes="$(target/release/list_recipes --short)" else recipes="$@" fi -for recipe in $recipes +for recipe_name in $recipes do - if (echo "$recipe" | grep '.*/.*' >/dev/null); then - recipe_name=$(basename "$recipe") - recipe_path="$recipe" - else - recipe_name="$recipe" - recipe_path=`target/release/find_recipe $recipe` - fi + recipe_path=`target/release/find_recipe $recipe_name` echo -e "\033[01;38;5;215mcook - clean $recipe_name\033[0m" rm -rf "${ROOT}/$recipe_path/target/${TARGET}" diff --git a/fetch.sh b/fetch.sh index a3bc69c76..1ca153c51 100755 --- a/fetch.sh +++ b/fetch.sh @@ -22,15 +22,7 @@ then recipes="$(target/release/list_recipes)" fi -for recipe_path in $recipes +for recipe_name in $recipes do - if (echo "$recipe_path" | grep '.*/.*' >/dev/null); then - recipe_name=$(basename "$recipe_path") - recipe_path="$recipe_path" - else - recipe_name="$recipe_path" - recipe_path=`target/release/find_recipe $recipe_name` - fi - target/release/cook --fetch-only "$recipe_name" done diff --git a/unfetch.sh b/unfetch.sh index d8016a05f..6763ff824 100755 --- a/unfetch.sh +++ b/unfetch.sh @@ -5,21 +5,16 @@ source config.sh if [ $# = 0 ] then - recipes="$(target/release/list_recipes)" + recipes="$(target/release/list_recipes --short)" else recipes="$@" fi -for recipe in $recipes +for recipe_name in $recipes do - if (echo "$recipe" | grep '.*/.*' >/dev/null); then - recipe_name=$(basename "$recipe") - recipe_path="$recipe" - else - recipe_name="$recipe" - recipe_path=`target/release/find_recipe $recipe` - fi + recipe_path=`target/release/find_recipe $recipe_name` + echo -e "\033[01;38;5;215mcook - unfetch $recipe_name\033[0m" rm -rfv "$recipe_path"/source "$recipe_path"/source.tar done From 7388bc9d0170e2dd29e64e7fca39bb39bee12a22 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 2 Sep 2025 20:46:36 +0200 Subject: [PATCH 008/182] Don't allow empty package list in fetch.sh and repo.sh --- fetch.sh | 5 ----- repo.sh | 5 ----- 2 files changed, 10 deletions(-) diff --git a/fetch.sh b/fetch.sh index 1ca153c51..a6b7b67cf 100755 --- a/fetch.sh +++ b/fetch.sh @@ -17,11 +17,6 @@ do fi done -if [ "$recipes" == "" ] -then - recipes="$(target/release/list_recipes)" -fi - for recipe_name in $recipes do target/release/cook --fetch-only "$recipe_name" diff --git a/repo.sh b/repo.sh index 99ec7f272..c0125c978 100755 --- a/repo.sh +++ b/repo.sh @@ -29,11 +29,6 @@ do fi done -if [ "$recipes" == "" ] -then - recipes="$(target/release/list_recipes)" -fi - for recipe in $recipes do target/release/cook $COOK_OPT "$recipe" From 13d9e4794f761f8e53e91b783125ceaf5ed33e15 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 2 Sep 2025 20:52:44 +0200 Subject: [PATCH 009/182] Move handling of multiple recipes into cook --- fetch.sh | 10 ++-------- repo.sh | 12 +++--------- src/bin/cook.rs | 12 ++++++++---- 3 files changed, 13 insertions(+), 21 deletions(-) diff --git a/fetch.sh b/fetch.sh index a6b7b67cf..dd7481ae8 100755 --- a/fetch.sh +++ b/fetch.sh @@ -6,10 +6,7 @@ source config.sh recipes="" for arg in "${@:1}" do - if [ "$arg" == "--nonstop" ] - then - set +e - elif [ "$arg" == "--offline" ] + if [ "$arg" == "--offline" ] then export COOKBOOK_OFFLINE="1" else @@ -17,7 +14,4 @@ do fi done -for recipe_name in $recipes -do - target/release/cook --fetch-only "$recipe_name" -done +target/release/cook --fetch-only $recipes diff --git a/repo.sh b/repo.sh index c0125c978..5e0f98810 100755 --- a/repo.sh +++ b/repo.sh @@ -12,15 +12,12 @@ do if [ "$arg" == "--appstream" ] then APPSTREAM="1" - elif [ "$arg" == "--debug" ] - then - DEBUG=--debug elif [ "$arg" == "--with-package-deps" ] then - COOK_OPT=--with-package-deps + COOK_OPT+=" --with-package-deps" elif [ "$arg" == "--nonstop" ] then - set +e + COOK_OPT+=" --nonstop" elif [ "$arg" == "--offline" ] then export COOKBOOK_OFFLINE="1" @@ -29,10 +26,7 @@ do fi done -for recipe in $recipes -do - target/release/cook $COOK_OPT "$recipe" -done +target/release/cook $COOK_OPT $recipes repo="$ROOT/repo/$TARGET" mkdir -p "$repo" diff --git a/src/bin/cook.rs b/src/bin/cook.rs index ca2e4484b..70a186a3f 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -928,7 +928,7 @@ EOF -Wno-dev \ "${COOKBOOK_CMAKE_FLAGS[@]}" \ "$@" - + "${COOKBOOK_NINJA}" -j"${COOKBOOK_MAKE_JOBS}" DESTDIR="${COOKBOOK_STAGE}" "${COOKBOOK_NINJA}" install -j"${COOKBOOK_MAKE_JOBS}" } @@ -996,7 +996,7 @@ function cookbook_meson { let post_script = r#"# Common post script # Strip binaries -for dir in "${COOKBOOK_STAGE}/bin" "${COOKBOOK_STAGE}/usr/bin" +for dir in "${COOKBOOK_STAGE}/bin" "${COOKBOOK_STAGE}/usr/bin" do if [ -d "${dir}" ] && [ -z "${COOKBOOK_NOSTRIP}" ] then @@ -1005,7 +1005,7 @@ do done # Remove libtool files -for dir in "${COOKBOOK_STAGE}/lib" "${COOKBOOK_STAGE}/usr/lib" +for dir in "${COOKBOOK_STAGE}/lib" "${COOKBOOK_STAGE}/usr/lib" do if [ -d "${dir}" ] then @@ -1282,6 +1282,7 @@ fn main() { let mut fetch_only = false; let mut with_package_deps = false; let mut quiet = false; + let mut nonstop = false; let mut recipe_names = Vec::new(); for arg in env::args().skip(1) { match arg.as_str() { @@ -1290,6 +1291,7 @@ fn main() { "--with-package-deps" if matching => with_package_deps = true, "--fetch-only" if matching => fetch_only = true, "-q" | "--quiet" if matching => quiet = true, + "--nonstop" => nonstop = true, _ => recipe_names.push(arg.try_into().expect("Invalid package name")), } } @@ -1370,7 +1372,9 @@ fn main() { style::Reset, err, ); - process::exit(1); + if !nonstop { + process::exit(1); + } } } } From 2e3c52d69a2b66c8e25a448bc37d53e91ab60f99 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 3 Sep 2025 10:22:16 +0700 Subject: [PATCH 010/182] Add neovim deps --- recipes/wip/libs/lua/lpeg/recipe.toml | 14 +++++++++ recipes/wip/libs/other/libtickit/recipe.toml | 12 +++++++- recipes/wip/libs/other/libvterm/recipe.toml | 10 ++++++- recipes/wip/libs/other/termcap/recipe.toml | 10 +++++-- .../wip/libs/other/tree-sitter/recipe.toml | 9 ++++++ recipes/wip/text/neovim/recipe.toml | 30 +++++-------------- 6 files changed, 58 insertions(+), 27 deletions(-) create mode 100644 recipes/wip/libs/lua/lpeg/recipe.toml create mode 100644 recipes/wip/libs/other/tree-sitter/recipe.toml diff --git a/recipes/wip/libs/lua/lpeg/recipe.toml b/recipes/wip/libs/lua/lpeg/recipe.toml new file mode 100644 index 000000000..2f9fd4132 --- /dev/null +++ b/recipes/wip/libs/lua/lpeg/recipe.toml @@ -0,0 +1,14 @@ +[source] +tar = "https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz" + +[build] +template = "custom" +dependencies = [ + "lua54", +] +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ +make linux +mkdir -p ${COOKBOOK_STAGE}/usr/lib +cp *.so ${COOKBOOK_STAGE}/usr/lib +""" \ No newline at end of file diff --git a/recipes/wip/libs/other/libtickit/recipe.toml b/recipes/wip/libs/other/libtickit/recipe.toml index bc3f10189..f20edf87f 100644 --- a/recipes/wip/libs/other/libtickit/recipe.toml +++ b/recipes/wip/libs/other/libtickit/recipe.toml @@ -1,5 +1,15 @@ #TODO missing script for building, see https://github.com/leonerd/libtickit [source] -tar = "https://www.leonerd.org.uk/code/libtickit/libtickit-0.4.3.tar.gz" +tar = "https://www.leonerd.org.uk/code/libtickit/libtickit-0.4.5.tar.gz" [build] template = "custom" +dependencies = [ + "ncursesw" +] +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install-inc install-lib DESTDIR="${COOKBOOK_STAGE}" +""" diff --git a/recipes/wip/libs/other/libvterm/recipe.toml b/recipes/wip/libs/other/libvterm/recipe.toml index cf68b3dce..4deb0f1dd 100644 --- a/recipes/wip/libs/other/libvterm/recipe.toml +++ b/recipes/wip/libs/other/libvterm/recipe.toml @@ -2,4 +2,12 @@ [source] tar = "https://launchpad.net/libvterm/trunk/v0.3/+download/libvterm-0.3.3.tar.gz" [build] -template = "configure" +template = "custom" +script = """ +DYNAMIC_INIT + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +${COOKBOOK_MAKE} -j ${COOKBOOK_MAKE_JOBS} install \ + PREFIX="${COOKBOOK_STAGE}" +""" diff --git a/recipes/wip/libs/other/termcap/recipe.toml b/recipes/wip/libs/other/termcap/recipe.toml index d63ea82f2..77eadc226 100644 --- a/recipes/wip/libs/other/termcap/recipe.toml +++ b/recipes/wip/libs/other/termcap/recipe.toml @@ -1,5 +1,11 @@ -#TODO non-sense "permission denied" error +#TODO need testing [source] tar = "https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz" [build] -template = "configure" +template = "custom" +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --prefix="${COOKBOOK_STAGE}/usr" +) +cookbook_configure +""" diff --git a/recipes/wip/libs/other/tree-sitter/recipe.toml b/recipes/wip/libs/other/tree-sitter/recipe.toml new file mode 100644 index 000000000..63295a445 --- /dev/null +++ b/recipes/wip/libs/other/tree-sitter/recipe.toml @@ -0,0 +1,9 @@ +[source] +tar = "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.25.8.tar.gz" + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +PACKAGE_PATH=cli cookbook_cargo +""" diff --git a/recipes/wip/text/neovim/recipe.toml b/recipes/wip/text/neovim/recipe.toml index 205af461b..abd43b7ba 100644 --- a/recipes/wip/text/neovim/recipe.toml +++ b/recipes/wip/text/neovim/recipe.toml @@ -1,29 +1,13 @@ #TODO probably wrong script, see https://github.com/neovim/neovim/wiki/Installing-Neovim#install-from-source [source] -git = "https://github.com/neovim/neovim" -rev = "d772f697a281ce9c58bf933997b87c7f27428a60" +tar = "https://github.com/neovim/neovim/archive/refs/tags/v0.11.3.tar.gz" + [build] -template = "custom" +template = "cmake" dependencies = [ - "luajit", - "gettext", - "less", + "lua54", + "libiconv", "libuv", - "libvterm", - "libtickit", + "luv", + "lpeg", ] -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From 20a523f414cd16483824135d6f58506478a7f639 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Wed, 3 Sep 2025 03:28:57 +0000 Subject: [PATCH 011/182] Port htop --- recipes/wip/monitors/htop/recipe.toml | 30 +++++++++++++++------------ 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/recipes/wip/monitors/htop/recipe.toml b/recipes/wip/monitors/htop/recipe.toml index 6116bcbc0..8730648ea 100644 --- a/recipes/wip/monitors/htop/recipe.toml +++ b/recipes/wip/monitors/htop/recipe.toml @@ -1,18 +1,22 @@ -#TODO compilation error -#TODO port to redox -#TODO make ncursesw work -# build instructions - https://github.com/htop-dev/htop#build-instructions +#TODO "unsupported architecture" [source] -tar = "https://github.com/htop-dev/htop/releases/download/3.3.0/htop-3.3.0.tar.xz" +git = "https://github.com/willnode/htop" +branch = "redox" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + [build] -template = "custom" +template = "configure" +configureflags = [ + "--disable-unicode", +] dependencies = [ "ncurses", ] -script = """ -export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" -COOKBOOK_CONFIGURE_FLAGS+=( - --disable-unicode -) -cookbook_configure -""" + +[package] +dependencies = [ + "terminfo" +] From 70fba227648048eab36c695495ad5fc67e8cbc5f Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Thu, 4 Sep 2025 11:48:00 +0000 Subject: [PATCH 012/182] Use fork instead --- recipes/wip/dev/lang/zig/01_redox.patch | 83 ------------------------- recipes/wip/dev/lang/zig/recipe.toml | 23 ++++--- 2 files changed, 14 insertions(+), 92 deletions(-) delete mode 100644 recipes/wip/dev/lang/zig/01_redox.patch diff --git a/recipes/wip/dev/lang/zig/01_redox.patch b/recipes/wip/dev/lang/zig/01_redox.patch deleted file mode 100644 index 093eb2f41..000000000 --- a/recipes/wip/dev/lang/zig/01_redox.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff -ruwN source/build.zig source-new/build.zig ---- source/build.zig 2025-05-23 11:31:41 -+++ source-new/build.zig 2025-08-04 17:06:57 -@@ -802,7 +802,7 @@ - try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); - try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes); - }, -- .haiku => { -+ .haiku, .redox => { - try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); - }, - else => {}, -diff -ruwN source/lib/std/Target.zig source-new/lib/std/Target.zig ---- source/lib/std/Target.zig 2025-05-23 11:31:41 -+++ source-new/lib/std/Target.zig 2025-08-04 16:59:08 -@@ -29,6 +29,7 @@ - hurd, - linux, - plan9, -+ redox, - rtems, - serenity, - zos, -@@ -904,6 +905,7 @@ - .fuchsia, - .hermit, - .plan9, -+ .redox, - .serenity, - .zos, - .dragonfly, -@@ -2435,6 +2437,16 @@ - else - "/usr", - }) else none, -+ -+ .redox => switch (cpu.arch) { -+ .x86, -+ => init("/usr/lib/ld.so.1"), -+ .aarch64, -+ .riscv64, -+ .x86_64, -+ => init("/usr/lib/ld64.so.1"), -+ else => none, -+ }, - - .freebsd => switch (cpu.arch) { - .arm, -diff -ruwN source/test/llvm_targets.zig source-new/test/llvm_targets.zig ---- source/test/llvm_targets.zig 2025-05-23 11:31:41 -+++ source-new/test/llvm_targets.zig 2025-08-04 17:02:56 -@@ -20,6 +20,7 @@ - .{ .cpu_arch = .aarch64, .os_tag = .macos, .abi = .none }, - .{ .cpu_arch = .aarch64, .os_tag = .netbsd, .abi = .none }, - .{ .cpu_arch = .aarch64, .os_tag = .openbsd, .abi = .none }, -+ .{ .cpu_arch = .aarch64, .os_tag = .redox, .abi = .none }, - .{ .cpu_arch = .aarch64, .os_tag = .rtems, .abi = .none }, - .{ .cpu_arch = .aarch64, .os_tag = .serenity, .abi = .none }, - .{ .cpu_arch = .aarch64, .os_tag = .tvos, .abi = .none }, -@@ -238,6 +239,7 @@ - .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .none }, - .{ .cpu_arch = .riscv64, .os_tag = .netbsd, .abi = .none }, - .{ .cpu_arch = .riscv64, .os_tag = .openbsd, .abi = .none }, -+ .{ .cpu_arch = .riscv64, .os_tag = .redox, .abi = .none }, - .{ .cpu_arch = .riscv64, .os_tag = .rtems, .abi = .none }, - .{ .cpu_arch = .riscv64, .os_tag = .serenity, .abi = .none }, - // .{ .cpu_arch = .riscv64, .os_tag = .uefi, .abi = .none }, -@@ -325,6 +327,7 @@ - .{ .cpu_arch = .x86, .os_tag = .linux, .abi = .none }, - .{ .cpu_arch = .x86, .os_tag = .netbsd, .abi = .none }, - .{ .cpu_arch = .x86, .os_tag = .openbsd, .abi = .none }, -+ .{ .cpu_arch = .x86, .os_tag = .redox, .abi = .none }, - .{ .cpu_arch = .x86, .os_tag = .rtems, .abi = .none }, - .{ .cpu_arch = .x86, .os_tag = .solaris, .abi = .none }, - .{ .cpu_arch = .x86, .os_tag = .uefi, .abi = .none }, -@@ -361,6 +364,7 @@ - .{ .cpu_arch = .x86_64, .os_tag = .macos, .abi = .none }, - .{ .cpu_arch = .x86_64, .os_tag = .netbsd, .abi = .none }, - .{ .cpu_arch = .x86_64, .os_tag = .openbsd, .abi = .none }, -+ .{ .cpu_arch = .x86_64, .os_tag = .redox, .abi = .none }, - .{ .cpu_arch = .x86_64, .os_tag = .rtems, .abi = .none }, - .{ .cpu_arch = .x86_64, .os_tag = .serenity, .abi = .none }, - .{ .cpu_arch = .x86_64, .os_tag = .solaris, .abi = .none }, diff --git a/recipes/wip/dev/lang/zig/recipe.toml b/recipes/wip/dev/lang/zig/recipe.toml index c88b9070f..f5103b296 100644 --- a/recipes/wip/dev/lang/zig/recipe.toml +++ b/recipes/wip/dev/lang/zig/recipe.toml @@ -1,16 +1,21 @@ -#TODO see https://github.com/ziglang/zig/wiki/Building-Zig-From-Source +#TODO requires openat functions and posix_getdents to compile [source] -tar = "https://ziglang.org/download/0.14.1/zig-0.14.1.tar.xz" -patches = [ - "01_redox.patch" -] +git = "https://github.com/willnode/zig" +branch = "zig-0.15-redox" [build] -dependencies = [ - "llvm18" # need lld -] template = "custom" script = """ DYNAMIC_INIT -cookbook_cmake +rsync -av --delete "${COOKBOOK_SOURCE}"/* ./ +export ZIG_BOOTSTRAP_CFLAGS="$CFLAGS" +export ZIG_BOOTSTRAP_LDFLAGS="$LDFLAGS" +export ZIG_BOOTSTRAP_TARGET_CC="${TARGET}-gcc" +export ZIG_HOST_TARGET_TRIPLE="${TARGET%%-*}-redox" +unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP +cc bootstrap.c -o ./bootstrap +./bootstrap + +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +cp -v "zig2" "${COOKBOOK_STAGE}/usr/bin/zig" """ From 5a666533304d5f6a6a002665c7ea435394b1de45 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Thu, 4 Sep 2025 19:41:36 -0300 Subject: [PATCH 013/182] Add recipes --- recipes/wip/demos/feoxdb/recipe.toml | 8 ++++++++ recipes/wip/demos/genpdf-rs/recipe.toml | 8 ++++++++ recipes/wip/demos/reticulum-rs/recipe.toml | 9 +++++++++ recipes/wip/monitors/socktop/recipe.toml | 8 ++++++++ recipes/wip/net/analysis/angryether-rs/recipe.toml | 5 +++++ recipes/wip/net/remote/bayesian-ssh/recipe.toml | 5 +++++ recipes/wip/net/server/feox-server/recipe.toml | 5 +++++ recipes/wip/office/doxx/recipe.toml | 5 +++++ recipes/wip/security/safecloset/recipe.toml | 5 +++++ recipes/wip/sound/jukebox-cli/recipe.toml | 5 +++++ recipes/wip/sys-info/ffetch/recipe.toml | 5 +++++ 11 files changed, 68 insertions(+) create mode 100644 recipes/wip/demos/feoxdb/recipe.toml create mode 100644 recipes/wip/demos/genpdf-rs/recipe.toml create mode 100644 recipes/wip/demos/reticulum-rs/recipe.toml create mode 100644 recipes/wip/monitors/socktop/recipe.toml create mode 100644 recipes/wip/net/analysis/angryether-rs/recipe.toml create mode 100644 recipes/wip/net/remote/bayesian-ssh/recipe.toml create mode 100644 recipes/wip/net/server/feox-server/recipe.toml create mode 100644 recipes/wip/office/doxx/recipe.toml create mode 100644 recipes/wip/security/safecloset/recipe.toml create mode 100644 recipes/wip/sound/jukebox-cli/recipe.toml create mode 100644 recipes/wip/sys-info/ffetch/recipe.toml diff --git a/recipes/wip/demos/feoxdb/recipe.toml b/recipes/wip/demos/feoxdb/recipe.toml new file mode 100644 index 000000000..84b8e46c4 --- /dev/null +++ b/recipes/wip/demos/feoxdb/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mehrantsi/FeOxDB" +[build] +template = "custom" +script = """ +cookbook_cargo_examples basic_usage deterministic_test +""" diff --git a/recipes/wip/demos/genpdf-rs/recipe.toml b/recipes/wip/demos/genpdf-rs/recipe.toml new file mode 100644 index 000000000..20fc1c827 --- /dev/null +++ b/recipes/wip/demos/genpdf-rs/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://git.sr.ht/~ireas/genpdf-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_examples demo +""" diff --git a/recipes/wip/demos/reticulum-rs/recipe.toml b/recipes/wip/demos/reticulum-rs/recipe.toml new file mode 100644 index 000000000..f4064148a --- /dev/null +++ b/recipes/wip/demos/reticulum-rs/recipe.toml @@ -0,0 +1,9 @@ +#TODO not compiled or tested +# the protobuf compiler needs to be installed +[source] +git = "https://github.com/BeechatNetworkSystemsLtd/Reticulum-rs" +[build] +template = "custom" +script = """ +cookbook_cargo_examples tcp_client kaonic_client +""" diff --git a/recipes/wip/monitors/socktop/recipe.toml b/recipes/wip/monitors/socktop/recipe.toml new file mode 100644 index 000000000..ab499e0e9 --- /dev/null +++ b/recipes/wip/monitors/socktop/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/jasonwitty/socktop" +[build] +template = "custom" +script = """ +cookbook_cargo_packages socktop socktop_agent +""" diff --git a/recipes/wip/net/analysis/angryether-rs/recipe.toml b/recipes/wip/net/analysis/angryether-rs/recipe.toml new file mode 100644 index 000000000..e780647da --- /dev/null +++ b/recipes/wip/net/analysis/angryether-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/pg3uk/AngryEtherRust" +[build] +template = "cargo" diff --git a/recipes/wip/net/remote/bayesian-ssh/recipe.toml b/recipes/wip/net/remote/bayesian-ssh/recipe.toml new file mode 100644 index 000000000..2b0c18fcf --- /dev/null +++ b/recipes/wip/net/remote/bayesian-ssh/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/abdoufermat5/bayesian-ssh" +[build] +template = "cargo" diff --git a/recipes/wip/net/server/feox-server/recipe.toml b/recipes/wip/net/server/feox-server/recipe.toml new file mode 100644 index 000000000..c2aa744df --- /dev/null +++ b/recipes/wip/net/server/feox-server/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mehrantsi/feox-server" +[build] +template = "cargo" diff --git a/recipes/wip/office/doxx/recipe.toml b/recipes/wip/office/doxx/recipe.toml new file mode 100644 index 000000000..4375cd1e9 --- /dev/null +++ b/recipes/wip/office/doxx/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bgreenwell/doxx" +[build] +template = "cargo" diff --git a/recipes/wip/security/safecloset/recipe.toml b/recipes/wip/security/safecloset/recipe.toml new file mode 100644 index 000000000..4617d7afc --- /dev/null +++ b/recipes/wip/security/safecloset/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Canop/safecloset" +[build] +template = "cargo" diff --git a/recipes/wip/sound/jukebox-cli/recipe.toml b/recipes/wip/sound/jukebox-cli/recipe.toml new file mode 100644 index 000000000..f47b45106 --- /dev/null +++ b/recipes/wip/sound/jukebox-cli/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/FedeCarollo/jukebox-cli" +[build] +template = "cargo" diff --git a/recipes/wip/sys-info/ffetch/recipe.toml b/recipes/wip/sys-info/ffetch/recipe.toml new file mode 100644 index 000000000..8b23aada9 --- /dev/null +++ b/recipes/wip/sys-info/ffetch/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/0l3d/ffetch" +[build] +template = "cargo" From 04d88c61097a309afef69bc900930f6ebdfb0f13 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 2 Sep 2025 21:30:57 +0200 Subject: [PATCH 014/182] Replace COOKBOOK_OFFLINE with --offline --- fetch.sh | 13 +------------ repo.sh | 2 +- src/bin/cook.rs | 12 ++++++++++-- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/fetch.sh b/fetch.sh index dd7481ae8..2a1e87a99 100755 --- a/fetch.sh +++ b/fetch.sh @@ -3,15 +3,4 @@ set -e source config.sh -recipes="" -for arg in "${@:1}" -do - if [ "$arg" == "--offline" ] - then - export COOKBOOK_OFFLINE="1" - else - recipes+=" $arg" - fi -done - -target/release/cook --fetch-only $recipes +target/release/cook --fetch-only ${@:1} diff --git a/repo.sh b/repo.sh index 5e0f98810..5fc214215 100755 --- a/repo.sh +++ b/repo.sh @@ -20,7 +20,7 @@ do COOK_OPT+=" --nonstop" elif [ "$arg" == "--offline" ] then - export COOKBOOK_OFFLINE="1" + COOK_OPT+=" --offline" else recipes+=" $arg" fi diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 70a186a3f..7b3f291ab 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -1237,12 +1237,12 @@ fn cook( name: &PackageName, recipe: &Recipe, fetch_only: bool, + is_offline: bool, ) -> Result<(), String> { if recipe.build.kind == BuildKind::None { return cook_meta(recipe_dir, name, recipe, fetch_only); } - let is_offline = env::var("COOKBOOK_OFFLINE").unwrap_or("".to_string()) == "1"; let source_dir = match is_offline { true => fetch_offline(recipe_dir, &recipe.source), false => fetch(recipe_dir, &recipe.source), @@ -1283,6 +1283,7 @@ fn main() { let mut with_package_deps = false; let mut quiet = false; let mut nonstop = false; + let mut is_offline = false; let mut recipe_names = Vec::new(); for arg in env::args().skip(1) { match arg.as_str() { @@ -1292,6 +1293,7 @@ fn main() { "--fetch-only" if matching => fetch_only = true, "-q" | "--quiet" if matching => quiet = true, "--nonstop" => nonstop = true, + "--offline" => is_offline = true, _ => recipe_names.push(arg.try_into().expect("Invalid package name")), } } @@ -1346,7 +1348,13 @@ fn main() { } Ok(()) } else { - cook(&recipe.dir, &recipe.name, &recipe.recipe, fetch_only) + cook( + &recipe.dir, + &recipe.name, + &recipe.recipe, + fetch_only, + is_offline, + ) }; match res { From 9a40987f616ece3c52fcfe48c0ab51738de4e49b Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Tue, 2 Sep 2025 21:37:38 +0200 Subject: [PATCH 015/182] Use LF as line ending in repo_builder.rs --- src/bin/repo_builder.rs | 328 ++++++++++++++++++++-------------------- 1 file changed, 164 insertions(+), 164 deletions(-) diff --git a/src/bin/repo_builder.rs b/src/bin/repo_builder.rs index 6a7a8a35d..4af35624c 100644 --- a/src/bin/repo_builder.rs +++ b/src/bin/repo_builder.rs @@ -1,164 +1,164 @@ -use pkg::recipes; -use std::collections::{BTreeMap, HashMap}; -use std::env; -use std::fs::{self, File}; -use std::io::{Read, Write}; -use std::path::{Path, PathBuf}; -use std::process::Command; -use toml::Value; - -fn is_newer(src: &Path, dst: &Path) -> bool { - match (fs::metadata(src), fs::metadata(dst)) { - (Ok(src_meta), Ok(dst_meta)) => match (src_meta.modified(), dst_meta.modified()) { - (Ok(src_time), Ok(dst_time)) => src_time > dst_time, - (Ok(_), Err(_)) => true, - _ => false, - }, - (Ok(_), Err(_)) => true, - _ => false, - } -} - -fn main() -> Result<(), Box> { - let mut args = env::args().skip(1); - let repo_dir = args - .next() - .expect("Usage: repo_builder ..."); - let recipe_list: Vec = args.collect(); - let repo_path = Path::new(&repo_dir); - - let mut appstream_sources: HashMap = HashMap::new(); - let mut packages: BTreeMap = BTreeMap::new(); - - // === 1. Push recipes in list === - for recipe in &recipe_list { - let Some(recipe_path) = recipes::find(recipe) else { - eprintln!("recipe {} not found", recipe); - continue; - }; - - let cookbook_recipe = Path::new(&recipe_path); - let target = env::var("TARGET").unwrap_or_else(|_| "x86_64-unknown-linux-gnu".into()); - let stage_dir = cookbook_recipe.join("target").join(&target).join("stage"); - - let pkgar_src = stage_dir.with_extension("pkgar"); - let pkgar_dst = repo_path.join(format!("{}.pkgar", recipe)); - let toml_src = stage_dir.with_extension("toml"); - let toml_dst = repo_path.join(format!("{}.toml", recipe)); - - if is_newer(&toml_src, &toml_dst) { - eprintln!("\x1b[01;38;5;155mrepo - publishing {}\x1b[0m", recipe); - if fs::exists(&pkgar_src)? { - fs::copy(&pkgar_src, &pkgar_dst)?; - } - fs::copy(&toml_src, &toml_dst)?; - } - - if stage_dir.join("usr/share/metainfo").exists() { - appstream_sources.insert(recipe.clone(), stage_dir.clone()); - } - } - - // === 2. Optional AppStream generation === - if env::var("APPSTREAM").ok().as_deref() == Some("1") { - eprintln!("\x1b[01;38;5;155mrepo - generating appstream data\x1b[0m"); - - let root = env::var("ROOT").unwrap_or_else(|_| ".".into()); - let target = env::var("TARGET").unwrap_or_else(|_| "x86_64-unknown-linux-gnu".into()); - let appstream_root = Path::new(&root) - .join("build") - .join(&target) - .join("appstream"); - let appstream_pkg = repo_path.join("appstream.pkgar"); - - fs::remove_dir_all(&appstream_root).ok(); - fs::remove_file(&appstream_pkg).ok(); - fs::create_dir_all(&appstream_root)?; - - if !appstream_sources.is_empty() { - let mut compose_cmd = Command::new("appstreamcli"); - compose_cmd - .arg("compose") - .arg("--origin=pkgar") - .arg(format!("--result-root={}", appstream_root.display())); - - for (_recipe, source_path) in &appstream_sources { - compose_cmd.arg(source_path); - } - - compose_cmd - .status()? - .success() - .then_some(()) - .ok_or("appstreamcli failed")?; - - Command::new("pkgar") - .arg("create") - .arg("--archive") - .arg(&appstream_pkg) - .arg("--skey") - .arg(format!("{}/build/id_ed25519.toml", root)) - .arg(&appstream_root) - .status()? - .success() - .then_some(()) - .ok_or("pkgar create failed")?; - } - } - - eprintln!("\x1b[01;38;5;155mrepo - generating repo.toml\x1b[0m"); - - // === 3. Read and update repo.toml === - let repo_toml_path = repo_path.join("repo.toml"); - if repo_toml_path.exists() { - let mut file = File::open(&repo_toml_path)?; - let mut contents = String::new(); - file.read_to_string(&mut contents)?; - - let parsed: Value = toml::from_str(&contents)?; - if let Some(pkg_table) = parsed.get("packages").and_then(|v| v.as_table()) { - for (k, v) in pkg_table { - if let Some(s) = v.as_str() { - packages.insert(k.clone(), format!("\"{}\"", s)); - } else { - packages.insert(k.clone(), v.to_string()); - } - } - } - } - - for entry in fs::read_dir(&repo_path)? { - let entry = entry?; - let path = entry.path(); - - if path.extension().and_then(|s| s.to_str()) != Some("toml") { - continue; - } - - if path.file_stem().and_then(|s| s.to_str()) == Some("repo") { - continue; - } - - let content = fs::read_to_string(&path)?; - let parsed: Value = toml::from_str(&content)?; - - if let Some(version_val) = parsed.get("version") { - let version_str = version_val.to_string(); // includes quotes - let package_name = path.file_stem().unwrap().to_string_lossy().to_string(); - packages.insert(package_name, version_str); - } else { - eprintln!("Warning: no [version] found in {:?}", path); - } - } - - // FIXME: Use proper TOML serializer - let mut output = String::from("[packages]\n"); - for (name, version) in &packages { - output.push_str(&format!("{name} = {version}\n")); - } - - let mut output_file = File::create(&repo_toml_path)?; - output_file.write_all(output.as_bytes())?; - - Ok(()) -} +use pkg::recipes; +use std::collections::{BTreeMap, HashMap}; +use std::env; +use std::fs::{self, File}; +use std::io::{Read, Write}; +use std::path::{Path, PathBuf}; +use std::process::Command; +use toml::Value; + +fn is_newer(src: &Path, dst: &Path) -> bool { + match (fs::metadata(src), fs::metadata(dst)) { + (Ok(src_meta), Ok(dst_meta)) => match (src_meta.modified(), dst_meta.modified()) { + (Ok(src_time), Ok(dst_time)) => src_time > dst_time, + (Ok(_), Err(_)) => true, + _ => false, + }, + (Ok(_), Err(_)) => true, + _ => false, + } +} + +fn main() -> Result<(), Box> { + let mut args = env::args().skip(1); + let repo_dir = args + .next() + .expect("Usage: repo_builder ..."); + let recipe_list: Vec = args.collect(); + let repo_path = Path::new(&repo_dir); + + let mut appstream_sources: HashMap = HashMap::new(); + let mut packages: BTreeMap = BTreeMap::new(); + + // === 1. Push recipes in list === + for recipe in &recipe_list { + let Some(recipe_path) = recipes::find(recipe) else { + eprintln!("recipe {} not found", recipe); + continue; + }; + + let cookbook_recipe = Path::new(&recipe_path); + let target = env::var("TARGET").unwrap_or_else(|_| "x86_64-unknown-linux-gnu".into()); + let stage_dir = cookbook_recipe.join("target").join(&target).join("stage"); + + let pkgar_src = stage_dir.with_extension("pkgar"); + let pkgar_dst = repo_path.join(format!("{}.pkgar", recipe)); + let toml_src = stage_dir.with_extension("toml"); + let toml_dst = repo_path.join(format!("{}.toml", recipe)); + + if is_newer(&toml_src, &toml_dst) { + eprintln!("\x1b[01;38;5;155mrepo - publishing {}\x1b[0m", recipe); + if fs::exists(&pkgar_src)? { + fs::copy(&pkgar_src, &pkgar_dst)?; + } + fs::copy(&toml_src, &toml_dst)?; + } + + if stage_dir.join("usr/share/metainfo").exists() { + appstream_sources.insert(recipe.clone(), stage_dir.clone()); + } + } + + // === 2. Optional AppStream generation === + if env::var("APPSTREAM").ok().as_deref() == Some("1") { + eprintln!("\x1b[01;38;5;155mrepo - generating appstream data\x1b[0m"); + + let root = env::var("ROOT").unwrap_or_else(|_| ".".into()); + let target = env::var("TARGET").unwrap_or_else(|_| "x86_64-unknown-linux-gnu".into()); + let appstream_root = Path::new(&root) + .join("build") + .join(&target) + .join("appstream"); + let appstream_pkg = repo_path.join("appstream.pkgar"); + + fs::remove_dir_all(&appstream_root).ok(); + fs::remove_file(&appstream_pkg).ok(); + fs::create_dir_all(&appstream_root)?; + + if !appstream_sources.is_empty() { + let mut compose_cmd = Command::new("appstreamcli"); + compose_cmd + .arg("compose") + .arg("--origin=pkgar") + .arg(format!("--result-root={}", appstream_root.display())); + + for (_recipe, source_path) in &appstream_sources { + compose_cmd.arg(source_path); + } + + compose_cmd + .status()? + .success() + .then_some(()) + .ok_or("appstreamcli failed")?; + + Command::new("pkgar") + .arg("create") + .arg("--archive") + .arg(&appstream_pkg) + .arg("--skey") + .arg(format!("{}/build/id_ed25519.toml", root)) + .arg(&appstream_root) + .status()? + .success() + .then_some(()) + .ok_or("pkgar create failed")?; + } + } + + eprintln!("\x1b[01;38;5;155mrepo - generating repo.toml\x1b[0m"); + + // === 3. Read and update repo.toml === + let repo_toml_path = repo_path.join("repo.toml"); + if repo_toml_path.exists() { + let mut file = File::open(&repo_toml_path)?; + let mut contents = String::new(); + file.read_to_string(&mut contents)?; + + let parsed: Value = toml::from_str(&contents)?; + if let Some(pkg_table) = parsed.get("packages").and_then(|v| v.as_table()) { + for (k, v) in pkg_table { + if let Some(s) = v.as_str() { + packages.insert(k.clone(), format!("\"{}\"", s)); + } else { + packages.insert(k.clone(), v.to_string()); + } + } + } + } + + for entry in fs::read_dir(&repo_path)? { + let entry = entry?; + let path = entry.path(); + + if path.extension().and_then(|s| s.to_str()) != Some("toml") { + continue; + } + + if path.file_stem().and_then(|s| s.to_str()) == Some("repo") { + continue; + } + + let content = fs::read_to_string(&path)?; + let parsed: Value = toml::from_str(&content)?; + + if let Some(version_val) = parsed.get("version") { + let version_str = version_val.to_string(); // includes quotes + let package_name = path.file_stem().unwrap().to_string_lossy().to_string(); + packages.insert(package_name, version_str); + } else { + eprintln!("Warning: no [version] found in {:?}", path); + } + } + + // FIXME: Use proper TOML serializer + let mut output = String::from("[packages]\n"); + for (name, version) in &packages { + output.push_str(&format!("{name} = {version}\n")); + } + + let mut output_file = File::create(&repo_toml_path)?; + output_file.write_all(output.as_bytes())?; + + Ok(()) +} From ee25a707f83dce0afbc856e067dd65a80a4501a5 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Wed, 3 Sep 2025 18:22:41 +0200 Subject: [PATCH 016/182] Remove pkg_deps binary --- repo.sh | 7 ------- src/bin/pkg_deps.rs | 22 ---------------------- src/bin/repo_builder.rs | 17 +++++++++++++++-- 3 files changed, 15 insertions(+), 31 deletions(-) delete mode 100644 src/bin/pkg_deps.rs diff --git a/repo.sh b/repo.sh index 5fc214215..f24580057 100755 --- a/repo.sh +++ b/repo.sh @@ -31,11 +31,4 @@ target/release/cook $COOK_OPT $recipes repo="$ROOT/repo/$TARGET" mkdir -p "$repo" -# Runtime dependencies include both `[package.dependencies]` and dynamically -# linked packages discovered by auto_deps. -# -# The following adds the package dependencies of the recipes to the repo as -# well. -recipes="$recipes $(target/release/pkg_deps $recipes)" - target/release/repo_builder "$repo" $recipes diff --git a/src/bin/pkg_deps.rs b/src/bin/pkg_deps.rs deleted file mode 100644 index 4fddb79d9..000000000 --- a/src/bin/pkg_deps.rs +++ /dev/null @@ -1,22 +0,0 @@ -use std::env::args; - -use pkg::{ - package::{Package, PackageError}, - PackageName, -}; - -use cookbook::WALK_DEPTH; - -fn main() -> Result<(), PackageError> { - let names: Vec = args() - .skip(1) - .map(PackageName::new) - .collect::>()?; - - let packages = Package::new_recursive(&names, WALK_DEPTH)?; - for package in packages { - println!("{}", package.name); - } - - Ok(()) -} diff --git a/src/bin/repo_builder.rs b/src/bin/repo_builder.rs index 4af35624c..d903bfd13 100644 --- a/src/bin/repo_builder.rs +++ b/src/bin/repo_builder.rs @@ -1,4 +1,5 @@ -use pkg::recipes; +use cookbook::WALK_DEPTH; +use pkg::{recipes, Package, PackageName}; use std::collections::{BTreeMap, HashMap}; use std::env; use std::fs::{self, File}; @@ -24,9 +25,21 @@ fn main() -> Result<(), Box> { let repo_dir = args .next() .expect("Usage: repo_builder ..."); - let recipe_list: Vec = args.collect(); let repo_path = Path::new(&repo_dir); + // Runtime dependencies include both `[package.dependencies]` and dynamically + // linked packages discovered by auto_deps. + // + // The following adds the package dependencies of the recipes to the repo as + // well. + let recipe_list = Package::new_recursive( + &args.map(PackageName::new).collect::, _>>()?, + WALK_DEPTH, + )? + .into_iter() + .map(|pkg| pkg.name.as_str().to_owned()) + .collect::>(); + let mut appstream_sources: HashMap = HashMap::new(); let mut packages: BTreeMap = BTreeMap::new(); From 5dc9b3a5933c4f125c2a85df0dc0aafe7208003f Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sat, 6 Sep 2025 17:58:56 +0000 Subject: [PATCH 017/182] OpenSSH daemon support --- recipes/wip/ssh/openssh/recipe.toml | 31 +- recipes/wip/ssh/openssh/redox.patch | 424 +++++++++++++++++++++++++++- 2 files changed, 437 insertions(+), 18 deletions(-) diff --git a/recipes/wip/ssh/openssh/recipe.toml b/recipes/wip/ssh/openssh/recipe.toml index 26ed0f91f..85798b1df 100644 --- a/recipes/wip/ssh/openssh/recipe.toml +++ b/recipes/wip/ssh/openssh/recipe.toml @@ -1,6 +1,7 @@ -#TODO compiled but not tested -#TODO lack of utmpx.h and resolv.h, expect dns not working -#TODO maybe actually implement utmpx.h in relibc? +#TODO lack of resolv.h, expect dns not working +#TODO lack of utmpx.h, expect no way to track login in sshd +#TODO lack of an equivalent to shadow.h, expect sshd password not working +#TODO lack of openssl support, use only ssh-keygen from redox [source] tar = "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz" patches = [ @@ -9,12 +10,34 @@ patches = [ [build] template = "custom" dependencies = [ - "openssl1", "zlib", ] script = """ DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( + --disable-strip +# requires openssl 1.1.1, result in libcrypto error otherwise + --without-openssl +) cookbook_configure mv "${COOKBOOK_STAGE}"/usr/sbin/sshd "${COOKBOOK_STAGE}"/usr/bin/sshd rmdir "${COOKBOOK_STAGE}"/usr/sbin + +# Extracted from `make host-key-force` +# TODO: Very insecure! but there's no postscript yet +ssh-keygen -t dsa -f "${COOKBOOK_STAGE}"/usr/etc/ssh_host_dsa_key -N "" +ssh-keygen -t rsa -f "${COOKBOOK_STAGE}"/usr/etc/ssh_host_rsa_key -N "" +ssh-keygen -t ed25519 -f "${COOKBOOK_STAGE}"/usr/etc/ssh_host_ed25519_key -N "" +ssh-keygen -t ecdsa -f "${COOKBOOK_STAGE}"/usr/etc/ssh_host_ecdsa_key -N "" + +# The config can be found here, not /etc +CONFIG_FILE="${COOKBOOK_STAGE}"/usr/etc/sshd_config +sed -i "s/#LogLevel INFO/LogLevel DEBUG3/g" "${CONFIG_FILE}" + +# ipv6 is not working yet +sed -i "s/#AddressFamily any/AddressFamily inet/g" "${CONFIG_FILE}" +# hardcoded to 0.0.0.0 in patches +sed -i "s/#ListenAddress 0.0.0.0/ListenAddress 0.0.0.0/g" "${CONFIG_FILE}" +# will never work +sed -i "s/#PasswordAuthentication yes/PasswordAuthentication no/g" "${CONFIG_FILE}" """ diff --git a/recipes/wip/ssh/openssh/redox.patch b/recipes/wip/ssh/openssh/redox.patch index e1b43cae3..153e9cda2 100644 --- a/recipes/wip/ssh/openssh/redox.patch +++ b/recipes/wip/ssh/openssh/redox.patch @@ -1,6 +1,20 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/configure 2025-09-06 23:54:58.147442355 +0700 +@@ -12606,6 +12606,10 @@ + printf "%s\n" "#define BROKEN_POLL 1" >>confdefs.h + + ;; ++*-*-redox) ++ ++ # todo ++ ;; + mips-sony-bsd|mips-sony-newsos4) + + printf "%s\n" "#define NEED_SETPGRP 1" >>confdefs.h diff -ruwN source/defines.h source-new/defines.h --- source/defines.h 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/defines.h 2025-08-20 13:37:45.820728226 +0700 ++++ source-new/defines.h 2025-09-06 21:22:46.327552147 +0700 @@ -52,6 +52,18 @@ #define IPPORT_RESERVED 0 #endif @@ -49,9 +63,14 @@ diff -ruwN source/defines.h source-new/defines.h /* Define this to be the path of the xauth program. */ #ifdef XAUTH_PATH #define _PATH_XAUTH XAUTH_PATH +@@ -943,3 +957,4 @@ + # define USE_SNTRUP761X25519 1 + #endif + #endif /* _DEFINES_H */ ++ diff -ruwN source/hostfile.c source-new/hostfile.c --- source/hostfile.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/hostfile.c 2025-08-20 11:51:28.964103232 +0700 ++++ source-new/hostfile.c 2025-09-06 21:09:36.555438339 +0700 @@ -44,7 +44,9 @@ #include @@ -64,7 +83,7 @@ diff -ruwN source/hostfile.c source-new/hostfile.c #include diff -ruwN source/loginrec.c source-new/loginrec.c --- source/loginrec.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/loginrec.c 2025-08-20 13:43:02.970560664 +0700 ++++ source-new/loginrec.c 2025-09-06 21:09:36.556438304 +0700 @@ -1033,7 +1033,7 @@ return (0); } @@ -76,7 +95,7 @@ diff -ruwN source/loginrec.c source-new/loginrec.c } diff -ruwN source/loginrec.h source-new/loginrec.h --- source/loginrec.h 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/loginrec.h 2025-08-20 13:39:08.570682776 +0700 ++++ source-new/loginrec.h 2025-09-06 21:09:36.556438304 +0700 @@ -30,6 +30,7 @@ **/ @@ -85,9 +104,56 @@ diff -ruwN source/loginrec.h source-new/loginrec.h struct ssh; +diff -ruwN source/misc.c source-new/misc.c +--- source/misc.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/misc.c 2025-09-06 21:09:36.556438304 +0700 +@@ -2843,7 +2843,7 @@ + error("%s: dup2: %s", tag, strerror(errno)); + _exit(1); + } +- closefrom(STDERR_FILENO + 1); ++ // closefrom(STDERR_FILENO + 1); + + if (geteuid() == 0 && + initgroups(pw->pw_name, pw->pw_gid) == -1) { +diff -ruwN source/monitor.c source-new/monitor.c +--- source/monitor.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/monitor.c 2025-09-07 00:46:23.435378053 +0700 +@@ -484,18 +484,19 @@ + pfd[0].events = POLLIN; + pfd[1].fd = pmonitor->m_log_recvfd; + pfd[1].events = pfd[1].fd == -1 ? 0 : POLLIN; +- if (poll(pfd, pfd[1].fd == -1 ? 1 : 2, -1) == -1) { ++ // redox can't handle timeout -1 (the poll stuck) ++ if (poll(pfd, pfd[1].fd == -1 ? 1 : 2, 1000) == -1) { + if (errno == EINTR || errno == EAGAIN) + continue; + fatal_f("poll: %s", strerror(errno)); + } + if (pfd[1].revents) { ++ + /* + * Drain all log messages before processing next + * monitor request. + */ + monitor_read_log(pmonitor); +- continue; + } + if (pfd[0].revents) + break; /* Continues below */ +@@ -1577,7 +1578,8 @@ + res = pty_allocate(&s->ptyfd, &s->ttyfd, s->tty, sizeof(s->tty)); + if (res == 0) + goto error; +- pty_setowner(authctxt->pw, s->tty); ++ // non sense in redox ++ // pty_setowner(authctxt->pw, s->tty); + + if ((r = sshbuf_put_u32(m, 1)) != 0 || + (r = sshbuf_put_cstring(m, s->tty)) != 0) diff -ruwN source/openbsd-compat/bsd-statvfs.h source-new/openbsd-compat/bsd-statvfs.h --- source/openbsd-compat/bsd-statvfs.h 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/openbsd-compat/bsd-statvfs.h 2025-08-20 13:37:42.000730245 +0700 ++++ source-new/openbsd-compat/bsd-statvfs.h 2025-09-06 21:09:36.556438304 +0700 @@ -37,13 +37,6 @@ typedef unsigned long fsfilcnt_t; #endif @@ -104,7 +170,7 @@ diff -ruwN source/openbsd-compat/bsd-statvfs.h source-new/openbsd-compat/bsd-sta unsigned long f_bsize; /* File system block size. */ diff -ruwN source/openbsd-compat/getrrsetbyname.c source-new/openbsd-compat/getrrsetbyname.c --- source/openbsd-compat/getrrsetbyname.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/openbsd-compat/getrrsetbyname.c 2025-08-20 13:51:15.020299084 +0700 ++++ source-new/openbsd-compat/getrrsetbyname.c 2025-09-06 21:09:36.556438304 +0700 @@ -67,6 +67,52 @@ #endif #define _THREAD_PRIVATE(a,b,c) (c) @@ -232,7 +298,7 @@ diff -ruwN source/openbsd-compat/getrrsetbyname.c source-new/openbsd-compat/getr free_dns_rr(head); diff -ruwN source/openbsd-compat/getrrsetbyname.h source-new/openbsd-compat/getrrsetbyname.h --- source/openbsd-compat/getrrsetbyname.h 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/openbsd-compat/getrrsetbyname.h 2025-08-20 11:51:00.744118526 +0700 ++++ source-new/openbsd-compat/getrrsetbyname.h 2025-09-06 21:09:36.557438268 +0700 @@ -54,9 +54,13 @@ #include @@ -249,7 +315,7 @@ diff -ruwN source/openbsd-compat/getrrsetbyname.h source-new/openbsd-compat/getr #define HFIXEDSZ 12 diff -ruwN source/openbsd-compat/inet_ntop.c source-new/openbsd-compat/inet_ntop.c --- source/openbsd-compat/inet_ntop.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/openbsd-compat/inet_ntop.c 2025-08-20 11:39:15.244488902 +0700 ++++ source-new/openbsd-compat/inet_ntop.c 2025-09-06 21:09:36.557438268 +0700 @@ -26,7 +26,9 @@ #include #include @@ -262,7 +328,7 @@ diff -ruwN source/openbsd-compat/inet_ntop.c source-new/openbsd-compat/inet_ntop #include diff -ruwN source/openbsd-compat/openbsd-compat.h source-new/openbsd-compat/openbsd-compat.h --- source/openbsd-compat/openbsd-compat.h 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/openbsd-compat/openbsd-compat.h 2025-08-20 13:15:22.721439992 +0700 ++++ source-new/openbsd-compat/openbsd-compat.h 2025-09-06 21:09:36.557438268 +0700 @@ -36,6 +36,8 @@ #include /* for wchar_t */ @@ -274,7 +340,7 @@ diff -ruwN source/openbsd-compat/openbsd-compat.h source-new/openbsd-compat/open #include "sigact.h" diff -ruwN source/openbsd-compat/utmpx.c source-new/openbsd-compat/utmpx.c --- source/openbsd-compat/utmpx.c 1970-01-01 07:00:00.000000000 +0700 -+++ source-new/openbsd-compat/utmpx.c 2025-08-20 13:13:54.971486065 +0700 ++++ source-new/openbsd-compat/utmpx.c 2025-09-06 21:09:36.557438268 +0700 @@ -0,0 +1,13 @@ +#include "utmpx.h" +#include // For NULL @@ -292,7 +358,7 @@ diff -ruwN source/openbsd-compat/utmpx.c source-new/openbsd-compat/utmpx.c \ No newline at end of file diff -ruwN source/openbsd-compat/utmpx.h source-new/openbsd-compat/utmpx.h --- source/openbsd-compat/utmpx.h 1970-01-01 07:00:00.000000000 +0700 -+++ source-new/openbsd-compat/utmpx.h 2025-08-20 13:13:07.201511825 +0700 ++++ source-new/openbsd-compat/utmpx.h 2025-09-06 21:09:36.557438268 +0700 @@ -0,0 +1,69 @@ +#ifndef _COMPAT_UTMPX_H +#define _COMPAT_UTMPX_H @@ -364,9 +430,54 @@ diff -ruwN source/openbsd-compat/utmpx.h source-new/openbsd-compat/utmpx.h +#endif /* __redox__ */ +#endif /* _COMPAT_UTMPX_H */ \ No newline at end of file +diff -ruwN source/pathnames.h source-new/pathnames.h +--- source/pathnames.h 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/pathnames.h 2025-09-06 21:09:36.557438268 +0700 +@@ -12,7 +12,7 @@ + * called by a name other than "ssh" or "Secure Shell". + */ + +-#define ETCDIR "/etc" ++#define ETCDIR "/usr/etc" + + #ifndef SSHDIR + #define SSHDIR ETCDIR "/ssh" +@@ -166,7 +166,7 @@ + + /* chroot directory for unprivileged user when UsePrivilegeSeparation=yes */ + #ifndef _PATH_PRIVSEP_CHROOT_DIR +-#define _PATH_PRIVSEP_CHROOT_DIR "/var/empty" ++#define _PATH_PRIVSEP_CHROOT_DIR "/usr/var/empty" + #endif + + /* for passwd change */ +diff -ruwN source/readconf.c source-new/readconf.c +--- source/readconf.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/readconf.c 2025-09-06 21:09:36.558438233 +0700 +@@ -554,7 +554,7 @@ + + if (stdfd_devnull(1, 1, 0) == -1) + fatal_f("stdfd_devnull failed"); +- closefrom(STDERR_FILENO + 1); ++ // closefrom(STDERR_FILENO + 1); + + argv[0] = shell; + argv[1] = "-c"; +diff -ruwN source/readpass.c source-new/readpass.c +--- source/readpass.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/readpass.c 2025-09-06 21:09:36.558438233 +0700 +@@ -278,7 +278,7 @@ + if (pid == 0) { + if (stdfd_devnull(1, 1, 0) == -1) + fatal_f("stdfd_devnull failed"); +- closefrom(STDERR_FILENO + 1); ++ // closefrom(STDERR_FILENO + 1); + setenv("SSH_ASKPASS_PROMPT", "none", 1); /* hint to UI */ + execlp(askpass, askpass, prompt, (char *)NULL); + error_f("exec(%s): %s", askpass, strerror(errno)); diff -ruwN source/regress/netcat.c source-new/regress/netcat.c --- source/regress/netcat.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/regress/netcat.c 2025-08-20 11:50:49.164126484 +0700 ++++ source-new/regress/netcat.c 2025-09-06 21:09:36.558438233 +0700 @@ -1384,7 +1384,9 @@ #include #include @@ -377,9 +488,87 @@ diff -ruwN source/regress/netcat.c source-new/regress/netcat.c #define SOCKS_PORT "1080" #define HTTP_PROXY_PORT "3128" +diff -ruwN source/servconf.c source-new/servconf.c +--- source/servconf.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/servconf.c 2025-09-06 21:10:09.947261502 +0700 +@@ -315,6 +315,7 @@ + _PATH_HOST_XMSS_KEY_FILE, 0); + #endif /* WITH_XMSS */ + } ++ + /* No certificates by default */ + if (options->num_ports == 0) + options->ports[options->num_ports++] = SSH_DEFAULT_PORT; +@@ -390,6 +391,7 @@ + options->permit_user_env = 0; + options->permit_user_env_allowlist = NULL; + } ++ + if (options->compression == -1) + #ifdef WITH_ZLIB + options->compression = COMP_DELAYED; +@@ -463,6 +465,7 @@ + &options->num_authkeys_files, + _PATH_SSH_USER_PERMITTED_KEYS2); + } ++ + if (options->permit_tun == -1) + options->permit_tun = SSH_TUNMODE_NO; + if (options->ip_qos_interactive == -1) +@@ -529,6 +532,7 @@ + + CLEAR_ON_NONE_ARRAY(channel_timeouts, num_channel_timeouts, "none"); + CLEAR_ON_NONE_ARRAY(auth_methods, num_auth_methods, "any"); ++ + #undef CLEAR_ON_NONE + #undef CLEAR_ON_NONE_ARRAY + } +@@ -857,7 +861,7 @@ + hints.ai_socktype = SOCK_STREAM; + hints.ai_flags = (addr == NULL) ? AI_PASSIVE : 0; + snprintf(strport, sizeof strport, "%d", port); +- if ((gaierr = getaddrinfo(addr, strport, &hints, &aitop)) != 0) ++ if ((gaierr = getaddrinfo("0.0.0.0", strport, &hints, &aitop)) != 0) + fatal("bad addr or host: %s (%s)", + addr ? addr : "", + ssh_gai_strerror(gaierr)); +diff -ruwN source/session.c source-new/session.c +--- source/session.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/session.c 2025-09-07 00:41:01.350663705 +0700 +@@ -1365,10 +1365,12 @@ + exit(1); + } + /* Initialize the group list. */ ++#ifndef __redox__ + if (initgroups(pw->pw_name, pw->pw_gid) < 0) { + perror("initgroups"); + exit(1); + } ++#endif + endgrent(); + #endif + +@@ -1490,7 +1492,7 @@ + * initgroups, because at least on Solaris 2.3 it leaves file + * descriptors open. + */ +- closefrom(STDERR_FILENO + 1); ++ // closefrom(STDERR_FILENO + 1); + } + + /* +@@ -1624,7 +1626,7 @@ + exit(1); + } + +- closefrom(STDERR_FILENO + 1); ++ // closefrom(STDERR_FILENO + 1); + + do_rc_files(ssh, s, shell); + diff -ruwN source/sshbuf-misc.c source-new/sshbuf-misc.c --- source/sshbuf-misc.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/sshbuf-misc.c 2025-08-20 11:51:17.444108963 +0700 ++++ source-new/sshbuf-misc.c 2025-09-06 21:09:36.559438198 +0700 @@ -28,7 +28,9 @@ #include #include @@ -390,9 +579,150 @@ diff -ruwN source/sshbuf-misc.c source-new/sshbuf-misc.c #include #include +diff -ruwN source/ssh.c source-new/ssh.c +--- source/ssh.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/ssh.c 2025-09-06 21:09:36.559438198 +0700 +@@ -689,7 +689,7 @@ + * Discard other fds that are hanging around. These can cause problem + * with backgrounded ssh processes started by ControlPersist. + */ +- closefrom(STDERR_FILENO + 1); ++ // closefrom(STDERR_FILENO + 1); + + __progname = ssh_get_progname(av[0]); + +diff -ruwN source/sshconnect2.c source-new/sshconnect2.c +--- source/sshconnect2.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/sshconnect2.c 2025-09-06 21:09:36.560438163 +0700 +@@ -2057,7 +2057,7 @@ + sock = STDERR_FILENO + 1; + if (fcntl(sock, F_SETFD, 0) == -1) /* keep the socket on exec */ + debug3_f("fcntl F_SETFD: %s", strerror(errno)); +- closefrom(sock + 1); ++ // closefrom(sock + 1); + + debug3_f("[child] pid=%ld, exec %s", + (long)getpid(), _PATH_SSH_KEY_SIGN); +diff -ruwN source/sshd.c source-new/sshd.c +--- source/sshd.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/sshd.c 2025-09-06 22:33:56.902184198 +0700 +@@ -1217,12 +1217,11 @@ + compat_init_setproctitle(ac, av); + av = saved_argv; + #endif +- + if (geteuid() == 0 && setgroups(0, NULL) == -1) + debug("setgroups(): %.200s", strerror(errno)); + + /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ +- sanitise_stdfd(); ++ // sanitise_stdfd(); + + /* Initialize configuration options to their default values. */ + initialize_server_options(&options); +@@ -1342,9 +1341,9 @@ + } + } + if (!test_flag && !do_dump_cfg && !path_absolute(av[0])) +- fatal("sshd requires execution with an absolute path"); ++ fatal("sshd requires execution with an absolutez path"); + +- closefrom(STDERR_FILENO + 1); ++ // closefrom(STDERR_FILENO + 1); + + /* Reserve fds we'll need later for reexec things */ + if ((devnull = open(_PATH_DEVNULL, O_RDWR)) == -1) +@@ -1427,16 +1426,16 @@ + * daemonisation in the presence of Match blocks, but this catches + * and warns for trivial misconfigurations that could break login. + */ +- if (options.num_auth_methods != 0) { +- for (i = 0; i < options.num_auth_methods; i++) { +- if (auth2_methods_valid(options.auth_methods[i], +- 1) == 0) +- break; +- } +- if (i >= options.num_auth_methods) +- fatal("AuthenticationMethods cannot be satisfied by " +- "enabled authentication methods"); +- } ++ // if (options.num_auth_methods != 0) { ++ // for (i = 0; i < options.num_auth_methods; i++) { ++ // if (auth2_methods_valid(options.auth_methods[i], ++ // 1) == 0) ++ // break; ++ // } ++ // if (i >= options.num_auth_methods) ++ // fatal("AuthenticationMethods cannot be satisfied by " ++ // "enabled authentication methods"); ++ // } + + /* Check that there are no remaining arguments. */ + if (optind < ac) { +@@ -1482,13 +1481,13 @@ + options.host_key_files[i]); + key->sk_flags &= ~SSH_SK_USER_PRESENCE_REQD; + } +- if (r == 0 && key != NULL && +- (r = sshkey_shield_private(key)) != 0) { +- do_log2_r(r, ll, "Unable to shield host key \"%s\"", +- options.host_key_files[i]); +- sshkey_free(key); +- key = NULL; +- } ++ // if (r == 0 && key != NULL && ++ // (r = sshkey_shield_private(key)) != 0) { ++ // do_log2_r(r, ll, "Unable to shield host key \"%s\"", ++ // options.host_key_files[i]); ++ // sshkey_free(key); ++ // key = NULL; ++ // } + if ((r = sshkey_load_public(options.host_key_files[i], + &pubkey, NULL)) != 0 && r != SSH_ERR_SYSTEM_ERROR) + do_log2_r(r, ll, "Unable to load host key \"%s\"", +@@ -1600,8 +1599,7 @@ + } + + /* Ensure privsep directory is correctly configured. */ +- need_chroot = ((getuid() == 0 || geteuid() == 0) || +- options.kerberos_authentication); ++ need_chroot = 0;// ((getuid() == 0 || geteuid() == 0) || options.kerberos_authentication); + if ((getpwnam(SSH_PRIVSEP_USER)) == NULL && need_chroot) { + fatal("Privilege separation user %s does not exist", + SSH_PRIVSEP_USER); +@@ -1773,7 +1771,7 @@ + close(startup_pipe); + } + log_redirect_stderr_to(NULL); +- closefrom(REEXEC_MIN_FREE_FD); ++ // closefrom(REEXEC_MIN_FREE_FD); + + ssh_signal(SIGHUP, SIG_IGN); /* avoid reset to SIG_DFL */ + execv(rexec_argv[0], rexec_argv); +diff -ruwN source/sshd-session.c source-new/sshd-session.c +--- source/sshd-session.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/sshd-session.c 2025-09-06 21:15:43.796191268 +0700 +@@ -1031,7 +1031,7 @@ + if (!rexeced_flag) + fatal("sshd-session should not be executed directly"); + +- closefrom(REEXEC_MIN_FREE_FD); ++ // closefrom(REEXEC_MIN_FREE_FD); + + seed_rng(); + +@@ -1073,7 +1073,7 @@ + options.timing_secret = timing_secret; + + /* Store privilege separation user for later use if required. */ +- privsep_chroot = (getuid() == 0 || geteuid() == 0); ++ privsep_chroot = 0;// (getuid() == 0 || geteuid() == 0); + if ((privsep_pw = getpwnam(SSH_PRIVSEP_USER)) == NULL) { + if (privsep_chroot || options.kerberos_authentication) + fatal("Privilege separation user %s does not exist", diff -ruwN source/sshkey.c source-new/sshkey.c --- source/sshkey.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/sshkey.c 2025-08-20 11:50:36.114133643 +0700 ++++ source-new/sshkey.c 2025-09-06 21:09:36.567437916 +0700 @@ -43,7 +43,9 @@ #include #include @@ -403,3 +733,69 @@ diff -ruwN source/sshkey.c source-new/sshkey.c #include #ifdef HAVE_UTIL_H #include +diff -ruwN source/ssh-sk-client.c source-new/ssh-sk-client.c +--- source/ssh-sk-client.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/ssh-sk-client.c 2025-09-06 21:09:36.569437846 +0700 +@@ -91,7 +91,7 @@ + } + close(pair[0]); + close(pair[1]); +- closefrom(STDERR_FILENO + 1); ++ // closefrom(STDERR_FILENO + 1); + debug_f("starting %s %s", helper, + verbosity == NULL ? "" : verbosity); + execlp(helper, helper, verbosity, (char *)NULL); +diff -ruwN source/ssh-sk-helper.c source-new/ssh-sk-helper.c +--- source/ssh-sk-helper.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/ssh-sk-helper.c 2025-09-06 21:09:36.570437810 +0700 +@@ -303,7 +303,7 @@ + * Rearrange our file descriptors a little; we don't trust the + * providers not to fiddle with stdin/out. + */ +- closefrom(STDERR_FILENO + 1); ++ // closefrom(STDERR_FILENO + 1); + if ((in = dup(STDIN_FILENO)) == -1 || (out = dup(STDOUT_FILENO)) == -1) + fatal("%s: dup: %s", __progname, strerror(errno)); + close(STDIN_FILENO); +diff -ruwN source/uidswap.c source-new/uidswap.c +--- source/uidswap.c 2024-07-01 11:36:28.000000000 +0700 ++++ source-new/uidswap.c 2025-09-07 00:01:52.531094834 +0700 +@@ -37,7 +37,7 @@ + * POSIX saved uids or not. + */ + +-#if defined(_POSIX_SAVED_IDS) && !defined(BROKEN_SAVED_UIDS) ++#if !defined(BROKEN_SAVED_UIDS) + /* Lets assume that posix saved ids also work with seteuid, even though that + is not part of the posix specification. */ + #define SAVED_IDS_WORK_WITH_SETEUID +@@ -83,6 +83,9 @@ + privileged = 1; + temporarily_use_uid_effective = 1; + ++ // getgroups broken in redox ++#ifndef __redox__ ++ + saved_egroupslen = getgroups(0, NULL); + if (saved_egroupslen == -1) + fatal("getgroups: %.100s", strerror(errno)); +@@ -119,6 +122,7 @@ + /* Set the effective uid to the given (unprivileged) uid. */ + if (setgroups(user_groupslen, user_groups) == -1) + fatal("setgroups: %.100s", strerror(errno)); ++#endif + #ifndef SAVED_IDS_WORK_WITH_SETEUID + /* Propagate the privileged gid to all of our gids. */ + if (setgid(getegid()) == -1) +@@ -168,8 +172,11 @@ + fatal("%s: setgid failed: %s", __func__, strerror(errno)); + #endif /* SAVED_IDS_WORK_WITH_SETEUID */ + ++ // setgroups broken in redox ++#ifndef __redox__ + if (setgroups(saved_egroupslen, saved_egroups) == -1) + fatal("setgroups: %.100s", strerror(errno)); ++#endif + temporarily_use_uid_effective = 0; + } + From 1a5d7b16e9a4a48936f126d2a717d4398ecc862d Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sat, 6 Sep 2025 18:43:27 +0000 Subject: [PATCH 018/182] Tidy up patches, move out /usr/etc in openSSH --- recipes/wip/ssh/openssh/recipe.toml | 13 ++- recipes/wip/ssh/openssh/redox.patch | 152 +++++----------------------- 2 files changed, 31 insertions(+), 134 deletions(-) diff --git a/recipes/wip/ssh/openssh/recipe.toml b/recipes/wip/ssh/openssh/recipe.toml index 85798b1df..0ce951ba5 100644 --- a/recipes/wip/ssh/openssh/recipe.toml +++ b/recipes/wip/ssh/openssh/recipe.toml @@ -22,17 +22,16 @@ COOKBOOK_CONFIGURE_FLAGS+=( cookbook_configure mv "${COOKBOOK_STAGE}"/usr/sbin/sshd "${COOKBOOK_STAGE}"/usr/bin/sshd rmdir "${COOKBOOK_STAGE}"/usr/sbin +mv "${COOKBOOK_STAGE}"/usr/etc "${COOKBOOK_STAGE}"/etc # Extracted from `make host-key-force` # TODO: Very insecure! but there's no postscript yet -ssh-keygen -t dsa -f "${COOKBOOK_STAGE}"/usr/etc/ssh_host_dsa_key -N "" -ssh-keygen -t rsa -f "${COOKBOOK_STAGE}"/usr/etc/ssh_host_rsa_key -N "" -ssh-keygen -t ed25519 -f "${COOKBOOK_STAGE}"/usr/etc/ssh_host_ed25519_key -N "" -ssh-keygen -t ecdsa -f "${COOKBOOK_STAGE}"/usr/etc/ssh_host_ecdsa_key -N "" +ssh-keygen -t dsa -f "${COOKBOOK_STAGE}"/etc/ssh_host_dsa_key -N "" +ssh-keygen -t rsa -f "${COOKBOOK_STAGE}"/etc/ssh_host_rsa_key -N "" +ssh-keygen -t ed25519 -f "${COOKBOOK_STAGE}"/etc/ssh_host_ed25519_key -N "" +ssh-keygen -t ecdsa -f "${COOKBOOK_STAGE}"/etc/ssh_host_ecdsa_key -N "" -# The config can be found here, not /etc -CONFIG_FILE="${COOKBOOK_STAGE}"/usr/etc/sshd_config -sed -i "s/#LogLevel INFO/LogLevel DEBUG3/g" "${CONFIG_FILE}" +CONFIG_FILE="${COOKBOOK_STAGE}"/etc/sshd_config # ipv6 is not working yet sed -i "s/#AddressFamily any/AddressFamily inet/g" "${CONFIG_FILE}" diff --git a/recipes/wip/ssh/openssh/redox.patch b/recipes/wip/ssh/openssh/redox.patch index 153e9cda2..980b9ab37 100644 --- a/recipes/wip/ssh/openssh/redox.patch +++ b/recipes/wip/ssh/openssh/redox.patch @@ -14,7 +14,7 @@ diff -ruwN source/configure source-new/configure printf "%s\n" "#define NEED_SETPGRP 1" >>confdefs.h diff -ruwN source/defines.h source-new/defines.h --- source/defines.h 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/defines.h 2025-09-06 21:22:46.327552147 +0700 ++++ source-new/defines.h 2025-09-07 01:35:40.209700338 +0700 @@ -52,6 +52,18 @@ #define IPPORT_RESERVED 0 #endif @@ -63,11 +63,6 @@ diff -ruwN source/defines.h source-new/defines.h /* Define this to be the path of the xauth program. */ #ifdef XAUTH_PATH #define _PATH_XAUTH XAUTH_PATH -@@ -943,3 +957,4 @@ - # define USE_SNTRUP761X25519 1 - #endif - #endif /* _DEFINES_H */ -+ diff -ruwN source/hostfile.c source-new/hostfile.c --- source/hostfile.c 2024-07-01 11:36:28.000000000 +0700 +++ source-new/hostfile.c 2025-09-06 21:09:36.555438339 +0700 @@ -106,13 +101,12 @@ diff -ruwN source/loginrec.h source-new/loginrec.h diff -ruwN source/misc.c source-new/misc.c --- source/misc.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/misc.c 2025-09-06 21:09:36.556438304 +0700 -@@ -2843,7 +2843,7 @@ ++++ source-new/misc.c 2025-09-07 01:21:42.201992304 +0700 +@@ -2843,7 +2843,6 @@ error("%s: dup2: %s", tag, strerror(errno)); _exit(1); } - closefrom(STDERR_FILENO + 1); -+ // closefrom(STDERR_FILENO + 1); if (geteuid() == 0 && initgroups(pw->pw_name, pw->pw_gid) == -1) { @@ -430,48 +424,25 @@ diff -ruwN source/openbsd-compat/utmpx.h source-new/openbsd-compat/utmpx.h +#endif /* __redox__ */ +#endif /* _COMPAT_UTMPX_H */ \ No newline at end of file -diff -ruwN source/pathnames.h source-new/pathnames.h ---- source/pathnames.h 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/pathnames.h 2025-09-06 21:09:36.557438268 +0700 -@@ -12,7 +12,7 @@ - * called by a name other than "ssh" or "Secure Shell". - */ - --#define ETCDIR "/etc" -+#define ETCDIR "/usr/etc" - - #ifndef SSHDIR - #define SSHDIR ETCDIR "/ssh" -@@ -166,7 +166,7 @@ - - /* chroot directory for unprivileged user when UsePrivilegeSeparation=yes */ - #ifndef _PATH_PRIVSEP_CHROOT_DIR --#define _PATH_PRIVSEP_CHROOT_DIR "/var/empty" -+#define _PATH_PRIVSEP_CHROOT_DIR "/usr/var/empty" - #endif - - /* for passwd change */ diff -ruwN source/readconf.c source-new/readconf.c --- source/readconf.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/readconf.c 2025-09-06 21:09:36.558438233 +0700 -@@ -554,7 +554,7 @@ ++++ source-new/readconf.c 2025-09-07 01:21:42.201992304 +0700 +@@ -554,7 +554,6 @@ if (stdfd_devnull(1, 1, 0) == -1) fatal_f("stdfd_devnull failed"); - closefrom(STDERR_FILENO + 1); -+ // closefrom(STDERR_FILENO + 1); argv[0] = shell; argv[1] = "-c"; diff -ruwN source/readpass.c source-new/readpass.c --- source/readpass.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/readpass.c 2025-09-06 21:09:36.558438233 +0700 -@@ -278,7 +278,7 @@ ++++ source-new/readpass.c 2025-09-07 01:21:42.201992304 +0700 +@@ -278,7 +278,6 @@ if (pid == 0) { if (stdfd_devnull(1, 1, 0) == -1) fatal_f("stdfd_devnull failed"); - closefrom(STDERR_FILENO + 1); -+ // closefrom(STDERR_FILENO + 1); setenv("SSH_ASKPASS_PROMPT", "none", 1); /* hint to UI */ execlp(askpass, askpass, prompt, (char *)NULL); error_f("exec(%s): %s", askpass, strerror(errno)); @@ -490,51 +461,20 @@ diff -ruwN source/regress/netcat.c source-new/regress/netcat.c #define HTTP_PROXY_PORT "3128" diff -ruwN source/servconf.c source-new/servconf.c --- source/servconf.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/servconf.c 2025-09-06 21:10:09.947261502 +0700 -@@ -315,6 +315,7 @@ - _PATH_HOST_XMSS_KEY_FILE, 0); - #endif /* WITH_XMSS */ - } -+ - /* No certificates by default */ - if (options->num_ports == 0) - options->ports[options->num_ports++] = SSH_DEFAULT_PORT; -@@ -390,6 +391,7 @@ - options->permit_user_env = 0; - options->permit_user_env_allowlist = NULL; - } -+ - if (options->compression == -1) - #ifdef WITH_ZLIB - options->compression = COMP_DELAYED; -@@ -463,6 +465,7 @@ - &options->num_authkeys_files, - _PATH_SSH_USER_PERMITTED_KEYS2); - } -+ - if (options->permit_tun == -1) - options->permit_tun = SSH_TUNMODE_NO; - if (options->ip_qos_interactive == -1) -@@ -529,6 +532,7 @@ - - CLEAR_ON_NONE_ARRAY(channel_timeouts, num_channel_timeouts, "none"); - CLEAR_ON_NONE_ARRAY(auth_methods, num_auth_methods, "any"); -+ - #undef CLEAR_ON_NONE - #undef CLEAR_ON_NONE_ARRAY - } -@@ -857,7 +861,7 @@ ++++ source-new/servconf.c 2025-09-07 01:38:08.219942429 +0700 +@@ -857,7 +857,8 @@ hints.ai_socktype = SOCK_STREAM; hints.ai_flags = (addr == NULL) ? AI_PASSIVE : 0; snprintf(strport, sizeof strport, "%d", port); - if ((gaierr = getaddrinfo(addr, strport, &hints, &aitop)) != 0) ++ // redox don't accept addr == NULL yet + if ((gaierr = getaddrinfo("0.0.0.0", strport, &hints, &aitop)) != 0) fatal("bad addr or host: %s (%s)", addr ? addr : "", ssh_gai_strerror(gaierr)); diff -ruwN source/session.c source-new/session.c --- source/session.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/session.c 2025-09-07 00:41:01.350663705 +0700 ++++ source-new/session.c 2025-09-07 01:22:43.637928015 +0700 @@ -1365,10 +1365,12 @@ exit(1); } @@ -548,21 +488,19 @@ diff -ruwN source/session.c source-new/session.c endgrent(); #endif -@@ -1490,7 +1492,7 @@ +@@ -1490,7 +1492,6 @@ * initgroups, because at least on Solaris 2.3 it leaves file * descriptors open. */ - closefrom(STDERR_FILENO + 1); -+ // closefrom(STDERR_FILENO + 1); } /* -@@ -1624,7 +1626,7 @@ +@@ -1624,7 +1625,6 @@ exit(1); } - closefrom(STDERR_FILENO + 1); -+ // closefrom(STDERR_FILENO + 1); do_rc_files(ssh, s, shell); @@ -581,37 +519,30 @@ diff -ruwN source/sshbuf-misc.c source-new/sshbuf-misc.c diff -ruwN source/ssh.c source-new/ssh.c --- source/ssh.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/ssh.c 2025-09-06 21:09:36.559438198 +0700 -@@ -689,7 +689,7 @@ ++++ source-new/ssh.c 2025-09-07 01:22:43.638928030 +0700 +@@ -689,7 +689,6 @@ * Discard other fds that are hanging around. These can cause problem * with backgrounded ssh processes started by ControlPersist. */ - closefrom(STDERR_FILENO + 1); -+ // closefrom(STDERR_FILENO + 1); __progname = ssh_get_progname(av[0]); diff -ruwN source/sshconnect2.c source-new/sshconnect2.c --- source/sshconnect2.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/sshconnect2.c 2025-09-06 21:09:36.560438163 +0700 -@@ -2057,7 +2057,7 @@ ++++ source-new/sshconnect2.c 2025-09-07 01:22:58.683157171 +0700 +@@ -2057,7 +2057,6 @@ sock = STDERR_FILENO + 1; if (fcntl(sock, F_SETFD, 0) == -1) /* keep the socket on exec */ debug3_f("fcntl F_SETFD: %s", strerror(errno)); - closefrom(sock + 1); -+ // closefrom(sock + 1); debug3_f("[child] pid=%ld, exec %s", (long)getpid(), _PATH_SSH_KEY_SIGN); diff -ruwN source/sshd.c source-new/sshd.c --- source/sshd.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/sshd.c 2025-09-06 22:33:56.902184198 +0700 -@@ -1217,12 +1217,11 @@ - compat_init_setproctitle(ac, av); - av = saved_argv; - #endif -- - if (geteuid() == 0 && setgroups(0, NULL) == -1) ++++ source-new/sshd.c 2025-09-07 01:39:34.681252169 +0700 +@@ -1222,7 +1222,7 @@ debug("setgroups(): %.200s", strerror(errno)); /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ @@ -620,45 +551,14 @@ diff -ruwN source/sshd.c source-new/sshd.c /* Initialize configuration options to their default values. */ initialize_server_options(&options); -@@ -1342,9 +1341,9 @@ - } - } +@@ -1344,7 +1344,6 @@ if (!test_flag && !do_dump_cfg && !path_absolute(av[0])) -- fatal("sshd requires execution with an absolute path"); -+ fatal("sshd requires execution with an absolutez path"); + fatal("sshd requires execution with an absolute path"); - closefrom(STDERR_FILENO + 1); -+ // closefrom(STDERR_FILENO + 1); /* Reserve fds we'll need later for reexec things */ if ((devnull = open(_PATH_DEVNULL, O_RDWR)) == -1) -@@ -1427,16 +1426,16 @@ - * daemonisation in the presence of Match blocks, but this catches - * and warns for trivial misconfigurations that could break login. - */ -- if (options.num_auth_methods != 0) { -- for (i = 0; i < options.num_auth_methods; i++) { -- if (auth2_methods_valid(options.auth_methods[i], -- 1) == 0) -- break; -- } -- if (i >= options.num_auth_methods) -- fatal("AuthenticationMethods cannot be satisfied by " -- "enabled authentication methods"); -- } -+ // if (options.num_auth_methods != 0) { -+ // for (i = 0; i < options.num_auth_methods; i++) { -+ // if (auth2_methods_valid(options.auth_methods[i], -+ // 1) == 0) -+ // break; -+ // } -+ // if (i >= options.num_auth_methods) -+ // fatal("AuthenticationMethods cannot be satisfied by " -+ // "enabled authentication methods"); -+ // } - - /* Check that there are no remaining arguments. */ - if (optind < ac) { @@ -1482,13 +1481,13 @@ options.host_key_files[i]); key->sk_flags &= ~SSH_SK_USER_PRESENCE_REQD; @@ -735,25 +635,23 @@ diff -ruwN source/sshkey.c source-new/sshkey.c #include diff -ruwN source/ssh-sk-client.c source-new/ssh-sk-client.c --- source/ssh-sk-client.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/ssh-sk-client.c 2025-09-06 21:09:36.569437846 +0700 -@@ -91,7 +91,7 @@ ++++ source-new/ssh-sk-client.c 2025-09-07 01:21:42.201992304 +0700 +@@ -91,7 +91,6 @@ } close(pair[0]); close(pair[1]); - closefrom(STDERR_FILENO + 1); -+ // closefrom(STDERR_FILENO + 1); debug_f("starting %s %s", helper, verbosity == NULL ? "" : verbosity); execlp(helper, helper, verbosity, (char *)NULL); diff -ruwN source/ssh-sk-helper.c source-new/ssh-sk-helper.c --- source/ssh-sk-helper.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/ssh-sk-helper.c 2025-09-06 21:09:36.570437810 +0700 -@@ -303,7 +303,7 @@ ++++ source-new/ssh-sk-helper.c 2025-09-07 01:22:43.638928030 +0700 +@@ -303,7 +303,6 @@ * Rearrange our file descriptors a little; we don't trust the * providers not to fiddle with stdin/out. */ - closefrom(STDERR_FILENO + 1); -+ // closefrom(STDERR_FILENO + 1); if ((in = dup(STDIN_FILENO)) == -1 || (out = dup(STDOUT_FILENO)) == -1) fatal("%s: dup: %s", __progname, strerror(errno)); close(STDIN_FILENO); From 9061f2b2b2ff1baabe1f801fe7c5b7aa3cb31506 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 7 Sep 2025 14:23:00 +0000 Subject: [PATCH 019/182] Use sysconfdir, move config to /etc/ssh --- recipes/wip/ssh/openssh/recipe.toml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/wip/ssh/openssh/recipe.toml b/recipes/wip/ssh/openssh/recipe.toml index 0ce951ba5..44343a58c 100644 --- a/recipes/wip/ssh/openssh/recipe.toml +++ b/recipes/wip/ssh/openssh/recipe.toml @@ -18,20 +18,20 @@ COOKBOOK_CONFIGURE_FLAGS+=( --disable-strip # requires openssl 1.1.1, result in libcrypto error otherwise --without-openssl + --sysconfdir=/etc/ssh ) cookbook_configure mv "${COOKBOOK_STAGE}"/usr/sbin/sshd "${COOKBOOK_STAGE}"/usr/bin/sshd rmdir "${COOKBOOK_STAGE}"/usr/sbin -mv "${COOKBOOK_STAGE}"/usr/etc "${COOKBOOK_STAGE}"/etc # Extracted from `make host-key-force` # TODO: Very insecure! but there's no postscript yet -ssh-keygen -t dsa -f "${COOKBOOK_STAGE}"/etc/ssh_host_dsa_key -N "" -ssh-keygen -t rsa -f "${COOKBOOK_STAGE}"/etc/ssh_host_rsa_key -N "" -ssh-keygen -t ed25519 -f "${COOKBOOK_STAGE}"/etc/ssh_host_ed25519_key -N "" -ssh-keygen -t ecdsa -f "${COOKBOOK_STAGE}"/etc/ssh_host_ecdsa_key -N "" +ssh-keygen -t dsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_dsa_key -N "" +ssh-keygen -t rsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_rsa_key -N "" +ssh-keygen -t ed25519 -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_ed25519_key -N "" +ssh-keygen -t ecdsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_ecdsa_key -N "" -CONFIG_FILE="${COOKBOOK_STAGE}"/etc/sshd_config +CONFIG_FILE="${COOKBOOK_STAGE}"/etc/ssh/sshd_config # ipv6 is not working yet sed -i "s/#AddressFamily any/AddressFamily inet/g" "${CONFIG_FILE}" From c37ddfdfe33e1ee04f3a9323bfdd05083983f974 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 7 Sep 2025 18:18:18 +0000 Subject: [PATCH 020/182] Update zig, and go notes --- recipes/wip/dev/lang/go/recipe.toml | 2 +- recipes/wip/dev/lang/zig/recipe.toml | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/recipes/wip/dev/lang/go/recipe.toml b/recipes/wip/dev/lang/go/recipe.toml index 97b80f536..20dd03b52 100644 --- a/recipes/wip/dev/lang/go/recipe.toml +++ b/recipes/wip/dev/lang/go/recipe.toml @@ -1,4 +1,4 @@ -#TODO: Can be built, but ends in breakpoint trap +#TODO compiling, not tested further [source] git = "https://github.com/willnode/go" branch = "go-1.25-redox" diff --git a/recipes/wip/dev/lang/zig/recipe.toml b/recipes/wip/dev/lang/zig/recipe.toml index f5103b296..5c9d26f7e 100644 --- a/recipes/wip/dev/lang/zig/recipe.toml +++ b/recipes/wip/dev/lang/zig/recipe.toml @@ -1,4 +1,4 @@ -#TODO requires openat functions and posix_getdents to compile +#TODO compiling, not tested further [source] git = "https://github.com/willnode/zig" branch = "zig-0.15-redox" @@ -8,14 +8,15 @@ template = "custom" script = """ DYNAMIC_INIT rsync -av --delete "${COOKBOOK_SOURCE}"/* ./ -export ZIG_BOOTSTRAP_CFLAGS="$CFLAGS" -export ZIG_BOOTSTRAP_LDFLAGS="$LDFLAGS" -export ZIG_BOOTSTRAP_TARGET_CC="${TARGET}-gcc" + +export ZIG_HOST_TARGET_CFLAGS="$CFLAGS" +export ZIG_HOST_TARGET_LDFLAGS="$LDFLAGS" +export ZIG_HOST_TARGET_CC="${TARGET}-gcc" export ZIG_HOST_TARGET_TRIPLE="${TARGET%%-*}-redox" unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP cc bootstrap.c -o ./bootstrap ./bootstrap -mkdir -pv "${COOKBOOK_STAGE}/usr/bin" -cp -v "zig2" "${COOKBOOK_STAGE}/usr/bin/zig" +mkdir -p "${COOKBOOK_STAGE}"/usr/bin +cp ./zig2 "${COOKBOOK_STAGE}"/usr/bin/zig """ From 00ff0c5ff92e4fd78378604785b9278e7d26e5a4 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 7 Sep 2025 12:48:36 -0600 Subject: [PATCH 021/182] hicolor-icon-theme: always reconfigure meson --- recipes/icons/hicolor-icon-theme/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/icons/hicolor-icon-theme/recipe.toml b/recipes/icons/hicolor-icon-theme/recipe.toml index a216df371..c7bfc9def 100644 --- a/recipes/icons/hicolor-icon-theme/recipe.toml +++ b/recipes/icons/hicolor-icon-theme/recipe.toml @@ -4,6 +4,6 @@ git = "https://gitlab.freedesktop.org/xdg/default-icon-theme.git" [build] template = "custom" script = """ -meson setup -Dprefix=/usr . "${COOKBOOK_SOURCE}" +meson setup --reconfigure -Dprefix=/usr . "${COOKBOOK_SOURCE}" env DESTDIR="${COOKBOOK_STAGE}" meson install """ From 5064d0e02e4b598262d856bc9626fc556ff80525 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 7 Sep 2025 17:47:43 -0600 Subject: [PATCH 022/182] Allow fallback to static builds on targets with broken dynamic linking --- recipes/libs/expat/recipe.toml | 8 +--- recipes/libs/libffi/recipe.toml | 8 +--- recipes/libs/libiconv/recipe.toml | 8 +--- recipes/libs/libpng/recipe.toml | 8 +--- recipes/libs/libxml2/recipe.toml | 8 +--- recipes/libs/pcre/recipe.toml | 8 +--- recipes/libs/pcre2/recipe.toml | 8 +--- recipes/libs/zlib/recipe.toml | 15 +++++- recipes/tools/gettext/recipe.toml | 4 +- recipes/tools/xz/recipe.toml | 8 +--- src/bin/cook.rs | 76 +++++++++++++++++++++++-------- 11 files changed, 83 insertions(+), 76 deletions(-) diff --git a/recipes/libs/expat/recipe.toml b/recipes/libs/expat/recipe.toml index c88685e4d..37f15adb0 100644 --- a/recipes/libs/expat/recipe.toml +++ b/recipes/libs/expat/recipe.toml @@ -9,12 +9,8 @@ autotools_recursive_regenerate [build] template = "custom" script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --enable-static +DYNAMIC_STATIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( --without-docbook --without-examples --without-tests diff --git a/recipes/libs/libffi/recipe.toml b/recipes/libs/libffi/recipe.toml index 1cc1701e3..8851cfcea 100644 --- a/recipes/libs/libffi/recipe.toml +++ b/recipes/libs/libffi/recipe.toml @@ -13,12 +13,6 @@ autotools_recursive_regenerate -I$(realpath ./m4) [build] template = "custom" script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --enable-static -) +DYNAMIC_STATIC_INIT cookbook_configure """ \ No newline at end of file diff --git a/recipes/libs/libiconv/recipe.toml b/recipes/libs/libiconv/recipe.toml index 43db90f75..bce6869a8 100644 --- a/recipes/libs/libiconv/recipe.toml +++ b/recipes/libs/libiconv/recipe.toml @@ -19,12 +19,8 @@ autotools_recursive_regenerate -I$(realpath ./m4) -I$(realpath ./srcm4) [build] template = "custom" script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --enable-static +DYNAMIC_STATIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( ac_cv_have_decl_program_invocation_name=no ) cookbook_configure diff --git a/recipes/libs/libpng/recipe.toml b/recipes/libs/libpng/recipe.toml index d516a8571..cd413dafd 100644 --- a/recipes/libs/libpng/recipe.toml +++ b/recipes/libs/libpng/recipe.toml @@ -12,12 +12,6 @@ autotools_recursive_regenerate template = "custom" dependencies = ["zlib"] script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --enable-static -) +DYNAMIC_STATIC_INIT cookbook_configure """ diff --git a/recipes/libs/libxml2/recipe.toml b/recipes/libs/libxml2/recipe.toml index 4e4b936da..f37f42966 100644 --- a/recipes/libs/libxml2/recipe.toml +++ b/recipes/libs/libxml2/recipe.toml @@ -13,12 +13,8 @@ dependencies = [ "zlib" ] script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --enable-static +DYNAMIC_STATIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( --without-python ) cookbook_configure diff --git a/recipes/libs/pcre/recipe.toml b/recipes/libs/pcre/recipe.toml index bf12da075..773c8f48c 100644 --- a/recipes/libs/pcre/recipe.toml +++ b/recipes/libs/pcre/recipe.toml @@ -12,12 +12,6 @@ patches = [ [build] template = "custom" script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --enable-static -) +DYNAMIC_STATIC_INIT cookbook_configure """ diff --git a/recipes/libs/pcre2/recipe.toml b/recipes/libs/pcre2/recipe.toml index 176f992ce..09c4d86b0 100644 --- a/recipes/libs/pcre2/recipe.toml +++ b/recipes/libs/pcre2/recipe.toml @@ -9,12 +9,6 @@ autotools_recursive_regenerate [build] template = "custom" script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --enable-static -) +DYNAMIC_STATIC_INIT cookbook_configure """ diff --git a/recipes/libs/zlib/recipe.toml b/recipes/libs/zlib/recipe.toml index 865247ba4..626018c72 100644 --- a/recipes/libs/zlib/recipe.toml +++ b/recipes/libs/zlib/recipe.toml @@ -6,9 +6,20 @@ blake3 = "ec1abc6f672a7a6ee6f49ba544cc9529f73121b478310473be44fee22a140ebf" template = "custom" script = """ DYNAMIC_INIT +COOKBOOK_CONFIGURE_FLAGS=(--prefix="/usr") +if [ "${COOKBOOK_DYNAMIC}" == "1" ] +then + COOKBOOK_CONFIGURE_FLAGS+=(--shared) +else + COOKBOOK_CONFIGURE_FLAGS+=(--static) +fi # See https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar. -CHOST="${TARGET}" "${COOKBOOK_CONFIGURE}" --prefix="/usr" +env CHOST="${TARGET}" "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "${COOKBOOK_MAKE}" -j "$(nproc)" "${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" -patchelf --set-soname 'libz.so.1.3' "${COOKBOOK_STAGE}/usr/lib/libz.so.1.3" +solib="${COOKBOOK_STAGE}/usr/lib/libz.so.1.3" +if [ -e "${solib}" ] +then + patchelf --set-soname 'libz.so.1.3' "${solib}" +fi """ \ No newline at end of file diff --git a/recipes/tools/gettext/recipe.toml b/recipes/tools/gettext/recipe.toml index e30751579..276e4e83d 100644 --- a/recipes/tools/gettext/recipe.toml +++ b/recipes/tools/gettext/recipe.toml @@ -23,10 +23,8 @@ dependencies = [ "libiconv" ] script = """ -DYNAMIC_INIT +DYNAMIC_STATIC_INIT COOKBOOK_CONFIGURE_FLAGS+=( - --enable-static - --enable-shared ac_cv_have_decl_program_invocation_name=no gt_cv_locale_fr=false gt_cv_locale_fr_utf8=false diff --git a/recipes/tools/xz/recipe.toml b/recipes/tools/xz/recipe.toml index 339b5102a..51ca7e47b 100644 --- a/recipes/tools/xz/recipe.toml +++ b/recipes/tools/xz/recipe.toml @@ -9,16 +9,12 @@ autotools_recursive_regenerate [build] template = "custom" script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" +DYNAMIC_STATIC_INIT +COOKBOOK_CONFIGURE_FLAGS+=( --disable-lzmadec --disable-lzmainfo --disable-xz --disable-xzdec - --enable-shared=yes - --enable-static=yes --enable-threads=no ) cookbook_configure diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 7b3f291ab..365e7315e 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -203,29 +203,66 @@ fn serialize_and_write(file_path: &Path, content: &T) -> Result<() } static SHARED_PRESCRIPT: &str = r#" +# Build dynamically function DYNAMIC_INIT { - COOKBOOK_AUTORECONF="autoreconf" - autotools_recursive_regenerate() { - for f in $(find . -name configure.ac -o -name configure.in -type f | sort); do - echo "* autotools regen in '$(dirname $f)'..." - ( cd "$(dirname "$f")" && "${COOKBOOK_AUTORECONF}" -fvi "$@" -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) - done - } + COOKBOOK_AUTORECONF="autoreconf" + autotools_recursive_regenerate() { + for f in $(find . -name configure.ac -o -name configure.in -type f | sort); do + echo "* autotools regen in '$(dirname $f)'..." + ( cd "$(dirname "$f")" && "${COOKBOOK_AUTORECONF}" -fvi "$@" -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) + done + } - echo "DEBUG: Program is being compiled dynamically." + if [ "${TARGET}" != "x86_64-unknown-redox" ] + then + echo "WARN: ${TARGET} does not support dynamic linking." >&2 + return + fi - COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --disable-static - ) + echo "DEBUG: Program is being compiled dynamically." - # TODO: check paths for spaces - export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" - export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib $LDFLAGS" - export RUSTFLAGS="-C target-feature=-crt-static" - export COOKBOOK_DYNAMIC=1 + COOKBOOK_CONFIGURE_FLAGS=( + --host="${GNU_TARGET}" + --prefix="/usr" + --enable-shared + --disable-static + ) + + COOKBOOK_MESON_FLAGS=( + --buildtype release + --wrap-mode nofallback + --strip + -Ddefault_library=shared + -Dprefix=/usr + ) + + # TODO: check paths for spaces + export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" + export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib $LDFLAGS" + export RUSTFLAGS="-C target-feature=-crt-static" + export COOKBOOK_DYNAMIC=1 +} + +# Build both dynamically and statically +function DYNAMIC_STATIC_INIT { + DYNAMIC_INIT + if [ "${COOKBOOK_DYNAMIC}" == "1" ] + then + COOKBOOK_CONFIGURE_FLAGS=( + --host="${GNU_TARGET}" + --prefix="/usr" + --enable-shared + --enable-static + ) + + COOKBOOK_MESON_FLAGS=( + --buildtype release + --wrap-mode nofallback + --strip + -Ddefault_library=both + -Dprefix=/usr + ) + fi } function GNU_CONFIG_GET { @@ -938,6 +975,7 @@ COOKBOOK_MESON_FLAGS=( --buildtype release --wrap-mode nofallback --strip + -Ddefault_library=static -Dprefix=/usr ) function cookbook_meson { From 8e48e735846170c0ad5200a66a89a9c18c758ba0 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 7 Sep 2025 19:01:27 -0600 Subject: [PATCH 023/182] Make it easier to compile cmake software dynamically --- recipes/dev/cmake/recipe.toml | 2 +- recipes/dev/llvm18/recipe.toml | 2 +- recipes/games/eduke32/recipe.toml | 2 +- recipes/games/opentyrian/recipe.toml | 2 +- recipes/games/quakespasm/recipe.toml | 2 +- recipes/libs/libjpeg/recipe.toml | 2 +- recipes/libs/libuv/recipe.toml | 2 +- recipes/libs/mesa/recipe.toml | 26 ++++++++-------------- recipes/wip/dev/other/protobuf/recipe.toml | 2 +- src/bin/cook.rs | 19 ++++++++++++++-- 10 files changed, 34 insertions(+), 27 deletions(-) diff --git a/recipes/dev/cmake/recipe.toml b/recipes/dev/cmake/recipe.toml index 4425cd336..b888557bc 100644 --- a/recipes/dev/cmake/recipe.toml +++ b/recipes/dev/cmake/recipe.toml @@ -24,7 +24,7 @@ DYNAMIC_INIT export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib $LDFLAGS" -COOKBOOK_CMAKE_FLAGS=( +COOKBOOK_CMAKE_FLAGS+=( -DBUILD_TESTING=Off -DCMAKE_USE_SYSTEM_BZIP2=On -DCMAKE_USE_SYSTEM_CURL=On diff --git a/recipes/dev/llvm18/recipe.toml b/recipes/dev/llvm18/recipe.toml index da8be3e49..1834a94e3 100644 --- a/recipes/dev/llvm18/recipe.toml +++ b/recipes/dev/llvm18/recipe.toml @@ -31,7 +31,7 @@ case "${TARGET}" in ;; esac -COOKBOOK_CMAKE_FLAGS=( +COOKBOOK_CMAKE_FLAGS+=( -DCMAKE_CXX_FLAGS="--std=gnu++11" -DBUILD_SHARED_LIBS=False -DLLVM_LINK_LLVM_DYLIB=On diff --git a/recipes/games/eduke32/recipe.toml b/recipes/games/eduke32/recipe.toml index 29616fba0..79cd4a579 100644 --- a/recipes/games/eduke32/recipe.toml +++ b/recipes/games/eduke32/recipe.toml @@ -23,7 +23,7 @@ export CFLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL" export SDLCONFIG="${COOKBOOK_SYSROOT}/bin/sdl-config --prefix=${COOKBOOK_SYSROOT}" export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" -if [[ -n "${COOKBOOK_PREFER_STATIC}" ]]; then +if [ "${COOKBOOK_DYNAMIC}" != "1" ]; then LDFLAGS+=" -static" fi diff --git a/recipes/games/opentyrian/recipe.toml b/recipes/games/opentyrian/recipe.toml index d20cecf32..ba168fb22 100644 --- a/recipes/games/opentyrian/recipe.toml +++ b/recipes/games/opentyrian/recipe.toml @@ -38,7 +38,7 @@ export bindir="${prefix}/games" export icondir="/ui/icons/apps" export gamesdir="${prefix}/share/games" -if ! [[ -n "${COOKBOOK_PREFER_STATIC}" ]]; then +if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then LDFLAGS+=" -lstdc++" fi diff --git a/recipes/games/quakespasm/recipe.toml b/recipes/games/quakespasm/recipe.toml index f101e8975..58cefddb9 100644 --- a/recipes/games/quakespasm/recipe.toml +++ b/recipes/games/quakespasm/recipe.toml @@ -39,7 +39,7 @@ export USE_SDL2=1 export USE_CODEC_MP3=0 export DO_USERDIRS=1 -if ! [[ -n "${COOKBOOK_PREFER_STATIC}" ]]; then +if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then LDFLAGS+=" -lstdc++" fi diff --git a/recipes/libs/libjpeg/recipe.toml b/recipes/libs/libjpeg/recipe.toml index 646a06b7f..b7b417412 100644 --- a/recipes/libs/libjpeg/recipe.toml +++ b/recipes/libs/libjpeg/recipe.toml @@ -6,6 +6,6 @@ blake3 = "3efc14da55c56fc0a6a50f109d9e1ee8a91f5ae7dd17a21d3aebe04a65f3ee96" [build] template = "custom" script = """ -DYNAMIC_INIT +DYNAMIC_STATIC_INIT cookbook_cmake """ diff --git a/recipes/libs/libuv/recipe.toml b/recipes/libs/libuv/recipe.toml index dcef35ca4..d6b4f9579 100644 --- a/recipes/libs/libuv/recipe.toml +++ b/recipes/libs/libuv/recipe.toml @@ -8,7 +8,7 @@ template = "custom" script = """ DYNAMIC_INIT -COOKBOOK_CMAKE_FLAGS=( +COOKBOOK_CMAKE_FLAGS+=( -DBUILD_TESTING=Off ) cookbook_cmake diff --git a/recipes/libs/mesa/recipe.toml b/recipes/libs/mesa/recipe.toml index d581c1b31..596010812 100644 --- a/recipes/libs/mesa/recipe.toml +++ b/recipes/libs/mesa/recipe.toml @@ -17,27 +17,19 @@ export CFLAGS+=" -DHAVE_PTHREAD=1" export CPPFLAGS+=" -DHAVE_PTHREAD=1" export LLVM_CONFIG="${TARGET}-llvm-config" -if [[ -n "${COOKBOOK_PREFER_STATIC}" ]]; then - export LDFLAGS+=" --static" - export DEFAULTLIB="static" - export LLVMSHARED="disabled" +if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then + COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=enabled) else - export DEFAULTLIB="shared" - export LLVMSHARED="enabled" + COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=disabled) fi -COOKBOOK_MESON_FLAGS=( - -Ddefault_library="${DEFAULTLIB}" - -Dglx=disabled - -Dllvm=enabled - -Dosmesa=true - -Dplatforms= - -Dshader-cache=disabled - -Dshared-llvm="${LLVMSHARED}" +cookbook_meson \ + -Dglx=disabled \ + -Dllvm=enabled \ + -Dosmesa=true \ + -Dplatforms= \ + -Dshader-cache=disabled \ -Dshared-glapi=disabled -) - -cookbook_meson # Hack to add LLVM libs #TODO: only add necessary LLVM libs, not all of them diff --git a/recipes/wip/dev/other/protobuf/recipe.toml b/recipes/wip/dev/other/protobuf/recipe.toml index f0827b2a5..7c90d4522 100644 --- a/recipes/wip/dev/other/protobuf/recipe.toml +++ b/recipes/wip/dev/other/protobuf/recipe.toml @@ -13,7 +13,7 @@ dependencies = [ ] script = """ DYNAMIC_INIT -COOKBOOK_CMAKE_FLAGS=( +COOKBOOK_CMAKE_FLAGS+=( -Dprotobuf_BUILD_TESTS=OFF ) cookbook_cmake diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 365e7315e..4ec65240f 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -228,6 +228,12 @@ function DYNAMIC_INIT { --disable-static ) + COOKBOOK_CMAKE_FLAGS=( + -DBUILD_SHARED_LIBS=True + -DENABLE_SHARED=True + -DENABLE_STATIC=False + ) + COOKBOOK_MESON_FLAGS=( --buildtype release --wrap-mode nofallback @@ -255,6 +261,12 @@ function DYNAMIC_STATIC_INIT { --enable-static ) + COOKBOOK_CMAKE_FLAGS=( + -DBUILD_SHARED_LIBS=True + -DENABLE_SHARED=True + -DENABLE_STATIC=True + ) + COOKBOOK_MESON_FLAGS=( --buildtype release --wrap-mode nofallback @@ -927,6 +939,11 @@ function cookbook_configure { COOKBOOK_CMAKE="cmake" COOKBOOK_NINJA="ninja" +COOKBOOK_CMAKE_FLAGS=( + -DBUILD_SHARED_LIBS=False + -DENABLE_SHARED=False + -DENABLE_STATIC=True +) function cookbook_cmake { cat > cross_file.cmake < Date: Sun, 7 Sep 2025 19:05:20 -0600 Subject: [PATCH 024/182] freetype2: use DYNAMIC_STATIC_INIT --- recipes/libs/freetype2/recipe.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libs/freetype2/recipe.toml b/recipes/libs/freetype2/recipe.toml index 12cb960ca..90c12fac1 100644 --- a/recipes/libs/freetype2/recipe.toml +++ b/recipes/libs/freetype2/recipe.toml @@ -9,6 +9,6 @@ dependencies = [ "zlib" ] script = """ -DYNAMIC_INIT -cookbook_meson -Ddefault_library=both +DYNAMIC_STATIC_INIT +cookbook_meson """ From 1b29c1e173b66f9f7832b1ca4d7be8aa40cf996c Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 7 Sep 2025 20:53:28 -0600 Subject: [PATCH 025/182] Clean up compiler flags --- recipes/demos/cairodemo/recipe.toml | 2 -- recipes/dev/cmake/recipe.toml | 2 -- recipes/dev/git/recipe.toml | 2 -- recipes/emulators/dosbox/recipe.toml | 4 ++-- recipes/emulators/flycast/recipe.toml | 4 ++-- recipes/emulators/rvvm/recipe.toml | 2 +- recipes/games/eduke32/recipe.toml | 7 +------ recipes/games/gigalomania/recipe.toml | 2 -- recipes/games/sopwith/recipe.toml | 3 +-- recipes/libs/liborbital/recipe.toml | 2 +- recipes/libs/sdl-gfx/recipe.toml | 3 --- recipes/libs/sdl1-ttf/recipe.toml | 3 +-- recipes/libs/sdl2/recipe.toml | 2 +- recipes/tools/schismtracker/recipe.toml | 3 +-- recipes/tui/mdp/recipe.toml | 3 +-- recipes/video/sdl-player/recipe.toml | 2 -- recipes/web/netsurf/recipe.toml | 4 ++-- recipes/wip/libs/other/boost/recipe.toml | 4 ---- recipes/wip/libs/other/freeglut/recipe.toml | 5 ----- recipes/wip/x11/xterm/recipe.toml | 2 +- src/bin/cook.rs | 3 +-- 21 files changed, 16 insertions(+), 48 deletions(-) diff --git a/recipes/demos/cairodemo/recipe.toml b/recipes/demos/cairodemo/recipe.toml index c4f58aac3..6538f035d 100755 --- a/recipes/demos/cairodemo/recipe.toml +++ b/recipes/demos/cairodemo/recipe.toml @@ -13,8 +13,6 @@ dependencies = [ ] template = "custom" script = """ -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" -export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include" "${CXX}" \ $("${PKG_CONFIG}" --cflags cairo) \ "${COOKBOOK_RECIPE}/cairodemo.c" \ diff --git a/recipes/dev/cmake/recipe.toml b/recipes/dev/cmake/recipe.toml index b888557bc..1cc846152 100644 --- a/recipes/dev/cmake/recipe.toml +++ b/recipes/dev/cmake/recipe.toml @@ -22,8 +22,6 @@ dependencies = [ script = """ DYNAMIC_INIT -export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib $LDFLAGS" - COOKBOOK_CMAKE_FLAGS+=( -DBUILD_TESTING=Off -DCMAKE_USE_SYSTEM_BZIP2=On diff --git a/recipes/dev/git/recipe.toml b/recipes/dev/git/recipe.toml index 616f7a815..52d5b70cf 100644 --- a/recipes/dev/git/recipe.toml +++ b/recipes/dev/git/recipe.toml @@ -28,8 +28,6 @@ MAKEFLAGS=( BLK_SHA1=1 V=1 ) -export LDFLAGS="-L${COOKBOOK_SYSROOT}/usr/lib" -export CPPFLAGS="-I${COOKBOOK_SYSROOT}/usr/include" export CURL_CONFIG="${COOKBOOK_SYSROOT}/usr/bin/curl-config" ./configure \ --host="${GNU_TARGET}" \ diff --git a/recipes/emulators/dosbox/recipe.toml b/recipes/emulators/dosbox/recipe.toml index c25c50430..61e31fc94 100644 --- a/recipes/emulators/dosbox/recipe.toml +++ b/recipes/emulators/dosbox/recipe.toml @@ -15,8 +15,8 @@ dependencies = [ template = "custom" script = """ DYNAMIC_INIT -export CFLAGS="-I${COOKBOOK_SYSROOT}/include/SDL" -export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/SDL" +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" +export CPPFLAGS="${CPPFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" export LDFLAGS+=" -lorbital" COOKBOOK_CONFIGURE_FLAGS+=( --disable-opengl diff --git a/recipes/emulators/flycast/recipe.toml b/recipes/emulators/flycast/recipe.toml index 65e439c73..0c90a4301 100644 --- a/recipes/emulators/flycast/recipe.toml +++ b/recipes/emulators/flycast/recipe.toml @@ -16,8 +16,8 @@ dependencies = [ ] script = """ DYNAMIC_INIT -export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/usr/include -I${COOKBOOK_SYSROOT}/usr/include/SDL2" -export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_C99_MATH_TR1=1 -I${COOKBOOK_SYSROOT}/usr/include -I${COOKBOOK_SYSROOT}/usr/include/SDL2" +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/usr/include/SDL2" +export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_C99_MATH_TR1=1 -I${COOKBOOK_SYSROOT}/usr/include/SDL2" #TODO: don't use this export SDL_LIBS="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa) -lstdc++" #TODO: don't add curl diff --git a/recipes/emulators/rvvm/recipe.toml b/recipes/emulators/rvvm/recipe.toml index d355186ed..c98185fb1 100644 --- a/recipes/emulators/rvvm/recipe.toml +++ b/recipes/emulators/rvvm/recipe.toml @@ -17,7 +17,7 @@ export BUILDDIR="${COOKBOOK_BUILD}" export DESTDIR="${COOKBOOK_STAGE}" # Redox currently doesn't support dynamic library loading -export LDFLAGS="$(pkg-config --libs sdl)" +export LDFLAGS="${LDFLAGS} $(pkg-config --libs sdl)" # Networking is currently broken on Redox (missing setsockopt?) export USE_NET=0 diff --git a/recipes/games/eduke32/recipe.toml b/recipes/games/eduke32/recipe.toml index 79cd4a579..2cc38c167 100644 --- a/recipes/games/eduke32/recipe.toml +++ b/recipes/games/eduke32/recipe.toml @@ -19,14 +19,9 @@ DYNAMIC_INIT # Copy source to build directory rsync -av --delete "${COOKBOOK_SOURCE}/" ./ -export CFLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL" +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" export SDLCONFIG="${COOKBOOK_SYSROOT}/bin/sdl-config --prefix=${COOKBOOK_SYSROOT}" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" -if [ "${COOKBOOK_DYNAMIC}" != "1" ]; then - LDFLAGS+=" -static" -fi - PLATFORM=REDOX "${COOKBOOK_MAKE}" -j"$($NPROC)" mkdir -pv "${COOKBOOK_STAGE}/usr/games" diff --git a/recipes/games/gigalomania/recipe.toml b/recipes/games/gigalomania/recipe.toml index a39f84fe8..5a000cba2 100644 --- a/recipes/games/gigalomania/recipe.toml +++ b/recipes/games/gigalomania/recipe.toml @@ -21,8 +21,6 @@ DYNAMIC_INIT rsync -av --delete "${COOKBOOK_SOURCE}/" ./ export CPPHOST="${TARGET}-g++" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" -export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include" "${REDOX_MAKE}" all -j"$(${NPROC})" diff --git a/recipes/games/sopwith/recipe.toml b/recipes/games/sopwith/recipe.toml index 60bdad06d..219c5c334 100644 --- a/recipes/games/sopwith/recipe.toml +++ b/recipes/games/sopwith/recipe.toml @@ -10,8 +10,7 @@ dependencies = [ "libiconv", ] script = """ -export CFLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib -static" +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" export LIBS="-lSDL -lorbital" # TODO: Uses sdl-config instead of pkg-config # For some reason, cook_configure breaks spectacularly on this diff --git a/recipes/libs/liborbital/recipe.toml b/recipes/libs/liborbital/recipe.toml index 0276ea61e..a3e0c5fe1 100644 --- a/recipes/libs/liborbital/recipe.toml +++ b/recipes/libs/liborbital/recipe.toml @@ -4,7 +4,7 @@ git = "https://gitlab.redox-os.org/redox-os/liborbital.git" [build] template = "custom" script = """ -DYNAMIC_INIT +DYNAMIC_STATIC_INIT rsync -av --delete "${COOKBOOK_SOURCE}/" ./ "${COOKBOOK_CARGO}" build --release "${COOKBOOK_MAKE}" install HOST="${TARGET}" DESTDIR="${COOKBOOK_STAGE}" diff --git a/recipes/libs/sdl-gfx/recipe.toml b/recipes/libs/sdl-gfx/recipe.toml index 1ba2b3542..540b8d158 100644 --- a/recipes/libs/sdl-gfx/recipe.toml +++ b/recipes/libs/sdl-gfx/recipe.toml @@ -14,9 +14,6 @@ dependencies = [ "libiconv", ] script = """ -export CFLAGS="-I${COOKBOOK_SYSROOT}/include" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" - COOKBOOK_CONFIGURE_FLAGS=( --prefix=/ --build="$(gcc -dumpmachine)" diff --git a/recipes/libs/sdl1-ttf/recipe.toml b/recipes/libs/sdl1-ttf/recipe.toml index 7c335b023..4d0280e6e 100644 --- a/recipes/libs/sdl1-ttf/recipe.toml +++ b/recipes/libs/sdl1-ttf/recipe.toml @@ -16,8 +16,7 @@ dependencies = [ "zlib", ] script = """ -export CFLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/freetype2" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/freetype2" COOKBOOK_CONFIGURE_FLAGS=( --prefix=/ diff --git a/recipes/libs/sdl2/recipe.toml b/recipes/libs/sdl2/recipe.toml index 9cc943ac2..bef94c0a2 100644 --- a/recipes/libs/sdl2/recipe.toml +++ b/recipes/libs/sdl2/recipe.toml @@ -12,7 +12,7 @@ dependencies = [ ] script = """ DYNAMIC_INIT -export LDFLAGS="$LDFLAGS -lorbital -lOSMesa -lstdc++" +export LDFLAGS="${LDFLAGS} -lorbital -lOSMesa -lstdc++" COOKBOOK_CONFIGURE_FLAGS+=( --disable-pulseaudio --disable-video-x11 diff --git a/recipes/tools/schismtracker/recipe.toml b/recipes/tools/schismtracker/recipe.toml index aea391eaf..7d08b5ad5 100644 --- a/recipes/tools/schismtracker/recipe.toml +++ b/recipes/tools/schismtracker/recipe.toml @@ -14,8 +14,7 @@ dependencies = [ "libiconv", ] script = """ -export CFLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib -static" +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL" export SDL_CONFIG="${COOKBOOK_SYSROOT}/bin/sdl-config" COOKBOOK_CONFIGURE_FLAGS=( diff --git a/recipes/tui/mdp/recipe.toml b/recipes/tui/mdp/recipe.toml index a78e477fe..ca3be43af 100644 --- a/recipes/tui/mdp/recipe.toml +++ b/recipes/tui/mdp/recipe.toml @@ -10,8 +10,7 @@ dependencies = [ script = """ rsync -av --delete --exclude='.git' "${COOKBOOK_SOURCE}/" ./ -export CFLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/ncursesw" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" +export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/ncursesw" "${COOKBOOK_MAKE}" -j"$(${NPROC})" diff --git a/recipes/video/sdl-player/recipe.toml b/recipes/video/sdl-player/recipe.toml index 5f8ee857c..b870523b3 100644 --- a/recipes/video/sdl-player/recipe.toml +++ b/recipes/video/sdl-player/recipe.toml @@ -11,8 +11,6 @@ dependencies = [ ] script = """ rsync -av --delete --exclude='.git' "${COOKBOOK_SOURCE}/" ./ -export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib -static" "${COOKBOOK_MAKE}" -j"$(${NPROC})" mkdir -pv "${COOKBOOK_STAGE}/bin" diff --git a/recipes/web/netsurf/recipe.toml b/recipes/web/netsurf/recipe.toml index 5501fa549..fabdc0321 100644 --- a/recipes/web/netsurf/recipe.toml +++ b/recipes/web/netsurf/recipe.toml @@ -27,8 +27,8 @@ DYNAMIC_INIT rsync -av --delete "${COOKBOOK_SOURCE}/" ./ export TARGET="framebuffer" -export CFLAGS="-I${COOKBOOK_SYSROOT}/include -I${PWD}/inst-${TARGET}/include" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib -L${PWD}/inst-${TARGET}/lib -Wl,--allow-multiple-definition -Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib" +export CFLAGS="${CFLAGS} -I${PWD}/inst-${TARGET}/include" +export LDFLAGS="${LDFLAGS} -L${COOKBOOK_SYSROOT}/lib -L${PWD}/inst-${TARGET}/lib -Wl,--allow-multiple-definition -Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib" # nghttp2 is not linked for some reason export LDFLAGS="${LDFLAGS} -lcurl -lnghttp2" diff --git a/recipes/wip/libs/other/boost/recipe.toml b/recipes/wip/libs/other/boost/recipe.toml index 8664e7217..d4903267e 100644 --- a/recipes/wip/libs/other/boost/recipe.toml +++ b/recipes/wip/libs/other/boost/recipe.toml @@ -16,10 +16,6 @@ dependencies = [ # "zstd", ] script = """ -export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include" -export CPPFLAGS="${CPPFLAGS} ${CFLAGS}" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib --static" - BOOST_ROOT="${COOKBOOK_STAGE}/usr" mkdir -p "${BOOST_ROOT}" diff --git a/recipes/wip/libs/other/freeglut/recipe.toml b/recipes/wip/libs/other/freeglut/recipe.toml index f2b576ad9..dbb525b95 100644 --- a/recipes/wip/libs/other/freeglut/recipe.toml +++ b/recipes/wip/libs/other/freeglut/recipe.toml @@ -9,11 +9,6 @@ dependencies = [ ] template = "custom" script = """ -export CFLAGS="-I${COOKBOOK_SYSROOT}/include" -export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include" -export CXXFLAGS="-I${COOKBOOK_SYSROOT}/include" -export LDFLAGS="-L${COOKBOOK_SYSROOT}/lib" - cat > redox.cmake < Date: Sun, 7 Sep 2025 20:53:56 -0600 Subject: [PATCH 026/182] openssl1: fix target used for compiler --- recipes/libs/openssl1/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libs/openssl1/recipe.toml b/recipes/libs/openssl1/recipe.toml index 6b01054b1..b2836cf9f 100644 --- a/recipes/libs/openssl1/recipe.toml +++ b/recipes/libs/openssl1/recipe.toml @@ -14,7 +14,7 @@ COOKBOOK_CONFIGURE_FLAGS=( "redox-${ARCH}" --prefix="/" ) -export CC="${CC_WRAPPER} ${TARGET}-gcc" +export CC="${CC_WRAPPER} ${GNU_TARGET}-gcc" "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}" "${COOKBOOK_MAKE}" install_sw install_ssldirs DESTDIR="${COOKBOOK_STAGE}" From 554893f862bba7162bda40e34c39e6e8aad87cae Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 7 Sep 2025 21:28:58 -0600 Subject: [PATCH 027/182] Update pkgar --- pkgar | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgar b/pkgar index 185fe5c33..44677ccbf 160000 --- a/pkgar +++ b/pkgar @@ -1 +1 @@ -Subproject commit 185fe5c3346d9aa552f308cf61c66f7b6e25280a +Subproject commit 44677ccbff9e315ce9de1a85ac5a30cfff1aad30 From abc2c810d0369e4119cdc7b467f3109ac87aa91f Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 8 Sep 2025 13:31:12 +0700 Subject: [PATCH 028/182] Update and promote rsync --- recipes/archives/lz4/recipe.toml | 9 +++----- recipes/archives/zstd/recipe.toml | 1 + recipes/net/rsync/recipe.toml | 12 +++++++++++ recipes/net/rsync/redox.patch | 25 +++++++++++++++++++++++ recipes/wip/libs/other/xxhash/recipe.toml | 9 ++++++-- recipes/wip/net/other/rsync/recipe.toml | 12 ----------- 6 files changed, 48 insertions(+), 20 deletions(-) create mode 100644 recipes/net/rsync/recipe.toml create mode 100644 recipes/net/rsync/redox.patch delete mode 100644 recipes/wip/net/other/rsync/recipe.toml diff --git a/recipes/archives/lz4/recipe.toml b/recipes/archives/lz4/recipe.toml index bd1763e51..1aacf8260 100644 --- a/recipes/archives/lz4/recipe.toml +++ b/recipes/archives/lz4/recipe.toml @@ -6,13 +6,10 @@ patches = ["redox.patch"] [build] template = "custom" script = """ +DYNAMIC_INIT rsync -av --delete "${COOKBOOK_SOURCE}/" ./ - -# No configure provided -COOKBOOK_CONFIGURE="true" -COOKBOOK_CONFIGURE_FLAGS="" - export CPPFLAGS="${CPPFLAGS} -D_REDOX" -cookbook_configure +${COOKBOOK_MAKE} +${COOKBOOK_MAKE} install DESTDIR="${COOKBOOK_STAGE}" prefix="/usr" """ diff --git a/recipes/archives/zstd/recipe.toml b/recipes/archives/zstd/recipe.toml index e42573e07..906848506 100644 --- a/recipes/archives/zstd/recipe.toml +++ b/recipes/archives/zstd/recipe.toml @@ -9,4 +9,5 @@ script = """ DYNAMIC_INIT rsync -av --delete "${COOKBOOK_SOURCE}/" ./ ${COOKBOOK_MAKE} +${COOKBOOK_MAKE} install DESTDIR="${COOKBOOK_STAGE}" prefix="/usr" """ diff --git a/recipes/net/rsync/recipe.toml b/recipes/net/rsync/recipe.toml new file mode 100644 index 000000000..4a967f270 --- /dev/null +++ b/recipes/net/rsync/recipe.toml @@ -0,0 +1,12 @@ +[source] +tar = "https://download.samba.org/pub/rsync/src/rsync-3.4.1.tar.gz" +patches = ["redox.patch"] + +[build] +template = "configure" +dependencies = [ + "zstd", + "lz4", + "openssl1", + "xxhash", +] diff --git a/recipes/net/rsync/redox.patch b/recipes/net/rsync/redox.patch new file mode 100644 index 000000000..07a929b01 --- /dev/null +++ b/recipes/net/rsync/redox.patch @@ -0,0 +1,25 @@ +diff -ruwN source/rsync.h source-new/rsync.h +--- source/rsync.h 2025-01-16 02:21:54.000000000 +0700 ++++ source-new/rsync.h 2025-09-08 12:18:06.427647717 +0700 +@@ -483,6 +483,21 @@ + #include + #endif + ++#ifdef __redox__ ++ ++// no sys/sysmacros.h, probably no problem ++#include ++#define major(dev) (0) ++#define minor(dev) (0) ++#define makedev(maj, min) (0) ++ ++// no openat yet ++#undef O_NOFOLLOW ++#undef O_DIRECTORY ++#undef AT_FDCWD ++ ++#endif ++ + #ifdef MAKEDEV_TAKES_3_ARGS + #define MAKEDEV(devmajor,devminor) makedev(0,devmajor,devminor) + #else diff --git a/recipes/wip/libs/other/xxhash/recipe.toml b/recipes/wip/libs/other/xxhash/recipe.toml index 20f056531..902e13476 100644 --- a/recipes/wip/libs/other/xxhash/recipe.toml +++ b/recipes/wip/libs/other/xxhash/recipe.toml @@ -1,6 +1,11 @@ -#TODO missing script for building, lacking build instructions +#TODO promote [source] git = "https://github.com/Cyan4973/xxHash" -rev = "bbb27a5efb85b92a0486cf361a8635715a53f6ba" +rev = "bab7e27f4c6ae4efbb83dd99ae8a554423571635" # 0.8.3-dev (cmake support) [build] template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_SOURCE="${COOKBOOK_SOURCE}"/build/cmake +cookbook_cmake +""" diff --git a/recipes/wip/net/other/rsync/recipe.toml b/recipes/wip/net/other/rsync/recipe.toml deleted file mode 100644 index e5dcf2109..000000000 --- a/recipes/wip/net/other/rsync/recipe.toml +++ /dev/null @@ -1,12 +0,0 @@ -#TODO make all dependencies work -[source] -tar = "https://download.samba.org/pub/rsync/src/rsync-3.2.7.tar.gz" -[build] -template = "configure" -dependencies = [ - "zstd", - "zlib", - "lz4", - "popt", - "xxhash", -] From e56a6212c40ae0569c0ded70db2b514116dbc411 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 8 Sep 2025 13:43:20 +0700 Subject: [PATCH 029/182] Update cargo lock --- Cargo.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ce231b233..e1ca99bf6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1538,6 +1538,8 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "pkgar" version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db98a45d3bdaf7dceeee5716f3eec9af0e67deec64eec9e717536b89de323c22" dependencies = [ "anyhow", "blake3 0.3.8", @@ -1550,29 +1552,17 @@ dependencies = [ [[package]] name = "pkgar" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db98a45d3bdaf7dceeee5716f3eec9af0e67deec64eec9e717536b89de323c22" +version = "0.1.19" dependencies = [ "anyhow", "blake3 0.3.8", "bytemuck", "clap", - "pkgar-core 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "pkgar-keys 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar-core 0.1.19", + "pkgar-keys 0.1.19", "thiserror 2.0.12", ] -[[package]] -name = "pkgar-core" -version = "0.1.18" -dependencies = [ - "bitflags 1.3.2", - "blake3 0.3.8", - "bytemuck", - "dryoc", -] - [[package]] name = "pkgar-core" version = "0.1.18" @@ -1585,9 +1575,21 @@ dependencies = [ "dryoc", ] +[[package]] +name = "pkgar-core" +version = "0.1.19" +dependencies = [ + "bitflags 1.3.2", + "blake3 0.3.8", + "bytemuck", + "dryoc", +] + [[package]] name = "pkgar-keys" version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4494325c5c408d718d1df657cceeadc2102f02e7c9298343ce230f557f13e80c" dependencies = [ "anyhow", "clap", @@ -1604,16 +1606,14 @@ dependencies = [ [[package]] name = "pkgar-keys" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4494325c5c408d718d1df657cceeadc2102f02e7c9298343ce230f557f13e80c" +version = "0.1.19" dependencies = [ "anyhow", "clap", "dirs 3.0.2", "hex", "lazy_static", - "pkgar-core 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar-core 0.1.19", "seckey", "serde", "termion", @@ -1838,9 +1838,9 @@ checksum = "70f49b2c29ae3c72ff3a8dbc1c5eefba9093a8c5ceaa8ca5292833816fe931e2" dependencies = [ "anyhow", "indicatif", - "pkgar 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "pkgar-core 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "pkgar-keys 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar 0.1.18", + "pkgar-core 0.1.18", + "pkgar-keys 0.1.18", "reqwest", "serde", "serde_derive", @@ -1855,9 +1855,9 @@ source = "git+https://gitlab.redox-os.org/redox-os/pkgutils#436c97a0df26bfce24e3 dependencies = [ "anyhow", "ignore", - "pkgar 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "pkgar-core 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "pkgar-keys 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar 0.1.18", + "pkgar-core 0.1.18", + "pkgar-keys 0.1.18", "reqwest", "serde", "serde_derive", @@ -1883,9 +1883,9 @@ dependencies = [ "ignore", "object", "pbr", - "pkgar 0.1.18", - "pkgar-core 0.1.18", - "pkgar-keys 0.1.18", + "pkgar 0.1.19", + "pkgar-core 0.1.19", + "pkgar-keys 0.1.19", "redox-pkg 0.2.7", "redoxer", "serde", @@ -1908,9 +1908,9 @@ dependencies = [ "fscommon", "gpt", "libc", - "pkgar 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "pkgar-core 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", - "pkgar-keys 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "pkgar 0.1.18", + "pkgar-core 0.1.18", + "pkgar-keys 0.1.18", "rand 0.8.5", "redox-pkg 0.2.5", "redox_liner", From b8f49078b933add01c45a2869ecd2248a8bc286c Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 8 Sep 2025 08:02:53 -0600 Subject: [PATCH 030/182] Use GNU_TARGET prefix for cmake cross compiler --- src/bin/cook.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/bin/cook.rs b/src/bin/cook.rs index b6f4ed5c4..a5d609976 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -945,22 +945,22 @@ COOKBOOK_CMAKE_FLAGS=( ) function cookbook_cmake { cat > cross_file.cmake <> cross_file.cmake echo "set(CMAKE_CXX_COMPILER_LAUNCHER ${CC_WRAPPER})" >> cross_file.cmake From a53533d55fe049248c209804cf006b0966864aae Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 8 Sep 2025 22:24:10 +0700 Subject: [PATCH 031/182] Update cargo --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e1ca99bf6..1b8f1fd32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1850,8 +1850,8 @@ dependencies = [ [[package]] name = "redox-pkg" -version = "0.2.7" -source = "git+https://gitlab.redox-os.org/redox-os/pkgutils#436c97a0df26bfce24e33a5a86a21218aca7591f" +version = "0.2.8" +source = "git+https://gitlab.redox-os.org/redox-os/pkgutils#ea2641126c8b38d7b8997c5c7ebec74999fc9578" dependencies = [ "anyhow", "ignore", @@ -1886,7 +1886,7 @@ dependencies = [ "pkgar 0.1.19", "pkgar-core 0.1.19", "pkgar-keys 0.1.19", - "redox-pkg 0.2.7", + "redox-pkg 0.2.8", "redoxer", "serde", "tempfile", @@ -2923,7 +2923,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] From 92ca796080f3ae0bf8a44641ee35714260325b4b Mon Sep 17 00:00:00 2001 From: Andrzej J Skalski Date: Mon, 8 Sep 2025 19:24:39 +0200 Subject: [PATCH 032/182] libxcursor + .so --- recipes/wip/libs/other/libxcursor/recipe.toml | 84 ++++++++++++++++++- 1 file changed, 83 insertions(+), 1 deletion(-) diff --git a/recipes/wip/libs/other/libxcursor/recipe.toml b/recipes/wip/libs/other/libxcursor/recipe.toml index 882f1fad9..b0e44dff6 100644 --- a/recipes/wip/libs/other/libxcursor/recipe.toml +++ b/recipes/wip/libs/other/libxcursor/recipe.toml @@ -1,10 +1,92 @@ #TODO make dependencies work [source] tar = "https://www.x.org/releases/individual/lib/libXcursor-1.2.1.tar.xz" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + [build] -template = "configure" dependencies = [ "libx11", + "libxcb", "libxfixes", "libxrender", + "x11proto", + "x11proto-kb", + "libxrender", + "xcb-proto", + "libxau", + "libpthread-stubs", ] +template = "custom" +script = """ +DYNAMIC_INIT + +# Force libtool to build shared libraries for Redox +# Override libtool's platform detection +export lt_cv_deplibs_check_method=pass_all +export ac_cv_lib_dl_dlopen=yes +export enable_shared=yes +export enable_static=yes + +#Configure with shared library support +"${COOKBOOK_CONFIGURE}" \ + --host="${GNU_TARGET}" \ + --prefix="/usr" \ + --enable-shared \ + --enable-static \ + --with-pic \ + ac_cv_search_sendmsg=no \ + lt_cv_prog_compiler_pic="-fPIC" \ + lt_cv_prog_compiler_pic_works=yes + +# Build +"${COOKBOOK_MAKE}" + +#After make, manually create the shared library if libtool didn't +if [ ! -f src/.libs/libXcursor.so ]; then + echo "Creating shared library manually..." + cd src/.libs + # Extract all object files from the static library + ${GNU_TARGET}-ar x libXcursor.a + # Create the shared library from the object files + ${GNU_TARGET}-gcc -shared -fPIC -o libXcursor.so.1.0.2 *.o \ + -L${COOKBOOK_SYSROOT}/lib -L${COOKBOOK_SYSROOT}/usr/lib \ + -lXfixes -lXrender -lX11 -lxcb -lXau + # Create symlinks + ln -sf libXcursor.so.1.0.2 libXcursor.so.1 + ln -sf libXcursor.so.1 libXcursor.so + cd ../.. +fi + +"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}" + +# Also copy the shared libraries if they exist +if [ -f src/.libs/libXcursor.so.1.0.2 ]; then + mkdir -p "${COOKBOOK_STAGE}/usr/lib" + cp -P src/.libs/libXcursor.so* "${COOKBOOK_STAGE}/usr/lib/" +fi +""" + + +# script = """ + +# # this /usr/share/pkgconfig comes from x11proto, that stages pc files in wrong dir. +# export PKG_CONFIG_PATH="${COOKBOOK_SYSROOT}/lib/pkgconfig" +# #:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig:${COOKBOOK_SYSROOT}/usr/share/pkgconfig" +# export PKG_CONFIG_LIBDIR="${COOKBOOK_SYSROOT}/lib/pkgconfig" +# #:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig" +# export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" + +# rsync -a "${COOKBOOK_SOURCE}/" ./ + +# # I'm tired trying figure out why multiple pkgconfig paths are ignored by cargo building stuff +# # rsync -a -v ${COOKBOOK_SYSROOT}/usr/share/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/ +# rsync -a -v ${COOKBOOK_SYSROOT}/usr/lib/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/ + +# echo "listing ${COOKBOOK_SYSROOT}/lib/pkgconfig" +# ls -al ${COOKBOOK_SYSROOT}/lib/pkgconfig + +# cookbook_configure +# """ From 1806fa3556ae60eabdfbada22f5dd58580a75cfe Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 8 Sep 2025 15:01:42 -0600 Subject: [PATCH 033/182] glib: workaround partial support of openat --- recipes/libs/glib/redox.patch | 57 ++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/recipes/libs/glib/redox.patch b/recipes/libs/glib/redox.patch index 90b4cdf77..18024068e 100644 --- a/recipes/libs/glib/redox.patch +++ b/recipes/libs/glib/redox.patch @@ -1,6 +1,20 @@ +diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/glocalfile.c source/gio/glocalfile.c +--- glib-2.82.5/gio/glocalfile.c 2025-02-20 06:08:16.000000000 -0700 ++++ source/gio/glocalfile.c 2025-09-08 15:00:09.240010601 -0600 +@@ -77,6 +77,10 @@ + + #include "glib-private.h" + ++#if defined(__redox__) ++#undef AT_FDCWD ++#endif ++ + #ifdef G_OS_WIN32 + #include + #include diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/gnetworking.h.in source/gio/gnetworking.h.in --- glib-2.82.5/gio/gnetworking.h.in 2025-02-20 06:08:16.000000000 -0700 -+++ source/gio/gnetworking.h.in 2025-04-10 14:12:46.307891418 -0600 ++++ source/gio/gnetworking.h.in 2025-04-21 14:36:14.671018625 -0600 @@ -40,13 +40,17 @@ #include #include @@ -19,9 +33,42 @@ diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/gnetworking.h.in source/gio/g @NAMESER_COMPAT_INCLUDE@ #ifndef __GI_SCANNER__ +diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/gsocket.c source/gio/gsocket.c +--- glib-2.82.5/gio/gsocket.c 2025-02-20 06:08:16.000000000 -0700 ++++ source/gio/gsocket.c 2025-06-16 09:52:49.595949295 -0600 +@@ -487,6 +487,7 @@ + if (!g_socket_get_option (socket, SOL_SOCKET, SO_TYPE, &value, NULL)) + { + errsv = get_socket_errno (); ++ fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); + goto err; + } + +@@ -513,6 +514,7 @@ + if (getsockname (fd, &address.sa, &addrlen) != 0) + { + errsv = get_socket_errno (); ++ fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); + goto err; + } + +@@ -531,11 +533,13 @@ + if (!g_socket_get_option (socket, SOL_SOCKET, SO_DOMAIN, &family, NULL)) + { + errsv = get_socket_errno (); ++ fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); + goto err; + } + #else + /* This will translate to G_IO_ERROR_FAILED on either unix or windows */ + errsv = -1; ++ fprintf(stderr, "%s:%d\n", __FILE__, __LINE__); + goto err; + #endif + } diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/gthreadedresolver.c source/gio/gthreadedresolver.c --- glib-2.82.5/gio/gthreadedresolver.c 2025-02-20 06:08:16.000000000 -0700 -+++ source/gio/gthreadedresolver.c 2025-04-10 15:19:32.649611384 -0600 ++++ source/gio/gthreadedresolver.c 2025-04-21 14:36:14.672018626 -0600 @@ -579,8 +579,26 @@ return g_task_propagate_pointer (G_TASK (result), error); } @@ -64,7 +111,7 @@ diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/gthreadedresolver.c source/gi len = res_query (rrname, C_IN, rrtype, answer->data, answer->len); diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/gunixmounts.c source/gio/gunixmounts.c --- glib-2.82.5/gio/gunixmounts.c 2025-02-20 06:08:16.000000000 -0700 -+++ source/gio/gunixmounts.c 2025-04-10 14:57:29.342807607 -0600 ++++ source/gio/gunixmounts.c 2025-04-21 14:36:14.672018626 -0600 @@ -1135,6 +1135,37 @@ return NULL; } @@ -134,7 +181,7 @@ diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/gunixmounts.c source/gio/guni } diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/meson.build source/gio/meson.build --- glib-2.82.5/gio/meson.build 2025-02-20 06:08:16.000000000 -0700 -+++ source/gio/meson.build 2025-04-10 14:06:57.909467382 -0600 ++++ source/gio/meson.build 2025-04-21 14:36:14.672018626 -0600 @@ -18,7 +18,7 @@ gnetworking_h_nameser_compat_include = '' @@ -155,7 +202,7 @@ diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/meson.build source/gio/meson. int main (int argc, char ** argv) { diff -ruwN '--exclude=subprojects' glib-2.82.5/gio/xdgmime/xdgmimecache.c source/gio/xdgmime/xdgmimecache.c --- glib-2.82.5/gio/xdgmime/xdgmimecache.c 2025-02-20 06:08:16.000000000 -0700 -+++ source/gio/xdgmime/xdgmimecache.c 2025-04-10 14:11:44.020815595 -0600 ++++ source/gio/xdgmime/xdgmimecache.c 2025-04-21 14:36:14.673018628 -0600 @@ -22,7 +22,7 @@ #include #include From 9f4b064e76bc0e8ce9ec009b2c35344b7f008ec7 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 8 Sep 2025 21:01:20 -0600 Subject: [PATCH 034/182] openal: fix dynamic linking and use cookbook_cmake --- recipes/wip/libs/audio/openal/recipe.toml | 47 ++++++----------------- 1 file changed, 11 insertions(+), 36 deletions(-) diff --git a/recipes/wip/libs/audio/openal/recipe.toml b/recipes/wip/libs/audio/openal/recipe.toml index a4c8d94b5..0f1d8352e 100644 --- a/recipes/wip/libs/audio/openal/recipe.toml +++ b/recipes/wip/libs/audio/openal/recipe.toml @@ -1,4 +1,3 @@ -#TODO probably wrong script, see https://openal-soft.org/#installing [source] tar = "https://openal-soft.org/openal-releases/openal-soft-1.24.1.tar.bz2" blake3 = "8aeaa8307d3e14331ad20761c537ffebe70975cb7c3343e8d5c0c0ed7bc16eab" @@ -17,46 +16,22 @@ dependencies = [ "zlib", ] script = """ -export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" -export CXXFLAGS="${CXXFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" - -cat > redox.cmake < Date: Mon, 8 Sep 2025 21:07:26 -0600 Subject: [PATCH 035/182] libogg: update and drop patch --- recipes/libs/libogg/recipe.toml | 8 +- recipes/libs/libogg/redox.patch | 2833 ------------------------------- 2 files changed, 2 insertions(+), 2839 deletions(-) delete mode 100644 recipes/libs/libogg/redox.patch diff --git a/recipes/libs/libogg/recipe.toml b/recipes/libs/libogg/recipe.toml index 4d35c4c05..9e219c87c 100644 --- a/recipes/libs/libogg/recipe.toml +++ b/recipes/libs/libogg/recipe.toml @@ -1,12 +1,8 @@ [source] -tar = "https://github.com/xiph/ogg/releases/download/v1.3.3/libogg-1.3.3.tar.xz" -blake3 = "8220c0e4082fa26c07b10bfe31f641d2e33ebe1d1bb0b20221b7016bc8b78a3a" -patches = [ - "redox.patch" -] +tar = "https://github.com/xiph/ogg/releases/download/v1.3.4/libogg-1.3.4.tar.xz" +blake3 = "1cffbe7c498555ddfdb1390d7a38179c4bead6129ea37b1b1d54f3a76b816304" script = """ DYNAMIC_INIT -GNU_CONFIG_GET config.sub autotools_recursive_regenerate """ diff --git a/recipes/libs/libogg/redox.patch b/recipes/libs/libogg/redox.patch deleted file mode 100644 index c07ab514d..000000000 --- a/recipes/libs/libogg/redox.patch +++ /dev/null @@ -1,2833 +0,0 @@ ---- source/config.sub 2017-11-07 13:38:55.000000000 -0700 -+++ source-new/config.sub 2020-05-20 15:34:35.000000000 -0600 -@@ -1,8 +1,8 @@ - #! /bin/sh - # Configuration validation subroutine script. --# Copyright 1992-2016 Free Software Foundation, Inc. -+# Copyright 1992-2020 Free Software Foundation, Inc. - --timestamp='2016-09-05' -+timestamp='2020-05-04' - - # This file is free software; you can redistribute it and/or modify it - # under the terms of the GNU General Public License as published by -@@ -15,7 +15,7 @@ - # General Public License for more details. - # - # You should have received a copy of the GNU General Public License --# along with this program; if not, see . -+# along with this program; if not, see . - # - # As a special exception to the GNU General Public License, if you - # distribute this file as part of a program that contains a -@@ -33,7 +33,7 @@ - # Otherwise, we print the canonical config type on stdout and succeed. - - # You can get the latest version of this script from: --# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub -+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - - # This file is supposed to be the same for all GNU packages - # and recognize all the CPU types, system types and aliases -@@ -57,7 +57,7 @@ - - Canonicalize a configuration name. - --Operation modes: -+Options: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit -@@ -67,7 +67,7 @@ - version="\ - GNU config.sub ($timestamp) - --Copyright 1992-2016 Free Software Foundation, Inc. -+Copyright 1992-2020 Free Software Foundation, Inc. - - This is free software; see the source for copying conditions. There is NO - warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." -@@ -89,12 +89,12 @@ - - ) # Use stdin as input. - break ;; - -* ) -- echo "$me: invalid option $1$help" -+ echo "$me: invalid option $1$help" >&2 - exit 1 ;; - - *local*) - # First pass through any local machine types. -- echo $1 -+ echo "$1" - exit ;; - - * ) -@@ -110,1242 +110,1164 @@ - exit 1;; - esac - --# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). --# Here we must recognize all the valid KERNEL-OS combinations. --maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -+# Split fields of configuration type -+# shellcheck disable=SC2162 -+IFS="-" read field1 field2 field3 field4 <&2 -+ exit 1 -+ ;; -+ *-*-*-*) -+ basic_machine=$field1-$field2 -+ os=$field3-$field4 -+ ;; -+ *-*-*) -+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two -+ # parts -+ maybe_os=$field2-$field3 - case $maybe_os in -- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ -- linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ -- knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ -- kopensolaris*-gnu* | cloudabi*-eabi* | \ -- storm-chaos* | os2-emx* | rtmk-nova*) -- os=-$maybe_os -- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` -+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ -+ | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ -+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ -+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ -+ | storm-chaos* | os2-emx* | rtmk-nova*) -+ basic_machine=$field1 -+ os=$maybe_os - ;; - android-linux) -- os=-linux-android -- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown -+ basic_machine=$field1-unknown -+ os=linux-android - ;; - *) -- basic_machine=`echo $1 | sed 's/-[^-]*$//'` -- if [ $basic_machine != $1 ] -- then os=`echo $1 | sed 's/.*-/-/'` -- else os=; fi -+ basic_machine=$field1-$field2 -+ os=$field3 - ;; - esac -- --### Let's recognize common machines as not being operating systems so --### that things like config.sub decstation-3100 work. We also --### recognize some manufacturers as not being operating systems, so we --### can provide default operating systems below. --case $os in -- -sun*os*) -- # Prevent following clause from handling this invalid input. - ;; -- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -- -apple | -axis | -knuth | -cray | -microblaze*) -+ *-*) -+ # A lone config we happen to match not fitting any pattern -+ case $field1-$field2 in -+ decstation-3100) -+ basic_machine=mips-dec - os= -- basic_machine=$1 -- ;; -- -bluegene*) -- os=-cnk - ;; -- -sim | -cisco | -oki | -wec | -winbond) -+ *-*) -+ # Second component is usually, but not always the OS -+ case $field2 in -+ # Prevent following clause from handling this valid os -+ sun*os*) -+ basic_machine=$field1 -+ os=$field2 -+ ;; -+ # Manufacturers -+ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ -+ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ -+ | unicom* | ibm* | next | hp | isi* | apollo | altos* \ -+ | convergent* | ncr* | news | 32* | 3600* | 3100* \ -+ | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ -+ | ultra | tti* | harris | dolphin | highlevel | gould \ -+ | cbm | ns | masscomp | apple | axis | knuth | cray \ -+ | microblaze* | sim | cisco \ -+ | oki | wec | wrs | winbond) -+ basic_machine=$field1-$field2 - os= -- basic_machine=$1 -- ;; -- -scout) -- ;; -- -wrs) -- os=-vxworks -- basic_machine=$1 -- ;; -- -chorusos*) -- os=-chorusos -- basic_machine=$1 - ;; -- -chorusrdb) -- os=-chorusrdb -- basic_machine=$1 -- ;; -- -hiux*) -- os=-hiuxwe2 -- ;; -- -sco6) -- os=-sco5v6 -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -sco5) -- os=-sco3.2v5 -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -sco4) -- os=-sco3.2v4 -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -sco3.2.[4-9]*) -- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -sco3.2v[4-9]*) -- # Don't forget version if it is 3.2v4 or newer. -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -sco5v6*) -- # Don't forget version if it is 3.2v4 or newer. -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -sco*) -- os=-sco3.2v2 -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -udk*) -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -isc) -- os=-isc2.2 -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -clix*) -- basic_machine=clipper-intergraph -- ;; -- -isc*) -- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` -- ;; -- -lynx*178) -- os=-lynxos178 -- ;; -- -lynx*5) -- os=-lynxos5 -- ;; -- -lynx*) -- os=-lynxos -- ;; -- -ptx*) -- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` -- ;; -- -windowsnt*) -- os=`echo $os | sed -e 's/windowsnt/winnt/'` -- ;; -- -psos*) -- os=-psos -- ;; -- -mint | -mint[0-9]*) -- basic_machine=m68k-atari -- os=-mint -+ *) -+ basic_machine=$field1 -+ os=$field2 - ;; - esac -- --# Decode aliases for certain CPU-COMPANY combinations. --case $basic_machine in -- # Recognize the basic CPU types without company name. -- # Some are omitted here because they have special meanings below. -- 1750a | 580 \ -- | a29k \ -- | aarch64 | aarch64_be \ -- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ -- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ -- | am33_2.0 \ -- | arc | arceb \ -- | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ -- | avr | avr32 \ -- | ba \ -- | be32 | be64 \ -- | bfin \ -- | c4x | c8051 | clipper \ -- | d10v | d30v | dlx | dsp16xx \ -- | e2k | epiphany \ -- | fido | fr30 | frv | ft32 \ -- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ -- | hexagon \ -- | i370 | i860 | i960 | ia64 \ -- | ip2k | iq2000 \ -- | k1om \ -- | le32 | le64 \ -- | lm32 \ -- | m32c | m32r | m32rle | m68000 | m68k | m88k \ -- | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ -- | mips | mipsbe | mipseb | mipsel | mipsle \ -- | mips16 \ -- | mips64 | mips64el \ -- | mips64octeon | mips64octeonel \ -- | mips64orion | mips64orionel \ -- | mips64r5900 | mips64r5900el \ -- | mips64vr | mips64vrel \ -- | mips64vr4100 | mips64vr4100el \ -- | mips64vr4300 | mips64vr4300el \ -- | mips64vr5000 | mips64vr5000el \ -- | mips64vr5900 | mips64vr5900el \ -- | mipsisa32 | mipsisa32el \ -- | mipsisa32r2 | mipsisa32r2el \ -- | mipsisa32r6 | mipsisa32r6el \ -- | mipsisa64 | mipsisa64el \ -- | mipsisa64r2 | mipsisa64r2el \ -- | mipsisa64r6 | mipsisa64r6el \ -- | mipsisa64sb1 | mipsisa64sb1el \ -- | mipsisa64sr71k | mipsisa64sr71kel \ -- | mipsr5900 | mipsr5900el \ -- | mipstx39 | mipstx39el \ -- | mn10200 | mn10300 \ -- | moxie \ -- | mt \ -- | msp430 \ -- | nds32 | nds32le | nds32be \ -- | nios | nios2 | nios2eb | nios2el \ -- | ns16k | ns32k \ -- | open8 | or1k | or1knd | or32 \ -- | pdp10 | pdp11 | pj | pjl \ -- | powerpc | powerpc64 | powerpc64le | powerpcle \ -- | pyramid \ -- | riscv32 | riscv64 \ -- | rl78 | rx \ -- | score \ -- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ -- | sh64 | sh64le \ -- | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ -- | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ -- | spu \ -- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ -- | ubicom32 \ -- | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ -- | visium \ -- | we32k \ -- | x86 | xc16x | xstormy16 | xtensa \ -- | z8k | z80) -- basic_machine=$basic_machine-unknown -- ;; -- c54x) -- basic_machine=tic54x-unknown -- ;; -- c55x) -- basic_machine=tic55x-unknown -- ;; -- c6x) -- basic_machine=tic6x-unknown -- ;; -- leon|leon[3-9]) -- basic_machine=sparc-$basic_machine -- ;; -- m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) -- basic_machine=$basic_machine-unknown -- os=-none -- ;; -- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; -- ms1) -- basic_machine=mt-unknown -- ;; -- -- strongarm | thumb | xscale) -- basic_machine=arm-unknown -- ;; -- xgate) -- basic_machine=$basic_machine-unknown -- os=-none -- ;; -- xscaleeb) -- basic_machine=armeb-unknown -- ;; -- -- xscaleel) -- basic_machine=armel-unknown -- ;; -- -- # We use `pc' rather than `unknown' -- # because (1) that's what they normally are, and -- # (2) the word "unknown" tends to confuse beginning users. -- i*86 | x86_64) -- basic_machine=$basic_machine-pc -- ;; -- # Object if more than one company name word. -- *-*-*) -- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 -- exit 1 -- ;; -- # Recognize the basic CPU types with company name. -- 580-* \ -- | a29k-* \ -- | aarch64-* | aarch64_be-* \ -- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ -- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ -- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ -- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ -- | avr-* | avr32-* \ -- | ba-* \ -- | be32-* | be64-* \ -- | bfin-* | bs2000-* \ -- | c[123]* | c30-* | [cjt]90-* | c4x-* \ -- | c8051-* | clipper-* | craynv-* | cydra-* \ -- | d10v-* | d30v-* | dlx-* \ -- | e2k-* | elxsi-* \ -- | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ -- | h8300-* | h8500-* \ -- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ -- | hexagon-* \ -- | i*86-* | i860-* | i960-* | ia64-* \ -- | ip2k-* | iq2000-* \ -- | k1om-* \ -- | le32-* | le64-* \ -- | lm32-* \ -- | m32c-* | m32r-* | m32rle-* \ -- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ -- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ -- | microblaze-* | microblazeel-* \ -- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ -- | mips16-* \ -- | mips64-* | mips64el-* \ -- | mips64octeon-* | mips64octeonel-* \ -- | mips64orion-* | mips64orionel-* \ -- | mips64r5900-* | mips64r5900el-* \ -- | mips64vr-* | mips64vrel-* \ -- | mips64vr4100-* | mips64vr4100el-* \ -- | mips64vr4300-* | mips64vr4300el-* \ -- | mips64vr5000-* | mips64vr5000el-* \ -- | mips64vr5900-* | mips64vr5900el-* \ -- | mipsisa32-* | mipsisa32el-* \ -- | mipsisa32r2-* | mipsisa32r2el-* \ -- | mipsisa32r6-* | mipsisa32r6el-* \ -- | mipsisa64-* | mipsisa64el-* \ -- | mipsisa64r2-* | mipsisa64r2el-* \ -- | mipsisa64r6-* | mipsisa64r6el-* \ -- | mipsisa64sb1-* | mipsisa64sb1el-* \ -- | mipsisa64sr71k-* | mipsisa64sr71kel-* \ -- | mipsr5900-* | mipsr5900el-* \ -- | mipstx39-* | mipstx39el-* \ -- | mmix-* \ -- | mt-* \ -- | msp430-* \ -- | nds32-* | nds32le-* | nds32be-* \ -- | nios-* | nios2-* | nios2eb-* | nios2el-* \ -- | none-* | np1-* | ns16k-* | ns32k-* \ -- | open8-* \ -- | or1k*-* \ -- | orion-* \ -- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ -- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ -- | pyramid-* \ -- | riscv32-* | riscv64-* \ -- | rl78-* | romp-* | rs6000-* | rx-* \ -- | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ -- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ -- | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ -- | sparclite-* \ -- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ -- | tahoe-* \ -- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ -- | tile*-* \ -- | tron-* \ -- | ubicom32-* \ -- | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ -- | vax-* \ -- | visium-* \ -- | we32k-* \ -- | x86-* | x86_64-* | xc16x-* | xps100-* \ -- | xstormy16-* | xtensa*-* \ -- | ymp-* \ -- | z8k-* | z80-*) -- ;; -- # Recognize the basic CPU types without company name, with glob match. -- xtensa*) -- basic_machine=$basic_machine-unknown -+ esac - ;; -- # Recognize the various machine names and aliases which stand -- # for a CPU type and a company and sometimes even an OS. -+ *) -+ # Convert single-component short-hands not valid as part of -+ # multi-component configurations. -+ case $field1 in - 386bsd) -- basic_machine=i386-unknown -- os=-bsd -- ;; -- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) -- basic_machine=m68000-att -- ;; -- 3b*) -- basic_machine=we32k-att -+ basic_machine=i386-pc -+ os=bsd - ;; - a29khif) - basic_machine=a29k-amd -- os=-udi -- ;; -- abacus) -- basic_machine=abacus-unknown -+ os=udi - ;; - adobe68k) - basic_machine=m68010-adobe -- os=-scout -+ os=scout - ;; -- alliant | fx80) -+ alliant) - basic_machine=fx80-alliant -+ os= - ;; - altos | altos3068) - basic_machine=m68k-altos -+ os= - ;; - am29k) - basic_machine=a29k-none -- os=-bsd -- ;; -- amd64) -- basic_machine=x86_64-pc -- ;; -- amd64-*) -- basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` -+ os=bsd - ;; - amdahl) - basic_machine=580-amdahl -- os=-sysv -+ os=sysv - ;; -- amiga | amiga-*) -+ amiga) - basic_machine=m68k-unknown -+ os= - ;; - amigaos | amigados) - basic_machine=m68k-unknown -- os=-amigaos -+ os=amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown -- os=-sysv4 -+ os=sysv4 - ;; - apollo68) - basic_machine=m68k-apollo -- os=-sysv -+ os=sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo -- os=-bsd -+ os=bsd - ;; - aros) - basic_machine=i386-pc -- os=-aros -- ;; -- asmjs) -- basic_machine=asmjs-unknown -+ os=aros - ;; - aux) - basic_machine=m68k-apple -- os=-aux -+ os=aux - ;; - balance) - basic_machine=ns32k-sequent -- os=-dynix -+ os=dynix - ;; - blackfin) - basic_machine=bfin-unknown -- os=-linux -- ;; -- blackfin-*) -- basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` -- os=-linux -- ;; -- bluegene*) -- basic_machine=powerpc-ibm -- os=-cnk -- ;; -- c54x-*) -- basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- c55x-*) -- basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- c6x-*) -- basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- c90) -- basic_machine=c90-cray -- os=-unicos -+ os=linux - ;; - cegcc) - basic_machine=arm-unknown -- os=-cegcc -+ os=cegcc - ;; - convex-c1) - basic_machine=c1-convex -- os=-bsd -+ os=bsd - ;; - convex-c2) - basic_machine=c2-convex -- os=-bsd -+ os=bsd - ;; - convex-c32) - basic_machine=c32-convex -- os=-bsd -+ os=bsd - ;; - convex-c34) - basic_machine=c34-convex -- os=-bsd -+ os=bsd - ;; - convex-c38) - basic_machine=c38-convex -- os=-bsd -+ os=bsd - ;; -- cray | j90) -+ cray) - basic_machine=j90-cray -- os=-unicos -- ;; -- craynv) -- basic_machine=craynv-cray -- os=-unicosmp -- ;; -- cr16 | cr16-*) -- basic_machine=cr16-unknown -- os=-elf -+ os=unicos - ;; - crds | unos) - basic_machine=m68k-crds -+ os= - ;; -- crisv32 | crisv32-* | etraxfs*) -- basic_machine=crisv32-axis -- ;; -- cris | cris-* | etrax*) -- basic_machine=cris-axis -- ;; -- crx) -- basic_machine=crx-unknown -- os=-elf -- ;; -- da30 | da30-*) -+ da30) - basic_machine=m68k-da30 -+ os= - ;; -- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) -+ decstation | pmax | pmin | dec3100 | decstatn) - basic_machine=mips-dec -- ;; -- decsystem10* | dec10*) -- basic_machine=pdp10-dec -- os=-tops10 -- ;; -- decsystem20* | dec20*) -- basic_machine=pdp10-dec -- os=-tops20 -- ;; -- delta | 3300 | motorola-3300 | motorola-delta \ -- | 3300-motorola | delta-motorola) -- basic_machine=m68k-motorola -+ os= - ;; - delta88) - basic_machine=m88k-motorola -- os=-sysv3 -+ os=sysv3 - ;; - dicos) - basic_machine=i686-pc -- os=-dicos -+ os=dicos - ;; - djgpp) - basic_machine=i586-pc -- os=-msdosdjgpp -- ;; -- dpx20 | dpx20-*) -- basic_machine=rs6000-bull -- os=-bosx -- ;; -- dpx2* | dpx2*-bull) -- basic_machine=m68k-bull -- os=-sysv3 -- ;; -- e500v[12]) -- basic_machine=powerpc-unknown -- os=$os"spe" -- ;; -- e500v[12]-*) -- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` -- os=$os"spe" -+ os=msdosdjgpp - ;; - ebmon29k) - basic_machine=a29k-amd -- os=-ebmon -- ;; -- elxsi) -- basic_machine=elxsi-elxsi -- os=-bsd -- ;; -- encore | umax | mmax) -- basic_machine=ns32k-encore -+ os=ebmon - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson -- os=-ose -- ;; -- fx2800) -- basic_machine=i860-alliant -- ;; -- genix) -- basic_machine=ns32k-ns -+ os=ose - ;; - gmicro) - basic_machine=tron-gmicro -- os=-sysv -+ os=sysv - ;; - go32) - basic_machine=i386-pc -- os=-go32 -- ;; -- h3050r* | hiux*) -- basic_machine=hppa1.1-hitachi -- os=-hiuxwe2 -+ os=go32 - ;; - h8300hms) - basic_machine=h8300-hitachi -- os=-hms -+ os=hms - ;; - h8300xray) - basic_machine=h8300-hitachi -- os=-xray -+ os=xray - ;; - h8500hms) - basic_machine=h8500-hitachi -- os=-hms -+ os=hms - ;; - harris) - basic_machine=m88k-harris -- os=-sysv3 -+ os=sysv3 - ;; -- hp300-*) -+ hp300 | hp300hpux) - basic_machine=m68k-hp -+ os=hpux - ;; - hp300bsd) - basic_machine=m68k-hp -- os=-bsd -- ;; -- hp300hpux) -- basic_machine=m68k-hp -- os=-hpux -- ;; -- hp3k9[0-9][0-9] | hp9[0-9][0-9]) -- basic_machine=hppa1.0-hp -- ;; -- hp9k2[0-9][0-9] | hp9k31[0-9]) -- basic_machine=m68000-hp -- ;; -- hp9k3[2-9][0-9]) -- basic_machine=m68k-hp -- ;; -- hp9k6[0-9][0-9] | hp6[0-9][0-9]) -- basic_machine=hppa1.0-hp -- ;; -- hp9k7[0-79][0-9] | hp7[0-79][0-9]) -- basic_machine=hppa1.1-hp -- ;; -- hp9k78[0-9] | hp78[0-9]) -- # FIXME: really hppa2.0-hp -- basic_machine=hppa1.1-hp -- ;; -- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) -- # FIXME: really hppa2.0-hp -- basic_machine=hppa1.1-hp -- ;; -- hp9k8[0-9][13679] | hp8[0-9][13679]) -- basic_machine=hppa1.1-hp -- ;; -- hp9k8[0-9][0-9] | hp8[0-9][0-9]) -- basic_machine=hppa1.0-hp -- ;; -- hppa-next) -- os=-nextstep3 -+ os=bsd - ;; - hppaosf) - basic_machine=hppa1.1-hp -- os=-osf -+ os=osf - ;; - hppro) - basic_machine=hppa1.1-hp -- os=-proelf -- ;; -- i370-ibm* | ibm*) -- basic_machine=i370-ibm -- ;; -- i*86v32) -- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` -- os=-sysv32 -- ;; -- i*86v4*) -- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` -- os=-sysv4 -- ;; -- i*86v) -- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` -- os=-sysv -- ;; -- i*86sol2) -- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` -- os=-solaris2 -+ os=proelf - ;; - i386mach) - basic_machine=i386-mach -- os=-mach -- ;; -- i386-vsta | vsta) -- basic_machine=i386-unknown -- os=-vsta -- ;; -- iris | iris4d) -- basic_machine=mips-sgi -- case $os in -- -irix*) -- ;; -- *) -- os=-irix4 -- ;; -- esac -+ os=mach - ;; - isi68 | isi) - basic_machine=m68k-isi -- os=-sysv -- ;; -- leon-*|leon[3-9]-*) -- basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` -+ os=sysv - ;; - m68knommu) - basic_machine=m68k-unknown -- os=-linux -- ;; -- m68knommu-*) -- basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` -- os=-linux -- ;; -- m88k-omron*) -- basic_machine=m88k-omron -+ os=linux - ;; - magnum | m3230) - basic_machine=mips-mips -- os=-sysv -+ os=sysv - ;; - merlin) - basic_machine=ns32k-utek -- os=-sysv -- ;; -- microblaze*) -- basic_machine=microblaze-xilinx -+ os=sysv - ;; - mingw64) - basic_machine=x86_64-pc -- os=-mingw64 -+ os=mingw64 - ;; - mingw32) - basic_machine=i686-pc -- os=-mingw32 -+ os=mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown -- os=-mingw32ce -- ;; -- miniframe) -- basic_machine=m68000-convergent -- ;; -- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) -- basic_machine=m68k-atari -- os=-mint -- ;; -- mips3*-*) -- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` -- ;; -- mips3*) -- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown -+ os=mingw32ce - ;; - monitor) - basic_machine=m68k-rom68k -- os=-coff -+ os=coff - ;; - morphos) - basic_machine=powerpc-unknown -- os=-morphos -+ os=morphos - ;; - moxiebox) - basic_machine=moxie-unknown -- os=-moxiebox -+ os=moxiebox - ;; - msdos) - basic_machine=i386-pc -- os=-msdos -- ;; -- ms1-*) -- basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` -+ os=msdos - ;; - msys) - basic_machine=i686-pc -- os=-msys -+ os=msys - ;; - mvs) - basic_machine=i370-ibm -- os=-mvs -+ os=mvs - ;; - nacl) - basic_machine=le32-unknown -- os=-nacl -+ os=nacl - ;; - ncr3000) - basic_machine=i486-ncr -- os=-sysv4 -+ os=sysv4 - ;; - netbsd386) -- basic_machine=i386-unknown -- os=-netbsd -+ basic_machine=i386-pc -+ os=netbsd - ;; - netwinder) - basic_machine=armv4l-rebel -- os=-linux -+ os=linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony -- os=-newsos -+ os=newsos - ;; - news1000) - basic_machine=m68030-sony -- os=-newsos -- ;; -- news-3600 | risc-news) -- basic_machine=mips-sony -- os=-newsos -+ os=newsos - ;; - necv70) - basic_machine=v70-nec -- os=-sysv -- ;; -- next | m*-next ) -- basic_machine=m68k-next -- case $os in -- -nextstep* ) -- ;; -- -ns2*) -- os=-nextstep2 -- ;; -- *) -- os=-nextstep3 -- ;; -- esac -+ os=sysv - ;; - nh3000) - basic_machine=m68k-harris -- os=-cxux -+ os=cxux - ;; - nh[45]000) - basic_machine=m88k-harris -- os=-cxux -+ os=cxux - ;; - nindy960) - basic_machine=i960-intel -- os=-nindy -+ os=nindy - ;; - mon960) - basic_machine=i960-intel -- os=-mon960 -+ os=mon960 - ;; - nonstopux) - basic_machine=mips-compaq -- os=-nonstopux -- ;; -- np1) -- basic_machine=np1-gould -- ;; -- neo-tandem) -- basic_machine=neo-tandem -- ;; -- nse-tandem) -- basic_machine=nse-tandem -- ;; -- nsr-tandem) -- basic_machine=nsr-tandem -- ;; -- op50n-* | op60c-*) -- basic_machine=hppa1.1-oki -- os=-proelf -- ;; -- openrisc | openrisc-*) -- basic_machine=or32-unknown -+ os=nonstopux - ;; - os400) - basic_machine=powerpc-ibm -- os=-os400 -+ os=os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson -- os=-ose -+ os=ose - ;; - os68k) - basic_machine=m68k-none -- os=-os68k -- ;; -- pa-hitachi) -- basic_machine=hppa1.1-hitachi -- os=-hiuxwe2 -+ os=os68k - ;; - paragon) - basic_machine=i860-intel -- os=-osf -+ os=osf - ;; - parisc) - basic_machine=hppa-unknown -- os=-linux -- ;; -- parisc-*) -- basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` -- os=-linux -- ;; -- pbd) -- basic_machine=sparc-tti -- ;; -- pbb) -- basic_machine=m68k-tti -- ;; -- pc532 | pc532-*) -- basic_machine=ns32k-pc532 -- ;; -- pc98) -- basic_machine=i386-pc -- ;; -- pc98-*) -- basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- pentium | p5 | k5 | k6 | nexgen | viac3) -- basic_machine=i586-pc -- ;; -- pentiumpro | p6 | 6x86 | athlon | athlon_*) -- basic_machine=i686-pc -- ;; -- pentiumii | pentium2 | pentiumiii | pentium3) -- basic_machine=i686-pc -- ;; -- pentium4) -- basic_machine=i786-pc -- ;; -- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) -- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- pentiumpro-* | p6-* | 6x86-* | athlon-*) -- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) -- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- pentium4-*) -- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- pn) -- basic_machine=pn-gould -- ;; -- power) basic_machine=power-ibm -- ;; -- ppc | ppcbe) basic_machine=powerpc-unknown -- ;; -- ppc-* | ppcbe-*) -- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- ppcle | powerpclittle) -- basic_machine=powerpcle-unknown -- ;; -- ppcle-* | powerpclittle-*) -- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- ppc64) basic_machine=powerpc64-unknown -- ;; -- ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- ppc64le | powerpc64little) -- basic_machine=powerpc64le-unknown -- ;; -- ppc64le-* | powerpc64little-*) -- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` -- ;; -- ps2) -- basic_machine=i386-ibm -+ os=linux - ;; - pw32) - basic_machine=i586-unknown -- os=-pw32 -+ os=pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc -- os=-rdos -+ os=rdos - ;; - rdos32) - basic_machine=i386-pc -- os=-rdos -+ os=rdos - ;; - rom68k) - basic_machine=m68k-rom68k -- os=-coff -- ;; -- rm[46]00) -- basic_machine=mips-siemens -- ;; -- rtpc | rtpc-*) -- basic_machine=romp-ibm -- ;; -- s390 | s390-*) -- basic_machine=s390-ibm -- ;; -- s390x | s390x-*) -- basic_machine=s390x-ibm -+ os=coff - ;; - sa29200) - basic_machine=a29k-amd -- os=-udi -- ;; -- sb1) -- basic_machine=mipsisa64sb1-unknown -- ;; -- sb1el) -- basic_machine=mipsisa64sb1el-unknown -- ;; -- sde) -- basic_machine=mipsisa32-sde -- os=-elf -+ os=udi - ;; - sei) - basic_machine=mips-sei -- os=-seiux -+ os=seiux - ;; - sequent) - basic_machine=i386-sequent -- ;; -- sh) -- basic_machine=sh-hitachi -- os=-hms -- ;; -- sh5el) -- basic_machine=sh5le-unknown -- ;; -- sh64) -- basic_machine=sh64-unknown -- ;; -- sparclite-wrs | simso-wrs) -- basic_machine=sparclite-wrs -- os=-vxworks -+ os= - ;; - sps7) - basic_machine=m68k-bull -- os=-sysv2 -- ;; -- spur) -- basic_machine=spur-unknown -+ os=sysv2 - ;; - st2000) - basic_machine=m68k-tandem -+ os= - ;; - stratus) - basic_machine=i860-stratus -- os=-sysv4 -- ;; -- strongarm-* | thumb-*) -- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` -+ os=sysv4 - ;; - sun2) - basic_machine=m68000-sun -+ os= - ;; - sun2os3) - basic_machine=m68000-sun -- os=-sunos3 -+ os=sunos3 - ;; - sun2os4) - basic_machine=m68000-sun -- os=-sunos4 -+ os=sunos4 -+ ;; -+ sun3) -+ basic_machine=m68k-sun -+ os= - ;; - sun3os3) - basic_machine=m68k-sun -- os=-sunos3 -+ os=sunos3 - ;; - sun3os4) - basic_machine=m68k-sun -- os=-sunos4 -+ os=sunos4 -+ ;; -+ sun4) -+ basic_machine=sparc-sun -+ os= - ;; - sun4os3) - basic_machine=sparc-sun -- os=-sunos3 -+ os=sunos3 - ;; - sun4os4) - basic_machine=sparc-sun -- os=-sunos4 -+ os=sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun -- os=-solaris2 -- ;; -- sun3 | sun3-*) -- basic_machine=m68k-sun -- ;; -- sun4) -- basic_machine=sparc-sun -+ os=solaris2 - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun -+ os= - ;; - sv1) - basic_machine=sv1-cray -- os=-unicos -+ os=unicos - ;; - symmetry) - basic_machine=i386-sequent -- os=-dynix -+ os=dynix - ;; - t3e) - basic_machine=alphaev5-cray -- os=-unicos -+ os=unicos - ;; - t90) - basic_machine=t90-cray -- os=-unicos -- ;; -- tile*) -- basic_machine=$basic_machine-unknown -- os=-linux-gnu -- ;; -- tx39) -- basic_machine=mipstx39-unknown -- ;; -- tx39el) -- basic_machine=mipstx39el-unknown -+ os=unicos - ;; - toad1) - basic_machine=pdp10-xkl -- os=-tops20 -- ;; -- tower | tower-32) -- basic_machine=m68k-ncr -+ os=tops20 - ;; - tpf) - basic_machine=s390x-ibm -- os=-tpf -+ os=tpf - ;; - udi29k) - basic_machine=a29k-amd -- os=-udi -+ os=udi - ;; - ultra3) - basic_machine=a29k-nyu -- os=-sym1 -+ os=sym1 - ;; - v810 | necv810) - basic_machine=v810-nec -- os=-none -+ os=none - ;; - vaxv) - basic_machine=vax-dec -- os=-sysv -+ os=sysv - ;; - vms) - basic_machine=vax-dec -- os=-vms -+ os=vms - ;; -- vpp*|vx|vx-*) -- basic_machine=f301-fujitsu -+ vsta) -+ basic_machine=i386-pc -+ os=vsta - ;; - vxworks960) - basic_machine=i960-wrs -- os=-vxworks -+ os=vxworks - ;; - vxworks68) - basic_machine=m68k-wrs -- os=-vxworks -+ os=vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs -- os=-vxworks -- ;; -- w65*) -- basic_machine=w65-wdc -- os=-none -- ;; -- w89k-*) -- basic_machine=hppa1.1-winbond -- os=-proelf -+ os=vxworks - ;; - xbox) - basic_machine=i686-pc -- os=-mingw32 -- ;; -- xps | xps100) -- basic_machine=xps100-honeywell -- ;; -- xscale-* | xscalee[bl]-*) -- basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` -+ os=mingw32 - ;; - ymp) - basic_machine=ymp-cray -- os=-unicos -+ os=unicos - ;; -- z8k-*-coff) -- basic_machine=z8k-unknown -- os=-sim -- ;; -- z80-*-coff) -- basic_machine=z80-unknown -- os=-sim -+ *) -+ basic_machine=$1 -+ os= - ;; -- none) -- basic_machine=none-none -- os=-none -+ esac - ;; -+esac - -+# Decode 1-component or ad-hoc basic machines -+case $basic_machine in - # Here we handle the default manufacturer of certain CPU types. It is in - # some cases the only manufacturer, in others, it is the most popular. - w89k) -- basic_machine=hppa1.1-winbond -+ cpu=hppa1.1 -+ vendor=winbond - ;; - op50n) -- basic_machine=hppa1.1-oki -+ cpu=hppa1.1 -+ vendor=oki - ;; - op60c) -- basic_machine=hppa1.1-oki -+ cpu=hppa1.1 -+ vendor=oki - ;; -- romp) -- basic_machine=romp-ibm -+ ibm*) -+ cpu=i370 -+ vendor=ibm - ;; -- mmix) -- basic_machine=mmix-knuth -+ orion105) -+ cpu=clipper -+ vendor=highlevel - ;; -- rs6000) -- basic_machine=rs6000-ibm -+ mac | mpw | mac-mpw) -+ cpu=m68k -+ vendor=apple - ;; -- vax) -- basic_machine=vax-dec -+ pmac | pmac-mpw) -+ cpu=powerpc -+ vendor=apple - ;; -- pdp10) -- # there are many clones, so DEC is not a safe bet -- basic_machine=pdp10-unknown -+ -+ # Recognize the various machine names and aliases which stand -+ # for a CPU type and a company and sometimes even an OS. -+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) -+ cpu=m68000 -+ vendor=att - ;; -- pdp11) -- basic_machine=pdp11-dec -+ 3b*) -+ cpu=we32k -+ vendor=att - ;; -- we32k) -- basic_machine=we32k-att -+ bluegene*) -+ cpu=powerpc -+ vendor=ibm -+ os=cnk - ;; -- sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) -- basic_machine=sh-unknown -+ decsystem10* | dec10*) -+ cpu=pdp10 -+ vendor=dec -+ os=tops10 - ;; -- sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) -- basic_machine=sparc-sun -+ decsystem20* | dec20*) -+ cpu=pdp10 -+ vendor=dec -+ os=tops20 - ;; -- cydra) -- basic_machine=cydra-cydrome -+ delta | 3300 | motorola-3300 | motorola-delta \ -+ | 3300-motorola | delta-motorola) -+ cpu=m68k -+ vendor=motorola - ;; -- orion) -- basic_machine=orion-highlevel -+ dpx2*) -+ cpu=m68k -+ vendor=bull -+ os=sysv3 - ;; -- orion105) -- basic_machine=clipper-highlevel -+ encore | umax | mmax) -+ cpu=ns32k -+ vendor=encore - ;; -- mac | mpw | mac-mpw) -- basic_machine=m68k-apple -+ elxsi) -+ cpu=elxsi -+ vendor=elxsi -+ os=${os:-bsd} - ;; -- pmac | pmac-mpw) -- basic_machine=powerpc-apple -+ fx2800) -+ cpu=i860 -+ vendor=alliant -+ ;; -+ genix) -+ cpu=ns32k -+ vendor=ns -+ ;; -+ h3050r* | hiux*) -+ cpu=hppa1.1 -+ vendor=hitachi -+ os=hiuxwe2 -+ ;; -+ hp3k9[0-9][0-9] | hp9[0-9][0-9]) -+ cpu=hppa1.0 -+ vendor=hp -+ ;; -+ hp9k2[0-9][0-9] | hp9k31[0-9]) -+ cpu=m68000 -+ vendor=hp -+ ;; -+ hp9k3[2-9][0-9]) -+ cpu=m68k -+ vendor=hp -+ ;; -+ hp9k6[0-9][0-9] | hp6[0-9][0-9]) -+ cpu=hppa1.0 -+ vendor=hp -+ ;; -+ hp9k7[0-79][0-9] | hp7[0-79][0-9]) -+ cpu=hppa1.1 -+ vendor=hp -+ ;; -+ hp9k78[0-9] | hp78[0-9]) -+ # FIXME: really hppa2.0-hp -+ cpu=hppa1.1 -+ vendor=hp -+ ;; -+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) -+ # FIXME: really hppa2.0-hp -+ cpu=hppa1.1 -+ vendor=hp -+ ;; -+ hp9k8[0-9][13679] | hp8[0-9][13679]) -+ cpu=hppa1.1 -+ vendor=hp -+ ;; -+ hp9k8[0-9][0-9] | hp8[0-9][0-9]) -+ cpu=hppa1.0 -+ vendor=hp -+ ;; -+ i*86v32) -+ cpu=`echo "$1" | sed -e 's/86.*/86/'` -+ vendor=pc -+ os=sysv32 -+ ;; -+ i*86v4*) -+ cpu=`echo "$1" | sed -e 's/86.*/86/'` -+ vendor=pc -+ os=sysv4 -+ ;; -+ i*86v) -+ cpu=`echo "$1" | sed -e 's/86.*/86/'` -+ vendor=pc -+ os=sysv -+ ;; -+ i*86sol2) -+ cpu=`echo "$1" | sed -e 's/86.*/86/'` -+ vendor=pc -+ os=solaris2 -+ ;; -+ j90 | j90-cray) -+ cpu=j90 -+ vendor=cray -+ os=${os:-unicos} -+ ;; -+ iris | iris4d) -+ cpu=mips -+ vendor=sgi -+ case $os in -+ irix*) -+ ;; -+ *) -+ os=irix4 -+ ;; -+ esac -+ ;; -+ miniframe) -+ cpu=m68000 -+ vendor=convergent -+ ;; -+ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) -+ cpu=m68k -+ vendor=atari -+ os=mint -+ ;; -+ news-3600 | risc-news) -+ cpu=mips -+ vendor=sony -+ os=newsos -+ ;; -+ next | m*-next) -+ cpu=m68k -+ vendor=next -+ case $os in -+ openstep*) -+ ;; -+ nextstep*) - ;; -- *-unknown) -- # Make sure to match an already-canonicalized machine name. -+ ns2*) -+ os=nextstep2 - ;; - *) -- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 -+ os=nextstep3 -+ ;; -+ esac -+ ;; -+ np1) -+ cpu=np1 -+ vendor=gould -+ ;; -+ op50n-* | op60c-*) -+ cpu=hppa1.1 -+ vendor=oki -+ os=proelf -+ ;; -+ pa-hitachi) -+ cpu=hppa1.1 -+ vendor=hitachi -+ os=hiuxwe2 -+ ;; -+ pbd) -+ cpu=sparc -+ vendor=tti -+ ;; -+ pbb) -+ cpu=m68k -+ vendor=tti -+ ;; -+ pc532) -+ cpu=ns32k -+ vendor=pc532 -+ ;; -+ pn) -+ cpu=pn -+ vendor=gould -+ ;; -+ power) -+ cpu=power -+ vendor=ibm -+ ;; -+ ps2) -+ cpu=i386 -+ vendor=ibm -+ ;; -+ rm[46]00) -+ cpu=mips -+ vendor=siemens -+ ;; -+ rtpc | rtpc-*) -+ cpu=romp -+ vendor=ibm -+ ;; -+ sde) -+ cpu=mipsisa32 -+ vendor=sde -+ os=${os:-elf} -+ ;; -+ simso-wrs) -+ cpu=sparclite -+ vendor=wrs -+ os=vxworks -+ ;; -+ tower | tower-32) -+ cpu=m68k -+ vendor=ncr -+ ;; -+ vpp*|vx|vx-*) -+ cpu=f301 -+ vendor=fujitsu -+ ;; -+ w65) -+ cpu=w65 -+ vendor=wdc -+ ;; -+ w89k-*) -+ cpu=hppa1.1 -+ vendor=winbond -+ os=proelf -+ ;; -+ none) -+ cpu=none -+ vendor=none -+ ;; -+ leon|leon[3-9]) -+ cpu=sparc -+ vendor=$basic_machine -+ ;; -+ leon-*|leon[3-9]-*) -+ cpu=sparc -+ vendor=`echo "$basic_machine" | sed 's/-.*//'` -+ ;; -+ -+ *-*) -+ # shellcheck disable=SC2162 -+ IFS="-" read cpu vendor <&2 - exit 1 - ;; - esac -+ ;; -+esac - - # Here we canonicalize certain aliases for manufacturers. --case $basic_machine in -- *-digital*) -- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` -+case $vendor in -+ digital*) -+ vendor=dec - ;; -- *-commodore*) -- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` -+ commodore*) -+ vendor=cbm - ;; - *) - ;; -@@ -1353,200 +1275,244 @@ - - # Decode manufacturer-specific aliases for certain operating systems. - --if [ x"$os" != x"" ] -+if [ x$os != x ] - then - case $os in -- # First match some system type aliases -- # that might get confused with valid system types. -- # -solaris* is a basic system type, with this one exception. -- -auroraux) -- os=-auroraux -+ # First match some system type aliases that might get confused -+ # with valid system types. -+ # solaris* is a basic system type, with this one exception. -+ auroraux) -+ os=auroraux - ;; -- -solaris1 | -solaris1.*) -- os=`echo $os | sed -e 's|solaris1|sunos4|'` -+ bluegene*) -+ os=cnk - ;; -- -solaris) -- os=-solaris2 -+ solaris1 | solaris1.*) -+ os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; -- -svr4*) -- os=-sysv4 -+ solaris) -+ os=solaris2 - ;; -- -unixware*) -- os=-sysv4.2uw -+ unixware*) -+ os=sysv4.2uw - ;; -- -gnu/linux*) -+ gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; -- # First accept the basic system types. -+ # es1800 is here to avoid being matched by es* (a different OS) -+ es1800*) -+ os=ose -+ ;; -+ # Some version numbers need modification -+ chorusos*) -+ os=chorusos -+ ;; -+ isc) -+ os=isc2.2 -+ ;; -+ sco6) -+ os=sco5v6 -+ ;; -+ sco5) -+ os=sco3.2v5 -+ ;; -+ sco4) -+ os=sco3.2v4 -+ ;; -+ sco3.2.[4-9]*) -+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` -+ ;; -+ sco3.2v[4-9]* | sco5v6*) -+ # Don't forget version if it is 3.2v4 or newer. -+ ;; -+ scout) -+ # Don't match below -+ ;; -+ sco*) -+ os=sco3.2v2 -+ ;; -+ psos*) -+ os=psos -+ ;; -+ # Now accept the basic system types. - # The portable systems comes first. -- # Each alternative MUST END IN A *, to match a version number. -- # -sysv* is not here because it comes later, after sysvr4. -- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ -- | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ -- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ -- | -sym* | -kopensolaris* | -plan9* \ -- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ -- | -aos* | -aros* | -cloudabi* | -sortix* \ -- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ -- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ -- | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ -- | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ -- | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ -- | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ -- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ -- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ -- | -chorusos* | -chorusrdb* | -cegcc* \ -- | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ -- | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ -- | -linux-newlib* | -linux-musl* | -linux-uclibc* \ -- | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ -- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ -- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ -- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ -- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ -- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ -- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ -- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ -- | -onefs* | -tirtos* | -phoenix*) -+ # Each alternative MUST end in a * to match a version number. -+ # sysv* is not here because it comes later, after sysvr4. -+ gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ -+ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ -+ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ -+ | sym* | kopensolaris* | plan9* \ -+ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ -+ | aos* | aros* | cloudabi* | sortix* | twizzler* \ -+ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ -+ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ -+ | knetbsd* | mirbsd* | netbsd* \ -+ | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ -+ | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ -+ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ -+ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ -+ | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ -+ | chorusrdb* | cegcc* | glidix* \ -+ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ -+ | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ -+ | linux-newlib* | linux-musl* | linux-uclibc* \ -+ | uxpv* | beos* | mpeix* | udk* | moxiebox* \ -+ | interix* | uwin* | mks* | rhapsody* | darwin* \ -+ | openstep* | oskit* | conix* | pw32* | nonstopux* \ -+ | storm-chaos* | tops10* | tenex* | tops20* | its* \ -+ | os2* | vos* | palmos* | uclinux* | nucleus* \ -+ | morphos* | superux* | rtmk* | windiss* \ -+ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ -+ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ -+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ -+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ -+ | nsk* | powerunix* | genode*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; -- -qnx*) -- case $basic_machine in -- x86-* | i*86-*) -+ qnx*) -+ case $cpu in -+ x86 | i*86) - ;; - *) -- os=-nto$os -+ os=nto-$os - ;; - esac - ;; -- -nto-qnx*) -+ hiux*) -+ os=hiuxwe2 - ;; -- -nto*) -- os=`echo $os | sed -e 's|nto|nto-qnx|'` -+ nto-qnx*) - ;; -- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ -- | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ -- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) -+ nto*) -+ os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; -- -mac*) -- os=`echo $os | sed -e 's|mac|macos|'` -+ sim | xray | os68k* | v88r* \ -+ | windows* | osx | abug | netware* | os9* \ -+ | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) - ;; -- -linux-dietlibc) -- os=-linux-dietlibc -+ linux-dietlibc) -+ os=linux-dietlibc - ;; -- -linux*) -+ linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; -- -sunos5*) -- os=`echo $os | sed -e 's|sunos5|solaris2|'` -+ lynx*178) -+ os=lynxos178 - ;; -- -sunos6*) -- os=`echo $os | sed -e 's|sunos6|solaris3|'` -+ lynx*5) -+ os=lynxos5 - ;; -- -opened*) -- os=-openedition -+ lynx*) -+ os=lynxos - ;; -- -os400*) -- os=-os400 -+ mac*) -+ os=`echo "$os" | sed -e 's|mac|macos|'` - ;; -- -wince*) -- os=-wince -+ opened*) -+ os=openedition - ;; -- -osfrose*) -- os=-osfrose -+ os400*) -+ os=os400 - ;; -- -osf*) -- os=-osf -+ sunos5*) -+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'` - ;; -- -utek*) -- os=-bsd -+ sunos6*) -+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'` - ;; -- -dynix*) -- os=-bsd -+ wince*) -+ os=wince - ;; -- -acis*) -- os=-aos -+ utek*) -+ os=bsd - ;; -- -atheos*) -- os=-atheos -+ dynix*) -+ os=bsd - ;; -- -syllable*) -- os=-syllable -+ acis*) -+ os=aos - ;; -- -386bsd) -- os=-bsd -+ atheos*) -+ os=atheos - ;; -- -ctix* | -uts*) -- os=-sysv -+ syllable*) -+ os=syllable - ;; -- -nova*) -- os=-rtmk-nova -+ 386bsd) -+ os=bsd - ;; -- -ns2 ) -- os=-nextstep2 -+ ctix* | uts*) -+ os=sysv - ;; -- -nsk*) -- os=-nsk -+ nova*) -+ os=rtmk-nova -+ ;; -+ ns2) -+ os=nextstep2 - ;; - # Preserve the version number of sinix5. -- -sinix5.*) -+ sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; -- -sinix*) -- os=-sysv4 -+ sinix*) -+ os=sysv4 - ;; -- -tpf*) -- os=-tpf -+ tpf*) -+ os=tpf - ;; -- -triton*) -- os=-sysv3 -+ triton*) -+ os=sysv3 - ;; -- -oss*) -- os=-sysv3 -+ oss*) -+ os=sysv3 - ;; -- -svr4) -- os=-sysv4 -+ svr4*) -+ os=sysv4 - ;; -- -svr3) -- os=-sysv3 -+ svr3) -+ os=sysv3 - ;; -- -sysvr4) -- os=-sysv4 -+ sysvr4) -+ os=sysv4 - ;; -- # This must come after -sysvr4. -- -sysv*) -+ # This must come after sysvr4. -+ sysv*) - ;; -- -ose*) -- os=-ose -+ ose*) -+ os=ose - ;; -- -es1800*) -- os=-ose -+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) -+ os=mint - ;; -- -xenix) -- os=-xenix -+ zvmoe) -+ os=zvmoe - ;; -- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) -- os=-mint -+ dicos*) -+ os=dicos - ;; -- -aros*) -- os=-aros -+ pikeos*) -+ # Until real need of OS specific support for -+ # particular features comes up, bare metal -+ # configurations are quite functional. -+ case $cpu in -+ arm*) -+ os=eabi - ;; -- -zvmoe) -- os=-zvmoe -+ *) -+ os=elf - ;; -- -dicos*) -- os=-dicos -+ esac - ;; -- -nacl*) -+ nacl*) - ;; -- -ios) -+ ios) -+ ;; -+ none) - ;; -- -none) -+ *-eabi) - ;; - *) -- # Get rid of the `-' at the beginning of $os. -- os=`echo $os | sed 's/[^-]*-//'` -- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 -+ echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 - exit 1 - ;; - esac -@@ -1562,261 +1528,265 @@ - # will signal an error saying that MANUFACTURER isn't an operating - # system, and we'll never get to this point. - --case $basic_machine in -+case $cpu-$vendor in - score-*) -- os=-elf -+ os=elf - ;; - spu-*) -- os=-elf -+ os=elf - ;; - *-acorn) -- os=-riscix1.2 -+ os=riscix1.2 - ;; - arm*-rebel) -- os=-linux -+ os=linux - ;; - arm*-semi) -- os=-aout -+ os=aout - ;; - c4x-* | tic4x-*) -- os=-coff -+ os=coff - ;; - c8051-*) -- os=-elf -+ os=elf -+ ;; -+ clipper-intergraph) -+ os=clix - ;; - hexagon-*) -- os=-elf -+ os=elf - ;; - tic54x-*) -- os=-coff -+ os=coff - ;; - tic55x-*) -- os=-coff -+ os=coff - ;; - tic6x-*) -- os=-coff -+ os=coff - ;; - # This must come before the *-dec entry. - pdp10-*) -- os=-tops20 -+ os=tops20 - ;; - pdp11-*) -- os=-none -+ os=none - ;; - *-dec | vax-*) -- os=-ultrix4.2 -+ os=ultrix4.2 - ;; - m68*-apollo) -- os=-domain -+ os=domain - ;; - i386-sun) -- os=-sunos4.0.2 -+ os=sunos4.0.2 - ;; - m68000-sun) -- os=-sunos3 -+ os=sunos3 - ;; - m68*-cisco) -- os=-aout -+ os=aout - ;; - mep-*) -- os=-elf -+ os=elf - ;; - mips*-cisco) -- os=-elf -+ os=elf - ;; - mips*-*) -- os=-elf -+ os=elf - ;; - or32-*) -- os=-coff -+ os=coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. -- os=-sysv3 -+ os=sysv3 - ;; - sparc-* | *-sun) -- os=-sunos4.1.1 -+ os=sunos4.1.1 - ;; -- *-be) -- os=-beos -+ pru-*) -+ os=elf - ;; -- *-haiku) -- os=-haiku -+ *-be) -+ os=beos - ;; - *-ibm) -- os=-aix -+ os=aix - ;; - *-knuth) -- os=-mmixware -+ os=mmixware - ;; - *-wec) -- os=-proelf -+ os=proelf - ;; - *-winbond) -- os=-proelf -+ os=proelf - ;; - *-oki) -- os=-proelf -+ os=proelf - ;; - *-hp) -- os=-hpux -+ os=hpux - ;; - *-hitachi) -- os=-hiux -+ os=hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) -- os=-sysv -+ os=sysv - ;; - *-cbm) -- os=-amigaos -+ os=amigaos - ;; - *-dg) -- os=-dgux -+ os=dgux - ;; - *-dolphin) -- os=-sysv3 -+ os=sysv3 - ;; - m68k-ccur) -- os=-rtu -+ os=rtu - ;; - m88k-omron*) -- os=-luna -+ os=luna - ;; - *-next ) -- os=-nextstep -+ os=nextstep - ;; - *-sequent) -- os=-ptx -+ os=ptx - ;; - *-crds) -- os=-unos -+ os=unos - ;; - *-ns) -- os=-genix -+ os=genix - ;; - i370-*) -- os=-mvs -- ;; -- *-next) -- os=-nextstep3 -+ os=mvs - ;; - *-gould) -- os=-sysv -+ os=sysv - ;; - *-highlevel) -- os=-bsd -+ os=bsd - ;; - *-encore) -- os=-bsd -+ os=bsd - ;; - *-sgi) -- os=-irix -+ os=irix - ;; - *-siemens) -- os=-sysv4 -+ os=sysv4 - ;; - *-masscomp) -- os=-rtu -+ os=rtu - ;; - f30[01]-fujitsu | f700-fujitsu) -- os=-uxpv -+ os=uxpv - ;; - *-rom68k) -- os=-coff -+ os=coff - ;; - *-*bug) -- os=-coff -+ os=coff - ;; - *-apple) -- os=-macos -+ os=macos - ;; - *-atari*) -- os=-mint -+ os=mint -+ ;; -+ *-wrs) -+ os=vxworks - ;; - *) -- os=-none -+ os=none - ;; - esac - fi - - # Here we handle the case where we know the os, and the CPU type, but not the - # manufacturer. We pick the logical manufacturer. --vendor=unknown --case $basic_machine in -- *-unknown) -+case $vendor in -+ unknown) - case $os in -- -riscix*) -+ riscix*) - vendor=acorn - ;; -- -sunos*) -+ sunos*) - vendor=sun - ;; -- -cnk*|-aix*) -+ cnk*|-aix*) - vendor=ibm - ;; -- -beos*) -+ beos*) - vendor=be - ;; -- -hpux*) -+ hpux*) - vendor=hp - ;; -- -mpeix*) -+ mpeix*) - vendor=hp - ;; -- -hiux*) -+ hiux*) - vendor=hitachi - ;; -- -unos*) -+ unos*) - vendor=crds - ;; -- -dgux*) -+ dgux*) - vendor=dg - ;; -- -luna*) -+ luna*) - vendor=omron - ;; -- -genix*) -+ genix*) - vendor=ns - ;; -- -mvs* | -opened*) -+ clix*) -+ vendor=intergraph -+ ;; -+ mvs* | opened*) - vendor=ibm - ;; -- -os400*) -+ os400*) - vendor=ibm - ;; -- -ptx*) -+ ptx*) - vendor=sequent - ;; -- -tpf*) -+ tpf*) - vendor=ibm - ;; -- -vxsim* | -vxworks* | -windiss*) -+ vxsim* | vxworks* | windiss*) - vendor=wrs - ;; -- -aux*) -+ aux*) - vendor=apple - ;; -- -hms*) -+ hms*) - vendor=hitachi - ;; -- -mpw* | -macos*) -+ mpw* | macos*) - vendor=apple - ;; -- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) -+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) - vendor=atari - ;; -- -vos*) -+ vos*) - vendor=stratus - ;; - esac -- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; - esac - --echo $basic_machine$os -+echo "$cpu-$vendor-$os" - exit - - # Local variables: --# eval: (add-hook 'write-file-hooks 'time-stamp) -+# eval: (add-hook 'before-save-hook 'time-stamp) - # time-stamp-start: "timestamp='" - # time-stamp-format: "%:y-%02m-%02d" - # time-stamp-end: "'" From 52ad8afab036872e862748e9b116822f83403387 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 8 Sep 2025 21:08:21 -0600 Subject: [PATCH 036/182] libtheora: update and fix dnamic linking --- recipes/wip/libs/other/libtheora/recipe.toml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/wip/libs/other/libtheora/recipe.toml b/recipes/wip/libs/other/libtheora/recipe.toml index 95db350e5..12f2579bb 100644 --- a/recipes/wip/libs/other/libtheora/recipe.toml +++ b/recipes/wip/libs/other/libtheora/recipe.toml @@ -1,13 +1,18 @@ -#TODO the redox target is not supported on the configure script [source] -tar = "http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2" +tar = "http://downloads.xiph.org/releases/theora/libtheora-1.2.0.tar.gz" +blake3 = "b2413d6a29669063c30679eb46e09bd55b47d51e1516282bd1f5a752a8ecae91" script = """ -GNU_CONFIG_GET config.sub +DYNAMIC_INIT +autotools_recursive_regenerate """ [build] -template = "configure" +template = "custom" dependencies = [ "libogg", "libvorbis", ] +script = """ +DYNAMIC_INIT +cookbook_configure +""" From 0e3209c1ad973df2c985569562d4d5bc8aa07f79 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 8 Sep 2025 21:11:04 -0600 Subject: [PATCH 037/182] mpg123: update and fix dynamic linking --- recipes/wip/libs/audio/mpg123/recipe.toml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/recipes/wip/libs/audio/mpg123/recipe.toml b/recipes/wip/libs/audio/mpg123/recipe.toml index d092711f4..f88873ab4 100644 --- a/recipes/wip/libs/audio/mpg123/recipe.toml +++ b/recipes/wip/libs/audio/mpg123/recipe.toml @@ -1,5 +1,11 @@ #TODO compilation error [source] -tar = "https://mpg123.de/download/mpg123-1.31.3.tar.bz2" +tar = "https://mpg123.de/download/mpg123-1.33.2.tar.bz2" +blake3 = "1e604dc14160a8852ef6b880643e3534f44e410af1fd5ba29a80ff960a54e834" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + [build] template = "configure" From e91abf42636c3d741ec8303b1d828ae21b533649 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 10 Sep 2025 15:26:26 +0700 Subject: [PATCH 038/182] Allow missing recipe in repo builder --- src/bin/repo_builder.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/bin/repo_builder.rs b/src/bin/repo_builder.rs index d903bfd13..760fc33cf 100644 --- a/src/bin/repo_builder.rs +++ b/src/bin/repo_builder.rs @@ -59,6 +59,11 @@ fn main() -> Result<(), Box> { let toml_src = stage_dir.with_extension("toml"); let toml_dst = repo_path.join(format!("{}.toml", recipe)); + if !fs::exists(&toml_src)? { + eprintln!("recipe {} is missing stage.toml", recipe); + continue; + } + if is_newer(&toml_src, &toml_dst) { eprintln!("\x1b[01;38;5;155mrepo - publishing {}\x1b[0m", recipe); if fs::exists(&pkgar_src)? { From bf8d95bef28bd54bdd500b768d3dc7f73d8c37de Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Wed, 10 Sep 2025 17:36:54 +0000 Subject: [PATCH 039/182] Fix install failure due to symlink --- recipes/dev/gcc13/recipe.toml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/recipes/dev/gcc13/recipe.toml b/recipes/dev/gcc13/recipe.toml index 38dde656d..312eb6ebd 100644 --- a/recipes/dev/gcc13/recipe.toml +++ b/recipes/dev/gcc13/recipe.toml @@ -21,12 +21,8 @@ mkdir -p "${COOKBOOK_SYSROOT}/usr" ln -sf "${COOKBOOK_SYSROOT}/include" "${COOKBOOK_SYSROOT}/usr/include" ln -sf "${COOKBOOK_SYSROOT}/lib" "${COOKBOOK_SYSROOT}/usr/lib" -COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" +COOKBOOK_CONFIGURE_FLAGS+=( --target="${GNU_TARGET}" - --prefix=/ - --enable-shared - --disable-static --with-sysroot=/ --with-build-sysroot="${COOKBOOK_SYSROOT}" --enable-languages=c,c++,lto @@ -40,9 +36,7 @@ COOKBOOK_CONFIGURE_FLAGS=( "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" all-gcc all-target-libgcc all-target-libstdc++-v3 "${COOKBOOK_MAKE}" install-gcc install-target-libgcc install-target-libstdc++-v3 DESTDIR="${COOKBOOK_STAGE}" -ln -s "gcc" "${COOKBOOK_STAGE}/bin/cc" -mkdir -p "${COOKBOOK_STAGE}/usr/libexec" -ln -s "/libexec/gcc" "${COOKBOOK_STAGE}/usr/libexec/gcc" +ln -s "gcc" "${COOKBOOK_STAGE}/usr/bin/cc" # Avoid conflict with libgcc & libstdcxx -rm -f "${COOKBOOK_STAGE}"/lib/libgcc_s.so* "${COOKBOOK_STAGE}"/lib/libstdc++.so* +rm -f "${COOKBOOK_STAGE}"/usr/lib/libgcc_s.so* "${COOKBOOK_STAGE}"/usr/lib/libstdc++.so* """ From 0ca65a841512f2dc70b9a25f2a17a7263728e258 Mon Sep 17 00:00:00 2001 From: Josh Megnauth Date: Sun, 10 Aug 2025 03:08:15 -0400 Subject: [PATCH 040/182] Fish (builds, runs, hangs on waitpid) Fish builds and runs! The patch is refreshingly simple: * mount.h is disabled because we don't have it. * A recent revision of libc is needed for Redox constants. Types changed a bit between releases, so some casts had to be removed or added. * We don't have pselect, so I had to hack around it by mimicking how it works. Unfortunately, running programs or commands hangs unless part of a pipeline. So, `ls` hangs but `ls &` works. It seems like a waitpid issue rather a fork/exec issue. --- recipes/wip/shells/fish-shell/recipe.toml | 32 ++--- recipes/wip/shells/fish-shell/redox.patch | 144 ++++++++++++++++++++++ 2 files changed, 155 insertions(+), 21 deletions(-) create mode 100644 recipes/wip/shells/fish-shell/redox.patch diff --git a/recipes/wip/shells/fish-shell/recipe.toml b/recipes/wip/shells/fish-shell/recipe.toml index 34e55922c..4ef60fe76 100644 --- a/recipes/wip/shells/fish-shell/recipe.toml +++ b/recipes/wip/shells/fish-shell/recipe.toml @@ -1,27 +1,17 @@ -#TODO not compiled or tested +# WIP: Builds, runs, but hangs on waitpid + [source] git = "https://github.com/fish-shell/fish-shell" +rev = "54e8ad7e90a8213c01ba58de0640223bee6846d6" +patches = ["redox.patch"] + [build] template = "custom" -dependencies = [ - "ncurses", - "gettext", - "pcre", -] +dependencies = ["gettext", "ncurses", "pcre"] script = """ -export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" -cookbook_cargo -#COOKBOOK_CONFIGURE="cmake" -#COOKBOOK_CONFIGURE_FLAGS=( -# -DCMAKE_BUILD_TYPE=Release -# -DCMAKE_CROSSCOMPILING=True -# -DCMAKE_EXE_LINKER_FLAGS="-static" -# -DCMAKE_INSTALL_PREFIX="/" -# -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" -# -DCMAKE_SYSTEM_NAME=Generic -# -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" -# -DCMAKE_VERBOSE_MAKEFILE=On -#"${COOKBOOK_SOURCE}" -#) -#cookbook_configure +DYNAMIC_INIT + +# The only default enabled feature is building the man pages. +# However, that requires sphinx so it can just be enabled later. +cookbook_cargo --no-default-features """ diff --git a/recipes/wip/shells/fish-shell/redox.patch b/recipes/wip/shells/fish-shell/redox.patch new file mode 100644 index 000000000..9b5a0d30d --- /dev/null +++ b/recipes/wip/shells/fish-shell/redox.patch @@ -0,0 +1,144 @@ +diff '--color=auto' -ruwN source/Cargo.toml source-new/Cargo.toml +--- source/Cargo.toml 2025-09-11 01:59:14.785564526 -0400 ++++ source-new/Cargo.toml 2025-09-11 01:59:45.885553436 -0400 +@@ -35,12 +35,12 @@ + + bitflags = "2.5.0" + errno = "0.3.0" +-libc = "0.2" ++libc = { git = "https://github.com/rust-lang/libc", rev = "b31ee9b22f99354f2ca00c68d038d6f377c8b8a4", features = ["extra_traits"] } + # lru pulls in hashbrown by default, which uses a faster (though less DoS resistant) hashing algo. + # disabling default features uses the stdlib instead, but it doubles the time to rewrite the history + # files as of 22 April 2024. + lru = "0.13.0" +-nix = { version = "0.30.1", default-features = false, features = [ ++nix = { git = "https://github.com/joshuamegnauth54/nix", branch = "redox-fish-no-merge", default-features = false, features = [ + "event", + "inotify", + "resource", +diff '--color=auto' -ruwN source/src/exec.rs source-new/src/exec.rs +--- source/src/exec.rs 2025-09-11 01:59:14.596625190 -0400 ++++ source-new/src/exec.rs 2025-09-11 02:00:00.315286369 -0400 +@@ -33,7 +33,6 @@ + use crate::nix::{getpid, isatty}; + use crate::null_terminated_array::OwningNullTerminatedArray; + use crate::parser::{Block, BlockId, BlockType, EvalRes, Parser}; +-#[cfg(FISH_USE_POSIX_SPAWN)] + use crate::proc::Pid; + use crate::proc::{ + hup_jobs, is_interactive_session, jobs_requiring_warning_on_exit, no_exec, +@@ -390,7 +389,7 @@ + ) -> ! { + // This function never returns, so we take certain liberties with constness. + +- unsafe { libc::execve(actual_cmd.as_ptr(), argv.get(), envv.get()) }; ++ unsafe { libc::execve(actual_cmd.as_ptr(), argv.get().cast(), envv.get().cast()) }; + let err = errno(); + + // The shebang wasn't introduced until UNIX Seventh Edition, so if +@@ -413,7 +412,11 @@ + // not what we would pass as argv0. + argv2[1] = actual_cmd.as_ptr(); + unsafe { +- libc::execve(_PATH_BSHELL.load(Ordering::Relaxed), &argv2[0], envv.get()); ++ libc::execve( ++ _PATH_BSHELL.load(Ordering::Relaxed), ++ argv2.as_ptr().cast(), ++ envv.get().cast(), ++ ); + } + } + } +diff '--color=auto' -ruwN source/src/fork_exec/postfork.rs source-new/src/fork_exec/postfork.rs +--- source/src/fork_exec/postfork.rs 2025-09-11 01:59:14.828576001 -0400 ++++ source-new/src/fork_exec/postfork.rs 2025-09-11 02:00:00.319001235 -0400 +@@ -339,7 +339,9 @@ + "', which is not an executable command." + ); + } +- } else if md.unwrap().mode() & u32::from(libc::S_IFMT) == u32::from(libc::S_IFDIR) { ++ } else if md.unwrap().mode() & u32::try_from(libc::S_IFMT).unwrap() ++ == u32::try_from(libc::S_IFDIR).unwrap() ++ { + FLOG_SAFE!( + exec, + "Failed to execute process '", +diff '--color=auto' -ruwN source/src/input_common.rs source-new/src/input_common.rs +--- source/src/input_common.rs 2025-09-11 01:59:14.828576001 -0400 ++++ source-new/src/input_common.rs 2025-09-11 02:00:00.316042380 -0400 +@@ -589,7 +589,9 @@ + // pselect expects timeouts in nanoseconds. + const NSEC_PER_MSEC: u64 = 1000 * 1000; + const NSEC_PER_SEC: u64 = NSEC_PER_MSEC * 1000; ++ #[cfg(not(target_os = "redox"))] + let wait_nsec: u64 = (timeout.as_millis() as u64) * NSEC_PER_MSEC; ++ #[cfg(not(target_os = "redox"))] + let timeout = libc::timespec { + tv_sec: (wait_nsec / NSEC_PER_SEC).try_into().unwrap(), + tv_nsec: (wait_nsec % NSEC_PER_SEC).try_into().unwrap(), +@@ -605,6 +607,7 @@ + libc::FD_SET(in_fd, &mut fdset); + } + ++ #[cfg(not(target_os = "redox"))] + let res = unsafe { + libc::pselect( + in_fd + 1, +@@ -616,6 +619,31 @@ + ) + }; + ++ #[cfg(target_os = "redox")] ++ let res = unsafe { ++ //HACK: pselect does this atomically ++ let mut saved = MaybeUninit::uninit(); ++ let mut saved = { ++ libc::sigfillset(saved.as_mut_ptr()); ++ saved.assume_init() ++ }; ++ libc::sigprocmask(libc::SIG_SETMASK, &sigs, &mut saved); ++ let mut timeout = libc::timeval { ++ tv_sec: timeout.as_secs() as _, ++ tv_usec: timeout.subsec_micros() as _, ++ }; ++ let res = libc::select( ++ in_fd + 1, ++ &mut fdset, ++ ptr::null_mut(), ++ ptr::null_mut(), ++ &raw mut timeout, ++ ); ++ libc::sigprocmask(libc::SIG_SETMASK, &saved, ptr::null_mut()); ++ ++ res ++ }; ++ + // Prevent signal starvation on WSL causing the `torn_escapes.py` test to fail + if is_windows_subsystem_for_linux(WSL::V1) { + // Merely querying the current thread's sigmask is sufficient to deliver a pending signal +diff '--color=auto' -ruwN source/src/libc.c source-new/src/libc.c +--- source/src/libc.c 2025-09-11 01:59:14.599514890 -0400 ++++ source-new/src/libc.c 2025-09-11 02:00:00.304589636 -0400 +@@ -4,7 +4,7 @@ + #include + #include + #include // MB_CUR_MAX +-#include // MNT_LOCAL ++/* #include // MNT_LOCAL */ + #include + #include // ST_LOCAL + #include // _CS_PATH, _PC_CASE_SENSITIVE +diff '--color=auto' -ruwN source/src/path.rs source-new/src/path.rs +--- source/src/path.rs 2025-09-11 01:59:14.600515157 -0400 ++++ source-new/src/path.rs 2025-09-11 02:00:00.317047039 -0400 +@@ -738,7 +738,9 @@ + crate::libc::ST_LOCAL(), + &narrow, + ); +- #[cfg(not(target_os = "netbsd"))] ++ #[cfg(target_os = "redox")] ++ let remoteness = DirRemoteness::unknown; ++ #[cfg(not(target_os = "redox"))] + let remoteness = remoteness_via_statfs( + libc::statfs, + |stat: &libc::statfs| stat.f_flags, From 0d307fa4e7bea0a51110f28b9bed94220569fbc6 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Fri, 12 Sep 2025 21:39:51 +0000 Subject: [PATCH 041/182] Initial self-hosting support --- clean.sh | 4 +- config.sh | 20 +++++++++- fetch.sh | 2 +- recipes/core/uutils/recipe.toml | 1 + recipes/other/cookbook/recipe.toml | 28 ++++++++++++++ recipes/wip/libs/other/libtool/recipe.toml | 13 ++++++- repo.sh | 4 +- src/bin/cook.rs | 45 ++++++++++++++++------ src/lib.rs | 10 +++++ unfetch.sh | 4 +- 10 files changed, 108 insertions(+), 23 deletions(-) create mode 100644 recipes/other/cookbook/recipe.toml diff --git a/clean.sh b/clean.sh index e26dba32a..6f7d0b0fd 100755 --- a/clean.sh +++ b/clean.sh @@ -5,14 +5,14 @@ source config.sh if [ $# = 0 ] then - recipes="$(target/release/list_recipes --short)" + recipes="$(list_recipes --short)" else recipes="$@" fi for recipe_name in $recipes do - recipe_path=`target/release/find_recipe $recipe_name` + recipe_path=`find_recipe $recipe_name` echo -e "\033[01;38;5;215mcook - clean $recipe_name\033[0m" rm -rf "${ROOT}/$recipe_path/target/${TARGET}" diff --git a/config.sh b/config.sh index 71131eb89..c3eccb17d 100755 --- a/config.sh +++ b/config.sh @@ -6,6 +6,11 @@ if [ -z "${TARGET}" ] then export TARGET=x86_64-unknown-redox fi +if [ $(uname -s) = 'Redox' ] +then + export IS_REDOX="1" +fi + ARCH="${TARGET%%-*}" HOST="$TARGET" if [ x"${HOST}" == x"riscv64gc-unknown-redox" ] ; then @@ -14,7 +19,6 @@ fi # Automatic variables ROOT="$(cd `dirname "$0"` && pwd)" -export PATH="${ROOT}/bin:$PATH" export AR="${HOST}-gcc-ar" export AS="${HOST}-as" @@ -48,9 +52,21 @@ fi export FIND -if [ ! "$(uname -s)" = "Redox" ] +if [ -z "${IS_REDOX}" ] then function pkgar { "$ROOT/pkgar/target/release/pkgar" "$@" } +function cook { + "$ROOT/target/release/cook" "$@" +} +function repo_builder { + "$ROOT/target/release/repo_builder" "$@" +} +function list_recipes { + "$ROOT/target/release/list_recipes" "$@" +} +function find_recipe { + "$ROOT/target/release/find_recipe" "$@" +} fi diff --git a/fetch.sh b/fetch.sh index 2a1e87a99..73da2648a 100755 --- a/fetch.sh +++ b/fetch.sh @@ -3,4 +3,4 @@ set -e source config.sh -target/release/cook --fetch-only ${@:1} +cook --fetch-only ${@:1} diff --git a/recipes/core/uutils/recipe.toml b/recipes/core/uutils/recipe.toml index 56fcb14df..2f2d85737 100644 --- a/recipes/core/uutils/recipe.toml +++ b/recipes/core/uutils/recipe.toml @@ -41,6 +41,7 @@ BINS=( hashsum head join + install link ln ls diff --git a/recipes/other/cookbook/recipe.toml b/recipes/other/cookbook/recipe.toml new file mode 100644 index 000000000..9b24639a5 --- /dev/null +++ b/recipes/other/cookbook/recipe.toml @@ -0,0 +1,28 @@ +[source] +git = "https://gitlab.redox-os.org/redox-os/cookbook.git" + +[build] +template = "custom" +script = """ +cookbook_cargo + +mkdir -pv "${COOKBOOK_STAGE}/home/user/cookbook" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/cookbook" +""" + +[package] +dependencies = [ + # TODO: When rust working, use this + # "dev-essential", + "autoconf", + "automake", + "gcc13", + "git", + "gnu-make", + "libtool", + "patch", + "pkg-config", + "pkgar", + "sed", + "wget", +] diff --git a/recipes/wip/libs/other/libtool/recipe.toml b/recipes/wip/libs/other/libtool/recipe.toml index 9086e63ca..4788b7a54 100644 --- a/recipes/wip/libs/other/libtool/recipe.toml +++ b/recipes/wip/libs/other/libtool/recipe.toml @@ -1,5 +1,14 @@ -#TODO finish libtool setup +#TODO can build, not tested [source] -tar = "https://ftpmirror.gnu.org/libtool/libtool-2.5.4.tar.gz" +git = "https://gitlab.redox-os.org/redox-os/libtool" +branch = "v2.5.4-redox" +shallow_clone = true +script = """ +./bootstrap \ + --skip-po \ + --force \ + --gnulib-srcdir=./gnulib +""" + [build] template = "configure" diff --git a/repo.sh b/repo.sh index f24580057..ddc0e7793 100755 --- a/repo.sh +++ b/repo.sh @@ -26,9 +26,9 @@ do fi done -target/release/cook $COOK_OPT $recipes +cook $COOK_OPT $recipes repo="$ROOT/repo/$TARGET" mkdir -p "$repo" -target/release/repo_builder "$repo" $recipes +repo_builder "$repo" $recipes diff --git a/src/bin/cook.rs b/src/bin/cook.rs index a5d609976..945df17dd 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -17,7 +17,7 @@ use std::{ use termion::{color, style}; use walkdir::{DirEntry, WalkDir}; -use cookbook::WALK_DEPTH; +use cookbook::{is_redox, WALK_DEPTH}; fn remove_all(path: &Path) -> Result<(), String> { if path.is_dir() { @@ -417,8 +417,9 @@ fn fetch(recipe_dir: &Path, source: &Option) -> Result bool { + true +} + +#[cfg(not(target_os = "redox"))] +pub fn is_redox() -> bool { + false +} diff --git a/unfetch.sh b/unfetch.sh index 6763ff824..ba273e872 100755 --- a/unfetch.sh +++ b/unfetch.sh @@ -5,14 +5,14 @@ source config.sh if [ $# = 0 ] then - recipes="$(target/release/list_recipes --short)" + recipes="$(list_recipes --short)" else recipes="$@" fi for recipe_name in $recipes do - recipe_path=`target/release/find_recipe $recipe_name` + recipe_path=`find_recipe $recipe_name` echo -e "\033[01;38;5;215mcook - unfetch $recipe_name\033[0m" rm -rfv "$recipe_path"/source "$recipe_path"/source.tar From a13d17f4e6c60c57e88e64a14a89373874e5f589 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sat, 13 Sep 2025 15:12:17 +0000 Subject: [PATCH 042/182] Use forked wasmtime --- recipes/wip/dev/wasm/wasmtime/recipe.toml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/wip/dev/wasm/wasmtime/recipe.toml b/recipes/wip/dev/wasm/wasmtime/recipe.toml index a8f9539cb..ed1295bb5 100644 --- a/recipes/wip/dev/wasm/wasmtime/recipe.toml +++ b/recipes/wip/dev/wasm/wasmtime/recipe.toml @@ -1,5 +1,9 @@ -#TODO fs-set-times crate error +#TODO requires *at functions in fcntl.h +#TODO (willnode) push changes upstream [source] -git = "https://github.com/bytecodealliance/wasmtime" +git = "https://github.com/willnode/wasmtime" +branch = "v36-redox" +shallow_clone = true + [build] template = "cargo" From f5ea670b2a0f2a8ce876c87072f4423ec8e3e8b0 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 14 Sep 2025 10:23:50 +0000 Subject: [PATCH 043/182] Patch libarchive temporarily --- recipes/libs/libarchive/recipe.toml | 3 +++ recipes/libs/libarchive/redox.patch | 13 +++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 recipes/libs/libarchive/redox.patch diff --git a/recipes/libs/libarchive/recipe.toml b/recipes/libs/libarchive/recipe.toml index b5686e0ba..033f271ee 100644 --- a/recipes/libs/libarchive/recipe.toml +++ b/recipes/libs/libarchive/recipe.toml @@ -1,6 +1,9 @@ [source] tar = "https://libarchive.org/downloads/libarchive-3.6.2.tar.xz" blake3 = "f98695fe81235a74fa3fc2c3ba0f0d4f13ea15f9be3850b83e304cf5d78be710" +patches = [ + "redox.patch" +] [build] template = "configure" diff --git a/recipes/libs/libarchive/redox.patch b/recipes/libs/libarchive/redox.patch new file mode 100644 index 000000000..de545f297 --- /dev/null +++ b/recipes/libs/libarchive/redox.patch @@ -0,0 +1,13 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2022-12-09 20:38:47.000000000 +0700 ++++ source-new/configure 2025-09-14 17:17:50.138530195 +0700 +@@ -19039,7 +19039,8 @@ + ac_fn_c_check_func "$LINENO" "fstatat" "ac_cv_func_fstatat" + if test "x$ac_cv_func_fstatat" = xyes + then : +- printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h ++# When fstatat works, remove this patch ++# printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h + + fi + ac_fn_c_check_func "$LINENO" "fstatfs" "ac_cv_func_fstatfs" From 9c1d20d27b27243d548656e959802285def8e89d Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 14 Sep 2025 13:42:01 +0000 Subject: [PATCH 044/182] Port valkey --- recipes/wip/dev/other/valkey/recipe.toml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/recipes/wip/dev/other/valkey/recipe.toml b/recipes/wip/dev/other/valkey/recipe.toml index ec17f5dea..30c251925 100644 --- a/recipes/wip/dev/other/valkey/recipe.toml +++ b/recipes/wip/dev/other/valkey/recipe.toml @@ -1,6 +1,19 @@ -#TODO Missing script for "make", see https://github.com/valkey-io/valkey#building-valkey +#TODO Compiling, server crashes in page fault [source] git = "https://github.com/valkey-io/valkey" -rev = "26388270f197bce84817eea0a73d687d58442654" +rev = "a47e8fa1505578d78cef5c5e11da0972c3dae560" # 8.1.3 + [build] template = "custom" +dependencies = [ + "openssl1" +] + +script = """ +rsync -av --delete "${COOKBOOK_SOURCE}"/* ./ +${COOKBOOK_MAKE} MALLOC=libc BUILD_TLS=yes \ + WARN="-Wall -W -Wno-missing-field-initializers" \ + WARNINGS="-Wall -W -Wno-missing-field-initializers" \ + AR="${TARGET}-gcc-ar" +${COOKBOOK_MAKE} install PREFIX="${COOKBOOK_STAGE}"/usr +""" From c22f422720869b2fffc8a3cb73d2bcf241b29953 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 15 Sep 2025 06:36:55 -0300 Subject: [PATCH 045/182] Add recipes --- recipes/wip/edu/bibiman/recipe.toml | 5 +++++ recipes/wip/games/space/outfly/recipe.toml | 5 +++++ recipes/wip/net/analysis/rkik/recipe.toml | 5 +++++ recipes/wip/net/monitor/rustnet/recipe.toml | 8 ++++++++ recipes/wip/net/remote/ssh-portfolio/recipe.toml | 6 ++++++ recipes/wip/players/recordbox/recipe.toml | 14 ++++++++++++++ recipes/wip/sound/auditorium/recipe.toml | 10 ++++++++++ recipes/wip/sound/tek/recipe.toml | 5 +++++ recipes/wip/terminal/desktop-tui/recipe.toml | 5 +++++ recipes/wip/terminal/envx/recioe.toml | 5 +++++ recipes/wip/tools/dotter/recipe.toml | 5 +++++ 11 files changed, 73 insertions(+) create mode 100644 recipes/wip/edu/bibiman/recipe.toml create mode 100644 recipes/wip/games/space/outfly/recipe.toml create mode 100644 recipes/wip/net/analysis/rkik/recipe.toml create mode 100644 recipes/wip/net/monitor/rustnet/recipe.toml create mode 100644 recipes/wip/net/remote/ssh-portfolio/recipe.toml create mode 100644 recipes/wip/players/recordbox/recipe.toml create mode 100644 recipes/wip/sound/auditorium/recipe.toml create mode 100644 recipes/wip/sound/tek/recipe.toml create mode 100644 recipes/wip/terminal/desktop-tui/recipe.toml create mode 100644 recipes/wip/terminal/envx/recioe.toml create mode 100644 recipes/wip/tools/dotter/recipe.toml diff --git a/recipes/wip/edu/bibiman/recipe.toml b/recipes/wip/edu/bibiman/recipe.toml new file mode 100644 index 000000000..29cbe8f55 --- /dev/null +++ b/recipes/wip/edu/bibiman/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://codeberg.org/lukeflo/bibiman" +[build] +template = "cargo" diff --git a/recipes/wip/games/space/outfly/recipe.toml b/recipes/wip/games/space/outfly/recipe.toml new file mode 100644 index 000000000..a5bd5537d --- /dev/null +++ b/recipes/wip/games/space/outfly/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://codeberg.org/outfly/outfly" +[build] +template = "cargo" diff --git a/recipes/wip/net/analysis/rkik/recipe.toml b/recipes/wip/net/analysis/rkik/recipe.toml new file mode 100644 index 000000000..c571577a1 --- /dev/null +++ b/recipes/wip/net/analysis/rkik/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/aguacero7/rkik" +[build] +template = "cargo" diff --git a/recipes/wip/net/monitor/rustnet/recipe.toml b/recipes/wip/net/monitor/rustnet/recipe.toml new file mode 100644 index 000000000..6ab852ff7 --- /dev/null +++ b/recipes/wip/net/monitor/rustnet/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/domcyrus/rustnet" +[build] +template = "cargo" +dependencies = [ + "libpcap", +] diff --git a/recipes/wip/net/remote/ssh-portfolio/recipe.toml b/recipes/wip/net/remote/ssh-portfolio/recipe.toml new file mode 100644 index 000000000..5babdd7c3 --- /dev/null +++ b/recipes/wip/net/remote/ssh-portfolio/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +# require nerdfonts +[source] +git = "https://github.com/CompeyDev/ssh-portfolio" +[build] +template = "cargo" diff --git a/recipes/wip/players/recordbox/recipe.toml b/recipes/wip/players/recordbox/recipe.toml new file mode 100644 index 000000000..4cb5b8a85 --- /dev/null +++ b/recipes/wip/players/recordbox/recipe.toml @@ -0,0 +1,14 @@ +#TODO missing dependencies +[source] +git = "https://codeberg.org/edestcroix/Recordbox" +[build] +template = "custom" +dependencies = [ + "sqlite3", + "gtk4", + "glib", + "libadwaita", + "liblcms", + "gstreamer", +] +script = "DYNAMIC_INIT cookbook_cargo" diff --git a/recipes/wip/sound/auditorium/recipe.toml b/recipes/wip/sound/auditorium/recipe.toml new file mode 100644 index 000000000..c61a775fe --- /dev/null +++ b/recipes/wip/sound/auditorium/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/nate-craft/auditorium" +[build] +template = "cargo" +[package] +dependencies = [ + "mpv", + "ffmpeg6", +] diff --git a/recipes/wip/sound/tek/recipe.toml b/recipes/wip/sound/tek/recipe.toml new file mode 100644 index 000000000..fa7b1da69 --- /dev/null +++ b/recipes/wip/sound/tek/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://codeberg.org/unspeaker/tek" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/desktop-tui/recipe.toml b/recipes/wip/terminal/desktop-tui/recipe.toml new file mode 100644 index 000000000..426f28d72 --- /dev/null +++ b/recipes/wip/terminal/desktop-tui/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Julien-cpsn/desktop-tui" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/envx/recioe.toml b/recipes/wip/terminal/envx/recioe.toml new file mode 100644 index 000000000..0f187a55c --- /dev/null +++ b/recipes/wip/terminal/envx/recioe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/mikeleppane/envx" +[build] +template = "cargo" diff --git a/recipes/wip/tools/dotter/recipe.toml b/recipes/wip/tools/dotter/recipe.toml new file mode 100644 index 000000000..c3bcede25 --- /dev/null +++ b/recipes/wip/tools/dotter/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/SuperCuber/dotter" +[build] +template = "cargo" From 97bab15d692d7c38d9a6a3085118433f253825e5 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Mon, 15 Sep 2025 18:31:53 +0000 Subject: [PATCH 046/182] Add gnu-binutils as depedency of gcc13 --- recipes/dev/gcc13/recipe.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/dev/gcc13/recipe.toml b/recipes/dev/gcc13/recipe.toml index 312eb6ebd..6b61540bd 100644 --- a/recipes/dev/gcc13/recipe.toml +++ b/recipes/dev/gcc13/recipe.toml @@ -40,3 +40,8 @@ ln -s "gcc" "${COOKBOOK_STAGE}/usr/bin/cc" # Avoid conflict with libgcc & libstdcxx rm -f "${COOKBOOK_STAGE}"/usr/lib/libgcc_s.so* "${COOKBOOK_STAGE}"/usr/lib/libstdc++.so* """ + +[package] +dependencies = [ + "gnu-binutils" +] From 43720fd297fdcb79a918a7baea15b8d88cab5950 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Mon, 15 Sep 2025 20:04:42 +0000 Subject: [PATCH 047/182] Port nginx --- recipes/wip/net/http/nginx/recipe.toml | 61 +++++++++++++++++++++-- recipes/wip/net/http/nginx/redox.patch | 68 ++++++++++++++++++++++++++ 2 files changed, 126 insertions(+), 3 deletions(-) create mode 100644 recipes/wip/net/http/nginx/redox.patch diff --git a/recipes/wip/net/http/nginx/recipe.toml b/recipes/wip/net/http/nginx/recipe.toml index 26da4eeeb..da416dcae 100644 --- a/recipes/wip/net/http/nginx/recipe.toml +++ b/recipes/wip/net/http/nginx/recipe.toml @@ -1,5 +1,60 @@ -#TODO Compilation error +#TODO Compiling, got some C issues on init [source] -tar = "https://nginx.org/download/nginx-1.26.0.tar.gz" +tar = "https://nginx.org/download/nginx-1.28.0.tar.gz" +patches = [ + "redox.patch" +] + [build] -template = "configure" +template = "custom" +dependencies = [ + "pcre", + "openssl1", + "zlib", +] +script = """ +DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}"/* ./ +ARCH="${TARGET%%-*}" +COOKBOOK_CONFIGURE_FLAGS=( + --crossbuild=Redox:$ARCH + --with-cc="$CC" + --with-cc-opt="$CFLAGS" + --with-ld-opt="$LDFLAGS" + --sbin-path=/usr/bin/nginx + --modules-path=/usr/lib/nginx/modules + --conf-path=/etc/nginx/nginx.conf + --error-log-path=/var/log/nginx/error.log + --http-log-path=/var/log/nginx/access.log + --http-client-body-temp-path=/var/lib/nginx/body + --http-proxy-temp-path=/var/lib/nginx/proxy + --http-fastcgi-temp-path=/var/lib/nginx/fastcgi + --http-uwsgi-temp-path=/var/lib/nginx/uwsgi + --http-scgi-temp-path=/var/lib/nginx/scgi + --pid-path=/var/run/nginx.pid + --lock-path=/var/lock/nginx.lock + --user=nginx + --group=nginx + --with-compat + --with-debug + --with-pcre + --with-pcre-jit + --with-stream + --with-stream_realip_module + --with-stream_ssl_module + --with-stream_ssl_preread_module + --with-threads + --with-http_ssl_module + --with-http_v2_module + --with-http_realip_module + --with-http_gzip_static_module + --with-http_stub_status_module + --with-http_addition_module +) + +unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP + +cookbook_configure + +mkdir -p "$COOKBOOK_STAGE"/var/lib/nginx/{body,proxy,fastcgi,uwsgi,scgi} +""" diff --git a/recipes/wip/net/http/nginx/redox.patch b/recipes/wip/net/http/nginx/redox.patch new file mode 100644 index 000000000..df14d2f4b --- /dev/null +++ b/recipes/wip/net/http/nginx/redox.patch @@ -0,0 +1,68 @@ +diff --color -ruwN source/auto/feature source-new/auto/feature +--- source/auto/feature 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/auto/feature 2025-09-16 02:23:35.565899342 +0700 +@@ -53,7 +57,7 @@ + + yes) + # /bin/sh is used to intercept "Killed" or "Abort trap" messages +- if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then ++ #if /bin/sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then + echo " found" + ngx_found=yes + +@@ -61,9 +65,9 @@ + have=$ngx_have_feature . auto/have + fi + +- else +- echo " found but is not working" +- fi ++ #else ++ # echo " found but is not working" ++ #fi + ;; + + value) +diff --color -ruwN source/auto/types/sizeof source-new/auto/types/sizeof +--- source/auto/types/sizeof 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/auto/types/sizeof 2025-09-16 02:38:57.979145501 +0700 +@@ -33,7 +33,7 @@ + END + + +-ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ ++ngx_test="gcc $CC_TEST_FLAGS $CC_AUX_FLAGS \ + -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" + + eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" +diff --color -ruwN source/auto/types/typedef source-new/auto/types/typedef +--- source/auto/types/typedef 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/auto/types/typedef 2025-09-16 02:38:54.927091443 +0700 +@@ -34,7 +34,7 @@ + + END + +- ngx_test="$CC $CC_TEST_FLAGS $CC_AUX_FLAGS \ ++ ngx_test="gcc $CC_TEST_FLAGS $CC_AUX_FLAGS \ + -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" + + eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" +diff --color -ruwN source/src/os/unix/ngx_process.c source-new/src/os/unix/ngx_process.c +--- source/src/os/unix/ngx_process.c 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/src/os/unix/ngx_process.c 2025-09-16 02:40:44.363029726 +0700 +@@ -143,6 +143,7 @@ + } + + on = 1; ++ /* + if (ioctl(ngx_processes[s].channel[0], FIOASYNC, &on) == -1) { + ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno, + "ioctl(FIOASYNC) failed while spawning \"%s\"", name); +@@ -156,6 +157,7 @@ + ngx_close_channel(ngx_processes[s].channel, cycle->log); + return NGX_INVALID_PID; + } ++ */ + + if (fcntl(ngx_processes[s].channel[0], F_SETFD, FD_CLOEXEC) == -1) { + ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno, From aea5413b0872ad97af8cce0f29b5b4e5151ef412 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Tue, 16 Sep 2025 07:54:38 +0700 Subject: [PATCH 048/182] Port PHP --- recipes/wip/dev/lang/php/recipe.toml | 11 ---- recipes/wip/dev/lang/php84/recipe.toml | 60 ++++++++++++++++++++ recipes/wip/dev/lang/php84/redox.patch | 42 ++++++++++++++ recipes/wip/libs/archives/libzip/recipe.toml | 19 +------ recipes/wip/libs/other/libonig/recipe.toml | 9 +++ recipes/wip/libs/other/termcap/recipe.toml | 10 +++- 6 files changed, 121 insertions(+), 30 deletions(-) delete mode 100644 recipes/wip/dev/lang/php/recipe.toml create mode 100644 recipes/wip/dev/lang/php84/recipe.toml create mode 100644 recipes/wip/dev/lang/php84/redox.patch create mode 100644 recipes/wip/libs/other/libonig/recipe.toml diff --git a/recipes/wip/dev/lang/php/recipe.toml b/recipes/wip/dev/lang/php/recipe.toml deleted file mode 100644 index b82e6f59b..000000000 --- a/recipes/wip/dev/lang/php/recipe.toml +++ /dev/null @@ -1,11 +0,0 @@ -#TODO can't detect libiconv -# in case of problems, read https://www.php.net/manual/en/install.unix.php -[source] -tar = "https://www.php.net/distributions/php-8.3.0.tar.xz" -[build] -template = "configure" -dependencies = [ - "libxml2", - "sqlite3", - "libiconv", -] diff --git a/recipes/wip/dev/lang/php84/recipe.toml b/recipes/wip/dev/lang/php84/recipe.toml new file mode 100644 index 000000000..c004b5ef2 --- /dev/null +++ b/recipes/wip/dev/lang/php84/recipe.toml @@ -0,0 +1,60 @@ +#TODO fix readline and openssl +[source] +tar = "https://www.php.net/distributions/php-8.4.12.tar.xz" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "curl", + "libffi", + "libgmp", + "libavif", + "libjpeg", +# "libedit", + "libonig", + "libpng", + "libwebp", + "libxml2", + "libzip", +# "ncurses", + "nghttp2", + "openssl1", + "pcre", +# "readline", + "sqlite3", + "xz", + "zlib", +] +script = """ +DYNAMIC_INIT +# extension stuff +export CURL_LIBS="-lcurl -lnghttp2 -lssl -lcrypto" +#export READLINE_DIR="${COOKBOOK_SYSROOT}/usr" +COOKBOOK_CONFIGURE_FLAGS+=( + --without-iconv + --disable-phar + --disable-opcache + --enable-gd + --with-curl + --with-gmp + --with-jpeg + --with-webp + --with-avif + --with-ffi + --with-intl + --with-mbstring +# --with-libedit +# --with-readline +# --with-openssl + --with-zip +) + +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "$@" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install \ + INSTALL_ROOT="${COOKBOOK_STAGE}" \ + datarootdir=/usr/share localstatedir=/var +""" diff --git a/recipes/wip/dev/lang/php84/redox.patch b/recipes/wip/dev/lang/php84/redox.patch new file mode 100644 index 000000000..eed8d1169 --- /dev/null +++ b/recipes/wip/dev/lang/php84/redox.patch @@ -0,0 +1,42 @@ +diff --color -ruwN source/configure source-new/configure +--- source/configure 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/configure 2025-09-16 07:44:46.452670941 +0700 +@@ -25863,7 +25863,7 @@ + then : + ac_cv_lib_curl_curl_easy_perform=yes + else case e in #( +- e) ac_cv_lib_curl_curl_easy_perform=no ;; ++ e) ac_cv_lib_curl_curl_easy_perform=yes ;; + esac + fi + rm -f core conftest.err conftest.$ac_objext conftest.beam \ +@@ -37356,7 +37356,7 @@ + then : + php_cv_lib_gd_works=yes + else case e in #( +- e) php_cv_lib_gd_works=no ;; ++ e) php_cv_lib_gd_works=yes ;; + esac + fi + rm -f core conftest.err conftest.$ac_objext conftest.beam \ +@@ -40056,7 +40056,7 @@ + LIBS_SAVED=$LIBS + CFLAGS="$CFLAGS $GMP_CFLAGS" + LIBS="$LIBS $GMP_LIBS" +- gmp_check=no ++ gmp_check=yes + ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" + if test "x$ac_cv_header_gmp_h" = xyes + then : +diff --color -ruwN source/ext/posix/posix.c source-new/ext/posix/posix.c +--- source/ext/posix/posix.c 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/ext/posix/posix.c 2025-09-16 07:02:03.974662569 +0700 +@@ -375,7 +375,7 @@ + + ZEND_PARSE_PARAMETERS_NONE(); + +- if ((ticks = times(&t)) == -1) { ++ { + POSIX_G(last_error) = errno; + RETURN_FALSE; + } diff --git a/recipes/wip/libs/archives/libzip/recipe.toml b/recipes/wip/libs/archives/libzip/recipe.toml index afe9a840e..4e7ec064a 100644 --- a/recipes/wip/libs/archives/libzip/recipe.toml +++ b/recipes/wip/libs/archives/libzip/recipe.toml @@ -1,23 +1,8 @@ -#TODO maybe incomplete script, see https://github.com/nih-at/libzip/blob/main/INSTALL.md +#TODO Promote [source] tar = "https://libzip.org/download/libzip-1.10.1.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "zlib", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libonig/recipe.toml b/recipes/wip/libs/other/libonig/recipe.toml new file mode 100644 index 000000000..9633af050 --- /dev/null +++ b/recipes/wip/libs/other/libonig/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://github.com/kkos/oniguruma" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +template = "configure" diff --git a/recipes/wip/libs/other/termcap/recipe.toml b/recipes/wip/libs/other/termcap/recipe.toml index d63ea82f2..f68cd7fad 100644 --- a/recipes/wip/libs/other/termcap/recipe.toml +++ b/recipes/wip/libs/other/termcap/recipe.toml @@ -1,5 +1,11 @@ -#TODO non-sense "permission denied" error +#TODO need testing [source] tar = "https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz" [build] -template = "configure" +template = "custom" +script = """ +COOKBOOK_CONFIGURE_FLAGS+=( + --prefix="${COOKBOOK_STAGE}/usr" +) +cookbook_configure +""" \ No newline at end of file From b9d3ea3837fd4cfb7839ae2ac95f2130980abe9d Mon Sep 17 00:00:00 2001 From: Wildan M Date: Tue, 16 Sep 2025 13:37:39 +0700 Subject: [PATCH 049/182] Use luajit to compile lua --- recipes/wip/libs/lua/lpeg/recipe.toml | 4 +- .../wip/libs/other/tree-sitter/recipe.toml | 4 ++ .../wip/libs/other/tree-sitter/redox.patch | 45 +++++++++++++++++++ recipes/wip/text/neovim/recipe.toml | 14 +++++- 4 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 recipes/wip/libs/other/tree-sitter/redox.patch diff --git a/recipes/wip/libs/lua/lpeg/recipe.toml b/recipes/wip/libs/lua/lpeg/recipe.toml index 2f9fd4132..094d9b135 100644 --- a/recipes/wip/libs/lua/lpeg/recipe.toml +++ b/recipes/wip/libs/lua/lpeg/recipe.toml @@ -4,11 +4,11 @@ tar = "https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-1.1.0.tar.gz" [build] template = "custom" dependencies = [ - "lua54", + "luajit", ] script = """ rsync -av --delete "${COOKBOOK_SOURCE}/" ./ -make linux +make linux CC="${CC} -I${COOKBOOK_SYSROOT}/include/luajit-2.1" mkdir -p ${COOKBOOK_STAGE}/usr/lib cp *.so ${COOKBOOK_STAGE}/usr/lib """ \ No newline at end of file diff --git a/recipes/wip/libs/other/tree-sitter/recipe.toml b/recipes/wip/libs/other/tree-sitter/recipe.toml index 63295a445..e5507e3e9 100644 --- a/recipes/wip/libs/other/tree-sitter/recipe.toml +++ b/recipes/wip/libs/other/tree-sitter/recipe.toml @@ -1,9 +1,13 @@ [source] tar = "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.25.8.tar.gz" +patches = [ + "redox.patch" +] [build] template = "custom" script = """ DYNAMIC_INIT PACKAGE_PATH=cli cookbook_cargo +cookbook_cmake "${COOKBOOK_SOURCE}"/lib """ diff --git a/recipes/wip/libs/other/tree-sitter/redox.patch b/recipes/wip/libs/other/tree-sitter/redox.patch new file mode 100644 index 000000000..62c28d13f --- /dev/null +++ b/recipes/wip/libs/other/tree-sitter/redox.patch @@ -0,0 +1,45 @@ +diff --color -ruwN source/Cargo.toml source-new/Cargo.toml +--- source/Cargo.toml 2025-07-14 01:32:42.000000000 +0700 ++++ source-new/Cargo.toml 2025-09-16 11:37:28.820646655 +0700 +@@ -118,7 +118,7 @@ + dialoguer = { version = "0.11.0", features = ["fuzzy-select"] } + etcetera = "0.8.0" + filetime = "0.2.25" +-fs4 = "0.12.0" ++fs4 = { git = "https://github.com/al8n/fs4-rs" } # for redox support, still not published yet + git2 = "0.20.0" + glob = "0.3.2" + heck = "0.5.0" +@@ -151,7 +151,7 @@ + url = { version = "2.5.4", features = ["serde"] } + walkdir = "2.5.0" + wasmparser = "0.224.0" +-webbrowser = "1.0.3" ++webbrowser = "1.0.5" + + tree-sitter = { version = "0.25.1", path = "./lib" } + tree-sitter-generate = { version = "0.25.1", path = "./cli/generate" } +diff --color -ruwN source/cli/src/fuzz/allocations.rs source-new/cli/src/fuzz/allocations.rs +--- source/cli/src/fuzz/allocations.rs 2025-07-14 01:32:42.000000000 +0700 ++++ source-new/cli/src/fuzz/allocations.rs 2025-09-16 11:39:56.112458323 +0700 +@@ -7,6 +7,7 @@ + }, + }; + ++#[cfg(not(target_os = "redox"))] + #[ctor::ctor] + unsafe fn initialize_allocation_recording() { + tree_sitter::set_allocator( +diff --color -ruwN source/lib/src/portable/endian.h source-new/lib/src/portable/endian.h +--- source/lib/src/portable/endian.h 2025-07-14 01:32:42.000000000 +0700 ++++ source-new/lib/src/portable/endian.h 2025-09-16 11:27:12.315211556 +0700 +@@ -24,7 +24,8 @@ + defined(__CYGWIN__) || \ + defined(__MSYS__) || \ + defined(__EMSCRIPTEN__) || \ +- defined(__wasi__) ++ defined(__wasi__) || \ ++ defined(__redox__) + + #if defined(__NetBSD__) + #define _NETBSD_SOURCE 1 diff --git a/recipes/wip/text/neovim/recipe.toml b/recipes/wip/text/neovim/recipe.toml index abd43b7ba..f5e46fe23 100644 --- a/recipes/wip/text/neovim/recipe.toml +++ b/recipes/wip/text/neovim/recipe.toml @@ -3,11 +3,21 @@ tar = "https://github.com/neovim/neovim/archive/refs/tags/v0.11.3.tar.gz" [build] -template = "cmake" +template = "custom" dependencies = [ - "lua54", + "luajit", "libiconv", "libuv", "luv", "lpeg", + "tree-sitter", + "gettext", + "unibilium", + "utf8proc", ] +script = """ +DYNAMIC_INIT +cookbook_cmake \ + -DUSE_BUNDLED=1 \ + -DLUA_GEN_PRG=luajit +""" From 4c35a8fa679058f4b999465ac2f5e5e94227e673 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Tue, 16 Sep 2025 14:10:55 +0700 Subject: [PATCH 050/182] Use luajit in luv --- recipes/libs/luv/recipe.toml | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/recipes/libs/luv/recipe.toml b/recipes/libs/luv/recipe.toml index 2d8b08253..ed5a3b877 100644 --- a/recipes/libs/luv/recipe.toml +++ b/recipes/libs/luv/recipe.toml @@ -3,25 +3,15 @@ git = "https://github.com/luvit/luv.git" [build] template = "custom" dependencies = [ - "lua54", "libuv", - "lua-compat-53" + "luajit" ] script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DBUILD_MODULE=OFF - -DBUILD_STATIC_LIBS=ON - -DWITH_SHARED_LIBUV=ON - -DWITH_LUA_ENGINE=Lua +DYNAMIC_INIT +COOKBOOK_CMAKE_FLAGS+=( + -DWITH_LUA_ENGINE=Luajit -DLUA_BUILD_TYPE=System - -DLUA_COMPAT53_DIR="${COOKBOOK_SYSROOT}/bin" - -DCMAKE_BUILD_TYPE=RelWithDebInfo - -DLIBUV_LIBRARIES="${COOKBOOK_SYSROOT}/usr/lib/libuv.a" - -DLIBUV_INCLUDE_DIR="${COOKBOOK_SYSROOT}/usr/include" - -DLUA_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include" - -DLUV_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include" -"${COOKBOOK_SOURCE}" + -DWITH_SHARED_LIBUV=On ) -cookbook_configure +cookbook_cmake """ From fb1fdb5e9a79377477ecec4e3b742e5695ca8fb8 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Tue, 16 Sep 2025 16:28:04 +0700 Subject: [PATCH 051/182] Neovim can compile now --- recipes/wip/libs/lua/lpeg/recipe.toml | 5 +++-- recipes/wip/text/neovim/recipe.toml | 8 ++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/wip/libs/lua/lpeg/recipe.toml b/recipes/wip/libs/lua/lpeg/recipe.toml index 094d9b135..484e5b3a5 100644 --- a/recipes/wip/libs/lua/lpeg/recipe.toml +++ b/recipes/wip/libs/lua/lpeg/recipe.toml @@ -9,6 +9,7 @@ dependencies = [ script = """ rsync -av --delete "${COOKBOOK_SOURCE}/" ./ make linux CC="${CC} -I${COOKBOOK_SYSROOT}/include/luajit-2.1" -mkdir -p ${COOKBOOK_STAGE}/usr/lib -cp *.so ${COOKBOOK_STAGE}/usr/lib +mkdir -p ${COOKBOOK_STAGE}/usr/lib/pkgconfig +cp lpeg.so ${COOKBOOK_STAGE}/usr/lib/liblpeg.so.1 +ln -s "liblpeg.so.1" ${COOKBOOK_STAGE}/usr/lib/liblpeg.so """ \ No newline at end of file diff --git a/recipes/wip/text/neovim/recipe.toml b/recipes/wip/text/neovim/recipe.toml index f5e46fe23..c521fd348 100644 --- a/recipes/wip/text/neovim/recipe.toml +++ b/recipes/wip/text/neovim/recipe.toml @@ -1,4 +1,4 @@ -#TODO probably wrong script, see https://github.com/neovim/neovim/wiki/Installing-Neovim#install-from-source +#TODO mostly work, kinda slow, can't quit (signal issues?) [source] tar = "https://github.com/neovim/neovim/archive/refs/tags/v0.11.3.tar.gz" @@ -18,6 +18,10 @@ dependencies = [ script = """ DYNAMIC_INIT cookbook_cmake \ - -DUSE_BUNDLED=1 \ -DLUA_GEN_PRG=luajit + +# Lpeg is absolute path https://github.com/neovim/neovim/issues/23395 +patchelf --replace-needed \ + "${COOKBOOK_SYSROOT}/usr/lib/liblpeg.so" \ + 'liblpeg.so.1' ${COOKBOOK_STAGE}/usr/bin/nvim """ From b9989ce494d82a7a2c77fc46088fb28cebe11597 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Tue, 16 Sep 2025 16:30:46 +0700 Subject: [PATCH 052/182] Add patches --- recipes/wip/text/neovim/recipe.toml | 3 + recipes/wip/text/neovim/redox.patch | 141 ++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+) create mode 100644 recipes/wip/text/neovim/redox.patch diff --git a/recipes/wip/text/neovim/recipe.toml b/recipes/wip/text/neovim/recipe.toml index c521fd348..8978c7ed2 100644 --- a/recipes/wip/text/neovim/recipe.toml +++ b/recipes/wip/text/neovim/recipe.toml @@ -1,6 +1,9 @@ #TODO mostly work, kinda slow, can't quit (signal issues?) [source] tar = "https://github.com/neovim/neovim/archive/refs/tags/v0.11.3.tar.gz" +patches = [ + "redox.patch" +] [build] template = "custom" diff --git a/recipes/wip/text/neovim/redox.patch b/recipes/wip/text/neovim/redox.patch new file mode 100644 index 000000000..30b3f7229 --- /dev/null +++ b/recipes/wip/text/neovim/redox.patch @@ -0,0 +1,141 @@ +diff -ruwN source/runtime/CMakeLists.txt source-new/runtime/CMakeLists.txt +--- source/runtime/CMakeLists.txt 2025-07-13 01:34:12.000000000 +0700 ++++ source-new/runtime/CMakeLists.txt 2025-09-16 14:46:20.134790482 +0700 +@@ -24,37 +24,6 @@ + + file(GLOB PACKAGES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/runtime/pack/dist/opt/*) + +-set(GENERATED_PACKAGE_TAGS) +-foreach(PACKAGE ${PACKAGES}) +- get_filename_component(PACKNAME ${PACKAGE} NAME) +- file(GLOB "${PACKNAME}_DOC_FILES" CONFIGURE_DEPENDS ${PACKAGE}/doc/*.txt) +- if(${PACKNAME}_DOC_FILES) +- file(MAKE_DIRECTORY ${GENERATED_PACKAGE_DIR}/${PACKNAME}) +- add_custom_command(OUTPUT "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags" +- COMMAND ${CMAKE_COMMAND} -E copy_directory +- ${PACKAGE} ${GENERATED_PACKAGE_DIR}/${PACKNAME} +- COMMAND $ +- -u NONE -i NONE -e --headless -c "helptags doc" -c quit +- DEPENDS +- nvim_bin +- nvim_runtime_deps +- WORKING_DIRECTORY "${GENERATED_PACKAGE_DIR}/${PACKNAME}" +- ) +- +- set("${PACKNAME}_DOC_NAMES") +- foreach(DF "${${PACKNAME}_DOC_FILES}") +- get_filename_component(F ${DF} NAME) +- list(APPEND "${PACKNAME}_DOC_NAMES" ${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/${F}) +- endforeach() +- +- install_helper( +- FILES ${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags "${${PACKNAME}_DOC_NAMES}" +- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/pack/dist/opt/${PACKNAME}/doc) +- +- list(APPEND GENERATED_PACKAGE_TAGS "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags") +- endif() +-endforeach() +- + set(BUILDDOCFILES) + foreach(DF ${DOCFILES}) + get_filename_component(F ${DF} NAME) +@@ -65,8 +34,6 @@ + COMMAND ${CMAKE_COMMAND} -E remove_directory doc + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${PROJECT_SOURCE_DIR}/runtime/doc doc +- COMMAND $ +- -u NONE -i NONE -e --headless -c "helptags ++t doc" -c quit + DEPENDS + nvim_bin + nvim_runtime_deps +@@ -78,7 +45,6 @@ + DEPENDS + ${GENERATED_SYN_VIM} + ${GENERATED_HELP_TAGS} +- ${GENERATED_PACKAGE_TAGS} + ) + + # CMake is painful here. It will create the destination using the user's +@@ -88,10 +54,6 @@ + # If it's preexisting, leave it alone. + + install_helper( +- FILES ${GENERATED_HELP_TAGS} ${BUILDDOCFILES} +- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/doc) +- +-install_helper( + FILES ${GENERATED_SYN_VIM} + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/syntax/vim) + +diff -ruwN source/src/nvim/channel.c source-new/src/nvim/channel.c +--- source/src/nvim/channel.c 2025-07-13 01:34:12.000000000 +0700 ++++ source-new/src/nvim/channel.c 2025-09-16 13:41:27.109978099 +0700 +@@ -547,8 +547,23 @@ + // Redirect stdout/stdin (the UI channel) to stderr. Use fnctl(F_DUPFD_CLOEXEC) instead of dup() + // to prevent child processes from inheriting the file descriptors, which are used by UIs to + // detect when Nvim exits. ++ #ifdef __redox__ ++ int new_stdin_fd = dup(STDIN_FILENO); ++ if (new_stdin_fd >= 0) { ++ fcntl(new_stdin_fd, F_SETFD, FD_CLOEXEC); ++ } ++ stdin_dup_fd = new_stdin_fd; ++ ++ // 2. Duplicate STDOUT and set CLOEXEC flag ++ int new_stdout_fd = dup(STDOUT_FILENO); ++ if (new_stdout_fd >= 0) { ++ fcntl(new_stdout_fd, F_SETFD, FD_CLOEXEC); ++ } ++ stdout_dup_fd = new_stdout_fd; ++ #else + stdin_dup_fd = fcntl(STDIN_FILENO, F_DUPFD_CLOEXEC, STDERR_FILENO + 1); + stdout_dup_fd = fcntl(STDOUT_FILENO, F_DUPFD_CLOEXEC, STDERR_FILENO + 1); ++ #endif // __redox__ + dup2(STDERR_FILENO, STDOUT_FILENO); + dup2(STDERR_FILENO, STDIN_FILENO); + } +diff -ruwN source/src/nvim/CMakeLists.txt source-new/src/nvim/CMakeLists.txt +--- source/src/nvim/CMakeLists.txt 2025-07-13 01:34:12.000000000 +0700 ++++ source-new/src/nvim/CMakeLists.txt 2025-09-16 16:07:40.327319085 +0700 +@@ -93,19 +93,6 @@ + endif() + + # -fstack-protector breaks Mingw-w64 builds +-if(NOT MINGW) +- check_c_compiler_flag(-fstack-protector-strong HAS_FSTACK_PROTECTOR_STRONG_FLAG) +- if(HAS_FSTACK_PROTECTOR_STRONG_FLAG) +- target_compile_options(main_lib INTERFACE -fstack-protector-strong) +- target_link_libraries(main_lib INTERFACE -fstack-protector-strong) +- else() +- check_c_compiler_flag(-fstack-protector HAS_FSTACK_PROTECTOR_FLAG) +- if(HAS_FSTACK_PROTECTOR_FLAG) +- target_compile_options(main_lib INTERFACE -fstack-protector --param ssp-buffer-size=4) +- target_link_libraries(main_lib INTERFACE -fstack-protector --param ssp-buffer-size=4) +- endif() +- endif() +-endif() + + # Compiler specific options + if(MSVC) +@@ -145,9 +132,6 @@ + # Platform specific options + if(UNIX) + target_link_libraries(main_lib INTERFACE m) +- if (NOT CMAKE_SYSTEM_NAME STREQUAL "SunOS") +- target_link_libraries(main_lib INTERFACE util) +- endif() + endif() + + if(CMAKE_SYSTEM_NAME MATCHES "Windows") +diff -ruwN source/src/nvim/os/os_defs.h source-new/src/nvim/os/os_defs.h +--- source/src/nvim/os/os_defs.h 2025-07-13 01:34:12.000000000 +0700 ++++ source-new/src/nvim/os/os_defs.h 2025-09-16 13:45:00.379142388 +0700 +@@ -28,6 +28,8 @@ + + #if !defined(NAME_MAX) && defined(_XOPEN_NAME_MAX) + # define NAME_MAX _XOPEN_NAME_MAX ++#elif !defined(NAME_MAX) ++# define NAME_MAX 255 + #endif + + #define BASENAMELEN (NAME_MAX - 5) From f38f5b716ebf4c3f08ab6410e967b14b1f466cee Mon Sep 17 00:00:00 2001 From: Wildan M Date: Tue, 16 Sep 2025 16:48:17 +0700 Subject: [PATCH 053/182] Add more libuv patches --- recipes/libs/libuv/redox.patch | 123 ++++++++++++++++++++++++++++++--- 1 file changed, 115 insertions(+), 8 deletions(-) diff --git a/recipes/libs/libuv/redox.patch b/recipes/libs/libuv/redox.patch index c3f0bf27f..d5405adf2 100644 --- a/recipes/libs/libuv/redox.patch +++ b/recipes/libs/libuv/redox.patch @@ -1,12 +1,12 @@ diff -ruwN source/CMakeLists.txt source-new/CMakeLists.txt --- source/CMakeLists.txt 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/CMakeLists.txt 2025-07-22 01:48:56.591286953 +0700 ++++ source-new/CMakeLists.txt 2025-09-16 14:15:31.813140608 +0700 @@ -1,3 +1,4 @@ +set (CMAKE_CXX_STANDARD 99) cmake_minimum_required(VERSION 3.4) if(POLICY CMP0091) -@@ -312,6 +313,17 @@ +@@ -312,6 +313,18 @@ src/unix/hurd.c) endif() @@ -18,6 +18,7 @@ diff -ruwN source/CMakeLists.txt source-new/CMakeLists.txt + src/unix/proctitle.c + src/unix/posix-hrtime.c + src/unix/posix-poll.c ++ src/unix/redox.c + ) +endif() + @@ -26,7 +27,7 @@ diff -ruwN source/CMakeLists.txt source-new/CMakeLists.txt list(APPEND uv_libraries dl rt) diff -ruwN source/include/uv/unix.h source-new/include/uv/unix.h --- source/include/uv/unix.h 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/include/uv/unix.h 2025-07-22 01:53:54.941276543 +0700 ++++ source-new/include/uv/unix.h 2025-09-16 11:42:40.882554686 +0700 @@ -66,6 +66,7 @@ defined(__MSYS__) || \ defined(__HAIKU__) || \ @@ -37,7 +38,7 @@ diff -ruwN source/include/uv/unix.h source-new/include/uv/unix.h #endif diff -ruwN source/src/unix/core.c source-new/src/unix/core.c --- source/src/unix/core.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/core.c 2025-07-21 22:55:16.826444959 +0700 ++++ source-new/src/unix/core.c 2025-09-16 11:42:40.882554686 +0700 @@ -97,6 +97,10 @@ # include #endif @@ -61,7 +62,7 @@ diff -ruwN source/src/unix/core.c source-new/src/unix/core.c if (rc == -1) diff -ruwN source/src/unix/fs.c source-new/src/unix/fs.c --- source/src/unix/fs.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/fs.c 2025-07-21 22:55:16.826444959 +0700 ++++ source-new/src/unix/fs.c 2025-09-16 11:42:40.882554686 +0700 @@ -87,7 +87,8 @@ defined(__MVS__) || \ defined(__NetBSD__) || \ @@ -100,7 +101,7 @@ diff -ruwN source/src/unix/fs.c source-new/src/unix/fs.c stat_fs->f_type = buf.f_type; diff -ruwN source/src/unix/proctitle.c source-new/src/unix/proctitle.c --- source/src/unix/proctitle.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/proctitle.c 2025-07-22 02:10:12.760625178 +0700 ++++ source-new/src/unix/proctitle.c 2025-09-16 11:42:40.882554686 +0700 @@ -30,7 +30,13 @@ size_t cap; /* Maximum capacity. Computed once in uv_setup_args(). */ }; @@ -115,9 +116,115 @@ diff -ruwN source/src/unix/proctitle.c source-new/src/unix/proctitle.c static uv_mutex_t process_title_mutex; static uv_once_t process_title_mutex_once = UV_ONCE_INIT; +diff -ruwN source/src/unix/redox.c source-new/src/unix/redox.c +--- source/src/unix/redox.c 1970-01-01 07:00:00.000000000 +0700 ++++ source-new/src/unix/redox.c 2025-09-16 14:28:29.209614311 +0700 +@@ -0,0 +1,102 @@ ++/* Copyright libuv contributors. All rights reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to ++ * deal in the Software without restriction, including without limitation the ++ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ++ * IN THE SOFTWARE. ++ */ ++ ++#include "uv.h" ++#include "internal.h" ++ ++#include ++#include ++#include ++ ++static void ++get_mem_info(uint64_t* totalmem, uint64_t* freemem) { ++ *totalmem = 0; ++ *freemem = 0; ++} ++ ++ ++void uv_loadavg(double avg[3]) { ++ avg[0] = 0.0; ++ avg[1] = 0.0; ++ avg[2] = 0.0; ++} ++ ++ ++int uv_exepath(char* buffer, size_t* size) { ++ if (buffer == NULL || size == NULL || *size == 0) { ++ return UV_EINVAL; ++ } ++ FILE* fp = fopen("/scheme/sys/exe", "r"); ++ if (fp == NULL) { ++ return -errno; ++ } ++ if (fgets(buffer, *size, fp) == NULL) { ++ fclose(fp); ++ return UV_EIO; ++ } ++ fclose(fp); ++ buffer[strcspn(buffer, "\r\n")] = '\0'; ++ *size = strlen(buffer); ++ return 0; ++} ++ ++int uv_interface_addresses(uv_interface_address_t** addresses, int* count) { ++ return 0; ++} ++ ++ ++uint64_t uv_get_free_memory(void) { ++ return 0; ++} ++ ++ ++uint64_t uv_get_total_memory(void) { ++ return 0; ++} ++ ++ ++uint64_t uv_get_constrained_memory(void) { ++ return 0; ++} ++ ++ ++uint64_t uv_get_available_memory(void) { ++ return uv_get_free_memory(); ++} ++ ++ ++int uv_resident_set_memory(size_t* rss) { ++ return 0; ++} ++ ++ ++int uv_uptime(double* uptime) { ++ return 0; ++} ++ ++ ++int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { ++ return 0; ++} ++ ++void uv_free_interface_addresses(uv_interface_address_t* addresses, ++ int count) { ++} diff -ruwN source/src/unix/stream.c source-new/src/unix/stream.c --- source/src/unix/stream.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/stream.c 2025-07-21 22:55:16.826444959 +0700 ++++ source-new/src/unix/stream.c 2025-09-16 11:42:40.883554697 +0700 @@ -29,7 +29,14 @@ #include @@ -151,7 +258,7 @@ diff -ruwN source/src/unix/stream.c source-new/src/unix/stream.c struct cmsghdr hdr; diff -ruwN source/src/unix/udp.c source-new/src/unix/udp.c --- source/src/unix/udp.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/udp.c 2025-07-21 22:55:16.826444959 +0700 ++++ source-new/src/unix/udp.c 2025-09-16 11:42:40.883554697 +0700 @@ -31,6 +31,12 @@ #include #endif From 9c2c0133b28eb26d94e8dc6f3ef0a9a208d3e8f7 Mon Sep 17 00:00:00 2001 From: auronandace Date: Tue, 16 Sep 2025 17:52:17 +0100 Subject: [PATCH 054/182] add sed as a dependency to os-test --- recipes/tests/os-test/recipe.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/tests/os-test/recipe.toml b/recipes/tests/os-test/recipe.toml index 59467c204..1022d4e45 100644 --- a/recipes/tests/os-test/recipe.toml +++ b/recipes/tests/os-test/recipe.toml @@ -14,4 +14,5 @@ dependencies = [ "gnu-make", "gcc13", "libarchive", + "sed", ] From 0a2351722f56358dc46e1bf8cf391d3c01be1462 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 17 Sep 2025 21:55:34 +0700 Subject: [PATCH 055/182] Port python --- recipes/libs/ncurses/recipe.toml | 7 +- recipes/libs/ncurses/redox.patch | 12 ++ recipes/libs/ncursesw/recipe.toml | 9 +- recipes/libs/ncursesw/redox.patch | 12 ++ recipes/libs/openssl1/recipe.toml | 1 + recipes/wip/dev/lang/python312/recipe.toml | 27 ++- recipes/wip/dev/lang/python312/redox.patch | 204 ++++++++++++++++++ .../lang/{python310 => python39}/recipe.toml | 28 ++- .../lang/{python310 => python39}/redox.patch | 46 ++-- 9 files changed, 308 insertions(+), 38 deletions(-) create mode 100644 recipes/libs/ncurses/redox.patch create mode 100644 recipes/libs/ncursesw/redox.patch create mode 100644 recipes/wip/dev/lang/python312/redox.patch rename recipes/wip/dev/lang/{python310 => python39}/recipe.toml (64%) rename recipes/wip/dev/lang/{python310 => python39}/redox.patch (66%) diff --git a/recipes/libs/ncurses/recipe.toml b/recipes/libs/ncurses/recipe.toml index ff2e30688..0fa4f74d3 100644 --- a/recipes/libs/ncurses/recipe.toml +++ b/recipes/libs/ncurses/recipe.toml @@ -1,6 +1,9 @@ [source] tar = "https://ftp.gnu.org/gnu/ncurses/ncurses-6.4.tar.gz" blake3 = "0d1c9fdf53c0ca4bd66ba707d49a079d2dd6f5a960cdec74a56e29952c4ffe73" +patches = [ + "redox.patch" +] [build] template = "custom" @@ -10,12 +13,12 @@ COOKBOOK_CONFIGURE_FLAGS+=( --disable-db-install --disable-stripping --without-ada - --without-cxx-binding + --without-manpages --without-tests + --with-shared cf_cv_func_mkstemp=yes ) cookbook_configure -rm -rfv "${COOKBOOK_STAGE}/bin" "${COOKBOOK_STAGE}/share/"{doc,info,man} """ [package] diff --git a/recipes/libs/ncurses/redox.patch b/recipes/libs/ncurses/redox.patch new file mode 100644 index 000000000..b446db168 --- /dev/null +++ b/recipes/libs/ncurses/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2022-11-06 04:13:26.000000000 +0700 ++++ source-new/configure 2025-09-17 21:14:28.163192730 +0700 +@@ -6386,7 +6386,7 @@ + fi + cf_cv_rm_so_locs=yes + ;; +- (linux*|gnu*|k*bsd*-gnu) ++ (linux*|gnu*|k*bsd*-gnu|redox*) + if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then + LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" diff --git a/recipes/libs/ncursesw/recipe.toml b/recipes/libs/ncursesw/recipe.toml index f1733fe43..a697aabe6 100644 --- a/recipes/libs/ncursesw/recipe.toml +++ b/recipes/libs/ncursesw/recipe.toml @@ -1,22 +1,27 @@ [source] tar = "https://ftp.gnu.org/gnu/ncurses/ncurses-6.4.tar.gz" blake3 = "0d1c9fdf53c0ca4bd66ba707d49a079d2dd6f5a960cdec74a56e29952c4ffe73" +patches = [ + "redox.patch" +] [build] template = "custom" script = """ +DYNAMIC_INIT COOKBOOK_CONFIGURE_FLAGS+=( --disable-db-install --disable-ext-colors + --disable-stripping --enable-widec --without-ada - --without-cxx-binding + --without-manpages --without-tests + --with-shared cf_cv_func_mkstemp=yes cf_cv_wint_t=yes ) cookbook_configure -rm -rfv "${COOKBOOK_STAGE}/bin" "${COOKBOOK_STAGE}/share/"{doc,info,man} """ [package] diff --git a/recipes/libs/ncursesw/redox.patch b/recipes/libs/ncursesw/redox.patch new file mode 100644 index 000000000..b446db168 --- /dev/null +++ b/recipes/libs/ncursesw/redox.patch @@ -0,0 +1,12 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2022-11-06 04:13:26.000000000 +0700 ++++ source-new/configure 2025-09-17 21:14:28.163192730 +0700 +@@ -6386,7 +6386,7 @@ + fi + cf_cv_rm_so_locs=yes + ;; +- (linux*|gnu*|k*bsd*-gnu) ++ (linux*|gnu*|k*bsd*-gnu|redox*) + if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then + LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" diff --git a/recipes/libs/openssl1/recipe.toml b/recipes/libs/openssl1/recipe.toml index b2836cf9f..d51979cb8 100644 --- a/recipes/libs/openssl1/recipe.toml +++ b/recipes/libs/openssl1/recipe.toml @@ -10,6 +10,7 @@ ARCH="${TARGET%%-*}" COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/Configure" COOKBOOK_CONFIGURE_FLAGS=( shared +# threads # needs ucontext.h no-dgram "redox-${ARCH}" --prefix="/" diff --git a/recipes/wip/dev/lang/python312/recipe.toml b/recipes/wip/dev/lang/python312/recipe.toml index e53fb2c00..1e2327c55 100644 --- a/recipes/wip/dev/lang/python312/recipe.toml +++ b/recipes/wip/dev/lang/python312/recipe.toml @@ -1,14 +1,35 @@ -#TODO finish it based on the python310 recipe +#TODO works without pip, probably it requires openssl [source] tar = "https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz" +patches = [ + "redox.patch" +] + [build] template = "custom" dependencies = [ - "openssl1", +# "openssl1", requires 1.1.1 +# "ncurses", + "ncursesw", +# "readline", unable to link + "zlib", + "xz" ] script = """ -COOKBOOK_CONFIGURE_FLAGS+=( +DYNAMIC_INIT +export PYTHONDONTWRITEBYTECODE=1 + +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/usr --disable-ipv6 + --host=${GNU_TARGET} + --build=x86_64 + --with-build-python +# --with-openssl="${COOKBOOK_SYSROOT}/usr" + --with-ensurepip=install + ac_cv_file__dev_ptmx=no + ac_cv_file__dev_ptc=no ) + cookbook_configure """ diff --git a/recipes/wip/dev/lang/python312/redox.patch b/recipes/wip/dev/lang/python312/redox.patch new file mode 100644 index 000000000..292c43db9 --- /dev/null +++ b/recipes/wip/dev/lang/python312/redox.patch @@ -0,0 +1,204 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2025-02-04 21:38:38.000000000 +0700 ++++ source-new/configure 2025-09-17 20:20:00.088297027 +0700 +@@ -4283,6 +4283,9 @@ + *-*-wasi) + ac_sys_system=WASI + ;; ++ *-*-redox*) ++ ac_sys_system=Redox ++ ;; + *) + # for now, limit cross builds to known configurations + MACHDEP="unknown" +@@ -4307,6 +4310,7 @@ + case $MACHDEP in + aix*) MACHDEP="aix";; + linux*) MACHDEP="linux";; ++ redox*) MACHDEP="redox";; + cygwin*) MACHDEP="cygwin";; + darwin*) MACHDEP="darwin";; + '') MACHDEP="unknown";; +@@ -4327,7 +4331,7 @@ + + if test "$cross_compiling" = yes; then + case "$host" in +- *-*-linux*) ++ *-*-linux*|*-*-redox*) + case "$host_cpu" in + arm*) + _host_cpu=arm +@@ -6762,6 +6766,7 @@ + #undef cris + #undef fr30 + #undef linux ++#undef redox + #undef hppa + #undef hpux + #undef i386 +@@ -6907,6 +6912,18 @@ + # endif + #elif defined(__gnu_hurd__) + i386-gnu ++#elif defined(__redox__) ++# if defined(__x86_64__) ++ x86_64-redox ++# elif defined(__i386__) ++ i386-redox ++# elif defined(__aarch64__) ++ aarch64-redox ++# elif defined(__riscv) ++ riscv64-redox ++# else ++# error unknown platform triplet ++# endif + #elif defined(__APPLE__) + darwin + #elif defined(__VXWORKS__) +@@ -7507,7 +7524,7 @@ + PY3LIBRARY=libpython3.so + fi + ;; +- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|VxWorks*) ++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|VxWorks*|Redox*) + LDLIBRARY='libpython$(LDVERSION).so' + BLDLIBRARY='-L. -lpython$(LDVERSION)' + RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +@@ -12815,7 +12832,7 @@ + Emscripten*|WASI*) + LDSHARED='$(CC) -shared' + LDCXXSHARED='$(CXX) -shared';; +- Linux*|GNU*|QNX*|VxWorks*|Haiku*) ++ Linux*|GNU*|QNX*|VxWorks*|Haiku*|Redox*) + LDSHARED='$(CC) -shared' + LDCXXSHARED='$(CXX) -shared';; + FreeBSD*) +@@ -12901,7 +12918,7 @@ + else CCSHARED="+z"; + fi;; + Linux-android*) ;; +- Linux*|GNU*) CCSHARED="-fPIC";; ++ Linux*|GNU*|Redox*) CCSHARED="-fPIC";; + Emscripten*|WASI*) + if test "x$enable_wasm_dynamic_linking" = xyes + then : +@@ -12939,7 +12956,7 @@ + LINKFORSHARED="-Wl,-E -Wl,+s";; + # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; + Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; +- Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";; ++ Linux*|GNU*|Redox*) LINKFORSHARED="-Xlinker -export-dynamic";; + # -u libsys_s pulls in all symbols in libsys + Darwin/*) + LINKFORSHARED="$extra_undefs -framework CoreFoundation" +diff -ruwN source/Include/pyport.h source-new/Include/pyport.h +--- source/Include/pyport.h 2025-02-04 21:38:38.000000000 +0700 ++++ source-new/Include/pyport.h 2025-09-08 00:58:51.645114412 +0700 +@@ -684,7 +684,7 @@ + # error "Py_TRACE_REFS ABI is not compatible with release and debug ABI" + #endif + +-#if defined(__ANDROID__) || defined(__VXWORKS__) ++#if defined(__ANDROID__) || defined(__VXWORKS__) || defined(__redox__) + // Use UTF-8 as the locale encoding, ignore the LC_CTYPE locale. + // See _Py_GetLocaleEncoding(), PyUnicode_DecodeLocale() + // and PyUnicode_EncodeLocale(). +diff -ruwN source/Modules/_cryptmodule.c source-new/Modules/_cryptmodule.c +--- source/Modules/_cryptmodule.c 2025-02-04 21:38:38.000000000 +0700 ++++ source-new/Modules/_cryptmodule.c 2025-09-08 01:08:47.321046272 +0700 +@@ -38,13 +38,7 @@ + /*[clinic end generated code: output=0512284a03d2803c input=0e8edec9c364352b]*/ + { + char *crypt_result; +-#ifdef HAVE_CRYPT_R +- struct crypt_data data; +- memset(&data, 0, sizeof(data)); +- crypt_result = crypt_r(word, salt, &data); +-#else + crypt_result = crypt(word, salt); +-#endif + if (crypt_result == NULL) { + return PyErr_SetFromErrno(PyExc_OSError); + } +diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c +--- source/Modules/posixmodule.c 2025-02-04 21:38:38.000000000 +0700 ++++ source-new/Modules/posixmodule.c 2025-09-08 01:06:48.400701428 +0700 +@@ -2695,8 +2695,7 @@ + #ifdef HAVE_FSTATAT + if ((dir_fd != DEFAULT_DIR_FD) || !follow_symlinks) { + if (HAVE_FSTATAT_RUNTIME) { +- result = fstatat(dir_fd, path->narrow, &st, +- follow_symlinks ? 0 : AT_SYMLINK_NOFOLLOW); ++ result = fstatat(dir_fd, path->narrow, &st, 0); + + } else { + fstatat_unavailable = 1; +@@ -3186,8 +3185,6 @@ + + if (HAVE_FACCESSAT_RUNTIME) { + int flags = 0; +- if (!follow_symlinks) +- flags |= AT_SYMLINK_NOFOLLOW; + if (effective_ids) + flags |= AT_EACCESS; + result = faccessat(dir_fd, path->narrow, mode, flags); +@@ -3472,8 +3469,7 @@ + * support dir_fd and follow_symlinks=False. (Hopefully.) + * Until then, we need to be careful what exception we raise. + */ +- result = fchmodat(dir_fd, path->narrow, mode, +- follow_symlinks ? 0 : AT_SYMLINK_NOFOLLOW); ++ result = fchmodat(dir_fd, path->narrow, mode, 0); + /* + * But wait! We can't throw the exception without allowing threads, + * and we can't do that in this nested scope. (Macro trickery, sigh.) +@@ -3850,8 +3846,7 @@ + #ifdef HAVE_FCHOWNAT + if ((dir_fd != DEFAULT_DIR_FD) || (!follow_symlinks)) { + if (HAVE_FCHOWNAT_RUNTIME) { +- result = fchownat(dir_fd, path->narrow, uid, gid, +- follow_symlinks ? 0 : AT_SYMLINK_NOFOLLOW); ++ result = fchownat(dir_fd, path->narrow, uid, gid, 0); + } else { + fchownat_unsupported = 1; + } +@@ -14727,8 +14722,7 @@ + #ifdef HAVE_FSTATAT + if (HAVE_FSTATAT_RUNTIME) { + Py_BEGIN_ALLOW_THREADS +- result = fstatat(self->dir_fd, path, &st, +- follow_symlinks ? 0 : AT_SYMLINK_NOFOLLOW); ++ result = fstatat(self->dir_fd, path, &st, 0); + Py_END_ALLOW_THREADS + } else + +diff -ruwN source/Modules/resource.c source-new/Modules/resource.c +--- source/Modules/resource.c 2025-02-04 21:38:38.000000000 +0700 ++++ source-new/Modules/resource.c 2025-09-08 01:10:18.427310454 +0700 +@@ -216,7 +216,7 @@ + { + struct rlimit rl; + +- if (resource < 0 || resource >= RLIM_NLIMITS) { ++ if (resource < 0 || resource >= RLIMIT_NLIMITS) { + PyErr_SetString(PyExc_ValueError, + "invalid resource specified"); + return NULL; +@@ -244,7 +244,7 @@ + { + struct rlimit rl; + +- if (resource < 0 || resource >= RLIM_NLIMITS) { ++ if (resource < 0 || resource >= RLIMIT_NLIMITS) { + PyErr_SetString(PyExc_ValueError, + "invalid resource specified"); + return NULL; +@@ -292,7 +292,7 @@ + struct rlimit old_limit, new_limit; + int retval; + +- if (resource < 0 || resource >= RLIM_NLIMITS) { ++ if (resource < 0 || resource >= RLIMIT_NLIMITS) { + PyErr_SetString(PyExc_ValueError, + "invalid resource specified"); + return NULL; diff --git a/recipes/wip/dev/lang/python310/recipe.toml b/recipes/wip/dev/lang/python39/recipe.toml similarity index 64% rename from recipes/wip/dev/lang/python310/recipe.toml rename to recipes/wip/dev/lang/python39/recipe.toml index 6c69663f0..c612cadee 100644 --- a/recipes/wip/dev/lang/python310/recipe.toml +++ b/recipes/wip/dev/lang/python39/recipe.toml @@ -2,15 +2,23 @@ #TODO Fix openssl dependency #TODO Add additional dependencies (readline, ncurses, etc.) [source] -tar = "https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tar.xz" +tar = "https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz" patches = [ - 'redox.patch' +# 'redox.patch' ] [build] template = "custom" -dependencies = [] +dependencies = [ +# "openssl1", needs threading / ucontext.h + "ncursesw", + "zlib", + "xz" +] script = """ +DYNAMIC_INIT +export PYTHONDONTWRITEBYTECODE=1 + # Python cross-compilation requires the same Python version on the build machine BUILDMACH_TARGET="$(gcc -dumpmachine)" BUILDMACH_BUILD="${COOKBOOK_RECIPE}/target/${BUILDMACH_TARGET}/build" @@ -27,19 +35,23 @@ mkdir -p "${BUILDMACH_STAGE}" cd "${BUILDMACH_BUILD}" # Use env that does not use the Redox build tools -env -i PATH="$PATH" CC=gcc "${COOKBOOK_SOURCE}/configure" -env -i PATH="$PATH" CC=gcc "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +env -i PATH="$PATH" CC="$CC_WRAPPER gcc" "${COOKBOOK_SOURCE}/configure" +env -i PATH="$PATH" CC="$CC_WRAPPER gcc" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" "${COOKBOOK_MAKE}" install DESTDIR="${BUILDMACH_STAGE}" cd - export PATH="${BUILDMACH_STAGE}/usr/local/bin:${PATH}" -# --enable-optimizations for release build -COOKBOOK_CONFIGURE_FLAGS+=( +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/usr --disable-ipv6 - --build="${ARCH}" + --host=${GNU_TARGET} + --build=x86_64 + --with-openssl="${COOKBOOK_SYSROOT}/usr" + --with-ensurepip=install ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no ) + cookbook_configure """ diff --git a/recipes/wip/dev/lang/python310/redox.patch b/recipes/wip/dev/lang/python39/redox.patch similarity index 66% rename from recipes/wip/dev/lang/python310/redox.patch rename to recipes/wip/dev/lang/python39/redox.patch index 3f42622d3..5f776a987 100644 --- a/recipes/wip/dev/lang/python310/redox.patch +++ b/recipes/wip/dev/lang/python39/redox.patch @@ -1,7 +1,7 @@ -diff -ur source-orig/configure source/configure ---- source-orig/configure 2023-08-24 13:46:25.000000000 +0100 -+++ source/configure 2024-10-17 16:50:09.377036649 +0100 -@@ -3347,6 +3347,9 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2021-11-16 00:43:00.000000000 +0700 ++++ source-new/configure 2025-09-17 21:31:19.787497963 +0700 +@@ -3307,6 +3307,9 @@ *-*-vxworks*) ac_sys_system=VxWorks ;; @@ -11,7 +11,7 @@ diff -ur source-orig/configure source/configure *) # for now, limit cross builds to known configurations MACHDEP="unknown" -@@ -3371,6 +3374,7 @@ +@@ -3331,6 +3334,7 @@ case $MACHDEP in aix*) MACHDEP="aix";; linux*) MACHDEP="linux";; @@ -19,7 +19,7 @@ diff -ur source-orig/configure source/configure cygwin*) MACHDEP="cygwin";; darwin*) MACHDEP="darwin";; '') MACHDEP="unknown";; -@@ -3382,7 +3386,7 @@ +@@ -3342,7 +3346,7 @@ if test "$cross_compiling" = yes; then case "$host" in @@ -28,16 +28,16 @@ diff -ur source-orig/configure source/configure case "$host_cpu" in arm*) _host_cpu=arm -@@ -5989,7 +5993,7 @@ +@@ -5951,7 +5955,7 @@ PY3LIBRARY=libpython3.so fi ;; -- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|VxWorks*) -+ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|VxWorks*|Redox*) +- Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*) ++ Linux*|GNU*|NetBSD*|FreeBSD*|DragonFly*|OpenBSD*|Redox*) LDLIBRARY='libpython$(LDVERSION).so' BLDLIBRARY='-L. -lpython$(LDVERSION)' RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} -@@ -9787,7 +9791,7 @@ +@@ -9551,7 +9555,7 @@ BLDSHARED="$LDSHARED" fi ;; @@ -46,7 +46,7 @@ diff -ur source-orig/configure source/configure LDSHARED='$(CC) -shared' LDCXXSHARED='$(CXX) -shared';; FreeBSD*) -@@ -9856,7 +9860,7 @@ +@@ -9620,7 +9624,7 @@ else CCSHARED="+z"; fi;; Linux-android*) ;; @@ -55,7 +55,7 @@ diff -ur source-orig/configure source/configure FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";; OpenUNIX*|UnixWare*) if test "$GCC" = "yes" -@@ -9886,7 +9890,7 @@ +@@ -9650,7 +9654,7 @@ LINKFORSHARED="-Wl,-E -Wl,+s";; # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; @@ -64,22 +64,22 @@ diff -ur source-orig/configure source/configure # -u libsys_s pulls in all symbols in libsys Darwin/*) LINKFORSHARED="$extra_undefs -framework CoreFoundation" -diff -ur source-orig/Include/pyport.h source/Include/pyport.h ---- source-orig/Include/pyport.h 2023-08-24 13:46:25.000000000 +0100 -+++ source/Include/pyport.h 2024-10-17 17:34:54.514295923 +0100 -@@ -843,7 +843,7 @@ +diff -ruwN source/Include/pyport.h source-new/Include/pyport.h +--- source/Include/pyport.h 2021-11-16 00:43:00.000000000 +0700 ++++ source-new/Include/pyport.h 2025-09-17 21:31:56.613084352 +0700 +@@ -838,7 +838,7 @@ # error "Py_TRACE_REFS ABI is not compatible with release and debug ABI" #endif -#if defined(__ANDROID__) || defined(__VXWORKS__) +#if defined(__ANDROID__) || defined(__VXWORKS__) || defined(__redox__) - // Use UTF-8 as the locale encoding, ignore the LC_CTYPE locale. - // See _Py_GetLocaleEncoding(), PyUnicode_DecodeLocale() - // and PyUnicode_EncodeLocale(). -diff -ur source-orig/Modules/timemodule.c source/Modules/timemodule.c ---- source-orig/Modules/timemodule.c 2023-08-24 13:46:25.000000000 +0100 -+++ source/Modules/timemodule.c 2024-10-17 17:38:08.481699567 +0100 -@@ -1453,7 +1453,7 @@ + /* Ignore the locale encoding: force UTF-8 */ + # define _Py_FORCE_UTF8_LOCALE + #endif +diff -ruwN source/Modules/timemodule.c source-new/Modules/timemodule.c +--- source/Modules/timemodule.c 2021-11-16 00:43:00.000000000 +0700 ++++ source-new/Modules/timemodule.c 2025-09-17 21:30:18.552349106 +0700 +@@ -1416,7 +1416,7 @@ return 0; } From 80a76fab89d6f1a3077a5121afd42d58397eb71e Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 17 Sep 2025 22:06:14 +0700 Subject: [PATCH 056/182] Fix ARCH --- recipes/wip/dev/lang/python312/recipe.toml | 3 ++- recipes/wip/dev/lang/python39/recipe.toml | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/wip/dev/lang/python312/recipe.toml b/recipes/wip/dev/lang/python312/recipe.toml index 1e2327c55..ada36f03b 100644 --- a/recipes/wip/dev/lang/python312/recipe.toml +++ b/recipes/wip/dev/lang/python312/recipe.toml @@ -18,12 +18,13 @@ dependencies = [ script = """ DYNAMIC_INIT export PYTHONDONTWRITEBYTECODE=1 +ARCH="${TARGET%%-*}" COOKBOOK_CONFIGURE_FLAGS=( --prefix=/usr --disable-ipv6 --host=${GNU_TARGET} - --build=x86_64 + --build=$ARCH --with-build-python # --with-openssl="${COOKBOOK_SYSROOT}/usr" --with-ensurepip=install diff --git a/recipes/wip/dev/lang/python39/recipe.toml b/recipes/wip/dev/lang/python39/recipe.toml index c612cadee..537c920a4 100644 --- a/recipes/wip/dev/lang/python39/recipe.toml +++ b/recipes/wip/dev/lang/python39/recipe.toml @@ -18,6 +18,7 @@ dependencies = [ script = """ DYNAMIC_INIT export PYTHONDONTWRITEBYTECODE=1 +ARCH="${TARGET%%-*}" # Python cross-compilation requires the same Python version on the build machine BUILDMACH_TARGET="$(gcc -dumpmachine)" @@ -46,8 +47,8 @@ COOKBOOK_CONFIGURE_FLAGS=( --prefix=/usr --disable-ipv6 --host=${GNU_TARGET} - --build=x86_64 - --with-openssl="${COOKBOOK_SYSROOT}/usr" + --build=$ARCH +# --with-openssl="${COOKBOOK_SYSROOT}/usr" --with-ensurepip=install ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no From adf95141be88a22159ea40626c40e9aa7bcfe2c7 Mon Sep 17 00:00:00 2001 From: auronandace Date: Wed, 17 Sep 2025 19:30:24 +0100 Subject: [PATCH 057/182] add gnu-grep as dependency to os-test --- recipes/tests/os-test/recipe.toml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/tests/os-test/recipe.toml b/recipes/tests/os-test/recipe.toml index 1022d4e45..9b0d02354 100644 --- a/recipes/tests/os-test/recipe.toml +++ b/recipes/tests/os-test/recipe.toml @@ -1,3 +1,4 @@ +# TODO remove gnu-grep when extrautils grep supports grep -E [source] git = "https://gitlab.com/sortix/os-test" @@ -10,9 +11,10 @@ cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/share/os-test" [package] dependencies = [ - "gnu-binutils", - "gnu-make", "gcc13", + "gnu-binutils", + "gnu-grep", + "gnu-make", "libarchive", "sed", ] From 0fbd8365356a370604dc638c65dcf3ca30a277aa Mon Sep 17 00:00:00 2001 From: Wildan M Date: Thu, 18 Sep 2025 09:32:33 +0700 Subject: [PATCH 058/182] Add libedit and php readline support --- recipes/wip/dev/lang/php84/recipe.toml | 32 ++++--- recipes/wip/dev/lang/php84/redox.patch | 16 +++- recipes/wip/libs/other/libedit/recipe.toml | 13 ++- recipes/wip/libs/other/libedit/redox.patch | 99 ++++++++++++++++++++++ 4 files changed, 140 insertions(+), 20 deletions(-) create mode 100644 recipes/wip/libs/other/libedit/redox.patch diff --git a/recipes/wip/dev/lang/php84/recipe.toml b/recipes/wip/dev/lang/php84/recipe.toml index c004b5ef2..514554763 100644 --- a/recipes/wip/dev/lang/php84/recipe.toml +++ b/recipes/wip/dev/lang/php84/recipe.toml @@ -1,4 +1,4 @@ -#TODO fix readline and openssl +#TODO fix openssl [source] tar = "https://www.php.net/distributions/php-8.4.12.tar.xz" patches = [ @@ -13,30 +13,36 @@ dependencies = [ "libgmp", "libavif", "libjpeg", -# "libedit", + "libedit", "libonig", "libpng", "libwebp", "libxml2", + "libiconv", "libzip", -# "ncurses", + "ncurses", "nghttp2", "openssl1", "pcre", -# "readline", + "readline", "sqlite3", "xz", "zlib", ] script = """ DYNAMIC_INIT -# extension stuff +export SUFFIX="84" + export CURL_LIBS="-lcurl -lnghttp2 -lssl -lcrypto" -#export READLINE_DIR="${COOKBOOK_SYSROOT}/usr" COOKBOOK_CONFIGURE_FLAGS+=( - --without-iconv - --disable-phar + --program-suffix=${SUFFIX} + --sysconfdir=/etc + --with-config-file-path=/etc + --with-config-file-scan-dir=/etc/conf.d + --with-iconv="${COOKBOOK_SYSROOT}/usr" + --disable-phar # doesn't work cross compiling --disable-opcache +# --enable-fpm # need times function --enable-gd --with-curl --with-gmp @@ -46,9 +52,9 @@ COOKBOOK_CONFIGURE_FLAGS+=( --with-ffi --with-intl --with-mbstring -# --with-libedit -# --with-readline -# --with-openssl + --with-libedit + --with-readline +# --with-openssl # need 1.1.1 --with-zip ) @@ -57,4 +63,8 @@ COOKBOOK_CONFIGURE_FLAGS+=( "${COOKBOOK_MAKE}" install \ INSTALL_ROOT="${COOKBOOK_STAGE}" \ datarootdir=/usr/share localstatedir=/var + +for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize"; do + ln -s "$bin$SUFFIX" ${COOKBOOK_STAGE}/usr/bin/$bin +done """ diff --git a/recipes/wip/dev/lang/php84/redox.patch b/recipes/wip/dev/lang/php84/redox.patch index eed8d1169..916f9fa3d 100644 --- a/recipes/wip/dev/lang/php84/redox.patch +++ b/recipes/wip/dev/lang/php84/redox.patch @@ -1,6 +1,6 @@ diff --color -ruwN source/configure source-new/configure --- source/configure 2025-08-26 20:36:28.000000000 +0700 -+++ source-new/configure 2025-09-16 07:44:46.452670941 +0700 ++++ source-new/configure 2025-09-16 07:50:56.962975667 +0700 @@ -25863,7 +25863,7 @@ then : ac_cv_lib_curl_curl_easy_perform=yes @@ -28,9 +28,21 @@ diff --color -ruwN source/configure source-new/configure ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" if test "x$ac_cv_header_gmp_h" = xyes then : +diff --color -ruwN source/ext/phar/Makefile.frag source-new/ext/phar/Makefile.frag +--- source/ext/phar/Makefile.frag 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/ext/phar/Makefile.frag 2025-09-18 07:37:43.264765180 +0700 +@@ -30,7 +30,7 @@ + -@test -f $(builddir)/phar/phar.inc || cp $(srcdir)/phar/phar.inc $(builddir)/phar/phar.inc + + TEST_PHP_EXECUTABLE = $(shell $(PHP_EXECUTABLE) -v 2>&1) +-TEST_PHP_EXECUTABLE_RES = $(shell echo "$(TEST_PHP_EXECUTABLE)" | grep -c 'Exec format error') ++TEST_PHP_EXECUTABLE_RES = $(shell echo "$(TEST_PHP_EXECUTABLE)" | grep -E -c 'Exec format error|required file not found') + + $(builddir)/phar.php: $(srcdir)/build_precommand.php $(srcdir)/phar/*.inc $(srcdir)/phar/*.php $(SAPI_CLI_PATH) + -@(echo "Generating phar.php"; \ diff --color -ruwN source/ext/posix/posix.c source-new/ext/posix/posix.c --- source/ext/posix/posix.c 2025-08-26 20:36:28.000000000 +0700 -+++ source-new/ext/posix/posix.c 2025-09-16 07:02:03.974662569 +0700 ++++ source-new/ext/posix/posix.c 2025-09-16 07:50:56.989976200 +0700 @@ -375,7 +375,7 @@ ZEND_PARSE_PARAMETERS_NONE(); diff --git a/recipes/wip/libs/other/libedit/recipe.toml b/recipes/wip/libs/other/libedit/recipe.toml index c00a8c38c..62d169b81 100644 --- a/recipes/wip/libs/other/libedit/recipe.toml +++ b/recipes/wip/libs/other/libedit/recipe.toml @@ -1,14 +1,13 @@ -#TODO make dependencies work +#TODO promote [source] -tar = "https://www.thrysoee.dk/editline/libedit-20221030-3.1.tar.gz" +tar = "https://www.thrysoee.dk/editline/libedit-20250104-3.1.tar.gz" +patches = [ + "redox.patch" +] [build] -template = "custom" +template = "configure" dependencies = [ "ncurses", "termcap", "terminfo", ] -script = """ -export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libedit/redox.patch b/recipes/wip/libs/other/libedit/redox.patch new file mode 100644 index 000000000..5a699f2a1 --- /dev/null +++ b/recipes/wip/libs/other/libedit/redox.patch @@ -0,0 +1,99 @@ +diff --color -ruwN source/configure source-new/configure +--- source/configure 2025-01-05 00:16:30.000000000 +0700 ++++ source-new/configure 2025-09-18 06:50:23.667443238 +0700 +@@ -6384,7 +6384,7 @@ + ;; + + # This must be glibc/ELF. +-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | redox*) + lt_cv_deplibs_check_method=pass_all + ;; + +@@ -7715,7 +7715,7 @@ + ;; + + x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +-s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*) ++s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu**|x86_64-redox*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when +@@ -7734,7 +7734,7 @@ + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; +- x86_64-*linux*|x86_64-gnu*) ++ x86_64-*linux*|x86_64-gnu*|x86_64-redox*) + case `$FILECMD conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" +@@ -7763,7 +7763,7 @@ + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; +- x86_64-*linux*|x86_64-gnu*) ++ x86_64-*linux*|x86_64-gnu*|x86_64-*redox*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) +@@ -12168,7 +12168,7 @@ + ;; + + # This must be glibc/ELF. +-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) ++linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | redox*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no +diff --color -ruwN source/src/chartype.h source-new/src/chartype.h +--- source/src/chartype.h 2022-06-11 14:57:59.000000000 +0700 ++++ source-new/src/chartype.h 2025-09-18 06:38:37.401509690 +0700 +@@ -39,7 +39,8 @@ + !(defined(__APPLE__) && defined(__MACH__)) && \ + !defined(__OpenBSD__) && \ + !defined(__FreeBSD__) && \ +- !defined(__DragonFly__) ++ !defined(__DragonFly__) && \ ++ !defined(__redox__) + #ifndef __STDC_ISO_10646__ + /* In many places it is assumed that the first 127 code points are ASCII + * compatible, so ensure wchar_t indeed does ISO 10646 and not some other +diff --color -ruwN source/src/editline/readline.h source-new/src/editline/readline.h +--- source/src/editline/readline.h 2023-08-27 14:25:53.000000000 +0700 ++++ source-new/src/editline/readline.h 2025-09-18 06:41:15.169232816 +0700 +@@ -78,7 +78,7 @@ + + #ifndef CTRL + #include +-#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) ++#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) && !defined(__redox__) + #include + #endif + #ifndef CTRL +diff --color -ruwN source/src/sys.h source-new/src/sys.h +--- source/src/sys.h 2024-08-09 01:03:34.000000000 +0700 ++++ source-new/src/sys.h 2025-09-18 06:40:02.388537017 +0700 +@@ -116,10 +116,6 @@ + typedef unsigned int u_int32_t; + #endif + +-#ifndef HAVE_SIZE_MAX +-#define SIZE_MAX ((size_t)-1) +-#endif +- + #define REGEX /* Use POSIX.2 regular expression functions */ + #undef REGEXP /* Use UNIX V8 regular expression functions */ + +diff --color -ruwN source/src/wcsdup.c source-new/src/wcsdup.c +--- source/src/wcsdup.c 2022-06-11 14:57:59.000000000 +0700 ++++ source-new/src/wcsdup.c 2025-09-18 06:44:01.365917599 +0700 +@@ -11,7 +11,7 @@ + * code is also granted without any restrictions. + */ + +-#ifndef HAVE_WCSDUP ++#if !defined(HAVE_WCSDUP) && !defined(__redox__) + + #include "config.h" + From 261ea34f69374f35029daece91043e60e87776b4 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Fri, 19 Sep 2025 10:12:38 +0000 Subject: [PATCH 059/182] Make jobs applied to cargo and configurable from env --- src/bin/cook.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 945df17dd..2b8ca9911 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -894,7 +894,7 @@ function cookbook_cargo { --locked \ --no-track \ ${install_flags} \ - "$@" + -j "${COOKBOOK_MAKE_JOBS}" "$@" } # helper for installing binaries that are cargo examples @@ -905,7 +905,7 @@ function cookbook_cargo_examples { "${COOKBOOK_CARGO}" build \ --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ --example "${example}" \ - ${build_flags} + ${build_flags} -j "${COOKBOOK_MAKE_JOBS}" mkdir -pv "${COOKBOOK_STAGE}/usr/bin" cp -v \ "target/${TARGET}/${build_type}/examples/${example}" \ @@ -921,7 +921,7 @@ function cookbook_cargo_packages { "${COOKBOOK_CARGO}" build \ --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ --package "${package}" \ - ${build_flags} + ${build_flags} -j "${COOKBOOK_MAKE_JOBS}" mkdir -pv "${COOKBOOK_STAGE}/usr/bin" cp -v \ "target/${TARGET}/${build_type}/${package}" \ @@ -938,12 +938,17 @@ COOKBOOK_CONFIGURE_FLAGS=( --enable-static ) COOKBOOK_MAKE="make" + +if [ -z "${COOKBOOK_MAKE_JOBS}" ] +then if [ -z "${IS_REDOX}" ] then COOKBOOK_MAKE_JOBS="$(nproc)" else COOKBOOK_MAKE_JOBS="1" fi +fi + function cookbook_configure { "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "$@" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" From 61d5ecefc0cbf87e1c418e5f98c47efac1dad67d Mon Sep 17 00:00:00 2001 From: Ron Williams Date: Fri, 19 Sep 2025 05:44:27 -0700 Subject: [PATCH 060/182] openposixtestsuite: Add dependencies and simplify recipe --- recipes/tests/openposixtestsuite/recipe.toml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/recipes/tests/openposixtestsuite/recipe.toml b/recipes/tests/openposixtestsuite/recipe.toml index 6aecb889c..3ff2cb7e7 100644 --- a/recipes/tests/openposixtestsuite/recipe.toml +++ b/recipes/tests/openposixtestsuite/recipe.toml @@ -1,11 +1,19 @@ [source] -git = "https://gitlab.redox-os.org/rw_van/openposixtestsuite.git" +git = "https://gitlab.redox-os.org/redox-os/openposixtestsuite.git" branch = "redox" [build] template = "custom" script = """ -rsync -av --delete "${COOKBOOK_SOURCE}/" ./ -mkdir -pv "${COOKBOOK_STAGE}/share/openposixtests" -rsync -av --delete . "${COOKBOOK_STAGE}/share/openposixtestsuite" +mkdir -pv "${COOKBOOK_STAGE}/share/openposixtestsuite" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/share/openposixtestsuite" """ + +[package] +dependencies = [ + "gcc13", + "gnu-binutils", + "gnu-make", + "sed", +] + From b10ef5910d3c4aa7e524f0bd62abce01c8912833 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 19 Sep 2025 21:58:47 +0700 Subject: [PATCH 061/182] Fix bash PATH to use double colon --- recipes/shells/bash/redox.patch | 132 +++++++++++--------------------- 1 file changed, 45 insertions(+), 87 deletions(-) diff --git a/recipes/shells/bash/redox.patch b/recipes/shells/bash/redox.patch index b0aefafb2..bc238aea7 100644 --- a/recipes/shells/bash/redox.patch +++ b/recipes/shells/bash/redox.patch @@ -1,6 +1,6 @@ -diff -ruwN bash-5.2.15/bashline.c source/bashline.c ---- bash-5.2.15/bashline.c 2022-04-17 15:37:12.000000000 -0700 -+++ source/bashline.c 2024-12-05 16:04:07.566380980 -0800 +diff -ruwN source/bashline.c source-new/bashline.c +--- source/bashline.c 2022-04-18 05:37:12.000000000 +0700 ++++ source-new/bashline.c 2025-09-01 04:36:35.272926519 +0700 @@ -2645,7 +2645,7 @@ const char *text; int state; @@ -10,9 +10,9 @@ diff -ruwN bash-5.2.15/bashline.c source/bashline.c return ((char *)NULL); #else static char *gname = (char *)NULL; -diff -ruwN bash-5.2.15/builtins/ulimit.def source/builtins/ulimit.def ---- bash-5.2.15/builtins/ulimit.def 2021-11-05 06:19:53.000000000 -0700 -+++ source/builtins/ulimit.def 2024-12-05 16:04:07.567380980 -0800 +diff -ruwN source/builtins/ulimit.def source-new/builtins/ulimit.def +--- source/builtins/ulimit.def 2021-11-05 20:19:53.000000000 +0700 ++++ source-new/builtins/ulimit.def 2025-09-01 04:36:35.272926519 +0700 @@ -609,7 +609,7 @@ } else @@ -22,38 +22,9 @@ diff -ruwN bash-5.2.15/builtins/ulimit.def source/builtins/ulimit.def if (getrlimit (limits[ind].parameter, &limit) < 0) return -1; # if defined (HPUX9) -diff -ruwN bash-5.2.15/config-top.h source/config-top.h ---- bash-5.2.15/config-top.h 2021-11-05 06:11:12.000000000 -0700 -+++ source/config-top.h 2024-12-06 01:06:18.324586528 -0800 -@@ -63,24 +63,24 @@ - /* The default value of the PATH variable. */ - #ifndef DEFAULT_PATH_VALUE - #define DEFAULT_PATH_VALUE \ -- "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:." -+ "/usr/local/bin;/usr/local/sbin;/usr/bin;/usr/sbin;/bin;/sbin;." - #endif - - /* If you want to unconditionally set a value for PATH in every restricted - shell, set this. */ --/* #define RBASH_STATIC_PATH_VALUE "/rbin:/usr/rbin" */ -+/* #define RBASH_STATIC_PATH_VALUE "/rbin;/usr/rbin" */ - - /* The value for PATH when invoking `command -p'. This is only used when - the Posix.2 confstr () function, or CS_PATH define are not present. */ - #ifndef STANDARD_UTILS_PATH - #define STANDARD_UTILS_PATH \ -- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc" -+ "/bin;/usr/bin;/sbin;/usr/sbin;/etc;/usr/etc" - #endif - - /* The default path for enable -f */ - #ifndef DEFAULT_LOADABLE_BUILTINS_PATH - #define DEFAULT_LOADABLE_BUILTINS_PATH \ -- "/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:." -+ "/usr/local/lib/bash;/usr/lib/bash;/opt/local/lib/bash;/usr/pkg/lib/bash;/opt/pkg/lib/bash;." - #endif - - /* Default primary and secondary prompt strings. */ +diff -ruwN source/config-top.h source-new/config-top.h +--- source/config-top.h 2021-11-05 20:11:12.000000000 +0700 ++++ source-new/config-top.h 2025-09-19 21:55:55.439030906 +0700 @@ -199,3 +199,6 @@ /* Undefine or define to 0 if you don't want to allow associative array assignment using a compound list of key-value pairs. */ @@ -61,9 +32,9 @@ diff -ruwN bash-5.2.15/config-top.h source/config-top.h + +/* Don't check for a valid inode number when pattern matching on Redox */ +#define BROKEN_DIRENT_D_INO 1 -diff -ruwN bash-5.2.15/configure source/configure ---- bash-5.2.15/configure 2022-09-23 07:13:22.000000000 -0700 -+++ source/configure 2024-12-05 16:06:32.812286102 -0800 +diff -ruwN source/configure source-new/configure +--- source/configure 2022-09-23 21:13:22.000000000 +0700 ++++ source-new/configure 2025-09-01 04:52:47.542177017 +0700 @@ -3298,6 +3298,7 @@ *-nsk*) opt_bash_malloc=no ;; # HP NonStop *-haiku*) opt_bash_malloc=no ;; # Haiku OS @@ -72,9 +43,9 @@ diff -ruwN bash-5.2.15/configure source/configure esac # memory scrambling on free() -diff -ruwN bash-5.2.15/configure.ac source/configure.ac ---- bash-5.2.15/configure.ac 2022-09-23 07:12:27.000000000 -0700 -+++ source/configure.ac 2024-12-05 16:04:07.571380977 -0800 +diff -ruwN source/configure.ac source-new/configure.ac +--- source/configure.ac 2022-09-23 21:12:27.000000000 +0700 ++++ source-new/configure.ac 2025-09-01 04:36:35.275926660 +0700 @@ -92,6 +92,7 @@ *-nsk*) opt_bash_malloc=no ;; # HP NonStop *-haiku*) opt_bash_malloc=no ;; # Haiku OS @@ -83,9 +54,9 @@ diff -ruwN bash-5.2.15/configure.ac source/configure.ac esac # memory scrambling on free() -diff -ruwN bash-5.2.15/execute_cmd.c source/execute_cmd.c ---- bash-5.2.15/execute_cmd.c 2022-12-13 09:09:02.000000000 -0800 -+++ source/execute_cmd.c 2024-12-05 16:04:07.573380976 -0800 +diff -ruwN source/execute_cmd.c source-new/execute_cmd.c +--- source/execute_cmd.c 2022-12-14 00:09:02.000000000 +0700 ++++ source-new/execute_cmd.c 2025-09-01 04:36:35.275926660 +0700 @@ -1379,11 +1379,11 @@ nullcmd = (command == 0) || (command->type == cm_simple && command->value.Simple->words == 0 && command->value.Simple->redirects == 0); if (posixly_correct && nullcmd) @@ -100,9 +71,9 @@ diff -ruwN bash-5.2.15/execute_cmd.c source/execute_cmd.c before.tms_utime = before.tms_stime = before.tms_cutime = before.tms_cstime = 0; tbefore = shell_start_time; #endif -diff -ruwN bash-5.2.15/general.c source/general.c ---- bash-5.2.15/general.c 2022-11-23 14:10:12.000000000 -0800 -+++ source/general.c 2024-12-05 16:04:07.574380975 -0800 +diff -ruwN source/general.c source-new/general.c +--- source/general.c 2022-11-24 05:10:12.000000000 +0700 ++++ source-new/general.c 2025-09-19 17:09:24.754782168 +0700 @@ -589,6 +589,7 @@ void check_dev_tty () @@ -119,22 +90,9 @@ diff -ruwN bash-5.2.15/general.c source/general.c } /* Return 1 if PATH1 and PATH2 are the same file. This is kind of -@@ -1031,10 +1033,10 @@ - `:'. If I is 0, then the path has a leading colon. Trailing colons - are handled OK by the `else' part of the if statement; an empty - string is returned in that case. */ -- if (i && string[i] == ':') -+ if (i && string[i] == ';') - i++; - -- for (start = i; string[i] && string[i] != ':'; i++) -+ for (start = i; string[i] && string[i] != ';'; i++) - ; - - *p_index = i; -diff -ruwN bash-5.2.15/include/posixwait.h source/include/posixwait.h ---- bash-5.2.15/include/posixwait.h 2019-03-29 10:25:52.000000000 -0700 -+++ source/include/posixwait.h 2024-12-05 16:04:07.574380975 -0800 +diff -ruwN source/include/posixwait.h source-new/include/posixwait.h +--- source/include/posixwait.h 2019-03-30 00:25:52.000000000 +0700 ++++ source-new/include/posixwait.h 2025-09-01 04:36:35.276926707 +0700 @@ -34,7 +34,7 @@ /* How to get the status of a job. For Posix, this is just an @@ -153,9 +111,9 @@ diff -ruwN bash-5.2.15/include/posixwait.h source/include/posixwait.h # if !defined (WSTOPSIG) # define WSTOPSIG(s) ((s) >> 8) -diff -ruwN bash-5.2.15/lib/readline/input.c source/lib/readline/input.c ---- bash-5.2.15/lib/readline/input.c 2022-04-08 12:43:24.000000000 -0700 -+++ source/lib/readline/input.c 2024-12-05 16:04:07.575380974 -0800 +diff -ruwN source/lib/readline/input.c source-new/lib/readline/input.c +--- source/lib/readline/input.c 2022-04-09 02:43:24.000000000 +0700 ++++ source-new/lib/readline/input.c 2025-09-01 04:36:35.276926707 +0700 @@ -805,7 +805,7 @@ int result; unsigned char c; @@ -165,9 +123,9 @@ diff -ruwN bash-5.2.15/lib/readline/input.c source/lib/readline/input.c sigset_t empty_set; fd_set readfds; #endif -diff -ruwN bash-5.2.15/lib/readline/terminal.c source/lib/readline/terminal.c ---- bash-5.2.15/lib/readline/terminal.c 2022-04-05 07:44:17.000000000 -0700 -+++ source/lib/readline/terminal.c 2024-12-05 16:04:07.575380974 -0800 +diff -ruwN source/lib/readline/terminal.c source-new/lib/readline/terminal.c +--- source/lib/readline/terminal.c 2022-04-05 21:44:17.000000000 +0700 ++++ source-new/lib/readline/terminal.c 2025-09-01 04:36:35.286927174 +0700 @@ -102,7 +102,7 @@ static int tcap_initialized; @@ -177,9 +135,9 @@ diff -ruwN bash-5.2.15/lib/readline/terminal.c source/lib/readline/terminal.c # if defined (__EMX__) || defined (NEED_EXTERN_PC) extern # endif /* __EMX__ || NEED_EXTERN_PC */ -diff -ruwN bash-5.2.15/lib/sh/getcwd.c source/lib/sh/getcwd.c ---- bash-5.2.15/lib/sh/getcwd.c 2012-03-10 07:48:50.000000000 -0800 -+++ source/lib/sh/getcwd.c 2024-12-05 16:04:07.575380974 -0800 +diff -ruwN source/lib/sh/getcwd.c source-new/lib/sh/getcwd.c +--- source/lib/sh/getcwd.c 2012-03-10 22:48:50.000000000 +0700 ++++ source-new/lib/sh/getcwd.c 2025-09-01 04:36:35.286927174 +0700 @@ -20,7 +20,7 @@ #include @@ -189,9 +147,9 @@ diff -ruwN bash-5.2.15/lib/sh/getcwd.c source/lib/sh/getcwd.c #if !defined (__GNUC__) && !defined (HAVE_ALLOCA_H) && defined (_AIX) #pragma alloca -diff -ruwN bash-5.2.15/lib/sh/input_avail.c source/lib/sh/input_avail.c ---- bash-5.2.15/lib/sh/input_avail.c 2021-05-24 08:16:33.000000000 -0700 -+++ source/lib/sh/input_avail.c 2024-12-05 16:04:07.576380974 -0800 +diff -ruwN source/lib/sh/input_avail.c source-new/lib/sh/input_avail.c +--- source/lib/sh/input_avail.c 2021-05-24 22:16:33.000000000 +0700 ++++ source-new/lib/sh/input_avail.c 2025-09-01 04:36:35.298927735 +0700 @@ -33,7 +33,7 @@ # include #endif /* HAVE_SYS_FILE_H */ @@ -201,9 +159,9 @@ diff -ruwN bash-5.2.15/lib/sh/input_avail.c source/lib/sh/input_avail.c # include #endif -diff -ruwN bash-5.2.15/lib/sh/strtoimax.c source/lib/sh/strtoimax.c ---- bash-5.2.15/lib/sh/strtoimax.c 2021-09-10 07:32:35.000000000 -0700 -+++ source/lib/sh/strtoimax.c 2024-12-05 16:04:07.576380974 -0800 +diff -ruwN source/lib/sh/strtoimax.c source-new/lib/sh/strtoimax.c +--- source/lib/sh/strtoimax.c 2021-09-10 21:32:35.000000000 +0700 ++++ source-new/lib/sh/strtoimax.c 2025-09-01 04:36:35.301927876 +0700 @@ -55,6 +55,8 @@ extern long long strtoll PARAMS((const char *, char **, int)); #endif @@ -222,9 +180,9 @@ diff -ruwN bash-5.2.15/lib/sh/strtoimax.c source/lib/sh/strtoimax.c #ifdef TESTING # include int -diff -ruwN bash-5.2.15/parse.y source/parse.y ---- bash-5.2.15/parse.y 2022-12-13 09:09:02.000000000 -0800 -+++ source/parse.y 2024-12-05 16:04:07.577380973 -0800 +diff -ruwN source/parse.y source-new/parse.y +--- source/parse.y 2022-12-14 00:09:02.000000000 +0700 ++++ source-new/parse.y 2025-09-01 04:36:35.302927923 +0700 @@ -2625,6 +2625,7 @@ parser_state |= PST_ENDALIAS; /* We need to do this to make sure last_shell_getc_is_singlebyte returns @@ -241,9 +199,9 @@ diff -ruwN bash-5.2.15/parse.y source/parse.y return ' '; /* END_ALIAS */ } #endif -diff -ruwN bash-5.2.15/y.tab.c source/y.tab.c ---- bash-5.2.15/y.tab.c 2022-12-13 09:09:02.000000000 -0800 -+++ source/y.tab.c 2024-12-05 16:04:07.579380972 -0800 +diff -ruwN source/y.tab.c source-new/y.tab.c +--- source/y.tab.c 2022-12-14 00:09:02.000000000 +0700 ++++ source-new/y.tab.c 2025-09-01 04:36:35.307928157 +0700 @@ -4936,6 +4936,7 @@ parser_state |= PST_ENDALIAS; /* We need to do this to make sure last_shell_getc_is_singlebyte returns From ce270cacaba931a275df5492f77ff69b8ad6aeb7 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 19 Sep 2025 22:22:04 +0700 Subject: [PATCH 062/182] Remove git PATH custom handling --- recipes/dev/git/git.patch | 175 ++++++-------------------------------- 1 file changed, 28 insertions(+), 147 deletions(-) diff --git a/recipes/dev/git/git.patch b/recipes/dev/git/git.patch index 0e20bc967..f1d9b1e57 100644 --- a/recipes/dev/git/git.patch +++ b/recipes/dev/git/git.patch @@ -1,6 +1,6 @@ -diff -ruwN git-2.13.1/compat/bswap.h source/compat/bswap.h ---- git-2.13.1/compat/bswap.h 2017-06-04 19:08:11.000000000 -0600 -+++ source/compat/bswap.h 2025-04-24 11:20:06.475749424 -0600 +diff -ruwN source/compat/bswap.h source-new/compat/bswap.h +--- source/compat/bswap.h 2017-06-05 08:08:11.000000000 +0700 ++++ source-new/compat/bswap.h 2025-09-01 04:41:10.337224520 +0700 @@ -1,3 +1,7 @@ +#if defined(__redox__) +#include @@ -9,9 +9,9 @@ diff -ruwN git-2.13.1/compat/bswap.h source/compat/bswap.h /* * Let's make sure we always have a sane definition for ntohl()/htonl(). * Some libraries define those as a function call, just to perform byte -diff -ruwN git-2.13.1/compat/terminal.c source/compat/terminal.c ---- git-2.13.1/compat/terminal.c 2017-06-04 19:08:11.000000000 -0600 -+++ source/compat/terminal.c 2025-04-18 10:00:11.318697446 -0600 +diff -ruwN source/compat/terminal.c source-new/compat/terminal.c +--- source/compat/terminal.c 2017-06-05 08:08:11.000000000 +0700 ++++ source-new/compat/terminal.c 2025-09-01 04:41:10.337224520 +0700 @@ -137,6 +137,18 @@ return buf.buf; } @@ -31,9 +31,9 @@ diff -ruwN git-2.13.1/compat/terminal.c source/compat/terminal.c #else char *git_terminal_prompt(const char *prompt, int echo) -diff -ruwN git-2.13.1/configure source/configure ---- git-2.13.1/configure 2017-06-04 19:08:11.000000000 -0600 -+++ source/configure 2025-04-18 10:00:11.318697446 -0600 +diff -ruwN source/configure source-new/configure +--- source/configure 2017-06-05 08:08:11.000000000 +0700 ++++ source-new/configure 2025-09-01 04:41:10.338224544 +0700 @@ -6156,7 +6156,7 @@ ac_res=$ac_cv_search_getaddrinfo if test "$ac_res" != no; then : @@ -43,33 +43,10 @@ diff -ruwN git-2.13.1/configure source/configure else NO_IPV6=YesPlease fi -diff -ruwN git-2.13.1/daemon.c source/daemon.c ---- git-2.13.1/daemon.c 2017-06-04 19:08:11.000000000 -0600 -+++ source/daemon.c 2025-04-18 10:00:11.319697447 -0600 -@@ -71,13 +71,21 @@ - return hi->ip_address.buf; - } - -+#if defined(__redox__) -+#define LOG_ERR 0 -+#define LOG_INFO 1 -+#endif -+ - static void logreport(int priority, const char *err, va_list params) - { -+#if !defined(__redox__) - if (log_syslog) { - char buf[1024]; - vsnprintf(buf, sizeof(buf), err, params); - syslog(priority, "%s", buf); -- } else { -+ } else -+#endif -+ { - /* - * Since stderr is set to buffered mode, the - * logging of different processes will not overlap -@@ -888,8 +896,12 @@ +diff -ruwN source/daemon.c source-new/daemon.c +--- source/daemon.c 2017-06-05 08:08:11.000000000 +0700 ++++ source-new/daemon.c 2025-09-19 22:14:42.743240085 +0700 +@@ -888,8 +888,12 @@ if (!reuseaddr) return 0; @@ -82,34 +59,9 @@ diff -ruwN git-2.13.1/daemon.c source/daemon.c } struct socketlist { -@@ -1174,11 +1186,7 @@ - if (!group_name) - c.gid = c.pass->pw_gid; - else { -- struct group *group = getgrnam(group_name); -- if (!group) - die("group not found - %s", group_name); -- -- c.gid = group->gr_gid; - } - - return &c; -@@ -1348,10 +1356,12 @@ - usage(daemon_usage); - } - -+#if !defined(__redox__) - if (log_syslog) { - openlog("git-daemon", LOG_PID, LOG_DAEMON); - set_die_routine(daemon_die); - } else -+#endif - /* avoid splitting a message in the middle */ - setvbuf(stderr, NULL, _IOFBF, 4096); - -diff -ruwN git-2.13.1/git-compat-util.h source/git-compat-util.h ---- git-2.13.1/git-compat-util.h 2017-06-04 19:08:11.000000000 -0600 -+++ source/git-compat-util.h 2025-04-18 10:00:11.319697447 -0600 +diff -ruwN source/git-compat-util.h source-new/git-compat-util.h +--- source/git-compat-util.h 2017-06-05 08:08:11.000000000 +0700 ++++ source-new/git-compat-util.h 2025-09-19 22:09:29.361246446 +0700 @@ -1,6 +1,18 @@ #ifndef GIT_COMPAT_UTIL_H #define GIT_COMPAT_UTIL_H @@ -129,27 +81,10 @@ diff -ruwN git-2.13.1/git-compat-util.h source/git-compat-util.h #define _FILE_OFFSET_BITS 64 -@@ -179,7 +191,9 @@ - #include - #include - #include -+#if !defined(__redox__) - #include -+#endif - #ifndef NO_SYS_POLL_H - #include - #else -@@ -320,8 +334,20 @@ - #endif - - #ifndef PATH_SEP -+#if defined(__redox__) -+#define PATH_SEP ';' -+#else +@@ -323,6 +335,14 @@ #define PATH_SEP ':' #endif -+#endif -+ + +#ifndef DEV_NULL +#if defined(__redox__) +#define DEV_NULL "/scheme/null" @@ -157,58 +92,13 @@ diff -ruwN git-2.13.1/git-compat-util.h source/git-compat-util.h +#define DEV_NULL "/dev/null" +#endif +#endif - ++ #ifdef HAVE_PATHS_H #include -@@ -333,6 +359,16 @@ - #ifndef has_dos_drive_prefix - static inline int git_has_dos_drive_prefix(const char *path) - { -+#if defined(__redox__) -+ char * pos = (char *)path; -+ char c; -+ while (c = *pos) { -+ pos++; -+ if (c == ':') { -+ return pos - path; -+ } -+ } -+#endif - return 0; - } - #define has_dos_drive_prefix git_has_dos_drive_prefix -@@ -341,7 +377,13 @@ - #ifndef skip_dos_drive_prefix - static inline int git_skip_dos_drive_prefix(char **path) - { -+#if defined(__redox__) -+ int ret = has_dos_drive_prefix(*path); -+ *path += ret; -+ return ret; -+#else - return 0; -+#endif - } - #define skip_dos_drive_prefix git_skip_dos_drive_prefix #endif -@@ -357,7 +399,14 @@ - #ifndef offset_1st_component - static inline int git_offset_1st_component(const char *path) - { -+#if defined(__redox__) -+ char * pos = (char *)path; -+ skip_dos_drive_prefix(&pos); -+ pos += is_dir_sep(*pos); -+ return pos - path; -+#else - return is_dir_sep(path[0]); -+#endif - } - #define offset_1st_component git_offset_1st_component - #endif -diff -ruwN git-2.13.1/Makefile source/Makefile ---- git-2.13.1/Makefile 2017-06-04 19:08:11.000000000 -0600 -+++ source/Makefile 2025-04-18 10:00:11.319697447 -0600 +diff -ruwN source/Makefile source-new/Makefile +--- source/Makefile 2017-06-05 08:08:11.000000000 +0700 ++++ source-new/Makefile 2025-09-01 04:41:10.339224568 +0700 @@ -979,7 +979,7 @@ BUILTIN_OBJS += builtin/write-tree.o @@ -257,9 +147,9 @@ diff -ruwN git-2.13.1/Makefile source/Makefile ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \ cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \ done && \ -diff -ruwN git-2.13.1/run-command.c source/run-command.c ---- git-2.13.1/run-command.c 2017-06-04 19:08:11.000000000 -0600 -+++ source/run-command.c 2025-04-18 10:00:11.320697447 -0600 +diff -ruwN source/run-command.c source-new/run-command.c +--- source/run-command.c 2017-06-05 08:08:11.000000000 +0700 ++++ source-new/run-command.c 2025-09-19 22:08:26.892232334 +0700 @@ -120,9 +120,9 @@ #ifndef GIT_WINDOWS_NATIVE static inline void dup_devnull(int to) @@ -272,18 +162,9 @@ diff -ruwN git-2.13.1/run-command.c source/run-command.c if (dup2(fd, to) < 0) die_errno(_("dup2(%d,%d) failed"), fd, to); close(fd); -@@ -138,7 +138,7 @@ - return NULL; - - while (1) { -- const char *end = strchrnul(p, ':'); -+ const char *end = strchrnul(p, PATH_SEP); - - strbuf_reset(&buf); - -diff -ruwN git-2.13.1/setup.c source/setup.c ---- git-2.13.1/setup.c 2017-06-04 19:08:11.000000000 -0600 -+++ source/setup.c 2025-04-18 10:00:11.320697447 -0600 +diff -ruwN source/setup.c source-new/setup.c +--- source/setup.c 2017-06-05 08:08:11.000000000 +0700 ++++ source-new/setup.c 2025-09-01 04:41:10.339224568 +0700 @@ -1146,11 +1146,11 @@ /* if any standard file descriptor is missing open it to /dev/null */ void sanitize_stdfds(void) From 1816f94f9805a35a9a7085aa52e46635cfbe638c Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 19 Sep 2025 15:00:35 -0600 Subject: [PATCH 063/182] xserver-xorg: disable use of SO_PEERCRED until it works --- recipes/wip/x11/xserver-xorg/recipe.toml | 1 + recipes/wip/x11/xserver-xorg/redox.patch | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/recipes/wip/x11/xserver-xorg/recipe.toml b/recipes/wip/x11/xserver-xorg/recipe.toml index 8436f7b72..3f1fa0b55 100644 --- a/recipes/wip/x11/xserver-xorg/recipe.toml +++ b/recipes/wip/x11/xserver-xorg/recipe.toml @@ -39,5 +39,6 @@ cookbook_meson \ -Dudev=false \ -Dudev_kms=false \ -Dvgahw=false \ + -Dxres=false \ -Dxvfb=false """ diff --git a/recipes/wip/x11/xserver-xorg/redox.patch b/recipes/wip/x11/xserver-xorg/redox.patch index 12dd9add3..de43a570a 100644 --- a/recipes/wip/x11/xserver-xorg/redox.patch +++ b/recipes/wip/x11/xserver-xorg/redox.patch @@ -82,7 +82,7 @@ diff -ruwN xorg-server-21.1.16/hw/xfree86/os-support/xf86_OSlib.h source/hw/xfre #include diff -ruwN xorg-server-21.1.16/include/meson.build source/include/meson.build --- xorg-server-21.1.16/include/meson.build 2025-02-25 11:56:05.000000000 -0700 -+++ source/include/meson.build 2025-05-06 18:15:08.036215875 -0600 ++++ source/include/meson.build 2025-09-15 08:40:00.484333455 -0600 @@ -162,7 +162,7 @@ conf_data.set('HAVE_PORT_CREATE', cc.has_function('port_create') ? '1' : false) conf_data.set('HAVE_REALLOCARRAY', cc.has_function('reallocarray', dependencies: libbsd_dep) ? '1' : false) @@ -92,7 +92,7 @@ diff -ruwN xorg-server-21.1.16/include/meson.build source/include/meson.build conf_data.set('HAVE_SHMCTL64', cc.has_function('shmctl64') ? '1' : false) conf_data.set('HAVE_SIGACTION', cc.has_function('sigaction') ? '1' : false) conf_data.set('HAVE_SIGPROCMASK', cc.has_function('sigprocmask') ? '1' : false) -@@ -190,7 +190,7 @@ +@@ -190,14 +190,14 @@ conf_data.set('LISTEN_LOCAL', get_option('listen_local')) if cc.has_header_symbol('sys/socket.h', 'SCM_RIGHTS') @@ -100,7 +100,18 @@ diff -ruwN xorg-server-21.1.16/include/meson.build source/include/meson.build + #TODO conf_data.set('XTRANS_SEND_FDS', '1') endif - if conf_data.get('HAVE_GETPEEREID').to_int() == 0 and conf_data.get('HAVE_GETPEERUCRED').to_int() == 0 +-if conf_data.get('HAVE_GETPEEREID').to_int() == 0 and conf_data.get('HAVE_GETPEERUCRED').to_int() == 0 +- if not cc.has_header_symbol('sys/socket.h', 'SO_PEERCRED') ++#if conf_data.get('HAVE_GETPEEREID').to_int() == 0 and conf_data.get('HAVE_GETPEERUCRED').to_int() == 0 ++ #if not cc.has_header_symbol('sys/socket.h', 'SO_PEERCRED') + conf_data.set('NO_LOCAL_CLIENT_CRED', 1) +- endif +-endif ++ #endif ++#endif + + conf_data.set('TCPCONN', '1') + conf_data.set('UNIXCONN', host_machine.system() != 'windows' ? '1' : false) @@ -212,7 +212,7 @@ conf_data.set('DRI2', build_dri2 ? '1' : false) conf_data.set('DRI3', build_dri3 ? '1' : false) From 450349c39202d643e6c5eefe9e9ea526b0f7f1f1 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sat, 20 Sep 2025 16:06:02 +0700 Subject: [PATCH 064/182] Support PHP and Python with OpenSSL --- recipes/libs/openssl1/recipe.toml | 2 +- recipes/libs/readline/recipe.toml | 10 +- recipes/wip/dev/lang/php-composer/recipe.toml | 9 ++ recipes/wip/dev/lang/php80/recipe.toml | 79 ++++++++++++++++ recipes/wip/dev/lang/php80/redox.patch | 92 +++++++++++++++++++ recipes/wip/dev/lang/php84/recipe.toml | 21 +++-- recipes/wip/dev/lang/python312/recipe.toml | 10 +- recipes/wip/dev/lang/python39/recipe.toml | 14 ++- recipes/wip/libs/other/libuuid/redox.patch | 46 ++++++++-- 9 files changed, 256 insertions(+), 27 deletions(-) create mode 100644 recipes/wip/dev/lang/php-composer/recipe.toml create mode 100644 recipes/wip/dev/lang/php80/recipe.toml create mode 100644 recipes/wip/dev/lang/php80/redox.patch diff --git a/recipes/libs/openssl1/recipe.toml b/recipes/libs/openssl1/recipe.toml index d51979cb8..ea2cb08f2 100644 --- a/recipes/libs/openssl1/recipe.toml +++ b/recipes/libs/openssl1/recipe.toml @@ -10,7 +10,7 @@ ARCH="${TARGET%%-*}" COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/Configure" COOKBOOK_CONFIGURE_FLAGS=( shared -# threads # needs ucontext.h + threads no-dgram "redox-${ARCH}" --prefix="/" diff --git a/recipes/libs/readline/recipe.toml b/recipes/libs/readline/recipe.toml index c4a707792..35a30f597 100644 --- a/recipes/libs/readline/recipe.toml +++ b/recipes/libs/readline/recipe.toml @@ -6,7 +6,13 @@ patches = [ ] [build] -template = "configure" -depends = [ +template = "custom" +dependencies = [ "ncurses", ] +script = """ +DYNAMIC_INIT +cookbook_configure +ln -s "libhistory.so.7" "${COOKBOOK_STAGE}"/usr/lib/libhistory.so +ln -s "libreadline.so.7" "${COOKBOOK_STAGE}"/usr/lib/libreadline.so +""" diff --git a/recipes/wip/dev/lang/php-composer/recipe.toml b/recipes/wip/dev/lang/php-composer/recipe.toml new file mode 100644 index 000000000..1d4d5565b --- /dev/null +++ b/recipes/wip/dev/lang/php-composer/recipe.toml @@ -0,0 +1,9 @@ +#TODO must be run using `php $(which composer)` +[build] +template = "custom" +script = """ +mkdir -p "${COOKBOOK_STAGE}"/usr/bin +wget -c https://getcomposer.org/download/2.8.12/composer.phar +chmod a+x composer.phar +cp composer.phar ${COOKBOOK_STAGE}/usr/bin/composer +""" diff --git a/recipes/wip/dev/lang/php80/recipe.toml b/recipes/wip/dev/lang/php80/recipe.toml new file mode 100644 index 000000000..0a45f6995 --- /dev/null +++ b/recipes/wip/dev/lang/php80/recipe.toml @@ -0,0 +1,79 @@ +#TODO promote +[source] +tar = "https://www.php.net/distributions/php-8.0.30.tar.xz" +patches = [ + "redox.patch" +] + +[build] +template = "custom" +dependencies = [ + "bzip2", + "curl", + "gettext", + "libffi", + "libgmp", + "libavif", + "libicu", + "libjpeg", + "libedit", + "libonig", + "libpng", + "libsodium", + "libwebp", + "libxml2", + "libiconv", + "libzip", + "ncurses", + "nghttp2", + "openssl1", + "pcre", + "sqlite3", + "xz", + "zlib", +] +script = """ +DYNAMIC_INIT +export SUFFIX="80" + +# extension stuff +export CURL_LIBS="-lcurl -lnghttp2 -lssl -lcrypto" +export CXXFLAGS="-std=c++17" +COOKBOOK_CONFIGURE_FLAGS+=( + --program-suffix=${SUFFIX} + --sysconfdir=/etc + --with-config-file-path=/etc/php/$SUFFIX + --with-config-file-scan-dir=/etc/php/$SUFFIX/conf.d + --with-iconv="${COOKBOOK_SYSROOT}/usr" + --disable-opcache + --enable-bcmath + --enable-calendar +# --enable-fpm # need times function + --enable-gd + --enable-intl + --enable-mbstring + --with-curl + --with-gettext + --with-gmp + --with-jpeg + --with-webp + --with-avif + --with-ffi + --with-libedit + --with-openssl + --with-sodium + --with-zip +) + +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "$@" +"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" +"${COOKBOOK_MAKE}" install \ + INSTALL_ROOT="${COOKBOOK_STAGE}" \ + datarootdir=/usr/share localstatedir=/var + +for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize"; do + ln -s "$bin$SUFFIX" ${COOKBOOK_STAGE}/usr/bin/$bin +done +mkdir -p ${COOKBOOK_STAGE}/etc/php/$SUFFIX/conf.d +cp ${COOKBOOK_SOURCE}/php.ini* ${COOKBOOK_STAGE}/etc/php/$SUFFIX/ +""" diff --git a/recipes/wip/dev/lang/php80/redox.patch b/recipes/wip/dev/lang/php80/redox.patch new file mode 100644 index 000000000..4fcf8326c --- /dev/null +++ b/recipes/wip/dev/lang/php80/redox.patch @@ -0,0 +1,92 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/configure 2025-09-20 05:04:59.993364619 +0700 +@@ -46043,7 +46043,7 @@ + fi + + +- ax_cxx_compile_alternatives="11 0x" ax_cxx_compile_cxx11_required=truednl ++ ax_cxx_compile_alternatives="17 0x" ax_cxx_compile_cxx11_required=truednl + ac_ext=cpp + ac_cpp='$CXXCPP $CPPFLAGS' + ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +@@ -72692,7 +72692,7 @@ + printf %s "(cached) " >&6 + else $as_nop + +- php_cv_crypt_r_style=none ++ php_cv_crypt_r_style=struct_crypt_data_gnu_source + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +diff -ruwN source/ext/intl/config.m4 source-new/ext/intl/config.m4 +--- source/ext/intl/config.m4 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/ext/intl/config.m4 2025-09-20 05:05:18.892414632 +0700 +@@ -83,7 +83,7 @@ + breakiterator/codepointiterator_methods.cpp" + + PHP_REQUIRE_CXX() +- PHP_CXX_COMPILE_STDCXX(11, mandatory, PHP_INTL_STDCXX) ++ PHP_CXX_COMPILE_STDCXX(17, mandatory, PHP_INTL_STDCXX) + PHP_INTL_CXX_FLAGS="$INTL_COMMON_FLAGS $PHP_INTL_STDCXX $ICU_CXXFLAGS" + case $host_alias in + *cygwin*) PHP_INTL_CXX_FLAGS="$PHP_INTL_CXX_FLAGS -D_POSIX_C_SOURCE=200809L" +diff -ruwN source/ext/phar/Makefile.frag source-new/ext/phar/Makefile.frag +--- source/ext/phar/Makefile.frag 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/ext/phar/Makefile.frag 2025-09-19 23:19:19.020178026 +0700 +@@ -9,20 +9,7 @@ + pharcmd: $(builddir)/phar.php $(builddir)/phar.phar + + PHP_PHARCMD_SETTINGS = -n -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d phar.readonly=0 +-PHP_PHARCMD_EXECUTABLE = ` \ +- if test -x "$(top_builddir)/$(SAPI_CLI_PATH)"; then \ +- $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \ +- if test "x$(PHP_MODULES)" != "x"; then \ +- $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \ +- for i in bz2 zlib phar; do \ +- if test -f "$(top_builddir)/modules/$$i.la"; then \ +- . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \ +- fi; \ +- done; \ +- fi; \ +- else \ +- $(top_srcdir)/build/shtool echo -n -- "$(PHP_EXECUTABLE)"; \ +- fi;` ++PHP_PHARCMD_EXECUTABLE = "true" + PHP_PHARCMD_BANG = `$(top_srcdir)/build/shtool echo -n -- "$(INSTALL_ROOT)$(bindir)/$(program_prefix)php$(program_suffix)$(EXEEXT)";` + + $(builddir)/phar/phar.inc: $(srcdir)/phar/phar.inc +@@ -42,9 +29,3 @@ + + install-pharcmd: pharcmd + -@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir) +- $(INSTALL) $(builddir)/phar.phar $(INSTALL_ROOT)$(bindir)/$(program_prefix)phar$(program_suffix).phar +- -@rm -f $(INSTALL_ROOT)$(bindir)/$(program_prefix)phar$(program_suffix) +- $(LN_S) -f $(program_prefix)phar$(program_suffix).phar $(INSTALL_ROOT)$(bindir)/$(program_prefix)phar$(program_suffix) +- @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man1 +- @$(INSTALL_DATA) $(builddir)/phar.1 $(INSTALL_ROOT)$(mandir)/man1/$(program_prefix)phar$(program_suffix).1 +- @$(INSTALL_DATA) $(builddir)/phar.phar.1 $(INSTALL_ROOT)$(mandir)/man1/$(program_prefix)phar$(program_suffix).phar.1 +diff -ruwN source/ext/posix/posix.c source-new/ext/posix/posix.c +--- source/ext/posix/posix.c 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/ext/posix/posix.c 2025-09-19 22:21:28.998031846 +0700 +@@ -443,7 +443,7 @@ + + ZEND_PARSE_PARAMETERS_NONE(); + +- if ((ticks = times(&t)) == -1) { ++ { + POSIX_G(last_error) = errno; + RETURN_FALSE; + } +diff -ruwN source/ext/standard/hrtime.c source-new/ext/standard/hrtime.c +--- source/ext/standard/hrtime.c 2023-08-04 00:13:08.000000000 +0700 ++++ source-new/ext/standard/hrtime.c 2025-09-19 23:34:34.839471333 +0700 +@@ -70,6 +70,8 @@ + return -1; + } + ++#elif defined(__redox__) ++ /* pass */ + #elif PHP_HRTIME_PLATFORM_POSIX + + #if !_POSIX_MONOTONIC_CLOCK diff --git a/recipes/wip/dev/lang/php84/recipe.toml b/recipes/wip/dev/lang/php84/recipe.toml index 514554763..3b76747a7 100644 --- a/recipes/wip/dev/lang/php84/recipe.toml +++ b/recipes/wip/dev/lang/php84/recipe.toml @@ -8,14 +8,18 @@ patches = [ [build] template = "custom" dependencies = [ + "bzip2", "curl", + "gettext", "libffi", "libgmp", "libavif", + "libicu", "libjpeg", "libedit", "libonig", "libpng", + "libsodium", "libwebp", "libxml2", "libiconv", @@ -24,7 +28,6 @@ dependencies = [ "nghttp2", "openssl1", "pcre", - "readline", "sqlite3", "xz", "zlib", @@ -37,24 +40,26 @@ export CURL_LIBS="-lcurl -lnghttp2 -lssl -lcrypto" COOKBOOK_CONFIGURE_FLAGS+=( --program-suffix=${SUFFIX} --sysconfdir=/etc - --with-config-file-path=/etc - --with-config-file-scan-dir=/etc/conf.d + --with-config-file-path=/etc/php/$SUFFIX + --with-config-file-scan-dir=/etc/php/$SUFFIX/conf.d --with-iconv="${COOKBOOK_SYSROOT}/usr" - --disable-phar # doesn't work cross compiling --disable-opcache + --enable-bcmath + --enable-calendar # --enable-fpm # need times function --enable-gd + --enable-intl + --enable-mbstring --with-curl + --with-gettext --with-gmp --with-jpeg --with-webp --with-avif --with-ffi - --with-intl - --with-mbstring --with-libedit - --with-readline # --with-openssl # need 1.1.1 + --with-sodium --with-zip ) @@ -67,4 +72,6 @@ COOKBOOK_CONFIGURE_FLAGS+=( for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize"; do ln -s "$bin$SUFFIX" ${COOKBOOK_STAGE}/usr/bin/$bin done +mkdir -p ${COOKBOOK_STAGE}/etc/php/$SUFFIX/conf.d +cp ${COOKBOOK_SOURCE}/php.ini* ${COOKBOOK_STAGE}/etc/php/$SUFFIX/ """ diff --git a/recipes/wip/dev/lang/python312/recipe.toml b/recipes/wip/dev/lang/python312/recipe.toml index ada36f03b..c9c8cef85 100644 --- a/recipes/wip/dev/lang/python312/recipe.toml +++ b/recipes/wip/dev/lang/python312/recipe.toml @@ -8,10 +8,14 @@ patches = [ [build] template = "custom" dependencies = [ + "bzip2", + "libffi", + "libuuid", # "openssl1", requires 1.1.1 -# "ncurses", + "ncurses", "ncursesw", -# "readline", unable to link + "readline", + "sqlite3", "zlib", "xz" ] @@ -22,11 +26,11 @@ ARCH="${TARGET%%-*}" COOKBOOK_CONFIGURE_FLAGS=( --prefix=/usr + --enable-shared --disable-ipv6 --host=${GNU_TARGET} --build=$ARCH --with-build-python -# --with-openssl="${COOKBOOK_SYSROOT}/usr" --with-ensurepip=install ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no diff --git a/recipes/wip/dev/lang/python39/recipe.toml b/recipes/wip/dev/lang/python39/recipe.toml index 537c920a4..f7bc5ddb2 100644 --- a/recipes/wip/dev/lang/python39/recipe.toml +++ b/recipes/wip/dev/lang/python39/recipe.toml @@ -1,17 +1,21 @@ #TODO Fix dynamic loading of C modules -#TODO Fix openssl dependency -#TODO Add additional dependencies (readline, ncurses, etc.) [source] tar = "https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz" patches = [ -# 'redox.patch' + 'redox.patch' ] [build] template = "custom" dependencies = [ -# "openssl1", needs threading / ucontext.h + "bzip2", + "libffi", + "libuuid", + "ncurses", "ncursesw", + "openssl1", + "readline", + "sqlite3", "zlib", "xz" ] @@ -45,10 +49,10 @@ export PATH="${BUILDMACH_STAGE}/usr/local/bin:${PATH}" COOKBOOK_CONFIGURE_FLAGS=( --prefix=/usr + --enable-shared --disable-ipv6 --host=${GNU_TARGET} --build=$ARCH -# --with-openssl="${COOKBOOK_SYSROOT}/usr" --with-ensurepip=install ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no diff --git a/recipes/wip/libs/other/libuuid/redox.patch b/recipes/wip/libs/other/libuuid/redox.patch index 3b98fa75d..1ede79c48 100644 --- a/recipes/wip/libs/other/libuuid/redox.patch +++ b/recipes/wip/libs/other/libuuid/redox.patch @@ -1,8 +1,7 @@ -diff --git a/config.sub b/config.sub -index 52f04bc..4a352eb 100755 ---- a/config.sub -+++ b/config.sub -@@ -1376,7 +1376,7 @@ case $os in +diff -ruwN source/config.sub source-new/config.sub +--- source/config.sub 2014-08-12 15:19:20.000000000 +0700 ++++ source-new/config.sub 2025-09-19 21:11:57.907457211 +0700 +@@ -1376,7 +1376,7 @@ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ @@ -11,10 +10,39 @@ index 52f04bc..4a352eb 100755 # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) -diff --git a/randutils.c b/randutils.c -index 80893d3..a39168d 100644 ---- a/randutils.c -+++ b/randutils.c +diff -ruwN source/configure source-new/configure +--- source/configure 2014-08-12 15:19:19.000000000 +0700 ++++ source-new/configure 2025-09-19 21:20:30.460699979 +0700 +@@ -5312,7 +5312,7 @@ + ;; + + # This must be glibc/ELF. +-linux* | k*bsd*-gnu | kopensolaris*-gnu) ++linux* | k*bsd*-gnu | kopensolaris*-gnu | redox*) + lt_cv_deplibs_check_method=pass_all + ;; + +@@ -8866,7 +8866,7 @@ + archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + +- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) ++ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu | redox*) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in +@@ -10534,7 +10534,7 @@ + ;; + + # This must be glibc/ELF. +-linux* | k*bsd*-gnu | kopensolaris*-gnu) ++linux* | k*bsd*-gnu | kopensolaris*-gnu | redox*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no +diff -ruwN source/randutils.c source-new/randutils.c +--- source/randutils.c 2014-08-12 15:07:18.000000000 +0700 ++++ source-new/randutils.c 2025-09-19 21:11:57.907659403 +0700 @@ -13,7 +13,7 @@ #include #include From cdf9fe3e8d9cb33802b699ae630945ebe78373fa Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sat, 20 Sep 2025 13:34:16 +0700 Subject: [PATCH 065/182] Port OpenSSL3 --- recipes/wip/dev/lang/php84/recipe.toml | 5 +- recipes/wip/dev/lang/python312/recipe.toml | 4 +- recipes/wip/libs/tls/openssl3/recipe.toml | 29 +++++++++++ recipes/wip/libs/tls/openssl3/redox.patch | 56 ++++++++++++++++++++++ recipes/wip/ssh/openssh/recipe.toml | 9 +--- recipes/wip/ssh/openssh/redox.patch | 13 ----- 6 files changed, 91 insertions(+), 25 deletions(-) create mode 100644 recipes/wip/libs/tls/openssl3/recipe.toml create mode 100644 recipes/wip/libs/tls/openssl3/redox.patch diff --git a/recipes/wip/dev/lang/php84/recipe.toml b/recipes/wip/dev/lang/php84/recipe.toml index 3b76747a7..b15b88685 100644 --- a/recipes/wip/dev/lang/php84/recipe.toml +++ b/recipes/wip/dev/lang/php84/recipe.toml @@ -1,4 +1,4 @@ -#TODO fix openssl +#TODO promote [source] tar = "https://www.php.net/distributions/php-8.4.12.tar.xz" patches = [ @@ -27,6 +27,7 @@ dependencies = [ "ncurses", "nghttp2", "openssl1", + "openssl3", # put this after openssl1 "pcre", "sqlite3", "xz", @@ -58,7 +59,7 @@ COOKBOOK_CONFIGURE_FLAGS+=( --with-avif --with-ffi --with-libedit -# --with-openssl # need 1.1.1 + --with-openssl --with-sodium --with-zip ) diff --git a/recipes/wip/dev/lang/python312/recipe.toml b/recipes/wip/dev/lang/python312/recipe.toml index c9c8cef85..09bbee22e 100644 --- a/recipes/wip/dev/lang/python312/recipe.toml +++ b/recipes/wip/dev/lang/python312/recipe.toml @@ -1,4 +1,4 @@ -#TODO works without pip, probably it requires openssl +#TODO works without pip [source] tar = "https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz" patches = [ @@ -11,7 +11,7 @@ dependencies = [ "bzip2", "libffi", "libuuid", -# "openssl1", requires 1.1.1 + "openssl3", "ncurses", "ncursesw", "readline", diff --git a/recipes/wip/libs/tls/openssl3/recipe.toml b/recipes/wip/libs/tls/openssl3/recipe.toml new file mode 100644 index 000000000..6ce485eee --- /dev/null +++ b/recipes/wip/libs/tls/openssl3/recipe.toml @@ -0,0 +1,29 @@ +[source] +tar = "https://github.com/openssl/openssl/releases/download/openssl-3.5.3/openssl-3.5.3.tar.gz" +patches = [ "redox.patch" ] + +[build] +template = "custom" +dependencies = [ + "zlib", + "zstd" +] +script = """ +DYNAMIC_INIT +ARCH="${TARGET%%-*}" +export ARFLAGS=cr +COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/Configure" +COOKBOOK_CONFIGURE_FLAGS=( + no-tests + no-unit-test + shared + zlib + enable-zstd + "redox-${ARCH}" + --prefix="/usr" +) +"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" +"${COOKBOOK_MAKE}" -j1 # bug in make/ar +"${COOKBOOK_MAKE}" install_sw install_ssldirs DESTDIR="${COOKBOOK_STAGE}" +rm -rfv "${COOKBOOK_STAGE}/"{share,ssl} +""" diff --git a/recipes/wip/libs/tls/openssl3/redox.patch b/recipes/wip/libs/tls/openssl3/redox.patch new file mode 100644 index 000000000..e2038c926 --- /dev/null +++ b/recipes/wip/libs/tls/openssl3/redox.patch @@ -0,0 +1,56 @@ +diff -ruwN source/apps/lib/apps.c source-new/apps/lib/apps.c +--- source/apps/lib/apps.c 2025-09-16 19:05:33.000000000 +0700 ++++ source-new/apps/lib/apps.c 2025-09-20 12:29:36.439917319 +0700 +@@ -2839,7 +2839,7 @@ + return ret; + } + +-#elif defined(_SC_CLK_TCK) /* by means of unistd.h */ ++#elif defined(_SC_CLK_TCK) && !defined(__redox__) /* by means of unistd.h */ + # include + + double app_tminterval(int stop, int usertime) +diff -ruwN source/Configurations/10-main.conf source-new/Configurations/10-main.conf +--- source/Configurations/10-main.conf 2025-09-16 19:05:33.000000000 +0700 ++++ source-new/Configurations/10-main.conf 2025-09-20 13:13:14.569456910 +0700 +@@ -208,6 +208,40 @@ + shared_extension => ".so", + }, + ++### Redox configurations ++ "redox-common" => { ++ inherit_from => [ "BASE_unix" ], ++ cc => "gcc", ++ thread_scheme => "pthreads", ++ dso_scheme => "dlfcn", ++ shared_target => "linux-shared", ++ shared_cflag => "-fPIC", ++ shared_ldflag => sub { $disabled{pinshared} ? () : "-Wl,-znodelete" }, ++ shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", ++ }, ++ "redox-generic64" => { ++ inherit_from => [ "redox-common" ], ++ bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", ++ }, ++ "redox-aarch64" => { ++ inherit_from => [ "redox-generic64" ], ++ perlasm_scheme => "linux64", ++ }, ++ "redox-i686" => { ++ inherit_from => [ "redox-common" ], ++ bn_ops => "BN_LLONG", ++ perlasm_scheme => "elf", ++ }, ++ "redox-riscv64gc" => { ++ inherit_from => [ "redox-generic64" ], ++ perlasm_scheme => "linux64", ++ }, ++ "redox-x86_64" => { ++ inherit_from => [ "redox-generic64" ], ++ perlasm_scheme => "elf", ++ }, ++ ++ + #### Solaris configurations + "solaris-common" => { + inherit_from => [ "BASE_unix" ], diff --git a/recipes/wip/ssh/openssh/recipe.toml b/recipes/wip/ssh/openssh/recipe.toml index 44343a58c..08683a8bd 100644 --- a/recipes/wip/ssh/openssh/recipe.toml +++ b/recipes/wip/ssh/openssh/recipe.toml @@ -1,7 +1,5 @@ #TODO lack of resolv.h, expect dns not working #TODO lack of utmpx.h, expect no way to track login in sshd -#TODO lack of an equivalent to shadow.h, expect sshd password not working -#TODO lack of openssl support, use only ssh-keygen from redox [source] tar = "https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz" patches = [ @@ -10,14 +8,13 @@ patches = [ [build] template = "custom" dependencies = [ + "openssl3", "zlib", ] script = """ DYNAMIC_INIT COOKBOOK_CONFIGURE_FLAGS+=( --disable-strip -# requires openssl 1.1.1, result in libcrypto error otherwise - --without-openssl --sysconfdir=/etc/ssh ) cookbook_configure @@ -35,8 +32,4 @@ CONFIG_FILE="${COOKBOOK_STAGE}"/etc/ssh/sshd_config # ipv6 is not working yet sed -i "s/#AddressFamily any/AddressFamily inet/g" "${CONFIG_FILE}" -# hardcoded to 0.0.0.0 in patches -sed -i "s/#ListenAddress 0.0.0.0/ListenAddress 0.0.0.0/g" "${CONFIG_FILE}" -# will never work -sed -i "s/#PasswordAuthentication yes/PasswordAuthentication no/g" "${CONFIG_FILE}" """ diff --git a/recipes/wip/ssh/openssh/redox.patch b/recipes/wip/ssh/openssh/redox.patch index 980b9ab37..a061b1735 100644 --- a/recipes/wip/ssh/openssh/redox.patch +++ b/recipes/wip/ssh/openssh/redox.patch @@ -459,19 +459,6 @@ diff -ruwN source/regress/netcat.c source-new/regress/netcat.c #define SOCKS_PORT "1080" #define HTTP_PROXY_PORT "3128" -diff -ruwN source/servconf.c source-new/servconf.c ---- source/servconf.c 2024-07-01 11:36:28.000000000 +0700 -+++ source-new/servconf.c 2025-09-07 01:38:08.219942429 +0700 -@@ -857,7 +857,8 @@ - hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = (addr == NULL) ? AI_PASSIVE : 0; - snprintf(strport, sizeof strport, "%d", port); -- if ((gaierr = getaddrinfo(addr, strport, &hints, &aitop)) != 0) -+ // redox don't accept addr == NULL yet -+ if ((gaierr = getaddrinfo("0.0.0.0", strport, &hints, &aitop)) != 0) - fatal("bad addr or host: %s (%s)", - addr ? addr : "", - ssh_gai_strerror(gaierr)); diff -ruwN source/session.c source-new/session.c --- source/session.c 2024-07-01 11:36:28.000000000 +0700 +++ source-new/session.c 2025-09-07 01:22:43.637928015 +0700 From 36977a0bb76bc7e273234b4fe9f5e2f206d3e5da Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 21 Sep 2025 05:57:14 +0000 Subject: [PATCH 066/182] Revert some patches of git --- recipes/dev/git/git.patch | 98 +++++++++++++++++++++++++++++---------- 1 file changed, 73 insertions(+), 25 deletions(-) diff --git a/recipes/dev/git/git.patch b/recipes/dev/git/git.patch index f1d9b1e57..998bd9d6f 100644 --- a/recipes/dev/git/git.patch +++ b/recipes/dev/git/git.patch @@ -1,6 +1,6 @@ -diff -ruwN source/compat/bswap.h source-new/compat/bswap.h ---- source/compat/bswap.h 2017-06-05 08:08:11.000000000 +0700 -+++ source-new/compat/bswap.h 2025-09-01 04:41:10.337224520 +0700 +diff -ruwN git-2.13.1/compat/bswap.h source/compat/bswap.h +--- git-2.13.1/compat/bswap.h 2017-06-04 19:08:11.000000000 -0600 ++++ source/compat/bswap.h 2025-04-24 11:20:06.475749424 -0600 @@ -1,3 +1,7 @@ +#if defined(__redox__) +#include @@ -9,9 +9,9 @@ diff -ruwN source/compat/bswap.h source-new/compat/bswap.h /* * Let's make sure we always have a sane definition for ntohl()/htonl(). * Some libraries define those as a function call, just to perform byte -diff -ruwN source/compat/terminal.c source-new/compat/terminal.c ---- source/compat/terminal.c 2017-06-05 08:08:11.000000000 +0700 -+++ source-new/compat/terminal.c 2025-09-01 04:41:10.337224520 +0700 +diff -ruwN git-2.13.1/compat/terminal.c source/compat/terminal.c +--- git-2.13.1/compat/terminal.c 2017-06-04 19:08:11.000000000 -0600 ++++ source/compat/terminal.c 2025-04-18 10:00:11.318697446 -0600 @@ -137,6 +137,18 @@ return buf.buf; } @@ -31,9 +31,9 @@ diff -ruwN source/compat/terminal.c source-new/compat/terminal.c #else char *git_terminal_prompt(const char *prompt, int echo) -diff -ruwN source/configure source-new/configure ---- source/configure 2017-06-05 08:08:11.000000000 +0700 -+++ source-new/configure 2025-09-01 04:41:10.338224544 +0700 +diff -ruwN git-2.13.1/configure source/configure +--- git-2.13.1/configure 2017-06-04 19:08:11.000000000 -0600 ++++ source/configure 2025-04-18 10:00:11.318697446 -0600 @@ -6156,7 +6156,7 @@ ac_res=$ac_cv_search_getaddrinfo if test "$ac_res" != no; then : @@ -43,10 +43,33 @@ diff -ruwN source/configure source-new/configure else NO_IPV6=YesPlease fi -diff -ruwN source/daemon.c source-new/daemon.c ---- source/daemon.c 2017-06-05 08:08:11.000000000 +0700 -+++ source-new/daemon.c 2025-09-19 22:14:42.743240085 +0700 -@@ -888,8 +888,12 @@ +diff -ruwN git-2.13.1/daemon.c source/daemon.c +--- git-2.13.1/daemon.c 2017-06-04 19:08:11.000000000 -0600 ++++ source/daemon.c 2025-04-18 10:00:11.319697447 -0600 +@@ -71,13 +71,21 @@ + return hi->ip_address.buf; + } + ++#if defined(__redox__) ++#define LOG_ERR 0 ++#define LOG_INFO 1 ++#endif ++ + static void logreport(int priority, const char *err, va_list params) + { ++#if !defined(__redox__) + if (log_syslog) { + char buf[1024]; + vsnprintf(buf, sizeof(buf), err, params); + syslog(priority, "%s", buf); +- } else { ++ } else ++#endif ++ { + /* + * Since stderr is set to buffered mode, the + * logging of different processes will not overlap +@@ -888,8 +896,12 @@ if (!reuseaddr) return 0; @@ -59,9 +82,34 @@ diff -ruwN source/daemon.c source-new/daemon.c } struct socketlist { -diff -ruwN source/git-compat-util.h source-new/git-compat-util.h ---- source/git-compat-util.h 2017-06-05 08:08:11.000000000 +0700 -+++ source-new/git-compat-util.h 2025-09-19 22:09:29.361246446 +0700 +@@ -1174,11 +1186,7 @@ + if (!group_name) + c.gid = c.pass->pw_gid; + else { +- struct group *group = getgrnam(group_name); +- if (!group) + die("group not found - %s", group_name); +- +- c.gid = group->gr_gid; + } + + return &c; +@@ -1348,10 +1356,12 @@ + usage(daemon_usage); + } + ++#if !defined(__redox__) + if (log_syslog) { + openlog("git-daemon", LOG_PID, LOG_DAEMON); + set_die_routine(daemon_die); + } else ++#endif + /* avoid splitting a message in the middle */ + setvbuf(stderr, NULL, _IOFBF, 4096); + +diff -ruwN git-2.13.1/git-compat-util.h source/git-compat-util.h +--- git-2.13.1/git-compat-util.h 2017-06-04 19:08:11.000000000 -0600 ++++ source/git-compat-util.h 2025-04-18 10:00:11.319697447 -0600 @@ -1,6 +1,18 @@ #ifndef GIT_COMPAT_UTIL_H #define GIT_COMPAT_UTIL_H @@ -96,9 +144,9 @@ diff -ruwN source/git-compat-util.h source-new/git-compat-util.h #ifdef HAVE_PATHS_H #include #endif -diff -ruwN source/Makefile source-new/Makefile ---- source/Makefile 2017-06-05 08:08:11.000000000 +0700 -+++ source-new/Makefile 2025-09-01 04:41:10.339224568 +0700 +diff -ruwN git-2.13.1/Makefile source/Makefile +--- git-2.13.1/Makefile 2017-06-05 08:08:11.000000000 +0700 ++++ source/Makefile 2025-09-01 04:41:10.339224568 +0700 @@ -979,7 +979,7 @@ BUILTIN_OBJS += builtin/write-tree.o @@ -147,9 +195,9 @@ diff -ruwN source/Makefile source-new/Makefile ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \ cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \ done && \ -diff -ruwN source/run-command.c source-new/run-command.c ---- source/run-command.c 2017-06-05 08:08:11.000000000 +0700 -+++ source-new/run-command.c 2025-09-19 22:08:26.892232334 +0700 +diff -ruwN git-2.13.1/run-command.c source/run-command.c +--- git-2.13.1/run-command.c 2017-06-04 19:08:11.000000000 -0600 ++++ source/run-command.c 2025-04-18 10:00:11.320697447 -0600 @@ -120,9 +120,9 @@ #ifndef GIT_WINDOWS_NATIVE static inline void dup_devnull(int to) @@ -162,9 +210,9 @@ diff -ruwN source/run-command.c source-new/run-command.c if (dup2(fd, to) < 0) die_errno(_("dup2(%d,%d) failed"), fd, to); close(fd); -diff -ruwN source/setup.c source-new/setup.c ---- source/setup.c 2017-06-05 08:08:11.000000000 +0700 -+++ source-new/setup.c 2025-09-01 04:41:10.339224568 +0700 +diff -ruwN git-2.13.1/setup.c source/setup.c +--- git-2.13.1/setup.c 2017-06-05 08:08:11.000000000 +0700 ++++ source/setup.c 2025-09-01 04:41:10.339224568 +0700 @@ -1146,11 +1146,11 @@ /* if any standard file descriptor is missing open it to /dev/null */ void sanitize_stdfds(void) From 6d02a1c36e47337d78e0aabcd3f1febf94670d25 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 21 Sep 2025 15:54:37 +0000 Subject: [PATCH 067/182] Add -g to generate debuginfo on gcc --- src/bin/cook.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 2b8ca9911..4cfc2d433 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -883,6 +883,8 @@ then install_flags=--debug build_flags= build_type=debug + export CFLAGS="${CFLAGS} -g" + export CPPFLAGS="${CPPFLAGS} -g" fi # cargo template From 16b65fdadb5cb41c3bed3cdb25c4294f38b6c66f Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 21 Sep 2025 21:14:49 -0600 Subject: [PATCH 068/182] openssh: add zstd dependency --- recipes/wip/ssh/openssh/recipe.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/wip/ssh/openssh/recipe.toml b/recipes/wip/ssh/openssh/recipe.toml index 08683a8bd..648f006ea 100644 --- a/recipes/wip/ssh/openssh/recipe.toml +++ b/recipes/wip/ssh/openssh/recipe.toml @@ -10,6 +10,7 @@ template = "custom" dependencies = [ "openssl3", "zlib", + "zstd", ] script = """ DYNAMIC_INIT From dd0f30a61ec3ab658270b08edbf3904620ee0206 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 21 Sep 2025 21:17:49 -0600 Subject: [PATCH 069/182] cosmic-player: manually link libiconv --- recipes/wip/players/cosmic-player/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wip/players/cosmic-player/recipe.toml b/recipes/wip/players/cosmic-player/recipe.toml index f7f21ebee..c876bf143 100644 --- a/recipes/wip/players/cosmic-player/recipe.toml +++ b/recipes/wip/players/cosmic-player/recipe.toml @@ -22,7 +22,7 @@ DYNAMIC_INIT --bin cosmic-player \ --no-default-features \ -- \ - -C link-args="-lgmodule-2.0 -lffi -lpcre2-8 -lz" + -C link-args="-lgmodule-2.0 -lffi -liconv -lpcre2-8 -lz" mkdir -pv "${COOKBOOK_STAGE}/usr/bin/" cp -v "target/${TARGET}/release/cosmic-player" "${COOKBOOK_STAGE}/usr/bin/" mkdir -pv "${COOKBOOK_STAGE}/ui/apps/" From 59e0a2c91fa81723fc6ebb0b1aaa31cd10ee4e88 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 22 Sep 2025 11:35:38 -0600 Subject: [PATCH 070/182] ncurses: fix build when dynamic linking not possible --- recipes/libs/ncurses/recipe.toml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/libs/ncurses/recipe.toml b/recipes/libs/ncurses/recipe.toml index 0fa4f74d3..87fc7479c 100644 --- a/recipes/libs/ncurses/recipe.toml +++ b/recipes/libs/ncurses/recipe.toml @@ -15,9 +15,12 @@ COOKBOOK_CONFIGURE_FLAGS+=( --without-ada --without-manpages --without-tests - --with-shared cf_cv_func_mkstemp=yes ) +if [ "${COOKBOOK_DYNAMIC}" == "1" ] +then + COOKBOOK_CONFIGURE_FLAGS+=(--with-shared) +fi cookbook_configure """ From a4979d330d67dc164b5fde29a9899aa1e861ef54 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Tue, 23 Sep 2025 01:27:20 +0000 Subject: [PATCH 071/182] Update packaging for Go --- recipes/wip/dev/lang/go/recipe.toml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/recipes/wip/dev/lang/go/recipe.toml b/recipes/wip/dev/lang/go/recipe.toml index 20dd03b52..906c92530 100644 --- a/recipes/wip/dev/lang/go/recipe.toml +++ b/recipes/wip/dev/lang/go/recipe.toml @@ -9,7 +9,6 @@ template = "custom" script = """ export PATH=$HOME/go/bin:$PATH -rm -rf $HOME/.cache/go-build export GOPATH=${COOKBOOK_BUILD}/gopath if ! command -v go &> /dev/null; then GO_TARBALL=go1.24.6.linux-$( [ "$(uname -m)" = "aarch64" ] && echo "arm64" || echo "amd64" ).tar.gz @@ -33,8 +32,18 @@ esac export CGO_ENABLED=1 export CC=x86_64-unknown-redox-gcc export CCX=x86_64-unknown-redox-g++ +echo "go1.25" > VERSION # to set -trimpath (cd ./src && bash ./make.bash) -mkdir -p ${COOKBOOK_STAGE}/bin -rsync -a --delete "bin/redox_${GOARCH}/" ${COOKBOOK_STAGE}/bin +mkdir -p "${COOKBOOK_STAGE}"/usr/bin \ + "${COOKBOOK_STAGE}"/usr/lib/golang/{bin,lib,misc,pkg/include,pkg/tool,src} +rsync -a bin/redox_${GOARCH}/* "${COOKBOOK_STAGE}"/usr/lib/golang/bin/ +rsync -a lib/* "${COOKBOOK_STAGE}"/usr/lib/golang/lib/ +rsync -a misc/* "${COOKBOOK_STAGE}"/usr/lib/golang/misc/ +rsync -a pkg/include/* "${COOKBOOK_STAGE}"/usr/lib/golang/pkg/include/ +rsync -a pkg/tool/redox_${GOARCH}/* "${COOKBOOK_STAGE}"/usr/lib/golang/pkg/tool/ +rsync -a src/* "${COOKBOOK_STAGE}"/usr/lib/golang/src/ +cat go.env > "${COOKBOOK_STAGE}"/usr/lib/golang/go.env +ln -s "../lib/golang/bin/go" "${COOKBOOK_STAGE}"/usr/bin/go +ln -s "../lib/golang/bin/gofmt" "${COOKBOOK_STAGE}"/usr/bin/gofmt """ From 6878536fe53ed3883e898bcabefbf69ff8c9a847 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 25 Sep 2025 09:50:54 -0600 Subject: [PATCH 072/182] base-initfs: preserve DISK_LIVE environmental variables for performant installer --- recipes/core/base-initfs/init.rc | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes/core/base-initfs/init.rc b/recipes/core/base-initfs/init.rc index 366bbab09..6fb3094f7 100644 --- a/recipes/core/base-initfs/init.rc +++ b/recipes/core/base-initfs/init.rc @@ -24,7 +24,6 @@ fbcond 2 # Live disk # Note: Needs to start before drivers to ensure it gets priority when redoxfs searches for disks lived -unset DISK_LIVE_ADDR DISK_LIVE_SIZE # Drivers run /scheme/initfs/etc/init_drivers.rc From c1a4fd770805abb7240cd1938d4554422e434131 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Fri, 26 Sep 2025 06:18:57 -0300 Subject: [PATCH 073/182] Add recipes --- recipes/wip/ai/rustgpt/recipe.toml | 5 +++++ recipes/wip/demos/firewheel/recipe.toml | 8 ++++++++ recipes/wip/dev/lang/tsuki/recipe.toml | 5 +++++ recipes/wip/dev/other/phantom-ci/recipe.toml | 5 +++++ 4 files changed, 23 insertions(+) create mode 100644 recipes/wip/ai/rustgpt/recipe.toml create mode 100644 recipes/wip/demos/firewheel/recipe.toml create mode 100644 recipes/wip/dev/lang/tsuki/recipe.toml create mode 100644 recipes/wip/dev/other/phantom-ci/recipe.toml diff --git a/recipes/wip/ai/rustgpt/recipe.toml b/recipes/wip/ai/rustgpt/recipe.toml new file mode 100644 index 000000000..5f3f5588a --- /dev/null +++ b/recipes/wip/ai/rustgpt/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/tekaratzas/RustGPT" +[build] +template = "cargo" diff --git a/recipes/wip/demos/firewheel/recipe.toml b/recipes/wip/demos/firewheel/recipe.toml new file mode 100644 index 000000000..e79a248ad --- /dev/null +++ b/recipes/wip/demos/firewheel/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/BillyDM/firewheel" +[build] +template = "custom" +script = """ +cookbook_cargo_examples beep_test play_sample +""" diff --git a/recipes/wip/dev/lang/tsuki/recipe.toml b/recipes/wip/dev/lang/tsuki/recipe.toml new file mode 100644 index 000000000..9aabdb16b --- /dev/null +++ b/recipes/wip/dev/lang/tsuki/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ultimaweapon/tsuki" +[build] +template = "cargo" diff --git a/recipes/wip/dev/other/phantom-ci/recipe.toml b/recipes/wip/dev/other/phantom-ci/recipe.toml new file mode 100644 index 000000000..b3cf34dec --- /dev/null +++ b/recipes/wip/dev/other/phantom-ci/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/helloimalemur/phantomci" +[build] +template = "cargo" From f5540bc4c87c7bf2f752a1d0c6dd1e5f3a03462d Mon Sep 17 00:00:00 2001 From: Ribbon Date: Fri, 26 Sep 2025 06:21:51 -0300 Subject: [PATCH 074/182] Move the termplay recipe --- recipes/wip/{ => other}/termplay/recipe.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename recipes/wip/{ => other}/termplay/recipe.sh (100%) diff --git a/recipes/wip/termplay/recipe.sh b/recipes/wip/other/termplay/recipe.sh similarity index 100% rename from recipes/wip/termplay/recipe.sh rename to recipes/wip/other/termplay/recipe.sh From adefb4b361f208fe6062bc68179843bf30e97651 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sat, 27 Sep 2025 01:51:29 +0700 Subject: [PATCH 075/182] Promote php, python, openssh, nginx --- .../php-composer => dev/composer}/recipe.toml | 0 .../{wip/dev/lang => dev}/php84/recipe.toml | 10 ++- recipes/dev/php84/redox.patch | 89 +++++++++++++++++++ .../dev/lang => dev}/python312/recipe.toml | 9 +- .../dev/lang => dev}/python312/redox.patch | 0 .../{wip/net/http => net}/nginx/recipe.toml | 6 +- .../{wip/net/http => net}/nginx/redox.patch | 0 recipes/{wip/ssh => net}/openssh/recipe.toml | 0 recipes/{wip/ssh => net}/openssh/redox.patch | 0 recipes/web/website/recipe.toml | 1 + recipes/wip/dev/lang/go/recipe.toml | 2 +- recipes/wip/dev/lang/php84/redox.patch | 54 ----------- .../recipe.toml | 0 recipes/wip/libs/other/libonig/recipe.toml | 1 + 14 files changed, 110 insertions(+), 62 deletions(-) rename recipes/{wip/dev/lang/php-composer => dev/composer}/recipe.toml (100%) rename recipes/{wip/dev/lang => dev}/php84/recipe.toml (85%) create mode 100644 recipes/dev/php84/redox.patch rename recipes/{wip/dev/lang => dev}/python312/recipe.toml (76%) rename recipes/{wip/dev/lang => dev}/python312/redox.patch (100%) rename recipes/{wip/net/http => net}/nginx/recipe.toml (88%) rename recipes/{wip/net/http => net}/nginx/redox.patch (100%) rename recipes/{wip/ssh => net}/openssh/recipe.toml (100%) rename recipes/{wip/ssh => net}/openssh/redox.patch (100%) delete mode 100644 recipes/wip/dev/lang/php84/redox.patch rename recipes/wip/games/music/{composer => performous-composer}/recipe.toml (100%) diff --git a/recipes/wip/dev/lang/php-composer/recipe.toml b/recipes/dev/composer/recipe.toml similarity index 100% rename from recipes/wip/dev/lang/php-composer/recipe.toml rename to recipes/dev/composer/recipe.toml diff --git a/recipes/wip/dev/lang/php84/recipe.toml b/recipes/dev/php84/recipe.toml similarity index 85% rename from recipes/wip/dev/lang/php84/recipe.toml rename to recipes/dev/php84/recipe.toml index b15b88685..f7fc503b8 100644 --- a/recipes/wip/dev/lang/php84/recipe.toml +++ b/recipes/dev/php84/recipe.toml @@ -1,4 +1,3 @@ -#TODO promote [source] tar = "https://www.php.net/distributions/php-8.4.12.tar.xz" patches = [ @@ -32,6 +31,7 @@ dependencies = [ "sqlite3", "xz", "zlib", + "zstd", ] script = """ DYNAMIC_INIT @@ -40,14 +40,14 @@ export SUFFIX="84" export CURL_LIBS="-lcurl -lnghttp2 -lssl -lcrypto" COOKBOOK_CONFIGURE_FLAGS+=( --program-suffix=${SUFFIX} - --sysconfdir=/etc + --sysconfdir=/etc/php/$SUFFIX --with-config-file-path=/etc/php/$SUFFIX --with-config-file-scan-dir=/etc/php/$SUFFIX/conf.d --with-iconv="${COOKBOOK_SYSROOT}/usr" --disable-opcache --enable-bcmath --enable-calendar -# --enable-fpm # need times function + --enable-fpm # need times function --enable-gd --enable-intl --enable-mbstring @@ -70,9 +70,11 @@ COOKBOOK_CONFIGURE_FLAGS+=( INSTALL_ROOT="${COOKBOOK_STAGE}" \ datarootdir=/usr/share localstatedir=/var -for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize"; do +mv ${COOKBOOK_STAGE}/usr/sbin/* ${COOKBOOK_STAGE}/usr/bin/ +for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize" "php-fpm"; do ln -s "$bin$SUFFIX" ${COOKBOOK_STAGE}/usr/bin/$bin done +rm ${COOKBOOK_STAGE}/usr/bin/phar$SUFFIX mkdir -p ${COOKBOOK_STAGE}/etc/php/$SUFFIX/conf.d cp ${COOKBOOK_SOURCE}/php.ini* ${COOKBOOK_STAGE}/etc/php/$SUFFIX/ """ diff --git a/recipes/dev/php84/redox.patch b/recipes/dev/php84/redox.patch new file mode 100644 index 000000000..25308e146 --- /dev/null +++ b/recipes/dev/php84/redox.patch @@ -0,0 +1,89 @@ +diff -ruwN source/configure source-new/configure +--- source/configure 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/configure 2025-09-26 16:31:28.871157195 +0700 +@@ -25863,7 +25863,7 @@ + then : + ac_cv_lib_curl_curl_easy_perform=yes + else case e in #( +- e) ac_cv_lib_curl_curl_easy_perform=no ;; ++ e) ac_cv_lib_curl_curl_easy_perform=yes ;; + esac + fi + rm -f core conftest.err conftest.$ac_objext conftest.beam \ +@@ -37356,7 +37356,7 @@ + then : + php_cv_lib_gd_works=yes + else case e in #( +- e) php_cv_lib_gd_works=no ;; ++ e) php_cv_lib_gd_works=yes ;; + esac + fi + rm -f core conftest.err conftest.$ac_objext conftest.beam \ +@@ -40056,7 +40056,7 @@ + LIBS_SAVED=$LIBS + CFLAGS="$CFLAGS $GMP_CFLAGS" + LIBS="$LIBS $GMP_LIBS" +- gmp_check=no ++ gmp_check=yes + ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" + if test "x$ac_cv_header_gmp_h" = xyes + then : +diff -ruwN source/ext/phar/Makefile.frag source-new/ext/phar/Makefile.frag +--- source/ext/phar/Makefile.frag 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/ext/phar/Makefile.frag 2025-09-26 16:31:29.029526842 +0700 +@@ -30,7 +30,7 @@ + -@test -f $(builddir)/phar/phar.inc || cp $(srcdir)/phar/phar.inc $(builddir)/phar/phar.inc + + TEST_PHP_EXECUTABLE = $(shell $(PHP_EXECUTABLE) -v 2>&1) +-TEST_PHP_EXECUTABLE_RES = $(shell echo "$(TEST_PHP_EXECUTABLE)" | grep -c 'Exec format error') ++TEST_PHP_EXECUTABLE_RES = $(shell echo "$(TEST_PHP_EXECUTABLE)" | grep -E -c 'Exec format error|required file not found') + + $(builddir)/phar.php: $(srcdir)/build_precommand.php $(srcdir)/phar/*.inc $(srcdir)/phar/*.php $(SAPI_CLI_PATH) + -@(echo "Generating phar.php"; \ +diff -ruwN source/ext/posix/posix.c source-new/ext/posix/posix.c +--- source/ext/posix/posix.c 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/ext/posix/posix.c 2025-09-26 16:31:29.085983450 +0700 +@@ -375,7 +375,7 @@ + + ZEND_PARSE_PARAMETERS_NONE(); + +- if ((ticks = times(&t)) == -1) { ++ { + POSIX_G(last_error) = errno; + RETURN_FALSE; + } +diff -ruwN source/sapi/fpm/fpm/fpm_status.c source-new/sapi/fpm/fpm/fpm_status.c +--- source/sapi/fpm/fpm/fpm_status.c 2025-08-26 20:36:28.000000000 +0700 ++++ source-new/sapi/fpm/fpm/fpm_status.c 2025-09-27 01:07:38.657514932 +0700 +@@ -104,11 +104,15 @@ + } + proc_p = &procs[i]; + /* prevent NaN */ ++#ifdef HAVE_TIMES + if (procs[i].cpu_duration.tv_sec == 0 && procs[i].cpu_duration.tv_usec == 0) { + cpu = 0.; + } else { + cpu = (procs[i].last_request_cpu.tms_utime + procs[i].last_request_cpu.tms_stime + procs[i].last_request_cpu.tms_cutime + procs[i].last_request_cpu.tms_cstime) / fpm_scoreboard_get_tick() / (procs[i].cpu_duration.tv_sec + procs[i].cpu_duration.tv_usec / 1000000.) * 100.; + } ++#else ++ cpu = 0.; ++#endif + + array_init(&fpm_proc_stat); + add_assoc_long(&fpm_proc_stat, "pid", procs[i].pid); +@@ -590,11 +594,15 @@ + } + + /* prevent NaN */ ++#ifdef HAVE_TIMES + if (proc->cpu_duration.tv_sec == 0 && proc->cpu_duration.tv_usec == 0) { + cpu = 0.; + } else { + cpu = (proc->last_request_cpu.tms_utime + proc->last_request_cpu.tms_stime + proc->last_request_cpu.tms_cutime + proc->last_request_cpu.tms_cstime) / fpm_scoreboard_get_tick() / (proc->cpu_duration.tv_sec + proc->cpu_duration.tv_usec / 1000000.) * 100.; + } ++#else ++ cpu = 0.; ++#endif + + if (proc->request_stage == FPM_REQUEST_ACCEPTING) { + duration = proc->duration; diff --git a/recipes/wip/dev/lang/python312/recipe.toml b/recipes/dev/python312/recipe.toml similarity index 76% rename from recipes/wip/dev/lang/python312/recipe.toml rename to recipes/dev/python312/recipe.toml index 09bbee22e..1209eb07b 100644 --- a/recipes/wip/dev/lang/python312/recipe.toml +++ b/recipes/dev/python312/recipe.toml @@ -1,4 +1,3 @@ -#TODO works without pip [source] tar = "https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz" patches = [ @@ -17,13 +16,18 @@ dependencies = [ "readline", "sqlite3", "zlib", - "xz" + "xz", + "zstd", ] script = """ DYNAMIC_INIT export PYTHONDONTWRITEBYTECODE=1 ARCH="${TARGET%%-*}" +# Packages are considerably larger because of this issue +# https://gitlab.redox-os.org/redox-os/relibc/-/issues/227 +export MODULE_BUILDTYPE=static + COOKBOOK_CONFIGURE_FLAGS=( --prefix=/usr --enable-shared @@ -32,6 +36,7 @@ COOKBOOK_CONFIGURE_FLAGS=( --build=$ARCH --with-build-python --with-ensurepip=install + --disable-test-modules ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no ) diff --git a/recipes/wip/dev/lang/python312/redox.patch b/recipes/dev/python312/redox.patch similarity index 100% rename from recipes/wip/dev/lang/python312/redox.patch rename to recipes/dev/python312/redox.patch diff --git a/recipes/wip/net/http/nginx/recipe.toml b/recipes/net/nginx/recipe.toml similarity index 88% rename from recipes/wip/net/http/nginx/recipe.toml rename to recipes/net/nginx/recipe.toml index da416dcae..e6583d63b 100644 --- a/recipes/wip/net/http/nginx/recipe.toml +++ b/recipes/net/nginx/recipe.toml @@ -56,5 +56,9 @@ unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP cookbook_configure -mkdir -p "$COOKBOOK_STAGE"/var/lib/nginx/{body,proxy,fastcgi,uwsgi,scgi} +mkdir -p "$COOKBOOK_STAGE"/var/lib/nginx/{body,proxy,fastcgi,uwsgi,scgi} \ + "$COOKBOOK_STAGE"/var/log/nginx/ +#TODO: pkgar don't track empty directories +touch "$COOKBOOK_STAGE"/var/lib/nginx/{body,proxy,fastcgi,uwsgi,scgi}/.tmp \ + "$COOKBOOK_STAGE"/var/log/nginx/.tmp """ diff --git a/recipes/wip/net/http/nginx/redox.patch b/recipes/net/nginx/redox.patch similarity index 100% rename from recipes/wip/net/http/nginx/redox.patch rename to recipes/net/nginx/redox.patch diff --git a/recipes/wip/ssh/openssh/recipe.toml b/recipes/net/openssh/recipe.toml similarity index 100% rename from recipes/wip/ssh/openssh/recipe.toml rename to recipes/net/openssh/recipe.toml diff --git a/recipes/wip/ssh/openssh/redox.patch b/recipes/net/openssh/redox.patch similarity index 100% rename from recipes/wip/ssh/openssh/redox.patch rename to recipes/net/openssh/redox.patch diff --git a/recipes/web/website/recipe.toml b/recipes/web/website/recipe.toml index 4df01db06..e9d240f19 100644 --- a/recipes/web/website/recipe.toml +++ b/recipes/web/website/recipe.toml @@ -3,6 +3,7 @@ git = "https://gitlab.redox-os.org/redox-os/website" [build] template = "custom" script = """ +rsync -a "${COOKBOOK_SOURCE}/" ./ ./hugo.sh mkdir -pv "${COOKBOOK_STAGE}"/usr/share/website cp -rv "${COOKBOOK_BUILD}"/build/public/* "${COOKBOOK_STAGE}"/usr/share/website diff --git a/recipes/wip/dev/lang/go/recipe.toml b/recipes/wip/dev/lang/go/recipe.toml index 906c92530..278f374bf 100644 --- a/recipes/wip/dev/lang/go/recipe.toml +++ b/recipes/wip/dev/lang/go/recipe.toml @@ -41,7 +41,7 @@ rsync -a bin/redox_${GOARCH}/* "${COOKBOOK_STAGE}"/usr/lib/golang/bin/ rsync -a lib/* "${COOKBOOK_STAGE}"/usr/lib/golang/lib/ rsync -a misc/* "${COOKBOOK_STAGE}"/usr/lib/golang/misc/ rsync -a pkg/include/* "${COOKBOOK_STAGE}"/usr/lib/golang/pkg/include/ -rsync -a pkg/tool/redox_${GOARCH}/* "${COOKBOOK_STAGE}"/usr/lib/golang/pkg/tool/ +rsync -a pkg/tool/redox_${GOARCH} "${COOKBOOK_STAGE}"/usr/lib/golang/pkg/tool/ rsync -a src/* "${COOKBOOK_STAGE}"/usr/lib/golang/src/ cat go.env > "${COOKBOOK_STAGE}"/usr/lib/golang/go.env ln -s "../lib/golang/bin/go" "${COOKBOOK_STAGE}"/usr/bin/go diff --git a/recipes/wip/dev/lang/php84/redox.patch b/recipes/wip/dev/lang/php84/redox.patch deleted file mode 100644 index 916f9fa3d..000000000 --- a/recipes/wip/dev/lang/php84/redox.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --color -ruwN source/configure source-new/configure ---- source/configure 2025-08-26 20:36:28.000000000 +0700 -+++ source-new/configure 2025-09-16 07:50:56.962975667 +0700 -@@ -25863,7 +25863,7 @@ - then : - ac_cv_lib_curl_curl_easy_perform=yes - else case e in #( -- e) ac_cv_lib_curl_curl_easy_perform=no ;; -+ e) ac_cv_lib_curl_curl_easy_perform=yes ;; - esac - fi - rm -f core conftest.err conftest.$ac_objext conftest.beam \ -@@ -37356,7 +37356,7 @@ - then : - php_cv_lib_gd_works=yes - else case e in #( -- e) php_cv_lib_gd_works=no ;; -+ e) php_cv_lib_gd_works=yes ;; - esac - fi - rm -f core conftest.err conftest.$ac_objext conftest.beam \ -@@ -40056,7 +40056,7 @@ - LIBS_SAVED=$LIBS - CFLAGS="$CFLAGS $GMP_CFLAGS" - LIBS="$LIBS $GMP_LIBS" -- gmp_check=no -+ gmp_check=yes - ac_fn_c_check_header_compile "$LINENO" "gmp.h" "ac_cv_header_gmp_h" "$ac_includes_default" - if test "x$ac_cv_header_gmp_h" = xyes - then : -diff --color -ruwN source/ext/phar/Makefile.frag source-new/ext/phar/Makefile.frag ---- source/ext/phar/Makefile.frag 2025-08-26 20:36:28.000000000 +0700 -+++ source-new/ext/phar/Makefile.frag 2025-09-18 07:37:43.264765180 +0700 -@@ -30,7 +30,7 @@ - -@test -f $(builddir)/phar/phar.inc || cp $(srcdir)/phar/phar.inc $(builddir)/phar/phar.inc - - TEST_PHP_EXECUTABLE = $(shell $(PHP_EXECUTABLE) -v 2>&1) --TEST_PHP_EXECUTABLE_RES = $(shell echo "$(TEST_PHP_EXECUTABLE)" | grep -c 'Exec format error') -+TEST_PHP_EXECUTABLE_RES = $(shell echo "$(TEST_PHP_EXECUTABLE)" | grep -E -c 'Exec format error|required file not found') - - $(builddir)/phar.php: $(srcdir)/build_precommand.php $(srcdir)/phar/*.inc $(srcdir)/phar/*.php $(SAPI_CLI_PATH) - -@(echo "Generating phar.php"; \ -diff --color -ruwN source/ext/posix/posix.c source-new/ext/posix/posix.c ---- source/ext/posix/posix.c 2025-08-26 20:36:28.000000000 +0700 -+++ source-new/ext/posix/posix.c 2025-09-16 07:50:56.989976200 +0700 -@@ -375,7 +375,7 @@ - - ZEND_PARSE_PARAMETERS_NONE(); - -- if ((ticks = times(&t)) == -1) { -+ { - POSIX_G(last_error) = errno; - RETURN_FALSE; - } diff --git a/recipes/wip/games/music/composer/recipe.toml b/recipes/wip/games/music/performous-composer/recipe.toml similarity index 100% rename from recipes/wip/games/music/composer/recipe.toml rename to recipes/wip/games/music/performous-composer/recipe.toml diff --git a/recipes/wip/libs/other/libonig/recipe.toml b/recipes/wip/libs/other/libonig/recipe.toml index 9633af050..894e8b0a8 100644 --- a/recipes/wip/libs/other/libonig/recipe.toml +++ b/recipes/wip/libs/other/libonig/recipe.toml @@ -1,5 +1,6 @@ [source] git = "https://github.com/kkos/oniguruma" +rev = "f95747b462de672b6f8dbdeb478245ddf061ca53" script = """ DYNAMIC_INIT autotools_recursive_regenerate From a74c40e1a3e8ab121fa3a4796293d2a5929441f4 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sat, 27 Sep 2025 02:35:46 +0700 Subject: [PATCH 076/182] Add NGINX patches --- recipes/net/nginx/recipe.toml | 2 +- recipes/net/nginx/redox.patch | 37 +++++++++++++++++++++++++---------- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/recipes/net/nginx/recipe.toml b/recipes/net/nginx/recipe.toml index e6583d63b..b74f659cb 100644 --- a/recipes/net/nginx/recipe.toml +++ b/recipes/net/nginx/recipe.toml @@ -1,4 +1,4 @@ -#TODO Compiling, got some C issues on init +#TODO FastCGI not working [source] tar = "https://nginx.org/download/nginx-1.28.0.tar.gz" patches = [ diff --git a/recipes/net/nginx/redox.patch b/recipes/net/nginx/redox.patch index df14d2f4b..bc5eee54b 100644 --- a/recipes/net/nginx/redox.patch +++ b/recipes/net/nginx/redox.patch @@ -1,7 +1,7 @@ -diff --color -ruwN source/auto/feature source-new/auto/feature +diff -ruwN source/auto/feature source-new/auto/feature --- source/auto/feature 2025-04-23 18:48:54.000000000 +0700 -+++ source-new/auto/feature 2025-09-16 02:23:35.565899342 +0700 -@@ -53,7 +57,7 @@ ++++ source-new/auto/feature 2025-09-16 02:44:58.617532926 +0700 +@@ -53,7 +53,7 @@ yes) # /bin/sh is used to intercept "Killed" or "Abort trap" messages @@ -10,7 +10,7 @@ diff --color -ruwN source/auto/feature source-new/auto/feature echo " found" ngx_found=yes -@@ -61,9 +65,9 @@ +@@ -61,9 +61,9 @@ have=$ngx_have_feature . auto/have fi @@ -23,9 +23,9 @@ diff --color -ruwN source/auto/feature source-new/auto/feature ;; value) -diff --color -ruwN source/auto/types/sizeof source-new/auto/types/sizeof +diff -ruwN source/auto/types/sizeof source-new/auto/types/sizeof --- source/auto/types/sizeof 2025-04-23 18:48:54.000000000 +0700 -+++ source-new/auto/types/sizeof 2025-09-16 02:38:57.979145501 +0700 ++++ source-new/auto/types/sizeof 2025-09-16 02:44:58.618532943 +0700 @@ -33,7 +33,7 @@ END @@ -35,9 +35,9 @@ diff --color -ruwN source/auto/types/sizeof source-new/auto/types/sizeof -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" -diff --color -ruwN source/auto/types/typedef source-new/auto/types/typedef +diff -ruwN source/auto/types/typedef source-new/auto/types/typedef --- source/auto/types/typedef 2025-04-23 18:48:54.000000000 +0700 -+++ source-new/auto/types/typedef 2025-09-16 02:38:54.927091443 +0700 ++++ source-new/auto/types/typedef 2025-09-16 02:44:58.618532943 +0700 @@ -34,7 +34,7 @@ END @@ -47,9 +47,9 @@ diff --color -ruwN source/auto/types/typedef source-new/auto/types/typedef -o $NGX_AUTOTEST $NGX_AUTOTEST.c $NGX_LD_OPT $ngx_feature_libs" eval "$ngx_test >> $NGX_AUTOCONF_ERR 2>&1" -diff --color -ruwN source/src/os/unix/ngx_process.c source-new/src/os/unix/ngx_process.c +diff -ruwN source/src/os/unix/ngx_process.c source-new/src/os/unix/ngx_process.c --- source/src/os/unix/ngx_process.c 2025-04-23 18:48:54.000000000 +0700 -+++ source-new/src/os/unix/ngx_process.c 2025-09-16 02:40:44.363029726 +0700 ++++ source-new/src/os/unix/ngx_process.c 2025-09-16 02:44:58.618532943 +0700 @@ -143,6 +143,7 @@ } @@ -66,3 +66,20 @@ diff --color -ruwN source/src/os/unix/ngx_process.c source-new/src/os/unix/ngx_p if (fcntl(ngx_processes[s].channel[0], F_SETFD, FD_CLOEXEC) == -1) { ngx_log_error(NGX_LOG_ALERT, cycle->log, ngx_errno, +diff -ruwN source/src/os/unix/ngx_process_cycle.c source-new/src/os/unix/ngx_process_cycle.c +--- source/src/os/unix/ngx_process_cycle.c 2025-04-23 18:48:54.000000000 +0700 ++++ source-new/src/os/unix/ngx_process_cycle.c 2025-09-27 02:17:21.509383985 +0700 +@@ -804,11 +804,13 @@ + exit(2); + } + ++ /* + if (initgroups(ccf->username, ccf->group) == -1) { + ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno, + "initgroups(%s, %d) failed", + ccf->username, ccf->group); + } ++ */ + + #if (NGX_HAVE_PR_SET_KEEPCAPS && NGX_HAVE_CAPABILITIES) + if (ccf->transparent && ccf->user) { From 58fc70fc7e9df1160658f9974a760230bdf83d1e Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 26 Sep 2025 16:01:04 -0600 Subject: [PATCH 077/182] installer-gui: add manifest --- recipes/gui/installer-gui/manifest | 6 ++++++ recipes/gui/installer-gui/recipe.toml | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 recipes/gui/installer-gui/manifest diff --git a/recipes/gui/installer-gui/manifest b/recipes/gui/installer-gui/manifest new file mode 100644 index 000000000..9bdf825f1 --- /dev/null +++ b/recipes/gui/installer-gui/manifest @@ -0,0 +1,6 @@ +name=Redox Installer +category=System +binary=/usr/bin/redox_installer_gui +icon=/usr/share/icons/Pop/48x48/apps/system-os-installer.svg +author=Jeremy Soller +description=GUI Installer for Redox diff --git a/recipes/gui/installer-gui/recipe.toml b/recipes/gui/installer-gui/recipe.toml index 7c43f12c9..b90147a81 100644 --- a/recipes/gui/installer-gui/recipe.toml +++ b/recipes/gui/installer-gui/recipe.toml @@ -2,4 +2,10 @@ git = "https://gitlab.redox-os.org/redox-os/installer-gui.git" [build] -template = "cargo" +template = "custom" +script = """ +cookbook_cargo + +mkdir -pv "${COOKBOOK_STAGE}/ui/apps" +cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/ui/apps/redox-installer-gui" +""" From 71fac772ccefbbf0af0258de9574dd03dd4f10a0 Mon Sep 17 00:00:00 2001 From: Ron Williams Date: Fri, 26 Sep 2025 22:15:00 +0000 Subject: [PATCH 078/182] Add recipe for redox-posix-tests --- recipes/tests/redox-posix-tests/recipe.toml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 recipes/tests/redox-posix-tests/recipe.toml diff --git a/recipes/tests/redox-posix-tests/recipe.toml b/recipes/tests/redox-posix-tests/recipe.toml new file mode 100644 index 000000000..861b92889 --- /dev/null +++ b/recipes/tests/redox-posix-tests/recipe.toml @@ -0,0 +1,18 @@ +# [source] +# git = "https://gitlab.redox-os.org/redox-os/redox-posix-tests.git" + + +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/share/redox-posix-tests" +cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/share/redox-posix-tests" +""" + +[package] +dependencies = [ + "gcc13", + "gnu-binutils", + "gnu-make", +] + From 6e8f2b872e2b198ac077c9a516b4e0239fa6be0b Mon Sep 17 00:00:00 2001 From: Ron Williams Date: Sat, 27 Sep 2025 04:49:01 +0000 Subject: [PATCH 079/182] Add redox-posix-tests recipe with correct git reference --- 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 861b92889..dae4b48cc 100644 --- a/recipes/tests/redox-posix-tests/recipe.toml +++ b/recipes/tests/redox-posix-tests/recipe.toml @@ -1,5 +1,5 @@ -# [source] -# git = "https://gitlab.redox-os.org/redox-os/redox-posix-tests.git" +[source] +git = "https://gitlab.redox-os.org/redox-os/redox-posix-tests.git" [build] From 6a19a12380158f869f244a55d5ba2909e1e257b8 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 28 Sep 2025 13:36:44 +0700 Subject: [PATCH 080/182] Skip checking source freshness for build dependencies --- src/bin/cook.rs | 38 ++++++++++++++++++++++++++++---------- src/recipe.rs | 12 ++++++++++-- 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 4cfc2d433..d4e14756f 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -746,7 +746,11 @@ fn build( target_dir: &Path, name: &PackageName, recipe: &Recipe, + check_source: bool, ) -> Result<(PathBuf, BTreeSet), String> { + let sysroot_dir = target_dir.join("sysroot"); + let stage_dir = target_dir.join("stage"); + let mut dep_pkgars = BTreeSet::new(); for dependency in recipe.build.dependencies.iter() { let dependency_dir = recipes::find(dependency.as_str()); @@ -763,6 +767,11 @@ fn build( )); } + if stage_dir.exists() && !check_source { + let auto_deps = build_auto_deps(target_dir, &stage_dir, dep_pkgars)?; + return Ok((stage_dir, auto_deps)); + } + let source_modified = modified_dir_ignore_git(source_dir)?; let deps_modified = dep_pkgars .iter() @@ -770,7 +779,6 @@ fn build( .max() .unwrap_or(Ok(SystemTime::UNIX_EPOCH))?; - let sysroot_dir = target_dir.join("sysroot"); // Rebuild sysroot if source is newer //TODO: rebuild on recipe changes if sysroot_dir.is_dir() { @@ -820,7 +828,6 @@ fn build( rename(&sysroot_dir_tmp, &sysroot_dir)?; } - let stage_dir = target_dir.join("stage"); // Rebuild stage if source is newer //TODO: rebuild on recipe changes if stage_dir.is_dir() { @@ -1189,10 +1196,19 @@ done rename(&stage_dir_tmp, &stage_dir)?; } - // Calculate automatic dependencies - let auto_deps_path = target_dir.join("auto_deps.toml"); + let auto_deps = build_auto_deps(target_dir, &stage_dir, dep_pkgars)?; - if auto_deps_path.is_file() && modified(&auto_deps_path)? < modified(&stage_dir)? { + Ok((stage_dir, auto_deps)) +} + +/// Calculate automatic dependencies +fn build_auto_deps( + target_dir: &Path, + stage_dir: &PathBuf, + dep_pkgars: BTreeSet<(PackageName, PathBuf)>, +) -> Result, String> { + let auto_deps_path = target_dir.join("auto_deps.toml"); + if auto_deps_path.is_file() && modified(&auto_deps_path)? < modified(stage_dir)? { remove_all(&auto_deps_path)? } @@ -1203,13 +1219,12 @@ done toml::from_str(&toml_content).map_err(|_| "failed to deserialize cached auto_deps")?; wrapper.packages } else { - let packages = auto_deps(&stage_dir, &dep_pkgars); + let packages = auto_deps(stage_dir, &dep_pkgars); let wrapper = AutoDeps { packages }; serialize_and_write(&auto_deps_path, &wrapper)?; wrapper.packages }; - - Ok((stage_dir, auto_deps)) + Ok(auto_deps) } fn package( @@ -1316,6 +1331,7 @@ fn cook( recipe_dir: &Path, name: &PackageName, recipe: &Recipe, + is_deps: bool, fetch_only: bool, is_offline: bool, ) -> Result<(), String> { @@ -1335,8 +1351,9 @@ fn cook( let target_dir = create_target_dir(recipe_dir)?; - let (stage_dir, auto_deps) = build(recipe_dir, &source_dir, &target_dir, name, recipe) - .map_err(|err| format!("failed to build: {}", err))?; + let (stage_dir, auto_deps) = + build(recipe_dir, &source_dir, &target_dir, name, recipe, !is_deps) + .map_err(|err| format!("failed to build: {}", err))?; let _package_file = package(&stage_dir, &target_dir, name, recipe, &auto_deps) .map_err(|err| format!("failed to package: {}", err))?; @@ -1432,6 +1449,7 @@ fn main() { &recipe.dir, &recipe.name, &recipe.recipe, + recipe.is_deps, fetch_only, is_offline, ) diff --git a/src/recipe.rs b/src/recipe.rs index 8032e5fe1..1e6a23eb0 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -135,6 +135,8 @@ pub struct CookRecipe { pub name: PackageName, pub dir: PathBuf, pub recipe: Recipe, + /// If true, the source will not be checked for freshness + pub is_deps: bool, } impl CookRecipe { @@ -156,7 +158,12 @@ impl CookRecipe { .map_err(|err| PackageError::Parse(DeError::custom(err), Some(file)))?; let dir = dir.to_path_buf(); - Ok(Self { name, dir, recipe }) + Ok(Self { + name, + dir, + recipe, + is_deps: false, + }) } pub fn new_recursive( @@ -179,8 +186,9 @@ impl CookRecipe { }, )?; - for dependency in dependencies { + for mut dependency in dependencies { if !recipes.contains(&dependency) { + dependency.is_deps = true; recipes.push(dependency); } } From 84ea44bc275aeafe1575ccc737c60fa8d9d45129 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 28 Sep 2025 14:17:14 +0700 Subject: [PATCH 081/182] Improve is_deps case --- src/bin/cook.rs | 2 +- src/recipe.rs | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/bin/cook.rs b/src/bin/cook.rs index d4e14756f..5dd888d58 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -1412,7 +1412,7 @@ fn main() { }; } - let recipes = match CookRecipe::new_recursive(&recipe_names, WALK_DEPTH) { + let recipes = match CookRecipe::get_build_deps_recursive(&recipe_names) { Ok(ok) => ok, Err(err) => { eprintln!( diff --git a/src/recipe.rs b/src/recipe.rs index 1e6a23eb0..f58e73765 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -6,6 +6,8 @@ use serde::{ Deserialize, Serialize, }; +use crate::WALK_DEPTH; + /// Specifies how to download the source for a recipe #[derive(Debug, Deserialize, PartialEq, Serialize)] #[serde(untagged)] @@ -186,9 +188,8 @@ impl CookRecipe { }, )?; - for mut dependency in dependencies { + for dependency in dependencies { if !recipes.contains(&dependency) { - dependency.is_deps = true; recipes.push(dependency); } } @@ -201,6 +202,18 @@ impl CookRecipe { Ok(recipes) } + pub fn get_build_deps_recursive( + names: &[PackageName], + ) -> Result, PackageError> { + let mut packages = Self::new_recursive(names, WALK_DEPTH)?; + + for package in packages.iter_mut() { + package.is_deps = !names.contains(&package.name); + } + + Ok(packages) + } + pub fn get_package_deps_recursive( names: &[PackageName], recursion: usize, From c8dc39665864d32d70410139c6c7b82c48615ca9 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 28 Sep 2025 14:19:06 +0700 Subject: [PATCH 082/182] fmt --- src/recipe.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/recipe.rs b/src/recipe.rs index f58e73765..06c49e686 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -202,9 +202,7 @@ impl CookRecipe { Ok(recipes) } - pub fn get_build_deps_recursive( - names: &[PackageName], - ) -> Result, PackageError> { + pub fn get_build_deps_recursive(names: &[PackageName]) -> Result, PackageError> { let mut packages = Self::new_recursive(names, WALK_DEPTH)?; for package in packages.iter_mut() { From e1334e2f4913e2c490d0cf164bd00c612d5e27f3 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 28 Sep 2025 15:04:03 +0700 Subject: [PATCH 083/182] Use upstream cargo --- recipes/dev/cargo/recipe.toml | 11 ++++++----- recipes/dev/cargo/redox.patch | 37 +++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 recipes/dev/cargo/redox.patch diff --git a/recipes/dev/cargo/recipe.toml b/recipes/dev/cargo/recipe.toml index 07acd357a..e07489624 100644 --- a/recipes/dev/cargo/recipe.toml +++ b/recipes/dev/cargo/recipe.toml @@ -1,7 +1,9 @@ [source] -git = "https://gitlab.redox-os.org/redox-os/cargo.git" -upstream = "https://github.com/rust-lang/cargo.git" -branch = "redox-2023-01-21" +git = "https://github.com/rust-lang/cargo.git" +rev = "d73d2caf9e41a39daf2a8d6ce60ec80bf354d2a7" # 0.86 +patches = [ + "redox.patch" +] [build] template = "custom" @@ -19,14 +21,13 @@ export LIBZ_SYS_STATIC=1 export DEP_NGHTTP2_ROOT="${COOKBOOK_SYSROOT}" export DEP_OPENSSL_ROOT="${COOKBOOK_SYSROOT}" export DEP_Z_ROOT="${COOKBOOK_SYSROOT}" -# Force linking system nghttp2 "${COOKBOOK_CARGO}" rustc \ --manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \ --release \ --bin cargo \ -- \ -L "${COOKBOOK_SYSROOT}/lib" \ - -C link-arg="-lnghttp2" + -C link-arg=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib mkdir -pv "${COOKBOOK_STAGE}/usr/bin" cp -v "target/${TARGET}/release/cargo" "${COOKBOOK_STAGE}/usr/bin/cargo" """ diff --git a/recipes/dev/cargo/redox.patch b/recipes/dev/cargo/redox.patch new file mode 100644 index 000000000..4a32bfe05 --- /dev/null +++ b/recipes/dev/cargo/redox.patch @@ -0,0 +1,37 @@ +diff --git a/crates/cargo-util/src/paths.rs b/crates/cargo-util/src/paths.rs +index 5d7e3c5a6..b7de5655f 100644 +--- a/crates/cargo-util/src/paths.rs ++++ b/crates/cargo-util/src/paths.rs +@@ -201,7 +201,7 @@ pub fn write_atomic, C: AsRef<[u8]>>(path: P, contents: C) -> Res + use std::os::unix::fs::PermissionsExt; + + // these constants are u16 on macOS +- let mask = u32::from(libc::S_IRWXU | libc::S_IRWXG | libc::S_IRWXO); ++ let mask = (libc::S_IRWXU | libc::S_IRWXG | libc::S_IRWXO) as u32; + let mode = meta.permissions().mode() & mask; + + std::fs::Permissions::from_mode(mode) +@@ -611,8 +611,6 @@ fn _link_or_copy(src: &Path, dst: &Path) -> Result<()> { + } + + let link_result = if src.is_dir() { +- #[cfg(target_os = "redox")] +- use std::os::redox::fs::symlink; + #[cfg(unix)] + use std::os::unix::fs::symlink; + #[cfg(windows)] +diff --git a/src/cargo/core/compiler/build_config.rs b/src/cargo/core/compiler/build_config.rs +index 80aa592dd..d40c2056b 100644 +--- a/src/cargo/core/compiler/build_config.rs ++++ b/src/cargo/core/compiler/build_config.rs +@@ -51,9 +51,7 @@ pub struct BuildConfig { + } + + fn default_parallelism() -> CargoResult { +- Ok(available_parallelism() +- .context("failed to determine the amount of parallelism available")? +- .get() as u32) ++ Ok(1) + } + + impl BuildConfig { From 21bfbac091f635e511bcdb16adf0bc6f91cf9aac Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 28 Sep 2025 16:10:03 +0700 Subject: [PATCH 084/182] Fix warning to metapackages --- src/bin/repo_builder.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/bin/repo_builder.rs b/src/bin/repo_builder.rs index 760fc33cf..8f1f0ac9c 100644 --- a/src/bin/repo_builder.rs +++ b/src/bin/repo_builder.rs @@ -160,13 +160,12 @@ fn main() -> Result<(), Box> { let content = fs::read_to_string(&path)?; let parsed: Value = toml::from_str(&content)?; - if let Some(version_val) = parsed.get("version") { - let version_str = version_val.to_string(); // includes quotes - let package_name = path.file_stem().unwrap().to_string_lossy().to_string(); - packages.insert(package_name, version_str); - } else { - eprintln!("Warning: no [version] found in {:?}", path); - } + let version_str = parsed + .get("version") + .unwrap_or(&Value::String("".to_string())) + .to_string(); // includes quotes + let package_name = path.file_stem().unwrap().to_string_lossy().to_string(); + packages.insert(package_name, version_str); } // FIXME: Use proper TOML serializer From 503dc4998f69874e98a287aa81950b41913debe7 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 28 Sep 2025 21:51:07 +0700 Subject: [PATCH 085/182] Disable OpenSSH key generation --- recipes/net/openssh/recipe.toml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/net/openssh/recipe.toml b/recipes/net/openssh/recipe.toml index 648f006ea..b1b643580 100644 --- a/recipes/net/openssh/recipe.toml +++ b/recipes/net/openssh/recipe.toml @@ -23,11 +23,11 @@ mv "${COOKBOOK_STAGE}"/usr/sbin/sshd "${COOKBOOK_STAGE}"/usr/bin/sshd rmdir "${COOKBOOK_STAGE}"/usr/sbin # Extracted from `make host-key-force` -# TODO: Very insecure! but there's no postscript yet -ssh-keygen -t dsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_dsa_key -N "" -ssh-keygen -t rsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_rsa_key -N "" -ssh-keygen -t ed25519 -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_ed25519_key -N "" -ssh-keygen -t ecdsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_ecdsa_key -N "" +# TODO: Postscript to generate this +# ssh-keygen -t dsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_dsa_key -N "" +# ssh-keygen -t rsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_rsa_key -N "" +# ssh-keygen -t ed25519 -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_ed25519_key -N "" +# ssh-keygen -t ecdsa -f "${COOKBOOK_STAGE}"/etc/ssh/ssh_host_ecdsa_key -N "" CONFIG_FILE="${COOKBOOK_STAGE}"/etc/ssh/sshd_config From 88c49c4c60375f9f4580b339ccc500c668401469 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 28 Sep 2025 15:44:54 +0000 Subject: [PATCH 086/182] Fix php symlink --- recipes/dev/php84/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/dev/php84/recipe.toml b/recipes/dev/php84/recipe.toml index f7fc503b8..1435238fc 100644 --- a/recipes/dev/php84/recipe.toml +++ b/recipes/dev/php84/recipe.toml @@ -74,7 +74,7 @@ mv ${COOKBOOK_STAGE}/usr/sbin/* ${COOKBOOK_STAGE}/usr/bin/ for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize" "php-fpm"; do ln -s "$bin$SUFFIX" ${COOKBOOK_STAGE}/usr/bin/$bin done -rm ${COOKBOOK_STAGE}/usr/bin/phar$SUFFIX +unlink ${COOKBOOK_STAGE}/usr/bin/phar$SUFFIX mkdir -p ${COOKBOOK_STAGE}/etc/php/$SUFFIX/conf.d cp ${COOKBOOK_SOURCE}/php.ini* ${COOKBOOK_STAGE}/etc/php/$SUFFIX/ """ From ff65ed2fec326b1fbdb182f9f430a7362326a46a Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 28 Sep 2025 23:27:17 +0700 Subject: [PATCH 087/182] Fix liborbital for non x86_64 targets --- recipes/libs/liborbital/recipe.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/libs/liborbital/recipe.toml b/recipes/libs/liborbital/recipe.toml index a3e0c5fe1..469d57f10 100644 --- a/recipes/libs/liborbital/recipe.toml +++ b/recipes/libs/liborbital/recipe.toml @@ -7,5 +7,6 @@ script = """ DYNAMIC_STATIC_INIT rsync -av --delete "${COOKBOOK_SOURCE}/" ./ "${COOKBOOK_CARGO}" build --release -"${COOKBOOK_MAKE}" install HOST="${TARGET}" DESTDIR="${COOKBOOK_STAGE}" +# other than x86_64 this will trigger error because of lacking .so files, which is fine +"${COOKBOOK_MAKE}" install HOST="${TARGET}" DESTDIR="${COOKBOOK_STAGE}" || true """ From ad86bbb88cfb71aa095516e1f3d324e9f99869ea Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 28 Sep 2025 23:53:47 +0700 Subject: [PATCH 088/182] Fix php symlink part II --- recipes/dev/php84/recipe.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/dev/php84/recipe.toml b/recipes/dev/php84/recipe.toml index f7fc503b8..1e109c25d 100644 --- a/recipes/dev/php84/recipe.toml +++ b/recipes/dev/php84/recipe.toml @@ -74,7 +74,7 @@ mv ${COOKBOOK_STAGE}/usr/sbin/* ${COOKBOOK_STAGE}/usr/bin/ for bin in "php-cgi" "php-config" "php" "phpdbg" "phpize" "php-fpm"; do ln -s "$bin$SUFFIX" ${COOKBOOK_STAGE}/usr/bin/$bin done -rm ${COOKBOOK_STAGE}/usr/bin/phar$SUFFIX -mkdir -p ${COOKBOOK_STAGE}/etc/php/$SUFFIX/conf.d +# will not exist on bash but exist on other shell +rm -f ${COOKBOOK_STAGE}/usr/bin/phar$SUFFIX cp ${COOKBOOK_SOURCE}/php.ini* ${COOKBOOK_STAGE}/etc/php/$SUFFIX/ """ From b5daccaed122456cf9dbec8e3523e3f47e490d22 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 28 Sep 2025 12:43:45 -0600 Subject: [PATCH 089/182] python312: use whatever system python3 is installed for the build --- recipes/dev/python312/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/dev/python312/recipe.toml b/recipes/dev/python312/recipe.toml index 1209eb07b..c75583209 100644 --- a/recipes/dev/python312/recipe.toml +++ b/recipes/dev/python312/recipe.toml @@ -34,7 +34,7 @@ COOKBOOK_CONFIGURE_FLAGS=( --disable-ipv6 --host=${GNU_TARGET} --build=$ARCH - --with-build-python + --with-build-python=python3 --with-ensurepip=install --disable-test-modules ac_cv_file__dev_ptmx=no From 69573f5bd4ad8d692a3a2669185a1b979356b029 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 28 Sep 2025 12:48:08 -0600 Subject: [PATCH 090/182] Revert "python312: use whatever system python3 is installed for the build" This reverts commit b5daccaed122456cf9dbec8e3523e3f47e490d22. --- recipes/dev/python312/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/dev/python312/recipe.toml b/recipes/dev/python312/recipe.toml index c75583209..1209eb07b 100644 --- a/recipes/dev/python312/recipe.toml +++ b/recipes/dev/python312/recipe.toml @@ -34,7 +34,7 @@ COOKBOOK_CONFIGURE_FLAGS=( --disable-ipv6 --host=${GNU_TARGET} --build=$ARCH - --with-build-python=python3 + --with-build-python --with-ensurepip=install --disable-test-modules ac_cv_file__dev_ptmx=no From 942c3ea4daa2ef5a471b6169cceeea7f674890f2 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 28 Sep 2025 13:14:01 -0600 Subject: [PATCH 091/182] python312: built host compiler for cross compilation --- recipes/dev/python312/recipe.toml | 40 +++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/recipes/dev/python312/recipe.toml b/recipes/dev/python312/recipe.toml index 1209eb07b..f7759afad 100644 --- a/recipes/dev/python312/recipe.toml +++ b/recipes/dev/python312/recipe.toml @@ -21,6 +21,42 @@ dependencies = [ ] script = """ DYNAMIC_INIT + +# Build host python3 +mkdir -p host +pushd host +#TODO: easier way to build for host? +HOST_ENV=( + env + --unset=AR + --unset=AS + --unset=CC + --unset=CFLAGS + --unset=CPPFLAGS + --unset=CXX + --unset=GNU_TARGET + --unset=LD + --unset=LDFLAGS + --unset=NM + --unset=OBJCOPY + --unset=OBJDUMP + --unset=PKG_CONFIG + --unset=PKG_CONFIG_ALLOW_CROSS + --unset=PKG_CONFIG_FOR_BUILD + --unset=PKG_CONFIG_LIBDIR + --unset=PKG_CONFIG_PATH + --unset=PKG_CONFIG_SYSROOT_DIR + --unset=PREFIX_RUSTFLAGS + --unset=RANLIB + --unset=READELF + --unset=STRIP + --unset=TARGET +) +"${HOST_ENV[@]}" "${COOKBOOK_CONFIGURE}" --prefix="${PWD}/usr" +"${HOST_ENV[@]}" "${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}" +"${HOST_ENV[@]}" "${COOKBOOK_MAKE}" altinstall +popd + export PYTHONDONTWRITEBYTECODE=1 ARCH="${TARGET%%-*}" @@ -33,8 +69,8 @@ COOKBOOK_CONFIGURE_FLAGS=( --enable-shared --disable-ipv6 --host=${GNU_TARGET} - --build=$ARCH - --with-build-python + --build="$ARCH" + --with-build-python="${PWD}/host/usr/bin/python3.12" --with-ensurepip=install --disable-test-modules ac_cv_file__dev_ptmx=no From edb56a11533743a6daa4cf48b25d258fa5e0b6b0 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sun, 28 Sep 2025 13:47:54 -0600 Subject: [PATCH 092/182] python312: workaround for missing CLOCK_THREAD_CPUTIME_ID --- recipes/dev/python312/redox.patch | 62 ++++++++++++++++++------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/recipes/dev/python312/redox.patch b/recipes/dev/python312/redox.patch index 292c43db9..9ead63c55 100644 --- a/recipes/dev/python312/redox.patch +++ b/recipes/dev/python312/redox.patch @@ -1,7 +1,7 @@ diff -ruwN source/configure source-new/configure ---- source/configure 2025-02-04 21:38:38.000000000 +0700 -+++ source-new/configure 2025-09-17 20:20:00.088297027 +0700 -@@ -4283,6 +4283,9 @@ +--- source/configure 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/configure 2025-09-28 13:44:57.914820310 -0600 +@@ -4276,6 +4276,9 @@ *-*-wasi) ac_sys_system=WASI ;; @@ -11,7 +11,7 @@ diff -ruwN source/configure source-new/configure *) # for now, limit cross builds to known configurations MACHDEP="unknown" -@@ -4307,6 +4310,7 @@ +@@ -4300,6 +4303,7 @@ case $MACHDEP in aix*) MACHDEP="aix";; linux*) MACHDEP="linux";; @@ -19,7 +19,7 @@ diff -ruwN source/configure source-new/configure cygwin*) MACHDEP="cygwin";; darwin*) MACHDEP="darwin";; '') MACHDEP="unknown";; -@@ -4327,7 +4331,7 @@ +@@ -4311,7 +4315,7 @@ if test "$cross_compiling" = yes; then case "$host" in @@ -28,7 +28,7 @@ diff -ruwN source/configure source-new/configure case "$host_cpu" in arm*) _host_cpu=arm -@@ -6762,6 +6766,7 @@ +@@ -6746,6 +6750,7 @@ #undef cris #undef fr30 #undef linux @@ -36,7 +36,7 @@ diff -ruwN source/configure source-new/configure #undef hppa #undef hpux #undef i386 -@@ -6907,6 +6912,18 @@ +@@ -6891,6 +6896,18 @@ # endif #elif defined(__gnu_hurd__) i386-gnu @@ -55,7 +55,7 @@ diff -ruwN source/configure source-new/configure #elif defined(__APPLE__) darwin #elif defined(__VXWORKS__) -@@ -7507,7 +7524,7 @@ +@@ -7488,7 +7505,7 @@ PY3LIBRARY=libpython3.so fi ;; @@ -64,8 +64,8 @@ diff -ruwN source/configure source-new/configure LDLIBRARY='libpython$(LDVERSION).so' BLDLIBRARY='-L. -lpython$(LDVERSION)' RUNSHARED=LD_LIBRARY_PATH=`pwd`${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} -@@ -12815,7 +12832,7 @@ - Emscripten*|WASI*) +@@ -12753,7 +12770,7 @@ + Emscripten|WASI) LDSHARED='$(CC) -shared' LDCXXSHARED='$(CXX) -shared';; - Linux*|GNU*|QNX*|VxWorks*|Haiku*) @@ -73,7 +73,7 @@ diff -ruwN source/configure source-new/configure LDSHARED='$(CC) -shared' LDCXXSHARED='$(CXX) -shared';; FreeBSD*) -@@ -12901,7 +12918,7 @@ +@@ -12839,7 +12856,7 @@ else CCSHARED="+z"; fi;; Linux-android*) ;; @@ -82,7 +82,7 @@ diff -ruwN source/configure source-new/configure Emscripten*|WASI*) if test "x$enable_wasm_dynamic_linking" = xyes then : -@@ -12939,7 +12956,7 @@ +@@ -12877,7 +12894,7 @@ LINKFORSHARED="-Wl,-E -Wl,+s";; # LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";; Linux-android*) LINKFORSHARED="-pie -Xlinker -export-dynamic";; @@ -92,8 +92,8 @@ diff -ruwN source/configure source-new/configure Darwin/*) LINKFORSHARED="$extra_undefs -framework CoreFoundation" diff -ruwN source/Include/pyport.h source-new/Include/pyport.h ---- source/Include/pyport.h 2025-02-04 21:38:38.000000000 +0700 -+++ source-new/Include/pyport.h 2025-09-08 00:58:51.645114412 +0700 +--- source/Include/pyport.h 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Include/pyport.h 2025-09-28 13:44:57.916856922 -0600 @@ -684,7 +684,7 @@ # error "Py_TRACE_REFS ABI is not compatible with release and debug ABI" #endif @@ -104,8 +104,8 @@ diff -ruwN source/Include/pyport.h source-new/Include/pyport.h // See _Py_GetLocaleEncoding(), PyUnicode_DecodeLocale() // and PyUnicode_EncodeLocale(). diff -ruwN source/Modules/_cryptmodule.c source-new/Modules/_cryptmodule.c ---- source/Modules/_cryptmodule.c 2025-02-04 21:38:38.000000000 +0700 -+++ source-new/Modules/_cryptmodule.c 2025-09-08 01:08:47.321046272 +0700 +--- source/Modules/_cryptmodule.c 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Modules/_cryptmodule.c 2025-09-28 13:44:57.917139387 -0600 @@ -38,13 +38,7 @@ /*[clinic end generated code: output=0512284a03d2803c input=0e8edec9c364352b]*/ { @@ -121,9 +121,9 @@ diff -ruwN source/Modules/_cryptmodule.c source-new/Modules/_cryptmodule.c return PyErr_SetFromErrno(PyExc_OSError); } diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c ---- source/Modules/posixmodule.c 2025-02-04 21:38:38.000000000 +0700 -+++ source-new/Modules/posixmodule.c 2025-09-08 01:06:48.400701428 +0700 -@@ -2695,8 +2695,7 @@ +--- source/Modules/posixmodule.c 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Modules/posixmodule.c 2025-09-28 13:44:57.918070573 -0600 +@@ -2610,8 +2610,7 @@ #ifdef HAVE_FSTATAT if ((dir_fd != DEFAULT_DIR_FD) || !follow_symlinks) { if (HAVE_FSTATAT_RUNTIME) { @@ -133,7 +133,7 @@ diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c } else { fstatat_unavailable = 1; -@@ -3186,8 +3185,6 @@ +@@ -3083,8 +3082,6 @@ if (HAVE_FACCESSAT_RUNTIME) { int flags = 0; @@ -142,7 +142,7 @@ diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c if (effective_ids) flags |= AT_EACCESS; result = faccessat(dir_fd, path->narrow, mode, flags); -@@ -3472,8 +3469,7 @@ +@@ -3369,8 +3366,7 @@ * support dir_fd and follow_symlinks=False. (Hopefully.) * Until then, we need to be careful what exception we raise. */ @@ -152,7 +152,7 @@ diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c /* * But wait! We can't throw the exception without allowing threads, * and we can't do that in this nested scope. (Macro trickery, sigh.) -@@ -3850,8 +3846,7 @@ +@@ -3747,8 +3743,7 @@ #ifdef HAVE_FCHOWNAT if ((dir_fd != DEFAULT_DIR_FD) || (!follow_symlinks)) { if (HAVE_FCHOWNAT_RUNTIME) { @@ -162,7 +162,7 @@ diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c } else { fchownat_unsupported = 1; } -@@ -14727,8 +14722,7 @@ +@@ -14598,8 +14593,7 @@ #ifdef HAVE_FSTATAT if (HAVE_FSTATAT_RUNTIME) { Py_BEGIN_ALLOW_THREADS @@ -173,8 +173,8 @@ diff -ruwN source/Modules/posixmodule.c source-new/Modules/posixmodule.c } else diff -ruwN source/Modules/resource.c source-new/Modules/resource.c ---- source/Modules/resource.c 2025-02-04 21:38:38.000000000 +0700 -+++ source-new/Modules/resource.c 2025-09-08 01:10:18.427310454 +0700 +--- source/Modules/resource.c 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Modules/resource.c 2025-09-28 13:44:57.919295094 -0600 @@ -216,7 +216,7 @@ { struct rlimit rl; @@ -202,3 +202,15 @@ diff -ruwN source/Modules/resource.c source-new/Modules/resource.c PyErr_SetString(PyExc_ValueError, "invalid resource specified"); return NULL; +diff -ruwN source/Modules/timemodule.c source-new/Modules/timemodule.c +--- source/Modules/timemodule.c 2023-10-02 05:48:14.000000000 -0600 ++++ source-new/Modules/timemodule.c 2025-09-28 13:45:28.513234796 -0600 +@@ -1494,7 +1494,7 @@ + + #elif defined(HAVE_CLOCK_GETTIME) && \ + defined(CLOCK_PROCESS_CPUTIME_ID) && \ +- !defined(__EMSCRIPTEN__) && !defined(__wasi__) ++ !defined(__EMSCRIPTEN__) && !defined(__wasi__) && !defined(__redox__) + #define HAVE_THREAD_TIME + + #if defined(__APPLE__) && defined(__has_attribute) && __has_attribute(availability) From 33610038e0a2ef130c282e8fe61f78d138f2510e Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 29 Sep 2025 08:28:50 -0300 Subject: [PATCH 093/182] Add dillo recipe --- recipes/wip/web/dillo/recipe.toml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 recipes/wip/web/dillo/recipe.toml diff --git a/recipes/wip/web/dillo/recipe.toml b/recipes/wip/web/dillo/recipe.toml new file mode 100644 index 000000000..bd33d7152 --- /dev/null +++ b/recipes/wip/web/dillo/recipe.toml @@ -0,0 +1,15 @@ +#TODO not compiled or tested +# build instructions: https://github.com/dillo-browser/dillo/blob/master/doc/install.md +[source] +tar = "https://github.com/dillo-browser/dillo/releases/download/v3.2.0/dillo-3.2.0.tar.bz2" +[build] +template = "configure" +dependencies = [ + "fltk", + "openssl3", + "zlib", + "libpng", + "libjpeg", + "libwebp", + "libbrotli", +] From e2928dc117c5a67d938131328ef823db1782c069 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 29 Sep 2025 08:47:10 -0300 Subject: [PATCH 094/182] Update fltk recipes --- recipes/wip/libs/other/fltk/recipe.toml | 17 ----------------- recipes/wip/libs/other/fltk13/recipe.toml | 21 +++++++++++++++++++++ recipes/wip/libs/other/fltk14/recipe.toml | 21 +++++++++++++++++++++ 3 files changed, 42 insertions(+), 17 deletions(-) delete mode 100644 recipes/wip/libs/other/fltk/recipe.toml create mode 100644 recipes/wip/libs/other/fltk13/recipe.toml create mode 100644 recipes/wip/libs/other/fltk14/recipe.toml diff --git a/recipes/wip/libs/other/fltk/recipe.toml b/recipes/wip/libs/other/fltk/recipe.toml deleted file mode 100644 index 358951146..000000000 --- a/recipes/wip/libs/other/fltk/recipe.toml +++ /dev/null @@ -1,17 +0,0 @@ -#TODO probably wrong script, see https://github.com/fltk/fltk/blob/master/README.Unix.txt -#TODO port to orbital -[source] -tar = "https://www.fltk.org/pub/fltk/1.3.8/fltk-1.3.8-source.tar.bz2" -[build] -template = "configure" -dependencies = [ - "mesa-glu", - "freeglut", - "cairo", - "fontconfig", - "glew", - "libjpeg", - "libpng", - "pango", - "zlib", -] diff --git a/recipes/wip/libs/other/fltk13/recipe.toml b/recipes/wip/libs/other/fltk13/recipe.toml new file mode 100644 index 000000000..58fe41205 --- /dev/null +++ b/recipes/wip/libs/other/fltk13/recipe.toml @@ -0,0 +1,21 @@ +#TODO probably wrong template, see https://github.com/fltk/fltk/blob/master/README.Unix.txt +# commented out recipes are optional but recommended, needs to be determined +[source] +tar = "https://github.com/fltk/fltk/releases/download/release-1.3.11/fltk-1.3.11-source.tar.bz2" +[build] +template = "configure" +dependencies = [ + "mesa-glu", + "libx11", + "libxft", + "libxcursor", + #"freeglut", + #"cairo", + #"fontconfig", + #"glew", + #"libalsa", + #"libjpeg", + #"libpng", + #"libxinerama", + #"pango", +] diff --git a/recipes/wip/libs/other/fltk14/recipe.toml b/recipes/wip/libs/other/fltk14/recipe.toml new file mode 100644 index 000000000..b77962382 --- /dev/null +++ b/recipes/wip/libs/other/fltk14/recipe.toml @@ -0,0 +1,21 @@ +#TODO probably wrong template, see https://github.com/fltk/fltk/blob/master/README.Unix.txt +# commented out recipes are optional but recommended, needs to be determined +[source] +tar = "https://github.com/fltk/fltk/releases/download/release-1.4.4/fltk-1.4.4-source.tar.bz2" +[build] +template = "configure" +dependencies = [ + "mesa-glu", + "libx11", + "libxft", + "libxcursor", + #"freeglut", + #"cairo", + #"fontconfig", + #"glew", + #"libalsa", + #"libjpeg", + #"libpng", + #"libxinerama", + #"pango", +] From 3ad2cef5166439e377d073422a9243a8caa1b529 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 29 Sep 2025 08:48:48 -0300 Subject: [PATCH 095/182] Pin fltk version on dillo recipe --- recipes/wip/web/dillo/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wip/web/dillo/recipe.toml b/recipes/wip/web/dillo/recipe.toml index bd33d7152..53f234e51 100644 --- a/recipes/wip/web/dillo/recipe.toml +++ b/recipes/wip/web/dillo/recipe.toml @@ -5,7 +5,7 @@ tar = "https://github.com/dillo-browser/dillo/releases/download/v3.2.0/dillo-3.2 [build] template = "configure" dependencies = [ - "fltk", + "fltk13", "openssl3", "zlib", "libpng", From 81bce6bf7cd13087622a254ed248de151f4dcb5e Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 29 Sep 2025 08:56:31 -0300 Subject: [PATCH 096/182] Try to fix the libbrotli recipe --- recipes/wip/libs/other/libbrotli/recipe.toml | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/recipes/wip/libs/other/libbrotli/recipe.toml b/recipes/wip/libs/other/libbrotli/recipe.toml index 426ae869b..cbf880521 100644 --- a/recipes/wip/libs/other/libbrotli/recipe.toml +++ b/recipes/wip/libs/other/libbrotli/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/google/brotli" rev = "ed738e842d2fbdf2d6459e39267a633c4a9b2f5d" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" From e64f9dd92ae0001c22aa06a0a1e4e837300d1b55 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 30 Sep 2025 06:47:46 -0300 Subject: [PATCH 097/182] Move the "Hello Redox" tests to a recipe for better filesystem config organization --- recipes/tests/hello-redox/files/test.c | 5 +++++ recipes/tests/hello-redox/files/test.cpp | 6 ++++++ recipes/tests/hello-redox/files/test.java | 5 +++++ recipes/tests/hello-redox/files/test.js | 1 + recipes/tests/hello-redox/files/test.lua | 1 + recipes/tests/hello-redox/files/test.py | 1 + recipes/tests/hello-redox/files/test.rs | 3 +++ recipes/tests/hello-redox/recipe.toml | 6 ++++++ 8 files changed, 28 insertions(+) create mode 100644 recipes/tests/hello-redox/files/test.c create mode 100644 recipes/tests/hello-redox/files/test.cpp create mode 100644 recipes/tests/hello-redox/files/test.java create mode 100644 recipes/tests/hello-redox/files/test.js create mode 100644 recipes/tests/hello-redox/files/test.lua create mode 100644 recipes/tests/hello-redox/files/test.py create mode 100644 recipes/tests/hello-redox/files/test.rs create mode 100644 recipes/tests/hello-redox/recipe.toml diff --git a/recipes/tests/hello-redox/files/test.c b/recipes/tests/hello-redox/files/test.c new file mode 100644 index 000000000..dba479b03 --- /dev/null +++ b/recipes/tests/hello-redox/files/test.c @@ -0,0 +1,5 @@ +#include + +int main(void) { + printf("Hello, Redox!\\n"); +} diff --git a/recipes/tests/hello-redox/files/test.cpp b/recipes/tests/hello-redox/files/test.cpp new file mode 100644 index 000000000..65a037754 --- /dev/null +++ b/recipes/tests/hello-redox/files/test.cpp @@ -0,0 +1,6 @@ +#include + +int main() +{ + std::cout << "Hello, Redox!" << std::endl; +} diff --git a/recipes/tests/hello-redox/files/test.java b/recipes/tests/hello-redox/files/test.java new file mode 100644 index 000000000..b6aca3d7c --- /dev/null +++ b/recipes/tests/hello-redox/files/test.java @@ -0,0 +1,5 @@ +public class Java { + public static void main(String[] args) { + System.out.println("Hello Redox"); + } +} diff --git a/recipes/tests/hello-redox/files/test.js b/recipes/tests/hello-redox/files/test.js new file mode 100644 index 000000000..d9bc174a7 --- /dev/null +++ b/recipes/tests/hello-redox/files/test.js @@ -0,0 +1 @@ +console.log("Hello Redox"); diff --git a/recipes/tests/hello-redox/files/test.lua b/recipes/tests/hello-redox/files/test.lua new file mode 100644 index 000000000..253def8be --- /dev/null +++ b/recipes/tests/hello-redox/files/test.lua @@ -0,0 +1 @@ +print("Hello, Redox!") diff --git a/recipes/tests/hello-redox/files/test.py b/recipes/tests/hello-redox/files/test.py new file mode 100644 index 000000000..253def8be --- /dev/null +++ b/recipes/tests/hello-redox/files/test.py @@ -0,0 +1 @@ +print("Hello, Redox!") diff --git a/recipes/tests/hello-redox/files/test.rs b/recipes/tests/hello-redox/files/test.rs new file mode 100644 index 000000000..42c716df0 --- /dev/null +++ b/recipes/tests/hello-redox/files/test.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, Redox!"); +} diff --git a/recipes/tests/hello-redox/recipe.toml b/recipes/tests/hello-redox/recipe.toml new file mode 100644 index 000000000..6801e8339 --- /dev/null +++ b/recipes/tests/hello-redox/recipe.toml @@ -0,0 +1,6 @@ +[build] +template = "custom" +script = """ +mkdir -pv "${COOKBOOK_STAGE}/home/user/hello-redox" +cp -rv "${COOKBOOK_RECIPE}"/files/* "${COOKBOOK_STAGE}/home/user/hello-redox" +""" From f26fd8dee170a26e93bbd0189bd6dba7d2207670 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Tue, 30 Sep 2025 20:59:24 +0700 Subject: [PATCH 098/182] Tidy up servo recipe --- recipes/wip/web/servo/recipe.toml | 57 ++++++++------------ recipes/wip/x11/libxkbcommon-x11/recipe.toml | 24 +++++++++ recipes/wip/x11/libxkbcommon-x11/redox.patch | 33 ++++++++++++ 3 files changed, 79 insertions(+), 35 deletions(-) create mode 100644 recipes/wip/x11/libxkbcommon-x11/recipe.toml create mode 100644 recipes/wip/x11/libxkbcommon-x11/redox.patch diff --git a/recipes/wip/web/servo/recipe.toml b/recipes/wip/web/servo/recipe.toml index 50568e30e..30dd921c9 100644 --- a/recipes/wip/web/servo/recipe.toml +++ b/recipes/wip/web/servo/recipe.toml @@ -1,6 +1,9 @@ [source] git = "https://gitlab.redox-os.org/njskalski/servo.git" branch = "redox_mods" +script = """ +cp ../.servobuild ./ +""" [build] template = "custom" @@ -13,6 +16,8 @@ dependencies = [ "libffi", "libiconv", "libx11", + "libxcursor", + "libxkbcommon-x11", "libxcb", "libpng", "openssl1", @@ -26,49 +31,31 @@ dependencies = [ "libpthread-stubs", "fontconfig", "expat", - "relibc", - "gcc13", ] script = """ -cp "${COOKBOOK_RECIPE}/.servobuild" "${COOKBOOK_SOURCE}/.servobuild" - -# Add wrapper to PATH -export PATH="${COOKBOOK_RECIPE}:${PATH}" -export TARGET=${TARGET} - -# Force cargo to use the correct build target -export CARGO_BUILD_TARGET=${TARGET} +DYNAMIC_INIT # jemalloc specific configuration export JEMALLOC_SYS_WITH_LG_PAGE=16 -export TARGET_CC=${TARGET}-gcc -export TARGET_CXX=${TARGET}-g++ -export TARGET_AR=${TARGET}-ar +export TARGET_CC="$CC" +export TARGET_CXX="$CXX" +export TARGET_AR="$AR" -export PKG_CONFIG_ALLOW_CROSS=1 - -# this /usr/share/pkgconfig comes from x11proto, that stages pc files in wrong dir. -export PKG_CONFIG_PATH="${COOKBOOK_SYSROOT}/lib/pkgconfig" -#:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig:${COOKBOOK_SYSROOT}/usr/share/pkgconfig" -export PKG_CONFIG_LIBDIR="${COOKBOOK_SYSROOT}/lib/pkgconfig" -#:${COOKBOOK_SYSROOT}/usr/lib/pkgconfig" -export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" - -export RUSTFLAGS="-C target-feature=-crt-static -C link-args=-lpng -C link-args=-lxcb -C link-args=-lexpat -C link-args=-lgcc_s -C link-args=-lz -C link-args=-lXau -C link-args=-no-pie" - -rsync -a --delete "${COOKBOOK_SOURCE}/" ./ - - -# I'm tired trying figure out why multiple pkgconfig paths are ignored by cargo building stuff +export PKG_CONFIG_PATH_x86_64_unknown_redox="${COOKBOOK_SYSROOT}/lib/pkgconfig" +export PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_redox="${COOKBOOK_SYSROOT}/lib/pkgconfig" rsync -a -v ${COOKBOOK_SYSROOT}/usr/share/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/ -rsync -a -v ${COOKBOOK_SYSROOT}/usr/lib/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/ -echo "listing ${COOKBOOK_SYSROOT}/lib/pkgconfig" -ls -al ${COOKBOOK_SYSROOT}/lib/pkgconfig +export RUSTFLAGS="$RUSTFLAGS -L native=${COOKBOOK_SYSROOT}/lib" -# -j 1 to lock down "which crate fails", because cargo tree -i doesn't work for gaol -cargo build --target ${TARGET} --release +#TODO: mozjs-sys/build.rs fork links to hardcoded /home/andrzej/.redoxer instead of prefix toolchain, plus wrongly added -nostdinc/-nostdinc++, here's the workaround +PREFIX_INCLUDE=$(realpath "$COOKBOOK_ROOT/../prefix/$TARGET/sysroot/x86_64-unknown-redox/include") +export CLANGFLAGS="-I $PREFIX_INCLUDE -I $PREFIX_INCLUDE/c++/13.2.0 -I $PREFIX_INCLUDE/c++/13.2.0/$TARGET -I $PREFIX_INCLUDE/c++/13.2.0/backward" -mkdir -pv "${COOKBOOK_STAGE}/usr/servo" -cp -r -v "target/${TARGET}/release/servo" "${COOKBOOK_STAGE}/usr/servo" +PACKAGE_PATH="ports/servoshell" cookbook_cargo """ + +# [package] +# dependencies = [ +# "libxcursor", +# "libxkbcommon-x11", +# ] \ No newline at end of file diff --git a/recipes/wip/x11/libxkbcommon-x11/recipe.toml b/recipes/wip/x11/libxkbcommon-x11/recipe.toml new file mode 100644 index 000000000..4e33e5d2c --- /dev/null +++ b/recipes/wip/x11/libxkbcommon-x11/recipe.toml @@ -0,0 +1,24 @@ +# TODO: Conflict with libxkbcommon-x11 +[source] +tar = "https://xkbcommon.org/download/libxkbcommon-1.7.0.tar.xz" +b3sum = "5001ca0b8562feeef2010bf16c05657e3875fda3ed5fdedbf48b9135e5cdfcbc" +patches = [ "redox.patch" ] + +[build] +template = "custom" +dependencies = [ + "libxml2", + "xz", + "zlib", + "libpthread-stubs", + "libxau", + "x11proto", + "xcb-proto", + "libxcb", +] +script = """ +DYNAMIC_INIT +cookbook_meson \ + -Denable-wayland=false \ + -Denable-x11=true +""" diff --git a/recipes/wip/x11/libxkbcommon-x11/redox.patch b/recipes/wip/x11/libxkbcommon-x11/redox.patch new file mode 100644 index 000000000..f942f22f6 --- /dev/null +++ b/recipes/wip/x11/libxkbcommon-x11/redox.patch @@ -0,0 +1,33 @@ +diff -ruwN source/meson.build source-new/meson.build +--- source/meson.build 2024-03-24 04:23:43.000000000 +0700 ++++ source-new/meson.build 2025-09-30 17:40:34.433925985 +0700 +@@ -637,8 +637,6 @@ + libxkbcommon_x11_test_internal = static_library( + 'xkbcommon-x11-internal', + libxkbcommon_x11_sources, +- 'test/xvfb-wrapper.c', +- 'test/xvfb-wrapper.h', + include_directories: include_directories('src', 'include'), + link_with: libxkbcommon_test_internal, + dependencies: [ +@@ -768,20 +766,6 @@ + dependencies: test_dep), + env: test_env, + ) +-if get_option('enable-x11') +- test( +- 'x11', +- executable('test-x11', 'test/x11.c', dependencies: x11_test_dep), +- env: test_env, +- is_parallel : false, +- ) +- test( +- 'x11comp', +- executable('test-x11comp', 'test/x11comp.c', dependencies: x11_test_dep), +- env: test_env, +- is_parallel : false, +- ) +-endif + if get_option('enable-xkbregistry') + test( + 'registry', From f1f179564104769f080349d2876b43da650de43c Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 1 Oct 2025 06:01:08 +0700 Subject: [PATCH 099/182] Use patches for servo --- recipes/wip/web/servo/recipe.toml | 14 +- recipes/wip/web/servo/redox.patch | 2692 +++++++++++++++++++++++++++++ 2 files changed, 2703 insertions(+), 3 deletions(-) create mode 100644 recipes/wip/web/servo/redox.patch diff --git a/recipes/wip/web/servo/recipe.toml b/recipes/wip/web/servo/recipe.toml index 30dd921c9..34b72b85d 100644 --- a/recipes/wip/web/servo/recipe.toml +++ b/recipes/wip/web/servo/recipe.toml @@ -1,6 +1,9 @@ [source] git = "https://gitlab.redox-os.org/njskalski/servo.git" -branch = "redox_mods" +rev = "25fea1e086c46d611cf87db439430994e4f56cd5" +patches = [ + "redox.patch" +] script = """ cp ../.servobuild ./ """ @@ -9,11 +12,13 @@ cp ../.servobuild ./ template = "custom" dependencies = [ "freetype2", + "expat", "gettext", "glib", "gstreamer", "harfbuzz", "libffi", + "libpng", "libiconv", "libx11", "libxcursor", @@ -47,9 +52,12 @@ rsync -a -v ${COOKBOOK_SYSROOT}/usr/share/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib export RUSTFLAGS="$RUSTFLAGS -L native=${COOKBOOK_SYSROOT}/lib" -#TODO: mozjs-sys/build.rs fork links to hardcoded /home/andrzej/.redoxer instead of prefix toolchain, plus wrongly added -nostdinc/-nostdinc++, here's the workaround +#TODO: mozjs-sys and mozangle uses clang, it won't know our prefix C libraries, so here's the workaround PREFIX_INCLUDE=$(realpath "$COOKBOOK_ROOT/../prefix/$TARGET/sysroot/x86_64-unknown-redox/include") -export CLANGFLAGS="-I $PREFIX_INCLUDE -I $PREFIX_INCLUDE/c++/13.2.0 -I $PREFIX_INCLUDE/c++/13.2.0/$TARGET -I $PREFIX_INCLUDE/c++/13.2.0/backward" +export CLANGFLAGS="-I $PREFIX_INCLUDE/c++/13.2.0 -I $PREFIX_INCLUDE/c++/13.2.0/$TARGET -I $PREFIX_INCLUDE/c++/13.2.0/backward -I $PREFIX_INCLUDE" + +#Mozjs specifics +export CARGO_MAKEFLAGS="-j $COOKBOOK_MAKE_JOBS" PACKAGE_PATH="ports/servoshell" cookbook_cargo """ diff --git a/recipes/wip/web/servo/redox.patch b/recipes/wip/web/servo/redox.patch new file mode 100644 index 000000000..d7ad78145 --- /dev/null +++ b/recipes/wip/web/servo/redox.patch @@ -0,0 +1,2692 @@ +diff --git a/Cargo.lock b/Cargo.lock +index f2081c3fd34..bb300865c60 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -18,96 +18,6 @@ version = "0.1.10" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" + +-[[package]] +-name = "accesskit" +-version = "0.19.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e25ae84c0260bdf5df07796d7cc4882460de26a2b406ec0e6c42461a723b271b" +- +-[[package]] +-name = "accesskit_atspi_common" +-version = "0.12.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "29bd41de2e54451a8ca0dd95ebf45b54d349d29ebceb7f20be264eee14e3d477" +-dependencies = [ +- "accesskit", +- "accesskit_consumer", +- "atspi-common", +- "serde", +- "thiserror 1.0.69", +- "zvariant", +-] +- +-[[package]] +-name = "accesskit_consumer" +-version = "0.28.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8bfae7c152994a31dc7d99b8eeac7784a919f71d1b306f4b83217e110fd3824c" +-dependencies = [ +- "accesskit", +- "hashbrown", +-] +- +-[[package]] +-name = "accesskit_macos" +-version = "0.20.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "692dd318ff8a7a0ffda67271c4bd10cf32249656f4e49390db0b26ca92b095f2" +-dependencies = [ +- "accesskit", +- "accesskit_consumer", +- "hashbrown", +- "objc2 0.5.2", +- "objc2-app-kit 0.2.2", +- "objc2-foundation 0.2.2", +-] +- +-[[package]] +-name = "accesskit_unix" +-version = "0.15.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c5f7474c36606d0fe4f438291d667bae7042ea2760f506650ad2366926358fc8" +-dependencies = [ +- "accesskit", +- "accesskit_atspi_common", +- "async-channel", +- "async-executor", +- "async-task", +- "atspi", +- "futures-lite", +- "futures-util", +- "serde", +- "zbus", +-] +- +-[[package]] +-name = "accesskit_windows" +-version = "0.27.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70a042b62c9c05bf7b616f015515c17d2813f3ba89978d6f4fc369735d60700a" +-dependencies = [ +- "accesskit", +- "accesskit_consumer", +- "hashbrown", +- "static_assertions", +- "windows 0.61.3", +- "windows-core 0.61.2", +-] +- +-[[package]] +-name = "accesskit_winit" +-version = "0.27.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5c1f0d3d13113d8857542a4f8d1a1c24d1dc1527b77aee8426127f4901588708" +-dependencies = [ +- "accesskit", +- "accesskit_macos", +- "accesskit_unix", +- "accesskit_windows", +- "raw-window-handle", +- "winit", +-] +- + [[package]] + name = "accountable-refcell" + version = "0.2.2" +@@ -183,7 +93,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" + dependencies = [ + "cfg-if", +- "getrandom 0.3.3", + "once_cell", + "version_check", + "zerocopy", +@@ -418,30 +327,6 @@ dependencies = [ + "libloading", + ] + +-[[package]] +-name = "async-broadcast" +-version = "0.7.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" +-dependencies = [ +- "event-listener", +- "event-listener-strategy", +- "futures-core", +- "pin-project-lite", +-] +- +-[[package]] +-name = "async-channel" +-version = "2.5.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" +-dependencies = [ +- "concurrent-queue", +- "event-listener-strategy", +- "futures-core", +- "pin-project-lite", +-] +- + [[package]] + name = "async-compression" + version = "0.4.27" +@@ -456,68 +341,6 @@ dependencies = [ + "tokio", + ] + +-[[package]] +-name = "async-executor" +-version = "1.13.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" +-dependencies = [ +- "async-task", +- "concurrent-queue", +- "fastrand", +- "futures-lite", +- "pin-project-lite", +- "slab", +-] +- +-[[package]] +-name = "async-io" +-version = "2.4.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" +-dependencies = [ +- "async-lock", +- "cfg-if", +- "concurrent-queue", +- "futures-io", +- "futures-lite", +- "parking", +- "polling", +- "rustix 1.0.8", +- "slab", +- "tracing", +- "windows-sys 0.59.0", +-] +- +-[[package]] +-name = "async-lock" +-version = "3.4.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" +-dependencies = [ +- "event-listener", +- "event-listener-strategy", +- "pin-project-lite", +-] +- +-[[package]] +-name = "async-process" +-version = "2.4.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "65daa13722ad51e6ab1a1b9c01299142bc75135b337923cfa10e79bbbd669f00" +-dependencies = [ +- "async-channel", +- "async-io", +- "async-lock", +- "async-signal", +- "async-task", +- "blocking", +- "cfg-if", +- "event-listener", +- "futures-lite", +- "rustix 1.0.8", +-] +- + [[package]] + name = "async-recursion" + version = "1.1.1" +@@ -529,41 +352,6 @@ dependencies = [ + "syn", + ] + +-[[package]] +-name = "async-signal" +-version = "0.2.11" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d7605a4e50d4b06df3898d5a70bf5fde51ed9059b0434b73105193bc27acce0d" +-dependencies = [ +- "async-io", +- "async-lock", +- "atomic-waker", +- "cfg-if", +- "futures-core", +- "futures-io", +- "rustix 1.0.8", +- "signal-hook-registry", +- "slab", +- "windows-sys 0.59.0", +-] +- +-[[package]] +-name = "async-task" +-version = "4.7.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" +- +-[[package]] +-name = "async-trait" +-version = "0.1.89" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +-dependencies = [ +- "proc-macro2", +- "quote", +- "syn", +-] +- + [[package]] + name = "async-tungstenite" + version = "0.29.1" +@@ -596,56 +384,6 @@ version = "0.1.13" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c" + +-[[package]] +-name = "atspi" +-version = "0.25.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c83247582e7508838caf5f316c00791eee0e15c0bf743e6880585b867e16815c" +-dependencies = [ +- "atspi-common", +- "atspi-connection", +- "atspi-proxies", +-] +- +-[[package]] +-name = "atspi-common" +-version = "0.9.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "33dfc05e7cdf90988a197803bf24f5788f94f7c94a69efa95683e8ffe76cfdfb" +-dependencies = [ +- "enumflags2", +- "serde", +- "static_assertions", +- "zbus", +- "zbus-lockstep", +- "zbus-lockstep-macros", +- "zbus_names", +- "zvariant", +-] +- +-[[package]] +-name = "atspi-connection" +-version = "0.9.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4193d51303d8332304056ae0004714256b46b6635a5c556109b319c0d3784938" +-dependencies = [ +- "atspi-common", +- "atspi-proxies", +- "futures-lite", +- "zbus", +-] +- +-[[package]] +-name = "atspi-proxies" +-version = "0.9.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d2eebcb9e7e76f26d0bcfd6f0295e1cd1e6f33bedbc5698a971db8dc43d7751c" +-dependencies = [ +- "atspi-common", +- "serde", +- "zbus", +-] +- + [[package]] + name = "autocfg" + version = "1.5.0" +@@ -655,8 +393,7 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + [[package]] + name = "aws-lc-rs" + version = "1.13.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5c953fe1ba023e6b7730c0d4b031d06f267f23a46167dcbd40316644b10a17ba" ++source = "git+https://gitlab.redox-os.org/njskalski/aws-lc-rs.git?branch=redox_mods#0fa71de67b9b0e1574ff754ce05fa6b93934fc09" + dependencies = [ + "aws-lc-sys", + "zeroize", +@@ -665,10 +402,9 @@ dependencies = [ + [[package]] + name = "aws-lc-sys" + version = "0.30.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dbfd150b5dbdb988bcc8fb1fe787eb6b7ee6180ca24da683b61ea5405f3d43ff" ++source = "git+https://gitlab.redox-os.org/njskalski/aws-lc-rs.git?branch=redox_mods#0fa71de67b9b0e1574ff754ce05fa6b93934fc09" + dependencies = [ +- "bindgen 0.69.5", ++ "bindgen 0.72.0", + "cc", + "cmake", + "dunce", +@@ -756,37 +492,34 @@ dependencies = [ + + [[package]] + name = "bindgen" +-version = "0.69.5" ++version = "0.71.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" ++checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" + dependencies = [ + "bitflags 2.9.1", + "cexpr", + "clang-sys", + "itertools 0.10.5", +- "lazy_static", +- "lazycell", +- "log", +- "prettyplease", + "proc-macro2", + "quote", + "regex", +- "rustc-hash 1.1.0", ++ "rustc-hash 2.1.1", + "shlex", + "syn", +- "which", + ] + + [[package]] + name = "bindgen" +-version = "0.71.1" ++version = "0.72.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" ++checksum = "4f72209734318d0b619a5e0f5129918b848c416e122a3c4ce054e03cb87b726f" + dependencies = [ + "bitflags 2.9.1", + "cexpr", + "clang-sys", + "itertools 0.10.5", ++ "log", ++ "prettyplease", + "proc-macro2", + "quote", + "regex", +@@ -864,19 +597,6 @@ dependencies = [ + "objc2 0.5.2", + ] + +-[[package]] +-name = "blocking" +-version = "1.6.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" +-dependencies = [ +- "async-channel", +- "async-task", +- "futures-io", +- "futures-lite", +- "piper", +-] +- + [[package]] + name = "bluetooth" + version = "0.0.1" +@@ -927,7 +647,7 @@ version = "0.1.3" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "9c150fd617830fd121919bbd500a784507e8af1bae744efcf587591c65c375d4" + dependencies = [ +- "hex 0.3.2", ++ "hex", + ] + + [[package]] +@@ -937,7 +657,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "f6dae8337ff67fe8ead29a28a0115605753e6a5205d4b6017e9f42f198c3c50a" + dependencies = [ + "dbus", +- "hex 0.3.2", ++ "hex", + ] + + [[package]] +@@ -1291,36 +1011,6 @@ dependencies = [ + "cc", + ] + +-[[package]] +-name = "cocoa" +-version = "0.25.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" +-dependencies = [ +- "bitflags 1.3.2", +- "block", +- "cocoa-foundation", +- "core-foundation 0.9.4", +- "core-graphics", +- "foreign-types 0.5.0", +- "libc", +- "objc", +-] +- +-[[package]] +-name = "cocoa-foundation" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +-dependencies = [ +- "bitflags 1.3.2", +- "block", +- "core-foundation 0.9.4", +- "core-graphics-types", +- "libc", +- "objc", +-] +- + [[package]] + name = "codespan-reporting" + version = "0.12.0" +@@ -1588,7 +1278,7 @@ dependencies = [ + "bitflags 1.3.2", + "core-foundation 0.9.4", + "core-graphics-types", +- "foreign-types 0.5.0", ++ "foreign-types", + "libc", + ] + +@@ -1611,7 +1301,7 @@ checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5" + dependencies = [ + "core-foundation 0.9.4", + "core-graphics", +- "foreign-types 0.5.0", ++ "foreign-types", + "libc", + ] + +@@ -2081,9 +1771,8 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" + + [[package]] + name = "dpi" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" ++version = "0.1.1" ++source = "git+https://gitlab.redox-os.org/njskalski/winit.git?branch=redox_mods2#9e2e0273792b9c1feaf4492b1ab43f8ed2715ad6" + + [[package]] + name = "dtoa" +@@ -2137,9 +1826,9 @@ dependencies = [ + + [[package]] + name = "ecolor" +-version = "0.32.1" ++version = "0.32.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b6a7fc3172c2ef56966b2ce4f84177e159804c40b9a84de8861558ce4a59f422" ++checksum = "ebb57dec02e4cca6d70d02e29865f7e52dbd471383f4c3444dda7ee78d467360" + dependencies = [ + "bytemuck", + "emath", +@@ -2147,11 +1836,10 @@ dependencies = [ + + [[package]] + name = "egui" +-version = "0.32.1" ++version = "0.32.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "49e2be082f77715496b4a39fdc6f5dc7491fefe2833111781b8697ea6ee919a7" ++checksum = "40df1115b8b0f3d4f1f9134a26287fd3d0e067fc18f879b8c9641aedf3eecef7" + dependencies = [ +- "accesskit", + "ahash", + "bitflags 2.9.1", + "emath", +@@ -2178,11 +1866,10 @@ dependencies = [ + + [[package]] + name = "egui-winit" +-version = "0.32.1" ++version = "0.32.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fe6d8b0f8d6de4d43e794e343f03bacc3908aada931f0ed6fd7041871388a590" ++checksum = "1abd8326d2be6d0e945dcfe8acd2c07d64be4c977c5e1115f902dc9cd3ff7bf5" + dependencies = [ +- "accesskit_winit", + "ahash", + "arboard", + "bytemuck", +@@ -2197,21 +1884,19 @@ dependencies = [ + + [[package]] + name = "egui_glow" +-version = "0.32.1" ++version = "0.32.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0ab645760288e42eab70283a5cccf44509a6f43b554351855d3c73594bfe3c23" ++checksum = "7baca67871a8b808e2eb0849282f56149673b6842702306860916bf2dd83fca1" + dependencies = [ + "ahash", + "bytemuck", + "egui", +- "egui-winit", + "glow", + "log", + "memoffset", + "profiling", + "wasm-bindgen", + "web-sys", +- "winit", + ] + + [[package]] +@@ -2222,9 +1907,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + + [[package]] + name = "emath" +-version = "0.32.1" ++version = "0.32.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "935df67dc48fdeef132f2f7ada156ddc79e021344dd42c17f066b956bb88dde3" ++checksum = "b5c95b6d5571099bfa0ae9f4fdaef2c239bccb01d55339a082070259dc6f3b05" + dependencies = [ + "bytemuck", + ] +@@ -2285,33 +1970,6 @@ dependencies = [ + "cfg-if", + ] + +-[[package]] +-name = "endi" +-version = "1.1.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" +- +-[[package]] +-name = "enumflags2" +-version = "0.7.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" +-dependencies = [ +- "enumflags2_derive", +- "serde", +-] +- +-[[package]] +-name = "enumflags2_derive" +-version = "0.7.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" +-dependencies = [ +- "proc-macro2", +- "quote", +- "syn", +-] +- + [[package]] + name = "env_filter" + version = "0.1.3" +@@ -2347,9 +2005,9 @@ dependencies = [ + + [[package]] + name = "epaint" +-version = "0.32.1" ++version = "0.32.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b66fc0a5a9d322917de9bd3ac7d426ca8aa3127fbf1e76fae5b6b25e051e06a3" ++checksum = "695fd7b458f31fe515d6a308f46b2936cae9316dc40c960a7ee31ce3a97866b9" + dependencies = [ + "ab_glyph", + "ahash", +@@ -2365,9 +2023,9 @@ dependencies = [ + + [[package]] + name = "epaint_default_fonts" +-version = "0.32.1" ++version = "0.32.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4f6cf8ce0fb817000aa24f5e630bda904a353536bd430b83ebc1dceee95b4a3a" ++checksum = "bbc9f86ce3eaf9b7fc7179a578af21a6a5cd2d4fd21965564e82a2d009a7dab0" + + [[package]] + name = "equivalent" +@@ -2382,7 +2040,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" + dependencies = [ + "libc", +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -2412,27 +2070,6 @@ dependencies = [ + "serde", + ] + +-[[package]] +-name = "event-listener" +-version = "5.4.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +-dependencies = [ +- "concurrent-queue", +- "parking", +- "pin-project-lite", +-] +- +-[[package]] +-name = "event-listener-strategy" +-version = "0.5.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +-dependencies = [ +- "event-listener", +- "pin-project-lite", +-] +- + [[package]] + name = "exr" + version = "1.73.0" +@@ -2687,15 +2324,6 @@ dependencies = [ + "cc", + ] + +-[[package]] +-name = "foreign-types" +-version = "0.3.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +-dependencies = [ +- "foreign-types-shared 0.1.1", +-] +- + [[package]] + name = "foreign-types" + version = "0.5.0" +@@ -2703,7 +2331,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" + dependencies = [ + "foreign-types-macros", +- "foreign-types-shared 0.3.1", ++ "foreign-types-shared", + ] + + [[package]] +@@ -2717,12 +2345,6 @@ dependencies = [ + "syn", + ] + +-[[package]] +-name = "foreign-types-shared" +-version = "0.1.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" +- + [[package]] + name = "foreign-types-shared" + version = "0.3.1" +@@ -2846,19 +2468,6 @@ version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +-[[package]] +-name = "futures-lite" +-version = "2.6.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" +-dependencies = [ +- "fastrand", +- "futures-core", +- "futures-io", +- "parking", +- "pin-project-lite", +-] +- + [[package]] + name = "futures-macro" + version = "0.3.31" +@@ -2932,12 +2541,12 @@ dependencies = [ + + [[package]] + name = "gethostname" +-version = "0.4.3" ++version = "1.0.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" ++checksum = "fc257fdb4038301ce4b9cd1b3b51704509692bb3ff716a410cbd07925d9dae55" + dependencies = [ +- "libc", +- "windows-targets 0.48.5", ++ "rustix 1.0.8", ++ "windows-targets 0.52.6", + ] + + [[package]] +@@ -3042,7 +2651,7 @@ dependencies = [ + "gobject-sys", + "libc", + "system-deps", +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -3127,15 +2736,6 @@ dependencies = [ + "web-sys", + ] + +-[[package]] +-name = "glslopt" +-version = "0.1.11" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "913662ae8335df058d56e00f11340b20fa82e03e0276587797ef325ab01e50d4" +-dependencies = [ +- "cc", +-] +- + [[package]] + name = "glutin_wgl_sys" + version = "0.6.1" +@@ -3590,7 +3190,7 @@ dependencies = [ + "cc", + "core-graphics", + "core-text", +- "foreign-types 0.5.0", ++ "foreign-types", + "freetype-sys", + "pkg-config", + "winapi", +@@ -3687,12 +3287,6 @@ version = "0.3.2" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" + +-[[package]] +-name = "hex" +-version = "0.4.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +- + [[package]] + name = "hexf-parse" + version = "0.2.1" +@@ -3735,15 +3329,6 @@ version = "0.1.6" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "164f0e3568306af8b47c191406743476d9383e49d717960288cdb3469f9b7f54" + +-[[package]] +-name = "home" +-version = "0.5.11" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +-dependencies = [ +- "windows-sys 0.59.0", +-] +- + [[package]] + name = "html5ever" + version = "0.35.0" +@@ -4486,18 +4071,6 @@ dependencies = [ + "mach2", + ] + +-[[package]] +-name = "io-surface" +-version = "0.15.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "861c6093cbc05599e66436aedf380bb0a23cec2180738393d3a340b80dd135ef" +-dependencies = [ +- "cgl", +- "core-foundation 0.9.4", +- "leaky-cow", +- "libc", +-] +- + [[package]] + name = "io-uring" + version = "0.7.9" +@@ -4512,8 +4085,7 @@ dependencies = [ + [[package]] + name = "ipc-channel" + version = "0.20.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1700f6b8b9f00cdd675f32fbb3a5be882213140dfe045805273221ca266c43f8" ++source = "git+https://gitlab.redox-os.org/njskalski/ipc-channel.git?branch=redox_mods#bfcd8a88eb56706dbc61c24a53aa5b30640b3f95" + dependencies = [ + "bincode", + "crossbeam-channel", +@@ -4524,7 +4096,7 @@ dependencies = [ + "serde", + "tempfile", + "uuid", +- "windows 0.58.0", ++ "windows 0.61.3", + ] + + [[package]] +@@ -4535,7 +4107,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" + dependencies = [ + "hermit-abi", + "libc", +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -4790,27 +4362,6 @@ version = "1.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +-[[package]] +-name = "lazycell" +-version = "1.3.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" +- +-[[package]] +-name = "leak" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bd100e01f1154f2908dfa7d02219aeab25d0b9c7fa955164192e3245255a0c73" +- +-[[package]] +-name = "leaky-cow" +-version = "0.1.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "40a8225d44241fd324a8af2806ba635fc7c8a7e9a7de4d5cf3ef54e71f5926fc" +-dependencies = [ +- "leak", +-] +- + [[package]] + name = "lebe" + version = "0.5.2" +@@ -5130,20 +4681,6 @@ dependencies = [ + "autocfg", + ] + +-[[package]] +-name = "metal" +-version = "0.24.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" +-dependencies = [ +- "bitflags 1.3.2", +- "block", +- "core-graphics-types", +- "foreign-types 0.3.2", +- "log", +- "objc", +-] +- + [[package]] + name = "metal" + version = "0.31.0" +@@ -5153,7 +4690,7 @@ dependencies = [ + "bitflags 2.9.1", + "block", + "core-graphics-types", +- "foreign-types 0.5.0", ++ "foreign-types", + "log", + "objc", + "paste", +@@ -5220,8 +4757,7 @@ dependencies = [ + [[package]] + name = "mozangle" + version = "0.5.3" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0ab823731ea6297e7280dade983df955d1a8209d2deb44f505932b8873168992" ++source = "git+https://gitlab.redox-os.org/njskalski/mozangle.git?branch=redox_mods#fc58d9c521c3b9ed72ea56908daae91b119db1ad" + dependencies = [ + "bindgen 0.71.1", + "cc", +@@ -5233,7 +4769,7 @@ dependencies = [ + [[package]] + name = "mozjs" + version = "0.14.1" +-source = "git+https://github.com/servo/mozjs#e0a4ee47e686f581faefb201a6fd73bd4dcd67f0" ++source = "git+https://gitlab.redox-os.org/njskalski/mozjs.git?rev=b9c2983764fb0f8f35210d3e1da9526a9980ce78#b9c2983764fb0f8f35210d3e1da9526a9980ce78" + dependencies = [ + "bindgen 0.71.1", + "cc", +@@ -5245,8 +4781,8 @@ dependencies = [ + + [[package]] + name = "mozjs_sys" +-version = "0.137.0-2" +-source = "git+https://github.com/servo/mozjs#e0a4ee47e686f581faefb201a6fd73bd4dcd67f0" ++version = "0.137.0-3" ++source = "git+https://gitlab.redox-os.org/njskalski/mozjs.git?rev=b9c2983764fb0f8f35210d3e1da9526a9980ce78#b9c2983764fb0f8f35210d3e1da9526a9980ce78" + dependencies = [ + "bindgen 0.71.1", + "cc", +@@ -5519,7 +5055,6 @@ dependencies = [ + "cfg-if", + "cfg_aliases", + "libc", +- "memoffset", + ] + + [[package]] +@@ -5672,7 +5207,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" + dependencies = [ + "malloc_buf", +- "objc_exception", + ] + + [[package]] +@@ -5724,7 +5258,7 @@ dependencies = [ + "objc2-core-data", + "objc2-core-image", + "objc2-foundation 0.2.2", +- "objc2-quartz-core", ++ "objc2-quartz-core 0.2.2", + ] + + [[package]] +@@ -5735,7 +5269,9 @@ checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc" + dependencies = [ + "bitflags 2.9.1", + "objc2 0.6.1", ++ "objc2-core-foundation", + "objc2-foundation 0.3.1", ++ "objc2-quartz-core 0.3.1", + ] + + [[package]] +@@ -5785,6 +5321,16 @@ dependencies = [ + "objc2 0.6.1", + ] + ++[[package]] ++name = "objc2-core-graphics" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "989c6c68c13021b5c2d6b71456ebb0f9dc78d752e86a98da7c716f4f9470f5a4" ++dependencies = [ ++ "bitflags 2.9.1", ++ "objc2-core-foundation", ++] ++ + [[package]] + name = "objc2-core-image" + version = "0.2.2" +@@ -5794,7 +5340,7 @@ dependencies = [ + "block2", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +- "objc2-metal", ++ "objc2-metal 0.2.2", + ] + + [[package]] +@@ -5809,6 +5355,17 @@ dependencies = [ + "objc2-foundation 0.2.2", + ] + ++[[package]] ++name = "objc2-core-video" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1989c3e76c7e978cab0ba9e6f4961cd00ed14ca21121444cc26877403bfb6303" ++dependencies = [ ++ "bitflags 2.9.1", ++ "objc2-core-foundation", ++ "objc2-core-graphics", ++] ++ + [[package]] + name = "objc2-encode" + version = "4.1.0" +@@ -5849,6 +5406,18 @@ dependencies = [ + "objc2-core-foundation", + ] + ++[[package]] ++name = "objc2-io-surface" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7282e9ac92529fa3457ce90ebb15f4ecbc383e8338060960760fa2cf75420c3c" ++dependencies = [ ++ "bitflags 2.9.1", ++ "libc", ++ "objc2 0.6.1", ++ "objc2-core-foundation", ++] ++ + [[package]] + name = "objc2-link-presentation" + version = "0.2.2" +@@ -5873,6 +5442,17 @@ dependencies = [ + "objc2-foundation 0.2.2", + ] + ++[[package]] ++name = "objc2-metal" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7f246c183239540aab1782457b35ab2040d4259175bd1d0c58e46ada7b47a874" ++dependencies = [ ++ "bitflags 2.9.1", ++ "objc2 0.6.1", ++ "objc2-foundation 0.3.1", ++] ++ + [[package]] + name = "objc2-quartz-core" + version = "0.2.2" +@@ -5883,7 +5463,19 @@ dependencies = [ + "block2", + "objc2 0.5.2", + "objc2-foundation 0.2.2", +- "objc2-metal", ++ "objc2-metal 0.2.2", ++] ++ ++[[package]] ++name = "objc2-quartz-core" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "90ffb6a0cd5f182dc964334388560b12a57f7b74b3e2dec5e2722aa2dfb2ccd5" ++dependencies = [ ++ "bitflags 2.9.1", ++ "objc2 0.6.1", ++ "objc2-core-foundation", ++ "objc2-foundation 0.3.1", + ] + + [[package]] +@@ -5911,7 +5503,7 @@ dependencies = [ + "objc2-core-location", + "objc2-foundation 0.2.2", + "objc2-link-presentation", +- "objc2-quartz-core", ++ "objc2-quartz-core 0.2.2", + "objc2-symbols", + "objc2-uniform-type-identifiers", + "objc2-user-notifications", +@@ -5941,15 +5533,6 @@ dependencies = [ + "objc2-foundation 0.2.2", + ] + +-[[package]] +-name = "objc_exception" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +-dependencies = [ +- "cc", +-] +- + [[package]] + name = "objc_id" + version = "0.1.1" +@@ -6107,15 +5690,6 @@ dependencies = [ + "paste", + ] + +-[[package]] +-name = "orbclient" +-version = "0.3.48" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43" +-dependencies = [ +- "libredox", +-] +- + [[package]] + name = "ordered-float" + version = "4.6.0" +@@ -6125,16 +5699,6 @@ dependencies = [ + "num-traits", + ] + +-[[package]] +-name = "ordered-stream" +-version = "0.2.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +-dependencies = [ +- "futures-core", +- "pin-project-lite", +-] +- + [[package]] + name = "ordermap" + version = "0.3.5" +@@ -6156,12 +5720,6 @@ dependencies = [ + "ttf-parser", + ] + +-[[package]] +-name = "parking" +-version = "2.2.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" +- + [[package]] + name = "parking_lot" + version = "0.12.4" +@@ -6213,7 +5771,7 @@ dependencies = [ + [[package]] + name = "peek-poke" + version = "0.3.0" +-source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" ++source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" + dependencies = [ + "euclid", + "peek-poke-derive", +@@ -6222,7 +5780,7 @@ dependencies = [ + [[package]] + name = "peek-poke-derive" + version = "0.3.0" +-source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" ++source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" + dependencies = [ + "proc-macro2", + "quote", +@@ -6348,17 +5906,6 @@ version = "0.1.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +-[[package]] +-name = "piper" +-version = "0.2.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" +-dependencies = [ +- "atomic-waker", +- "fastrand", +- "futures-io", +-] +- + [[package]] + name = "pixels" + version = "0.0.1" +@@ -6626,16 +6173,6 @@ version = "2.0.1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +-[[package]] +-name = "quick-xml" +-version = "0.36.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" +-dependencies = [ +- "memchr", +- "serde", +-] +- + [[package]] + name = "quick-xml" + version = "0.37.5" +@@ -7004,7 +6541,7 @@ dependencies = [ + "errno", + "libc", + "linux-raw-sys 0.4.15", +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -7017,7 +6554,7 @@ dependencies = [ + "errno", + "libc", + "linux-raw-sys 0.9.4", +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -7314,19 +6851,6 @@ dependencies = [ + "webxr-api", + ] + +-[[package]] +-name = "sctk-adwaita" +-version = "0.10.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" +-dependencies = [ +- "ab_glyph", +- "log", +- "memmap2", +- "smithay-client-toolkit", +- "tiny-skia", +-] +- + [[package]] + name = "sea-query" + version = "0.32.7" +@@ -7418,17 +6942,6 @@ dependencies = [ + "serde", + ] + +-[[package]] +-name = "serde_repr" +-version = "0.1.20" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +-dependencies = [ +- "proc-macro2", +- "quote", +- "syn", +-] +- + [[package]] + name = "serde_spanned" + version = "0.6.9" +@@ -7459,19 +6972,6 @@ dependencies = [ + "serde", + ] + +-[[package]] +-name = "servo-display-link" +-version = "0.2.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d1060be2a0bbc35e712ec35ae98119b8def1071a5f2edbe392fd4c899bc2a5f4" +-dependencies = [ +- "foreign-types 0.3.2", +- "objc", +- "objc-foundation", +- "thiserror 1.0.69", +- "time-point", +-] +- + [[package]] + name = "servo-media" + version = "0.1.0" +@@ -7766,7 +7266,6 @@ dependencies = [ + name = "servoshell" + version = "0.0.1" + dependencies = [ +- "accesskit_winit", + "android_logger", + "backtrace", + "cc", +@@ -7873,15 +7372,6 @@ dependencies = [ + "libc", + ] + +-[[package]] +-name = "signal-hook-registry" +-version = "1.4.6" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" +-dependencies = [ +- "libc", +-] +- + [[package]] + name = "signpost" + version = "0.1.0" +@@ -8263,31 +7753,32 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + + [[package]] + name = "surfman" +-version = "0.9.8" +-source = "git+https://github.com/servo/surfman?rev=f7688b4585f9e0b5d4bf8ee8e4a91e82349610b1#f7688b4585f9e0b5d4bf8ee8e4a91e82349610b1" ++version = "0.10.0" ++source = "git+https://gitlab.redox-os.org/njskalski/surfman.git?branch=redox_mods#4236949c96b4453adbe36a21a316449e413a6a21" + dependencies = [ + "bitflags 2.9.1", + "cfg_aliases", + "cgl", +- "cocoa", +- "core-foundation 0.9.4", +- "core-graphics", + "euclid", + "fnv", + "gl_generator", + "glow", +- "io-surface", + "libc", + "log", + "mach2", +- "metal 0.24.0", +- "objc", ++ "objc2 0.6.1", ++ "objc2-app-kit 0.3.1", ++ "objc2-core-foundation", ++ "objc2-core-video", ++ "objc2-foundation 0.3.1", ++ "objc2-io-surface", ++ "objc2-metal 0.3.1", ++ "objc2-quartz-core 0.3.1", + "raw-window-handle", +- "servo-display-link", +- "wayland-sys 0.30.1", ++ "wayland-sys", + "winapi", + "wio", +- "x11", ++ "x11-dl", + ] + + [[package]] +@@ -8411,7 +7902,7 @@ dependencies = [ + "getrandom 0.3.3", + "once_cell", + "rustix 1.0.8", +- "windows-sys 0.52.0", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -8514,8 +8005,7 @@ dependencies = [ + [[package]] + name = "tikv-jemalloc-sys" + version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" ++source = "git+https://gitlab.redox-os.org/njskalski/jemallocator.git?branch=redox_mods#8728022a37329295f6754323579765ccd7c73c4d" + dependencies = [ + "cc", + "libc", +@@ -8524,8 +8014,7 @@ dependencies = [ + [[package]] + name = "tikv-jemallocator" + version = "0.6.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865" ++source = "git+https://gitlab.redox-os.org/njskalski/jemallocator.git?branch=redox_mods#8728022a37329295f6754323579765ccd7c73c4d" + dependencies = [ + "libc", + "tikv-jemalloc-sys", +@@ -8564,12 +8053,6 @@ dependencies = [ + "time-core", + ] + +-[[package]] +-name = "time-point" +-version = "0.1.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "06535c958d6abe68dc4b4ef9e6845f758fc42fe463d0093d0aca40254f03fb14" +- + [[package]] + name = "timers" + version = "0.0.1" +@@ -8928,17 +8411,6 @@ version = "1.18.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" + +-[[package]] +-name = "uds_windows" +-version = "1.1.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +-dependencies = [ +- "memoffset", +- "tempfile", +- "winapi", +-] +- + [[package]] + name = "uluru" + version = "3.1.0" +@@ -9396,7 +8868,7 @@ dependencies = [ + "rustix 1.0.8", + "scoped-tls", + "smallvec", +- "wayland-sys 0.31.7", ++ "wayland-sys", + ] + + [[package]] +@@ -9445,19 +8917,6 @@ dependencies = [ + "wayland-scanner", + ] + +-[[package]] +-name = "wayland-protocols-plasma" +-version = "0.3.9" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" +-dependencies = [ +- "bitflags 2.9.1", +- "wayland-backend", +- "wayland-client", +- "wayland-protocols", +- "wayland-scanner", +-] +- + [[package]] + name = "wayland-protocols-wlr" + version = "0.3.9" +@@ -9478,22 +8937,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3" + dependencies = [ + "proc-macro2", +- "quick-xml 0.37.5", ++ "quick-xml", + "quote", + ] + +-[[package]] +-name = "wayland-sys" +-version = "0.30.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" +-dependencies = [ +- "dlib", +- "lazy_static", +- "log", +- "pkg-config", +-] +- + [[package]] + name = "wayland-sys" + version = "0.31.7" +@@ -9667,7 +9114,7 @@ dependencies = [ + [[package]] + name = "webrender" + version = "0.66.0" +-source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" ++source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" + dependencies = [ + "allocator-api2", + "bincode", +@@ -9679,7 +9126,6 @@ dependencies = [ + "euclid", + "fxhash", + "gleam", +- "glslopt", + "lazy_static", + "log", + "malloc_size_of_derive", +@@ -9702,7 +9148,7 @@ dependencies = [ + [[package]] + name = "webrender_api" + version = "0.66.0" +-source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" ++source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" + dependencies = [ + "app_units", + "bitflags 2.9.1", +@@ -9723,7 +9169,7 @@ dependencies = [ + [[package]] + name = "webrender_build" + version = "0.0.2" +-source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" ++source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" + dependencies = [ + "bitflags 2.9.1", + "lazy_static", +@@ -9877,7 +9323,7 @@ dependencies = [ + "libc", + "libloading", + "log", +- "metal 0.31.0", ++ "metal", + "naga", + "ndk-sys 0.5.0+25.2.9519653", + "objc", +@@ -9912,18 +9358,6 @@ dependencies = [ + "web-sys", + ] + +-[[package]] +-name = "which" +-version = "4.4.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" +-dependencies = [ +- "either", +- "home", +- "once_cell", +- "rustix 0.38.44", +-] +- + [[package]] + name = "winapi" + version = "0.3.9" +@@ -10347,10 +9781,8 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + [[package]] + name = "winit" + version = "0.30.12" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c66d4b9ed69c4009f6321f762d6e61ad8a2389cd431b97cb1e146812e9e6c732" ++source = "git+https://gitlab.redox-os.org/njskalski/winit.git?branch=redox_mods2#9e2e0273792b9c1feaf4492b1ab43f8ed2715ad6" + dependencies = [ +- "ahash", + "android-activity", + "atomic-waker", + "bitflags 2.9.1", +@@ -10365,29 +9797,21 @@ dependencies = [ + "dpi", + "js-sys", + "libc", +- "memmap2", + "ndk", + "objc2 0.5.2", + "objc2-app-kit 0.2.2", + "objc2-foundation 0.2.2", + "objc2-ui-kit", +- "orbclient", + "percent-encoding", + "pin-project", + "raw-window-handle", + "redox_syscall 0.4.1", + "rustix 0.38.44", +- "sctk-adwaita", +- "smithay-client-toolkit", + "smol_str", + "tracing", + "unicode-segmentation", + "wasm-bindgen", + "wasm-bindgen-futures", +- "wayland-backend", +- "wayland-client", +- "wayland-protocols", +- "wayland-protocols-plasma", + "web-sys", + "web-time", + "windows-sys 0.52.0", +@@ -10435,7 +9859,7 @@ dependencies = [ + [[package]] + name = "wr_glyph_rasterizer" + version = "0.1.0" +-source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" ++source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" + dependencies = [ + "core-foundation 0.9.4", + "core-graphics", +@@ -10460,7 +9884,7 @@ dependencies = [ + [[package]] + name = "wr_malloc_size_of" + version = "0.2.0" +-source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" ++source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" + dependencies = [ + "app_units", + "euclid", +@@ -10481,16 +9905,6 @@ dependencies = [ + "either", + ] + +-[[package]] +-name = "x11" +-version = "2.21.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +-dependencies = [ +- "libc", +- "pkg-config", +-] +- + [[package]] + name = "x11-dl" + version = "2.21.0" +@@ -10505,23 +9919,21 @@ dependencies = [ + [[package]] + name = "x11rb" + version = "0.13.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" ++source = "git+https://gitlab.redox-os.org/njskalski/x11rb.git?branch=redox_mods#3195258c70608340a191c0356bd42b443cf866d8" + dependencies = [ + "as-raw-xcb-connection", + "gethostname", + "libc", + "libloading", + "once_cell", +- "rustix 0.38.44", ++ "rustix 1.0.8", + "x11rb-protocol", + ] + + [[package]] + name = "x11rb-protocol" + version = "0.13.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" ++source = "git+https://gitlab.redox-os.org/njskalski/x11rb.git?branch=redox_mods#3195258c70608340a191c0356bd42b443cf866d8" + + [[package]] + name = "xattr" +@@ -10632,103 +10044,6 @@ dependencies = [ + "synstructure", + ] + +-[[package]] +-name = "zbus" +-version = "5.9.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4bb4f9a464286d42851d18a605f7193b8febaf5b0919d71c6399b7b26e5b0aad" +-dependencies = [ +- "async-broadcast", +- "async-executor", +- "async-io", +- "async-lock", +- "async-process", +- "async-recursion", +- "async-task", +- "async-trait", +- "blocking", +- "enumflags2", +- "event-listener", +- "futures-core", +- "futures-lite", +- "hex 0.4.3", +- "nix 0.30.1", +- "ordered-stream", +- "serde", +- "serde_repr", +- "tracing", +- "uds_windows", +- "windows-sys 0.59.0", +- "winnow", +- "zbus_macros", +- "zbus_names", +- "zvariant", +-] +- +-[[package]] +-name = "zbus-lockstep" +-version = "0.5.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "29e96e38ded30eeab90b6ba88cb888d70aef4e7489b6cd212c5e5b5ec38045b6" +-dependencies = [ +- "zbus_xml", +- "zvariant", +-] +- +-[[package]] +-name = "zbus-lockstep-macros" +-version = "0.5.1" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dc6821851fa840b708b4cbbaf6241868cabc85a2dc22f426361b0292bfc0b836" +-dependencies = [ +- "proc-macro2", +- "quote", +- "syn", +- "zbus-lockstep", +- "zbus_xml", +- "zvariant", +-] +- +-[[package]] +-name = "zbus_macros" +-version = "5.9.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ef9859f68ee0c4ee2e8cde84737c78e3f4c54f946f2a38645d0d4c7a95327659" +-dependencies = [ +- "proc-macro-crate", +- "proc-macro2", +- "quote", +- "syn", +- "zbus_names", +- "zvariant", +- "zvariant_utils", +-] +- +-[[package]] +-name = "zbus_names" +-version = "4.2.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" +-dependencies = [ +- "serde", +- "static_assertions", +- "winnow", +- "zvariant", +-] +- +-[[package]] +-name = "zbus_xml" +-version = "5.0.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "589e9a02bfafb9754bb2340a9e3b38f389772684c63d9637e76b1870377bec29" +-dependencies = [ +- "quick-xml 0.36.2", +- "serde", +- "static_assertions", +- "zbus_names", +- "zvariant", +-] +- + [[package]] + name = "zerocopy" + version = "0.8.26" +@@ -10832,44 +10147,3 @@ checksum = "fc1f7e205ce79eb2da3cd71c5f55f3589785cb7c79f6a03d1c8d1491bda5d089" + dependencies = [ + "zune-core", + ] +- +-[[package]] +-name = "zvariant" +-version = "5.6.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d91b3680bb339216abd84714172b5138a4edac677e641ef17e1d8cb1b3ca6e6f" +-dependencies = [ +- "endi", +- "enumflags2", +- "serde", +- "winnow", +- "zvariant_derive", +- "zvariant_utils", +-] +- +-[[package]] +-name = "zvariant_derive" +-version = "5.6.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3a8c68501be459a8dbfffbe5d792acdd23b4959940fc87785fb013b32edbc208" +-dependencies = [ +- "proc-macro-crate", +- "proc-macro2", +- "quote", +- "syn", +- "zvariant_utils", +-] +- +-[[package]] +-name = "zvariant_utils" +-version = "3.2.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e16edfee43e5d7b553b77872d99bc36afdda75c223ca7ad5e3fbecd82ca5fc34" +-dependencies = [ +- "proc-macro2", +- "quote", +- "serde", +- "static_assertions", +- "syn", +- "winnow", +-] +diff --git a/Cargo.toml b/Cargo.toml +index 2dcb622934f..014eb5c0085 100644 +--- a/Cargo.toml ++++ b/Cargo.toml +@@ -55,14 +55,14 @@ ctr = "0.9.2" + darling = { version = "0.20", default-features = false } + data-url = "0.3" + devtools_traits = { path = "components/shared/devtools" } +-dpi = "0.1" ++dpi = "0.1.1" + embedder_traits = { path = "components/shared/embedder" } + encoding_rs = "0.8" + env_logger = "0.11" + euclid = "0.22" + fnv = "1.0" + fonts_traits = { path = "components/shared/fonts" } +-freetype-sys = "0.20" ++freetype-sys = { version ="0.20.1", default-features = false} + fxhash = "0.2" + getopts = "0.2.11" + gleam = "0.15" +@@ -91,7 +91,7 @@ imsz = "0.2" + indexmap = { version = "2.10.0", features = ["std"] } + ipc-channel = "0.20" + itertools = "0.14" +-js = { package = "mozjs", git = "https://github.com/servo/mozjs" } ++js = { package = "mozjs", git = "https://gitlab.redox-os.org/willnode/mozjs.git", branch = "redox_mods" } + keyboard-types = { version = "0.8.1", features = ["serde", "webdriver"] } + kurbo = { version = "0.11.3", features = ["euclid"] } + layout_api = { path = "components/shared/layout" } +@@ -151,7 +151,7 @@ stylo_config = { git = "https://github.com/servo/stylo", branch = "2025-08-01" } + stylo_dom = { git = "https://github.com/servo/stylo", branch = "2025-08-01" } + stylo_malloc_size_of = { git = "https://github.com/servo/stylo", branch = "2025-08-01" } + stylo_traits = { git = "https://github.com/servo/stylo", branch = "2025-08-01" } +-surfman = { git = "https://github.com/servo/surfman", rev = "f7688b4585f9e0b5d4bf8ee8e4a91e82349610b1", features = ["chains"] } ++surfman = { git = "https://gitlab.redox-os.org/njskalski/surfman.git", branch = "redox_mods", features = ["sm-x11"] } + syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] } + synstructure = "0.13" + taffy = { version = "0.9", default-features = false, features = ["calc", "detailed_layout_info", "grid", "std"] } +@@ -178,14 +178,14 @@ vello_cpu = { git = "https://github.com/linebender/vello", rev = "b0e2e598ac62c7 + webdriver = "0.53.0" + webgpu_traits = { path = "components/shared/webgpu" } + webpki-roots = "1.0" +-webrender = { git = "https://github.com/servo/webrender", branch = "0.67", features = ["capture"] } +-webrender_api = { git = "https://github.com/servo/webrender", branch = "0.67" } ++webrender = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + webxr-api = { path = "components/shared/webxr" } + wgpu-core = "25" + wgpu-types = "25" + winapi = "0.3" + windows-sys = "0.59" +-winit = "0.30.12" ++winit = { git = "https://gitlab.redox-os.org/njskalski/winit.git", branch = "redox_mods2"} + wio = "0.2" + wr_malloc_size_of = { git = "https://github.com/servo/webrender", branch = "0.67" } + xi-unicode = "0.3.0" +@@ -222,6 +222,21 @@ lto = "thin" + codegen-units = 1 + + [patch.crates-io] ++ipc-channel = { git = "https://gitlab.redox-os.org/njskalski/ipc-channel.git", branch="redox_mods" } ++servo_malloc_size_of = { path = "./components/malloc_size_of" } ++wr_malloc_size_of = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods"} ++tikv-jemalloc-sys = { version = "0.6.0", git = "https://gitlab.redox-os.org/njskalski/jemallocator.git", branch = "redox_mods" } ++tikv-jemallocator = { version = "0.6.0", git = "https://gitlab.redox-os.org/njskalski/jemallocator.git", branch = "redox_mods" } ++mozangle = { git = "https://gitlab.redox-os.org/willnode/mozangle.git", branch = "redox_mods"} ++# gaol = { git = "https://gitlab.redox-os.org/njskalski/gaol.git", branch = "redox_mods" } ++aws-lc-rs = { git = "https://gitlab.redox-os.org/njskalski/aws-lc-rs.git", branch = "redox_mods" } ++# mozjs_sys = { git = "https://gitlab.redox-os.org/njskalski/mozjs.git", rev = "e2ee9c77148c3af4f11fdff9a2cbd7e449d48d33"} ++# mozjs = { git = "https://gitlab.redox-os.org/njskalski/mozjs.git", branch = "redox_mods"} ++x11rb = { git = "https://gitlab.redox-os.org/njskalski/x11rb.git", branch = "redox_mods"} ++libz-sys = { git = "https://github.com/rust-lang/libz-sys.git", branch = "main"} ++winit = { git = "https://gitlab.redox-os.org/njskalski/winit.git", branch = "redox_mods2"} ++dpi = { git = "https://gitlab.redox-os.org/njskalski/winit.git", branch = "redox_mods2"} ++# freetype-sys = { git = "https://github.com/PistonDevelopers/freetype-sys.git", branch = "master" } + # If you need to temporarily test Servo with a local fork of some upstream + # crate, add that here. Use the form: + # +@@ -250,7 +265,7 @@ codegen-units = 1 + # + # [patch."https://github.com/servo/webrender"] + # webrender = { path = "../webrender/webrender" } +-# webrender_api = { path = "../webrender/webrender_api" } ++# webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } = { path = "../webrender/webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" }" } + # wr_malloc_size_of = { path = "../webrender/wr_malloc_size_of" } + # + # Or for another Git dependency: +diff --git a/components/canvas/Cargo.toml b/components/canvas/Cargo.toml +index ef0c84977f2..4edb129dd97 100644 +--- a/components/canvas/Cargo.toml ++++ b/components/canvas/Cargo.toml +@@ -38,7 +38,7 @@ raqote = { version = "0.8.5", optional = true } + servo_arc = { workspace = true } + stylo = { workspace = true } + unicode-script = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + servo_config = { path = "../config" } + vello = { workspace = true, optional = true } + vello_cpu = { workspace = true, optional = true } +diff --git a/components/compositing/Cargo.toml b/components/compositing/Cargo.toml +index d5792b858db..38132ba0f2c 100644 +--- a/components/compositing/Cargo.toml ++++ b/components/compositing/Cargo.toml +@@ -44,10 +44,10 @@ servo-tracing = { workspace = true } + stylo_traits = { workspace = true } + timers = { path = "../timers" } + tracing = { workspace = true, optional = true } +-webrender = { workspace = true } +-webrender_api = { workspace = true } ++webrender = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + webxr = { path = "../webxr", optional = true } +-wr_malloc_size_of = { workspace = true } ++wr_malloc_size_of = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + + [dev-dependencies] + surfman = { workspace = true } +diff --git a/components/constellation/Cargo.toml b/components/constellation/Cargo.toml +index a982bcbfe73..cb519367edd 100644 +--- a/components/constellation/Cargo.toml ++++ b/components/constellation/Cargo.toml +@@ -58,10 +58,10 @@ stylo_traits = { workspace = true } + tracing = { workspace = true, optional = true } + webgpu = { path = "../webgpu" } + webgpu_traits = { workspace = true } +-webrender = { workspace = true } +-webrender_api = { workspace = true } ++webrender = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods", features = ["capture"] } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + webxr-api = { workspace = true, features = ["ipc"] } + servo-tracing = { workspace = true } + +-[target.'cfg(any(target_os="macos", all(not(target_os = "windows"), not(target_os = "ios"), not(target_os="android"), not(target_env="ohos"), not(target_arch="arm"), not(target_arch="aarch64"))))'.dependencies] ++[target.'cfg(any(target_os="macos", all(not(target_os = "windows"), not(target_os = "ios"), not(target_os="android"), not(target_os="redox"), not(target_env="ohos"), not(target_arch="arm"), not(target_arch="aarch64"))))'.dependencies] + gaol = "0.2.1" +diff --git a/components/constellation/sandboxing.rs b/components/constellation/sandboxing.rs +index 02a6f4ed6f6..81dae2503e8 100644 +--- a/components/constellation/sandboxing.rs ++++ b/components/constellation/sandboxing.rs +@@ -11,6 +11,7 @@ use std::{env, process}; + not(target_os = "windows"), + not(target_os = "ios"), + not(target_os = "android"), ++ not(target_os = "redox"), + not(target_env = "ohos"), + not(target_arch = "arm"), + not(target_arch = "aarch64") +@@ -99,7 +100,8 @@ pub fn content_process_sandbox_profile() -> Profile { + not(target_os = "android"), + not(target_env = "ohos"), + not(target_arch = "arm"), +- not(target_arch = "aarch64") ++ not(target_arch = "aarch64"), ++ not(target_os = "redox"), + ))] + pub fn content_process_sandbox_profile() -> Profile { + use std::path::PathBuf; +@@ -128,6 +130,7 @@ pub fn content_process_sandbox_profile() -> Profile { + target_os = "windows", + target_os = "ios", + target_os = "android", ++ target_os = "redox", + target_env = "ohos", + target_arch = "arm", + +@@ -175,7 +178,8 @@ pub fn spawn_multiprocess(content: UnprivilegedContent) -> Result Result { + use gaol::sandbox::{self, Sandbox, SandboxMethods}; +@@ -243,6 +247,12 @@ pub fn spawn_multiprocess(_content: UnprivilegedContent) -> Result Result { ++ log::error!("Multiprocess is not supported on Redox."); ++ process::exit(1); ++} ++ + fn setup_common(command: &mut C, token: String) { + C::arg(command, "--content-process"); + C::arg(command, token); +diff --git a/components/fonts/Cargo.toml b/components/fonts/Cargo.toml +index e4c27ca6c6f..acf5335e922 100644 +--- a/components/fonts/Cargo.toml ++++ b/components/fonts/Cargo.toml +@@ -53,7 +53,7 @@ tracing = { workspace = true, optional = true } + unicode-properties = { workspace = true } + unicode-script = { workspace = true } + url = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + servo-tracing = { workspace = true } + + [target.'cfg(target_os = "macos")'.dependencies] +@@ -62,11 +62,11 @@ core-foundation = "0.9" + core-graphics = "0.23" + core-text = "20.1" + +-[target.'cfg(any(target_os = "linux", target_os = "android"))'.dependencies] ++[target.'cfg(any(target_os = "linux", target_os = "android", target_os = "redox"))'.dependencies] + freetype-sys = { workspace = true } + servo_allocator = { path = "../allocator" } + +-[target.'cfg(all(target_os = "linux", not(target_env = "ohos")))'.dependencies] ++[target.'cfg(all(any(target_os = "linux", target_os = "redox"), not(target_env = "ohos")))'.dependencies] + fontconfig_sys = { package = "yeslogic-fontconfig-sys", version = "6" } + + [target.'cfg(target_os = "android")'.dependencies] +diff --git a/components/fonts/font.rs b/components/fonts/font.rs +index 751aeecdba7..1b62cba5851 100644 +--- a/components/fonts/font.rs ++++ b/components/fonts/font.rs +@@ -947,7 +947,7 @@ pub struct FontBaseline { + /// let mapped_weight = apply_font_config_to_style_mapping(&mapping, weight as f64); + /// ``` + #[cfg(all( +- any(target_os = "linux", target_os = "macos"), ++ any(target_os = "linux", target_os = "macos", target_os="redox"), + not(target_env = "ohos") + ))] + pub(crate) fn map_platform_values_to_style_values(mapping: &[(f64, f64)], value: f64) -> f64 { +diff --git a/components/fonts/platform/freetype/mod.rs b/components/fonts/platform/freetype/mod.rs +index feea468008e..24f59a276d4 100644 +--- a/components/fonts/platform/freetype/mod.rs ++++ b/components/fonts/platform/freetype/mod.rs +@@ -16,7 +16,7 @@ use webrender_api::NativeFontHandle; + pub mod font; + mod freetype_face; + +-#[cfg(all(target_os = "linux", not(target_env = "ohos"), not(ohos_mock)))] ++#[cfg(all(any(target_os = "linux", target_os = "redox"), not(target_env = "ohos"), not(ohos_mock)))] + pub mod font_list; + + #[cfg(target_os = "android")] +diff --git a/components/fonts/platform/mod.rs b/components/fonts/platform/mod.rs +index 2c77d17d5d5..3138343feb2 100644 +--- a/components/fonts/platform/mod.rs ++++ b/components/fonts/platform/mod.rs +@@ -3,25 +3,25 @@ + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ + + #[cfg(all( +- any(target_os = "linux", target_os = "macos"), ++ any(target_os = "linux", target_os = "macos", target_os="redox"), + not(target_os = "android"), + not(target_env = "ohos") + ))] + use base::text::{UnicodeBlock, UnicodeBlockMethod}; + #[cfg(all( +- any(target_os = "linux", target_os = "macos"), ++ any(target_os = "linux", target_os = "macos", target_os="redox"), + not(target_os = "android"), + not(target_env = "ohos") + ))] + use unicode_script::Script; + + #[cfg(all( +- any(target_os = "linux", target_os = "macos"), ++ any(target_os = "linux", target_os = "macos", target_os="redox"), + not(target_os = "android"), + not(target_env = "ohos") + ))] + use crate::FallbackFontSelectionOptions; +-#[cfg(any(target_os = "linux", target_os = "android"))] ++#[cfg(any(target_os = "linux", target_os = "android", target_os="redox"))] + pub use crate::platform::freetype::{LocalFontIdentifier, font, font_list}; + #[cfg(target_os = "macos")] + pub use crate::platform::macos::{ +@@ -30,7 +30,7 @@ pub use crate::platform::macos::{ + #[cfg(target_os = "windows")] + pub use crate::platform::windows::{font, font_list, font_list::LocalFontIdentifier}; + +-#[cfg(any(target_os = "linux", target_os = "android"))] ++#[cfg(any(target_os = "linux", target_os = "android", target_os="redox"))] + pub mod freetype; + + #[cfg(target_os = "macos")] +@@ -47,7 +47,7 @@ mod windows { + } + + #[cfg(all( +- any(target_os = "linux", target_os = "macos"), ++ any(target_os = "linux", target_os = "macos", target_os="redox"), + not(target_os = "android"), + not(target_env = "ohos") + ))] +diff --git a/components/geometry/Cargo.toml b/components/geometry/Cargo.toml +index 8634bc1d18c..a4115f6bf90 100644 +--- a/components/geometry/Cargo.toml ++++ b/components/geometry/Cargo.toml +@@ -16,5 +16,5 @@ app_units = { workspace = true } + euclid = { workspace = true } + malloc_size_of = { workspace = true } + malloc_size_of_derive = { workspace = true } +-webrender = { workspace = true } +-webrender_api = { workspace = true } ++webrender = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } +diff --git a/components/layout/Cargo.toml b/components/layout/Cargo.toml +index 139f2ce3dba..0196a3f15e0 100644 +--- a/components/layout/Cargo.toml ++++ b/components/layout/Cargo.toml +@@ -62,7 +62,7 @@ tracing = { workspace = true, optional = true } + unicode-bidi = { workspace = true } + unicode-script = { workspace = true } + url = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + xi-unicode = { workspace = true } + servo-tracing = { workspace = true } + +diff --git a/components/malloc_size_of/Cargo.toml b/components/malloc_size_of/Cargo.toml +index 6e5e45a4e35..8de32d2c798 100644 +--- a/components/malloc_size_of/Cargo.toml ++++ b/components/malloc_size_of/Cargo.toml +@@ -39,5 +39,5 @@ unicode-script = { workspace = true } + url = { workspace = true } + urlpattern = { workspace = true } + uuid = { workspace = true } +-webrender_api = { workspace = true } +-wr_malloc_size_of = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } ++wr_malloc_size_of = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods"} +diff --git a/components/media/Cargo.toml b/components/media/Cargo.toml +index cf51080ec7a..effa64922f8 100644 +--- a/components/media/Cargo.toml ++++ b/components/media/Cargo.toml +@@ -20,4 +20,4 @@ log = { workspace = true } + serde = { workspace = true } + servo-media = { workspace = true } + servo_config = { path = "../config" } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } +diff --git a/components/net/Cargo.toml b/components/net/Cargo.toml +index 7556a1bf81f..38252d09b54 100644 +--- a/components/net/Cargo.toml ++++ b/components/net/Cargo.toml +@@ -77,8 +77,7 @@ tungstenite = { workspace = true } + url = { workspace = true } + uuid = { workspace = true } + webpki-roots = { workspace = true } +-webrender_api = { workspace = true } +- ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + [dev-dependencies] + embedder_traits = { workspace = true, features = ["baked-default-resources"] } + flate2 = "1" +diff --git a/components/pixels/Cargo.toml b/components/pixels/Cargo.toml +index 9ba20db80c0..fe33d20b88b 100644 +--- a/components/pixels/Cargo.toml ++++ b/components/pixels/Cargo.toml +@@ -19,8 +19,7 @@ log = { workspace = true } + malloc_size_of = { workspace = true } + malloc_size_of_derive = { workspace = true } + serde = { workspace = true, features = ["derive"] } +-webrender_api = { workspace = true } +- ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + [dev-dependencies] + criterion = { version = "0.5", features = ["html_reports"] } + +diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml +index 51e81f6c085..fb85b1ea6b1 100644 +--- a/components/script/Cargo.toml ++++ b/components/script/Cargo.toml +@@ -136,7 +136,7 @@ utf-8 = "0.7" + uuid = { workspace = true, features = ["serde"] } + webdriver = { workspace = true } + webgpu_traits = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + webxr-api = { workspace = true, features = ["ipc"], optional = true } + wgpu-core = { workspace = true } + wgpu-types = { workspace = true } +diff --git a/components/script/dom/navigatorinfo.rs b/components/script/dom/navigatorinfo.rs +index f3e6ddc109b..ee83d327df9 100644 +--- a/components/script/dom/navigatorinfo.rs ++++ b/components/script/dom/navigatorinfo.rs +@@ -46,7 +46,7 @@ pub(crate) fn Platform() -> DOMString { + } + + #[allow(non_snake_case)] +-#[cfg(any(target_os = "android", target_os = "linux"))] ++#[cfg(any(target_os = "android", target_os = "linux", target_os = "redox"))] + pub(crate) fn Platform() -> DOMString { + DOMString::from("Linux") + } +diff --git a/components/script_bindings/build.rs b/components/script_bindings/build.rs +index c28f900f6ce..2445c2ec9e4 100644 +--- a/components/script_bindings/build.rs ++++ b/components/script_bindings/build.rs +@@ -86,12 +86,12 @@ impl phf_shared::PhfHash for Bytes<'_> { + /// + /// Note: This function should be kept in sync with the version in `components/script/build.rs` + fn find_python() -> Command { +- let mut command = Command::new("uv"); +- command.args(["run", "--no-project", "python"]); ++ let mut command = Command::new("python3"); ++ // command.args(["run", "--no-project", "python"]); + + if command.output().is_ok_and(|out| out.status.success()) { + return command; + } + +- panic!("Can't find python (tried `{command:?}`)! Is uv installed and in PATH?") ++ panic!("Can't find python (tried `{command:?}`)!") + } +diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml +index 2c1f75dca13..03bb5596dc1 100644 +--- a/components/servo/Cargo.toml ++++ b/components/servo/Cargo.toml +@@ -25,7 +25,7 @@ default = ["clipboard", "raqote"] + clipboard = ["dep:arboard"] + crown = ["script/crown"] + debugmozjs = ["script/debugmozjs"] +-background_hang_monitor = ["background_hang_monitor/sampler"] ++# background_hang_monitor = ["background_hang_monitor/sampler"] + jitspew = ["script/jitspew"] + js_backtrace = ["script/js_backtrace"] + media-gstreamer = ["servo-media-gstreamer", "gstreamer"] +@@ -117,8 +117,8 @@ surfman = { workspace = true } + tracing = { workspace = true, optional = true } + url = { workspace = true } + webgpu = { path = "../webgpu" } +-webrender = { workspace = true } +-webrender_api = { workspace = true } ++webrender = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods", features = ["capture"] } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + webxr-api = { workspace = true, optional = true } + + [target.'cfg(any(target_os = "android", target_env = "ohos"))'.dependencies] +@@ -128,7 +128,7 @@ webxr = { path = "../webxr", optional = true } + arboard = { workspace = true, optional = true } + webxr = { path = "../webxr", features = ["ipc", "glwindow", "headless"] } + +-[target.'cfg(all(not(target_os = "windows"), not(target_os = "ios"), not(target_os = "android"), not(target_env = "ohos"), not(target_arch = "arm"), not(target_arch = "aarch64")))'.dependencies] ++[target.'cfg(all(not(target_os = "windows"), not(target_os = "ios"), not(target_os = "android"), not(target_env = "ohos"), not(target_arch = "arm"), not(target_arch = "aarch64"), not(target_os = "redox")))'.dependencies] + gaol = "0.2.1" + + [target.'cfg(target_os = "windows")'.dependencies] +diff --git a/components/servo/lib.rs b/components/servo/lib.rs +index 37ce2019c7a..35e64e30c0d 100644 +--- a/components/servo/lib.rs ++++ b/components/servo/lib.rs +@@ -77,6 +77,7 @@ use fonts::SystemFontService; + not(target_arch = "arm"), + not(target_arch = "aarch64"), + not(target_env = "ohos"), ++ not(target_os = "redox"), + ))] + use gaol::sandbox::{ChildSandbox, ChildSandboxMethods}; + pub use gleam::gl; +@@ -1305,6 +1306,7 @@ pub fn run_content_process(token: String) { + not(target_arch = "arm"), + not(target_arch = "aarch64"), + not(target_env = "ohos"), ++ not(target_os = "redox"), + ))] + fn create_sandbox() { + ChildSandbox::new(content_process_sandbox_profile()) +@@ -1319,6 +1321,7 @@ fn create_sandbox() { + target_arch = "arm", + target_arch = "aarch64", + target_env = "ohos", ++ target_os = "redox", + ))] + fn create_sandbox() { + panic!("Sandboxing is not supported on Windows, iOS, ARM targets and android."); +diff --git a/components/shared/base/Cargo.toml b/components/shared/base/Cargo.toml +index b293fa0faf3..eead0fb12e3 100644 +--- a/components/shared/base/Cargo.toml ++++ b/components/shared/base/Cargo.toml +@@ -21,8 +21,7 @@ malloc_size_of_derive = { workspace = true } + parking_lot = { workspace = true } + serde = { workspace = true } + time = { workspace = true } +-webrender_api = { workspace = true } +- ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + [target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies] + mach2 = { workspace = true } + +diff --git a/components/shared/canvas/Cargo.toml b/components/shared/canvas/Cargo.toml +index 36711c0f83a..474c7722812 100644 +--- a/components/shared/canvas/Cargo.toml ++++ b/components/shared/canvas/Cargo.toml +@@ -28,5 +28,5 @@ serde = { workspace = true } + servo_config = { path = "../../config" } + strum = { workspace = true } + stylo = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + webxr-api = { workspace = true, features = ["ipc"] } +diff --git a/components/shared/compositing/Cargo.toml b/components/shared/compositing/Cargo.toml +index 11ac6223766..21d7943060e 100644 +--- a/components/shared/compositing/Cargo.toml ++++ b/components/shared/compositing/Cargo.toml +@@ -19,7 +19,7 @@ base = { workspace = true } + bincode = { workspace = true } + bitflags = { workspace = true } + crossbeam-channel = { workspace = true } +-dpi = { version = "0.1" } ++dpi = { version = "0.1.1" } + embedder_traits = { workspace = true } + euclid = { workspace = true } + gleam = { workspace = true } +@@ -38,4 +38,4 @@ strum_macros = { workspace = true } + stylo = { workspace = true } + stylo_traits = { workspace = true } + surfman = { workspace = true, features = ["sm-x11"] } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } +diff --git a/components/shared/compositing/rendering_context.rs b/components/shared/compositing/rendering_context.rs +index 0596210430b..c85c84618ae 100644 +--- a/components/shared/compositing/rendering_context.rs ++++ b/components/shared/compositing/rendering_context.rs +@@ -105,7 +105,12 @@ impl Drop for SurfmanRenderingContext { + + impl SurfmanRenderingContext { + fn new(connection: &Connection, adapter: &Adapter) -> Result { ++ eprintln!(" SurfmanRenderingContext::new - Starting"); ++ eprintln!(" GL API: {:?}", connection.gl_api()); ++ ++ eprintln!(" Creating device..."); + let mut device = connection.create_device(adapter)?; ++ eprintln!(" Device created"); + + let flags = ContextAttributeFlags::ALPHA | + ContextAttributeFlags::DEPTH | +@@ -115,9 +120,16 @@ impl SurfmanRenderingContext { + GLApi::GLES => surfman::GLVersion { major: 3, minor: 0 }, + GLApi::GL => surfman::GLVersion { major: 3, minor: 2 }, + }; ++ eprintln!(" GL Version requested: {}.{}", version.major, version.minor); ++ ++ eprintln!(" Creating context descriptor..."); + let context_descriptor = + device.create_context_descriptor(&ContextAttributes { flags, version })?; ++ eprintln!(" Context descriptor created"); ++ ++ eprintln!(" Creating context..."); + let context = device.create_context(&context_descriptor, None)?; ++ eprintln!(" Context created"); + + #[allow(unsafe_code)] + let gleam_gl = { +@@ -392,20 +404,41 @@ impl WindowRenderingContext { + window_handle: WindowHandle, + size: PhysicalSize, + ) -> Result { ++ eprintln!("WindowRenderingContext::new - Starting creation"); ++ eprintln!(" Size: {}x{}", size.width, size.height); ++ ++ eprintln!(" Creating connection from display_handle..."); + let connection = Connection::from_display_handle(display_handle)?; ++ eprintln!(" Connection created successfully"); ++ ++ eprintln!(" Creating adapter..."); + let adapter = connection.create_adapter()?; ++ eprintln!(" Adapter created successfully"); ++ ++ eprintln!(" Creating SurfmanRenderingContext..."); + let surfman_context = SurfmanRenderingContext::new(&connection, &adapter)?; ++ eprintln!(" SurfmanRenderingContext created successfully"); + ++ eprintln!(" Creating native widget from window handle..."); + let native_widget = connection + .create_native_widget_from_window_handle( + window_handle, + Size2D::new(size.width as i32, size.height as i32), + ) + .expect("Failed to create native widget"); ++ eprintln!(" Native widget created successfully"); + ++ eprintln!(" Creating surface..."); + let surface = surfman_context.create_surface(SurfaceType::Widget { native_widget })?; ++ eprintln!(" Surface created successfully"); ++ ++ eprintln!(" Binding surface..."); + surfman_context.bind_surface(surface)?; ++ eprintln!(" Surface bound successfully"); ++ ++ eprintln!(" Making context current..."); + surfman_context.make_current()?; ++ eprintln!(" Context made current successfully"); + + Ok(Self { + size: Cell::new(size), +diff --git a/components/shared/constellation/Cargo.toml b/components/shared/constellation/Cargo.toml +index 7a1132ecd63..954c002d7f9 100644 +--- a/components/shared/constellation/Cargo.toml ++++ b/components/shared/constellation/Cargo.toml +@@ -37,5 +37,5 @@ strum_macros = { workspace = true } + stylo_traits = { workspace = true } + uuid = { workspace = true } + webgpu_traits = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + wgpu-core = { workspace = true, optional = true } +diff --git a/components/shared/embedder/Cargo.toml b/components/shared/embedder/Cargo.toml +index 2ff427a4057..bc611d67da4 100644 +--- a/components/shared/embedder/Cargo.toml ++++ b/components/shared/embedder/Cargo.toml +@@ -38,5 +38,5 @@ stylo = { workspace = true } + url = { workspace = true } + uuid = { workspace = true } + webdriver = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + servo_geometry = { path = "../../geometry" } +diff --git a/components/shared/layout/Cargo.toml b/components/shared/layout/Cargo.toml +index ae5d005d103..b24976e9da6 100644 +--- a/components/shared/layout/Cargo.toml ++++ b/components/shared/layout/Cargo.toml +@@ -41,4 +41,4 @@ servo_arc = { workspace = true } + servo_url = { path = "../../url" } + stylo_traits = { workspace = true } + stylo = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } +diff --git a/components/shared/net/Cargo.toml b/components/shared/net/Cargo.toml +index 044b2658c4e..0a36fc291ca 100644 +--- a/components/shared/net/Cargo.toml ++++ b/components/shared/net/Cargo.toml +@@ -41,7 +41,6 @@ servo_rand = { path = "../../rand" } + servo_url = { path = "../../url" } + url = { workspace = true } + uuid = { workspace = true } +-webrender_api = { workspace = true } +- ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + [dev-dependencies] + embedder_traits = { workspace = true, features = ["baked-default-resources"] } +diff --git a/components/shared/script/Cargo.toml b/components/shared/script/Cargo.toml +index 69438867cc0..e65648a60b5 100644 +--- a/components/shared/script/Cargo.toml ++++ b/components/shared/script/Cargo.toml +@@ -41,5 +41,5 @@ strum_macros = { workspace = true } + stylo_atoms = { workspace = true } + stylo_traits = { workspace = true } + webgpu_traits = { workspace = true, optional = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + webxr-api = { workspace = true, features = ["ipc"] } +diff --git a/components/shared/webgpu/Cargo.toml b/components/shared/webgpu/Cargo.toml +index 5fb042dfb78..d41af6398d7 100644 +--- a/components/shared/webgpu/Cargo.toml ++++ b/components/shared/webgpu/Cargo.toml +@@ -18,6 +18,6 @@ ipc-channel = { workspace = true } + malloc_size_of = { workspace = true } + pixels = { path = "../../pixels" } + serde = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + wgpu-core = { workspace = true, features = ["serde", "wgsl"] } + wgpu-types = { workspace = true } +diff --git a/components/webgl/Cargo.toml b/components/webgl/Cargo.toml +index 46fe7381959..017cf68eba7 100644 +--- a/components/webgl/Cargo.toml ++++ b/components/webgl/Cargo.toml +@@ -30,7 +30,7 @@ itertools = { workspace = true } + log = { workspace = true } + pixels = { path = "../pixels" } + surfman = { workspace = true } +-webrender = { workspace = true } +-webrender_api = { workspace = true } ++webrender = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods", features = ["capture"] } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + webxr = { path = "../webxr", features = ["ipc"], optional = true } + webxr-api = { workspace = true, features = ["ipc"], optional = true } +diff --git a/components/webgpu/Cargo.toml b/components/webgpu/Cargo.toml +index a2119f4c83c..308ab3772fb 100644 +--- a/components/webgpu/Cargo.toml ++++ b/components/webgpu/Cargo.toml +@@ -22,7 +22,7 @@ pixels = { path = "../pixels" } + serde = { workspace = true, features = ["serde_derive"] } + servo_config = { path = "../config" } + webgpu_traits = { workspace = true } +-webrender_api = { workspace = true } ++webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } + wgpu-core = { workspace = true, features = ["serde", "wgsl"] } + wgpu-types = { workspace = true } + +diff --git a/ports/servoshell/Cargo.toml b/ports/servoshell/Cargo.toml +index 06304184929..fb77b7099b0 100644 +--- a/ports/servoshell/Cargo.toml ++++ b/ports/servoshell/Cargo.toml +@@ -37,7 +37,8 @@ ProductName = "Servo" + [features] + crown = ["libservo/crown"] + debugmozjs = ["libservo/debugmozjs"] +-default = ["max_log_level", "webgpu", "webxr"] ++# cutting , "webxr" for redox ++default = ["max_log_level", "webgpu"] + jitspew = ["libservo/jitspew"] + js_backtrace = ["libservo/js_backtrace"] + max_log_level = ["log/release_max_level_info"] +@@ -68,7 +69,8 @@ image = { workspace = true } + ipc-channel = { workspace = true } + keyboard-types = { workspace = true } + libc = { workspace = true } +-libservo = { path = "../../components/servo", features = ["background_hang_monitor", "bluetooth", "testbinding"] } ++# removed "background_hang_monitor", ++libservo = { path = "../../components/servo", features = [ "bluetooth", "testbinding"] } + log = { workspace = true } + mime_guess = { workspace = true } + raw-window-handle = { workspace = true } +@@ -108,13 +110,32 @@ nix = { workspace = true, features = ["fs"] } + serde_json = { workspace = true } + surfman = { workspace = true, features = ["sm-angle-default"] } + +-[target.'cfg(not(any(target_os = "android", target_env = "ohos")))'.dependencies] +-accesskit_winit = "0.27" ++# I removed the problematic dependencies from everywhere even though they should not be pulled for redox. The thing is that cargo is still complaining about them, even ++# though they should be ignored. ++[target.'cfg(not(any(target_os = "android", target_env = "ohos", target_os = "redox")))'.dependencies] ++# accesskit_winit = "0.27" + dirs = "6.0" +-egui = { version = "0.32.1", features = ["accesskit"] } ++# egui = { version = "0.32.1", features = ["accesskit"] } ++# egui-file-dialog = "0.11.0" ++# egui-winit = { version = "0.32.1", default-features = false, features = ["accesskit", "clipboard", "wayland"] } ++# egui_glow = { version = "0.32.1", features = ["winit"] } ++gilrs = "0.11.0" ++# glow = "0.16.0" ++headers = { workspace = true } ++net = { path = "../../components/net" } ++net_traits = { workspace = true } ++serde_json = { workspace = true } ++# For optional feature servo_allocator/use-system-allocator ++servo_allocator = { path = "../../components/allocator" } ++surfman = { workspace = true, features = ["sm-raw-window-handle-06", "sm-x11"] } ++winit = { workspace = true } ++ ++[target.'cfg(target_os = "redox")'.dependencies] ++dirs = "6.0" ++egui = { version = "0.32.1", default-features = false } + egui-file-dialog = "0.11.0" +-egui-winit = { version = "0.32.1", default-features = false, features = ["accesskit", "clipboard", "wayland"] } +-egui_glow = { version = "0.32.1", features = ["winit"] } ++egui-winit = { version = "0.32.1", default-features = false, features = ["clipboard"] } #<-here ++egui_glow = { version = "0.32.1", default-features = false, features = [] } + gilrs = "0.11.0" + glow = "0.16.0" + headers = { workspace = true } +diff --git a/ports/servoshell/desktop/app.rs b/ports/servoshell/desktop/app.rs +index 08c943b2829..61d20de8bc3 100644 +--- a/ports/servoshell/desktop/app.rs ++++ b/ports/servoshell/desktop/app.rs +@@ -766,18 +766,18 @@ impl ApplicationHandler for App { + } + + fn user_event(&mut self, event_loop: &ActiveEventLoop, event: AppEvent) { +- if let AppEvent::Accessibility(ref event) = event { +- let Some(ref mut minibrowser) = self.minibrowser else { +- return; +- }; +- if !minibrowser.handle_accesskit_event(&event.window_event) { +- return; +- } +- if let Some(window) = self.windows.get(&event.window_id) { +- window.winit_window().unwrap().request_redraw(); +- } +- return; +- } ++ // if let AppEvent::Accessibility(ref event) = event { ++ // let Some(ref mut minibrowser) = self.minibrowser else { ++ // return; ++ // }; ++ // if !minibrowser.handle_accesskit_event(&event.window_event) { ++ // return; ++ // } ++ // if let Some(window) = self.windows.get(&event.window_id) { ++ // window.winit_window().unwrap().request_redraw(); ++ // } ++ // return; ++ // } + + let now = Instant::now(); + let event = winit::event::Event::UserEvent(event); +diff --git a/ports/servoshell/desktop/egui_glue.rs b/ports/servoshell/desktop/egui_glue.rs +index 797ea3c5a91..d658563edc1 100644 +--- a/ports/servoshell/desktop/egui_glue.rs ++++ b/ports/servoshell/desktop/egui_glue.rs +@@ -81,7 +81,7 @@ impl EguiGlow { + None, + ); + let window = window.winit_window().unwrap(); +- egui_winit.init_accesskit(event_loop, window, event_loop_proxy); ++ // egui_winit.init_accesskit(event_loop, window, event_loop_proxy); + window.set_visible(true); + Self { + egui_winit, +diff --git a/ports/servoshell/desktop/events_loop.rs b/ports/servoshell/desktop/events_loop.rs +index 4137001e4eb..b24757b9ad2 100644 +--- a/ports/servoshell/desktop/events_loop.rs ++++ b/ports/servoshell/desktop/events_loop.rs +@@ -22,14 +22,14 @@ pub type EventLoopProxy = winit::event_loop::EventLoopProxy; + pub enum AppEvent { + /// Another process or thread has kicked the OS event loop with EventLoopWaker. + Waker, +- Accessibility(accesskit_winit::Event), ++ // Accessibility(accesskit_winit::Event), + } + +-impl From for AppEvent { +- fn from(event: accesskit_winit::Event) -> AppEvent { +- AppEvent::Accessibility(event) +- } +-} ++// impl From for AppEvent { ++// fn from(event: accesskit_winit::Event) -> AppEvent { ++// AppEvent::Accessibility(event) ++// } ++// } + + /// The real or fake OS event loop. + #[allow(dead_code)] +diff --git a/ports/servoshell/desktop/headed_window.rs b/ports/servoshell/desktop/headed_window.rs +index eef657f2062..7054a201792 100644 +--- a/ports/servoshell/desktop/headed_window.rs ++++ b/ports/servoshell/desktop/headed_window.rs +@@ -144,10 +144,24 @@ impl Window { + let window_handle = winit_window + .window_handle() + .expect("could not get window handle from window"); +- let window_rendering_context = Rc::new( +- WindowRenderingContext::new(display_handle, window_handle, inner_size) +- .expect("Could not create RenderingContext for Window"), +- ); ++ ++ eprintln!("headed_window: Creating WindowRenderingContext..."); ++ eprintln!(" DISPLAY env var: {:?}", std::env::var("DISPLAY")); ++ eprintln!(" Display handle obtained: {:?}", display_handle); ++ eprintln!(" Window handle obtained: {:?}", window_handle); ++ eprintln!(" Inner size: {}x{}", inner_size.width, inner_size.height); ++ ++ let window_rendering_context = match WindowRenderingContext::new(display_handle, window_handle, inner_size) { ++ Ok(context) => { ++ eprintln!(" WindowRenderingContext created successfully!"); ++ Rc::new(context) ++ }, ++ Err(e) => { ++ eprintln!(" Failed to create WindowRenderingContext!"); ++ eprintln!(" Error: {:?}", e); ++ panic!("Could not create RenderingContext for Window: {:?}", e); ++ } ++ }; + + // Setup for GL accelerated media handling. This is only active on certain Linux platforms + // and Windows. +diff --git a/ports/servoshell/desktop/headless_window.rs b/ports/servoshell/desktop/headless_window.rs +index e17e09a5218..24beb102919 100644 +--- a/ports/servoshell/desktop/headless_window.rs ++++ b/ports/servoshell/desktop/headless_window.rs +@@ -179,7 +179,7 @@ impl WindowPortsMethods for Window { + // notification (such as from the display manager) that it has changed size, so we + // must notify the compositor here. + webview.move_resize(self.screen_size.to_f32().into()); +- webview.resize(PhysicalSize::new( ++ webview.resize(PhysicalSize::::new( + self.screen_size.width as u32, + self.screen_size.height as u32, + )); +diff --git a/ports/servoshell/desktop/minibrowser.rs b/ports/servoshell/desktop/minibrowser.rs +index 460e639c15b..3146f73d213 100644 +--- a/ports/servoshell/desktop/minibrowser.rs ++++ b/ports/servoshell/desktop/minibrowser.rs +@@ -522,23 +522,23 @@ impl Minibrowser { + self.update_status_text(state) + } + +- /// Returns true if a redraw is required after handling the provided event. +- pub(crate) fn handle_accesskit_event(&mut self, event: &accesskit_winit::WindowEvent) -> bool { +- match event { +- accesskit_winit::WindowEvent::InitialTreeRequested => { +- self.context.egui_ctx.enable_accesskit(); +- true +- }, +- accesskit_winit::WindowEvent::ActionRequested(req) => { +- self.context +- .egui_winit +- .on_accesskit_action_request(req.clone()); +- true +- }, +- accesskit_winit::WindowEvent::AccessibilityDeactivated => { +- self.context.egui_ctx.disable_accesskit(); +- false +- }, +- } +- } ++ // Returns true if a redraw is required after handling the provided event. ++ // pub(crate) fn handle_accesskit_event(&mut self, event: &accesskit_winit::WindowEvent) -> bool { ++ // match event { ++ // accesskit_winit::WindowEvent::InitialTreeRequested => { ++ // self.context.egui_ctx.enable_accesskit(); ++ // true ++ // }, ++ // accesskit_winit::WindowEvent::ActionRequested(req) => { ++ // self.context ++ // .egui_winit ++ // .on_accesskit_action_request(req.clone()); ++ // true ++ // }, ++ // accesskit_winit::WindowEvent::AccessibilityDeactivated => { ++ // self.context.egui_ctx.disable_accesskit(); ++ // false ++ // }, ++ // } ++ // } + } +diff --git a/ports/servoshell/desktop/tracing.rs b/ports/servoshell/desktop/tracing.rs +index b1f0b1d742e..046b016a2e2 100644 +--- a/ports/servoshell/desktop/tracing.rs ++++ b/ports/servoshell/desktop/tracing.rs +@@ -52,7 +52,7 @@ mod from_winit { + Self::WindowEvent { event, .. } => event.log_target(), + Self::DeviceEvent { .. } => target!("DeviceEvent"), + Self::UserEvent(AppEvent::Waker) => target!("UserEvent(Waker)"), +- Self::UserEvent(AppEvent::Accessibility(..)) => target!("UserEvent(Accessibility)"), ++ // Self::UserEvent(AppEvent::Accessibility(..)) => target!("UserEvent(Accessibility)"), + Self::Suspended => target!("Suspended"), + Self::Resumed => target!("Resumed"), + Self::AboutToWait => target!("AboutToWait"), From 4c4bfd7caf200b62a5f9ceccadbae95614e756d3 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 1 Oct 2025 08:12:07 +0700 Subject: [PATCH 100/182] Port wayland client and Xwayland --- recipes/wip/libs/other/libwayland/recipe.toml | 15 -- .../wip/wayland/libwayland-client/recipe.toml | 20 ++ .../wip/wayland/libwayland-client/redox.patch | 205 ++++++++++++++++++ .../wip/wayland/wayland-protocols/recipe.toml | 6 +- recipes/wip/wayland/xwayland/recipe.toml | 44 +++- recipes/wip/wayland/xwayland/redox.patch | 158 ++++++++++++++ recipes/wip/x11/libdrm/recipe.toml | 6 + recipes/wip/x11/libxshmfence/recipe.toml | 16 ++ recipes/wip/x11/xorgproto/recipe.toml | 5 + 9 files changed, 450 insertions(+), 25 deletions(-) delete mode 100644 recipes/wip/libs/other/libwayland/recipe.toml create mode 100644 recipes/wip/wayland/libwayland-client/recipe.toml create mode 100644 recipes/wip/wayland/libwayland-client/redox.patch create mode 100644 recipes/wip/wayland/xwayland/redox.patch create mode 100644 recipes/wip/x11/libdrm/recipe.toml create mode 100644 recipes/wip/x11/libxshmfence/recipe.toml create mode 100644 recipes/wip/x11/xorgproto/recipe.toml diff --git a/recipes/wip/libs/other/libwayland/recipe.toml b/recipes/wip/libs/other/libwayland/recipe.toml deleted file mode 100644 index 28b54879e..000000000 --- a/recipes/wip/libs/other/libwayland/recipe.toml +++ /dev/null @@ -1,15 +0,0 @@ -#TODO missing script for Meson, see https://gitlab.freedesktop.org/wayland/wayland/-/blob/main/README.md?ref_type=heads -[source] -tar = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.22.0/downloads/wayland-1.22.0.tar.xz" - -[build] -template = "custom" -dependencies = [ - "expat", - "libffi", - "libxml2", -] -script = """ -DYNAMIC_INIT -cookbook_meson -""" diff --git a/recipes/wip/wayland/libwayland-client/recipe.toml b/recipes/wip/wayland/libwayland-client/recipe.toml new file mode 100644 index 000000000..cfc7150ea --- /dev/null +++ b/recipes/wip/wayland/libwayland-client/recipe.toml @@ -0,0 +1,20 @@ +#TODO: Requires sys/signalfd.h SFD_CLOEXEC, sys/timerfd.h TFD_CLOEXEC, ppoll +#TODO: F_DUPFD_CLOEXEC, MSG_CMSG_CLOEXEC, MSG_NOSIGNAL TFD_TIMER_ABSTIME +[source] +tar = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.24.0/downloads/wayland-1.24.0.tar.xz" +patches = [ + #FIXME: This patch is just a shim. Remove this patch + "redox.patch" +] +[build] +template = "meson" +dependencies = [ + "libffi", + "expat", + "libxml2", +] +mesonflags = [ + "-Ddocumentation=false", + "-Dtests=false", + "-Ddtd_validation=false", +] diff --git a/recipes/wip/wayland/libwayland-client/redox.patch b/recipes/wip/wayland/libwayland-client/redox.patch new file mode 100644 index 000000000..4bcae30a4 --- /dev/null +++ b/recipes/wip/wayland/libwayland-client/redox.patch @@ -0,0 +1,205 @@ +diff -ruwN source/meson.build source-new/meson.build +--- source/meson.build 2025-07-06 19:11:26.000000000 +0700 ++++ source-new/meson.build 2025-10-01 06:32:51.610361685 +0700 +@@ -80,8 +80,6 @@ + ffi_dep = dependency('libffi') + + decls = [ +- { 'header': 'sys/signalfd.h', 'symbol': 'SFD_CLOEXEC' }, +- { 'header': 'sys/timerfd.h', 'symbol': 'TFD_CLOEXEC' }, + { 'header': 'time.h', 'symbol': 'CLOCK_MONOTONIC' }, + ] + +diff -ruwN source/src/connection.c source-new/src/connection.c +--- source/src/connection.c 2025-07-06 19:11:26.000000000 +0700 ++++ source-new/src/connection.c 2025-10-01 07:10:17.676073568 +0700 +@@ -490,7 +490,7 @@ + + do { + len = sendmsg(connection->fd, &msg, +- MSG_NOSIGNAL | MSG_DONTWAIT); ++ MSG_DONTWAIT); + } while (len == -1 && errno == EINTR); + + if (len == -1) +@@ -1506,9 +1506,9 @@ + char *buffer; + size_t buffer_length; + +- f = open_memstream(&buffer, &buffer_length); +- if (f == NULL) +- return; ++ // f = open_memstream(&buffer, &buffer_length); ++ // if (f == NULL) ++ // return; + + clock_gettime(CLOCK_REALTIME, &tp); + time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000); +diff -ruwN source/src/event-loop.c source-new/src/event-loop.c +--- source/src/event-loop.c 2025-07-06 19:11:26.000000000 +0700 ++++ source-new/src/event-loop.c 2025-10-01 07:07:26.992243929 +0700 +@@ -35,8 +35,8 @@ + #include + #include + #include +-#include +-#include ++// #include ++// #include + #include + #include "timespec-util.h" + #include "wayland-util.h" +@@ -259,24 +259,13 @@ + + static int + set_timer(int timerfd, struct timespec deadline) { +- struct itimerspec its; +- +- its.it_interval.tv_sec = 0; +- its.it_interval.tv_nsec = 0; +- its.it_value = deadline; +- return timerfd_settime(timerfd, TFD_TIMER_ABSTIME, &its, NULL); ++ return 0; + } + + static int + clear_timer(int timerfd) + { +- struct itimerspec its; +- +- its.it_interval.tv_sec = 0; +- its.it_interval.tv_nsec = 0; +- its.it_value.tv_sec = 0; +- its.it_value.tv_nsec = 0; +- return timerfd_settime(timerfd, 0, &its, NULL); ++ return 0; + } + + static void +@@ -307,7 +296,7 @@ + wl_timer_heap_ensure_timerfd(struct wl_timer_heap *timers) + { + struct epoll_event ep; +- int timer_fd; ++ int timer_fd = 0; + + if (timers->base.fd != -1) + return 0; +@@ -316,17 +305,6 @@ + ep.events = EPOLLIN; + ep.data.ptr = timers; + +- timer_fd = timerfd_create(CLOCK_MONOTONIC, +- TFD_CLOEXEC | TFD_NONBLOCK); +- if (timer_fd < 0) +- return -1; +- +- if (epoll_ctl(timers->base.loop->epoll_fd, +- EPOLL_CTL_ADD, timer_fd, &ep) < 0) { +- close(timer_fd); +- return -1; +- } +- + timers->base.fd = timer_fd; + return 0; + } +@@ -677,11 +655,12 @@ + { + struct wl_event_source_signal *signal_source = + (struct wl_event_source_signal *) source; +- struct signalfd_siginfo signal_info; ++ /*struct signalfd_siginfo signal_info; + int len; + + len = read(source->fd, &signal_info, sizeof signal_info); + if (!(len == -1 && errno == EAGAIN) && len != sizeof signal_info) ++ */ + /* Is there anything we can do here? Will this ever happen? */ + wl_log("signalfd read error: %s\n", strerror(errno)); + +@@ -730,7 +709,7 @@ + + sigemptyset(&mask); + sigaddset(&mask, signal_number); +- source->base.fd = signalfd(-1, &mask, SFD_CLOEXEC | SFD_NONBLOCK); ++ // source->base.fd = signalfd(-1, &mask, SFD_CLOEXEC | SFD_NONBLOCK); + sigprocmask(SIG_BLOCK, &mask, NULL); + + source->func = func; +diff -ruwN source/src/meson.build source-new/src/meson.build +--- source/src/meson.build 2025-07-06 19:11:26.000000000 +0700 ++++ source-new/src/meson.build 2025-10-01 07:03:52.591689534 +0700 +@@ -81,8 +81,7 @@ + endif + + if meson.is_cross_build() or not get_option('scanner') +- scanner_dep = dependency('wayland-scanner', native: true, version: meson.project_version()) +- wayland_scanner_for_build = find_program(scanner_dep.get_variable(pkgconfig: 'wayland_scanner')) ++ wayland_scanner_for_build = find_program('wayland-scanner', native: true) + else + wayland_scanner_for_build = wayland_scanner + endif +diff -ruwN source/src/wayland-client.c source-new/src/wayland-client.c +--- source/src/wayland-client.c 2025-07-06 19:11:26.000000000 +0700 ++++ source-new/src/wayland-client.c 2025-10-01 07:10:48.899322239 +0700 +@@ -1997,14 +1997,6 @@ + + pfd[0].fd = display->fd; + pfd[0].events = events; +- do { +- if (timeout) { +- clock_gettime(CLOCK_MONOTONIC, &now); +- timespec_sub_saturate(&result, &deadline, &now); +- remaining_timeout = &result; +- } +- ret = ppoll(pfd, 1, remaining_timeout, NULL); +- } while (ret == -1 && errno == EINTR); + + return ret; + } +diff -ruwN source/src/wayland-os.c source-new/src/wayland-os.c +--- source/src/wayland-os.c 2025-07-06 19:11:26.000000000 +0700 ++++ source-new/src/wayland-os.c 2025-10-01 07:09:01.188805546 +0700 +@@ -134,7 +134,7 @@ + { + int newfd; + +- newfd = wl_fcntl(fd, F_DUPFD_CLOEXEC, minfd); ++ newfd = wl_fcntl(fd, FD_CLOEXEC, minfd); + if (newfd >= 0) + return newfd; + if (errno != EINVAL) +@@ -189,7 +189,7 @@ + #else + ssize_t len; + +- len = wl_recvmsg(sockfd, msg, flags | MSG_CMSG_CLOEXEC); ++ len = wl_recvmsg(sockfd, msg, flags); + if (len >= 0) + return len; + if (errno != EINVAL) +diff -ruwN source/src/wayland-server.c source-new/src/wayland-server.c +--- source/src/wayland-server.c 2025-07-06 19:11:26.000000000 +0700 ++++ source-new/src/wayland-server.c 2025-10-01 07:09:51.131179157 +0700 +@@ -39,7 +39,7 @@ + #include + #include + #include +-#include ++// #include + #include + #include + +@@ -1206,9 +1206,9 @@ + return NULL; + } + +- display->terminate_efd = eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK); +- if (display->terminate_efd < 0) +- goto err_eventfd; ++ // display->terminate_efd = eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK); ++ // if (display->terminate_efd < 0) ++ // goto err_eventfd; + + display->term_source = wl_event_loop_add_fd(display->loop, + display->terminate_efd, diff --git a/recipes/wip/wayland/wayland-protocols/recipe.toml b/recipes/wip/wayland/wayland-protocols/recipe.toml index 5cdbfefc2..25dea45d9 100644 --- a/recipes/wip/wayland/wayland-protocols/recipe.toml +++ b/recipes/wip/wayland/wayland-protocols/recipe.toml @@ -1,5 +1,7 @@ -#TODO missing script for Meson, lacking build instructions [source] tar = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.32/downloads/wayland-protocols-1.32.tar.xz" [build] -template = "custom" +template = "meson" +mesonflags = [ + "-Dtests=false" +] \ No newline at end of file diff --git a/recipes/wip/wayland/xwayland/recipe.toml b/recipes/wip/wayland/xwayland/recipe.toml index fa972b230..c4b93a681 100644 --- a/recipes/wip/wayland/xwayland/recipe.toml +++ b/recipes/wip/wayland/xwayland/recipe.toml @@ -1,10 +1,38 @@ -#TODO missing script for Meson, see https://wayland.freedesktop.org/xserver.html#heading_toc_j_3 +#TODO wayland-client, fix linux/input, wayland-scanner shim [source] -tar = "https://www.x.org/releases/individual/xserver/xwayland-23.2.4.tar.xz" -[build] -template = "custom" -dependencies = [ - "libepoxy", - "libxtrans", - "libxkbfile", +tar = "https://www.x.org/releases/individual/xserver/xwayland-24.1.8.tar.xz" +patches = [ + "redox.patch" +] +[build] +template = "meson" +dependencies = [ + "libpthread-stubs", + "libepoxy", + "libxkbfile", + "libxfont2", + "libffi", + "libpng", + "pixman", + "xorgproto", + "xtrans", + "libxau", + "libx11", + "libxcb", + "openssl1", + "freetype2", + "libwayland-client", + "libfontenc", + "wayland-protocols", + "zlib", + "libxcvt", + "libxdmcp", + "libxshmfence", +] +mesonflags = [ + "-Ddrm=false", + "-Dglamor=false", + "-Dglx=false", + "-Dsecure-rpc=false", + "-Dmitshm=false" ] diff --git a/recipes/wip/wayland/xwayland/redox.patch b/recipes/wip/wayland/xwayland/redox.patch new file mode 100644 index 000000000..1132282a1 --- /dev/null +++ b/recipes/wip/wayland/xwayland/redox.patch @@ -0,0 +1,158 @@ +diff -ruwN source/hw/xwayland/meson.build source-new/hw/xwayland/meson.build +--- source/hw/xwayland/meson.build 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/meson.build 2025-10-01 07:51:14.456575515 +0700 +@@ -30,8 +30,7 @@ + '../../mi/miinitext.h', + ] + +-scanner_dep = dependency('wayland-scanner', native: true) +-scanner = find_program(scanner_dep.get_pkgconfig_variable('wayland_scanner')) ++scanner = find_program('wayland-scanner', native: true) + + protocols_dep = dependency('wayland-protocols', version: wayland_protocols_req) + protodir = protocols_dep.get_pkgconfig_variable('pkgdatadir') +@@ -55,11 +54,7 @@ + arguments : ['client-header', '@INPUT@', '@OUTPUT@'] + ) + +-if scanner_dep.version().version_compare('>= 1.14.91') + scanner_argument = 'private-code' +-else +- scanner_argument = 'code' +-endif + + code = generator(scanner, + output : '@BASENAME@-protocol.c', +diff -ruwN source/hw/xwayland/xwayland-glamor.h source-new/hw/xwayland/xwayland-glamor.h +--- source/hw/xwayland/xwayland-glamor.h 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/xwayland-glamor.h 2025-10-01 08:01:01.409102814 +0700 +@@ -31,7 +31,7 @@ + #include + + #include +-#include ++// #include + + #include "xwayland-types.h" + +@@ -103,7 +103,7 @@ + /* Called to get the DRM device of the primary GPU that this backend + * is set up on. + */ +- drmDevice *(*get_main_device)(struct xwl_screen *xwl_screen); ++ // drmDevice *(*get_main_device)(struct xwl_screen *xwl_screen); + + /* Direct hook to create the backing pixmap for a window */ + PixmapPtr (*create_pixmap_for_window)(struct xwl_window *xwl_window); +diff -ruwN source/hw/xwayland/xwayland-input.c source-new/hw/xwayland/xwayland-input.c +--- source/hw/xwayland/xwayland-input.c 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/xwayland-input.c 2025-10-01 08:02:59.681082380 +0700 +@@ -26,7 +26,7 @@ + + #include + +-#include ++// #include + #include + + #include +@@ -758,6 +758,7 @@ + xwl_seat->xwl_screen->serial = serial; + + switch (button) { ++/* + case BTN_LEFT: + index = 1; + break; +@@ -768,10 +769,9 @@ + index = 3; + break; + default: +- /* Skip indexes 4-7: they are used for vertical and horizontal scroll. +- The rest of the buttons go in order: BTN_SIDE becomes 8, etc. */ + index = 8 + button - BTN_SIDE; + break; ++*/ + } + + valuator_mask_zero(&mask); +@@ -1057,7 +1057,7 @@ + + state_rec = xwl_seat->keyboard->key->xkbInfo->state; + xkb_state = (XkbStateFieldFromRec(&state_rec) & 0xff); +- ++ /* + if (((key == KEY_LEFTSHIFT || key == KEY_RIGHTSHIFT) && (xkb_state & ControlMask)) || + ((key == KEY_LEFTCTRL || key == KEY_RIGHTCTRL) && (xkb_state & ShiftMask))) { + +@@ -1072,6 +1072,7 @@ + if (xwl_window) + xwl_window_rootful_update_title(xwl_window); + } ++ */ + } + + static void +diff -ruwN source/hw/xwayland/xwayland-window.c source-new/hw/xwayland/xwayland-window.c +--- source/hw/xwayland/xwayland-window.c 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/xwayland-window.c 2025-10-01 08:00:07.858324820 +0700 +@@ -1102,7 +1102,7 @@ + for (int j = 0; j < dev_formats->num_formats; j++) + free(dev_formats->formats[j].modifiers); + free(dev_formats->formats); +- drmFreeDevice(&dev_formats->drm_dev); ++ // drmFreeDevice(&dev_formats->drm_dev); + } + + void +diff -ruwN source/hw/xwayland/xwayland-window.h source-new/hw/xwayland/xwayland-window.h +--- source/hw/xwayland/xwayland-window.h 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/hw/xwayland/xwayland-window.h 2025-10-01 08:00:40.464798537 +0700 +@@ -38,7 +38,7 @@ + #include + #include + #include +-#include ++// #include + + #include "xwayland-types.h" + +@@ -55,7 +55,7 @@ + }; + + struct xwl_device_formats { +- drmDevice *drm_dev; ++ // drmDevice *drm_dev; + int supports_scanout; + uint32_t num_formats; + struct xwl_format *formats; +@@ -75,7 +75,7 @@ + struct xwl_dmabuf_feedback { + struct zwp_linux_dmabuf_feedback_v1 *dmabuf_feedback; + struct xwl_format_table format_table; +- drmDevice *main_dev; ++ // drmDevice *main_dev; + /* + * This will be filled in during wl events and copied to + * dev_formats on dmabuf_feedback.tranche_done +diff -ruwN source/os/access.c source-new/os/access.c +--- source/os/access.c 2024-01-16 16:38:49.000000000 +0700 ++++ source-new/os/access.c 2025-10-01 07:22:43.931644468 +0700 +@@ -446,7 +446,7 @@ + int family; + register HOST *host; + +-#ifndef WIN32 ++#if !defined(WIN32) && !defined(__redox__) + struct utsname name; + #else + struct { +@@ -477,7 +477,7 @@ + * uname() lets me access to the whole string (it smashes release, you + * see), whereas gethostname() kindly truncates it for me. + */ +-#ifndef WIN32 ++#if !defined(WIN32) && !defined(__redox__) + uname(&name); + #else + gethostname(name.nodename, sizeof(name.nodename)); diff --git a/recipes/wip/x11/libdrm/recipe.toml b/recipes/wip/x11/libdrm/recipe.toml new file mode 100644 index 000000000..f2775b034 --- /dev/null +++ b/recipes/wip/x11/libdrm/recipe.toml @@ -0,0 +1,6 @@ +# TODO: Port sys/ioccom.h just like BSD? +[source] +tar = "https://gitlab.freedesktop.org/mesa/libdrm/-/archive/libdrm-2.4.125/libdrm-libdrm-2.4.125.tar.gz" + +[build] +template = "meson" diff --git a/recipes/wip/x11/libxshmfence/recipe.toml b/recipes/wip/x11/libxshmfence/recipe.toml new file mode 100644 index 000000000..bd9764ec7 --- /dev/null +++ b/recipes/wip/x11/libxshmfence/recipe.toml @@ -0,0 +1,16 @@ +[source] +tar = "https://www.x.org/releases/individual/lib/libxshmfence-1.3.tar.gz" +script = """ +DYNAMIC_INIT +autotools_recursive_regenerate +""" + +[build] +dependencies = [ + "x11proto", +] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_configure +""" diff --git a/recipes/wip/x11/xorgproto/recipe.toml b/recipes/wip/x11/xorgproto/recipe.toml new file mode 100644 index 000000000..389ae42c2 --- /dev/null +++ b/recipes/wip/x11/xorgproto/recipe.toml @@ -0,0 +1,5 @@ + +[source] +tar = "https://www.x.org/archive/individual/proto/xorgproto-2024.1.tar.xz" +[build] +template = "meson" From 91ee785ce31f67cf20bbc1baacf8ca1946bc0d8f Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Wed, 1 Oct 2025 01:47:58 +0000 Subject: [PATCH 101/182] Rename libwayland --- .../wip/wayland/{libwayland-client => libwayland}/recipe.toml | 0 .../wip/wayland/{libwayland-client => libwayland}/redox.patch | 0 recipes/wip/wayland/wayland-protocols/recipe.toml | 2 +- recipes/wip/wayland/xwayland/recipe.toml | 2 +- recipes/wip/x11/xorgproto/recipe.toml | 1 - 5 files changed, 2 insertions(+), 3 deletions(-) rename recipes/wip/wayland/{libwayland-client => libwayland}/recipe.toml (100%) rename recipes/wip/wayland/{libwayland-client => libwayland}/redox.patch (100%) diff --git a/recipes/wip/wayland/libwayland-client/recipe.toml b/recipes/wip/wayland/libwayland/recipe.toml similarity index 100% rename from recipes/wip/wayland/libwayland-client/recipe.toml rename to recipes/wip/wayland/libwayland/recipe.toml diff --git a/recipes/wip/wayland/libwayland-client/redox.patch b/recipes/wip/wayland/libwayland/redox.patch similarity index 100% rename from recipes/wip/wayland/libwayland-client/redox.patch rename to recipes/wip/wayland/libwayland/redox.patch diff --git a/recipes/wip/wayland/wayland-protocols/recipe.toml b/recipes/wip/wayland/wayland-protocols/recipe.toml index 25dea45d9..593e24bcd 100644 --- a/recipes/wip/wayland/wayland-protocols/recipe.toml +++ b/recipes/wip/wayland/wayland-protocols/recipe.toml @@ -4,4 +4,4 @@ tar = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.32/ template = "meson" mesonflags = [ "-Dtests=false" -] \ No newline at end of file +] diff --git a/recipes/wip/wayland/xwayland/recipe.toml b/recipes/wip/wayland/xwayland/recipe.toml index c4b93a681..d7ed31b66 100644 --- a/recipes/wip/wayland/xwayland/recipe.toml +++ b/recipes/wip/wayland/xwayland/recipe.toml @@ -21,7 +21,7 @@ dependencies = [ "libxcb", "openssl1", "freetype2", - "libwayland-client", + "libwayland", "libfontenc", "wayland-protocols", "zlib", diff --git a/recipes/wip/x11/xorgproto/recipe.toml b/recipes/wip/x11/xorgproto/recipe.toml index 389ae42c2..2d62b819a 100644 --- a/recipes/wip/x11/xorgproto/recipe.toml +++ b/recipes/wip/x11/xorgproto/recipe.toml @@ -1,4 +1,3 @@ - [source] tar = "https://www.x.org/archive/individual/proto/xorgproto-2024.1.tar.xz" [build] From 3422853f65e8b45446ba68c5e41a6da253d54101 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 1 Oct 2025 14:30:19 +0700 Subject: [PATCH 102/182] Working patches --- recipes/wip/web/servo/recipe.toml | 4 +- recipes/wip/web/servo/redox.patch | 1797 +---------------------------- 2 files changed, 32 insertions(+), 1769 deletions(-) diff --git a/recipes/wip/web/servo/recipe.toml b/recipes/wip/web/servo/recipe.toml index 34b72b85d..38f73d260 100644 --- a/recipes/wip/web/servo/recipe.toml +++ b/recipes/wip/web/servo/recipe.toml @@ -50,14 +50,14 @@ export PKG_CONFIG_PATH_x86_64_unknown_redox="${COOKBOOK_SYSROOT}/lib/pkgconfig" export PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_redox="${COOKBOOK_SYSROOT}/lib/pkgconfig" rsync -a -v ${COOKBOOK_SYSROOT}/usr/share/pkgconfig/*.pc ${COOKBOOK_SYSROOT}/lib/pkgconfig/ -export RUSTFLAGS="$RUSTFLAGS -L native=${COOKBOOK_SYSROOT}/lib" +export RUSTFLAGS="$RUSTFLAGS -L native=${COOKBOOK_SYSROOT}/lib -C link-arg=-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib" #TODO: mozjs-sys and mozangle uses clang, it won't know our prefix C libraries, so here's the workaround PREFIX_INCLUDE=$(realpath "$COOKBOOK_ROOT/../prefix/$TARGET/sysroot/x86_64-unknown-redox/include") export CLANGFLAGS="-I $PREFIX_INCLUDE/c++/13.2.0 -I $PREFIX_INCLUDE/c++/13.2.0/$TARGET -I $PREFIX_INCLUDE/c++/13.2.0/backward -I $PREFIX_INCLUDE" #Mozjs specifics -export CARGO_MAKEFLAGS="-j $COOKBOOK_MAKE_JOBS" +export CARGO_MAKEFLAGS="-j $COOKBOOK_MAKE_JOBS" CCACHE="sccache" PACKAGE_PATH="ports/servoshell" cookbook_cargo """ diff --git a/recipes/wip/web/servo/redox.patch b/recipes/wip/web/servo/redox.patch index d7ad78145..3a0c804f2 100644 --- a/recipes/wip/web/servo/redox.patch +++ b/recipes/wip/web/servo/redox.patch @@ -1,1764 +1,5 @@ -diff --git a/Cargo.lock b/Cargo.lock -index f2081c3fd34..bb300865c60 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -18,96 +18,6 @@ version = "0.1.10" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" - --[[package]] --name = "accesskit" --version = "0.19.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "e25ae84c0260bdf5df07796d7cc4882460de26a2b406ec0e6c42461a723b271b" -- --[[package]] --name = "accesskit_atspi_common" --version = "0.12.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "29bd41de2e54451a8ca0dd95ebf45b54d349d29ebceb7f20be264eee14e3d477" --dependencies = [ -- "accesskit", -- "accesskit_consumer", -- "atspi-common", -- "serde", -- "thiserror 1.0.69", -- "zvariant", --] -- --[[package]] --name = "accesskit_consumer" --version = "0.28.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8bfae7c152994a31dc7d99b8eeac7784a919f71d1b306f4b83217e110fd3824c" --dependencies = [ -- "accesskit", -- "hashbrown", --] -- --[[package]] --name = "accesskit_macos" --version = "0.20.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "692dd318ff8a7a0ffda67271c4bd10cf32249656f4e49390db0b26ca92b095f2" --dependencies = [ -- "accesskit", -- "accesskit_consumer", -- "hashbrown", -- "objc2 0.5.2", -- "objc2-app-kit 0.2.2", -- "objc2-foundation 0.2.2", --] -- --[[package]] --name = "accesskit_unix" --version = "0.15.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c5f7474c36606d0fe4f438291d667bae7042ea2760f506650ad2366926358fc8" --dependencies = [ -- "accesskit", -- "accesskit_atspi_common", -- "async-channel", -- "async-executor", -- "async-task", -- "atspi", -- "futures-lite", -- "futures-util", -- "serde", -- "zbus", --] -- --[[package]] --name = "accesskit_windows" --version = "0.27.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "70a042b62c9c05bf7b616f015515c17d2813f3ba89978d6f4fc369735d60700a" --dependencies = [ -- "accesskit", -- "accesskit_consumer", -- "hashbrown", -- "static_assertions", -- "windows 0.61.3", -- "windows-core 0.61.2", --] -- --[[package]] --name = "accesskit_winit" --version = "0.27.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5c1f0d3d13113d8857542a4f8d1a1c24d1dc1527b77aee8426127f4901588708" --dependencies = [ -- "accesskit", -- "accesskit_macos", -- "accesskit_unix", -- "accesskit_windows", -- "raw-window-handle", -- "winit", --] -- - [[package]] - name = "accountable-refcell" - version = "0.2.2" -@@ -183,7 +93,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" - dependencies = [ - "cfg-if", -- "getrandom 0.3.3", - "once_cell", - "version_check", - "zerocopy", -@@ -418,30 +327,6 @@ dependencies = [ - "libloading", - ] - --[[package]] --name = "async-broadcast" --version = "0.7.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" --dependencies = [ -- "event-listener", -- "event-listener-strategy", -- "futures-core", -- "pin-project-lite", --] -- --[[package]] --name = "async-channel" --version = "2.5.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" --dependencies = [ -- "concurrent-queue", -- "event-listener-strategy", -- "futures-core", -- "pin-project-lite", --] -- - [[package]] - name = "async-compression" - version = "0.4.27" -@@ -456,68 +341,6 @@ dependencies = [ - "tokio", - ] - --[[package]] --name = "async-executor" --version = "1.13.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" --dependencies = [ -- "async-task", -- "concurrent-queue", -- "fastrand", -- "futures-lite", -- "pin-project-lite", -- "slab", --] -- --[[package]] --name = "async-io" --version = "2.4.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "1237c0ae75a0f3765f58910ff9cdd0a12eeb39ab2f4c7de23262f337f0aacbb3" --dependencies = [ -- "async-lock", -- "cfg-if", -- "concurrent-queue", -- "futures-io", -- "futures-lite", -- "parking", -- "polling", -- "rustix 1.0.8", -- "slab", -- "tracing", -- "windows-sys 0.59.0", --] -- --[[package]] --name = "async-lock" --version = "3.4.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" --dependencies = [ -- "event-listener", -- "event-listener-strategy", -- "pin-project-lite", --] -- --[[package]] --name = "async-process" --version = "2.4.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "65daa13722ad51e6ab1a1b9c01299142bc75135b337923cfa10e79bbbd669f00" --dependencies = [ -- "async-channel", -- "async-io", -- "async-lock", -- "async-signal", -- "async-task", -- "blocking", -- "cfg-if", -- "event-listener", -- "futures-lite", -- "rustix 1.0.8", --] -- - [[package]] - name = "async-recursion" - version = "1.1.1" -@@ -529,41 +352,6 @@ dependencies = [ - "syn", - ] - --[[package]] --name = "async-signal" --version = "0.2.11" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d7605a4e50d4b06df3898d5a70bf5fde51ed9059b0434b73105193bc27acce0d" --dependencies = [ -- "async-io", -- "async-lock", -- "atomic-waker", -- "cfg-if", -- "futures-core", -- "futures-io", -- "rustix 1.0.8", -- "signal-hook-registry", -- "slab", -- "windows-sys 0.59.0", --] -- --[[package]] --name = "async-task" --version = "4.7.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" -- --[[package]] --name = "async-trait" --version = "0.1.89" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" --dependencies = [ -- "proc-macro2", -- "quote", -- "syn", --] -- - [[package]] - name = "async-tungstenite" - version = "0.29.1" -@@ -596,56 +384,6 @@ version = "0.1.13" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c" - --[[package]] --name = "atspi" --version = "0.25.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c83247582e7508838caf5f316c00791eee0e15c0bf743e6880585b867e16815c" --dependencies = [ -- "atspi-common", -- "atspi-connection", -- "atspi-proxies", --] -- --[[package]] --name = "atspi-common" --version = "0.9.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "33dfc05e7cdf90988a197803bf24f5788f94f7c94a69efa95683e8ffe76cfdfb" --dependencies = [ -- "enumflags2", -- "serde", -- "static_assertions", -- "zbus", -- "zbus-lockstep", -- "zbus-lockstep-macros", -- "zbus_names", -- "zvariant", --] -- --[[package]] --name = "atspi-connection" --version = "0.9.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4193d51303d8332304056ae0004714256b46b6635a5c556109b319c0d3784938" --dependencies = [ -- "atspi-common", -- "atspi-proxies", -- "futures-lite", -- "zbus", --] -- --[[package]] --name = "atspi-proxies" --version = "0.9.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d2eebcb9e7e76f26d0bcfd6f0295e1cd1e6f33bedbc5698a971db8dc43d7751c" --dependencies = [ -- "atspi-common", -- "serde", -- "zbus", --] -- - [[package]] - name = "autocfg" - version = "1.5.0" -@@ -655,8 +393,7 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" - [[package]] - name = "aws-lc-rs" - version = "1.13.3" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5c953fe1ba023e6b7730c0d4b031d06f267f23a46167dcbd40316644b10a17ba" -+source = "git+https://gitlab.redox-os.org/njskalski/aws-lc-rs.git?branch=redox_mods#0fa71de67b9b0e1574ff754ce05fa6b93934fc09" - dependencies = [ - "aws-lc-sys", - "zeroize", -@@ -665,10 +402,9 @@ dependencies = [ - [[package]] - name = "aws-lc-sys" - version = "0.30.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "dbfd150b5dbdb988bcc8fb1fe787eb6b7ee6180ca24da683b61ea5405f3d43ff" -+source = "git+https://gitlab.redox-os.org/njskalski/aws-lc-rs.git?branch=redox_mods#0fa71de67b9b0e1574ff754ce05fa6b93934fc09" - dependencies = [ -- "bindgen 0.69.5", -+ "bindgen 0.72.0", - "cc", - "cmake", - "dunce", -@@ -756,37 +492,34 @@ dependencies = [ - - [[package]] - name = "bindgen" --version = "0.69.5" -+version = "0.71.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" -+checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" - dependencies = [ - "bitflags 2.9.1", - "cexpr", - "clang-sys", - "itertools 0.10.5", -- "lazy_static", -- "lazycell", -- "log", -- "prettyplease", - "proc-macro2", - "quote", - "regex", -- "rustc-hash 1.1.0", -+ "rustc-hash 2.1.1", - "shlex", - "syn", -- "which", - ] - - [[package]] - name = "bindgen" --version = "0.71.1" -+version = "0.72.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" -+checksum = "4f72209734318d0b619a5e0f5129918b848c416e122a3c4ce054e03cb87b726f" - dependencies = [ - "bitflags 2.9.1", - "cexpr", - "clang-sys", - "itertools 0.10.5", -+ "log", -+ "prettyplease", - "proc-macro2", - "quote", - "regex", -@@ -864,19 +597,6 @@ dependencies = [ - "objc2 0.5.2", - ] - --[[package]] --name = "blocking" --version = "1.6.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" --dependencies = [ -- "async-channel", -- "async-task", -- "futures-io", -- "futures-lite", -- "piper", --] -- - [[package]] - name = "bluetooth" - version = "0.0.1" -@@ -927,7 +647,7 @@ version = "0.1.3" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "9c150fd617830fd121919bbd500a784507e8af1bae744efcf587591c65c375d4" - dependencies = [ -- "hex 0.3.2", -+ "hex", - ] - - [[package]] -@@ -937,7 +657,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "f6dae8337ff67fe8ead29a28a0115605753e6a5205d4b6017e9f42f198c3c50a" - dependencies = [ - "dbus", -- "hex 0.3.2", -+ "hex", - ] - - [[package]] -@@ -1291,36 +1011,6 @@ dependencies = [ - "cc", - ] - --[[package]] --name = "cocoa" --version = "0.25.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" --dependencies = [ -- "bitflags 1.3.2", -- "block", -- "cocoa-foundation", -- "core-foundation 0.9.4", -- "core-graphics", -- "foreign-types 0.5.0", -- "libc", -- "objc", --] -- --[[package]] --name = "cocoa-foundation" --version = "0.1.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" --dependencies = [ -- "bitflags 1.3.2", -- "block", -- "core-foundation 0.9.4", -- "core-graphics-types", -- "libc", -- "objc", --] -- - [[package]] - name = "codespan-reporting" - version = "0.12.0" -@@ -1588,7 +1278,7 @@ dependencies = [ - "bitflags 1.3.2", - "core-foundation 0.9.4", - "core-graphics-types", -- "foreign-types 0.5.0", -+ "foreign-types", - "libc", - ] - -@@ -1611,7 +1301,7 @@ checksum = "c9d2790b5c08465d49f8dc05c8bcae9fea467855947db39b0f8145c091aaced5" - dependencies = [ - "core-foundation 0.9.4", - "core-graphics", -- "foreign-types 0.5.0", -+ "foreign-types", - "libc", - ] - -@@ -2081,9 +1771,8 @@ checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" - - [[package]] - name = "dpi" --version = "0.1.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" -+version = "0.1.1" -+source = "git+https://gitlab.redox-os.org/njskalski/winit.git?branch=redox_mods2#9e2e0273792b9c1feaf4492b1ab43f8ed2715ad6" - - [[package]] - name = "dtoa" -@@ -2137,9 +1826,9 @@ dependencies = [ - - [[package]] - name = "ecolor" --version = "0.32.1" -+version = "0.32.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b6a7fc3172c2ef56966b2ce4f84177e159804c40b9a84de8861558ce4a59f422" -+checksum = "ebb57dec02e4cca6d70d02e29865f7e52dbd471383f4c3444dda7ee78d467360" - dependencies = [ - "bytemuck", - "emath", -@@ -2147,11 +1836,10 @@ dependencies = [ - - [[package]] - name = "egui" --version = "0.32.1" -+version = "0.32.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "49e2be082f77715496b4a39fdc6f5dc7491fefe2833111781b8697ea6ee919a7" -+checksum = "40df1115b8b0f3d4f1f9134a26287fd3d0e067fc18f879b8c9641aedf3eecef7" - dependencies = [ -- "accesskit", - "ahash", - "bitflags 2.9.1", - "emath", -@@ -2178,11 +1866,10 @@ dependencies = [ - - [[package]] - name = "egui-winit" --version = "0.32.1" -+version = "0.32.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "fe6d8b0f8d6de4d43e794e343f03bacc3908aada931f0ed6fd7041871388a590" -+checksum = "1abd8326d2be6d0e945dcfe8acd2c07d64be4c977c5e1115f902dc9cd3ff7bf5" - dependencies = [ -- "accesskit_winit", - "ahash", - "arboard", - "bytemuck", -@@ -2197,21 +1884,19 @@ dependencies = [ - - [[package]] - name = "egui_glow" --version = "0.32.1" -+version = "0.32.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "0ab645760288e42eab70283a5cccf44509a6f43b554351855d3c73594bfe3c23" -+checksum = "7baca67871a8b808e2eb0849282f56149673b6842702306860916bf2dd83fca1" - dependencies = [ - "ahash", - "bytemuck", - "egui", -- "egui-winit", - "glow", - "log", - "memoffset", - "profiling", - "wasm-bindgen", - "web-sys", -- "winit", - ] - - [[package]] -@@ -2222,9 +1907,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" - - [[package]] - name = "emath" --version = "0.32.1" -+version = "0.32.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "935df67dc48fdeef132f2f7ada156ddc79e021344dd42c17f066b956bb88dde3" -+checksum = "b5c95b6d5571099bfa0ae9f4fdaef2c239bccb01d55339a082070259dc6f3b05" - dependencies = [ - "bytemuck", - ] -@@ -2285,33 +1970,6 @@ dependencies = [ - "cfg-if", - ] - --[[package]] --name = "endi" --version = "1.1.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" -- --[[package]] --name = "enumflags2" --version = "0.7.12" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef" --dependencies = [ -- "enumflags2_derive", -- "serde", --] -- --[[package]] --name = "enumflags2_derive" --version = "0.7.12" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" --dependencies = [ -- "proc-macro2", -- "quote", -- "syn", --] -- - [[package]] - name = "env_filter" - version = "0.1.3" -@@ -2347,9 +2005,9 @@ dependencies = [ - - [[package]] - name = "epaint" --version = "0.32.1" -+version = "0.32.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b66fc0a5a9d322917de9bd3ac7d426ca8aa3127fbf1e76fae5b6b25e051e06a3" -+checksum = "695fd7b458f31fe515d6a308f46b2936cae9316dc40c960a7ee31ce3a97866b9" - dependencies = [ - "ab_glyph", - "ahash", -@@ -2365,9 +2023,9 @@ dependencies = [ - - [[package]] - name = "epaint_default_fonts" --version = "0.32.1" -+version = "0.32.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4f6cf8ce0fb817000aa24f5e630bda904a353536bd430b83ebc1dceee95b4a3a" -+checksum = "bbc9f86ce3eaf9b7fc7179a578af21a6a5cd2d4fd21965564e82a2d009a7dab0" - - [[package]] - name = "equivalent" -@@ -2382,7 +2040,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" - dependencies = [ - "libc", -- "windows-sys 0.52.0", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -2412,27 +2070,6 @@ dependencies = [ - "serde", - ] - --[[package]] --name = "event-listener" --version = "5.4.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" --dependencies = [ -- "concurrent-queue", -- "parking", -- "pin-project-lite", --] -- --[[package]] --name = "event-listener-strategy" --version = "0.5.4" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" --dependencies = [ -- "event-listener", -- "pin-project-lite", --] -- - [[package]] - name = "exr" - version = "1.73.0" -@@ -2687,15 +2324,6 @@ dependencies = [ - "cc", - ] - --[[package]] --name = "foreign-types" --version = "0.3.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" --dependencies = [ -- "foreign-types-shared 0.1.1", --] -- - [[package]] - name = "foreign-types" - version = "0.5.0" -@@ -2703,7 +2331,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" - dependencies = [ - "foreign-types-macros", -- "foreign-types-shared 0.3.1", -+ "foreign-types-shared", - ] - - [[package]] -@@ -2717,12 +2345,6 @@ dependencies = [ - "syn", - ] - --[[package]] --name = "foreign-types-shared" --version = "0.1.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -- - [[package]] - name = "foreign-types-shared" - version = "0.3.1" -@@ -2846,19 +2468,6 @@ version = "0.3.31" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - --[[package]] --name = "futures-lite" --version = "2.6.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" --dependencies = [ -- "fastrand", -- "futures-core", -- "futures-io", -- "parking", -- "pin-project-lite", --] -- - [[package]] - name = "futures-macro" - version = "0.3.31" -@@ -2932,12 +2541,12 @@ dependencies = [ - - [[package]] - name = "gethostname" --version = "0.4.3" -+version = "1.0.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" -+checksum = "fc257fdb4038301ce4b9cd1b3b51704509692bb3ff716a410cbd07925d9dae55" - dependencies = [ -- "libc", -- "windows-targets 0.48.5", -+ "rustix 1.0.8", -+ "windows-targets 0.52.6", - ] - - [[package]] -@@ -3042,7 +2651,7 @@ dependencies = [ - "gobject-sys", - "libc", - "system-deps", -- "windows-sys 0.52.0", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -3127,15 +2736,6 @@ dependencies = [ - "web-sys", - ] - --[[package]] --name = "glslopt" --version = "0.1.11" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "913662ae8335df058d56e00f11340b20fa82e03e0276587797ef325ab01e50d4" --dependencies = [ -- "cc", --] -- - [[package]] - name = "glutin_wgl_sys" - version = "0.6.1" -@@ -3590,7 +3190,7 @@ dependencies = [ - "cc", - "core-graphics", - "core-text", -- "foreign-types 0.5.0", -+ "foreign-types", - "freetype-sys", - "pkg-config", - "winapi", -@@ -3687,12 +3287,6 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77" - --[[package]] --name = "hex" --version = "0.4.3" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -- - [[package]] - name = "hexf-parse" - version = "0.2.1" -@@ -3735,15 +3329,6 @@ version = "0.1.6" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "164f0e3568306af8b47c191406743476d9383e49d717960288cdb3469f9b7f54" - --[[package]] --name = "home" --version = "0.5.11" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" --dependencies = [ -- "windows-sys 0.59.0", --] -- - [[package]] - name = "html5ever" - version = "0.35.0" -@@ -4486,18 +4071,6 @@ dependencies = [ - "mach2", - ] - --[[package]] --name = "io-surface" --version = "0.15.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "861c6093cbc05599e66436aedf380bb0a23cec2180738393d3a340b80dd135ef" --dependencies = [ -- "cgl", -- "core-foundation 0.9.4", -- "leaky-cow", -- "libc", --] -- - [[package]] - name = "io-uring" - version = "0.7.9" -@@ -4512,8 +4085,7 @@ dependencies = [ - [[package]] - name = "ipc-channel" - version = "0.20.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "1700f6b8b9f00cdd675f32fbb3a5be882213140dfe045805273221ca266c43f8" -+source = "git+https://gitlab.redox-os.org/njskalski/ipc-channel.git?branch=redox_mods#bfcd8a88eb56706dbc61c24a53aa5b30640b3f95" - dependencies = [ - "bincode", - "crossbeam-channel", -@@ -4524,7 +4096,7 @@ dependencies = [ - "serde", - "tempfile", - "uuid", -- "windows 0.58.0", -+ "windows 0.61.3", - ] - - [[package]] -@@ -4535,7 +4107,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" - dependencies = [ - "hermit-abi", - "libc", -- "windows-sys 0.52.0", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -4790,27 +4362,6 @@ version = "1.5.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - --[[package]] --name = "lazycell" --version = "1.3.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" -- --[[package]] --name = "leak" --version = "0.1.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "bd100e01f1154f2908dfa7d02219aeab25d0b9c7fa955164192e3245255a0c73" -- --[[package]] --name = "leaky-cow" --version = "0.1.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "40a8225d44241fd324a8af2806ba635fc7c8a7e9a7de4d5cf3ef54e71f5926fc" --dependencies = [ -- "leak", --] -- - [[package]] - name = "lebe" - version = "0.5.2" -@@ -5130,20 +4681,6 @@ dependencies = [ - "autocfg", - ] - --[[package]] --name = "metal" --version = "0.24.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060" --dependencies = [ -- "bitflags 1.3.2", -- "block", -- "core-graphics-types", -- "foreign-types 0.3.2", -- "log", -- "objc", --] -- - [[package]] - name = "metal" - version = "0.31.0" -@@ -5153,7 +4690,7 @@ dependencies = [ - "bitflags 2.9.1", - "block", - "core-graphics-types", -- "foreign-types 0.5.0", -+ "foreign-types", - "log", - "objc", - "paste", -@@ -5220,8 +4757,7 @@ dependencies = [ - [[package]] - name = "mozangle" - version = "0.5.3" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "0ab823731ea6297e7280dade983df955d1a8209d2deb44f505932b8873168992" -+source = "git+https://gitlab.redox-os.org/njskalski/mozangle.git?branch=redox_mods#fc58d9c521c3b9ed72ea56908daae91b119db1ad" - dependencies = [ - "bindgen 0.71.1", - "cc", -@@ -5233,7 +4769,7 @@ dependencies = [ - [[package]] - name = "mozjs" - version = "0.14.1" --source = "git+https://github.com/servo/mozjs#e0a4ee47e686f581faefb201a6fd73bd4dcd67f0" -+source = "git+https://gitlab.redox-os.org/njskalski/mozjs.git?rev=b9c2983764fb0f8f35210d3e1da9526a9980ce78#b9c2983764fb0f8f35210d3e1da9526a9980ce78" - dependencies = [ - "bindgen 0.71.1", - "cc", -@@ -5245,8 +4781,8 @@ dependencies = [ - - [[package]] - name = "mozjs_sys" --version = "0.137.0-2" --source = "git+https://github.com/servo/mozjs#e0a4ee47e686f581faefb201a6fd73bd4dcd67f0" -+version = "0.137.0-3" -+source = "git+https://gitlab.redox-os.org/njskalski/mozjs.git?rev=b9c2983764fb0f8f35210d3e1da9526a9980ce78#b9c2983764fb0f8f35210d3e1da9526a9980ce78" - dependencies = [ - "bindgen 0.71.1", - "cc", -@@ -5519,7 +5055,6 @@ dependencies = [ - "cfg-if", - "cfg_aliases", - "libc", -- "memoffset", - ] - - [[package]] -@@ -5672,7 +5207,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" - dependencies = [ - "malloc_buf", -- "objc_exception", - ] - - [[package]] -@@ -5724,7 +5258,7 @@ dependencies = [ - "objc2-core-data", - "objc2-core-image", - "objc2-foundation 0.2.2", -- "objc2-quartz-core", -+ "objc2-quartz-core 0.2.2", - ] - - [[package]] -@@ -5735,7 +5269,9 @@ checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc" - dependencies = [ - "bitflags 2.9.1", - "objc2 0.6.1", -+ "objc2-core-foundation", - "objc2-foundation 0.3.1", -+ "objc2-quartz-core 0.3.1", - ] - - [[package]] -@@ -5785,6 +5321,16 @@ dependencies = [ - "objc2 0.6.1", - ] - -+[[package]] -+name = "objc2-core-graphics" -+version = "0.3.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "989c6c68c13021b5c2d6b71456ebb0f9dc78d752e86a98da7c716f4f9470f5a4" -+dependencies = [ -+ "bitflags 2.9.1", -+ "objc2-core-foundation", -+] -+ - [[package]] - name = "objc2-core-image" - version = "0.2.2" -@@ -5794,7 +5340,7 @@ dependencies = [ - "block2", - "objc2 0.5.2", - "objc2-foundation 0.2.2", -- "objc2-metal", -+ "objc2-metal 0.2.2", - ] - - [[package]] -@@ -5809,6 +5355,17 @@ dependencies = [ - "objc2-foundation 0.2.2", - ] - -+[[package]] -+name = "objc2-core-video" -+version = "0.3.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1989c3e76c7e978cab0ba9e6f4961cd00ed14ca21121444cc26877403bfb6303" -+dependencies = [ -+ "bitflags 2.9.1", -+ "objc2-core-foundation", -+ "objc2-core-graphics", -+] -+ - [[package]] - name = "objc2-encode" - version = "4.1.0" -@@ -5849,6 +5406,18 @@ dependencies = [ - "objc2-core-foundation", - ] - -+[[package]] -+name = "objc2-io-surface" -+version = "0.3.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7282e9ac92529fa3457ce90ebb15f4ecbc383e8338060960760fa2cf75420c3c" -+dependencies = [ -+ "bitflags 2.9.1", -+ "libc", -+ "objc2 0.6.1", -+ "objc2-core-foundation", -+] -+ - [[package]] - name = "objc2-link-presentation" - version = "0.2.2" -@@ -5873,6 +5442,17 @@ dependencies = [ - "objc2-foundation 0.2.2", - ] - -+[[package]] -+name = "objc2-metal" -+version = "0.3.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7f246c183239540aab1782457b35ab2040d4259175bd1d0c58e46ada7b47a874" -+dependencies = [ -+ "bitflags 2.9.1", -+ "objc2 0.6.1", -+ "objc2-foundation 0.3.1", -+] -+ - [[package]] - name = "objc2-quartz-core" - version = "0.2.2" -@@ -5883,7 +5463,19 @@ dependencies = [ - "block2", - "objc2 0.5.2", - "objc2-foundation 0.2.2", -- "objc2-metal", -+ "objc2-metal 0.2.2", -+] -+ -+[[package]] -+name = "objc2-quartz-core" -+version = "0.3.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "90ffb6a0cd5f182dc964334388560b12a57f7b74b3e2dec5e2722aa2dfb2ccd5" -+dependencies = [ -+ "bitflags 2.9.1", -+ "objc2 0.6.1", -+ "objc2-core-foundation", -+ "objc2-foundation 0.3.1", - ] - - [[package]] -@@ -5911,7 +5503,7 @@ dependencies = [ - "objc2-core-location", - "objc2-foundation 0.2.2", - "objc2-link-presentation", -- "objc2-quartz-core", -+ "objc2-quartz-core 0.2.2", - "objc2-symbols", - "objc2-uniform-type-identifiers", - "objc2-user-notifications", -@@ -5941,15 +5533,6 @@ dependencies = [ - "objc2-foundation 0.2.2", - ] - --[[package]] --name = "objc_exception" --version = "0.1.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" --dependencies = [ -- "cc", --] -- - [[package]] - name = "objc_id" - version = "0.1.1" -@@ -6107,15 +5690,6 @@ dependencies = [ - "paste", - ] - --[[package]] --name = "orbclient" --version = "0.3.48" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43" --dependencies = [ -- "libredox", --] -- - [[package]] - name = "ordered-float" - version = "4.6.0" -@@ -6125,16 +5699,6 @@ dependencies = [ - "num-traits", - ] - --[[package]] --name = "ordered-stream" --version = "0.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" --dependencies = [ -- "futures-core", -- "pin-project-lite", --] -- - [[package]] - name = "ordermap" - version = "0.3.5" -@@ -6156,12 +5720,6 @@ dependencies = [ - "ttf-parser", - ] - --[[package]] --name = "parking" --version = "2.2.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" -- - [[package]] - name = "parking_lot" - version = "0.12.4" -@@ -6213,7 +5771,7 @@ dependencies = [ - [[package]] - name = "peek-poke" - version = "0.3.0" --source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" -+source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" - dependencies = [ - "euclid", - "peek-poke-derive", -@@ -6222,7 +5780,7 @@ dependencies = [ - [[package]] - name = "peek-poke-derive" - version = "0.3.0" --source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" -+source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" - dependencies = [ - "proc-macro2", - "quote", -@@ -6348,17 +5906,6 @@ version = "0.1.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - --[[package]] --name = "piper" --version = "0.2.4" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" --dependencies = [ -- "atomic-waker", -- "fastrand", -- "futures-io", --] -- - [[package]] - name = "pixels" - version = "0.0.1" -@@ -6626,16 +6173,6 @@ version = "2.0.1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" - --[[package]] --name = "quick-xml" --version = "0.36.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" --dependencies = [ -- "memchr", -- "serde", --] -- - [[package]] - name = "quick-xml" - version = "0.37.5" -@@ -7004,7 +6541,7 @@ dependencies = [ - "errno", - "libc", - "linux-raw-sys 0.4.15", -- "windows-sys 0.52.0", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -7017,7 +6554,7 @@ dependencies = [ - "errno", - "libc", - "linux-raw-sys 0.9.4", -- "windows-sys 0.52.0", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -7314,19 +6851,6 @@ dependencies = [ - "webxr-api", - ] - --[[package]] --name = "sctk-adwaita" --version = "0.10.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" --dependencies = [ -- "ab_glyph", -- "log", -- "memmap2", -- "smithay-client-toolkit", -- "tiny-skia", --] -- - [[package]] - name = "sea-query" - version = "0.32.7" -@@ -7418,17 +6942,6 @@ dependencies = [ - "serde", - ] - --[[package]] --name = "serde_repr" --version = "0.1.20" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" --dependencies = [ -- "proc-macro2", -- "quote", -- "syn", --] -- - [[package]] - name = "serde_spanned" - version = "0.6.9" -@@ -7459,19 +6972,6 @@ dependencies = [ - "serde", - ] - --[[package]] --name = "servo-display-link" --version = "0.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d1060be2a0bbc35e712ec35ae98119b8def1071a5f2edbe392fd4c899bc2a5f4" --dependencies = [ -- "foreign-types 0.3.2", -- "objc", -- "objc-foundation", -- "thiserror 1.0.69", -- "time-point", --] -- - [[package]] - name = "servo-media" - version = "0.1.0" -@@ -7766,7 +7266,6 @@ dependencies = [ - name = "servoshell" - version = "0.0.1" - dependencies = [ -- "accesskit_winit", - "android_logger", - "backtrace", - "cc", -@@ -7873,15 +7372,6 @@ dependencies = [ - "libc", - ] - --[[package]] --name = "signal-hook-registry" --version = "1.4.6" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" --dependencies = [ -- "libc", --] -- - [[package]] - name = "signpost" - version = "0.1.0" -@@ -8263,31 +7753,32 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - - [[package]] - name = "surfman" --version = "0.9.8" --source = "git+https://github.com/servo/surfman?rev=f7688b4585f9e0b5d4bf8ee8e4a91e82349610b1#f7688b4585f9e0b5d4bf8ee8e4a91e82349610b1" -+version = "0.10.0" -+source = "git+https://gitlab.redox-os.org/njskalski/surfman.git?branch=redox_mods#4236949c96b4453adbe36a21a316449e413a6a21" - dependencies = [ - "bitflags 2.9.1", - "cfg_aliases", - "cgl", -- "cocoa", -- "core-foundation 0.9.4", -- "core-graphics", - "euclid", - "fnv", - "gl_generator", - "glow", -- "io-surface", - "libc", - "log", - "mach2", -- "metal 0.24.0", -- "objc", -+ "objc2 0.6.1", -+ "objc2-app-kit 0.3.1", -+ "objc2-core-foundation", -+ "objc2-core-video", -+ "objc2-foundation 0.3.1", -+ "objc2-io-surface", -+ "objc2-metal 0.3.1", -+ "objc2-quartz-core 0.3.1", - "raw-window-handle", -- "servo-display-link", -- "wayland-sys 0.30.1", -+ "wayland-sys", - "winapi", - "wio", -- "x11", -+ "x11-dl", - ] - - [[package]] -@@ -8411,7 +7902,7 @@ dependencies = [ - "getrandom 0.3.3", - "once_cell", - "rustix 1.0.8", -- "windows-sys 0.52.0", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -8514,8 +8005,7 @@ dependencies = [ - [[package]] - name = "tikv-jemalloc-sys" - version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" -+source = "git+https://gitlab.redox-os.org/njskalski/jemallocator.git?branch=redox_mods#8728022a37329295f6754323579765ccd7c73c4d" - dependencies = [ - "cc", - "libc", -@@ -8524,8 +8014,7 @@ dependencies = [ - [[package]] - name = "tikv-jemallocator" - version = "0.6.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865" -+source = "git+https://gitlab.redox-os.org/njskalski/jemallocator.git?branch=redox_mods#8728022a37329295f6754323579765ccd7c73c4d" - dependencies = [ - "libc", - "tikv-jemalloc-sys", -@@ -8564,12 +8053,6 @@ dependencies = [ - "time-core", - ] - --[[package]] --name = "time-point" --version = "0.1.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "06535c958d6abe68dc4b4ef9e6845f758fc42fe463d0093d0aca40254f03fb14" -- - [[package]] - name = "timers" - version = "0.0.1" -@@ -8928,17 +8411,6 @@ version = "1.18.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" - --[[package]] --name = "uds_windows" --version = "1.1.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" --dependencies = [ -- "memoffset", -- "tempfile", -- "winapi", --] -- - [[package]] - name = "uluru" - version = "3.1.0" -@@ -9396,7 +8868,7 @@ dependencies = [ - "rustix 1.0.8", - "scoped-tls", - "smallvec", -- "wayland-sys 0.31.7", -+ "wayland-sys", - ] - - [[package]] -@@ -9445,19 +8917,6 @@ dependencies = [ - "wayland-scanner", - ] - --[[package]] --name = "wayland-protocols-plasma" --version = "0.3.9" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" --dependencies = [ -- "bitflags 2.9.1", -- "wayland-backend", -- "wayland-client", -- "wayland-protocols", -- "wayland-scanner", --] -- - [[package]] - name = "wayland-protocols-wlr" - version = "0.3.9" -@@ -9478,22 +8937,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "54cb1e9dc49da91950bdfd8b848c49330536d9d1fb03d4bfec8cae50caa50ae3" - dependencies = [ - "proc-macro2", -- "quick-xml 0.37.5", -+ "quick-xml", - "quote", - ] - --[[package]] --name = "wayland-sys" --version = "0.30.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" --dependencies = [ -- "dlib", -- "lazy_static", -- "log", -- "pkg-config", --] -- - [[package]] - name = "wayland-sys" - version = "0.31.7" -@@ -9667,7 +9114,7 @@ dependencies = [ - [[package]] - name = "webrender" - version = "0.66.0" --source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" -+source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" - dependencies = [ - "allocator-api2", - "bincode", -@@ -9679,7 +9126,6 @@ dependencies = [ - "euclid", - "fxhash", - "gleam", -- "glslopt", - "lazy_static", - "log", - "malloc_size_of_derive", -@@ -9702,7 +9148,7 @@ dependencies = [ - [[package]] - name = "webrender_api" - version = "0.66.0" --source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" -+source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" - dependencies = [ - "app_units", - "bitflags 2.9.1", -@@ -9723,7 +9169,7 @@ dependencies = [ - [[package]] - name = "webrender_build" - version = "0.0.2" --source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" -+source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" - dependencies = [ - "bitflags 2.9.1", - "lazy_static", -@@ -9877,7 +9323,7 @@ dependencies = [ - "libc", - "libloading", - "log", -- "metal 0.31.0", -+ "metal", - "naga", - "ndk-sys 0.5.0+25.2.9519653", - "objc", -@@ -9912,18 +9358,6 @@ dependencies = [ - "web-sys", - ] - --[[package]] --name = "which" --version = "4.4.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" --dependencies = [ -- "either", -- "home", -- "once_cell", -- "rustix 0.38.44", --] -- - [[package]] - name = "winapi" - version = "0.3.9" -@@ -10347,10 +9781,8 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - [[package]] - name = "winit" - version = "0.30.12" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c66d4b9ed69c4009f6321f762d6e61ad8a2389cd431b97cb1e146812e9e6c732" -+source = "git+https://gitlab.redox-os.org/njskalski/winit.git?branch=redox_mods2#9e2e0273792b9c1feaf4492b1ab43f8ed2715ad6" - dependencies = [ -- "ahash", - "android-activity", - "atomic-waker", - "bitflags 2.9.1", -@@ -10365,29 +9797,21 @@ dependencies = [ - "dpi", - "js-sys", - "libc", -- "memmap2", - "ndk", - "objc2 0.5.2", - "objc2-app-kit 0.2.2", - "objc2-foundation 0.2.2", - "objc2-ui-kit", -- "orbclient", - "percent-encoding", - "pin-project", - "raw-window-handle", - "redox_syscall 0.4.1", - "rustix 0.38.44", -- "sctk-adwaita", -- "smithay-client-toolkit", - "smol_str", - "tracing", - "unicode-segmentation", - "wasm-bindgen", - "wasm-bindgen-futures", -- "wayland-backend", -- "wayland-client", -- "wayland-protocols", -- "wayland-protocols-plasma", - "web-sys", - "web-time", - "windows-sys 0.52.0", -@@ -10435,7 +9859,7 @@ dependencies = [ - [[package]] - name = "wr_glyph_rasterizer" - version = "0.1.0" --source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" -+source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" - dependencies = [ - "core-foundation 0.9.4", - "core-graphics", -@@ -10460,7 +9884,7 @@ dependencies = [ - [[package]] - name = "wr_malloc_size_of" - version = "0.2.0" --source = "git+https://github.com/servo/webrender?branch=0.67#15318d6627e91ec19fc0a44a7434b08673413140" -+source = "git+https://gitlab.redox-os.org/njskalski/webrender.git?branch=redox_mods#a649cc9985e700dc9fd3430e38b835cc038af71b" - dependencies = [ - "app_units", - "euclid", -@@ -10481,16 +9905,6 @@ dependencies = [ - "either", - ] - --[[package]] --name = "x11" --version = "2.21.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" --dependencies = [ -- "libc", -- "pkg-config", --] -- - [[package]] - name = "x11-dl" - version = "2.21.0" -@@ -10505,23 +9919,21 @@ dependencies = [ - [[package]] - name = "x11rb" - version = "0.13.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" -+source = "git+https://gitlab.redox-os.org/njskalski/x11rb.git?branch=redox_mods#3195258c70608340a191c0356bd42b443cf866d8" - dependencies = [ - "as-raw-xcb-connection", - "gethostname", - "libc", - "libloading", - "once_cell", -- "rustix 0.38.44", -+ "rustix 1.0.8", - "x11rb-protocol", - ] - - [[package]] - name = "x11rb-protocol" - version = "0.13.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" -+source = "git+https://gitlab.redox-os.org/njskalski/x11rb.git?branch=redox_mods#3195258c70608340a191c0356bd42b443cf866d8" - - [[package]] - name = "xattr" -@@ -10632,103 +10044,6 @@ dependencies = [ - "synstructure", - ] - --[[package]] --name = "zbus" --version = "5.9.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4bb4f9a464286d42851d18a605f7193b8febaf5b0919d71c6399b7b26e5b0aad" --dependencies = [ -- "async-broadcast", -- "async-executor", -- "async-io", -- "async-lock", -- "async-process", -- "async-recursion", -- "async-task", -- "async-trait", -- "blocking", -- "enumflags2", -- "event-listener", -- "futures-core", -- "futures-lite", -- "hex 0.4.3", -- "nix 0.30.1", -- "ordered-stream", -- "serde", -- "serde_repr", -- "tracing", -- "uds_windows", -- "windows-sys 0.59.0", -- "winnow", -- "zbus_macros", -- "zbus_names", -- "zvariant", --] -- --[[package]] --name = "zbus-lockstep" --version = "0.5.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "29e96e38ded30eeab90b6ba88cb888d70aef4e7489b6cd212c5e5b5ec38045b6" --dependencies = [ -- "zbus_xml", -- "zvariant", --] -- --[[package]] --name = "zbus-lockstep-macros" --version = "0.5.1" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "dc6821851fa840b708b4cbbaf6241868cabc85a2dc22f426361b0292bfc0b836" --dependencies = [ -- "proc-macro2", -- "quote", -- "syn", -- "zbus-lockstep", -- "zbus_xml", -- "zvariant", --] -- --[[package]] --name = "zbus_macros" --version = "5.9.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ef9859f68ee0c4ee2e8cde84737c78e3f4c54f946f2a38645d0d4c7a95327659" --dependencies = [ -- "proc-macro-crate", -- "proc-macro2", -- "quote", -- "syn", -- "zbus_names", -- "zvariant", -- "zvariant_utils", --] -- --[[package]] --name = "zbus_names" --version = "4.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7be68e64bf6ce8db94f63e72f0c7eb9a60d733f7e0499e628dfab0f84d6bcb97" --dependencies = [ -- "serde", -- "static_assertions", -- "winnow", -- "zvariant", --] -- --[[package]] --name = "zbus_xml" --version = "5.0.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "589e9a02bfafb9754bb2340a9e3b38f389772684c63d9637e76b1870377bec29" --dependencies = [ -- "quick-xml 0.36.2", -- "serde", -- "static_assertions", -- "zbus_names", -- "zvariant", --] -- - [[package]] - name = "zerocopy" - version = "0.8.26" -@@ -10832,44 +10147,3 @@ checksum = "fc1f7e205ce79eb2da3cd71c5f55f3589785cb7c79f6a03d1c8d1491bda5d089" - dependencies = [ - "zune-core", - ] -- --[[package]] --name = "zvariant" --version = "5.6.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d91b3680bb339216abd84714172b5138a4edac677e641ef17e1d8cb1b3ca6e6f" --dependencies = [ -- "endi", -- "enumflags2", -- "serde", -- "winnow", -- "zvariant_derive", -- "zvariant_utils", --] -- --[[package]] --name = "zvariant_derive" --version = "5.6.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "3a8c68501be459a8dbfffbe5d792acdd23b4959940fc87785fb013b32edbc208" --dependencies = [ -- "proc-macro-crate", -- "proc-macro2", -- "quote", -- "syn", -- "zvariant_utils", --] -- --[[package]] --name = "zvariant_utils" --version = "3.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "e16edfee43e5d7b553b77872d99bc36afdda75c223ca7ad5e3fbecd82ca5fc34" --dependencies = [ -- "proc-macro2", -- "quote", -- "serde", -- "static_assertions", -- "syn", -- "winnow", --] diff --git a/Cargo.toml b/Cargo.toml -index 2dcb622934f..014eb5c0085 100644 +index 2dcb622934f..0d5f41924c0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -55,14 +55,14 @@ ctr = "0.9.2" @@ -1766,7 +7,7 @@ index 2dcb622934f..014eb5c0085 100644 data-url = "0.3" devtools_traits = { path = "components/shared/devtools" } -dpi = "0.1" -+dpi = "0.1.1" ++dpi = { git = "https://gitlab.redox-os.org/njskalski/winit.git", branch = "redox_mods2"} embedder_traits = { path = "components/shared/embedder" } encoding_rs = "0.8" env_logger = "0.11" @@ -1814,7 +55,7 @@ index 2dcb622934f..014eb5c0085 100644 wio = "0.2" wr_malloc_size_of = { git = "https://github.com/servo/webrender", branch = "0.67" } xi-unicode = "0.3.0" -@@ -222,6 +222,21 @@ lto = "thin" +@@ -222,6 +222,20 @@ lto = "thin" codegen-units = 1 [patch.crates-io] @@ -1829,14 +70,13 @@ index 2dcb622934f..014eb5c0085 100644 +# mozjs_sys = { git = "https://gitlab.redox-os.org/njskalski/mozjs.git", rev = "e2ee9c77148c3af4f11fdff9a2cbd7e449d48d33"} +# mozjs = { git = "https://gitlab.redox-os.org/njskalski/mozjs.git", branch = "redox_mods"} +x11rb = { git = "https://gitlab.redox-os.org/njskalski/x11rb.git", branch = "redox_mods"} -+libz-sys = { git = "https://github.com/rust-lang/libz-sys.git", branch = "main"} ++libz-sys = { git = "https://github.com/willnode/libz-sys.git", branch = "servo"} +winit = { git = "https://gitlab.redox-os.org/njskalski/winit.git", branch = "redox_mods2"} -+dpi = { git = "https://gitlab.redox-os.org/njskalski/winit.git", branch = "redox_mods2"} +# freetype-sys = { git = "https://github.com/PistonDevelopers/freetype-sys.git", branch = "master" } # If you need to temporarily test Servo with a local fork of some upstream # crate, add that here. Use the form: # -@@ -250,7 +265,7 @@ codegen-units = 1 +@@ -250,7 +264,7 @@ codegen-units = 1 # # [patch."https://github.com/servo/webrender"] # webrender = { path = "../webrender/webrender" } @@ -2260,7 +500,7 @@ index 36711c0f83a..474c7722812 100644 +webrender_api = { git = "https://gitlab.redox-os.org/njskalski/webrender.git", branch = "redox_mods" } webxr-api = { workspace = true, features = ["ipc"] } diff --git a/components/shared/compositing/Cargo.toml b/components/shared/compositing/Cargo.toml -index 11ac6223766..21d7943060e 100644 +index 11ac6223766..98fe1417013 100644 --- a/components/shared/compositing/Cargo.toml +++ b/components/shared/compositing/Cargo.toml @@ -19,7 +19,7 @@ base = { workspace = true } @@ -2268,7 +508,7 @@ index 11ac6223766..21d7943060e 100644 bitflags = { workspace = true } crossbeam-channel = { workspace = true } -dpi = { version = "0.1" } -+dpi = { version = "0.1.1" } ++dpi = { workspace = true } embedder_traits = { workspace = true } euclid = { workspace = true } gleam = { workspace = true } @@ -2690,3 +930,26 @@ index b1f0b1d742e..046b016a2e2 100644 Self::Suspended => target!("Suspended"), Self::Resumed => target!("Resumed"), Self::AboutToWait => target!("AboutToWait"), +diff --git a/rust-toolchain.toml b/rust-toolchain.toml +deleted file mode 100644 +index 09d8bc760c6..00000000000 +--- a/rust-toolchain.toml ++++ /dev/null +@@ -1,17 +0,0 @@ +-[toolchain] +-# Be sure to update the 'rust-overlay' module's url in shell.nix to point to a +-# commit which supports the required rustc version and also update the version +-# in support/crown/rust-toolchain.toml when bumping this! +-channel = "1.85.0" +- +-components = [ +- "clippy", +- # For support/crown +- "llvm-tools", +- # For support/crown +- "rustc-dev", +- "rustfmt", +- "rustc-dev", +- # For rust-analyzer +- "rust-src", +-] From 1697c2f2df5bb0d41a3bf224e8d9e81fd71f2ecc Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 1 Oct 2025 14:59:53 +0700 Subject: [PATCH 103/182] Use upstream --- recipes/wip/web/servo/recipe.toml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/recipes/wip/web/servo/recipe.toml b/recipes/wip/web/servo/recipe.toml index 38f73d260..92dbc12f1 100644 --- a/recipes/wip/web/servo/recipe.toml +++ b/recipes/wip/web/servo/recipe.toml @@ -1,5 +1,5 @@ [source] -git = "https://gitlab.redox-os.org/njskalski/servo.git" +git = "github.com/servo/servo.git" rev = "25fea1e086c46d611cf87db439430994e4f56cd5" patches = [ "redox.patch" @@ -21,8 +21,6 @@ dependencies = [ "libpng", "libiconv", "libx11", - "libxcursor", - "libxkbcommon-x11", "libxcb", "libpng", "openssl1", @@ -62,8 +60,8 @@ export CARGO_MAKEFLAGS="-j $COOKBOOK_MAKE_JOBS" CCACHE="sccache" PACKAGE_PATH="ports/servoshell" cookbook_cargo """ -# [package] -# dependencies = [ -# "libxcursor", -# "libxkbcommon-x11", -# ] \ No newline at end of file +[package] +dependencies = [ + "libxcursor", + "libxkbcommon-x11", +] From 4effaa8da18d97cebb4d1459b7e6d7b3057f1415 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 2 Oct 2025 13:08:40 -0600 Subject: [PATCH 104/182] webkitgtk3: enable debug logs --- recipes/wip/libs/other/webkitgtk3/recipe.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/wip/libs/other/webkitgtk3/recipe.toml b/recipes/wip/libs/other/webkitgtk3/recipe.toml index 682b2856e..0494658bd 100644 --- a/recipes/wip/libs/other/webkitgtk3/recipe.toml +++ b/recipes/wip/libs/other/webkitgtk3/recipe.toml @@ -115,10 +115,12 @@ LIBS=( #TODO: enable more features cookbook_cmake \ -DCMAKE_CXX_STANDARD_LIBRARIES="${LIBS[*]}" \ + -DENABLE_ASSERTS=ON \ -DENABLE_GAMEPAD=OFF \ -DENABLE_INTROSPECTION=OFF \ -DENABLE_MEDIA_STREAM=OFF \ -DENABLE_JOURNALD_LOG=OFF \ + -DENABLE_RELEASE_LOG=ON \ -DENABLE_SPEECH_SYNTHESIS=OFF \ -DENABLE_SPELLCHECK=OFF \ -DENABLE_WEB_AUDIO=OFF \ From 079e0af2e2d6b013fb638bb1290e9cecd933ba97 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 2 Oct 2025 13:09:16 -0600 Subject: [PATCH 105/182] Ignore source-old directories --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b172da92b..43638a2b8 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ source source.tmp source-new +source-old source.tar source.tar.tmp target From c51fad08ff420e0819923d20052a27c3e5208925 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 3 Oct 2025 13:55:38 +0700 Subject: [PATCH 106/182] Add mirror config --- .gitignore | 1 + Cargo.toml | 1 + README.md | 18 +++++++- src/bin/cook.rs | 6 ++- src/config.rs | 115 ++++++++++++++++++++++++++++++++++++++++++++++++ src/lib.rs | 1 + 6 files changed, 139 insertions(+), 3 deletions(-) create mode 100644 src/config.rs diff --git a/.gitignore b/.gitignore index b172da92b..c1ecfbf98 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /build /repo +/cookbook.toml source source.tmp source-new diff --git a/Cargo.toml b/Cargo.toml index 9376f6612..b4695befe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,6 +18,7 @@ path = "src/bin/cookbook_redoxer.rs" [lib] name = "cookbook" path = "src/lib.rs" +doctest = false [dependencies] blake3 = "=1.5.3" # 1.5.4 is incompatible with blake3 0.3 dependency from pkgar diff --git a/README.md b/README.md index 45af88447..7cba4907c 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,11 @@ This repository contains the system source code and packages inside the `recipes **Read [this](https://doc.redox-os.org/book/porting-applications.html) page before porting programs to Redox** In order for this repository to be useful, it must be set up with an environment -from the [redox](https://gitlab.redox-os.org/redox-os/redox) repository. +from the [redox](https://gitlab.redox-os.org/redox-os/redox) repository or inside Redox OS with `cookbook` package. [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) +- [Cookbook Config](#cookbook-config) - [Recipe Categories](#recipe-categories) - [Search Recipes](#search-recipes) - [Package Policy](#package-policy) @@ -21,6 +22,21 @@ from the [redox](https://gitlab.redox-os.org/redox-os/redox) repository. - [Repository Layout](#repository-layout) - [TODO](#todo) +### Cookbook Config + +Cookbook has special config to avoid repetitive args, place this file into `cookbook.toml` (in this cookbook directory, not redox build system) and configure it necessarily. + +```toml +# Configuration file +# This is a configuration file to avoid repetitively spelling command args. +# At the moment only mirrors here implemented but in future it will be expanded when scripts are rusted + +[[mirrors]] +# https://www.gnu.org/prep/ftp.en.html +"ftp.gnu.com" = "example.com/gnu" +"github.com/foo/bar" = "github.com/baz/bar" +``` + ### Recipe Categories The categories inside the `recipes` folder. diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 5dd888d58..267c4c66c 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -1,4 +1,5 @@ use cookbook::blake3::blake3_progress; +use cookbook::config::{init_config, translate_mirror}; use cookbook::recipe::{AutoDeps, BuildKind, CookRecipe, Recipe, SourceRecipe}; use pkg::package::Package; use pkg::{recipes, PackageName}; @@ -369,7 +370,7 @@ fn fetch(recipe_dir: &Path, source: &Option) -> Result Result { } fn main() { + init_config(); let mut matching = true; let mut dry_run = false; let mut fetch_only = false; diff --git a/src/config.rs b/src/config.rs new file mode 100644 index 000000000..fb07ce2aa --- /dev/null +++ b/src/config.rs @@ -0,0 +1,115 @@ +use std::{collections::HashMap, fs, sync::OnceLock}; + +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Default, Deserialize, PartialEq, Serialize)] +pub struct CookbookConfig { + pub mirrors: HashMap, +} + +static CONFIG: OnceLock = OnceLock::new(); + +pub fn init_config() { + let config: CookbookConfig = { + let toml_content = fs::read_to_string("cookbook.toml").unwrap_or("".to_owned()); + toml::from_str(&toml_content).unwrap_or(CookbookConfig::default()) + }; + + CONFIG.set(config).expect("config is initialized twice"); +} + +pub fn translate_mirror(original_url: &str) -> String { + let config = CONFIG.get().expect("Configuration is not initialized"); + + let stripped_url = original_url + .strip_prefix("https://") + .or_else(|| original_url.strip_prefix("http://")) + .unwrap_or(original_url); + + let mut best_match_prefix: Option<&String> = None; + + for prefix in config.mirrors.keys() { + if stripped_url.starts_with(prefix) { + match best_match_prefix { + Some(current_best) if prefix.len() > current_best.len() => { + best_match_prefix = Some(prefix); + } + None => { + best_match_prefix = Some(prefix); + } + _ => {} + } + } + } + + if let Some(prefix) = best_match_prefix { + let mirror_base = config.mirrors.get(prefix).unwrap(); + let suffix = &stripped_url[prefix.len()..]; + let ptotocol = &original_url[..(original_url.len() - stripped_url.len())]; + return format!("{}{}{}", ptotocol, mirror_base, suffix); + } + + original_url.to_string() +} + +#[cfg(test)] +mod tests { + use super::*; + + fn setup_test_config() { + let mut mirrors = HashMap::new(); + mirrors.insert("ftp.gnu.com".to_string(), "example.com/gnu".to_string()); + mirrors.insert( + "github.com/foo/bar".to_string(), + "github.com/baz/bar".to_string(), + ); + mirrors.insert("github.com/a".to_string(), "github.com/b".to_string()); + + let app_config = CookbookConfig { mirrors }; + + // This will be called for each test. If the config is already set, + // it will do nothing, which is fine as all tests use the same config. + let _ = CONFIG.set(app_config); + } + + #[test] + fn test_exact_match() { + setup_test_config(); + assert_eq!(translate_mirror("ftp.gnu.com"), "example.com/gnu"); + assert_eq!(translate_mirror("github.com/foo/bar"), "github.com/baz/bar"); + } + + #[test] + fn test_prefix_match() { + setup_test_config(); + assert_eq!( + translate_mirror("https://github.com/a/c"), + "https://github.com/b/c" + ); + assert_eq!( + translate_mirror("https://ftp.gnu.com/path/to/file"), + "https://example.com/gnu/path/to/file" + ); + } + + #[test] + fn test_longest_prefix_match() { + setup_test_config(); + // "github.com/foo/bar" is a longer and more specific prefix than "github.com/a", + // so it should be chosen for the translation. + assert_eq!( + translate_mirror("https://github.com/foo/bar/baz"), + "https://github.com/baz/bar/baz" + ); + } + + #[test] + fn test_no_match() { + setup_test_config(); + assert_eq!(translate_mirror("www.rust-lang.org"), "www.rust-lang.org"); + assert_eq!( + translate_mirror("http://github.com/unrelated/repo"), + "http://github.com/unrelated/repo" + ); + } +} diff --git a/src/lib.rs b/src/lib.rs index 5a0b3fffc..0afa53ae3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,6 @@ pub mod blake3; pub mod recipe; +pub mod config; mod progress_bar; From 26e6e0dc068ad7f3cc49139f4c2edc70c91a4d8c Mon Sep 17 00:00:00 2001 From: Wildan M Date: Fri, 3 Oct 2025 13:59:14 +0700 Subject: [PATCH 107/182] fmt --- src/bin/cook.rs | 5 ++++- src/lib.rs | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 267c4c66c..437c00b63 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -370,7 +370,10 @@ fn fetch(recipe_dir: &Path, source: &Option) -> Result Date: Sat, 4 Oct 2025 07:57:01 -0600 Subject: [PATCH 108/182] Update pkgar --- pkgar | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgar b/pkgar index 44677ccbf..98aecac8d 160000 --- a/pkgar +++ b/pkgar @@ -1 +1 @@ -Subproject commit 44677ccbff9e315ce9de1a85ac5a30cfff1aad30 +Subproject commit 98aecac8d40b6a47429e2a5585416ad90c02e6db From 1eba0467e73adb63a6238317e3d3c6ac63d7429d Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 5 Oct 2025 12:59:32 +0700 Subject: [PATCH 109/182] Skip gettext docs --- recipes/tools/gettext/recipe.toml | 2 +- recipes/tools/gettext/redox.patch | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/recipes/tools/gettext/recipe.toml b/recipes/tools/gettext/recipe.toml index 276e4e83d..c50a5fb1c 100644 --- a/recipes/tools/gettext/recipe.toml +++ b/recipes/tools/gettext/recipe.toml @@ -8,7 +8,7 @@ patches = [ ] script = """ DYNAMIC_INIT -wget -O build-aux/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" +GNU_CONFIG_GET build-aux/config.sub ( cd gettext-runtime/libasprintf && autoreconf -fvi -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) ( cd gettext-runtime/intl && autoreconf -fvi -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) ( cd gettext-runtime && autoreconf -fvi -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) diff --git a/recipes/tools/gettext/redox.patch b/recipes/tools/gettext/redox.patch index 8c01434ef..8b6f307d0 100644 --- a/recipes/tools/gettext/redox.patch +++ b/recipes/tools/gettext/redox.patch @@ -32,3 +32,15 @@ diff -ruwN source/gettext-tools/gnulib-lib/spawni.c source-new/gettext-tools/gnu # endif # define local_seteuid(id) seteuid (id) # define local_setegid(id) setegid (id) +diff -ruwN source/gettext-tools/Makefile.am source-new/gettext-tools/Makefile.am +--- source/gettext-tools/Makefile.am 2023-09-19 03:08:31.000000000 +0700 ++++ source-new/gettext-tools/Makefile.am 2025-10-05 12:39:33.287595871 +0700 +@@ -19,7 +19,7 @@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 + +-SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc ++SUBDIRS = gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 + + EXTRA_DIST = misc/DISCLAIM + MOSTLYCLEANFILES = core *.stackdump From 5a73518cc279654bac78d495a9552ab488fb0da2 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 5 Oct 2025 06:50:52 +0000 Subject: [PATCH 110/182] Enable sccache for webkitgtk3 --- recipes/wip/libs/other/webkitgtk3/recipe.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/wip/libs/other/webkitgtk3/recipe.toml b/recipes/wip/libs/other/webkitgtk3/recipe.toml index 0494658bd..264acc8fe 100644 --- a/recipes/wip/libs/other/webkitgtk3/recipe.toml +++ b/recipes/wip/libs/other/webkitgtk3/recipe.toml @@ -59,6 +59,8 @@ dependencies = [ ] script = """ DYNAMIC_INIT +export WEBKIT_USE_SCCACHE=1 + #TODO: why are these not automatic? LIBS=( $("${TARGET}-pkg-config" --libs epoxy) From 89bddfef81ed1bcfe2edbcbb36c6610ff75490f6 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 5 Oct 2025 08:43:23 +0000 Subject: [PATCH 111/182] Add condition for low memory build --- recipes/wip/libs/other/webkitgtk3/recipe.toml | 66 +++++++++++-------- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/recipes/wip/libs/other/webkitgtk3/recipe.toml b/recipes/wip/libs/other/webkitgtk3/recipe.toml index 264acc8fe..0237dddf1 100644 --- a/recipes/wip/libs/other/webkitgtk3/recipe.toml +++ b/recipes/wip/libs/other/webkitgtk3/recipe.toml @@ -114,36 +114,46 @@ LIBS=( $("${TARGET}-pkg-config" --libs xrandr) $("${TARGET}-pkg-config" --libs xrender) ) + #TODO: enable more features -cookbook_cmake \ - -DCMAKE_CXX_STANDARD_LIBRARIES="${LIBS[*]}" \ - -DENABLE_ASSERTS=ON \ - -DENABLE_GAMEPAD=OFF \ - -DENABLE_INTROSPECTION=OFF \ - -DENABLE_MEDIA_STREAM=OFF \ - -DENABLE_JOURNALD_LOG=OFF \ - -DENABLE_RELEASE_LOG=ON \ - -DENABLE_SPEECH_SYNTHESIS=OFF \ - -DENABLE_SPELLCHECK=OFF \ - -DENABLE_WEB_AUDIO=OFF \ - -DENABLE_WEB_CODECS=OFF \ - -DENABLE_VIDEO=OFF \ - -DPORT=GTK \ - -DUNIX=1 \ - -DUSE_AVIF=OFF \ - -DUSE_GSTREAMER_GL=OFF \ - -DUSE_GTK4=OFF \ - -DUSE_JPEGXL=OFF \ - -DUSE_LCMS=OFF \ - -DUSE_LIBBACKTRACE=OFF \ - -DUSE_LIBDRM=OFF \ - -DUSE_LIBHYPHEN=OFF \ - -DUSE_LIBSECRET=OFF \ - -DUSE_SKIA=OFF \ - -DUSE_SYSPROF_CAPTURE=OFF \ - -DUSE_SYSTEM_MALLOC=ON \ - -DUSE_SYSTEM_SYSPROF_CAPTURE=OFF \ +COOKBOOK_CMAKE_FLAGS+=( + -DENABLE_ASSERTS=ON + -DENABLE_GAMEPAD=OFF + -DENABLE_INTROSPECTION=OFF + -DENABLE_MEDIA_STREAM=OFF + -DENABLE_JOURNALD_LOG=OFF + -DENABLE_RELEASE_LOG=ON + -DENABLE_SPEECH_SYNTHESIS=OFF + -DENABLE_SPELLCHECK=OFF + -DENABLE_WEB_AUDIO=OFF + -DENABLE_WEB_CODECS=OFF + -DENABLE_VIDEO=OFF + -DPORT=GTK + -DUNIX=1 + -DUSE_AVIF=OFF + -DUSE_GSTREAMER_GL=OFF + -DUSE_GTK4=OFF + -DUSE_JPEGXL=OFF + -DUSE_LCMS=OFF + -DUSE_LIBBACKTRACE=OFF + -DUSE_LIBDRM=OFF + -DUSE_LIBHYPHEN=OFF + -DUSE_LIBSECRET=OFF + -DUSE_SKIA=OFF + -DUSE_SYSPROF_CAPTURE=OFF + -DUSE_SYSTEM_MALLOC=ON + -DUSE_SYSTEM_SYSPROF_CAPTURE=OFF -DUSE_WOFF2=OFF +) + +if (( $(free -b | awk '/^Mem:/ {print $2}') < "$COOKBOOK_MAKE_JOBS" * 4 * 1024 * 1024 * 1024 )); then + echo "Disabling unified build as RAM is not big enough" + COOKBOOK_CMAKE_FLAGS+=( -DENABLE_UNIFIED_BUILDS=OFF ) +fi + +cookbook_cmake \ + -DCMAKE_CXX_STANDARD_LIBRARIES="${LIBS[*]}" + 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" From bbb8589b0c5d2a5246fccccfe15ea0dd1ab00cf3 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 5 Oct 2025 16:24:23 +0700 Subject: [PATCH 112/182] Allow check build deps on make image --- src/bin/cook.rs | 2 +- src/recipe.rs | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 437c00b63..7b51a9e89 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -1417,7 +1417,7 @@ fn main() { }; } - let recipes = match CookRecipe::get_build_deps_recursive(&recipe_names) { + let recipes = match CookRecipe::get_build_deps_recursive(&recipe_names, !with_package_deps) { Ok(ok) => ok, Err(err) => { eprintln!( diff --git a/src/recipe.rs b/src/recipe.rs index 06c49e686..bca680f85 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -202,11 +202,16 @@ impl CookRecipe { Ok(recipes) } - pub fn get_build_deps_recursive(names: &[PackageName]) -> Result, PackageError> { + pub fn get_build_deps_recursive( + names: &[PackageName], + mark_is_deps: bool, + ) -> Result, PackageError> { let mut packages = Self::new_recursive(names, WALK_DEPTH)?; - for package in packages.iter_mut() { - package.is_deps = !names.contains(&package.name); + if mark_is_deps { + for package in packages.iter_mut() { + package.is_deps = !names.contains(&package.name); + } } Ok(packages) From c6fc6963249ab8ffa7943c7d59f4ee3f6691f89a Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 5 Oct 2025 19:59:43 +0700 Subject: [PATCH 113/182] Unconditionally disable unified builds --- recipes/wip/libs/other/webkitgtk3/recipe.toml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/recipes/wip/libs/other/webkitgtk3/recipe.toml b/recipes/wip/libs/other/webkitgtk3/recipe.toml index 0237dddf1..20839564e 100644 --- a/recipes/wip/libs/other/webkitgtk3/recipe.toml +++ b/recipes/wip/libs/other/webkitgtk3/recipe.toml @@ -125,6 +125,7 @@ COOKBOOK_CMAKE_FLAGS+=( -DENABLE_RELEASE_LOG=ON -DENABLE_SPEECH_SYNTHESIS=OFF -DENABLE_SPELLCHECK=OFF + -DENABLE_UNIFIED_BUILDS=OFF -DENABLE_WEB_AUDIO=OFF -DENABLE_WEB_CODECS=OFF -DENABLE_VIDEO=OFF @@ -146,11 +147,6 @@ COOKBOOK_CMAKE_FLAGS+=( -DUSE_WOFF2=OFF ) -if (( $(free -b | awk '/^Mem:/ {print $2}') < "$COOKBOOK_MAKE_JOBS" * 4 * 1024 * 1024 * 1024 )); then - echo "Disabling unified build as RAM is not big enough" - COOKBOOK_CMAKE_FLAGS+=( -DENABLE_UNIFIED_BUILDS=OFF ) -fi - cookbook_cmake \ -DCMAKE_CXX_STANDARD_LIBRARIES="${LIBS[*]}" From 485b6dd82d9a1487912a0083dbaf74132642b14c Mon Sep 17 00:00:00 2001 From: Wildan M Date: Mon, 6 Oct 2025 13:49:14 +0700 Subject: [PATCH 114/182] Detect version and provide manual version metadata --- Cargo.lock | 1 + Cargo.toml | 1 + src/bin/cook.rs | 8 ++++++++ src/recipe.rs | 35 +++++++++++++++++++++++++++++------ 4 files changed, 39 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1b8f1fd32..0dd230b58 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1888,6 +1888,7 @@ dependencies = [ "pkgar-keys 0.1.19", "redox-pkg 0.2.8", "redoxer", + "regex", "serde", "tempfile", "termion", diff --git a/Cargo.toml b/Cargo.toml index b4695befe..b334424a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,6 +30,7 @@ pkgar-core = { path = "pkgar/pkgar-core" } pkgar-keys = { path = "pkgar/pkgar-keys" } redox-pkg = { git = "https://gitlab.redox-os.org/redox-os/pkgutils" } redoxer = "0.2" +regex = "1.11" serde = { version = "=1.0.197", features = ["derive"] } termion = "4" toml = "0.8" diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 437c00b63..c1b3bc945 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -1308,6 +1308,14 @@ fn package_toml( fn package_version(recipe: &Recipe) -> String { if recipe.build.kind == BuildKind::None { "".into() + } else if let Some(v) = &recipe.package.version { + v.to_string() + } else if let Some(r) = &recipe.source { + if let Some(m) = r.guess_version() { + m + } else { + "TODO".into() + } } else { "TODO".into() } diff --git a/src/recipe.rs b/src/recipe.rs index 06c49e686..deed2ce45 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -1,6 +1,7 @@ use std::{collections::BTreeSet, convert::TryInto, fs, path::PathBuf}; use pkg::{package::PackageError, recipes, PackageName}; +use regex::Regex; use serde::{ de::{value::Error as DeError, Error as DeErrorT}, Deserialize, Serialize, @@ -61,6 +62,26 @@ pub enum SourceRecipe { }, } +impl SourceRecipe { + pub fn guess_version(&self) -> Option { + match self { + SourceRecipe::Tar { + tar, + blake3: _, + patches: _, + script: _, + } => { + let re = Regex::new(r"\d+\.\d+\.\d+").unwrap(); + if let Some(arm) = re.captures(&tar) { + return Some(arm.get(0).unwrap().as_str().to_string()); + } + None + } + _ => None, + } + } +} + /// Specifies how to build a recipe #[derive(Debug, Deserialize, PartialEq, Serialize)] #[serde(tag = "template")] @@ -117,6 +138,8 @@ pub struct BuildRecipe { pub struct PackageRecipe { #[serde(default)] pub dependencies: Vec, + #[serde(default)] + pub version: Option, } /// Everything required to build a Redox package @@ -293,9 +316,7 @@ mod tests { }, dependencies: Vec::new(), }, - package: PackageRecipe { - dependencies: Vec::new(), - }, + package: PackageRecipe::default(), } ); } @@ -335,11 +356,12 @@ mod tests { }, dependencies: Vec::new(), }, - package: PackageRecipe { - dependencies: Vec::new(), - }, + package: PackageRecipe::default(), } ); + + let source = recipe.source.unwrap(); + assert_eq!(source.guess_version(), Some("1.3.3".to_string())); } #[test] @@ -366,6 +388,7 @@ mod tests { }, package: PackageRecipe { dependencies: vec![PackageName::new("gcc13").unwrap()], + version: None, }, } ); From 7eed897f825d81d907ef5e492f3f9cc14d39dc46 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 6 Oct 2025 15:30:37 -0300 Subject: [PATCH 115/182] Add recipes --- recipes/wip/dev/analysis/honggfuzz-rs/recipe.toml | 10 ++++++++++ recipes/wip/dev/cargo-tools/cargo-subspace/recipe.toml | 5 +++++ 2 files changed, 15 insertions(+) create mode 100644 recipes/wip/dev/analysis/honggfuzz-rs/recipe.toml create mode 100644 recipes/wip/dev/cargo-tools/cargo-subspace/recipe.toml diff --git a/recipes/wip/dev/analysis/honggfuzz-rs/recipe.toml b/recipes/wip/dev/analysis/honggfuzz-rs/recipe.toml new file mode 100644 index 000000000..de6a688dc --- /dev/null +++ b/recipes/wip/dev/analysis/honggfuzz-rs/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rust-fuzz/honggfuzz-rs" +[build] +template = "cargo" +dependencies = [ + "gnu-binutils", + "libunwind", + "xz", +] diff --git a/recipes/wip/dev/cargo-tools/cargo-subspace/recipe.toml b/recipes/wip/dev/cargo-tools/cargo-subspace/recipe.toml new file mode 100644 index 000000000..2e5ca44a8 --- /dev/null +++ b/recipes/wip/dev/cargo-tools/cargo-subspace/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ethowitz/cargo-subspace" +[build] +template = "cargo" From 82cdd055e48bd3eb21f1eb83334660a2903d75af Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 6 Oct 2025 15:46:34 -0300 Subject: [PATCH 116/182] Try to fix CMake-based recipes --- recipes/wip/analysis/cutter/recipe.toml | 17 +---------------- recipes/wip/analysis/netdata/recipe.toml | 17 +---------------- recipes/wip/codecs/svt-hevc/recipe.toml | 17 +---------------- recipes/wip/codecs/svt-vp9/recipe.toml | 17 +---------------- recipes/wip/codecs/uvg266/recipe.toml | 17 +---------------- recipes/wip/codecs/vvenc/recipe.toml | 17 +---------------- recipes/wip/codecs/x265/recipe.toml | 17 +---------------- recipes/wip/db/clickhouse/recipe.toml | 17 +---------------- recipes/wip/db/mariadb-lts/recipe.toml | 14 +------------- recipes/wip/db/mariadb/recipe.toml | 14 +------------- recipes/wip/db/mysql-server/recipe.toml | 14 +------------- 11 files changed, 11 insertions(+), 167 deletions(-) diff --git a/recipes/wip/analysis/cutter/recipe.toml b/recipes/wip/analysis/cutter/recipe.toml index b023d0a58..adb02a309 100644 --- a/recipes/wip/analysis/cutter/recipe.toml +++ b/recipes/wip/analysis/cutter/recipe.toml @@ -2,25 +2,10 @@ [source] tar = "https://github.com/rizinorg/cutter/releases/download/v2.3.4/Cutter-v2.3.4-src.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "libzip", "zlib", "qt5-base", "qt5-svg", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/analysis/netdata/recipe.toml b/recipes/wip/analysis/netdata/recipe.toml index d5a2aca34..730952571 100644 --- a/recipes/wip/analysis/netdata/recipe.toml +++ b/recipes/wip/analysis/netdata/recipe.toml @@ -2,24 +2,9 @@ [source] tar = "https://github.com/netdata/netdata/releases/download/v1.46.1/netdata-v1.46.1.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "zlib", "libuv", "libuuid", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/codecs/svt-hevc/recipe.toml b/recipes/wip/codecs/svt-hevc/recipe.toml index 160c0199e..b9abe3a20 100644 --- a/recipes/wip/codecs/svt-hevc/recipe.toml +++ b/recipes/wip/codecs/svt-hevc/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/OpenVisualCloud/SVT-HEVC" rev = "b65eba07e6dee37407631cc441561960838b0333" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/codecs/svt-vp9/recipe.toml b/recipes/wip/codecs/svt-vp9/recipe.toml index 52a4a4d4f..91443aeb8 100644 --- a/recipes/wip/codecs/svt-vp9/recipe.toml +++ b/recipes/wip/codecs/svt-vp9/recipe.toml @@ -2,19 +2,4 @@ [source] git = "https://github.com/OpenVisualCloud/SVT-VP9" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/codecs/uvg266/recipe.toml b/recipes/wip/codecs/uvg266/recipe.toml index 2dc7576f5..308fa86a8 100644 --- a/recipes/wip/codecs/uvg266/recipe.toml +++ b/recipes/wip/codecs/uvg266/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/ultravideo/uvg266" rev = "9add13b7053a6ba3f6b22bf82728e01fc437a447" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/codecs/vvenc/recipe.toml b/recipes/wip/codecs/vvenc/recipe.toml index a039c28bf..46c811d2f 100644 --- a/recipes/wip/codecs/vvenc/recipe.toml +++ b/recipes/wip/codecs/vvenc/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/fraunhoferhhi/vvenc" rev = "eea6fce28c8e822a0ece7a343a10fd5d6dd0e7bb" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/codecs/x265/recipe.toml b/recipes/wip/codecs/x265/recipe.toml index 0637eb951..dd89518d9 100644 --- a/recipes/wip/codecs/x265/recipe.toml +++ b/recipes/wip/codecs/x265/recipe.toml @@ -2,19 +2,4 @@ [source] tar = "https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/db/clickhouse/recipe.toml b/recipes/wip/db/clickhouse/recipe.toml index e975c8d3e..e23088856 100644 --- a/recipes/wip/db/clickhouse/recipe.toml +++ b/recipes/wip/db/clickhouse/recipe.toml @@ -3,24 +3,9 @@ [source] tar = "https://github.com/ClickHouse/ClickHouse" [build] -template = "custom" +template = "cmake" dependencies = [ "curl", "openssl1", "xz", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/db/mariadb-lts/recipe.toml b/recipes/wip/db/mariadb-lts/recipe.toml index 3e4dffa61..8b03bd5da 100644 --- a/recipes/wip/db/mariadb-lts/recipe.toml +++ b/recipes/wip/db/mariadb-lts/recipe.toml @@ -17,17 +17,5 @@ dependencies = [ ] script = """ export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure +cookbook_cmake """ diff --git a/recipes/wip/db/mariadb/recipe.toml b/recipes/wip/db/mariadb/recipe.toml index 4b8d6556d..95a2c0ad4 100644 --- a/recipes/wip/db/mariadb/recipe.toml +++ b/recipes/wip/db/mariadb/recipe.toml @@ -17,17 +17,5 @@ dependencies = [ ] script = """ export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure +cookbook_cmake """ diff --git a/recipes/wip/db/mysql-server/recipe.toml b/recipes/wip/db/mysql-server/recipe.toml index 45b5d00a6..408b19f29 100644 --- a/recipes/wip/db/mysql-server/recipe.toml +++ b/recipes/wip/db/mysql-server/recipe.toml @@ -10,17 +10,5 @@ dependencies = [ ] script = """ export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure +cookbook_cmake """ From 24daf75ed99f56223a2bfaccd151ebce4673b22a Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 6 Oct 2025 17:07:13 -0300 Subject: [PATCH 117/182] Try to fix more CMake-based recipes --- recipes/wip/demos/imgui-examples/recipe.toml | 17 +------------ .../wip/dev/build-system/ccache/recipe.toml | 24 ++++--------------- .../dev/build-system/ninja-build/recipe.toml | 17 +------------ .../wip/dev/graphics/bonzomatic/recipe.toml | 17 +------------ recipes/wip/dev/ide/kdevelop/recipe.toml | 2 +- recipes/wip/dev/other/apitrace/recipe.toml | 17 +------------ recipes/wip/dev/other/cling/recipe.toml | 17 +------------ recipes/wip/dev/other/doxygen/recipe.toml | 17 +------------ recipes/wip/dev/other/gtest/recipe.toml | 17 +------------ recipes/wip/dev/other/kicad/recipe.toml | 17 +------------ recipes/wip/dev/other/level-zero/recipe.toml | 17 +------------ recipes/wip/dev/other/mnn/recipe.toml | 17 +------------ recipes/wip/dev/other/mold/recipe.toml | 18 +------------- 13 files changed, 17 insertions(+), 197 deletions(-) diff --git a/recipes/wip/demos/imgui-examples/recipe.toml b/recipes/wip/demos/imgui-examples/recipe.toml index e29d3b733..560d8ce65 100644 --- a/recipes/wip/demos/imgui-examples/recipe.toml +++ b/recipes/wip/demos/imgui-examples/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/Qix-/imgui" branch = "cmake" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/build-system/ccache/recipe.toml b/recipes/wip/dev/build-system/ccache/recipe.toml index 6e12c2306..fcef5d343 100644 --- a/recipes/wip/dev/build-system/ccache/recipe.toml +++ b/recipes/wip/dev/build-system/ccache/recipe.toml @@ -4,27 +4,13 @@ [source] tar = "https://github.com/ccache/ccache/releases/download/v4.10.2/ccache-4.10.2.tar.gz" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DENABLE_TESTING=OFF", + "-DREDIS_STORAGE_BACKEND=OFF", +] dependencies = [ "libfmt", "xxhash", "zstd", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -D STATIC_LINK=ON - -D ENABLE_TESTING=OFF - -D REDIS_STORAGE_BACKEND=OFF -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/dev/build-system/ninja-build/recipe.toml b/recipes/wip/dev/build-system/ninja-build/recipe.toml index badcc36c8..4aeb63b1a 100644 --- a/recipes/wip/dev/build-system/ninja-build/recipe.toml +++ b/recipes/wip/dev/build-system/ninja-build/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/ninja-build/ninja" rev = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" [build] -template = "custom" -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/graphics/bonzomatic/recipe.toml b/recipes/wip/dev/graphics/bonzomatic/recipe.toml index 1af4e27a9..916e04f9f 100644 --- a/recipes/wip/dev/graphics/bonzomatic/recipe.toml +++ b/recipes/wip/dev/graphics/bonzomatic/recipe.toml @@ -3,22 +3,7 @@ [source] git = "https://github.com/Gargaj/Bonzomatic" [build] -template = "custom" +template = "cmake" dependencies = [ "mesa", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/dev/ide/kdevelop/recipe.toml b/recipes/wip/dev/ide/kdevelop/recipe.toml index a5ff324a1..dd9dfbf43 100644 --- a/recipes/wip/dev/ide/kdevelop/recipe.toml +++ b/recipes/wip/dev/ide/kdevelop/recipe.toml @@ -4,7 +4,7 @@ git = "https://invent.kde.org/kdevelop/kdevelop" rev = "3021daeb5d62bc7a7a7dec4bcc23e19d3bfdaadd" [build] -template = "custom" +template = "cmake" dependencies = [ "apr", "apr-util", diff --git a/recipes/wip/dev/other/apitrace/recipe.toml b/recipes/wip/dev/other/apitrace/recipe.toml index 3bd0f6fd8..2d7252644 100644 --- a/recipes/wip/dev/other/apitrace/recipe.toml +++ b/recipes/wip/dev/other/apitrace/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/apitrace/apitrace" rev = "9352fc02bba106fbbeef9e8452ef34643c0d0764" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/other/cling/recipe.toml b/recipes/wip/dev/other/cling/recipe.toml index d4830298c..64c6607a2 100644 --- a/recipes/wip/dev/other/cling/recipe.toml +++ b/recipes/wip/dev/other/cling/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/vgvassilev/cling" rev = "ab81cdcc61f26dfd6a31fb141f1f4b335f6922be" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/other/doxygen/recipe.toml b/recipes/wip/dev/other/doxygen/recipe.toml index 7351a2266..cbd95aeab 100644 --- a/recipes/wip/dev/other/doxygen/recipe.toml +++ b/recipes/wip/dev/other/doxygen/recipe.toml @@ -2,19 +2,4 @@ [source] tar = "https://www.doxygen.nl/files/doxygen-1.9.8.src.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/other/gtest/recipe.toml b/recipes/wip/dev/other/gtest/recipe.toml index 413588600..a543a7c55 100644 --- a/recipes/wip/dev/other/gtest/recipe.toml +++ b/recipes/wip/dev/other/gtest/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/google/googletest" rev = "f8d7d77c06936315286eb55f8de22cd23c188571" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/other/kicad/recipe.toml b/recipes/wip/dev/other/kicad/recipe.toml index 5428e894c..3f490f7c4 100644 --- a/recipes/wip/dev/other/kicad/recipe.toml +++ b/recipes/wip/dev/other/kicad/recipe.toml @@ -4,7 +4,7 @@ git = "https://gitlab.com/kicad/code/kicad" rev = "942661fc10e172febf9d9990de2471d4b1020618" [build] -template = "custom" +template = "cmake" dependencies = [ "wxwidgets-gtk3", "cairo", @@ -16,18 +16,3 @@ dependencies = [ "curl", "ngspice", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/dev/other/level-zero/recipe.toml b/recipes/wip/dev/other/level-zero/recipe.toml index 97e7249c9..2d65ef098 100644 --- a/recipes/wip/dev/other/level-zero/recipe.toml +++ b/recipes/wip/dev/other/level-zero/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/oneapi-src/level-zero" rev = "ea5be99d8d34480447ab1e3c7efc30d6f179b123" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/other/mnn/recipe.toml b/recipes/wip/dev/other/mnn/recipe.toml index 13d910092..5b07694fe 100644 --- a/recipes/wip/dev/other/mnn/recipe.toml +++ b/recipes/wip/dev/other/mnn/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/alibaba/MNN" rev = "1ea55f467fb231655cf1e08f77d4a0f1043c4c29" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/other/mold/recipe.toml b/recipes/wip/dev/other/mold/recipe.toml index 2692aae6e..b06c086d3 100644 --- a/recipes/wip/dev/other/mold/recipe.toml +++ b/recipes/wip/dev/other/mold/recipe.toml @@ -5,20 +5,4 @@ git = "https://github.com/rui314/mold" rev = "b53197300b5bf9f02daccae536f65dda2d1431c5" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DCMAKE_CXX_COMPILER=c++ -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" From 2327795aaad2a9d0ac89a4fd8e17d41f7120ca31 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 6 Oct 2025 17:41:00 -0300 Subject: [PATCH 118/182] Try to fix more CMake-based recipes --- recipes/wip/dev/other/ncnn/recipe.toml | 17 +---------------- recipes/wip/dev/other/netradiant/recipe.toml | 17 +---------------- recipes/wip/dev/other/opencascade/recipe.toml | 17 +---------------- recipes/wip/dev/other/protobuf/recipe.toml | 12 ++++-------- recipes/wip/dev/other/renderdoc/recipe.toml | 17 +---------------- recipes/wip/dev/other/shaderc/recipe.toml | 17 +---------------- recipes/wip/dev/other/souper/recipe.toml | 17 +---------------- recipes/wip/dev/other/zeal/recipe.toml | 17 +---------------- .../wip/dev/performance/vkpeak/recipe.toml | 17 +---------------- recipes/wip/emulators/cpu/unicorn/recipe.toml | 17 +---------------- .../game-console/nds/melonds/recipe.toml | 17 +---------------- .../nintendo/dolphin-emu/recipe.toml | 19 +------------------ .../game-console/nintendo/lime3ds/recipe.toml | 19 +------------------ 13 files changed, 16 insertions(+), 204 deletions(-) diff --git a/recipes/wip/dev/other/ncnn/recipe.toml b/recipes/wip/dev/other/ncnn/recipe.toml index 0a473e1f2..d0eea2f3e 100644 --- a/recipes/wip/dev/other/ncnn/recipe.toml +++ b/recipes/wip/dev/other/ncnn/recipe.toml @@ -2,24 +2,9 @@ [source] git = "https://github.com/Tencent/ncnn" [build] -template = "custom" +template = "cmake" dependencies = [ "protobuf", "libvulkan", "opencv4", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/dev/other/netradiant/recipe.toml b/recipes/wip/dev/other/netradiant/recipe.toml index 599fef2fe..7c163c021 100644 --- a/recipes/wip/dev/other/netradiant/recipe.toml +++ b/recipes/wip/dev/other/netradiant/recipe.toml @@ -2,7 +2,7 @@ [source] git = "https://gitlab.com/xonotic/netradiant" [build] -template = "custom" +template = "cmake" dependencies = [ "libxml2", "mesa", @@ -11,18 +11,3 @@ dependencies = [ "libpng", "zlib", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/dev/other/opencascade/recipe.toml b/recipes/wip/dev/other/opencascade/recipe.toml index 06ff823a1..c6f30839c 100644 --- a/recipes/wip/dev/other/opencascade/recipe.toml +++ b/recipes/wip/dev/other/opencascade/recipe.toml @@ -3,24 +3,9 @@ [source] tar = "https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_8_0.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "freetype2", "tcl", "tk", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/dev/other/protobuf/recipe.toml b/recipes/wip/dev/other/protobuf/recipe.toml index 7c90d4522..9458f8c3a 100644 --- a/recipes/wip/dev/other/protobuf/recipe.toml +++ b/recipes/wip/dev/other/protobuf/recipe.toml @@ -7,14 +7,10 @@ rev = "74211c0dfc2777318ab53c2cd2c317a2ef9012de" shallow_clone = true [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-Dprotobuf_BUILD_TESTS=OFF" +] dependencies = [ "zlib", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CMAKE_FLAGS+=( - -Dprotobuf_BUILD_TESTS=OFF -) -cookbook_cmake -""" diff --git a/recipes/wip/dev/other/renderdoc/recipe.toml b/recipes/wip/dev/other/renderdoc/recipe.toml index 8c85c67e3..ae13a845f 100644 --- a/recipes/wip/dev/other/renderdoc/recipe.toml +++ b/recipes/wip/dev/other/renderdoc/recipe.toml @@ -3,25 +3,10 @@ git = "https://github.com/baldurk/renderdoc" rev = "5f95fb95a2a225a092372e7bd0bfd2073525d3ac" [build] -template = "custom" +template = "cmake" dependencies = [ "libxcb", "mesa", "qt5-base", "pcre", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/dev/other/shaderc/recipe.toml b/recipes/wip/dev/other/shaderc/recipe.toml index cbc9bb1e0..5d7877c85 100644 --- a/recipes/wip/dev/other/shaderc/recipe.toml +++ b/recipes/wip/dev/other/shaderc/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/google/shaderc" rev = "3882b16417077aa8eaa7b5775920e7ba4b8a224d" [build] -template = "custom" -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/other/souper/recipe.toml b/recipes/wip/dev/other/souper/recipe.toml index ba91a50fa..0c3708fb0 100644 --- a/recipes/wip/dev/other/souper/recipe.toml +++ b/recipes/wip/dev/other/souper/recipe.toml @@ -2,19 +2,4 @@ [source] git = "https://github.com/google/souper" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/dev/other/zeal/recipe.toml b/recipes/wip/dev/other/zeal/recipe.toml index 35484489d..0eeb591e7 100644 --- a/recipes/wip/dev/other/zeal/recipe.toml +++ b/recipes/wip/dev/other/zeal/recipe.toml @@ -2,7 +2,7 @@ [source] tar = "https://github.com/zealdocs/zeal/releases/download/v0.7.0/zeal-0.7.0.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "qt6-base", "qt6-webengine", @@ -10,18 +10,3 @@ dependencies = [ "sqlite3", "mesa", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/dev/performance/vkpeak/recipe.toml b/recipes/wip/dev/performance/vkpeak/recipe.toml index 9d42a8b07..3a7676181 100644 --- a/recipes/wip/dev/performance/vkpeak/recipe.toml +++ b/recipes/wip/dev/performance/vkpeak/recipe.toml @@ -2,22 +2,7 @@ [source] git = "https://github.com/nihui/vkpeak" [build] -template = "custom" +template = "cmake" dependencies = [ "libvulkan", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/cpu/unicorn/recipe.toml b/recipes/wip/emulators/cpu/unicorn/recipe.toml index c5f877728..0897f7381 100644 --- a/recipes/wip/emulators/cpu/unicorn/recipe.toml +++ b/recipes/wip/emulators/cpu/unicorn/recipe.toml @@ -3,19 +3,4 @@ git = "https://github.com/unicorn-engine/unicorn" rev = "e9c1c17f6df8f8f5da85ee80ad527452db5870ce" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/emulators/game-console/nds/melonds/recipe.toml b/recipes/wip/emulators/game-console/nds/melonds/recipe.toml index 46b747eaf..d9d881938 100644 --- a/recipes/wip/emulators/game-console/nds/melonds/recipe.toml +++ b/recipes/wip/emulators/game-console/nds/melonds/recipe.toml @@ -4,7 +4,7 @@ git = "https://github.com/melonDS-emu/melonDS" rev = "430de6b2702bb93faa8c2004aff3fbd084db4a1e" [build] -template = "custom" +template = "cmake" dependencies = [ "curl", "libpcap", @@ -15,18 +15,3 @@ dependencies = [ "libarchive", "zstd", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml b/recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml index d99ca0044..67548418d 100644 --- a/recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml +++ b/recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml @@ -4,7 +4,7 @@ [source] git = "https://github.com/dolphin-emu/dolphin" [build] -template = "custom" +template = "cmake" dependencies = [ "ffmpeg6", "libevdev", @@ -18,20 +18,3 @@ dependencies = [ "libvulkan", "openal", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/game-console/nintendo/lime3ds/recipe.toml b/recipes/wip/emulators/game-console/nintendo/lime3ds/recipe.toml index a73772c3f..621331ec9 100644 --- a/recipes/wip/emulators/game-console/nintendo/lime3ds/recipe.toml +++ b/recipes/wip/emulators/game-console/nintendo/lime3ds/recipe.toml @@ -3,7 +3,7 @@ [source] git = "https://github.com/Lime3DS/Lime3DS" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "qt6-base", @@ -13,20 +13,3 @@ dependencies = [ "libxext", "pipewire", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From 592ffa65749bec3b8d57365424d66a6127a4de9c Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 6 Oct 2025 18:19:49 -0300 Subject: [PATCH 119/182] Try to fix more CMake-based recipes --- recipes/wip/emulators/cpu/unicorn/recipe.toml | 3 +- .../game-console/nds/melonds/recipe.toml | 4 +- .../nintendo/dolphin-emu/recipe.toml | 4 +- .../game-console/ps1/duckstation/recipe.toml | 22 ++------- .../game-console/ps2/pcsx2/recipe.toml | 22 ++------- .../game-console/ps2/play/recipe.toml | 19 +------- .../game-console/ps3/rpcs3/recipe.toml | 38 ++++++--------- .../game-console/ps4/obliteration/recipe.toml | 24 +--------- .../game-console/ps4/shadPS4/recipe.toml | 25 ++-------- .../game-console/psp/ppsspp/recipe.toml | 47 +++++++------------ .../game-console/psvita/vita3k/recipe.toml | 22 ++------- .../game-console/sega/uoyabause/recipe.toml | 20 ++------ .../game-console/snes/snes9x/recipe.toml | 21 ++------- 13 files changed, 60 insertions(+), 211 deletions(-) diff --git a/recipes/wip/emulators/cpu/unicorn/recipe.toml b/recipes/wip/emulators/cpu/unicorn/recipe.toml index 0897f7381..0e0977ccb 100644 --- a/recipes/wip/emulators/cpu/unicorn/recipe.toml +++ b/recipes/wip/emulators/cpu/unicorn/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, read https://github.com/unicorn-engine/unicorn/blob/master/docs/COMPILE.md +#TODO not compiled or tested +# build instructions: https://github.com/unicorn-engine/unicorn/blob/master/docs/COMPILE.md [source] git = "https://github.com/unicorn-engine/unicorn" rev = "e9c1c17f6df8f8f5da85ee80ad527452db5870ce" diff --git a/recipes/wip/emulators/game-console/nds/melonds/recipe.toml b/recipes/wip/emulators/game-console/nds/melonds/recipe.toml index d9d881938..58a0fc1f6 100644 --- a/recipes/wip/emulators/game-console/nds/melonds/recipe.toml +++ b/recipes/wip/emulators/game-console/nds/melonds/recipe.toml @@ -1,5 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/melonDS-emu/melonDS#linux -#TODO make all dependencies work +#TODO not compiled or tested yet +# build instructions: https://github.com/melonDS-emu/melonDS#linux [source] git = "https://github.com/melonDS-emu/melonDS" rev = "430de6b2702bb93faa8c2004aff3fbd084db4a1e" diff --git a/recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml b/recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml index 67548418d..4a21189ab 100644 --- a/recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml +++ b/recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml @@ -1,6 +1,6 @@ -#TODO probably wrong script, see https://github.com/dolphin-emu/dolphin/wiki/Building-for-Linux +#TODO not compiled or tested yet +# build instructions: https://github.com/dolphin-emu/dolphin/wiki/Building-for-Linux #TODO probably missing dependencies -#TODO make all dependencies work [source] git = "https://github.com/dolphin-emu/dolphin" [build] diff --git a/recipes/wip/emulators/game-console/ps1/duckstation/recipe.toml b/recipes/wip/emulators/game-console/ps1/duckstation/recipe.toml index 238e89df3..aaa892f86 100644 --- a/recipes/wip/emulators/game-console/ps1/duckstation/recipe.toml +++ b/recipes/wip/emulators/game-console/ps1/duckstation/recipe.toml @@ -1,29 +1,13 @@ -#TODO probably wrong script, see https://github.com/stenzek/duckstation#linux-1 +#TODO not compiled or tested yet +# build instructions: https://github.com/stenzek/duckstation#linux-1 #TODO make qt6 work [source] tar = "https://github.com/stenzek/duckstation" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "qt6-base", "qt6-svg", "qt6-tools", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/game-console/ps2/pcsx2/recipe.toml b/recipes/wip/emulators/game-console/ps2/pcsx2/recipe.toml index 31166adb9..e974c3587 100644 --- a/recipes/wip/emulators/game-console/ps2/pcsx2/recipe.toml +++ b/recipes/wip/emulators/game-console/ps2/pcsx2/recipe.toml @@ -1,11 +1,12 @@ -#TODO probably wrong script, see https://github.com/PCSX2/pcsx2/wiki/10-Building-on-Linux +#TODO not compiled or tested yet +# build instructions: https://github.com/PCSX2/pcsx2/wiki/10-Building-on-Linux #TODO probably need patches on submodules #TODO determine dependencies - https://aur.archlinux.org/packages/pcsx2-git #TODO make all dependencies work [source] git = "https://github.com/PCSX2/pcsx2.git" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "xz", @@ -23,20 +24,3 @@ dependencies = [ "libxml2", "ffmpeg6", ] -script = """ -DYNAMIC_INIT - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/game-console/ps2/play/recipe.toml b/recipes/wip/emulators/game-console/ps2/play/recipe.toml index 58de310ac..b65ade643 100644 --- a/recipes/wip/emulators/game-console/ps2/play/recipe.toml +++ b/recipes/wip/emulators/game-console/ps2/play/recipe.toml @@ -3,7 +3,7 @@ [source] git = "https://github.com/jpd002/Play-" [build] -template = "custom" +template = "cmake" dependencies = [ "openal", "libevdev", @@ -12,20 +12,3 @@ dependencies = [ "qt5-x11extras", "sqlite3", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/game-console/ps3/rpcs3/recipe.toml b/recipes/wip/emulators/game-console/ps3/rpcs3/recipe.toml index cf3994a9f..1dee01cb5 100644 --- a/recipes/wip/emulators/game-console/ps3/rpcs3/recipe.toml +++ b/recipes/wip/emulators/game-console/ps3/rpcs3/recipe.toml @@ -1,10 +1,22 @@ -#TODO finish script, see https://github.com/RPCS3/rpcs3/blob/master/BUILDING.md#linux-1 +#TODO not compiled or tested yet #TODO missing dependencies +# build instructions: https://github.com/RPCS3/rpcs3/blob/master/BUILDING.md#linux-1 # customization - https://wiki.rpcs3.net/index.php?title=Help:Building_RPCS3#CMake_Build_Options [source] git = "https://github.com/RPCS3/rpcs3" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DUSE_NATIVE_INSTRUCTIONS=OFF", + "-DWITH_LLVM=OFF", + "-DUSE_ALSA=OFF", + "-DUSE_PULSE=OFF", + "-DUSE_LIBEVDEV=OFF", + "-DUSE_DISCORD_RPC=OFF", + "-DBUILD_LLVM_SUBMODULE=OFF", + "-DUSE_SYSTEM_FFMPEG=ON", + "-DUSE_VULKAN=OFF", +] dependencies = [ "mesa-x11", "qt6-base", @@ -22,25 +34,3 @@ dependencies = [ "pulseaudio", "ffmpeg6", ] -script = """ -DYNAMIC_INIT - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DUSE_NATIVE_INSTRUCTIONS=OFF - -DWITH_LLVM=OFF - -DUSE_ALSA=OFF - -DUSE_PULSE=OFF - -DUSE_LIBEVDEV=OFF - -DUSE_DISCORD_RPC=OFF - -DBUILD_LLVM_SUBMODULE=OFF - -DUSE_SYSTEM_FFMPEG=ON - -DUSE_VULKAN=OFF -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" \ No newline at end of file diff --git a/recipes/wip/emulators/game-console/ps4/obliteration/recipe.toml b/recipes/wip/emulators/game-console/ps4/obliteration/recipe.toml index 787704512..7a361a3c9 100644 --- a/recipes/wip/emulators/game-console/ps4/obliteration/recipe.toml +++ b/recipes/wip/emulators/game-console/ps4/obliteration/recipe.toml @@ -1,27 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/obhq/obliteration#configure-build-system -#TODO probably missing dependencies -#TODO make qt6 work +#TODO missing script, see: https://github.com/obhq/obliteration/blob/main/docs/building.md [source] git = "https://github.com/obhq/obliteration" [build] template = "custom" -dependencies = [ - "qt6-base", -] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/game-console/ps4/shadPS4/recipe.toml b/recipes/wip/emulators/game-console/ps4/shadPS4/recipe.toml index ed53ad0c3..d90202479 100644 --- a/recipes/wip/emulators/game-console/ps4/shadPS4/recipe.toml +++ b/recipes/wip/emulators/game-console/ps4/shadPS4/recipe.toml @@ -1,10 +1,13 @@ -#TODO maybe incomplete script for cmake +#TODO not compiled or tested #TODO missing dependencies # build instructions - https://github.com/shadps4-emu/shadPS4/blob/main/documents/building-linux.md [source] git = "https://github.com/shadps4-emu/shadPS4" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DENABLE_QT_GUI=ON" +] dependencies = [ "pulseaudio", "openal", @@ -18,21 +21,3 @@ dependencies = [ "qt6-multimedia", "libvulkan", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DENABLE_QT_GUI=ON -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml b/recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml index 8d1a4d79b..b8d6a00ca 100644 --- a/recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml +++ b/recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml @@ -1,33 +1,13 @@ #TODO not compiled or tested yet +# build instructions: https://github.com/hrydgard/ppsspp/wiki/Build-instructions +#git = "https://github.com/jackpot51/ppsspp" # wip port to orbital [source] -git = "https://github.com/jackpot51/ppsspp" - +git = "https://github.com/hrydgard/ppsspp" [build] -template = "custom" -dependencies = [ - "liborbital", - "llvm18", - "mesa", - "mesa-glu", - "sdl2", - "zlib", - "glew", -] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" +template = "cmake" +cmakeflags = [ -DCMAKE_C_FLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" -DCMAKE_CXX_FLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -DOPENGL_opengl_LIBRARY="/dev/null" -DOPENGL_glx_LIBRARY="/dev/null" -DUSE_DISCORD=OFF @@ -39,7 +19,16 @@ COOKBOOK_CONFIGURE_FLAGS=( -DUSING_GLES2=OFF -DUSING_X11_VULKAN=OFF -DUNIX=ON - "${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +] +dependencies = [ + #"liborbital", + "llvm18", + "mesa", + "mesa-glu", + "sdl2", + "sdl2-ttf", + "zlib", + "glew", + "fontconfig", + "curl", +] diff --git a/recipes/wip/emulators/game-console/psvita/vita3k/recipe.toml b/recipes/wip/emulators/game-console/psvita/vita3k/recipe.toml index efdc97f54..65de26d1e 100644 --- a/recipes/wip/emulators/game-console/psvita/vita3k/recipe.toml +++ b/recipes/wip/emulators/game-console/psvita/vita3k/recipe.toml @@ -1,27 +1,11 @@ -#TODO probalby wrong script, see https://github.com/Vita3K/Vita3K/blob/master/building.md#linux +#TODO not compiled or tested yet +# build instructions: https://github.com/Vita3K/Vita3K/blob/master/building.md#linux [source] git = "https://github.com/Vita3K/Vita3K" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "gtk3", "openssl1", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/game-console/sega/uoyabause/recipe.toml b/recipes/wip/emulators/game-console/sega/uoyabause/recipe.toml index 2eb3b900a..f5d3c5c69 100644 --- a/recipes/wip/emulators/game-console/sega/uoyabause/recipe.toml +++ b/recipes/wip/emulators/game-console/sega/uoyabause/recipe.toml @@ -1,27 +1,13 @@ -#TODO maybe incomplete script, see https://github.com/devmiyax/yabause/blob/master/yabause/README.LIN#L77 +#TODO not compiled or tested yet +# build instructions: https://github.com/devmiyax/yabause/blob/master/yabause/README.LIN#L77 #TODO make gtk2 work [source] git = "https://github.com/devmiyax/yabause" [build] -template = "custom" +template = "cmake" dependencies = [ "gtk2", "sdl2", "mesa", "gtkglext", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/emulators/game-console/snes/snes9x/recipe.toml b/recipes/wip/emulators/game-console/snes/snes9x/recipe.toml index a44ada03f..a00eedcb8 100644 --- a/recipes/wip/emulators/game-console/snes/snes9x/recipe.toml +++ b/recipes/wip/emulators/game-console/snes/snes9x/recipe.toml @@ -1,10 +1,10 @@ -#TODO probably wrong script, see https://github.com/snes9xgit/snes9x/wiki/Compiling -#TODO make gtk3 work +#TODO not compiled or tested +# build instructions: https://github.com/snes9xgit/snes9x/wiki/Compiling [source] git = "https://github.com/snes9xgit/snes9x" rev = "8b82d487937d9ea39f7229d280c6f6686c415fe7" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "gtk3mm", @@ -13,18 +13,3 @@ dependencies = [ "libx11", "libepoxy", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From 5ee02311d55e36df3deba6c167a2741e96ef6533 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 6 Oct 2025 18:47:11 -0300 Subject: [PATCH 120/182] Update recipe TODOs --- recipes/wip/analysis/cutter/recipe.toml | 3 ++- recipes/wip/analysis/netdata/recipe.toml | 3 ++- recipes/wip/codecs/svt-hevc/recipe.toml | 3 ++- recipes/wip/codecs/svt-vp9/recipe.toml | 3 ++- recipes/wip/codecs/uvg266/recipe.toml | 3 ++- recipes/wip/codecs/vvenc/recipe.toml | 3 ++- recipes/wip/codecs/x265/recipe.toml | 3 ++- recipes/wip/db/clickhouse/recipe.toml | 3 ++- recipes/wip/db/mariadb-lts/recipe.toml | 2 +- recipes/wip/db/mariadb/recipe.toml | 2 +- recipes/wip/db/mysql-server/recipe.toml | 3 ++- recipes/wip/dev/build-system/ccache/recipe.toml | 2 +- recipes/wip/dev/build-system/ninja-build/recipe.toml | 3 ++- recipes/wip/dev/graphics/bonzomatic/recipe.toml | 7 +++++-- recipes/wip/dev/ide/kdevelop/recipe.toml | 3 ++- recipes/wip/dev/other/apitrace/recipe.toml | 3 ++- recipes/wip/dev/other/cling/recipe.toml | 3 ++- recipes/wip/dev/other/doxygen/recipe.toml | 3 ++- recipes/wip/dev/other/gtest/recipe.toml | 3 ++- recipes/wip/dev/other/kicad/recipe.toml | 3 ++- 20 files changed, 40 insertions(+), 21 deletions(-) diff --git a/recipes/wip/analysis/cutter/recipe.toml b/recipes/wip/analysis/cutter/recipe.toml index adb02a309..33fc1fcf9 100644 --- a/recipes/wip/analysis/cutter/recipe.toml +++ b/recipes/wip/analysis/cutter/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://cutter.re/docs/building.html +#TODO not compiled or tested +# build instructions: https://cutter.re/docs/building.html [source] tar = "https://github.com/rizinorg/cutter/releases/download/v2.3.4/Cutter-v2.3.4-src.tar.gz" [build] diff --git a/recipes/wip/analysis/netdata/recipe.toml b/recipes/wip/analysis/netdata/recipe.toml index 730952571..fc4f14ddb 100644 --- a/recipes/wip/analysis/netdata/recipe.toml +++ b/recipes/wip/analysis/netdata/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://learn.netdata.cloud/docs/developer-and-contributor-corner/build-the-netdata-agent-yourself/compile-from-source-code#building-netdata +#TODO not compiled or tested +# build instructions: https://learn.netdata.cloud/docs/developer-and-contributor-corner/build-the-netdata-agent-yourself/compile-from-source-code#building-netdata [source] tar = "https://github.com/netdata/netdata/releases/download/v1.46.1/netdata-v1.46.1.tar.gz" [build] diff --git a/recipes/wip/codecs/svt-hevc/recipe.toml b/recipes/wip/codecs/svt-hevc/recipe.toml index b9abe3a20..78c54ef7c 100644 --- a/recipes/wip/codecs/svt-hevc/recipe.toml +++ b/recipes/wip/codecs/svt-hevc/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/OpenVisualCloud/SVT-HEVC#linux-operating-systems-64-bit +#TODO not compiled or tested +# build instructions: https://github.com/OpenVisualCloud/SVT-HEVC#linux-operating-systems-64-bit [source] git = "https://github.com/OpenVisualCloud/SVT-HEVC" rev = "b65eba07e6dee37407631cc441561960838b0333" diff --git a/recipes/wip/codecs/svt-vp9/recipe.toml b/recipes/wip/codecs/svt-vp9/recipe.toml index 91443aeb8..47574a5fd 100644 --- a/recipes/wip/codecs/svt-vp9/recipe.toml +++ b/recipes/wip/codecs/svt-vp9/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/OpenVisualCloud/SVT-VP9#linux-operating-systems-64-bit +#TODO not compiled or tested +# build instructions: https://github.com/OpenVisualCloud/SVT-VP9#linux-operating-systems-64-bit [source] git = "https://github.com/OpenVisualCloud/SVT-VP9" [build] diff --git a/recipes/wip/codecs/uvg266/recipe.toml b/recipes/wip/codecs/uvg266/recipe.toml index 308fa86a8..4005e380b 100644 --- a/recipes/wip/codecs/uvg266/recipe.toml +++ b/recipes/wip/codecs/uvg266/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/ultravideo/uvg266#compiling-uvg266 +#TODO not compiled or tested +# build instructions: https://github.com/ultravideo/uvg266#compiling-uvg266 [source] git = "https://github.com/ultravideo/uvg266" rev = "9add13b7053a6ba3f6b22bf82728e01fc437a447" diff --git a/recipes/wip/codecs/vvenc/recipe.toml b/recipes/wip/codecs/vvenc/recipe.toml index 46c811d2f..0a2eb4172 100644 --- a/recipes/wip/codecs/vvenc/recipe.toml +++ b/recipes/wip/codecs/vvenc/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/fraunhoferhhi/vvenc/wiki/Build#build-using-plain-cmake +#TODO not compiled or tested +# build instructions: https://github.com/fraunhoferhhi/vvenc/wiki/Build#build-using-plain-cmake [source] git = "https://github.com/fraunhoferhhi/vvenc" rev = "eea6fce28c8e822a0ece7a343a10fd5d6dd0e7bb" diff --git a/recipes/wip/codecs/x265/recipe.toml b/recipes/wip/codecs/x265/recipe.toml index dd89518d9..ce61981df 100644 --- a/recipes/wip/codecs/x265/recipe.toml +++ b/recipes/wip/codecs/x265/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://bitbucket.org/multicoreware/x265_git/src/master/build/README.txt#lines-68 +#TODO not compiled or tested +# build instructions: https://bitbucket.org/multicoreware/x265_git/src/master/build/README.txt#lines-68 [source] tar = "https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz" [build] diff --git a/recipes/wip/db/clickhouse/recipe.toml b/recipes/wip/db/clickhouse/recipe.toml index e23088856..5c52357eb 100644 --- a/recipes/wip/db/clickhouse/recipe.toml +++ b/recipes/wip/db/clickhouse/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://clickhouse.com/docs/en/development/build#how-to-build-clickhouse-on-any-linux +#TODO not compiled or tested +# build instructions: https://clickhouse.com/docs/en/development/build#how-to-build-clickhouse-on-any-linux #TODO probably disable some submodules to use our recipes [source] tar = "https://github.com/ClickHouse/ClickHouse" diff --git a/recipes/wip/db/mariadb-lts/recipe.toml b/recipes/wip/db/mariadb-lts/recipe.toml index 8b03bd5da..3a2e48aef 100644 --- a/recipes/wip/db/mariadb-lts/recipe.toml +++ b/recipes/wip/db/mariadb-lts/recipe.toml @@ -1,4 +1,4 @@ -#TODO probably wrong script, see: +#TODO not compiled or tested # https://mariadb.com/kb/en/generic-build-instructions/ # https://mariadb.com/kb/en/cross-compiling-mariadb/ [source] diff --git a/recipes/wip/db/mariadb/recipe.toml b/recipes/wip/db/mariadb/recipe.toml index 95a2c0ad4..39038da89 100644 --- a/recipes/wip/db/mariadb/recipe.toml +++ b/recipes/wip/db/mariadb/recipe.toml @@ -1,4 +1,4 @@ -#TODO probably wrong script, see: +#TODO not compiled or tested # https://mariadb.com/kb/en/generic-build-instructions/ # https://mariadb.com/kb/en/cross-compiling-mariadb/ [source] diff --git a/recipes/wip/db/mysql-server/recipe.toml b/recipes/wip/db/mysql-server/recipe.toml index 408b19f29..4c9785001 100644 --- a/recipes/wip/db/mysql-server/recipe.toml +++ b/recipes/wip/db/mysql-server/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://dev.mysql.com/doc/refman/8.2/en/installing-source-distribution.html +#TODO not compiled or tested +# build instructions: https://dev.mysql.com/doc/refman/8.2/en/installing-source-distribution.html [source] tar = "https://dev.mysql.com/downloads/file/?id=523432" [build] diff --git a/recipes/wip/dev/build-system/ccache/recipe.toml b/recipes/wip/dev/build-system/ccache/recipe.toml index fcef5d343..f44200884 100644 --- a/recipes/wip/dev/build-system/ccache/recipe.toml +++ b/recipes/wip/dev/build-system/ccache/recipe.toml @@ -1,4 +1,4 @@ -#TODO maybe incomplete script +#TODO not compiled or tested #TODO missing dependencies - https://github.com/ccache/ccache/blob/master/doc/INSTALL.md#dependencies # build instructions - https://github.com/ccache/ccache/blob/master/doc/INSTALL.md [source] diff --git a/recipes/wip/dev/build-system/ninja-build/recipe.toml b/recipes/wip/dev/build-system/ninja-build/recipe.toml index 4aeb63b1a..bfed73afa 100644 --- a/recipes/wip/dev/build-system/ninja-build/recipe.toml +++ b/recipes/wip/dev/build-system/ninja-build/recipe.toml @@ -1,4 +1,5 @@ -#TODO probably wrong script, see https://github.com/ninja-build/ninja#building-ninja-itself +#TODO not compiled or tested +# build instructions: https://github.com/ninja-build/ninja#building-ninja-itself [source] git = "https://github.com/ninja-build/ninja" rev = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" diff --git a/recipes/wip/dev/graphics/bonzomatic/recipe.toml b/recipes/wip/dev/graphics/bonzomatic/recipe.toml index 916e04f9f..d12b8a2d0 100644 --- a/recipes/wip/dev/graphics/bonzomatic/recipe.toml +++ b/recipes/wip/dev/graphics/bonzomatic/recipe.toml @@ -1,9 +1,12 @@ -#TODO port to orbital +#TODO not compiled or tested +#TODO missing dependencies # build instructions - https://github.com/Gargaj/Bonzomatic#linux [source] git = "https://github.com/Gargaj/Bonzomatic" [build] template = "cmake" dependencies = [ - "mesa", + "libx11", + "libalsa", + "mesa-glu", ] diff --git a/recipes/wip/dev/ide/kdevelop/recipe.toml b/recipes/wip/dev/ide/kdevelop/recipe.toml index dd9dfbf43..4d63d0ea0 100644 --- a/recipes/wip/dev/ide/kdevelop/recipe.toml +++ b/recipes/wip/dev/ide/kdevelop/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for building, see https://kdevelop.org/build-it/ +#TODO not compiled or tested #TODO probably missing dependencies, see https://packages.debian.org/source/trixie/kdevelop +# build instructions: https://kdevelop.org/build-it/ [source] git = "https://invent.kde.org/kdevelop/kdevelop" rev = "3021daeb5d62bc7a7a7dec4bcc23e19d3bfdaadd" diff --git a/recipes/wip/dev/other/apitrace/recipe.toml b/recipes/wip/dev/other/apitrace/recipe.toml index 2d7252644..a95456155 100644 --- a/recipes/wip/dev/other/apitrace/recipe.toml +++ b/recipes/wip/dev/other/apitrace/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/apitrace/apitrace/blob/master/docs/INSTALL.markdown#linux +#TODO not compiled or tested +# build instructions: https://github.com/apitrace/apitrace/blob/master/docs/INSTALL.markdown#linux [source] git = "https://github.com/apitrace/apitrace" rev = "9352fc02bba106fbbeef9e8452ef34643c0d0764" diff --git a/recipes/wip/dev/other/cling/recipe.toml b/recipes/wip/dev/other/cling/recipe.toml index 64c6607a2..9c3b32861 100644 --- a/recipes/wip/dev/other/cling/recipe.toml +++ b/recipes/wip/dev/other/cling/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/vgvassilev/cling#building-from-source +#TODO not compiled or tested +# build instructions: https://github.com/vgvassilev/cling#building-from-source [source] git = "https://github.com/vgvassilev/cling" rev = "ab81cdcc61f26dfd6a31fb141f1f4b335f6922be" diff --git a/recipes/wip/dev/other/doxygen/recipe.toml b/recipes/wip/dev/other/doxygen/recipe.toml index cbd95aeab..ec69b8bfe 100644 --- a/recipes/wip/dev/other/doxygen/recipe.toml +++ b/recipes/wip/dev/other/doxygen/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://www.doxygen.nl/manual/install.html#install_src_unix +#TODO not compiled or tested +# build instructions: https://www.doxygen.nl/manual/install.html#install_src_unix [source] tar = "https://www.doxygen.nl/files/doxygen-1.9.8.src.tar.gz" [build] diff --git a/recipes/wip/dev/other/gtest/recipe.toml b/recipes/wip/dev/other/gtest/recipe.toml index a543a7c55..b9370e250 100644 --- a/recipes/wip/dev/other/gtest/recipe.toml +++ b/recipes/wip/dev/other/gtest/recipe.toml @@ -1,4 +1,5 @@ -#TODO probably wrong script, see https://github.com/google/googletest/blob/main/googletest/README.md +#TODO not compiled or tested +# build instructions: https://github.com/google/googletest/blob/main/googletest/README.md [source] git = "https://github.com/google/googletest" rev = "f8d7d77c06936315286eb55f8de22cd23c188571" diff --git a/recipes/wip/dev/other/kicad/recipe.toml b/recipes/wip/dev/other/kicad/recipe.toml index 3f490f7c4..8dfecdca8 100644 --- a/recipes/wip/dev/other/kicad/recipe.toml +++ b/recipes/wip/dev/other/kicad/recipe.toml @@ -1,5 +1,6 @@ -#TODO maybe incomplete script, see https://dev-docs.kicad.org/en/build/linux/ +#TODO not compiled or tested #TODO maybe missing dependencies, see https://dev-docs.kicad.org/en/build/getting-started/ +# build instructions: https://dev-docs.kicad.org/en/build/linux/ [source] git = "https://gitlab.com/kicad/code/kicad" rev = "942661fc10e172febf9d9990de2471d4b1020618" From ba7c6468b3ca49ddc3b081601060941561452a28 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 7 Oct 2025 12:36:57 -0300 Subject: [PATCH 121/182] Update recipe TODOs --- recipes/wip/dev/other/level-zero/recipe.toml | 3 ++- recipes/wip/dev/other/mnn/recipe.toml | 3 ++- recipes/wip/dev/other/mold/recipe.toml | 3 +-- recipes/wip/dev/other/ncnn/recipe.toml | 3 ++- recipes/wip/dev/other/netradiant/recipe.toml | 3 ++- recipes/wip/dev/other/opencascade/recipe.toml | 3 ++- recipes/wip/dev/other/renderdoc/recipe.toml | 3 ++- recipes/wip/dev/other/shaderc/recipe.toml | 3 ++- recipes/wip/dev/other/souper/recipe.toml | 3 ++- recipes/wip/dev/other/zeal/recipe.toml | 3 ++- recipes/wip/dev/performance/vkpeak/recipe.toml | 3 ++- 11 files changed, 21 insertions(+), 12 deletions(-) diff --git a/recipes/wip/dev/other/level-zero/recipe.toml b/recipes/wip/dev/other/level-zero/recipe.toml index 2d65ef098..75e9fe639 100644 --- a/recipes/wip/dev/other/level-zero/recipe.toml +++ b/recipes/wip/dev/other/level-zero/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/oneapi-src/level-zero#building-and-installing +#TODO not compiled or tested +# build instructions: https://github.com/oneapi-src/level-zero#building-and-installing [source] git = "https://github.com/oneapi-src/level-zero" rev = "ea5be99d8d34480447ab1e3c7efc30d6f179b123" diff --git a/recipes/wip/dev/other/mnn/recipe.toml b/recipes/wip/dev/other/mnn/recipe.toml index 5b07694fe..605457a02 100644 --- a/recipes/wip/dev/other/mnn/recipe.toml +++ b/recipes/wip/dev/other/mnn/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, lacking English build instructions +#TODO not compiled or tested +# lacking English build instructions [source] git = "https://github.com/alibaba/MNN" rev = "1ea55f467fb231655cf1e08f77d4a0f1043c4c29" diff --git a/recipes/wip/dev/other/mold/recipe.toml b/recipes/wip/dev/other/mold/recipe.toml index b06c086d3..7234cb240 100644 --- a/recipes/wip/dev/other/mold/recipe.toml +++ b/recipes/wip/dev/other/mold/recipe.toml @@ -1,5 +1,4 @@ -#TODO compilation error -#TODO maybe incomplete script +#TODO not compiled or tested # build instructions - https://github.com/rui314/mold#how-to-build [source] git = "https://github.com/rui314/mold" diff --git a/recipes/wip/dev/other/ncnn/recipe.toml b/recipes/wip/dev/other/ncnn/recipe.toml index d0eea2f3e..b363536e7 100644 --- a/recipes/wip/dev/other/ncnn/recipe.toml +++ b/recipes/wip/dev/other/ncnn/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux +#TODO not compiled or tested +# build instructions: https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux [source] git = "https://github.com/Tencent/ncnn" [build] diff --git a/recipes/wip/dev/other/netradiant/recipe.toml b/recipes/wip/dev/other/netradiant/recipe.toml index 7c163c021..eb1bf9872 100644 --- a/recipes/wip/dev/other/netradiant/recipe.toml +++ b/recipes/wip/dev/other/netradiant/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://gitlab.com/xonotic/netradiant#advanced-compilation +#TODO not compiled or tested +# build instructions: https://gitlab.com/xonotic/netradiant#advanced-compilation [source] git = "https://gitlab.com/xonotic/netradiant" [build] diff --git a/recipes/wip/dev/other/opencascade/recipe.toml b/recipes/wip/dev/other/opencascade/recipe.toml index c6f30839c..1f4757573 100644 --- a/recipes/wip/dev/other/opencascade/recipe.toml +++ b/recipes/wip/dev/other/opencascade/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html +#TODO not compiled or tested +# build instructions: https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html #TODO missing dependencies, see https://dev.opencascade.org/doc/overview/html/build_upgrade_building_3rdparty.html#build_3rdparty_linux [source] tar = "https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_8_0.tar.gz" diff --git a/recipes/wip/dev/other/renderdoc/recipe.toml b/recipes/wip/dev/other/renderdoc/recipe.toml index ae13a845f..1fb82abeb 100644 --- a/recipes/wip/dev/other/renderdoc/recipe.toml +++ b/recipes/wip/dev/other/renderdoc/recipe.toml @@ -1,4 +1,5 @@ -#TODO probably wrong script, see https://github.com/baldurk/renderdoc/blob/v1.x/docs/CONTRIBUTING/Compiling.md#linux +#TODO not compiled or tested +# build instructions: https://github.com/baldurk/renderdoc/blob/v1.x/docs/CONTRIBUTING/Compiling.md#linux [source] git = "https://github.com/baldurk/renderdoc" rev = "5f95fb95a2a225a092372e7bd0bfd2073525d3ac" diff --git a/recipes/wip/dev/other/shaderc/recipe.toml b/recipes/wip/dev/other/shaderc/recipe.toml index 5d7877c85..6dde3f798 100644 --- a/recipes/wip/dev/other/shaderc/recipe.toml +++ b/recipes/wip/dev/other/shaderc/recipe.toml @@ -1,4 +1,5 @@ -#TODO Probably wrong script, see https://github.com/google/shaderc#getting-and-building-shaderc +#TODO not compiled or tested +# build instructions: https://github.com/google/shaderc#getting-and-building-shaderc [source] git = "https://github.com/google/shaderc" rev = "3882b16417077aa8eaa7b5775920e7ba4b8a224d" diff --git a/recipes/wip/dev/other/souper/recipe.toml b/recipes/wip/dev/other/souper/recipe.toml index 0c3708fb0..2ebf55477 100644 --- a/recipes/wip/dev/other/souper/recipe.toml +++ b/recipes/wip/dev/other/souper/recipe.toml @@ -1,4 +1,5 @@ -#TODO probably wrong script, see https://github.com/google/souper#building-souper +#TODO not compiled or tested +# build instructions: https://github.com/google/souper#building-souper [source] git = "https://github.com/google/souper" [build] diff --git a/recipes/wip/dev/other/zeal/recipe.toml b/recipes/wip/dev/other/zeal/recipe.toml index 0eeb591e7..0f4eebf91 100644 --- a/recipes/wip/dev/other/zeal/recipe.toml +++ b/recipes/wip/dev/other/zeal/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/zealdocs/zeal#build-instructions +#TODO not compiled or tested +# build instructions: https://github.com/zealdocs/zeal#build-instructions [source] tar = "https://github.com/zealdocs/zeal/releases/download/v0.7.0/zeal-0.7.0.tar.xz" [build] diff --git a/recipes/wip/dev/performance/vkpeak/recipe.toml b/recipes/wip/dev/performance/vkpeak/recipe.toml index 3a7676181..6ba6cbb8f 100644 --- a/recipes/wip/dev/performance/vkpeak/recipe.toml +++ b/recipes/wip/dev/performance/vkpeak/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/nihui/vkpeak#build-from-source +#TODO not compiled or tested +# build instructions: https://github.com/nihui/vkpeak#build-from-source [source] git = "https://github.com/nihui/vkpeak" [build] From 44a7e9174a3c42252bae3ad8315c439a0259d657 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 7 Oct 2025 14:13:06 -0300 Subject: [PATCH 122/182] Try to fix more CMake-based recipes --- recipes/wip/emulators/pc/darling/recipe.toml | 27 +++++-------------- recipes/wip/finance/monero/xmrig/recipe.toml | 26 +++++------------- recipes/wip/fuse/cvmfs/recipe.toml | 20 +++----------- recipes/wip/fuse/dwarfs/recipe.toml | 22 +++------------ recipes/wip/games/action/opentomb/recipe.toml | 20 +++----------- .../wip/games/fps/betterspades/recipe.toml | 20 +++----------- recipes/wip/games/fps/et-legacy/recipe.toml | 22 +++------------ recipes/wip/games/fps/gzdoom/recipe.toml | 19 +------------ .../wip/games/fps/openspades-free/recipe.toml | 26 +++++++----------- .../wip/games/fps/zerospades-free/recipe.toml | 26 +++++++----------- 10 files changed, 50 insertions(+), 178 deletions(-) diff --git a/recipes/wip/emulators/pc/darling/recipe.toml b/recipes/wip/emulators/pc/darling/recipe.toml index c6f74ba58..328476067 100644 --- a/recipes/wip/emulators/pc/darling/recipe.toml +++ b/recipes/wip/emulators/pc/darling/recipe.toml @@ -1,10 +1,13 @@ -#TODO probably wrong script, see https://docs.darlinghq.org/build-instructions.html#building-and-installing +#TODO not compiled or tested +# build instructions: https://docs.darlinghq.org/build-instructions.html#building-and-installing #TODO require Git LFS installed on host -#TODO port to orbital? [source] git = "https://github.com/darlinghq/darling" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DTARGET_i386=OFF" +] dependencies = [ "libfuse3", "libevdev", @@ -20,21 +23,3 @@ dependencies = [ "openssl1", "libxkbfile", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DTARGET_i386=OFF -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/finance/monero/xmrig/recipe.toml b/recipes/wip/finance/monero/xmrig/recipe.toml index 5c62f1846..991da573c 100644 --- a/recipes/wip/finance/monero/xmrig/recipe.toml +++ b/recipes/wip/finance/monero/xmrig/recipe.toml @@ -1,27 +1,15 @@ -#TODO probably wrong script, see https://xmrig.com/docs/miner/build/ubuntu -#TODO customization - https://xmrig.com/docs/miner/cmake-options +#TODO not compiled or tested +# build instructions: https://xmrig.com/docs/miner/build/ubuntu +# customization - https://xmrig.com/docs/miner/cmake-options [source] git = "https://github.com/xmrig/xmrig" rev = "8084ff37a5c8935c649a2e362da0fe570c79a2c2" [build] -template = "custom" +template = "cmake" +#cmakeflags = [ +# "-DOPENSSL_ROOT_DIR=${COOKBOOK_SYSROOT}" # test if the program need this +#] dependencies = [ "openssl1", "libuv", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DOPENSSL_ROOT_DIR="${COOKBOOK_SYSROOT}" -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/fuse/cvmfs/recipe.toml b/recipes/wip/fuse/cvmfs/recipe.toml index 4c35fa3b3..3a6813bb8 100644 --- a/recipes/wip/fuse/cvmfs/recipe.toml +++ b/recipes/wip/fuse/cvmfs/recipe.toml @@ -1,23 +1,9 @@ -#TODO maybe incomplete script, see https://cvmfs.readthedocs.io/en/stable/cpt-quickstart.html#building-from-source +#TODO not compiled or tested +# build instructions: https://cvmfs.readthedocs.io/en/stable/cpt-quickstart.html#building-from-source [source] tar = "https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.11.2/source.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "libfuse3", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/fuse/dwarfs/recipe.toml b/recipes/wip/fuse/dwarfs/recipe.toml index a97778b2a..dd3623952 100644 --- a/recipes/wip/fuse/dwarfs/recipe.toml +++ b/recipes/wip/fuse/dwarfs/recipe.toml @@ -1,13 +1,14 @@ -#TODO probably wrong script, see https://github.com/mhx/dwarfs#building +#TODO not compiled or tested +# build instructions: https://github.com/mhx/dwarfs#building #TODO missing dependencies, see https://github.com/mhx/dwarfs#dependencies [source] tar = "https://github.com/mhx/dwarfs/releases/download/v0.7.2/dwarfs-0.7.2.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "libfuse3", "boost", - "brotli", + "libbrotli", "libevent", "openssl1", "lz4", @@ -15,18 +16,3 @@ dependencies = [ "libunwind", "libfmt", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/action/opentomb/recipe.toml b/recipes/wip/games/action/opentomb/recipe.toml index e71bedeb7..da9618736 100644 --- a/recipes/wip/games/action/opentomb/recipe.toml +++ b/recipes/wip/games/action/opentomb/recipe.toml @@ -1,8 +1,9 @@ -#TODO probably wrong script, see https://github.com/opentomb/OpenTomb#compiling +#TODO not compiled or tested +# build instructions: https://github.com/opentomb/OpenTomb#compiling [source] git = "https://github.com/opentomb/OpenTomb" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "libpng", @@ -10,18 +11,3 @@ dependencies = [ "openal", "mesa", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/fps/betterspades/recipe.toml b/recipes/wip/games/fps/betterspades/recipe.toml index 1e223a364..d7ed6d1c0 100644 --- a/recipes/wip/games/fps/betterspades/recipe.toml +++ b/recipes/wip/games/fps/betterspades/recipe.toml @@ -1,9 +1,10 @@ +#TODO not compiled or tested #TODO probably missing dependencies, see https://github.com/xtreme8000/BetterSpades#build-requirements -#TODO probably wrong script, see https://github.com/xtreme8000/BetterSpades#linux +# build instructions: https://github.com/xtreme8000/BetterSpades#linux [source] git = "https://github.com/xtreme8000/BetterSpades" [build] -template = "custom" +template = "cmake" dependencies = [ "glfw3", "openal", @@ -12,18 +13,3 @@ dependencies = [ "glew", "mesa", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/fps/et-legacy/recipe.toml b/recipes/wip/games/fps/et-legacy/recipe.toml index 80089128f..bff1a0201 100644 --- a/recipes/wip/games/fps/et-legacy/recipe.toml +++ b/recipes/wip/games/fps/et-legacy/recipe.toml @@ -1,28 +1,12 @@ -#TODO maybe incomplete script, see https://github.com/etlegacy/etlegacy#compile-and-install +#TODO not compiled or tested +# build instructions: https://github.com/etlegacy/etlegacy#compile-and-install [source] git = "https://github.com/etlegacy/etlegacy" rev = "956269f4c13ebe31ba2a0f0b805588383209bd5b" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "openssl1", "mesa", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/fps/gzdoom/recipe.toml b/recipes/wip/games/fps/gzdoom/recipe.toml index bca60685c..bbb08c2b3 100644 --- a/recipes/wip/games/fps/gzdoom/recipe.toml +++ b/recipes/wip/games/fps/gzdoom/recipe.toml @@ -3,7 +3,7 @@ git = "https://github.com/ZDoom/gzdoom" rev = "6ce809efe2902e43ceaa7031b875225d3a0367de" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "mesa", @@ -11,20 +11,3 @@ dependencies = [ "openal", "zmusic", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/fps/openspades-free/recipe.toml b/recipes/wip/games/fps/openspades-free/recipe.toml index e87b01482..2c85ccf5a 100644 --- a/recipes/wip/games/fps/openspades-free/recipe.toml +++ b/recipes/wip/games/fps/openspades-free/recipe.toml @@ -1,6 +1,5 @@ -#TODO probably wrong script, see https://github.com/yvt/openspades#on-unixes-from-source -#TODO port GLEW to Orbital -#TODO add the FOSS assets on the script, see https://github.com/DeathByDenim/openspades-free-pak +#TODO not compiled or tested +# build instructions: https://github.com/yvt/openspades#on-unixes-from-source [source] git = "https://github.com/yvt/openspades" [build] @@ -16,21 +15,16 @@ dependencies = [ "opusfile", "libjpeg", "openal", + "curl", + "libxinerama", + "libxft", ] script = """ DYNAMIC_INIT - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" +COOKBOOK_CMAKE_FLAGS+=( + -DOPENSPADES_NONFREE_RESOURCES=OFF ) -cookbook_configure +cookbook_cmake +wget https://github.com/DeathByDenim/openspades-free-pak/releases/download/latest/pak001-Free.pak \ +"${COOKBOOK_STAGE}"/usr/share/openspades/Resources """ diff --git a/recipes/wip/games/fps/zerospades-free/recipe.toml b/recipes/wip/games/fps/zerospades-free/recipe.toml index 5e3505b02..401f8af61 100644 --- a/recipes/wip/games/fps/zerospades-free/recipe.toml +++ b/recipes/wip/games/fps/zerospades-free/recipe.toml @@ -1,6 +1,5 @@ -#TODO probably wrong script, see https://github.com/yvt/openspades#on-unixes-from-source -#TODO port GLEW to Orbital -#TODO add the FOSS assets on the script, see https://github.com/DeathByDenim/openspades-free-pak +#TODO not compiled or tested +# build instructions: https://github.com/yvt/openspades#on-unixes-from-source [source] git = "https://github.com/siecvi/zerospades" [build] @@ -16,21 +15,16 @@ dependencies = [ "opusfile", "libjpeg", "openal", + "curl", + "libxinerama", + "libxft", ] script = """ DYNAMIC_INIT - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" +COOKBOOK_CMAKE_FLAGS+=( + -DOPENSPADES_NONFREE_RESOURCES=OFF ) -cookbook_configure +cookbook_cmake +wget https://github.com/DeathByDenim/openspades-free-pak/releases/download/latest/pak001-Free.pak \ +"${COOKBOOK_STAGE}"/usr/share/openspades/Resources """ From 290d196d02b7a02adfe166ea104118844604d99c Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 7 Oct 2025 15:01:01 -0300 Subject: [PATCH 123/182] Try to fix more CMake-based recipes --- recipes/wip/games/fps/rbdoom3-bfg/recipe.toml | 20 ++----------- .../wip/games/fps/unvanquished/recipe.toml | 18 +++--------- .../music/performous-composer/recipe.toml | 19 ++----------- .../wip/games/music/performous/recipe.toml | 19 ++----------- recipes/wip/games/music/stepmania/recipe.toml | 19 ++----------- .../wip/games/open-world/cytopia/recipe.toml | 17 +---------- .../wip/games/open-world/luanti/recipe.toml | 28 +++++-------------- .../wip/games/other/shockolate/recipe.toml | 18 +++--------- .../wip/games/racing/supertuxkart/recipe.toml | 26 +++++------------ .../wip/games/servers/cuberite/recipe.toml | 20 ++----------- .../wip/games/space/endless-sky/recipe.toml | 20 ++----------- .../strategy/ship-of-harkinian/recipe.toml | 21 ++------------ recipes/wip/games/strategy/warsow/recipe.toml | 20 ++----------- 13 files changed, 44 insertions(+), 221 deletions(-) diff --git a/recipes/wip/games/fps/rbdoom3-bfg/recipe.toml b/recipes/wip/games/fps/rbdoom3-bfg/recipe.toml index 692427e45..4380a4c68 100644 --- a/recipes/wip/games/fps/rbdoom3-bfg/recipe.toml +++ b/recipes/wip/games/fps/rbdoom3-bfg/recipe.toml @@ -1,28 +1,14 @@ -#TODO maybe incomplete script, see https://github.com/RobertBeckebans/RBDOOM-3-BFG#compiling-on-linux- +#TODO not compiled or tested +# build instructions: https://github.com/RobertBeckebans/RBDOOM-3-BFG#compiling-on-linux- #TODO require the Vulkan SDK, see https://vulkan.lunarg.com/ [source] git = "https://github.com/RobertBeckebans/RBDOOM-3-BFG" rev = "39ae1202b4e61ccb8d8e59609f5cd62b04a62a58" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "openal", "ffmpeg6", "libvulkan", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/fps/unvanquished/recipe.toml b/recipes/wip/games/fps/unvanquished/recipe.toml index cd12c6eca..be786ce68 100644 --- a/recipes/wip/games/fps/unvanquished/recipe.toml +++ b/recipes/wip/games/fps/unvanquished/recipe.toml @@ -1,4 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/DaemonEngine/Daemon#build-instructions +#TODO not compiled or tested +# build instructions: https://github.com/DaemonEngine/Daemon#build-instructions # data files - https://github.com/Unvanquished/Unvanquished#downloading-the-games-assets [source] git = "https://github.com/DaemonEngine/Daemon" @@ -22,17 +23,6 @@ dependencies = [ "opusfile", ] script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure +DYNAMIC_INIT +cookbook_cmake """ diff --git a/recipes/wip/games/music/performous-composer/recipe.toml b/recipes/wip/games/music/performous-composer/recipe.toml index c44ceeb3a..5393e0f2c 100644 --- a/recipes/wip/games/music/performous-composer/recipe.toml +++ b/recipes/wip/games/music/performous-composer/recipe.toml @@ -1,25 +1,10 @@ -#TODO maybe incomplete script +#TODO not compiled or tested # build instructions - https://github.com/performous/performous/wiki/Composer [source] git = "https://github.com/performous/composer" [build] -template = "custom" +template = "cmake" dependencies = [ "qt5-base", "ffmpeg6", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/music/performous/recipe.toml b/recipes/wip/games/music/performous/recipe.toml index 98d113723..c1f4c3934 100644 --- a/recipes/wip/games/music/performous/recipe.toml +++ b/recipes/wip/games/music/performous/recipe.toml @@ -1,11 +1,11 @@ -#TODO maybe incomplete script +#TODO not compiled or tested # build instructions - https://github.com/performous/performous/wiki/Building-and-installing-from-source#build-and-install # dependencies - https://github.com/performous/performous/wiki/Building-and-installing-from-source#installing-build-dependencies [source] git = "https://github.com/performous/performous" branch = "1.3.1" [build] -template = "custom" +template = "cmake" dependencies = [ "openblas", "fftw", @@ -24,18 +24,3 @@ dependencies = [ "aubio", "libfmt", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/music/stepmania/recipe.toml b/recipes/wip/games/music/stepmania/recipe.toml index c36e5dd49..f0bd55fc5 100644 --- a/recipes/wip/games/music/stepmania/recipe.toml +++ b/recipes/wip/games/music/stepmania/recipe.toml @@ -1,10 +1,10 @@ -#TODO maybe incomplete script +#TODO not compiled or tested # build instructions - https://github.com/stepmania/stepmania/wiki/Compiling-StepMania-Linux # dependencies - https://github.com/stepmania/stepmania/wiki/Linux-Dependencies [source] git = "https://github.com/stepmania/stepmania" [build] -template = "custom" +template = "cmake" dependencies = [ "mesa", "mesa-glu", @@ -23,18 +23,3 @@ dependencies = [ "gtk3", "libmad", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/open-world/cytopia/recipe.toml b/recipes/wip/games/open-world/cytopia/recipe.toml index edb201261..ea8d27724 100644 --- a/recipes/wip/games/open-world/cytopia/recipe.toml +++ b/recipes/wip/games/open-world/cytopia/recipe.toml @@ -3,7 +3,7 @@ [source] git = "https://github.com/CytopiaTeam/Cytopia" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "sdl2-ttf", @@ -16,18 +16,3 @@ dependencies = [ "libnoise", "imgui", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/open-world/luanti/recipe.toml b/recipes/wip/games/open-world/luanti/recipe.toml index 1d4c658b5..c591c12d7 100644 --- a/recipes/wip/games/open-world/luanti/recipe.toml +++ b/recipes/wip/games/open-world/luanti/recipe.toml @@ -1,10 +1,14 @@ -#TODO probably wrong script, see https://github.com/minetest/minetest/blob/master/doc/compiling/linux.md -#TODO customization - https://github.com/minetest/minetest/tree/master/doc/compiling#cmake-options +#TODO not compiled or tested +# build instructions: https://github.com/minetest/minetest/blob/master/doc/compiling/linux.md +# customization - https://github.com/minetest/minetest/tree/master/doc/compiling#cmake-options [source] git = "https://github.com/minetest/minetest" branch = "stable-5" +script = """ +git clone --depth 1 https://github.com/minetest/irrlicht.git "${COOKBOOK_SOURCE}"/lib/irrlichtmt +""" [build] -template = "custom" +template = "cmake" dependencies = [ "freetype2", "sqlite3", @@ -17,21 +21,3 @@ dependencies = [ "curl", "zstd", ] -script = """ -DYNAMIC_INIT -git clone --depth 1 https://github.com/minetest/irrlicht.git "${COOKBOOK_SOURCE}"/lib/irrlichtmt - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/other/shockolate/recipe.toml b/recipes/wip/games/other/shockolate/recipe.toml index 892671009..11b7e365b 100644 --- a/recipes/wip/games/other/shockolate/recipe.toml +++ b/recipes/wip/games/other/shockolate/recipe.toml @@ -9,22 +9,14 @@ dependencies = [ "libvorbis", "mesa", "sdl2", - "sdl2_mixer", + "sdl2-mixer", "zlib", ] script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True +DYNAMIC_INIT +COOKBOOK_CMAKE_FLAGS+=( -DCMAKE_C_FLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" -DCMAKE_CXX_FLAGS="-I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2" - -DCMAKE_EXE_LINKER_FLAGS="-L${COOKBOOK_SYSROOT}/lib -static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -DENABLE_FLUIDSYNTH=OFF -DENABLE_SDL2=ON -DENABLE_SOUND=ON @@ -32,10 +24,8 @@ COOKBOOK_CONFIGURE_FLAGS=( -DOPENGL_opengl_LIBRARY="-lgl" -DOPENGL_glx_LIBRARY="-lglx" -DSDL2_MIXER_LIBRARIES="-lSDL2_mixer -lvorbisfile -lvorbis -logg -lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa)" - "${COOKBOOK_SOURCE}" ) -cmake "${COOKBOOK_CONFIGURE_FLAGS[@]}" -make -j "${COOKBOOK_MAKE_JOBS}" +cookbook_cmake mkdir -pv "${COOKBOOK_STAGE}/home/user/systemshock" cp -v systemshock "${COOKBOOK_STAGE}/home/user/systemshock/systemshock" cp -rv "${COOKBOOK_SOURCE}/shaders" "${COOKBOOK_STAGE}/home/user/systemshock/shaders" diff --git a/recipes/wip/games/racing/supertuxkart/recipe.toml b/recipes/wip/games/racing/supertuxkart/recipe.toml index 34f0bda92..c10bc8501 100644 --- a/recipes/wip/games/racing/supertuxkart/recipe.toml +++ b/recipes/wip/games/racing/supertuxkart/recipe.toml @@ -1,8 +1,13 @@ -#TODO probably wrong script, see https://github.com/supertuxkart/stk-code/blob/master/INSTALL.md#compiling +#TODO not compiled or tested +# build instructions: https://github.com/supertuxkart/stk-code/blob/master/INSTALL.md#compiling [source] tar = "https://github.com/supertuxkart/stk-code/releases/download/1.4/SuperTuxKart-1.4-src.tar.xz" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DNO_SHADERC=ON", + "-DBUILD_RECORDER=OFF", +] dependencies = [ "openal", "libogg", @@ -16,20 +21,3 @@ dependencies = [ "libjpeg", "sdl2", ] -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DNO_SHADERC=on - -DBUILD_RECORDER=off -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/servers/cuberite/recipe.toml b/recipes/wip/games/servers/cuberite/recipe.toml index 3a0e97b7b..7b19d796a 100644 --- a/recipes/wip/games/servers/cuberite/recipe.toml +++ b/recipes/wip/games/servers/cuberite/recipe.toml @@ -1,20 +1,6 @@ -#TODO probably wrong script, see https://github.com/cuberite/cuberite/blob/master/COMPILING.md#building-1 +#TODO not compiled or tested +# build instructions: https://github.com/cuberite/cuberite/blob/master/COMPILING.md#building-1 [source] git = "https://github.com/cuberite/cuberite" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/games/space/endless-sky/recipe.toml b/recipes/wip/games/space/endless-sky/recipe.toml index d102de669..de8798177 100644 --- a/recipes/wip/games/space/endless-sky/recipe.toml +++ b/recipes/wip/games/space/endless-sky/recipe.toml @@ -1,9 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/endless-sky/endless-sky/blob/master/docs/readme-cmake.md#building-the-game +#TODO not compiled or tested +# build instructions: https://github.com/endless-sky/endless-sky/blob/master/docs/readme-cmake.md#building-the-game [source] git = "https://github.com/endless-sky/endless-sky" rev = "95e72950e1554392666fa41bb18c978868aa6611" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "libpng", @@ -14,18 +15,3 @@ dependencies = [ "libmad", "libuuid", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/strategy/ship-of-harkinian/recipe.toml b/recipes/wip/games/strategy/ship-of-harkinian/recipe.toml index 01b0af365..027a63941 100644 --- a/recipes/wip/games/strategy/ship-of-harkinian/recipe.toml +++ b/recipes/wip/games/strategy/ship-of-harkinian/recipe.toml @@ -1,27 +1,12 @@ -#TODO maybe incomplete script, see https://github.com/HarbourMasters/Shipwright/blob/develop/docs/BUILDING.md#linux -#TODO port to orbital? +#TODO not compiled or tested +# build instructions: https://github.com/HarbourMasters/Shipwright/blob/develop/docs/BUILDING.md#linux [source] git = "https://github.com/HarbourMasters/Shipwright" rev = "818addfdda660f6b4b54edd19636d6fd9d839f28" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "libpng", "glew", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/games/strategy/warsow/recipe.toml b/recipes/wip/games/strategy/warsow/recipe.toml index 1e4fdcab9..6b16cde82 100644 --- a/recipes/wip/games/strategy/warsow/recipe.toml +++ b/recipes/wip/games/strategy/warsow/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] tar = "https://warsow.net/warsow_21_sdk.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" From 5a4ab8c41209b24194a9ff46e3efb8c0695ee09a Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 7 Oct 2025 15:35:21 -0300 Subject: [PATCH 124/182] Try to fix more CMake-based recipes --- recipes/wip/games/other/vvvvvv/recipe.toml | 24 +++++++ recipes/wip/games/other/wesnoth/recipe.toml | 37 +++++++++++ recipes/wip/games/vvvvvv/recipe.sh | 38 ------------ recipes/wip/games/wesnoth/recipe.sh | 62 ------------------- .../graphics/editors/blender-lts/recipe.toml | 27 ++------ .../wip/graphics/editors/blender/recipe.toml | 27 ++------ .../graphics/editors/opentoonz/recipe.toml | 20 +----- .../wip/graphics/other/appleseed/recipe.toml | 20 +----- recipes/wip/graphics/other/cmark/recipe.toml | 20 +----- .../wip/graphics/other/darktable/recipe.toml | 22 ++----- 10 files changed, 84 insertions(+), 213 deletions(-) create mode 100644 recipes/wip/games/other/vvvvvv/recipe.toml create mode 100644 recipes/wip/games/other/wesnoth/recipe.toml delete mode 100644 recipes/wip/games/vvvvvv/recipe.sh delete mode 100644 recipes/wip/games/wesnoth/recipe.sh diff --git a/recipes/wip/games/other/vvvvvv/recipe.toml b/recipes/wip/games/other/vvvvvv/recipe.toml new file mode 100644 index 000000000..92f51c390 --- /dev/null +++ b/recipes/wip/games/other/vvvvvv/recipe.toml @@ -0,0 +1,24 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/xTibor/VVVVVV" +upstream = "https://github.com/TerryCavanagh/VVVVVV" +branch = "redox" +script = "COOKBOOK_SOURCE=${COOKBOOK_SOURCE}/desktop_version" +[build] +template = "cmake" +cmakeflags = [ + "-DSDL2_INCLUDE_DIRS=${COOKBOOK_SYSROOT}/include/SDL2", + "-DSDL2_LIBRARIES="-lSDL2main -lSDL2_mixer -lSDL2 $(${TARGET}-pkg-config --libs glu) -lorbital -lz -lvorbisfile -lvorbis -logg" .", +] +dependencies = [ + "sdl2-image", + "sdl2-mixer", + "sdl2", + "liborbital", + "llvm18", + "mesa", + "mesa-glu", + "zlib", + "libogg", + "libvorbis", +] diff --git a/recipes/wip/games/other/wesnoth/recipe.toml b/recipes/wip/games/other/wesnoth/recipe.toml new file mode 100644 index 000000000..890ee7ffe --- /dev/null +++ b/recipes/wip/games/other/wesnoth/recipe.toml @@ -0,0 +1,37 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/wesnoth/wesnoth" +branch = "1.14.6" +[build] +template = "cmake" +cmakeflags = [ + "-DCMAKE_TRY_COMPILE_TARGET_TYPE=DYNAMIC_LIBRARY", + "-DENABLE_SERVER=OFF", + "-DENABLE_TESTS=OFF" + "-DCRYPTO_LIBRARY=openssl", + "-DSDL2_LIBRARY=sdl2", + "-DSDL2_IMAGE_LIBRARY=SDL2_image", + "-DSDL2_MIXER_LIBRARY=SDL2_mixer", + "-DSDL2_TTF_LIBRARY=SDL2_ttf", + "-DVORBISFILE_INCLUDE_DIR=${COOKBOOK_SYSROOT}/include", + "-DVORBISFILE_LIBRARY=vorbisfile ..", +] +dependencies = [ + "cairo", + "freetype2", + "glib", + "libjpeg", + "liborbital", + "libpng", + "libvorbis", + "llvm18", + "mesa", + "mesa-glu", + "pcre", + "pixman", + "sdl2", + "sdl2-image", + "sdl2-mixer", + "sdl2-ttf", + "zlib", +] diff --git a/recipes/wip/games/vvvvvv/recipe.sh b/recipes/wip/games/vvvvvv/recipe.sh deleted file mode 100644 index 7964cafb3..000000000 --- a/recipes/wip/games/vvvvvv/recipe.sh +++ /dev/null @@ -1,38 +0,0 @@ -VERSION=2.0 -GIT=https://github.com/xTibor/VVVVVV -BRANCH=redox -GIT_UPSTREAM=https://github.com/TerryCavanagh/VVVVVV -BUILD_DEPENDS=(sdl2-image sdl2-mixer sdl2 liborbital llvm18 mesa mesa-glu zlib libogg libvorbis) - -function recipe_version { - printf "1.0.0" - skip=1 -} - -function recipe_build { - sysroot="$(realpath ../sysroot)" - cd desktop_version - - cmake \ - -DCMAKE_INSTALL_PREFIX:PATH=/ \ - -DBUILD_STATIC=ON \ - -DBUILD_SHARED=OFF \ - -DSDL2_INCLUDE_DIRS="$sysroot/include/SDL2" \ - -DSDL2_LIBRARIES="-static -lSDL2main -lSDL2_mixer -lSDL2 $("${PKG_CONFIG}" --libs glu) -lorbital -lz -lvorbisfile -lvorbis -logg" \ - . - - "$REDOX_MAKE" -j"$($NPROC)" - skip=1 -} - -function recipe_clean { - echo "skipping clean" - skip=1 -} - -function recipe_stage { - dest="$(realpath $1)" - mkdir -pv "$1/usr/games/vvvvvv" - cp ./desktop_version/VVVVVV "$1/usr/games/vvvvvv" - skip=1 -} diff --git a/recipes/wip/games/wesnoth/recipe.sh b/recipes/wip/games/wesnoth/recipe.sh deleted file mode 100644 index 26fc0739a..000000000 --- a/recipes/wip/games/wesnoth/recipe.sh +++ /dev/null @@ -1,62 +0,0 @@ -VERSION=1.14.6 -GIT=https://github.com/wesnoth/wesnoth.git -BRANCH=$VERSION -BUILD_DEPENDS=( - cairo - freetype2 - glib - libjpeg - liborbital - libpng - libvorbis - llvm18 - mesa mesa-glu - pcre - pixman - sdl2 sdl2-image sdl2-mixer sdl2-ttf - zlib -) - -function recipe_version { - printf "$VERSION" - skip=1 -} - -function recipe_build { - sysroot="$(realpath ../sysroot)" - export CFLAGS="-I$sysroot/include" - export LDFLAGS="-L$sysroot/lib" - - rm -rf build - mkdir -p build - cd build - set -x - cmake \ - -DCMAKE_INSTALL_PREFIX:PATH=/ \ - -DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY \ - -DENABLE_SERVER=OFF \ - -DENABLE_TESTS=OFF \ - -DCRYPTO_LIBRARY=openssl \ - -DSDL2_LIBRARY=sdl2 \ - -DSDL2_IMAGE_LIBRARY=SDL2_image \ - -DSDL2_MIXER_LIBRARY=SDL2_mixer \ - -DSDL2_TTF_LIBRARY=SDL2_ttf \ - -DVORBISFILE_INCLUDE_DIR="${sysroot}/include" \ - -DVORBISFILE_LIBRARY=vorbisfile \ - .. - VERBOSE=1 "$REDOX_MAKE" all -j"$($NPROC)" - set +x - skip=1 -} - -function recipe_clean { - rm -rf build - skip=1 -} - -function recipe_stage { - dest="$(realpath $1)" - mkdir -pv "$dest/bin" - cp "build/wesnoth" "$dest/bin/wesnoth" - skip=1 -} diff --git a/recipes/wip/graphics/editors/blender-lts/recipe.toml b/recipes/wip/graphics/editors/blender-lts/recipe.toml index 45fbd2e25..52b4308c9 100644 --- a/recipes/wip/graphics/editors/blender-lts/recipe.toml +++ b/recipes/wip/graphics/editors/blender-lts/recipe.toml @@ -1,11 +1,11 @@ -#TODO probably wrong script, see https://wiki.blender.org/wiki/Building_Blender/Linux/Generic_Distro -#TODO probably missing dependencies -#TODO port to Orbital -#TODO customization - https://wiki.blender.org/wiki/Building_Blender/Options +#TODO not compiled or tested +# build instructions: https://wiki.blender.org/wiki/Building_Blender/Linux/Generic_Distro +# probably missing dependencies +# customization - https://wiki.blender.org/wiki/Building_Blender/Options [source] tar = "https://download.blender.org/source/blender-3.6.5.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "dbus", "libdecor", @@ -24,20 +24,3 @@ dependencies = [ "mesa-x11", "libxkbcommon", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/editors/blender/recipe.toml b/recipes/wip/graphics/editors/blender/recipe.toml index b50d7d6d0..0399b0e69 100644 --- a/recipes/wip/graphics/editors/blender/recipe.toml +++ b/recipes/wip/graphics/editors/blender/recipe.toml @@ -1,11 +1,11 @@ -#TODO probably wrong script, see https://wiki.blender.org/wiki/Building_Blender/Linux/Generic_Distro -#TODO probably missing dependencies -#TODO port to Orbital -#TODO customization - https://wiki.blender.org/wiki/Building_Blender/Options +#TODO not compiled or tested +# build instructions: https://wiki.blender.org/wiki/Building_Blender/Linux/Generic_Distro +# probably missing dependencies +# customization - https://wiki.blender.org/wiki/Building_Blender/Options [source] tar = "https://download.blender.org/source/blender-4.1.0.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "dbus", "libdecor", @@ -24,20 +24,3 @@ dependencies = [ "mesa-x11", "libxkbcommon", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/editors/opentoonz/recipe.toml b/recipes/wip/graphics/editors/opentoonz/recipe.toml index 029a3153d..32b9b08bf 100644 --- a/recipes/wip/graphics/editors/opentoonz/recipe.toml +++ b/recipes/wip/graphics/editors/opentoonz/recipe.toml @@ -1,10 +1,11 @@ -#TODO probably wrong script, see https://github.com/opentoonz/opentoonz/blob/master/doc/how_to_build_linux.md +#TODO not compiled or tested #TODO missing dependencies +# build instructions: https://github.com/opentoonz/opentoonz/blob/master/doc/how_to_build_linux.md [source] git = "https://github.com/opentoonz/opentoonz" rev = "dd4cb36142ebf65a2aa74ff8575002863d3e17fc" [build] -template = "custom" +template = "cmake" dependencies = [ "boost", "qt5-base", @@ -13,18 +14,3 @@ dependencies = [ "libmypaint", "opencv4", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/other/appleseed/recipe.toml b/recipes/wip/graphics/other/appleseed/recipe.toml index 45a947dfb..76def06ba 100644 --- a/recipes/wip/graphics/other/appleseed/recipe.toml +++ b/recipes/wip/graphics/other/appleseed/recipe.toml @@ -1,26 +1,12 @@ -#TODO maybe incomplete script, see https://github.com/appleseedhq/appleseed/wiki/Building-appleseed-on-Linux +#TODO not compiled or tested +# build instructions: https://github.com/appleseedhq/appleseed/wiki/Building-appleseed-on-Linux [source] git = "https://github.com/appleseedhq/appleseed" rev = "015adb503af58cb80103e0c3ddeefc20d99d204f" [build] -template = "custom" +template = "cmake" dependencies = [ "zlib", "qt5-base", "libnsl", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/other/cmark/recipe.toml b/recipes/wip/graphics/other/cmark/recipe.toml index 0bb76c0b5..8b616f4ac 100644 --- a/recipes/wip/graphics/other/cmark/recipe.toml +++ b/recipes/wip/graphics/other/cmark/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/commonmark/cmark#installing +#TODO not compiled or tested +# build instructions: https://github.com/commonmark/cmark#installing [source] git = "https://github.com/commonmark/cmark" rev = "5ba25ff40eba44c811f79ab6a792baf945b8307c" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/graphics/other/darktable/recipe.toml b/recipes/wip/graphics/other/darktable/recipe.toml index 9b0f4bbd0..6427794c0 100644 --- a/recipes/wip/graphics/other/darktable/recipe.toml +++ b/recipes/wip/graphics/other/darktable/recipe.toml @@ -1,9 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/darktable-org/darktable?tab=readme-ov-file#linux -# dependencies - https://github.com/darktable-org/darktable?tab=readme-ov-file#dependencies +#TODO not compiled or tested +# build instructions: https://github.com/darktable-org/darktable#linux +# dependencies: https://github.com/darktable-org/darktable#dependencies [source] tar = "https://github.com/darktable-org/darktable/releases/download/release-4.8.0/darktable-4.8.0.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "gtk3", "glib", @@ -17,18 +18,3 @@ dependencies = [ "libwebp", "libgphoto2", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From df998c35b2eb4d05bb38559bd46945f084199e51 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 8 Oct 2025 04:11:58 +0700 Subject: [PATCH 125/182] Port webkitgtk3 bmalloc --- recipes/libs/libatomic/recipe.toml | 16 + recipes/wip/libs/other/webkitgtk3/recipe.toml | 65 +--- recipes/wip/libs/other/webkitgtk3/redox.patch | 358 ++++++++++-------- 3 files changed, 222 insertions(+), 217 deletions(-) create mode 100644 recipes/libs/libatomic/recipe.toml diff --git a/recipes/libs/libatomic/recipe.toml b/recipes/libs/libatomic/recipe.toml new file mode 100644 index 000000000..e6f08a2e2 --- /dev/null +++ b/recipes/libs/libatomic/recipe.toml @@ -0,0 +1,16 @@ +[source] +same_as = "../../dev/gcc13" + +[build] +template = "custom" +dependencies = [ + "libgmp", + "libmpfr", + "mpc", + "zlib" +] +script = """ +DYNAMIC_INIT +COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/libatomic/configure" +cookbook_configure +""" diff --git a/recipes/wip/libs/other/webkitgtk3/recipe.toml b/recipes/wip/libs/other/webkitgtk3/recipe.toml index 20839564e..00ce81f66 100644 --- a/recipes/wip/libs/other/webkitgtk3/recipe.toml +++ b/recipes/wip/libs/other/webkitgtk3/recipe.toml @@ -1,5 +1,3 @@ -#TODO missing script for Ninja, see https://trac.webkit.org/wiki/BuildingGtk#BuildingWebKitGTKfromareleasetarball -#TODO port to orbital #TODO missing dependencies, see https://archlinux.org/packages/extra/x86_64/webkitgtk-6.0/ [source] tar = "https://webkitgtk.org/releases/webkitgtk-2.49.1.tar.xz" @@ -22,6 +20,7 @@ dependencies = [ "gtk3", "harfbuzz", "libepoxy", + "libatomic", "libffi", "libgcrypt", "libgpg-error", @@ -60,61 +59,7 @@ dependencies = [ script = """ DYNAMIC_INIT export WEBKIT_USE_SCCACHE=1 - -#TODO: why are these not automatic? -LIBS=( - $("${TARGET}-pkg-config" --libs epoxy) - $("${TARGET}-pkg-config" --libs expat) - $("${TARGET}-pkg-config" --libs fontconfig) - $("${TARGET}-pkg-config" --libs freetype2) - $("${TARGET}-pkg-config" --libs fribidi) - $("${TARGET}-pkg-config" --libs gdk-3.0) - $("${TARGET}-pkg-config" --libs gdk-pixbuf-2.0) - $("${TARGET}-pkg-config" --libs gpg-error) - #$("${TARGET}-pkg-config" --libs gstreamer-1.0) - #$("${TARGET}-pkg-config" --libs gstreamer-allocators-1.0) - #$("${TARGET}-pkg-config" --libs gstreamer-app-1.0) - #$("${TARGET}-pkg-config" --libs gstreamer-audio-1.0) - #$("${TARGET}-pkg-config" --libs gstreamer-base-1.0) - #$("${TARGET}-pkg-config" --libs gstreamer-fft-1.0) - #$("${TARGET}-pkg-config" --libs gstreamer-pbutils-1.0) - #$("${TARGET}-pkg-config" --libs gstreamer-tag-1.0) - #$("${TARGET}-pkg-config" --libs gstreamer-transcoder-1.0) - #$("${TARGET}-pkg-config" --libs gstreamer-video-1.0) - $("${TARGET}-pkg-config" --libs gtk+-3.0) - $("${TARGET}-pkg-config" --libs harfbuzz-icu) - $("${TARGET}-pkg-config" --libs libffi) - $("${TARGET}-pkg-config" --libs libgcrypt) - $("${TARGET}-pkg-config" --libs libjpeg) - $("${TARGET}-pkg-config" --libs liblzma) - $("${TARGET}-pkg-config" --libs libnghttp2) - $("${TARGET}-pkg-config" --libs libpcre2-8) - $("${TARGET}-pkg-config" --libs libpng) - $("${TARGET}-pkg-config" --libs libpsl) - $("${TARGET}-pkg-config" --libs libsharpyuv) - $("${TARGET}-pkg-config" --libs libsoup-3.0) - $("${TARGET}-pkg-config" --libs libtasn1) - $("${TARGET}-pkg-config" --libs libwebp) - $("${TARGET}-pkg-config" --libs libwebpdemux) - $("${TARGET}-pkg-config" --libs libxml2) - $("${TARGET}-pkg-config" --libs libxslt) - $("${TARGET}-pkg-config" --libs pango) - $("${TARGET}-pkg-config" --libs pangofc) - $("${TARGET}-pkg-config" --libs pangoft2) - $("${TARGET}-pkg-config" --libs pixman-1) - $("${TARGET}-pkg-config" --libs sqlite3) - $("${TARGET}-pkg-config" --libs x11) - $("${TARGET}-pkg-config" --libs x11-xcb) - $("${TARGET}-pkg-config" --libs xau) - $("${TARGET}-pkg-config" --libs xcb) - $("${TARGET}-pkg-config" --libs xcb-render) - $("${TARGET}-pkg-config" --libs xext) - $("${TARGET}-pkg-config" --libs xfixes) - $("${TARGET}-pkg-config" --libs xi) - $("${TARGET}-pkg-config" --libs xrandr) - $("${TARGET}-pkg-config" --libs xrender) -) - +export PYTHONDONTWRITEBYTECODE=1 #TODO: enable more features COOKBOOK_CMAKE_FLAGS+=( -DENABLE_ASSERTS=ON @@ -125,7 +70,6 @@ COOKBOOK_CMAKE_FLAGS+=( -DENABLE_RELEASE_LOG=ON -DENABLE_SPEECH_SYNTHESIS=OFF -DENABLE_SPELLCHECK=OFF - -DENABLE_UNIFIED_BUILDS=OFF -DENABLE_WEB_AUDIO=OFF -DENABLE_WEB_CODECS=OFF -DENABLE_VIDEO=OFF @@ -142,13 +86,12 @@ COOKBOOK_CMAKE_FLAGS+=( -DUSE_LIBSECRET=OFF -DUSE_SKIA=OFF -DUSE_SYSPROF_CAPTURE=OFF - -DUSE_SYSTEM_MALLOC=ON + -DUSE_SYSTEM_MALLOC=OFF -DUSE_SYSTEM_SYSPROF_CAPTURE=OFF -DUSE_WOFF2=OFF ) -cookbook_cmake \ - -DCMAKE_CXX_STANDARD_LIBRARIES="${LIBS[*]}" +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" diff --git a/recipes/wip/libs/other/webkitgtk3/redox.patch b/recipes/wip/libs/other/webkitgtk3/redox.patch index 8e1436a75..a193e23ea 100644 --- a/recipes/wip/libs/other/webkitgtk3/redox.patch +++ b/recipes/wip/libs/other/webkitgtk3/redox.patch @@ -1,6 +1,6 @@ -diff -ruwN webkitgtk-2.49.1/Source/bmalloc/bmalloc/BPlatform.h source/Source/bmalloc/bmalloc/BPlatform.h ---- webkitgtk-2.49.1/Source/bmalloc/bmalloc/BPlatform.h 2025-03-28 00:18:28.347204000 -0600 -+++ source/Source/bmalloc/bmalloc/BPlatform.h 2025-05-12 20:54:40.104051612 -0600 +diff -ruwN source/Source/bmalloc/bmalloc/BPlatform.h source-new/Source/bmalloc/bmalloc/BPlatform.h +--- source/Source/bmalloc/bmalloc/BPlatform.h 2025-03-28 13:18:28.347204000 +0700 ++++ source-new/Source/bmalloc/bmalloc/BPlatform.h 2025-10-07 20:55:41.123161164 +0700 @@ -40,7 +40,7 @@ #define BOS_DARWIN 1 #endif @@ -19,9 +19,121 @@ diff -ruwN webkitgtk-2.49.1/Source/bmalloc/bmalloc/BPlatform.h source/Source/bma #define BENABLE_LIBPAS 1 #ifndef PAS_BMALLOC #define PAS_BMALLOC 1 -diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/heap/BlockDirectory.cpp source/Source/JavaScriptCore/heap/BlockDirectory.cpp ---- webkitgtk-2.49.1/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-03-20 11:07:59.015023500 -0600 -+++ source/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-05-10 21:38:36.889325942 -0600 +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c source-new/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c +--- source/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c 2023-09-18 14:56:46.731077000 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.c 2025-10-07 22:23:20.298893452 +0700 +@@ -57,6 +57,8 @@ + + #if PAS_OS(LINUX) + PAS_SYSCALL(mincore(object, size, (unsigned char*)vector->raw_data)); ++#elif PAS_OS(REDOX) ++ // no op + #else + PAS_SYSCALL(mincore(object, size, vector->raw_data)); + #endif +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h source-new/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h +--- source/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h 2023-09-18 14:56:46.731077000 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_committed_pages_vector.h 2025-10-07 22:23:29.232045934 +0700 +@@ -56,6 +56,8 @@ + PAS_ASSERT(page_index < vector->size); + #if PAS_OS(LINUX) + return vector->raw_data[page_index]; ++#elif PAS_OS(REDOX) ++ return true; // redox don't have swap yet + #else + return vector->raw_data[page_index] & (MINCORE_REFERENCED | + MINCORE_REFERENCED_OTHER | +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c source-new/Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c +--- source/Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c 2023-09-18 14:56:46.743076800 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_monotonic_time.c 2025-10-07 22:23:50.202403881 +0700 +@@ -89,6 +89,15 @@ + return ts.tv_sec * 1000u * 1000u * 1000u + ts.tv_nsec; + } + ++ ++#elif PAS_OS(REDOX) ++ ++uint64_t pas_get_current_monotonic_time_nanoseconds(void) ++{ ++ struct timespec ts; ++ clock_gettime(CLOCK_MONOTONIC, &ts); ++ return (uint64_t)ts.tv_sec * 1000000000 + (uint64_t)ts.tv_nsec; ++} + #endif + + #endif /* LIBPAS_ENABLED */ +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_page_malloc.c source-new/Source/bmalloc/libpas/src/libpas/pas_page_malloc.c +--- source/Source/bmalloc/libpas/src/libpas/pas_page_malloc.c 2024-12-20 17:10:23.123508500 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_page_malloc.c 2025-10-07 22:26:27.358086406 +0700 +@@ -228,6 +228,8 @@ + PAS_SYSCALL(madvise(ptr, size, MADV_DODUMP)); + #elif PAS_PLATFORM(PLAYSTATION) + // We don't need to call madvise to map page. ++#elif PAS_OS(REDOX) ++ // madvise not implemented + #elif PAS_OS(FREEBSD) + PAS_SYSCALL(madvise(ptr, size, MADV_NORMAL)); + #endif +@@ -276,6 +278,8 @@ + #elif PAS_OS(LINUX) + PAS_SYSCALL(madvise(ptr, size, MADV_DONTNEED)); + PAS_SYSCALL(madvise(ptr, size, MADV_DONTDUMP)); ++#elif PAS_OS(REDOX) ++ // madvise not implemented + #else + PAS_SYSCALL(madvise(ptr, size, MADV_DONTNEED)); + #endif +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_platform.h source-new/Source/bmalloc/libpas/src/libpas/pas_platform.h +--- source/Source/bmalloc/libpas/src/libpas/pas_platform.h 2024-11-07 21:16:41.458338300 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_platform.h 2025-10-07 22:22:50.849390772 +0700 +@@ -132,6 +132,10 @@ + #define PAS_OS_LINUX 1 + #endif + ++#ifdef __redox__ ++#define PAS_OS_REDOX 1 ++#endif ++ + #if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__FreeBSD_kernel__) + #define PAS_OS_FREEBSD 1 + #endif +diff -ruwN source/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c source-new/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c +--- source/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c 2025-03-27 13:32:32.679094000 +0700 ++++ source-new/Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c 2025-10-07 22:27:40.764339395 +0700 +@@ -165,16 +165,6 @@ + mprotect_res = mprotect((void*)upper_guard, upper_guard_size, PROT_NONE); + PAS_ASSERT(!mprotect_res); + +- /* +- * ensure physical addresses are released +- * TODO: investigate using MADV_FREE_REUSABLE instead +- */ +- int madvise_res = madvise((void*)upper_guard, upper_guard_size, MADV_FREE); +- PAS_ASSERT(!madvise_res); +- +- madvise_res = madvise((void*)lower_guard, lower_guard_size, MADV_FREE); +- PAS_ASSERT(!madvise_res); +- + PAS_PROFILE(PGM_ALLOCATE, heap_config, key); + + /* create struct to hold hash map value */ +@@ -231,13 +221,6 @@ + int mprotect_res = mprotect((void*)value->start_of_data_pages, value->size_of_data_pages, PROT_NONE); + PAS_ASSERT(!mprotect_res); + +- /* +- * ensure physical addresses are released +- * TODO: investigate using MADV_FREE_REUSABLE instead +- */ +- int madvise_res = madvise((void*)value->start_of_data_pages, value->size_of_data_pages, MADV_FREE); +- PAS_ASSERT(!madvise_res); +- + free_wasted_mem += value->mem_to_waste; + free_virtual_mem += value->size_of_allocated_pages; + +diff -ruwN source/Source/JavaScriptCore/heap/BlockDirectory.cpp source-new/Source/JavaScriptCore/heap/BlockDirectory.cpp +--- source/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-03-21 00:07:59.015023500 +0700 ++++ source-new/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-09-09 09:08:03.419985553 +0700 @@ -68,7 +68,7 @@ // FIXME: We should figure out a solution for Windows and PlayStation. // QNX doesn't have mincore(), though the information can be had. But since all mapped @@ -31,35 +143,9 @@ diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/heap/BlockDirectory.cpp source size_t pageSize = WTF::pageSize(); ASSERT(!(MarkedBlock::blockSize % pageSize)); auto numberOfPagesInMarkedBlock = MarkedBlock::blockSize / pageSize; -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator_templates.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator_templates.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_alternate_backend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_alternate_backend_dispatcher_header.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_header.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_implementation.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_header.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_implementation.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_header.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_implementation.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_js_backend_commands.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_js_backend_commands.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_header.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_implementation.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_header.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_implementation.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_frontend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_frontend_dispatcher_implementation.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_header.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_internal_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_internal_header.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_header.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_implementation.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_types_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_types_implementation.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator_templates.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator_templates.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/__init__.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/__init__.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/models.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/models.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator_templates.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator_templates.cpython-311.pyc differ -diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/jsc.cpp source/Source/JavaScriptCore/jsc.cpp ---- webkitgtk-2.49.1/Source/JavaScriptCore/jsc.cpp 2025-03-21 05:07:10.820055200 -0600 -+++ source/Source/JavaScriptCore/jsc.cpp 2025-05-12 21:27:55.789300618 -0600 +diff -ruwN source/Source/JavaScriptCore/jsc.cpp source-new/Source/JavaScriptCore/jsc.cpp +--- source/Source/JavaScriptCore/jsc.cpp 2025-03-21 18:07:10.820055200 +0700 ++++ source-new/Source/JavaScriptCore/jsc.cpp 2025-09-09 09:08:03.446985840 +0700 @@ -208,6 +208,8 @@ for (;;) { #if OS(WINDOWS) @@ -69,9 +155,9 @@ diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/jsc.cpp source/Source/JavaScri #else pause(); #endif -diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp ---- webkitgtk-2.49.1/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-03-20 11:07:59.015023500 -0600 -+++ source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-05-11 08:15:28.272811727 -0600 +diff -ruwN source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp source-new/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp +--- source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-03-21 00:07:59.015023500 +0700 ++++ source-new/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-09-09 09:08:03.446985840 +0700 @@ -37,7 +37,7 @@ #include #include @@ -90,9 +176,9 @@ diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersio auto result = ([&] -> std::optional { Dl_info info { }; if (!dladdr(jsFunctionAddr, &info)) -diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/runtime/MachineContext.h source/Source/JavaScriptCore/runtime/MachineContext.h ---- webkitgtk-2.49.1/Source/JavaScriptCore/runtime/MachineContext.h 2025-03-20 11:07:59.015023500 -0600 -+++ source/Source/JavaScriptCore/runtime/MachineContext.h 2025-05-12 20:27:42.492098710 -0600 +diff -ruwN source/Source/JavaScriptCore/runtime/MachineContext.h source-new/Source/JavaScriptCore/runtime/MachineContext.h +--- source/Source/JavaScriptCore/runtime/MachineContext.h 2025-03-21 00:07:59.015023500 +0700 ++++ source-new/Source/JavaScriptCore/runtime/MachineContext.h 2025-09-09 09:08:03.473986127 +0700 @@ -158,7 +158,7 @@ { #if OS(DARWIN) @@ -152,11 +238,9 @@ diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/runtime/MachineContext.h sourc #if CPU(X86_64) return reinterpret_cast((uintptr_t&) machineContext.r8); #else -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/wasm/__pycache__/generateWasm.cpython-311.pyc and source/Source/JavaScriptCore/wasm/__pycache__/generateWasm.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/JavaScriptCore/yarr/__pycache__/hasher.cpython-311.pyc and source/Source/JavaScriptCore/yarr/__pycache__/hasher.cpython-311.pyc differ -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/GLESv2.cmake source/Source/ThirdParty/ANGLE/GLESv2.cmake ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-02-17 05:59:58.567796700 -0700 -+++ source/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-05-10 20:36:08.275484081 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/GLESv2.cmake source-new/Source/ThirdParty/ANGLE/GLESv2.cmake +--- source/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-02-17 19:59:58.567796700 +0700 ++++ source-new/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-09-09 09:08:03.495986361 +0700 @@ -120,7 +120,7 @@ if(is_linux OR is_chromeos OR is_android OR is_fuchsia) @@ -166,18 +250,18 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/GLESv2.cmake source/Source/T "src/common/system_utils_posix.cpp" ) endif() -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/PlatformGTK.cmake source/Source/ThirdParty/ANGLE/PlatformGTK.cmake ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2023-10-21 01:33:32.730009300 -0600 -+++ source/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2025-05-10 20:22:26.792451858 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/PlatformGTK.cmake source-new/Source/ThirdParty/ANGLE/PlatformGTK.cmake +--- source/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2023-10-21 14:33:32.730009300 +0700 ++++ source-new/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2025-09-09 09:08:03.500986415 +0700 @@ -1,4 +1,4 @@ -list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_LINUX EGL_NO_PLATFORM_SPECIFIC_TYPES USE_SYSTEM_EGL) +list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_POSIX EGL_NO_PLATFORM_SPECIFIC_TYPES USE_SYSTEM_EGL) include(linux.cmake) if (USE_OPENGL) -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/log_utils.h source/Source/ThirdParty/ANGLE/src/common/log_utils.h ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-02-17 05:59:58.571796700 -0700 -+++ source/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-05-10 20:10:39.639595675 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/log_utils.h source-new/Source/ThirdParty/ANGLE/src/common/log_utils.h +--- source/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-02-17 19:59:58.571796700 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-09-09 09:08:03.501986425 +0700 @@ -136,10 +136,12 @@ return FmtHexAutoSized(os, fmt.mValue, fmt.mPrefix, "0x", '0'); } @@ -191,9 +275,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/log_utils.h sourc }; } // namespace priv -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/platform.h source/Source/ThirdParty/ANGLE/src/common/platform.h ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/platform.h 2024-09-03 00:28:47.067031900 -0600 -+++ source/Source/ThirdParty/ANGLE/src/common/platform.h 2025-05-10 20:07:40.561378854 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/platform.h source-new/Source/ThirdParty/ANGLE/src/common/platform.h +--- source/Source/ThirdParty/ANGLE/src/common/platform.h 2024-09-03 13:28:47.067031900 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/platform.h 2025-09-09 09:08:03.518986606 +0700 @@ -28,7 +28,7 @@ # define ANGLE_PLATFORM_POSIX 1 #elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ @@ -203,9 +287,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/platform.h source # define ANGLE_PLATFORM_POSIX 1 #else # error Unsupported platform. -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils.h source/Source/ThirdParty/ANGLE/src/common/system_utils.h ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils.h 2024-05-30 05:59:22.953676200 -0600 -+++ source/Source/ThirdParty/ANGLE/src/common/system_utils.h 2025-05-13 10:29:39.241586171 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/system_utils.h source-new/Source/ThirdParty/ANGLE/src/common/system_utils.h +--- source/Source/ThirdParty/ANGLE/src/common/system_utils.h 2024-05-30 18:59:22.953676200 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/system_utils.h 2025-09-09 09:08:03.536986798 +0700 @@ -256,7 +256,9 @@ } #endif @@ -217,9 +301,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils.h so } // namespace angle #endif // COMMON_SYSTEM_UTILS_H_ -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2024-05-30 05:59:22.953676200 -0600 -+++ source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2025-05-10 20:28:38.268901621 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp source-new/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp +--- source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2024-05-30 18:59:22.953676200 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2025-09-09 09:08:03.539986830 +0700 @@ -33,6 +33,11 @@ # include #endif @@ -232,9 +316,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils_posi namespace angle { -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp source/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp 2024-06-25 02:04:37.142420000 -0600 -+++ source/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp 2025-05-13 10:31:32.029891938 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp source-new/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp +--- source/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp 2024-06-25 15:04:37.142420000 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp 2025-09-09 09:08:03.557987021 +0700 @@ -165,7 +165,9 @@ void AsyncWorkerPool::threadLoop() @@ -245,9 +329,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/WorkerThread.cpp while (true) { -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-02-05 02:14:42.678567400 -0700 -+++ source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-05-10 20:42:33.040029309 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp source-new/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp +--- source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-02-05 16:14:42.678567400 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-09-09 09:08:03.577987234 +0700 @@ -58,7 +58,7 @@ # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" # elif ANGLE_ENABLE_CGL @@ -266,9 +350,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp sou # if defined(ANGLE_USE_GBM) if (platformType == 0) { -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp 2025-02-17 05:59:58.575796600 -0700 -+++ source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp 2025-05-13 10:30:15.002645630 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp source-new/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp +--- source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp 2025-02-17 19:59:58.575796600 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp 2025-09-09 09:08:03.578987245 +0700 @@ -142,7 +142,9 @@ angle::Result DispatchWorkThread::finishLoop() @@ -279,9 +363,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan while (true) { -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp 2025-02-05 02:14:42.690567300 -0700 -+++ source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp 2025-05-13 10:30:05.421614993 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp source-new/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp +--- source/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp 2025-02-05 16:14:42.690567300 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CommandQueue.cpp 2025-09-09 09:08:03.578987245 +0700 @@ -378,7 +378,9 @@ void CleanUpThread::processTasks() @@ -292,9 +376,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan while (true) { -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libGLESv2.gni source/Source/ThirdParty/ANGLE/src/libGLESv2.gni ---- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-02-17 05:59:58.587796200 -0700 -+++ source/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-05-10 20:36:18.426498466 -0600 +diff -ruwN source/Source/ThirdParty/ANGLE/src/libGLESv2.gni source-new/Source/ThirdParty/ANGLE/src/libGLESv2.gni +--- source/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-02-17 19:59:58.587796200 +0700 ++++ source-new/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-09-09 09:08:03.578987245 +0700 @@ -115,7 +115,7 @@ if (is_linux || is_chromeos || is_android || is_fuchsia) { @@ -304,9 +388,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libGLESv2.gni source/Sou "src/common/system_utils_posix.cpp", ] } -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h ---- webkitgtk-2.49.1/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2024-08-14 02:56:17.506453500 -0600 -+++ source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2025-05-10 21:10:41.689374796 -0600 +diff -ruwN source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h source-new/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h +--- source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2024-08-14 15:56:17.506453500 +0700 ++++ source-new/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2025-09-09 09:08:03.579987255 +0700 @@ -27,7 +27,7 @@ #define HAVE_XLOCALE 0 #endif @@ -316,9 +400,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSe #define HAVE_LOCALE_T 0 #else #define HAVE_LOCALE_T 1 -diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp ---- webkitgtk-2.49.1/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2024-05-30 05:59:23.965655000 -0600 -+++ source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2025-05-10 21:14:33.304664836 -0600 +diff -ruwN source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp source-new/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp +--- source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2024-05-30 18:59:23.965655000 +0700 ++++ source-new/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2025-09-09 09:08:03.579987255 +0700 @@ -126,7 +126,7 @@ #elif defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 17 completeSize = malloc_usable_size(addr); @@ -328,9 +412,9 @@ diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp completeSize = malloc_usable_size(addr); SkASSERT(completeSize >= size); #elif defined(SK_BUILD_FOR_WIN) -diff -ruwN webkitgtk-2.49.1/Source/WebCore/page/Page.cpp source/Source/WebCore/page/Page.cpp ---- webkitgtk-2.49.1/Source/WebCore/page/Page.cpp 2025-04-01 01:53:09.527295000 -0600 -+++ source/Source/WebCore/page/Page.cpp 2025-06-14 18:21:41.320992545 -0600 +diff -ruwN source/Source/WebCore/page/Page.cpp source-new/Source/WebCore/page/Page.cpp +--- source/Source/WebCore/page/Page.cpp 2025-04-01 14:53:09.527295000 +0700 ++++ source-new/Source/WebCore/page/Page.cpp 2025-09-09 09:08:03.580987266 +0700 @@ -536,8 +536,10 @@ if (RefPtr scrollingCoordinator = m_scrollingCoordinator) scrollingCoordinator->pageDestroyed(); @@ -354,9 +438,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WebCore/page/Page.cpp source/Source/WebCore/p } #if ENABLE(MEDIA_STREAM) -diff -ruwN webkitgtk-2.49.1/Source/WebCore/PlatformGTK.cmake source/Source/WebCore/PlatformGTK.cmake ---- webkitgtk-2.49.1/Source/WebCore/PlatformGTK.cmake 2024-12-16 02:07:48.162613200 -0700 -+++ source/Source/WebCore/PlatformGTK.cmake 2025-05-10 19:05:57.526658690 -0600 +diff -ruwN source/Source/WebCore/PlatformGTK.cmake source-new/Source/WebCore/PlatformGTK.cmake +--- source/Source/WebCore/PlatformGTK.cmake 2024-12-16 16:07:48.162613200 +0700 ++++ source-new/Source/WebCore/PlatformGTK.cmake 2025-09-09 09:08:03.580987266 +0700 @@ -75,21 +75,18 @@ ) @@ -379,9 +463,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WebCore/PlatformGTK.cmake source/Source/WebCo ${GIO_UNIX_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${LIBSECRET_INCLUDE_DIRS} -diff -ruwN webkitgtk-2.49.1/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp source/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp ---- webkitgtk-2.49.1/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp 2025-03-31 03:35:43.461813700 -0600 -+++ source/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp 2025-06-15 20:53:04.313171066 -0600 +diff -ruwN source/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp source-new/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp +--- source/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp 2025-03-31 16:35:43.461813700 +0700 ++++ source-new/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp 2025-09-09 09:08:03.591987383 +0700 @@ -48,13 +48,13 @@ #include #endif @@ -398,9 +482,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp s #define SOCKET_TYPE SOCK_SEQPACKET #else #if USE(GLIB) -diff -ruwN webkitgtk-2.49.1/Source/WebKit/PlatformGTK.cmake source/Source/WebKit/PlatformGTK.cmake ---- webkitgtk-2.49.1/Source/WebKit/PlatformGTK.cmake 2025-03-05 03:09:47.273706000 -0700 -+++ source/Source/WebKit/PlatformGTK.cmake 2025-05-10 18:54:43.437475299 -0600 +diff -ruwN source/Source/WebKit/PlatformGTK.cmake source-new/Source/WebKit/PlatformGTK.cmake +--- source/Source/WebKit/PlatformGTK.cmake 2025-03-05 17:09:47.273706000 +0700 ++++ source-new/Source/WebKit/PlatformGTK.cmake 2025-09-09 09:08:03.644987947 +0700 @@ -313,7 +313,6 @@ ) @@ -409,13 +493,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WebKit/PlatformGTK.cmake source/Source/WebKit ${GIO_UNIX_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS} ${GSTREAMER_INCLUDE_DIRS} -Binary files webkitgtk-2.49.1/Source/WebKit/Scripts/webkit/__pycache__/__init__.cpython-311.pyc and source/Source/WebKit/Scripts/webkit/__pycache__/__init__.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/WebKit/Scripts/webkit/__pycache__/messages.cpython-311.pyc and source/Source/WebKit/Scripts/webkit/__pycache__/messages.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/WebKit/Scripts/webkit/__pycache__/model.cpython-311.pyc and source/Source/WebKit/Scripts/webkit/__pycache__/model.cpython-311.pyc differ -Binary files webkitgtk-2.49.1/Source/WebKit/Scripts/webkit/__pycache__/parser.cpython-311.pyc and source/Source/WebKit/Scripts/webkit/__pycache__/parser.cpython-311.pyc differ -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/glib/FileSystemGlib.cpp source/Source/WTF/wtf/glib/FileSystemGlib.cpp ---- webkitgtk-2.49.1/Source/WTF/wtf/glib/FileSystemGlib.cpp 2024-12-16 02:07:48.134613800 -0700 -+++ source/Source/WTF/wtf/glib/FileSystemGlib.cpp 2025-05-10 20:14:04.266843426 -0600 +diff -ruwN source/Source/WTF/wtf/glib/FileSystemGlib.cpp source-new/Source/WTF/wtf/glib/FileSystemGlib.cpp +--- source/Source/WTF/wtf/glib/FileSystemGlib.cpp 2024-12-16 16:07:48.134613800 +0700 ++++ source-new/Source/WTF/wtf/glib/FileSystemGlib.cpp 2025-09-09 09:08:03.644987947 +0700 @@ -70,7 +70,7 @@ return CString({ readLinkBuffer, static_cast(result) }); WTF_ALLOW_UNSAFE_BUFFER_USAGE_END @@ -425,9 +505,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/glib/FileSystemGlib.cpp source/Source CString currentExecutablePath() { return { }; -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/InlineASM.h source/Source/WTF/wtf/InlineASM.h ---- webkitgtk-2.49.1/Source/WTF/wtf/InlineASM.h 2024-09-23 04:54:44.750106000 -0600 -+++ source/Source/WTF/wtf/InlineASM.h 2025-05-10 21:34:44.313517406 -0600 +diff -ruwN source/Source/WTF/wtf/InlineASM.h source-new/Source/WTF/wtf/InlineASM.h +--- source/Source/WTF/wtf/InlineASM.h 2024-09-23 17:54:44.750106000 +0700 ++++ source-new/Source/WTF/wtf/InlineASM.h 2025-09-09 09:08:03.667988192 +0700 @@ -89,7 +89,8 @@ || OS(HURD) \ || OS(NETBSD) \ @@ -438,9 +518,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/InlineASM.h source/Source/WTF/wtf/Inl // GNU as-compatible syntax. #define LOCAL_LABEL_STRING(name) ".L" #name #endif -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformHave.h source/Source/WTF/wtf/PlatformHave.h ---- webkitgtk-2.49.1/Source/WTF/wtf/PlatformHave.h 2025-04-02 06:09:45.800669000 -0600 -+++ source/Source/WTF/wtf/PlatformHave.h 2025-05-11 08:45:52.150157369 -0600 +diff -ruwN source/Source/WTF/wtf/PlatformHave.h source-new/Source/WTF/wtf/PlatformHave.h +--- source/Source/WTF/wtf/PlatformHave.h 2025-04-02 19:09:45.800669000 +0700 ++++ source-new/Source/WTF/wtf/PlatformHave.h 2025-09-09 09:08:03.707988617 +0700 @@ -231,7 +231,7 @@ #define HAVE_MACH_MEMORY_ENTRY 1 #endif @@ -450,9 +530,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformHave.h source/Source/WTF/wtf/ #define HAVE_MACHINE_CONTEXT 1 #endif -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformOS.h source/Source/WTF/wtf/PlatformOS.h ---- webkitgtk-2.49.1/Source/WTF/wtf/PlatformOS.h 2025-04-02 23:49:09.282701700 -0600 -+++ source/Source/WTF/wtf/PlatformOS.h 2025-05-10 21:44:33.694803473 -0600 +diff -ruwN source/Source/WTF/wtf/PlatformOS.h source-new/Source/WTF/wtf/PlatformOS.h +--- source/Source/WTF/wtf/PlatformOS.h 2025-04-03 12:49:09.282701700 +0700 ++++ source-new/Source/WTF/wtf/PlatformOS.h 2025-09-09 09:08:03.709988639 +0700 @@ -143,7 +143,8 @@ || OS(OPENBSD) \ || defined(unix) \ @@ -463,9 +543,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformOS.h source/Source/WTF/wtf/Pl #define WTF_OS_UNIX 1 #endif -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformRegisters.h source/Source/WTF/wtf/PlatformRegisters.h ---- webkitgtk-2.49.1/Source/WTF/wtf/PlatformRegisters.h 2024-11-20 06:56:01.847236400 -0700 -+++ source/Source/WTF/wtf/PlatformRegisters.h 2025-05-10 19:12:14.761916702 -0600 +diff -ruwN source/Source/WTF/wtf/PlatformRegisters.h source-new/Source/WTF/wtf/PlatformRegisters.h +--- source/Source/WTF/wtf/PlatformRegisters.h 2024-11-20 20:56:01.847236400 +0700 ++++ source-new/Source/WTF/wtf/PlatformRegisters.h 2025-09-09 09:08:03.723988787 +0700 @@ -39,6 +39,8 @@ typedef ucontext_t mcontext_t; #elif OS(QNX) @@ -475,9 +555,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformRegisters.h source/Source/WTF #else #include #endif -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/CPUTimePOSIX.cpp source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp ---- webkitgtk-2.49.1/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2023-09-18 01:56:45.363115500 -0600 -+++ source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2025-05-10 19:30:23.676993788 -0600 +diff -ruwN source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp source-new/Source/WTF/wtf/posix/CPUTimePOSIX.cpp +--- source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2023-09-18 14:56:45.363115500 +0700 ++++ source-new/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2025-09-09 09:08:03.727988830 +0700 @@ -47,10 +47,14 @@ Seconds CPUTime::forCurrentThread() @@ -493,9 +573,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/CPUTimePOSIX.cpp source/Source/ } } -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/FileHandlePOSIX.cpp source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp ---- webkitgtk-2.49.1/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-03-21 05:07:10.828055100 -0600 -+++ source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-05-10 19:26:54.845585962 -0600 +diff -ruwN source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp source-new/Source/WTF/wtf/posix/FileHandlePOSIX.cpp +--- source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-03-21 18:07:10.828055100 +0700 ++++ source-new/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-09-09 09:08:03.757989149 +0700 @@ -39,6 +39,10 @@ #include #include @@ -507,9 +587,9 @@ diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/FileHandlePOSIX.cpp source/Sour namespace WTF::FileSystemImpl { std::optional FileHandle::read(std::span data) -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/ThreadingPOSIX.cpp source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp ---- webkitgtk-2.49.1/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-03-05 03:09:47.149706400 -0700 -+++ source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-05-10 19:19:09.728119543 -0600 +diff -ruwN source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp source-new/Source/WTF/wtf/posix/ThreadingPOSIX.cpp +--- source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-03-05 17:09:47.149706400 +0700 ++++ source-new/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-09-09 09:08:03.762989203 +0700 @@ -356,7 +356,7 @@ void Thread::changePriority(int delta) @@ -519,37 +599,3 @@ diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/ThreadingPOSIX.cpp source/Sourc Locker locker { m_mutex }; int policy; -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/RAMSize.cpp source/Source/WTF/wtf/RAMSize.cpp ---- webkitgtk-2.49.1/Source/WTF/wtf/RAMSize.cpp 2024-10-01 01:40:32.303785300 -0600 -+++ source/Source/WTF/wtf/RAMSize.cpp 2025-05-12 21:08:59.548628775 -0600 -@@ -46,7 +46,7 @@ - - namespace WTF { - --#if OS(WINDOWS) -+#if OS(WINDOWS) || defined(__redox__) - static constexpr size_t ramSizeGuess = 512 * MB; - #endif - -@@ -64,6 +64,9 @@ - struct sysinfo si; - sysinfo(&si); - return si.totalram * si.mem_unit; -+#elif defined(__redox__) -+ //TODO: implement using /scheme/mem -+ return ramSizeGuess; - #elif OS(UNIX) || OS(HAIKU) - long pages = sysconf(_SC_PHYS_PAGES); - long pageSize = sysconf(_SC_PAGE_SIZE); -diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/StackBounds.cpp source/Source/WTF/wtf/StackBounds.cpp ---- webkitgtk-2.49.1/Source/WTF/wtf/StackBounds.cpp 2025-03-18 02:33:00.063181400 -0600 -+++ source/Source/WTF/wtf/StackBounds.cpp 2025-05-10 19:16:43.976048337 -0600 -@@ -120,6 +120,8 @@ - #if HAVE(PTHREAD_NP_H) || OS(NETBSD) - // e.g. on FreeBSD 5.4, neundorf@kde.org - pthread_attr_get_np(thread, &sattr); -+#elif defined(__redox__) -+ //TODO - #else - // FIXME: this function is non-portable; other POSIX systems may have different np alternatives - pthread_getattr_np(thread, &sattr); From 1c8c7cd13f6fab0fd879e6c5b128ff21e409f2b7 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 8 Oct 2025 22:24:13 +0700 Subject: [PATCH 126/182] Port gitui --- recipes/wip/tui/gitui/recipe.toml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/wip/tui/gitui/recipe.toml b/recipes/wip/tui/gitui/recipe.toml index b8019c57f..248b6792c 100644 --- a/recipes/wip/tui/gitui/recipe.toml +++ b/recipes/wip/tui/gitui/recipe.toml @@ -1,13 +1,14 @@ -#TODO openssl-sys crate error +#TODO: Page fault [source] git = "https://github.com/extrawurst/gitui" + [build] template = "custom" dependencies = [ "openssl1", ] script = """ -export OPENSSL_DIR="${COOKBOOK_SYSROOT}" -export OPENSSL_STATIC="true" +DYNAMIC_INIT +export OPENSSL_NO_VENDOR=1 cookbook_cargo """ From beba0ecd22b9be827e13121b3bc6b2502905c3cb Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 8 Oct 2025 13:10:39 -0300 Subject: [PATCH 127/182] Add recipes --- recipes/wip/demos/servo-gtk/recipe.toml | 11 +++++++++++ recipes/wip/sound/soundscope/recipe.toml | 5 +++++ 2 files changed, 16 insertions(+) create mode 100644 recipes/wip/demos/servo-gtk/recipe.toml create mode 100644 recipes/wip/sound/soundscope/recipe.toml diff --git a/recipes/wip/demos/servo-gtk/recipe.toml b/recipes/wip/demos/servo-gtk/recipe.toml new file mode 100644 index 000000000..c512b5467 --- /dev/null +++ b/recipes/wip/demos/servo-gtk/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/nacho/servo-gtk" +[build] +template = "custom" +dependencies = [ + "gtk4" +] +script = """ +cookbook_cargo_examples browser +""" diff --git a/recipes/wip/sound/soundscope/recipe.toml b/recipes/wip/sound/soundscope/recipe.toml new file mode 100644 index 000000000..b1ccbbda8 --- /dev/null +++ b/recipes/wip/sound/soundscope/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bananaofhappiness/soundscope" +[build] +template = "cargo" From fe32b18845abc390d543b21cb5253d6df56092d4 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 8 Oct 2025 13:46:15 -0300 Subject: [PATCH 128/182] Try to fix more CMake-based recipes --- recipes/wip/graphics/other/embree/recipe.toml | 20 +++------------ .../graphics/other/luxcorerender/recipe.toml | 20 +++------------ .../graphics/other/ospray-studio/recipe.toml | 20 +++------------ recipes/wip/graphics/other/ospray/recipe.toml | 20 +++------------ .../wip/graphics/other/paraview/recipe.toml | 20 +++------------ .../graphics/other/rawtherapee/recipe.toml | 20 +++------------ .../wip/graphics/other/toybrot/recipe.toml | 20 +++------------ .../other/tungsten-renderer/recipe.toml | 20 +++------------ .../graphics/other/vulkan-tools/recipe.toml | 25 +++++-------------- .../graphics/shaders/glsl-viewer/recipe.toml | 20 +++------------ 10 files changed, 34 insertions(+), 171 deletions(-) diff --git a/recipes/wip/graphics/other/embree/recipe.toml b/recipes/wip/graphics/other/embree/recipe.toml index 0c8bfcf4e..d5a592036 100644 --- a/recipes/wip/graphics/other/embree/recipe.toml +++ b/recipes/wip/graphics/other/embree/recipe.toml @@ -1,25 +1,11 @@ -#TODO maybe incomplete script, see https://github.com/embree/embree#linux-and-macos +#TODO not compiled or tested +# build instructions: https://github.com/embree/embree#linux-and-macos [source] git = "https://github.com/embree/embree" rev = "be0accfd0b246e2b03355b8ee7710a22c1b49240" [build] -template = "custom" +template = "cmake" dependencies = [ "glfw", "onetbb", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/other/luxcorerender/recipe.toml b/recipes/wip/graphics/other/luxcorerender/recipe.toml index d4753ffb7..34ef517e9 100644 --- a/recipes/wip/graphics/other/luxcorerender/recipe.toml +++ b/recipes/wip/graphics/other/luxcorerender/recipe.toml @@ -1,10 +1,11 @@ -#TODO maybe incomplete script, see https://wiki.luxcorerender.org/Compiling_LuxCore +#TODO not compiled or tested +# build instructions: https://wiki.luxcorerender.org/Compiling_LuxCore #TODO probably missing dependencies [source] git = "https://github.com/LuxCoreRender/LuxCore" rev = "c8f10e9ddf5171fa705782a3da3f48123f96a4cb" [build] -template = "custom" +template = "cmake" dependencies = [ "bzip2", "libtiff", @@ -15,18 +16,3 @@ dependencies = [ "openimageio", "openexr", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/other/ospray-studio/recipe.toml b/recipes/wip/graphics/other/ospray-studio/recipe.toml index 573193cd0..542e8cc38 100644 --- a/recipes/wip/graphics/other/ospray-studio/recipe.toml +++ b/recipes/wip/graphics/other/ospray-studio/recipe.toml @@ -1,9 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/ospray/ospray_studio#standard-cmake-build +#TODO not compiled or tested +# build instructions: https://github.com/ospray/ospray_studio#standard-cmake-build [source] git = "https://github.com/ospray/ospray_studio" rev = "d2c83a67c841f1329f47cf9648a56b3dacbcdcaa" [build] -template = "custom" +template = "cmake" dependencies = [ "ospray", "onetbb", @@ -12,18 +13,3 @@ dependencies = [ "glfw", "open-image-denoise", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/other/ospray/recipe.toml b/recipes/wip/graphics/other/ospray/recipe.toml index 3a57813be..4470753ee 100644 --- a/recipes/wip/graphics/other/ospray/recipe.toml +++ b/recipes/wip/graphics/other/ospray/recipe.toml @@ -1,9 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/ospray/OSPRay#building-and-finding-ospray +#TODO not compiled or tested +# build instructions: https://github.com/ospray/OSPRay#building-and-finding-ospray [source] git = "https://github.com/ospray/OSPRay" rev = "66fa8108485a8a92ff31ad2e06081bbaf391bc26" [build] -template = "custom" +template = "cmake" dependencies = [ "librkcommon", "embree", @@ -12,18 +13,3 @@ dependencies = [ "openvkl", "open-image-denoise", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/other/paraview/recipe.toml b/recipes/wip/graphics/other/paraview/recipe.toml index 013791d39..3209ea4c6 100644 --- a/recipes/wip/graphics/other/paraview/recipe.toml +++ b/recipes/wip/graphics/other/paraview/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://kitware.github.io/paraviewweb/docs/configure_and_build_pvweb.html +#TODO not compiled or tested +# build instructions: https://kitware.github.io/paraviewweb/docs/configure_and_build_pvweb.html # build instructions (if the above doesn't work) - https://github.com/Kitware/ParaView/blob/master/Documentation/dev/build.md [source] tar = "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v5.11&type=source&os=Sources&downloadFile=ParaView-v5.11.2.tar.xz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/graphics/other/rawtherapee/recipe.toml b/recipes/wip/graphics/other/rawtherapee/recipe.toml index 4c8a04dac..87c6b27c1 100644 --- a/recipes/wip/graphics/other/rawtherapee/recipe.toml +++ b/recipes/wip/graphics/other/rawtherapee/recipe.toml @@ -1,9 +1,10 @@ -#TODO maybe incomplete script, see https://rawpedia.rawtherapee.com/Linux#Compile_RawTherapee +#TODO not compiled or tested +# build instructions: https://rawpedia.rawtherapee.com/Linux#Compile_RawTherapee #TODO missing dependencies, see https://rawpedia.rawtherapee.com/Linux#Dependencies [source] tar = "https://rawtherapee.com/shared/source/rawtherapee-5.9.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "gexiv2", "expat", @@ -19,18 +20,3 @@ dependencies = [ "libtiff", "zlib", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/other/toybrot/recipe.toml b/recipes/wip/graphics/other/toybrot/recipe.toml index cee45b81f..29594f379 100644 --- a/recipes/wip/graphics/other/toybrot/recipe.toml +++ b/recipes/wip/graphics/other/toybrot/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://gitlab.com/VileLasagna/toyBrot#building-toybrot +#TODO not compiled or tested +# build instructions: https://gitlab.com/VileLasagna/toyBrot#building-toybrot [source] git = "https://gitlab.com/VileLasagna/toyBrot" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", "libpng", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/graphics/other/tungsten-renderer/recipe.toml b/recipes/wip/graphics/other/tungsten-renderer/recipe.toml index 6a1069dd2..3ad8d162e 100644 --- a/recipes/wip/graphics/other/tungsten-renderer/recipe.toml +++ b/recipes/wip/graphics/other/tungsten-renderer/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://github.com/tunabrain/tungsten#compilation +#TODO not compiled or tested +# build instructions: https://github.com/tunabrain/tungsten#compilation [source] git = "https://github.com/tunabrain/tungsten" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/graphics/other/vulkan-tools/recipe.toml b/recipes/wip/graphics/other/vulkan-tools/recipe.toml index 9b95301e8..d6b879a40 100644 --- a/recipes/wip/graphics/other/vulkan-tools/recipe.toml +++ b/recipes/wip/graphics/other/vulkan-tools/recipe.toml @@ -1,23 +1,10 @@ -#TODO probably need to be ported to Orbital -#TODO probably wrong script, see https://github.com/KhronosGroup/Vulkan-Tools/blob/main/BUILD.md +#TODO not compiled or tested +# build instructions: https://github.com/KhronosGroup/Vulkan-Tools/blob/main/BUILD.md [source] git = "https://github.com/KhronosGroup/Vulkan-Tools" rev = "7e75f4d389799129b79f90d1401f15f511796dbd" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DUPDATE_DEPS=ON -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" +cmakeflags = [ + "-DUPDATE_DEPS=ON" +] diff --git a/recipes/wip/graphics/shaders/glsl-viewer/recipe.toml b/recipes/wip/graphics/shaders/glsl-viewer/recipe.toml index 438c2a1fe..fad66faaf 100644 --- a/recipes/wip/graphics/shaders/glsl-viewer/recipe.toml +++ b/recipes/wip/graphics/shaders/glsl-viewer/recipe.toml @@ -1,5 +1,5 @@ -#TODO maybe incomplete script, see https://github.com/patriciogonzalezvivo/glslViewer/wiki/Compile-on-linux#3-compile -#TODO port to orbital +#TODO not compiled or tested +# build instructions: https://github.com/patriciogonzalezvivo/glslViewer/wiki/Compile-on-linux#3-compile [source] git = "https://github.com/patriciogonzalezvivo/glslViewer" rev = "7eb6254cb4cedf03f1c78653f90905fe0c3b48fb" @@ -10,21 +10,9 @@ dependencies = [ "ncurses", "ncursesw", "ffmpeg6", - "glfw", + "glfw3", ] script = """ export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure +cookbook_cmake """ From 891c9a1efbb923627abb1d1c4de74e802e20e500 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 8 Oct 2025 14:02:23 -0300 Subject: [PATCH 129/182] Try to fix more CMake-based recipes --- recipes/wip/icons/breeze-icons/recipe.toml | 20 +++------------ .../wip/image/editors/inkscape/recipe.toml | 22 +++------------- recipes/wip/image/editors/krita/recipe.toml | 25 +++---------------- recipes/wip/image/editors/xpano/recipe.toml | 23 +++-------------- .../wip/image/other/converseen/recipe.toml | 20 +++------------ .../image/upscaling/upscayl-ncnn/recipe.toml | 21 +++------------- .../libs/audio/libopenshot-audio/recipe.toml | 19 ++------------ recipes/wip/libs/audio/zmusic/recipe.toml | 20 +++------------ .../wip/libs/graphics/libnoise/recipe.toml | 19 ++------------ recipes/wip/libs/gui/imgui/recipe.toml | 19 ++------------ recipes/wip/libs/image/libavif/recipe.toml | 20 +++------------ recipes/wip/libs/image/libheif/recipe.toml | 20 +++------------ recipes/wip/libs/image/libjxl/recipe.toml | 20 +++------------ 13 files changed, 38 insertions(+), 230 deletions(-) diff --git a/recipes/wip/icons/breeze-icons/recipe.toml b/recipes/wip/icons/breeze-icons/recipe.toml index 31717dab1..2c1b4d96d 100644 --- a/recipes/wip/icons/breeze-icons/recipe.toml +++ b/recipes/wip/icons/breeze-icons/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] tar = "https://download.kde.org/stable/frameworks/5.112/breeze-icons-5.112.0.tar.xz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/image/editors/inkscape/recipe.toml b/recipes/wip/image/editors/inkscape/recipe.toml index 2f0a492ca..22f29f63b 100644 --- a/recipes/wip/image/editors/inkscape/recipe.toml +++ b/recipes/wip/image/editors/inkscape/recipe.toml @@ -1,9 +1,10 @@ -#TODO probably wrong script, see https://inkscape.org/develop/getting-started/#compile +#TODO not compiled or tested #TODO missing dependencies, see https://gitlab.com/inkscape/inkscape-ci-docker/-/raw/master/install_dependencies.sh +# build instructions: https://inkscape.org/develop/getting-started/#compile [source] tar = "https://inkscape.org/gallery/item/44467/inkscape-1.3.1.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "boost", "glib", @@ -42,20 +43,3 @@ dependencies = [ "liblcms", "liblapack", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/image/editors/krita/recipe.toml b/recipes/wip/image/editors/krita/recipe.toml index 5a1d8695d..2309295d5 100644 --- a/recipes/wip/image/editors/krita/recipe.toml +++ b/recipes/wip/image/editors/krita/recipe.toml @@ -1,10 +1,10 @@ -#TODO probably wrong script, see https://docs.krita.org/en/untranslatable_pages/building_krita.html#building-on-linux -#TODO port to orbital -#TODO maybe missing dependencies +#TODO not compiled or tested +# build instructions: https://docs.krita.org/en/untranslatable_pages/building_krita.html#building-on-linux +# maybe missing dependencies [source] tar = "https://download.kde.org/stable/krita/5.2.1/krita-5.2.1.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "gexiv2", "ffmpeg6", @@ -51,20 +51,3 @@ dependencies = [ "libxsimd", "libxtl", ] -script = """ -DYNAMIC_INIT -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_CXX_COMPILER="${TARGET}-g++" - -DCMAKE_C_COMPILER="${TARGET}-gcc" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/image/editors/xpano/recipe.toml b/recipes/wip/image/editors/xpano/recipe.toml index a45f938db..1d597d65f 100644 --- a/recipes/wip/image/editors/xpano/recipe.toml +++ b/recipes/wip/image/editors/xpano/recipe.toml @@ -1,29 +1,14 @@ -#TODO satisfy the dependencies and complete the script -# build instructions - https://github.com/krupkat/xpano#development -# linux script - https://github.com/krupkat/xpano/blob/main/misc/build/build-ubuntu-22.sh +#TODO not compiled or tested +# build instructions: https://github.com/krupkat/xpano#development +# linux script: https://github.com/krupkat/xpano/blob/main/misc/build/build-ubuntu-22.sh [source] git = "https://github.com/krupkat/xpano" rev = "5e626f66d2670a7f3fd04e805610ef98a506e401" [build] -template = "custom" +template = "cmake" dependencies = [ "gtk3", "opencv4", "sdl2", "libspdlog", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/image/other/converseen/recipe.toml b/recipes/wip/image/other/converseen/recipe.toml index bb11b1102..c6586e603 100644 --- a/recipes/wip/image/other/converseen/recipe.toml +++ b/recipes/wip/image/other/converseen/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/Faster3ck/Converseen/blob/main/INSTALL.md#install-converseen-using-qt6 +#TODO not compiled or tested +# build instructions: https://github.com/Faster3ck/Converseen/blob/main/INSTALL.md#install-converseen-using-qt6 [source] git = "https://github.com/Faster3ck/Converseen" rev = "9b2821b5ed6673a7abebbe4ee42f4718ab366485" [build] -template = "custom" +template = "cmake" dependencies = [ "qt6-base", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/image/upscaling/upscayl-ncnn/recipe.toml b/recipes/wip/image/upscaling/upscayl-ncnn/recipe.toml index e66ba69c7..de2f4f7b8 100644 --- a/recipes/wip/image/upscaling/upscayl-ncnn/recipe.toml +++ b/recipes/wip/image/upscaling/upscayl-ncnn/recipe.toml @@ -1,22 +1,7 @@ -#TODO incomplete script -# build instructions - https://github.com/upscayl/upscayl-ncnn/blob/master/README.md +#TODO not compiled or tested +# build instructions: https://github.com/upscayl/upscayl-ncnn/blob/master/README.md [source] git = "https://github.com/upscayl/upscayl-ncnn" rev = "22774bc42e2bc3c785b5b585d213d960b1348ad5" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/audio/libopenshot-audio/recipe.toml b/recipes/wip/libs/audio/libopenshot-audio/recipe.toml index 8c018375f..5dce1ced9 100644 --- a/recipes/wip/libs/audio/libopenshot-audio/recipe.toml +++ b/recipes/wip/libs/audio/libopenshot-audio/recipe.toml @@ -1,22 +1,7 @@ -#TODO maybe incomplete script +#TODO not compiled or tested #TODO determine dependencies [source] git = "https://github.com/OpenShot/libopenshot-audio" rev = "98f08a6d4a90f3644b6c2c68efb2cbd86c75d87a" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/audio/zmusic/recipe.toml b/recipes/wip/libs/audio/zmusic/recipe.toml index ca37a386a..afd756bac 100644 --- a/recipes/wip/libs/audio/zmusic/recipe.toml +++ b/recipes/wip/libs/audio/zmusic/recipe.toml @@ -1,20 +1,6 @@ -#TODO probably wrong script, see https://github.com/ZDoom/ZMusic#readme +#TODO not compiled or tested +# build instructions: https://github.com/ZDoom/ZMusic#readme [source] git = "https://github.com/ZDoom/ZMusic" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/graphics/libnoise/recipe.toml b/recipes/wip/libs/graphics/libnoise/recipe.toml index 1e65b0e0c..c9fff830a 100644 --- a/recipes/wip/libs/graphics/libnoise/recipe.toml +++ b/recipes/wip/libs/graphics/libnoise/recipe.toml @@ -1,20 +1,5 @@ -#TODO compilation error +#TODO not compiled or tested [source] git = "https://github.com/qknight/libnoise" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/gui/imgui/recipe.toml b/recipes/wip/libs/gui/imgui/recipe.toml index c408c1707..fd46155fb 100644 --- a/recipes/wip/libs/gui/imgui/recipe.toml +++ b/recipes/wip/libs/gui/imgui/recipe.toml @@ -1,22 +1,7 @@ -#TODO compilation error +#TODO not compiled or tested # cmake information: https://github.com/ocornut/imgui/pull/3027 [source] git = "https://github.com/Qix-/imgui" branch = "cmake" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/image/libavif/recipe.toml b/recipes/wip/libs/image/libavif/recipe.toml index c5973522b..faa25b329 100644 --- a/recipes/wip/libs/image/libavif/recipe.toml +++ b/recipes/wip/libs/image/libavif/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/AOMediaCodec/libavif#build-notes +#TODO not compiled or tested +# build instructions: https://github.com/AOMediaCodec/libavif#build-notes [source] git = "https://github.com/AOMediaCodec/libavif" rev = "ecf2dfc1ef2908e0f4ddb0fdc03dd8db831d8ae7" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/image/libheif/recipe.toml b/recipes/wip/libs/image/libheif/recipe.toml index 06588445e..532fd6b0c 100644 --- a/recipes/wip/libs/image/libheif/recipe.toml +++ b/recipes/wip/libs/image/libheif/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/strukturag/libheif#compiling +#TODO not compiled or tested +# build instructions: https://github.com/strukturag/libheif#compiling [source] tar = "https://github.com/strukturag/libheif/releases/download/v1.17.5/libheif-1.17.5.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "x265", "libde265", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/image/libjxl/recipe.toml b/recipes/wip/libs/image/libjxl/recipe.toml index d84a54693..fc048b2c9 100644 --- a/recipes/wip/libs/image/libjxl/recipe.toml +++ b/recipes/wip/libs/image/libjxl/recipe.toml @@ -1,9 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/libjxl/libjxl/blob/main/BUILDING.md +#TODO not compiled or tested +# build instructions: https://github.com/libjxl/libjxl/blob/main/BUILDING.md [source] git = "https://github.com/libjxl/libjxl" rev = "954b460768c08a147abf47689ad69b0e7beff65e" [build] -template = "custom" +template = "cmake" dependencies = [ "libbrotli", "libjpeg", @@ -12,18 +13,3 @@ dependencies = [ "libwebp", "openexr", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From 352c912ce9b01d28367fdcecb65212952c433a76 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 8 Oct 2025 14:30:46 -0300 Subject: [PATCH 130/182] Try to fix more CMake-based recipes --- recipes/wip/libs/image/libwebp2/recipe.toml | 20 ++----------- recipes/wip/libs/ml/libtorch/recipe.toml | 28 +++++-------------- .../wip/libs/other/bullet-physics/recipe.toml | 5 ++-- recipes/wip/libs/other/dcmtk/recipe.toml | 20 ++----------- recipes/wip/libs/other/freealut/recipe.toml | 20 ++----------- recipes/wip/libs/other/freeglut/recipe.toml | 12 +++----- recipes/wip/libs/other/gflags/recipe.toml | 20 ++----------- recipes/wip/libs/other/glfw3/recipe.toml | 21 ++------------ recipes/wip/libs/other/json-c/recipe.toml | 20 ++----------- recipes/wip/libs/other/lammps/recipe.toml | 20 ++----------- recipes/wip/libs/other/lib2geom/recipe.toml | 20 ++----------- recipes/wip/libs/other/libaom/recipe.toml | 20 ++----------- 12 files changed, 41 insertions(+), 185 deletions(-) diff --git a/recipes/wip/libs/image/libwebp2/recipe.toml b/recipes/wip/libs/image/libwebp2/recipe.toml index 1f7fa851a..2bc5b9aef 100644 --- a/recipes/wip/libs/image/libwebp2/recipe.toml +++ b/recipes/wip/libs/image/libwebp2/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://chromium.googlesource.com/codecs/libwebp2/#compiling +#TODO not compiled or tested +# build instructions: https://chromium.googlesource.com/codecs/libwebp2/#compiling [source] git = "https://chromium.googlesource.com/codecs/libwebp2" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/ml/libtorch/recipe.toml b/recipes/wip/libs/ml/libtorch/recipe.toml index eceb2687d..535bfaee1 100644 --- a/recipes/wip/libs/ml/libtorch/recipe.toml +++ b/recipes/wip/libs/ml/libtorch/recipe.toml @@ -1,25 +1,11 @@ -#TODO maybe incomplete script, see https://github.com/pytorch/pytorch/blob/main/docs/libtorch.rst#building-libtorch-using-cmake +#TODO not compiled or tested +# build instructions: https://github.com/pytorch/pytorch/blob/main/docs/libtorch.rst#building-libtorch-using-cmake [source] git = "https://github.com/pytorch/pytorch" branch = "release/2.3" [build] -template = "custom" -script = """ -mkdir pytorch-build -cd pytorch-build -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DBUILD_SHARED_LIBS:BOOL=OFF - -DCMAKE_BUILD_TYPE:STRING=Release -DPYTHON_EXECUTABLE:PATH=`which python3` -DCMAKE_INSTALL_PREFIX:PATH=../pytorch-install ../pytorch -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" +cmakeflags = [ + "-DPYTHON_EXECUTABLE=`which python3`", + "-DCMAKE_INSTALL_PREFIX=../pytorch-install ../pytorch", +] diff --git a/recipes/wip/libs/other/bullet-physics/recipe.toml b/recipes/wip/libs/other/bullet-physics/recipe.toml index 3fe74819d..9ebbf9300 100644 --- a/recipes/wip/libs/other/bullet-physics/recipe.toml +++ b/recipes/wip/libs/other/bullet-physics/recipe.toml @@ -1,6 +1,7 @@ -#TODO missing script for Premake or CMake, see https://github.com/bulletphysics/bullet3#build-instructions-for-bullet-using-premake-you-can-also-use-cmake-instead +#TODO not compiled or tested +# build instructions: https://github.com/bulletphysics/bullet3#build-instructions-for-bullet-using-premake-you-can-also-use-cmake-instead [source] git = "https://github.com/bulletphysics/bullet3" rev = "2c204c49e56ed15ec5fcfa71d199ab6d6570b3f5" [build] -template = "custom" +template = "cmake" diff --git a/recipes/wip/libs/other/dcmtk/recipe.toml b/recipes/wip/libs/other/dcmtk/recipe.toml index 158ebe943..5ab1bfe9e 100644 --- a/recipes/wip/libs/other/dcmtk/recipe.toml +++ b/recipes/wip/libs/other/dcmtk/recipe.toml @@ -1,8 +1,9 @@ -#TODO maybe incomplete script, see https://git.dcmtk.org/?p=dcmtk.git;a=blob;f=INSTALL;h=97087f9a05e65040264d90027912c736958e67f3;hb=HEAD#l667 +#TODO not compiled or tested +# build instructions: https://git.dcmtk.org/?p=dcmtk.git;a=blob;f=INSTALL;h=97087f9a05e65040264d90027912c736958e67f3;hb=HEAD#l667 [source] tar = "https://dicom.offis.de/download/dcmtk/dcmtk367/dcmtk-3.6.7.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "libiconv", "libicu", @@ -12,18 +13,3 @@ dependencies = [ "zlib", "openjpeg", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/freealut/recipe.toml b/recipes/wip/libs/other/freealut/recipe.toml index a774784aa..a8f6b267c 100644 --- a/recipes/wip/libs/other/freealut/recipe.toml +++ b/recipes/wip/libs/other/freealut/recipe.toml @@ -1,20 +1,6 @@ -#TODO probably wrong script, see https://github.com/vancegroup/freealut#building-freealut +#TODO not compiled or tested +# build instructions: https://github.com/vancegroup/freealut#building-freealut [source] git = "https://github.com/vancegroup/freealut" [build] -template = "custom" -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/freeglut/recipe.toml b/recipes/wip/libs/other/freeglut/recipe.toml index dbb525b95..159d39b01 100644 --- a/recipes/wip/libs/other/freeglut/recipe.toml +++ b/recipes/wip/libs/other/freeglut/recipe.toml @@ -1,4 +1,4 @@ -#TODO port to Orbital +#TODO not compiled or tested [source] tar = "https://github.com/freeglut/freeglut/releases/download/v3.4.0/freeglut-3.4.0.tar.gz" #blake3 = "08c8874d6ddad5be4860813865d4d4e2a84c294da0f3cf82a29e43920806b0da" @@ -9,6 +9,7 @@ dependencies = [ ] template = "custom" script = """ +DYNAMIC_INIT cat > redox.cmake < Date: Wed, 8 Oct 2025 14:37:51 -0300 Subject: [PATCH 131/182] Update libbrotli recipe TODO --- recipes/wip/libs/other/libbrotli/recipe.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/wip/libs/other/libbrotli/recipe.toml b/recipes/wip/libs/other/libbrotli/recipe.toml index cbf880521..ea24704bd 100644 --- a/recipes/wip/libs/other/libbrotli/recipe.toml +++ b/recipes/wip/libs/other/libbrotli/recipe.toml @@ -1,4 +1,5 @@ -#TODO probably wrong script, see https://github.com/google/brotli#cmake +#TODO not compiled or tested +# build instructions: https://github.com/google/brotli#cmake [source] git = "https://github.com/google/brotli" rev = "ed738e842d2fbdf2d6459e39267a633c4a9b2f5d" From b2708efb1d40386ec9e8e934b05f68831c4ddb19 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 8 Oct 2025 14:43:42 -0300 Subject: [PATCH 132/182] Rename libatomic_ops recipe --- .../wip/libs/other/{libatomic_ops => libatomic-ops}/recipe.toml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename recipes/wip/libs/other/{libatomic_ops => libatomic-ops}/recipe.toml (100%) diff --git a/recipes/wip/libs/other/libatomic_ops/recipe.toml b/recipes/wip/libs/other/libatomic-ops/recipe.toml similarity index 100% rename from recipes/wip/libs/other/libatomic_ops/recipe.toml rename to recipes/wip/libs/other/libatomic-ops/recipe.toml From f8873a43b33e73f3238ce328b63551bbd5b2be6c Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 8 Oct 2025 14:55:56 -0300 Subject: [PATCH 133/182] Try to fix more CMake-based recipes --- recipes/wip/libs/other/libdeflate/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libebml/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libeigen/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libevent/recipe.toml | 14 +------------ recipes/wip/libs/other/libfmt/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libgav1/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libgdal/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libgit2/recipe.toml | 20 +++---------------- .../wip/libs/other/libgrantlee/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libhidapi/recipe.toml | 20 +++---------------- 10 files changed, 28 insertions(+), 166 deletions(-) diff --git a/recipes/wip/libs/other/libdeflate/recipe.toml b/recipes/wip/libs/other/libdeflate/recipe.toml index 34f65cb84..f3b2e7907 100644 --- a/recipes/wip/libs/other/libdeflate/recipe.toml +++ b/recipes/wip/libs/other/libdeflate/recipe.toml @@ -1,20 +1,6 @@ -#TODO probably wrong script, see https://github.com/ebiggers/libdeflate#building +#TODO not compiled or tested +# build instructions: https://github.com/ebiggers/libdeflate#building [source] tar = "https://github.com/ebiggers/libdeflate/releases/download/v1.19/libdeflate-1.19.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libebml/recipe.toml b/recipes/wip/libs/other/libebml/recipe.toml index 55e5e998c..886d0e64d 100644 --- a/recipes/wip/libs/other/libebml/recipe.toml +++ b/recipes/wip/libs/other/libebml/recipe.toml @@ -1,20 +1,6 @@ -#TODO probably wrong script, see https://github.com/Matroska-Org/libebml#building-and-installing +#TODO not compiled or tested +# build instructions: https://github.com/Matroska-Org/libebml#building-and-installing [source] tar = "https://dl.matroska.org/downloads/libebml/libebml-1.4.4.tar.xz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libeigen/recipe.toml b/recipes/wip/libs/other/libeigen/recipe.toml index d47a471dd..7167c7a9f 100644 --- a/recipes/wip/libs/other/libeigen/recipe.toml +++ b/recipes/wip/libs/other/libeigen/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://gitlab.com/libeigen/eigen/-/blob/master/INSTALL?ref_type=heads +#TODO not compiled or tested +# build instructions: https://gitlab.com/libeigen/eigen/-/blob/master/INSTALL?ref_type=heads [source] git = "https://gitlab.com/libeigen/eigen" rev = "3147391d946bb4b6c68edd901f2add6ac1f31f8c" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libevent/recipe.toml b/recipes/wip/libs/other/libevent/recipe.toml index 8b6843e09..669ef8eb2 100644 --- a/recipes/wip/libs/other/libevent/recipe.toml +++ b/recipes/wip/libs/other/libevent/recipe.toml @@ -11,19 +11,7 @@ dependencies = [ "openssl1", ] script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_INSTALL_PREFIX="${COOKBOOK_STAGE}/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DEVENT__LIBRARY_TYPE=STATIC -"${COOKBOOK_SOURCE}" -) - +DYNAMIC_INIT # Can't call `cookbook_configure` because it sets DESTDIR (which causes an error) "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}" "${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" diff --git a/recipes/wip/libs/other/libfmt/recipe.toml b/recipes/wip/libs/other/libfmt/recipe.toml index ba81a6790..718baa3c4 100644 --- a/recipes/wip/libs/other/libfmt/recipe.toml +++ b/recipes/wip/libs/other/libfmt/recipe.toml @@ -1,21 +1,7 @@ -#TODO probably wrong script, see https://fmt.dev/latest/usage.html#building-the-library +#TODO not compiled or tested +# build instructions: https://fmt.dev/latest/usage.html#building-the-library [source] git = "https://github.com/fmtlib/fmt" rev = "f5e54359df4c26b6230fc61d38aa294581393084" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libgav1/recipe.toml b/recipes/wip/libs/other/libgav1/recipe.toml index cd6307f6b..37e502a1e 100644 --- a/recipes/wip/libs/other/libgav1/recipe.toml +++ b/recipes/wip/libs/other/libgav1/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://chromium.googlesource.com/codecs/libgav1/#compile +#TODO not compiled or tested +# build instructions: https://chromium.googlesource.com/codecs/libgav1/#compile [source] git = "https://chromium.googlesource.com/codecs/libgav1" rev = "e386d8f1fb983200972d159b9be47fd5d0776708" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libgdal/recipe.toml b/recipes/wip/libs/other/libgdal/recipe.toml index 56944b4c5..ef303c132 100644 --- a/recipes/wip/libs/other/libgdal/recipe.toml +++ b/recipes/wip/libs/other/libgdal/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://gdal.org/development/building_from_source.html +#TODO not compiled or tested +# build instructions: https://gdal.org/development/building_from_source.html [source] tar = "https://github.com/OSGeo/gdal/releases/download/v3.8.4/gdal-3.8.4.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libgit2/recipe.toml b/recipes/wip/libs/other/libgit2/recipe.toml index 8b398019b..f08d3e9ab 100644 --- a/recipes/wip/libs/other/libgit2/recipe.toml +++ b/recipes/wip/libs/other/libgit2/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe wrong script, see https://github.com/libgit2/libgit2#building-libgit2---using-cmake +#TODO not compiled or tested +# build instructions: https://github.com/libgit2/libgit2#building-libgit2---using-cmake [source] git = "https://github.com/libgit2/libgit2" rev = "a2bde63741977ca0f4ef7db2f609df320be67a08" [build] -template = "custom" +template = "cmake" dependencies = [ "openssl1", ] -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libgrantlee/recipe.toml b/recipes/wip/libs/other/libgrantlee/recipe.toml index 9e8d4f79b..544697ada 100644 --- a/recipes/wip/libs/other/libgrantlee/recipe.toml +++ b/recipes/wip/libs/other/libgrantlee/recipe.toml @@ -1,23 +1,9 @@ -#TODO maybe incomplete script, see https://github.com/steveire/grantlee#installation +#TODO not compiled or tested +# build instructions: https://github.com/steveire/grantlee#installation [source] tar = "https://github.com/steveire/grantlee/releases/download/v5.3.1/grantlee-5.3.1.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "qt5-base", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libhidapi/recipe.toml b/recipes/wip/libs/other/libhidapi/recipe.toml index df68a63de..bc5e83c4a 100644 --- a/recipes/wip/libs/other/libhidapi/recipe.toml +++ b/recipes/wip/libs/other/libhidapi/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/libusb/hidapi/blob/master/BUILD.cmake.md +#TODO not compiled or tested +# build instructions: https://github.com/libusb/hidapi/blob/master/BUILD.cmake.md [source] git = "https://github.com/libusb/hidapi" rev = "d3013f0af3f4029d82872c1a9487ea461a56dee4" [build] -template = "custom" +template = "cmake" dependencies = [ "libiconv", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From fefa095ed685bdc3b16d2787e39f14fd8769a8fe Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 8 Oct 2025 15:17:02 -0300 Subject: [PATCH 134/182] Try to fix more CMake-based recipes --- recipes/wip/libs/other/libimath/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libimmer/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libjasper/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libkdcraw/recipe.toml | 20 +++---------------- .../libs/other/libkomparediff2/recipe.toml | 20 +++---------------- recipes/wip/libs/other/liblager/recipe.toml | 20 +++---------------- recipes/wip/libs/other/liblapack/recipe.toml | 20 +++---------------- recipes/wip/libs/other/liblensfun/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libnlopt/recipe.toml | 20 +++---------------- .../wip/libs/other/librkcommon/recipe.toml | 20 +++---------------- 10 files changed, 30 insertions(+), 170 deletions(-) diff --git a/recipes/wip/libs/other/libimath/recipe.toml b/recipes/wip/libs/other/libimath/recipe.toml index 6462725c4..9d9b88797 100644 --- a/recipes/wip/libs/other/libimath/recipe.toml +++ b/recipes/wip/libs/other/libimath/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://imath.readthedocs.io/en/latest/install.html#linux-macos +#TODO not compiled or tested +# build instructions: https://imath.readthedocs.io/en/latest/install.html#linux-macos [source] git = "https://github.com/AcademySoftwareFoundation/Imath" rev = "d690a3fcff4e877ead5ae56c7e964595ade8a35e" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libimmer/recipe.toml b/recipes/wip/libs/other/libimmer/recipe.toml index 4f665fea6..aed3fe1eb 100644 --- a/recipes/wip/libs/other/libimmer/recipe.toml +++ b/recipes/wip/libs/other/libimmer/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/arximboldi/immer#usage +#TODO not compiled or tested +# build instructions: https://github.com/arximboldi/immer#usage [source] git = "https://github.com/arximboldi/immer" rev = "5875f7739a6c642ad58cbedadb509c86d421217e" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libjasper/recipe.toml b/recipes/wip/libs/other/libjasper/recipe.toml index 6b1b8e722..bcdf1a65a 100644 --- a/recipes/wip/libs/other/libjasper/recipe.toml +++ b/recipes/wip/libs/other/libjasper/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://github.com/jasper-software/jasper/blob/master/INSTALL.txt +#TODO not compiled or tested +# build instructions: https://github.com/jasper-software/jasper/blob/master/INSTALL.txt [source] tar = "https://github.com/jasper-software/jasper/releases/download/version-4.1.1/jasper-4.1.1.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libkdcraw/recipe.toml b/recipes/wip/libs/other/libkdcraw/recipe.toml index c551a1f45..ea4789c8c 100644 --- a/recipes/wip/libs/other/libkdcraw/recipe.toml +++ b/recipes/wip/libs/other/libkdcraw/recipe.toml @@ -1,25 +1,11 @@ -#TODO maybe incomplete script, see https://invent.kde.org/graphics/libkdcraw/-/blob/master/README?ref_type=heads +#TODO not compiled or tested +# build instructions: https://invent.kde.org/graphics/libkdcraw/-/blob/master/README?ref_type=heads [source] git = "https://invent.kde.org/graphics/libkdcraw" rev = "fbd01409c8009f403bccac6776fe4cfefa57d5bd" [build] -template = "custom" +template = "cmake" dependencies = [ "libraw", "qt5-base", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libkomparediff2/recipe.toml b/recipes/wip/libs/other/libkomparediff2/recipe.toml index 3f1222db0..cdc05c415 100644 --- a/recipes/wip/libs/other/libkomparediff2/recipe.toml +++ b/recipes/wip/libs/other/libkomparediff2/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] git = "https://invent.kde.org/sdk/libkomparediff2" rev = "ea9034ee3e4952862a937255bc6cc4ee392907f6" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/liblager/recipe.toml b/recipes/wip/libs/other/liblager/recipe.toml index 9c03020c3..9b9782c7a 100644 --- a/recipes/wip/libs/other/liblager/recipe.toml +++ b/recipes/wip/libs/other/liblager/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/arximboldi/lager#usage +#TODO not compiled or tested +# build instructions: https://github.com/arximboldi/lager#usage [source] git = "https://github.com/arximboldi/lager" [build] -template = "custom" +template = "cmake" dependencies = [ "libzug", "boost", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/liblapack/recipe.toml b/recipes/wip/libs/other/liblapack/recipe.toml index 77b1d122a..fd27e0d5f 100644 --- a/recipes/wip/libs/other/liblapack/recipe.toml +++ b/recipes/wip/libs/other/liblapack/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/Reference-LAPACK/lapack#installation +#TODO not compiled or tested +# build instructions: https://github.com/Reference-LAPACK/lapack#installation [source] git = "https://github.com/Reference-LAPACK/lapack" rev = "04b044e020a3560ccfa9988c8a80a1fb7083fc2e" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/liblensfun/recipe.toml b/recipes/wip/libs/other/liblensfun/recipe.toml index e132a11fa..428eff77a 100644 --- a/recipes/wip/libs/other/liblensfun/recipe.toml +++ b/recipes/wip/libs/other/liblensfun/recipe.toml @@ -1,25 +1,11 @@ -#TODO maybe incomplete script, see https://github.com/lensfun/lensfun?tab=readme-ov-file#build-instructions +#TODO not compiled or tested +# build instructions: https://github.com/lensfun/lensfun?tab=readme-ov-file#build-instructions [source] git = "https://github.com/lensfun/lensfun" rev = "35b19fb38e7250ea646709ef9e528d54a6a79648" [build] -template = "custom" +template = "cmake" dependencies = [ "glib", "libpng", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libnlopt/recipe.toml b/recipes/wip/libs/other/libnlopt/recipe.toml index f4db165c0..39fbb7180 100644 --- a/recipes/wip/libs/other/libnlopt/recipe.toml +++ b/recipes/wip/libs/other/libnlopt/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/stevengj/nlopt#readme +#TODO not compiled or tested +# build instructions: https://github.com/stevengj/nlopt#readme [source] git = "https://github.com/stevengj/nlopt" rev = "09b3c2a6da71cabcb98d2c8facc6b83d2321ed71" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/librkcommon/recipe.toml b/recipes/wip/libs/other/librkcommon/recipe.toml index 10710db07..c7bb01c00 100644 --- a/recipes/wip/libs/other/librkcommon/recipe.toml +++ b/recipes/wip/libs/other/librkcommon/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/ospray/rkcommon#building +#TODO not compiled or tested +# build instructions: https://github.com/ospray/rkcommon#building [source] git = "https://github.com/ospray/rkcommon" rev = "f15291d4789a53e5980fd9b3d2639f705d675dd7" [build] -template = "custom" +template = "cmake" dependencies = [ "onetbb", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From b5feb0d9cb323acc1aea9a3ba5069d992adb559a Mon Sep 17 00:00:00 2001 From: Wildan M Date: Thu, 9 Oct 2025 13:34:30 +0700 Subject: [PATCH 135/182] Set cargo offline flags when offline cookbook is set --- src/bin/cook.rs | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 5c9fc95ab..45787cc0c 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -750,6 +750,7 @@ fn build( target_dir: &Path, name: &PackageName, recipe: &Recipe, + offline_mode: bool, check_source: bool, ) -> Result<(PathBuf, BTreeSet), String> { let sysroot_dir = target_dir.join("sysroot"); @@ -889,6 +890,7 @@ export PKG_CONFIG_SYSROOT_DIR="${COOKBOOK_SYSROOT}" build_type=release install_flags= build_flags=--release +offline_flags= if [ ! -z "${COOKBOOK_DEBUG}" ] then install_flags=--debug @@ -898,6 +900,11 @@ then export CPPFLAGS="${CPPFLAGS} -g" fi +if [ ! -z "${COOKBOOK_OFFLINE}" ] +then +offline_flags=--offline +fi + # cargo template COOKBOOK_CARGO="${COOKBOOK_REDOXER}" function cookbook_cargo { @@ -907,6 +914,7 @@ function cookbook_cargo { --locked \ --no-track \ ${install_flags} \ + ${offline_flags} \ -j "${COOKBOOK_MAKE_JOBS}" "$@" } @@ -918,7 +926,7 @@ function cookbook_cargo_examples { "${COOKBOOK_CARGO}" build \ --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ --example "${example}" \ - ${build_flags} -j "${COOKBOOK_MAKE_JOBS}" + ${build_flags} ${offline_flags} -j "${COOKBOOK_MAKE_JOBS}" mkdir -pv "${COOKBOOK_STAGE}/usr/bin" cp -v \ "target/${TARGET}/${build_type}/examples/${example}" \ @@ -934,7 +942,7 @@ function cookbook_cargo_packages { "${COOKBOOK_CARGO}" build \ --manifest-path "${COOKBOOK_SOURCE}/${PACKAGE_PATH}/Cargo.toml" \ --package "${package}" \ - ${build_flags} -j "${COOKBOOK_MAKE_JOBS}" + ${build_flags} ${offline_flags} -j "${COOKBOOK_MAKE_JOBS}" mkdir -pv "${COOKBOOK_STAGE}/usr/bin" cp -v \ "target/${TARGET}/${build_type}/${package}" \ @@ -1187,6 +1195,9 @@ done command.env("COOKBOOK_STAGE", &cookbook_stage); command.env("COOKBOOK_SOURCE", &cookbook_source); command.env("COOKBOOK_SYSROOT", &cookbook_sysroot); + if offline_mode { + command.env("COOKBOOK_OFFLINE", "1"); + } command }; @@ -1363,9 +1374,16 @@ fn cook( let target_dir = create_target_dir(recipe_dir)?; - let (stage_dir, auto_deps) = - build(recipe_dir, &source_dir, &target_dir, name, recipe, !is_deps) - .map_err(|err| format!("failed to build: {}", err))?; + let (stage_dir, auto_deps) = build( + recipe_dir, + &source_dir, + &target_dir, + name, + recipe, + is_offline, + !is_deps, + ) + .map_err(|err| format!("failed to build: {}", err))?; let _package_file = package(&stage_dir, &target_dir, name, recipe, &auto_deps) .map_err(|err| format!("failed to package: {}", err))?; From 9596f24ad00cd06c36053678a0f2fc2601561678 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Fri, 10 Oct 2025 01:31:44 +0000 Subject: [PATCH 136/182] Update reading --- recipes/wip/monitors/htop/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wip/monitors/htop/recipe.toml b/recipes/wip/monitors/htop/recipe.toml index 8730648ea..f4e554be4 100644 --- a/recipes/wip/monitors/htop/recipe.toml +++ b/recipes/wip/monitors/htop/recipe.toml @@ -1,4 +1,4 @@ -#TODO "unsupported architecture" +#TODO Promote [source] git = "https://github.com/willnode/htop" branch = "redox" From a83264396b18d0d7162d856dc5bd4a9bf6eb1deb Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Fri, 10 Oct 2025 23:39:23 +0000 Subject: [PATCH 137/182] Port nodejs --- recipes/libs/libuv/recipe.toml | 4 +- recipes/libs/libuv/redox.patch | 123 +++- recipes/wip/dev/lang/nodejs-21/recipe.toml | 49 ++ recipes/wip/dev/lang/nodejs-21/redox.patch | 540 ++++++++++++++++++ .../lang/{nodejs => nodejs-24}/01_redox.patch | 0 .../lang/{nodejs => nodejs-24}/recipe.toml | 25 +- recipes/wip/dev/lang/nodejs-lts/recipe.toml | 5 - recipes/wip/libs/net/c-ares/recipe.toml | 6 + recipes/wip/libs/net/nghttp3/recipe.toml | 6 + recipes/wip/libs/net/ngtcp2/recipe.toml | 14 + recipes/wip/libs/other/simdjson/recipe.toml | 18 +- recipes/wip/libs/other/simdutf/recipe.toml | 9 + 12 files changed, 748 insertions(+), 51 deletions(-) create mode 100644 recipes/wip/dev/lang/nodejs-21/recipe.toml create mode 100644 recipes/wip/dev/lang/nodejs-21/redox.patch rename recipes/wip/dev/lang/{nodejs => nodejs-24}/01_redox.patch (100%) rename recipes/wip/dev/lang/{nodejs => nodejs-24}/recipe.toml (60%) delete mode 100644 recipes/wip/dev/lang/nodejs-lts/recipe.toml create mode 100644 recipes/wip/libs/net/c-ares/recipe.toml create mode 100644 recipes/wip/libs/net/nghttp3/recipe.toml create mode 100644 recipes/wip/libs/net/ngtcp2/recipe.toml create mode 100644 recipes/wip/libs/other/simdutf/recipe.toml diff --git a/recipes/libs/libuv/recipe.toml b/recipes/libs/libuv/recipe.toml index d6b4f9579..23b563c32 100644 --- a/recipes/libs/libuv/recipe.toml +++ b/recipes/libs/libuv/recipe.toml @@ -1,6 +1,6 @@ [source] -tar = "https://dist.libuv.org/dist/v1.45.0/libuv-v1.45.0.tar.gz" -blake3 = "b78eaba37bfa5fea75accc6d70c67358a4d0b6bb2dfb79b9bb17cb5478cdf797" +tar = "https://dist.libuv.org/dist/v1.51.0/libuv-v1.51.0.tar.gz" +blake3 = "e8b5e68bc2d0776ac4ea67df59d694fca58d5cc570c103443a2284e723d01fc2" patches = ["redox.patch"] [build] diff --git a/recipes/libs/libuv/redox.patch b/recipes/libs/libuv/redox.patch index d5405adf2..a99c1c54e 100644 --- a/recipes/libs/libuv/redox.patch +++ b/recipes/libs/libuv/redox.patch @@ -1,12 +1,12 @@ diff -ruwN source/CMakeLists.txt source-new/CMakeLists.txt ---- source/CMakeLists.txt 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/CMakeLists.txt 2025-09-16 14:15:31.813140608 +0700 +--- source/CMakeLists.txt 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/CMakeLists.txt 2025-10-10 11:19:40.329762962 +0700 @@ -1,3 +1,4 @@ +set (CMAKE_CXX_STANDARD 99) - cmake_minimum_required(VERSION 3.4) + cmake_minimum_required(VERSION 3.10) if(POLICY CMP0091) -@@ -312,6 +313,18 @@ +@@ -323,6 +324,18 @@ src/unix/hurd.c) endif() @@ -26,8 +26,8 @@ diff -ruwN source/CMakeLists.txt source-new/CMakeLists.txt list(APPEND uv_defines _GNU_SOURCE _POSIX_C_SOURCE=200112) list(APPEND uv_libraries dl rt) diff -ruwN source/include/uv/unix.h source-new/include/uv/unix.h ---- source/include/uv/unix.h 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/include/uv/unix.h 2025-09-16 11:42:40.882554686 +0700 +--- source/include/uv/unix.h 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/include/uv/unix.h 2025-10-10 11:18:29.024386515 +0700 @@ -66,6 +66,7 @@ defined(__MSYS__) || \ defined(__HAIKU__) || \ @@ -37,9 +37,9 @@ diff -ruwN source/include/uv/unix.h source-new/include/uv/unix.h # include "uv/posix.h" #endif diff -ruwN source/src/unix/core.c source-new/src/unix/core.c ---- source/src/unix/core.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/core.c 2025-09-16 11:42:40.882554686 +0700 -@@ -97,6 +97,10 @@ +--- source/src/unix/core.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/core.c 2025-10-10 11:23:22.143824390 +0700 +@@ -110,6 +110,10 @@ # include #endif @@ -50,7 +50,7 @@ diff -ruwN source/src/unix/core.c source-new/src/unix/core.c static void uv__run_pending(uv_loop_t* loop); /* Verify that uv_buf_t is ABI-compatible with struct iovec. */ -@@ -709,7 +713,8 @@ +@@ -722,7 +726,8 @@ defined(__FreeBSD__) || \ defined(__NetBSD__) || \ defined(__OpenBSD__) || \ @@ -60,10 +60,39 @@ diff -ruwN source/src/unix/core.c source-new/src/unix/core.c ssize_t rc; rc = recvmsg(fd, msg, flags | MSG_CMSG_CLOEXEC); if (rc == -1) +@@ -1644,6 +1649,11 @@ + * So the output parameter priority is actually the nice value. + */ + int uv_thread_getpriority(uv_thread_t tid, int* priority) { ++#ifdef __redox__ ++ if (priority == NULL) ++ return UV_EINVAL; ++ *priority = 0; ++#else + int r; + int policy; + struct sched_param param; +@@ -1670,6 +1680,7 @@ + #endif + + *priority = param.sched_priority; ++#endif + return 0; + } + +@@ -1695,7 +1706,7 @@ + * If the function fails, the return value is non-zero. + */ + int uv_thread_setpriority(uv_thread_t tid, int priority) { +-#if !defined(__GNU__) ++#if !defined(__GNU__) && !defined(__redox__) + int r; + int min; + int max; diff -ruwN source/src/unix/fs.c source-new/src/unix/fs.c ---- source/src/unix/fs.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/fs.c 2025-09-16 11:42:40.882554686 +0700 -@@ -87,7 +87,8 @@ +--- source/src/unix/fs.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/fs.c 2025-10-10 11:18:29.024993834 +0700 +@@ -77,7 +77,8 @@ defined(__MVS__) || \ defined(__NetBSD__) || \ defined(__HAIKU__) || \ @@ -73,7 +102,7 @@ diff -ruwN source/src/unix/fs.c source-new/src/unix/fs.c # include #else # include -@@ -648,13 +649,13 @@ +@@ -683,13 +684,13 @@ defined(__MVS__) || \ defined(__NetBSD__) || \ defined(__HAIKU__) || \ @@ -89,7 +118,7 @@ diff -ruwN source/src/unix/fs.c source-new/src/unix/fs.c if (0 != statfs(req->path, &buf)) #endif /* defined(__sun) */ return -1; -@@ -670,7 +671,8 @@ +@@ -705,7 +706,8 @@ defined(__OpenBSD__) || \ defined(__NetBSD__) || \ defined(__HAIKU__) || \ @@ -100,8 +129,8 @@ diff -ruwN source/src/unix/fs.c source-new/src/unix/fs.c #else stat_fs->f_type = buf.f_type; diff -ruwN source/src/unix/proctitle.c source-new/src/unix/proctitle.c ---- source/src/unix/proctitle.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/proctitle.c 2025-09-16 11:42:40.882554686 +0700 +--- source/src/unix/proctitle.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/proctitle.c 2025-10-10 11:18:29.025229760 +0700 @@ -30,7 +30,13 @@ size_t cap; /* Maximum capacity. Computed once in uv_setup_args(). */ }; @@ -118,7 +147,7 @@ diff -ruwN source/src/unix/proctitle.c source-new/src/unix/proctitle.c static uv_once_t process_title_mutex_once = UV_ONCE_INIT; diff -ruwN source/src/unix/redox.c source-new/src/unix/redox.c --- source/src/unix/redox.c 1970-01-01 07:00:00.000000000 +0700 -+++ source-new/src/unix/redox.c 2025-09-16 14:28:29.209614311 +0700 ++++ source-new/src/unix/redox.c 2025-10-10 11:18:29.028345924 +0700 @@ -0,0 +1,102 @@ +/* Copyright libuv contributors. All rights reserved. + * @@ -223,8 +252,8 @@ diff -ruwN source/src/unix/redox.c source-new/src/unix/redox.c + int count) { +} diff -ruwN source/src/unix/stream.c source-new/src/unix/stream.c ---- source/src/unix/stream.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/stream.c 2025-09-16 11:42:40.883554697 +0700 +--- source/src/unix/stream.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/stream.c 2025-10-10 11:18:29.028522718 +0700 @@ -29,7 +29,14 @@ #include @@ -256,9 +285,59 @@ diff -ruwN source/src/unix/stream.c source-new/src/unix/stream.c union uv__cmsg { struct cmsghdr hdr; +diff -ruwN source/src/unix/tcp.c source-new/src/unix/tcp.c +--- source/src/unix/tcp.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/tcp.c 2025-10-10 11:26:03.504101758 +0700 +@@ -31,7 +31,7 @@ + #include + + /* ifaddrs is not implemented on AIX and IBM i PASE */ +-#if !defined(_AIX) ++#if !defined(_AIX) && !defined(__redox__) + #include + #endif + +@@ -228,7 +228,7 @@ + static int uv__ipv6_link_local_scope_id(void) { + struct sockaddr_in6* a6; + int rv; +-#if defined(_AIX) ++#if defined(_AIX) || defined(__redox__) + /* AIX & IBM i do not have ifaddrs + * so fallback to use uv_interface_addresses */ + uv_interface_address_t* interfaces; +@@ -268,7 +268,7 @@ + } + + freeifaddrs(ifa); +-#endif /* defined(_AIX) */ ++#endif /* defined(_AIX) || defined(__redox__) */ + + return rv; + } +diff -ruwN source/src/unix/thread.c source-new/src/unix/thread.c +--- source/src/unix/thread.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/thread.c 2025-10-10 11:25:10.712328011 +0700 +@@ -897,7 +897,7 @@ + abort(); + } + +-#if defined(_AIX) || defined(__MVS__) || defined(__PASE__) ++#if defined(_AIX) || defined(__redox__) || defined(__MVS__) || defined(__PASE__) + int uv__thread_setname(const char* name) { + return UV_ENOSYS; + } +@@ -937,6 +937,7 @@ + + #if (defined(__ANDROID_API__) && __ANDROID_API__ < 26) || \ + defined(_AIX) || \ ++ defined(__redox__) || \ + defined(__MVS__) || \ + defined(__PASE__) + int uv__thread_getname(uv_thread_t* tid, char* name, size_t size) { diff -ruwN source/src/unix/udp.c source-new/src/unix/udp.c ---- source/src/unix/udp.c 2023-05-19 18:21:01.000000000 +0700 -+++ source-new/src/unix/udp.c 2025-09-16 11:42:40.883554697 +0700 +--- source/src/unix/udp.c 2025-04-25 16:50:27.000000000 +0700 ++++ source-new/src/unix/udp.c 2025-10-10 11:18:29.028778883 +0700 @@ -31,6 +31,12 @@ #include #endif diff --git a/recipes/wip/dev/lang/nodejs-21/recipe.toml b/recipes/wip/dev/lang/nodejs-21/recipe.toml new file mode 100644 index 000000000..7b5d1d6d8 --- /dev/null +++ b/recipes/wip/dev/lang/nodejs-21/recipe.toml @@ -0,0 +1,49 @@ +#TODO page fault +[source] +tar = "https://nodejs.org/dist/v21.7.3/node-v21.7.3.tar.xz" +blake3 = "95a56db4f9729b2f8384ab58ccb2ec0c41da05991f7400ef97bd76748d77870b" +patches = ["redox.patch"] + +[build] +template = "custom" +dependencies = [ + "libbrotli", + "c-ares", + "libuv", + "ngtcp2", + "nghttp2", + "nghttp3", + "openssl3", + "sqlite3", + "zlib", + "zstd", +] +script = """ +DYNAMIC_INIT +export PYTHONDONTWRITEBYTECODE=1 +export CC_host="$CC_WRAPPER gcc" CXX_host="$CC_WRAPPER g++" + +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ + +case "${TARGET}" in + x86-unknown-redox) export NODE_CPU=x32;; + x86_64-unknown-redox) export NODE_CPU=x64;; + aarch64-unknown-redox) export NODE_CPU=arm64;; +esac + +COOKBOOK_CONFIGURE_FLAGS=( + --prefix=/usr + --dest-cpu=${NODE_CPU} + --dest-os=redox + --shared-cares + --shared-libuv + --shared-ngtcp2 + --shared-nghttp2 + --shared-nghttp3 + --shared-openssl + --shared-zlib + --cross-compiling +) +COOKBOOK_CONFIGURE="./configure" +cookbook_configure +""" diff --git a/recipes/wip/dev/lang/nodejs-21/redox.patch b/recipes/wip/dev/lang/nodejs-21/redox.patch new file mode 100644 index 000000000..3a665e904 --- /dev/null +++ b/recipes/wip/dev/lang/nodejs-21/redox.patch @@ -0,0 +1,540 @@ +diff -ruwN source/configure.py source-new/configure.py +--- source/configure.py 2024-04-10 19:46:11.000000000 +0700 ++++ source-new/configure.py 2025-10-10 13:46:04.244040340 +0700 +@@ -46,7 +46,7 @@ + parser = argparse.ArgumentParser() + + valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', +- 'android', 'aix', 'cloudabi', 'os400', 'ios') ++ 'android', 'aix', 'cloudabi', 'os400', 'ios', 'redox') + valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc', + 'ppc64', 'x64', 'x86', 'x86_64', 's390x', 'riscv64', 'loong64') + valid_arm_float_abi = ('soft', 'softfp', 'hard') +diff -ruwN source/deps/v8/bazel/config/BUILD.bazel source-new/deps/v8/bazel/config/BUILD.bazel +--- source/deps/v8/bazel/config/BUILD.bazel 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/bazel/config/BUILD.bazel 2025-10-10 15:52:40.317126983 +0700 +@@ -144,6 +144,11 @@ + ) + + config_setting( ++ name = "is_redox", ++ constraint_values = ["@platforms//os:redox"], ++) ++ ++config_setting( + name = "is_linux", + constraint_values = ["@platforms//os:linux"], + ) +@@ -204,6 +209,7 @@ + selects.config_setting_group( + name = "is_non_android_posix", + match_any = [ ++ ":is_redox", + ":is_linux", + ":is_macos", + ], +diff -ruwN source/deps/v8/BUILD.bazel source-new/deps/v8/BUILD.bazel +--- source/deps/v8/BUILD.bazel 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/BUILD.bazel 2025-10-10 16:05:33.775461039 +0700 +@@ -758,6 +758,11 @@ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-darwin.cc", + ], ++ "@v8//bazel/config:is_redox": [ ++ "src/base/debug/stack_trace_posix.cc", ++ "src/base/platform/platform-redox.cc", ++ "src/base/platform/platform-redox.h", ++ ], + "@v8//bazel/config:is_windows": [ + "src/base/debug/stack_trace_win.cc", + "src/base/platform/platform-win32.cc", +diff -ruwN source/deps/v8/BUILD.gn source-new/deps/v8/BUILD.gn +--- source/deps/v8/BUILD.gn 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/BUILD.gn 2025-10-10 21:27:40.939874152 +0700 +@@ -5538,8 +5538,9 @@ + if (v8_enable_webassembly) { + # iOS Xcode simulator builds run on an x64 target. iOS and macOS are both + # based on Darwin and thus POSIX-compliant to a similar degree. +- if (is_linux || is_chromeos || is_mac || is_ios || ++ if (is_linux || is_redox || is_chromeos || is_mac || is_ios || + target_os == "freebsd") { ++ assert(false, "gatchs") + sources += [ + "src/trap-handler/handler-inside-posix.cc", + "src/trap-handler/handler-outside-posix.cc", +@@ -5590,8 +5591,8 @@ + if (v8_enable_webassembly) { + # Trap handling is enabled on arm64 Mac and Linux and in simulators on + # x64 on Linux, Mac, and Windows. +- if ((current_cpu == "arm64" && (is_linux || is_chromeos || is_apple)) || +- (current_cpu == "x64" && (is_linux || is_chromeos || is_mac))) { ++ if ((current_cpu == "arm64" && (is_linux || is_redox || is_chromeos || is_apple)) || ++ (current_cpu == "x64" && (is_linux || is_redox || is_chromeos || is_mac))) { + sources += [ + "src/trap-handler/handler-inside-posix.cc", + "src/trap-handler/handler-outside-posix.cc", +@@ -6174,6 +6175,11 @@ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-darwin.cc", + ] ++ } else if (is_redox) { ++ sources += [ ++ "src/base/debug/stack_trace_posix.cc", ++ "src/base/platform/platform-redox.cc", ++ ] + } else if (is_ios) { + sources += [ + "src/base/debug/stack_trace_posix.cc", +diff -ruwN source/deps/v8/include/v8config.h source-new/deps/v8/include/v8config.h +--- source/deps/v8/include/v8config.h 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/include/v8config.h 2025-10-10 22:03:04.057821844 +0700 +@@ -159,6 +159,11 @@ + # define V8_OS_QNX 1 + # define V8_OS_STRING "qnx" + ++#elif defined(__redox__) ++# define V8_OS_POSIX 1 ++# define V8_OS_REDOX 1 ++# define V8_OS_STRING "redox" ++ + #elif defined(_WIN32) + # define V8_OS_WIN 1 + # define V8_OS_STRING "windows" +@@ -185,6 +190,7 @@ + && !defined(V8_TARGET_OS_IOS) \ + && !defined(V8_TARGET_OS_LINUX) \ + && !defined(V8_TARGET_OS_MACOS) \ ++ && !defined(V8_TARGET_OS_REDOX) \ + && !defined(V8_TARGET_OS_WIN) \ + && !defined(V8_TARGET_OS_CHROMEOS) + # error No known target OS defined. +@@ -197,6 +203,7 @@ + || defined(V8_TARGET_OS_IOS) \ + || defined(V8_TARGET_OS_LINUX) \ + || defined(V8_TARGET_OS_MACOS) \ ++ || defined(V8_TARGET_OS_REDOX) \ + || defined(V8_TARGET_OS_WIN) \ + || defined(V8_TARGET_OS_CHROMEOS) + # error A target OS is defined but V8_HAVE_TARGET_OS is unset. +@@ -223,6 +230,10 @@ + # define V8_TARGET_OS_MACOS + #endif + ++#ifdef V8_OS_REDOX ++# define V8_TARGET_OS_REDOX ++#endif ++ + #ifdef V8_OS_WIN + # define V8_TARGET_OS_WIN + #endif +@@ -239,6 +250,8 @@ + # define V8_TARGET_OS_STRING "linux" + #elif defined(V8_TARGET_OS_MACOS) + # define V8_TARGET_OS_STRING "macos" ++#elif defined(V8_TARGET_OS_REDOX) ++# define V8_TARGET_OS_STRING "redox" + #elif defined(V8_TARGET_OS_WINDOWS) + # define V8_TARGET_OS_STRING "windows" + #else +diff -ruwN source/deps/v8/src/base/platform/memory.h source-new/deps/v8/src/base/platform/memory.h +--- source/deps/v8/src/base/platform/memory.h 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/src/base/platform/memory.h 2025-10-10 13:46:04.297422792 +0700 +@@ -23,9 +23,9 @@ + #include + #endif // !V8_OS_DARWIN + +-#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS) || V8_OS_WIN ++#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_REDOX) || V8_OS_WIN + #define V8_HAS_MALLOC_USABLE_SIZE 1 +-#endif // (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS) || V8_OS_WIN ++#endif // (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_REDOX) || V8_OS_WIN + + namespace v8::base { + +diff -ruwN source/deps/v8/src/base/platform/platform-posix.cc source-new/deps/v8/src/base/platform/platform-posix.cc +--- source/deps/v8/src/base/platform/platform-posix.cc 2024-04-10 19:46:12.000000000 +0700 ++++ source-new/deps/v8/src/base/platform/platform-posix.cc 2025-10-10 13:46:04.416447015 +0700 +@@ -28,6 +28,10 @@ + #include // for sysctl + #endif + ++#if defined(__redox__) ++ #define PTHREAD_STACK_MIN 4096 ++#endif ++ + #if defined(ANDROID) && !defined(V8_ANDROID_LOG_STDOUT) + #define LOG_TAG "v8" + #include +@@ -69,7 +73,7 @@ + #include + #endif + +-#if !defined(_AIX) && !defined(V8_OS_FUCHSIA) ++#if !defined(_AIX) && !defined(V8_OS_FUCHSIA) && !defined(V8_OS_REDOX) + #include + #endif + +@@ -135,7 +139,7 @@ + int flags = MAP_ANONYMOUS; + flags |= (page_type == PageType::kShared) ? MAP_SHARED : MAP_PRIVATE; + if (access == OS::MemoryPermission::kNoAccess) { +-#if !V8_OS_AIX && !V8_OS_FREEBSD && !V8_OS_QNX ++#if !V8_OS_AIX && !V8_OS_FREEBSD && !V8_OS_QNX && !V8_OS_REDOX + flags |= MAP_NORESERVE; + #endif // !V8_OS_AIX && !V8_OS_FREEBSD && !V8_OS_QNX + #if V8_OS_QNX +diff -ruwN source/deps/v8/src/base/platform/platform-redox.cc source-new/deps/v8/src/base/platform/platform-redox.cc +--- source/deps/v8/src/base/platform/platform-redox.cc 1970-01-01 07:00:00.000000000 +0700 ++++ source-new/deps/v8/src/base/platform/platform-redox.cc 2025-10-10 15:23:18.233737033 +0700 +@@ -0,0 +1,63 @@ ++// Copyright 2014 the V8 project authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++// Platform specific code for Redox goes here. For the POSIX comaptible parts ++// the implementation is in platform-posix.cc. ++ ++#include ++#include ++#include ++#include ++ ++#include ++ ++#undef MAP_TYPE ++ ++#include "src/base/macros.h" ++#include "src/base/platform/platform-posix-time.h" ++#include "src/base/platform/platform-posix.h" ++#include "src/base/platform/platform.h" ++ ++namespace v8 { ++namespace base { ++ ++ ++int64_t get_gmt_offset(const tm& localtm) { ++ // replacement for tm->tm_gmtoff field in glibc ++ // returns seconds east of UTC, taking DST into account ++ struct timeval tv; ++ struct timezone tz; ++ int ret_code = gettimeofday(&tv, &tz); ++ // 0 = success, -1 = failure ++ DCHECK_NE(ret_code, -1); ++ if (ret_code == -1) { ++ return 0; ++ } ++ return (-tz.tz_minuteswest * 60) + (localtm.tm_isdst > 0 ? 3600 : 0); ++} ++ ++TimezoneCache* OS::CreateTimezoneCache() { ++ return new PosixDefaultTimezoneCache(); ++} ++ ++static unsigned StringToLong(char* buffer) { ++ return static_cast(strtol(buffer, nullptr, 16)); ++} ++ ++std::vector OS::GetSharedLibraryAddresses() { ++ UNREACHABLE(); ++} ++ ++void OS::SignalCodeMovingGC() {} ++ ++void OS::AdjustSchedulingParams() {} ++ ++std::vector OS::GetFreeMemoryRangesWithin( ++ OS::Address boundary_start, OS::Address boundary_end, size_t minimum_size, ++ size_t alignment) { ++ return {}; ++} ++ ++} // namespace base ++} // namespace v8 +diff -ruwN source/deps/v8/src/libsampler/sampler.cc source-new/deps/v8/src/libsampler/sampler.cc +--- source/deps/v8/src/libsampler/sampler.cc 2024-04-10 19:46:13.000000000 +0700 ++++ source-new/deps/v8/src/libsampler/sampler.cc 2025-10-10 13:46:04.417193700 +0700 +@@ -16,11 +16,11 @@ + #include + #include + +-#if !V8_OS_QNX && !V8_OS_AIX ++#if !V8_OS_QNX && !V8_OS_AIX && !V8_OS_REDOX + #include + #endif + +-#if V8_OS_AIX || V8_TARGET_ARCH_S390X ++#if V8_OS_AIX || V8_OS_REDOX || V8_TARGET_ARCH_S390X + + #include "src/base/platform/time.h" + +diff -ruwN source/deps/v8/src/trap-handler/handler-inside-posix.cc source-new/deps/v8/src/trap-handler/handler-inside-posix.cc +--- source/deps/v8/src/trap-handler/handler-inside-posix.cc 2024-04-10 19:46:13.000000000 +0700 ++++ source-new/deps/v8/src/trap-handler/handler-inside-posix.cc 2025-10-11 12:32:56.074858844 +0700 +@@ -23,6 +23,7 @@ + // context. Some additional code is used both inside and outside the signal + // handler. This code can be found in handler-shared.cc. + ++#ifndef __redox__ + #include "src/trap-handler/handler-inside-posix.h" + + #include +@@ -102,7 +103,6 @@ + asm("v8_simulator_probe_memory_continuation"); + #endif + #endif // V8_TRAP_HANDLER_VIA_SIMULATOR +- + bool TryHandleSignal(int signum, siginfo_t* info, void* context) { + // Ensure the faulting thread was actually running Wasm code. This should be + // the first check in the trap handler to guarantee that the +@@ -197,3 +197,5 @@ + } // namespace trap_handler + } // namespace internal + } // namespace v8 ++ ++#endif +diff -ruwN source/deps/v8/src/trap-handler/handler-inside-posix.h source-new/deps/v8/src/trap-handler/handler-inside-posix.h +--- source/deps/v8/src/trap-handler/handler-inside-posix.h 2024-04-10 19:46:13.000000000 +0700 ++++ source-new/deps/v8/src/trap-handler/handler-inside-posix.h 2025-10-10 21:44:55.221873295 +0700 +@@ -4,7 +4,7 @@ + + #ifndef V8_TRAP_HANDLER_HANDLER_INSIDE_POSIX_H_ + #define V8_TRAP_HANDLER_HANDLER_INSIDE_POSIX_H_ +- ++#ifndef __redox__ + #include + + #include "include/v8config.h" +@@ -28,5 +28,5 @@ + } // namespace trap_handler + } // namespace internal + } // namespace v8 +- ++#endif + #endif // V8_TRAP_HANDLER_HANDLER_INSIDE_POSIX_H_ +diff -ruwN source/deps/v8/src/wasm/std-object-sizes.h source-new/deps/v8/src/wasm/std-object-sizes.h +--- source/deps/v8/src/wasm/std-object-sizes.h 2024-04-10 19:46:13.000000000 +0700 ++++ source-new/deps/v8/src/wasm/std-object-sizes.h 2025-10-10 13:46:04.591737114 +0700 +@@ -54,24 +54,7 @@ + return raw * 4 / 3; + } + +-// To make it less likely for size estimation functions to become outdated +-// when the classes they're responsible for change, we insert static asserts +-// about the respective class's size into them to at least catch some possible +-// future modifications. Since object sizes are toolchain specific, we define +-// restrictions here under which we enable these checks. +-// When one of these checks fails, that probably means you've added fields to +-// a class guarded by it. Update the respective EstimateCurrentMemoryConsumption +-// function accordingly, and then update the check's expected size. +-#if V8_TARGET_ARCH_X64 && defined(__clang__) && V8_TARGET_OS_LINUX && \ +- !V8_USE_ADDRESS_SANITIZER && !V8_USE_MEMORY_SANITIZER && defined(DEBUG) && \ +- V8_COMPRESS_POINTERS && !defined(V8_GC_MOLE) && defined(_LIBCPP_VERSION) +-#define UPDATE_WHEN_CLASS_CHANGES(classname, size) \ +- static_assert(sizeof(classname) == size, \ +- "Update {EstimateCurrentMemoryConsumption} when adding " \ +- "fields to " #classname) +-#else + #define UPDATE_WHEN_CLASS_CHANGES(classname, size) (void)0 +-#endif + + } // namespace v8::internal::wasm + +diff -ruwN source/src/debug_utils.cc source-new/src/debug_utils.cc +--- source/src/debug_utils.cc 2024-04-10 19:46:14.000000000 +0700 ++++ source-new/src/debug_utils.cc 2025-10-10 13:46:04.755669055 +0700 +@@ -14,7 +14,7 @@ + + #if defined(__linux__) && !defined(__GLIBC__) || \ + defined(__UCLIBC__) || \ +- defined(_AIX) ++ defined(_AIX) || defined(__redox__) + #define HAVE_EXECINFO_H 0 + #else + #define HAVE_EXECINFO_H 1 +diff -ruwN source/src/node_credentials.cc source-new/src/node_credentials.cc +--- source/src/node_credentials.cc 2024-04-10 19:46:14.000000000 +0700 ++++ source-new/src/node_credentials.cc 2025-10-10 13:46:04.816900208 +0700 +@@ -182,7 +182,7 @@ + + static uid_t uid_by_name(Isolate* isolate, Local value) { + if (value->IsUint32()) { +- static_assert(std::is_same::value); ++ // static_assert(std::is_same::value); + return value.As()->Value(); + } else { + Utf8Value name(isolate, value); +@@ -192,7 +192,7 @@ + + static gid_t gid_by_name(Isolate* isolate, Local value) { + if (value->IsUint32()) { +- static_assert(std::is_same::value); ++ // static_assert(std::is_same::value); + return value.As()->Value(); + } else { + Utf8Value name(isolate, value); +diff -ruwN source/src/node_report.cc source-new/src/node_report.cc +--- source/src/node_report.cc 2024-04-10 19:46:14.000000000 +0700 ++++ source-new/src/node_report.cc 2025-10-10 13:46:05.190512964 +0700 +@@ -524,7 +524,7 @@ + while (line != -1) { + l = ss.substr(0, line); + l.erase(l.begin(), std::find_if(l.begin(), l.end(), [](int ch) { +- return !std::iswspace(ch); ++ return !std::isspace(ch); + })); + writer->json_element(l); + ss = ss.substr(line + 1); +diff -ruwN source/tools/gyp/pylib/gyp/common.py source-new/tools/gyp/pylib/gyp/common.py +--- source/tools/gyp/pylib/gyp/common.py 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/gyp/pylib/gyp/common.py 2025-10-10 21:36:23.972976264 +0700 +@@ -445,6 +445,8 @@ + return "netbsd" + if sys.platform.startswith("aix"): + return "aix" ++ if sys.platform.startswith("redox"): ++ return "redox" + if sys.platform.startswith(("os390", "zos")): + return "zos" + if sys.platform == "os400": +diff -ruwN source/tools/gyp/pylib/gyp/generator/make.py source-new/tools/gyp/pylib/gyp/generator/make.py +--- source/tools/gyp/pylib/gyp/generator/make.py 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/gyp/pylib/gyp/generator/make.py 2025-10-10 14:27:51.496602771 +0700 +@@ -1868,7 +1868,7 @@ + self.flavor not in ("mac", "openbsd", "netbsd", "win") + and not self.is_standalone_static_library + ): +- if self.flavor in ("linux", "android"): ++ if self.flavor in ("linux", "android", "redox"): + self.WriteMakeRule( + [self.output_binary], + link_deps, +@@ -1883,7 +1883,7 @@ + postbuilds=postbuilds, + ) + else: +- if self.flavor in ("linux", "android"): ++ if self.flavor in ("linux", "android", "redox"): + self.WriteMakeRule( + [self.output_binary], + link_deps, +diff -ruwN source/tools/v8_gypfiles/d8.gyp source-new/tools/v8_gypfiles/d8.gyp +--- source/tools/v8_gypfiles/d8.gyp 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/v8_gypfiles/d8.gyp 2025-10-10 21:34:47.141291162 +0700 +@@ -47,7 +47,7 @@ + }], + ['(OS=="linux" or OS=="mac" or OS=="freebsd" or OS=="netbsd" \ + or OS=="openbsd" or OS=="solaris" or OS=="android" \ +- or OS=="qnx" or OS=="aix" or OS=="os400")', { ++ or OS=="qnx" or OS=="aix" or OS=="redox" or OS=="os400")', { + 'sources': [ '<(V8_ROOT)/src/d8/d8-posix.cc', ] + }], + [ 'OS=="win"', { +diff -ruwN source/tools/v8_gypfiles/toolchain.gypi source-new/tools/v8_gypfiles/toolchain.gypi +--- source/tools/v8_gypfiles/toolchain.gypi 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/v8_gypfiles/toolchain.gypi 2025-10-10 21:57:05.129575573 +0700 +@@ -575,6 +575,12 @@ + 'V8_TARGET_OS_MACOS', + ] + }], ++ ['OS=="redox"', { ++ 'defines': [ ++ 'V8_HAVE_TARGET_OS', ++ 'V8_TARGET_OS_REDOX', ++ ] ++ }], + ['OS=="win"', { + 'defines': [ + 'V8_HAVE_TARGET_OS', +@@ -661,7 +667,7 @@ + ], + }], + ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \ +- or OS=="netbsd" or OS=="qnx" or OS=="aix" or OS=="os400"', { ++ or OS=="netbsd" or OS=="qnx" or OS=="aix" or OS=="redox" or OS=="os400"', { + 'conditions': [ + [ 'v8_no_strict_aliasing==1', { + 'cflags': [ '-fno-strict-aliasing' ], +diff -ruwN source/tools/v8_gypfiles/v8.gyp source-new/tools/v8_gypfiles/v8.gyp +--- source/tools/v8_gypfiles/v8.gyp 2024-04-10 19:46:15.000000000 +0700 ++++ source-new/tools/v8_gypfiles/v8.gyp 2025-10-11 12:14:17.137386469 +0700 +@@ -606,7 +606,7 @@ + }], + ['v8_enable_webassembly==1', { + 'conditions': [ +- ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', { ++ ['OS=="linux" or OS=="redox" or OS=="mac" or OS=="ios" or OS=="freebsd"', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-inside-posix.h', + ], +@@ -637,7 +637,7 @@ + }], + ['v8_enable_webassembly==1', { + 'conditions': [ +- ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS=="linux" or OS=="mac")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="mac"))', { ++ ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS=="linux" or OS=="mac")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="redox" or OS=="mac"))', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-inside-posix.h', + ], +@@ -941,7 +941,7 @@ + }], + ['v8_enable_webassembly==1', { + 'conditions': [ +- ['OS=="linux" or OS=="mac" or OS=="ios" or OS=="freebsd"', { ++ ['OS=="linux" or OS=="redox" or OS=="mac" or OS=="ios" or OS=="freebsd"', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc', + '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc', +@@ -969,7 +969,7 @@ + 'conditions': [ + ['v8_enable_webassembly==1', { + 'conditions': [ +- ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS=="linux" or OS=="mac" or OS=="ios")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="mac"))', { ++ ['((_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") and (OS=="linux" or OS=="redox" or OS=="mac" or OS=="ios")) or ((_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="redox" or OS=="mac"))', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc', + '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc', +@@ -981,7 +981,7 @@ + '<(V8_ROOT)/src/trap-handler/handler-outside-win.cc', + ], + }], +- ['(_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="mac" or OS=="win")', { ++ ['(_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="redox" or OS=="mac" or OS=="win")', { + 'sources': [ + '<(V8_ROOT)/src/trap-handler/handler-outside-simulator.cc', + ], +@@ -1323,6 +1323,35 @@ + # end of conditions from 'BUILD.gn' + + # Node.js validated ++ ['OS=="redox"', { ++ 'link_settings': { ++ 'target_conditions': [ ++ ['_toolset=="host"', { ++ 'libraries': [ ++ '-ldl' ++ ], ++ }], ++ ], ++ }, ++ 'sources': [ ++ '<(V8_ROOT)/src/base/platform/platform-posix.cc', ++ '<(V8_ROOT)/src/base/platform/platform-posix.h', ++ '<(V8_ROOT)/src/base/platform/platform-posix-time.cc', ++ '<(V8_ROOT)/src/base/platform/platform-posix-time.h', ++ '<(V8_ROOT)/src/base/debug/stack_trace_posix.cc', ++ ], ++ 'target_conditions': [ ++ ['_toolset=="host"', { ++ 'sources': [ ++ '<(V8_ROOT)/src/base/platform/platform-linux.cc', ++ ], ++ }, { ++ 'sources': [ ++ '<(V8_ROOT)/src/base/platform/platform-redox.cc', ++ ], ++ }], ++ ], ++ }], + ['OS=="solaris"', { + 'link_settings': { + 'libraries': [ diff --git a/recipes/wip/dev/lang/nodejs/01_redox.patch b/recipes/wip/dev/lang/nodejs-24/01_redox.patch similarity index 100% rename from recipes/wip/dev/lang/nodejs/01_redox.patch rename to recipes/wip/dev/lang/nodejs-24/01_redox.patch diff --git a/recipes/wip/dev/lang/nodejs/recipe.toml b/recipes/wip/dev/lang/nodejs-24/recipe.toml similarity index 60% rename from recipes/wip/dev/lang/nodejs/recipe.toml rename to recipes/wip/dev/lang/nodejs-24/recipe.toml index fbc91fb97..cfd29f13d 100644 --- a/recipes/wip/dev/lang/nodejs/recipe.toml +++ b/recipes/wip/dev/lang/nodejs-24/recipe.toml @@ -1,22 +1,23 @@ -#TODO depedencies needed +#TODO requires stdc++20 [source] -tar = "https://nodejs.org/dist/v24.5.0/node-v24.5.0.tar.gz" +tar = "https://nodejs.org/dist/v24.5.0/node-v24.9.0.tar.xz" +blake3 = "c710713c9144dc2dfadaef1d180b295d85edd9945513017fc700af68eb08a251" patches = ["01_redox.patch"] [build] template = "custom" -depedencies = [ +dependencies = [ # "ada", "libbrotli", -# "cares", + "c-ares", "libuv", -# "ngtcp2", + "ngtcp2", "nghttp2", # "http-parser", -# "nghttp3", + "nghttp3", "openssl1", "simdjson", -# "simdutf", + "simdutf", "sqlite3", # "uvwasi", "zlib", @@ -24,6 +25,7 @@ depedencies = [ ] script = """ DYNAMIC_INIT +rsync -av --delete "${COOKBOOK_SOURCE}/" ./ case "${TARGET}" in x86-unknown-redox) @@ -41,12 +43,21 @@ COOKBOOK_CONFIGURE_FLAGS=( --prefix=${COOKBOOK_STAGE} --dest-cpu=${NODE_CPU} --dest-os=redox + --shared-cares --shared-libuv + --shared-ngtcp2 --shared-nghttp2 + --shared-nghttp3 --shared-openssl + --shared-simdjson + --shared-simdutf --shared-zlib --shared-zstd --cross-compiling + --without-sqlite + --without-inspector + --without-intl ) +COOKBOOK_CONFIGURE="./configure" cookbook_configure """ diff --git a/recipes/wip/dev/lang/nodejs-lts/recipe.toml b/recipes/wip/dev/lang/nodejs-lts/recipe.toml deleted file mode 100644 index 233365de1..000000000 --- a/recipes/wip/dev/lang/nodejs-lts/recipe.toml +++ /dev/null @@ -1,5 +0,0 @@ -#TODO can't find the Redox target -[source] -tar = "https://nodejs.org/dist/v18.17.1/node-v18.17.1.tar.gz" -[build] -template = "configure" diff --git a/recipes/wip/libs/net/c-ares/recipe.toml b/recipes/wip/libs/net/c-ares/recipe.toml new file mode 100644 index 000000000..299898dc3 --- /dev/null +++ b/recipes/wip/libs/net/c-ares/recipe.toml @@ -0,0 +1,6 @@ +[source] +git = "https://github.com/c-ares/c-ares" +rev = "d3a507e920e7af18a5efb7f9f1d8044ed4750013" # 1.34.5 + +[build] +template = "cmake" diff --git a/recipes/wip/libs/net/nghttp3/recipe.toml b/recipes/wip/libs/net/nghttp3/recipe.toml new file mode 100644 index 000000000..1a4e01f10 --- /dev/null +++ b/recipes/wip/libs/net/nghttp3/recipe.toml @@ -0,0 +1,6 @@ +[source] +git = "https://github.com/ngtcp2/nghttp3" +rev = "f3eb315feda478cdb4919720a7961c0321e1bd89" # 1.14.0 + +[build] +template = "cmake" diff --git a/recipes/wip/libs/net/ngtcp2/recipe.toml b/recipes/wip/libs/net/ngtcp2/recipe.toml new file mode 100644 index 000000000..bc31da496 --- /dev/null +++ b/recipes/wip/libs/net/ngtcp2/recipe.toml @@ -0,0 +1,14 @@ +#TODO Maybe need openssl 1.1.1 +[source] +git = "https://github.com/ngtcp2/ngtcp2" +rev = "e9fe10e0e8b3ce646fa88b4217864f29b4e013d9" # 1.14.0 + +[build] +template = "custom" +script = """ +DYNAMIC_INIT +COOKBOOK_CMAKE_FLAGS+=( + -DENABLE_OPENSSL=OFF +) +cookbook_cmake +""" diff --git a/recipes/wip/libs/other/simdjson/recipe.toml b/recipes/wip/libs/other/simdjson/recipe.toml index 08031f96a..5f162af51 100644 --- a/recipes/wip/libs/other/simdjson/recipe.toml +++ b/recipes/wip/libs/other/simdjson/recipe.toml @@ -1,21 +1,9 @@ -#TODO maybe incomplete script, see https://github.com/simdjson/simdjson/blob/master/HACKING.md#usage-cmake-on-64-bit-platforms-like-linux-freebsd-or-macos [source] git = "https://github.com/simdjson/simdjson" -rev = "6060be2fdf62edf4a8f51a8b0883d57d09397b30" +rev = "0c0ce1bd48baa0677dc7c0945ea7cd1e8b52b297" # 3.13.0 [build] template = "custom" script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure +DYNAMIC_INIT +cookbook_cmake """ diff --git a/recipes/wip/libs/other/simdutf/recipe.toml b/recipes/wip/libs/other/simdutf/recipe.toml new file mode 100644 index 000000000..faf1c2465 --- /dev/null +++ b/recipes/wip/libs/other/simdutf/recipe.toml @@ -0,0 +1,9 @@ +[source] +git = "https://github.com/simdutf/simdutf" +rev = "df8bfed3256cf5ca29969a9dd1db677e835b2c6c" # 7.3.5 +[build] +template = "custom" +script = """ +DYNAMIC_INIT +cookbook_cmake +""" From d63a59720b5e3dd1d5b0e00c241c14c2cf5554f4 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sat, 11 Oct 2025 16:10:58 +0700 Subject: [PATCH 138/182] Automatic unfetch for tar recipes --- src/bin/cook.rs | 618 +-------------------------------------------- src/cook/fetch.rs | 417 ++++++++++++++++++++++++++++++ src/cook/fs.rs | 194 ++++++++++++++ src/cook/mod.rs | 6 + src/cook/script.rs | 91 +++++++ src/lib.rs | 1 + 6 files changed, 715 insertions(+), 612 deletions(-) create mode 100644 src/cook/fetch.rs create mode 100644 src/cook/fs.rs create mode 100644 src/cook/mod.rs create mode 100644 src/cook/script.rs diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 45787cc0c..90315b4ee 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -1,630 +1,24 @@ -use cookbook::blake3::blake3_progress; -use cookbook::config::{init_config, translate_mirror}; -use cookbook::recipe::{AutoDeps, BuildKind, CookRecipe, Recipe, SourceRecipe}; +use cookbook::config::init_config; +use cookbook::cook::fetch::*; +use cookbook::cook::fs::*; +use cookbook::cook::script::SHARED_PRESCRIPT; +use cookbook::recipe::{AutoDeps, BuildKind, CookRecipe, Recipe}; use pkg::package::Package; use pkg::{recipes, PackageName}; -use serde::Serialize; use std::collections::VecDeque; use std::convert::TryInto; use std::{ collections::BTreeSet, env, fs, - io::{self, Write}, path::{Path, PathBuf}, - process::{self, Command, Stdio}, + process::{self, Command}, str, time::SystemTime, }; use termion::{color, style}; -use walkdir::{DirEntry, WalkDir}; use cookbook::{is_redox, WALK_DEPTH}; -fn remove_all(path: &Path) -> Result<(), String> { - if path.is_dir() { - fs::remove_dir_all(path) - } else { - fs::remove_file(path) - } - .map_err(|err| format!("failed to remove '{}': {}\n{:?}", path.display(), err, err)) -} - -fn create_dir(dir: &Path) -> Result<(), String> { - fs::create_dir(dir) - .map_err(|err| format!("failed to create '{}': {}\n{:?}", dir.display(), err, err)) -} - -fn create_dir_clean(dir: &Path) -> Result<(), String> { - if dir.is_dir() { - remove_all(dir)?; - } - create_dir(dir) -} - -fn copy_dir_all(src: impl AsRef, dst: impl AsRef) -> io::Result<()> { - fs::create_dir_all(&dst)?; - for entry in fs::read_dir(src)? { - let entry = entry?; - let ty = entry.file_type()?; - if ty.is_dir() { - copy_dir_all(entry.path(), dst.as_ref().join(entry.file_name()))?; - } else { - fs::copy(entry.path(), dst.as_ref().join(entry.file_name()))?; - } - } - Ok(()) -} - -fn symlink(original: impl AsRef, link: impl AsRef) -> Result<(), String> { - std::os::unix::fs::symlink(&original, &link).map_err(|err| { - format!( - "failed to symlink '{}' to '{}': {}\n{:?}", - original.as_ref().display(), - link.as_ref().display(), - err, - err - ) - }) -} - -fn modified(path: &Path) -> Result { - let metadata = fs::metadata(path).map_err(|err| { - format!( - "failed to get metadata of '{}': {}\n{:#?}", - path.display(), - err, - err - ) - })?; - metadata.modified().map_err(|err| { - format!( - "failed to get modified time of '{}': {}\n{:#?}", - path.display(), - err, - err - ) - }) -} - -fn modified_dir_inner bool>( - dir: &Path, - filter: F, -) -> io::Result { - let mut newest = fs::metadata(dir)?.modified()?; - for entry_res in WalkDir::new(dir).into_iter().filter_entry(filter) { - let entry = entry_res?; - let modified = entry.metadata()?.modified()?; - if modified > newest { - newest = modified; - } - } - Ok(newest) -} - -fn modified_dir(dir: &Path) -> Result { - modified_dir_inner(dir, |_| true).map_err(|err| { - format!( - "failed to get modified time of '{}': {}\n{:#?}", - dir.display(), - err, - err - ) - }) -} - -fn modified_dir_ignore_git(dir: &Path) -> Result { - modified_dir_inner(dir, |entry| { - entry - .file_name() - .to_str() - .map(|s| s != ".git") - .unwrap_or(true) - }) - .map_err(|err| { - format!( - "failed to get modified time of '{}': {}\n{:#?}", - dir.display(), - err, - err - ) - }) -} - -fn rename(src: &Path, dst: &Path) -> Result<(), String> { - fs::rename(src, dst).map_err(|err| { - format!( - "failed to rename '{}' to '{}': {}\n{:?}", - src.display(), - dst.display(), - err, - err - ) - }) -} - -fn run_command(mut command: process::Command) -> Result<(), String> { - let status = command - .status() - .map_err(|err| format!("failed to run {:?}: {}\n{:#?}", command, err, err))?; - - if !status.success() { - return Err(format!( - "failed to run {:?}: exited with status {}", - command, status - )); - } - - Ok(()) -} - -fn run_command_stdin(mut command: process::Command, stdin_data: &[u8]) -> Result<(), String> { - command.stdin(Stdio::piped()); - - let mut child = command - .spawn() - .map_err(|err| format!("failed to spawn {:?}: {}\n{:#?}", command, err, err))?; - - if let Some(ref mut stdin) = child.stdin { - stdin.write_all(stdin_data).map_err(|err| { - format!( - "failed to write stdin of {:?}: {}\n{:#?}", - command, err, err - ) - })?; - } else { - return Err(format!("failed to find stdin of {:?}", command)); - } - - let status = child - .wait() - .map_err(|err| format!("failed to run {:?}: {}\n{:#?}", command, err, err))?; - - if !status.success() { - return Err(format!( - "failed to run {:?}: exited with status {}", - command, status - )); - } - - Ok(()) -} - -fn serialize_and_write(file_path: &Path, content: &T) -> Result<(), String> { - let toml_content = toml::to_string(content).map_err(|err| { - format!( - "Failed to serialize content for '{}': {}", - file_path.display(), - err - ) - })?; - - fs::write(file_path, toml_content) - .map_err(|err| format!("Failed to write to file '{}': {}", file_path.display(), err))?; - Ok(()) -} - -static SHARED_PRESCRIPT: &str = r#" -# Build dynamically -function DYNAMIC_INIT { - COOKBOOK_AUTORECONF="autoreconf" - autotools_recursive_regenerate() { - for f in $(find . -name configure.ac -o -name configure.in -type f | sort); do - echo "* autotools regen in '$(dirname $f)'..." - ( cd "$(dirname "$f")" && "${COOKBOOK_AUTORECONF}" -fvi "$@" -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) - done - } - - if [ "${TARGET}" != "x86_64-unknown-redox" ] - then - echo "WARN: ${TARGET} does not support dynamic linking." >&2 - return - fi - - echo "DEBUG: Program is being compiled dynamically." - - COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --disable-static - ) - - COOKBOOK_CMAKE_FLAGS=( - -DBUILD_SHARED_LIBS=True - -DENABLE_SHARED=True - -DENABLE_STATIC=False - ) - - COOKBOOK_MESON_FLAGS=( - --buildtype release - --wrap-mode nofallback - --strip - -Ddefault_library=shared - -Dprefix=/usr - ) - - # TODO: check paths for spaces - export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib -L${COOKBOOK_SYSROOT}/lib" - export RUSTFLAGS="-C target-feature=-crt-static" - export COOKBOOK_DYNAMIC=1 -} - -# Build both dynamically and statically -function DYNAMIC_STATIC_INIT { - DYNAMIC_INIT - if [ "${COOKBOOK_DYNAMIC}" == "1" ] - then - COOKBOOK_CONFIGURE_FLAGS=( - --host="${GNU_TARGET}" - --prefix="/usr" - --enable-shared - --enable-static - ) - - COOKBOOK_CMAKE_FLAGS=( - -DBUILD_SHARED_LIBS=True - -DENABLE_SHARED=True - -DENABLE_STATIC=True - ) - - COOKBOOK_MESON_FLAGS=( - --buildtype release - --wrap-mode nofallback - --strip - -Ddefault_library=both - -Dprefix=/usr - ) - fi -} - -function GNU_CONFIG_GET { - wget -O "$1" "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" -} -"#; - -fn fetch_offline(recipe_dir: &Path, source: &Option) -> Result { - let source_dir = recipe_dir.join("source"); - match source { - Some(SourceRecipe::SameAs { same_as: _ }) | Some(SourceRecipe::Path { path: _ }) | None => { - return fetch(recipe_dir, source); - } - Some(SourceRecipe::Git { - git: _, - upstream: _, - branch: _, - rev: _, - patches: _, - script: _, - shallow_clone: _, - }) - | Some(SourceRecipe::Tar { - tar: _, - blake3: _, - patches: _, - script: _, - }) => { - if !source_dir.is_dir() { - return Err(format!( - "'{dir}' is not exist and unable to continue in offline mode", - dir = source_dir.display(), - )); - } - } - } - - Ok(source_dir) -} - -fn fetch(recipe_dir: &Path, source: &Option) -> Result { - let source_dir = recipe_dir.join("source"); - match source { - Some(SourceRecipe::SameAs { same_as }) => { - if !source_dir.is_symlink() { - if source_dir.is_dir() { - return Err(format!( - "'{dir}' is a directory, but recipe indicated a symlink. \n\ - try removing '{dir}' if you haven't made any changes that would be lost", - dir = source_dir.display(), - )); - } - let original = Path::new(same_as).join("source"); - std::os::unix::fs::symlink(&original, &source_dir).map_err(|err| { - format!( - "failed to symlink '{}' to '{}': {}\n{:?}", - original.display(), - source_dir.display(), - err, - err - ) - })?; - } - } - Some(SourceRecipe::Path { path }) => { - if !source_dir.is_dir() || modified_dir(Path::new(path))? > modified_dir(&source_dir)? { - eprintln!("[DEBUG]: {} is newer than {}", path, source_dir.display()); - copy_dir_all(path, &source_dir).map_err(|e| { - format!( - "Couldn't copy source from {} to {}: {}", - path, - source_dir.display(), - e - ) - })?; - } - } - Some(SourceRecipe::Git { - git, - upstream, - branch, - rev, - patches, - script, - shallow_clone, - }) => { - //TODO: use libgit? - let shallow_clone = *shallow_clone == Some(true); - if !source_dir.is_dir() { - // Create source.tmp - let source_dir_tmp = recipe_dir.join("source.tmp"); - create_dir_clean(&source_dir_tmp)?; - - // Clone the repository to source.tmp - let mut command = Command::new("git"); - command - .arg("clone") - .arg("--recursive") - .arg(translate_mirror(git)); - if let Some(branch) = branch { - command.arg("--branch").arg(branch); - } - if shallow_clone { - command.arg("--depth").arg("1").arg("--shallow-submodules"); - } - command.arg(&source_dir_tmp); - run_command(command)?; - - // Move source.tmp to source atomically - rename(&source_dir_tmp, &source_dir)?; - } else if !shallow_clone { - // Don't let this code reset the origin for the cookbook repo - let source_git_dir = source_dir.join(".git"); - if !source_git_dir.is_dir() { - return Err(format!( - "'{}' is not a git repository, but recipe indicated git source", - source_dir.display(), - )); - } - - // Reset origin - let mut command = Command::new("git"); - command.arg("-C").arg(&source_dir); - command.arg("remote").arg("set-url").arg("origin").arg(git); - run_command(command)?; - - // Fetch origin - let mut command = Command::new("git"); - command.arg("-C").arg(&source_dir); - command.arg("fetch").arg("origin"); - run_command(command)?; - } - - if let Some(_upstream) = upstream { - //TODO: set upstream URL - // git remote set-url upstream "$GIT_UPSTREAM" &> /dev/null || - // git remote add upstream "$GIT_UPSTREAM" - // git fetch upstream - } - - if let Some(rev) = rev { - // Check out specified revision - let mut command = Command::new("git"); - command.arg("-C").arg(&source_dir); - command.arg("checkout").arg(rev); - run_command(command)?; - } else if !shallow_clone && !is_redox() { - //TODO: complicated stuff to check and reset branch to origin - //TODO: redox can't undestand this (got exit status 1) - let mut command = Command::new("bash"); - command.arg("-c").arg( - r#" -ORIGIN_BRANCH="$(git branch --remotes | grep '^ origin/HEAD -> ' | cut -d ' ' -f 5-)" -if [ -n "$BRANCH" ] -then - ORIGIN_BRANCH="origin/$BRANCH" -fi - -if [ "$(git rev-parse HEAD)" != "$(git rev-parse $ORIGIN_BRANCH)" ] -then - git checkout -B "$(echo "$ORIGIN_BRANCH" | cut -d / -f 2-)" "$ORIGIN_BRANCH" -fi"#, - ); - if let Some(branch) = branch { - command.env("BRANCH", branch); - } - command.current_dir(&source_dir); - run_command(command)?; - } - - if !patches.is_empty() || script.is_some() { - // Hard reset - let mut command = Command::new("git"); - command.arg("-C").arg(&source_dir); - command.arg("reset").arg("--hard"); - run_command(command)?; - } - - if !shallow_clone { - // Sync submodules URL - let mut command = Command::new("git"); - command.arg("-C").arg(&source_dir); - command.arg("submodule").arg("sync").arg("--recursive"); - run_command(command)?; - - // Update submodules - let mut command = Command::new("git"); - command.arg("-C").arg(&source_dir); - command - .arg("submodule") - .arg("update") - .arg("--init") - .arg("--recursive"); - run_command(command)?; - } - - // Apply patches - for patch_name in patches { - let patch_file = recipe_dir.join(patch_name); - if !patch_file.is_file() { - return Err(format!( - "failed to find patch file '{}'", - patch_file.display() - )); - } - - let patch = fs::read_to_string(&patch_file).map_err(|err| { - format!( - "failed to read patch file '{}': {}\n{:#?}", - patch_file.display(), - err, - err - ) - })?; - - let mut command = Command::new("patch"); - command.arg("--forward"); - command.arg("--batch"); - command.arg("--directory").arg(&source_dir); - command.arg("--strip=1"); - run_command_stdin(command, patch.as_bytes())?; - } - - // Run source script - if let Some(script) = script { - let mut command = Command::new("bash"); - command.arg("-ex"); - command.current_dir(&source_dir); - run_command_stdin(command, format!("{SHARED_PRESCRIPT}\n{script}").as_bytes())?; - } - } - Some(SourceRecipe::Tar { - tar, - blake3, - patches, - script, - }) => { - if !source_dir.is_dir() { - // Download tar - //TODO: replace wget - let source_tar = recipe_dir.join("source.tar"); - if !source_tar.is_file() { - let source_tar_tmp = recipe_dir.join("source.tar.tmp"); - - let mut command = Command::new("wget"); - command.arg(translate_mirror(tar)); - command.arg("--continue").arg("-O").arg(&source_tar_tmp); - run_command(command)?; - - // Move source.tar.tmp to source.tar atomically - rename(&source_tar_tmp, &source_tar)?; - } - - // Calculate blake3 - let source_tar_blake3 = blake3_progress(&source_tar).map_err(|err| { - format!( - "failed to calculate blake3 of '{}': {}\n{:?}", - source_tar.display(), - err, - err - ) - })?; - if let Some(blake3) = blake3 { - // Check if it matches recipe - if &source_tar_blake3 != blake3 { - return Err(format!( - "calculated blake3 '{}' does not match recipe blake3 '{}'", - source_tar_blake3, blake3 - )); - } - } else { - //TODO: set blake3 hash on the recipe with something like "cook fix" - eprintln!( - "WARNING: set blake3 for '{}' to '{}'", - source_tar.display(), - source_tar_blake3 - ); - } - - // Create source.tmp - let source_dir_tmp = recipe_dir.join("source.tmp"); - create_dir_clean(&source_dir_tmp)?; - - // Extract tar to source.tmp - //TODO: use tar crate (how to deal with compression?) - let mut command = Command::new("tar"); - if is_redox() { - command.arg("xvf"); - } else { - command.arg("--extract"); - command.arg("--verbose"); - command.arg("--file"); - } - command.arg(&source_tar); - command.arg("--directory").arg(&source_dir_tmp); - command.arg("--strip-components").arg("1"); - run_command(command)?; - - // Apply patches - for patch_name in patches { - let patch_file = recipe_dir.join(patch_name); - if !patch_file.is_file() { - return Err(format!( - "failed to find patch file '{}'", - patch_file.display() - )); - } - - let patch = fs::read_to_string(&patch_file).map_err(|err| { - format!( - "failed to read patch file '{}': {}\n{:#?}", - patch_file.display(), - err, - err - ) - })?; - - let mut command = Command::new("patch"); - command.arg("--directory").arg(&source_dir_tmp); - command.arg("--strip=1"); - run_command_stdin(command, patch.as_bytes())?; - } - - // Run source script - if let Some(script) = script { - let mut command = Command::new("bash"); - command.arg("-ex"); - command.current_dir(&source_dir_tmp); - run_command_stdin(command, format!("{SHARED_PRESCRIPT}\n{script}").as_bytes())?; - } - - // Move source.tmp to source atomically - rename(&source_dir_tmp, &source_dir)?; - } - } - // Local Sources - None => { - if !source_dir.is_dir() { - eprintln!( - "WARNING: Recipe without source section expected source dir at '{}'", - source_dir.display(), - ); - create_dir(&source_dir)?; - } - } - } - - Ok(source_dir) -} - fn auto_deps( stage_dir: &Path, dep_pkgars: &BTreeSet<(PackageName, PathBuf)>, diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs new file mode 100644 index 000000000..dc44bb314 --- /dev/null +++ b/src/cook/fetch.rs @@ -0,0 +1,417 @@ +use crate::config::translate_mirror; +use crate::cook::fs::*; +use crate::cook::script::*; +use crate::is_redox; +use crate::recipe::Recipe; +use crate::{blake3::blake3_progress, recipe::SourceRecipe}; +use std::fs; +use std::path::{Path, PathBuf}; +use std::process::Command; + +pub(crate) fn get_blake3(path: &PathBuf) -> Result { + blake3_progress(&path).map_err(|err| { + format!( + "failed to calculate blake3 of '{}': {}\n{:?}", + path.display(), + err, + err + ) + }) +} + +pub fn fetch_offline(recipe_dir: &Path, source: &Option) -> Result { + let source_dir = recipe_dir.join("source"); + match source { + Some(SourceRecipe::Path { path: _ }) | None => { + return fetch(recipe_dir, source); + } + Some(SourceRecipe::SameAs { same_as: _ }) => { + return fetch(recipe_dir, source); + } + Some(SourceRecipe::Git { + git: _, + upstream: _, + branch: _, + rev: _, + patches: _, + script: _, + shallow_clone: _, + }) => { + if !source_dir.is_dir() { + return Err(format!( + "'{dir}' is not exist and unable to continue in offline mode", + dir = source_dir.display(), + )); + } + } + Some(SourceRecipe::Tar { + tar: _, + blake3, + patches, + script, + }) => { + if !source_dir.is_dir() { + let source_tar = recipe_dir.join("source.tar"); + let source_tar_blake3 = get_blake3(&source_tar)?; + if source_tar.exists() { + if let Some(blake3) = blake3 { + if source_tar_blake3 != *blake3 { + return Err(format!("The downloaded tar blake3 is not match and unable to continue in offline mode.")); + } + fetch_extract_tar(source_tar, &source_dir)?; + fetch_apply_patches(recipe_dir, patches, script, &source_dir)?; + } else { + // need to trust this tar file + return Err(format!( + "Please add blake3 = \"{source_tar_blake3}\" to '{recipe}'", + recipe = recipe_dir.join("recipe.toml").display(), + )); + } + } else { + return Err(format!( + "'{dir}' is not exist and unable to continue in offline mode", + dir = source_dir.display(), + )); + } + } + } + } + + Ok(source_dir) +} + +pub fn fetch(recipe_dir: &Path, source: &Option) -> Result { + let source_dir = recipe_dir.join("source"); + match source { + Some(SourceRecipe::SameAs { same_as }) => { + let (canon_dir, recipe) = fetch_resolve_canon(recipe_dir, same_as)?; + // recursively fetch + fetch(&canon_dir, &recipe.source)?; + fetch_make_symlink(&source_dir, same_as)?; + } + Some(SourceRecipe::Path { path }) => { + if !source_dir.is_dir() || modified_dir(Path::new(path))? > modified_dir(&source_dir)? { + eprintln!("[DEBUG]: {} is newer than {}", path, source_dir.display()); + copy_dir_all(path, &source_dir).map_err(|e| { + format!( + "Couldn't copy source from {} to {}: {}", + path, + source_dir.display(), + e + ) + })?; + } + } + Some(SourceRecipe::Git { + git, + upstream, + branch, + rev, + patches, + script, + shallow_clone, + }) => { + //TODO: use libgit? + let shallow_clone = *shallow_clone == Some(true); + if !source_dir.is_dir() { + // Create source.tmp + let source_dir_tmp = recipe_dir.join("source.tmp"); + create_dir_clean(&source_dir_tmp)?; + + // Clone the repository to source.tmp + let mut command = Command::new("git"); + command + .arg("clone") + .arg("--recursive") + .arg(translate_mirror(git)); + if let Some(branch) = branch { + command.arg("--branch").arg(branch); + } + if shallow_clone { + command.arg("--depth").arg("1").arg("--shallow-submodules"); + } + command.arg(&source_dir_tmp); + run_command(command)?; + + // Move source.tmp to source atomically + rename(&source_dir_tmp, &source_dir)?; + } else if !shallow_clone { + // Don't let this code reset the origin for the cookbook repo + let source_git_dir = source_dir.join(".git"); + if !source_git_dir.is_dir() { + return Err(format!( + "'{}' is not a git repository, but recipe indicated git source", + source_dir.display(), + )); + } + + // Reset origin + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("remote").arg("set-url").arg("origin").arg(git); + run_command(command)?; + + // Fetch origin + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("fetch").arg("origin"); + run_command(command)?; + } + + if let Some(_upstream) = upstream { + //TODO: set upstream URL + // git remote set-url upstream "$GIT_UPSTREAM" &> /dev/null || + // git remote add upstream "$GIT_UPSTREAM" + // git fetch upstream + } + + if let Some(rev) = rev { + // Check out specified revision + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("checkout").arg(rev); + run_command(command)?; + } else if !shallow_clone && !is_redox() { + //TODO: complicated stuff to check and reset branch to origin + //TODO: redox can't undestand this (got exit status 1) + let mut command = Command::new("bash"); + command.arg("-c").arg(GIT_RESET_BRANCH); + if let Some(branch) = branch { + command.env("BRANCH", branch); + } + command.current_dir(&source_dir); + run_command(command)?; + } + + if !patches.is_empty() || script.is_some() { + // Hard reset + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("reset").arg("--hard"); + run_command(command)?; + } + + if !shallow_clone { + // Sync submodules URL + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command.arg("submodule").arg("sync").arg("--recursive"); + run_command(command)?; + + // Update submodules + let mut command = Command::new("git"); + command.arg("-C").arg(&source_dir); + command + .arg("submodule") + .arg("update") + .arg("--init") + .arg("--recursive"); + run_command(command)?; + } + + fetch_apply_patches(recipe_dir, patches, script, &source_dir)?; + } + Some(SourceRecipe::Tar { + tar, + blake3, + patches, + script, + }) => { + let source_tar = recipe_dir.join("source.tar"); + let mut tar_updated = false; + while { + if tar_updated { + return Err(format!("The downloaded tar blake3 is not match")); + } + if !source_tar.is_file() { + tar_updated = true; + //TODO: replace wget + if !source_tar.is_file() { + let source_tar_tmp = recipe_dir.join("source.tar.tmp"); + + let mut command = Command::new("wget"); + command.arg(translate_mirror(tar)); + command.arg("--continue").arg("-O").arg(&source_tar_tmp); + run_command(command)?; + + // Move source.tar.tmp to source.tar atomically + rename(&source_tar_tmp, &source_tar)?; + } + } + let source_tar_blake3 = get_blake3(&source_tar)?; + if let Some(blake3) = blake3 { + if source_tar_blake3 != *blake3 { + remove_all(&source_tar)?; + true + } else { + false + } + } else { + //TODO: set blake3 hash on the recipe with something like "cook fix" + eprintln!( + "WARNING: set blake3 for '{}' to '{}'", + source_tar.display(), + source_tar_blake3 + ); + false + } + } {} + if source_dir.is_dir() { + if tar_updated || fetch_is_patches_newer(recipe_dir, patches, &source_dir)? { + remove_all(&source_dir)? + } + } + if !source_dir.is_dir() { + // Create source.tmp + let source_dir_tmp = recipe_dir.join("source.tmp"); + create_dir_clean(&source_dir_tmp)?; + fetch_extract_tar(source_tar, &source_dir_tmp)?; + fetch_apply_patches(recipe_dir, patches, script, &source_dir_tmp)?; + + // Move source.tmp to source atomically + rename(&source_dir_tmp, &source_dir)?; + } + } + // Local Sources + None => { + if !source_dir.is_dir() { + eprintln!( + "WARNING: Recipe without source section expected source dir at '{}'", + source_dir.display(), + ); + create_dir(&source_dir)?; + } + } + } + + Ok(source_dir) +} + +pub(crate) fn fetch_make_symlink(source_dir: &PathBuf, same_as: &String) -> Result<(), String> { + let target_dir = Path::new(same_as).join("source"); + if !source_dir.is_symlink() { + if source_dir.is_dir() { + return Err(format!( + "'{dir}' is a directory, but recipe indicated a symlink. \n\ + try removing '{dir}' if you haven't made any changes that would be lost", + dir = source_dir.display(), + )); + } + std::os::unix::fs::symlink(&target_dir, source_dir).map_err(|err| { + format!( + "failed to symlink '{}' to '{}': {}\n{:?}", + target_dir.display(), + source_dir.display(), + err, + err + ) + })?; + } + Ok(()) +} + +pub(crate) fn fetch_resolve_canon( + recipe_dir: &Path, + same_as: &String, +) -> Result<(PathBuf, Recipe), String> { + let canon_dir = Path::new(recipe_dir).join(same_as); + if canon_dir + .to_str() + .unwrap() + .chars() + .filter(|c| *c == '/') + .count() + > 50 + { + return Err(format!("Infinite loop detected")); + } + if !canon_dir.exists() { + return Err(format!("'{dir}' is not exists.", dir = canon_dir.display())); + } + let recipe_path = canon_dir.join("recipe.toml"); + let recipe_str = fs::read_to_string(&recipe_path) + .map_err(|e| format!("unable to read {path}: {e}", path = recipe_path.display()))?; + let recipe: Recipe = toml::from_str(&recipe_str) + .map_err(|e| format!("Unable to parse {path}: {e}", path = recipe_path.display()))?; + Ok((canon_dir, recipe)) +} + +pub(crate) fn fetch_extract_tar( + source_tar: PathBuf, + source_dir_tmp: &PathBuf, +) -> Result<(), String> { + let mut command = Command::new("tar"); + if is_redox() { + command.arg("xvf"); + } else { + command.arg("--extract"); + command.arg("--verbose"); + command.arg("--file"); + } + command.arg(&source_tar); + command.arg("--directory").arg(source_dir_tmp); + command.arg("--strip-components").arg("1"); + run_command(command)?; + Ok(()) +} + +pub(crate) fn fetch_is_patches_newer( + recipe_dir: &Path, + patches: &Vec, + source_dir: &PathBuf, +) -> Result { + // don't check source files inside as it can be mixed with user patches + let source_time = modified(&source_dir)?; + for patch_name in patches { + let patch_file = recipe_dir.join(patch_name); + if !patch_file.is_file() { + return Err(format!( + "failed to find patch file '{}'", + patch_file.display() + )); + } + + let patch_time = modified(&patch_file)?; + if patch_time > source_time { + return Ok(true); + } + } + return Ok(false); +} + +pub(crate) fn fetch_apply_patches( + recipe_dir: &Path, + patches: &Vec, + script: &Option, + source_dir_tmp: &PathBuf, +) -> Result<(), String> { + for patch_name in patches { + let patch_file = recipe_dir.join(patch_name); + if !patch_file.is_file() { + return Err(format!( + "failed to find patch file '{}'", + patch_file.display() + )); + } + + let patch = fs::read_to_string(&patch_file).map_err(|err| { + format!( + "failed to read patch file '{}': {}\n{:#?}", + patch_file.display(), + err, + err + ) + })?; + + let mut command = Command::new("patch"); + command.arg("--directory").arg(source_dir_tmp); + command.arg("--strip=1"); + run_command_stdin(command, patch.as_bytes())?; + } + Ok(if let Some(script) = script { + let mut command = Command::new("bash"); + command.arg("-ex"); + command.current_dir(source_dir_tmp); + run_command_stdin(command, format!("{SHARED_PRESCRIPT}\n{script}").as_bytes())?; + }) +} diff --git a/src/cook/fs.rs b/src/cook/fs.rs new file mode 100644 index 000000000..0fa51ecfd --- /dev/null +++ b/src/cook/fs.rs @@ -0,0 +1,194 @@ +use serde::Serialize; +use std::{ + fs, + io::{self, Write}, + path::Path, + process::{self, Stdio}, + time::SystemTime, +}; +use walkdir::{DirEntry, WalkDir}; + +//TODO: pub(crate) for all of these functions + +pub fn remove_all(path: &Path) -> Result<(), String> { + if path.is_dir() { + fs::remove_dir_all(path) + } else { + fs::remove_file(path) + } + .map_err(|err| format!("failed to remove '{}': {}\n{:?}", path.display(), err, err)) +} + +pub fn create_dir(dir: &Path) -> Result<(), String> { + fs::create_dir(dir) + .map_err(|err| format!("failed to create '{}': {}\n{:?}", dir.display(), err, err)) +} + +pub fn create_dir_clean(dir: &Path) -> Result<(), String> { + if dir.is_dir() { + remove_all(dir)?; + } + create_dir(dir) +} + +pub fn copy_dir_all(src: impl AsRef, dst: impl AsRef) -> io::Result<()> { + fs::create_dir_all(&dst)?; + for entry in fs::read_dir(src)? { + let entry = entry?; + let ty = entry.file_type()?; + if ty.is_dir() { + copy_dir_all(entry.path(), dst.as_ref().join(entry.file_name()))?; + } else { + fs::copy(entry.path(), dst.as_ref().join(entry.file_name()))?; + } + } + Ok(()) +} + +pub fn symlink(original: impl AsRef, link: impl AsRef) -> Result<(), String> { + std::os::unix::fs::symlink(&original, &link).map_err(|err| { + format!( + "failed to symlink '{}' to '{}': {}\n{:?}", + original.as_ref().display(), + link.as_ref().display(), + err, + err + ) + }) +} + +pub fn modified(path: &Path) -> Result { + let metadata = fs::metadata(path).map_err(|err| { + format!( + "failed to get metadata of '{}': {}\n{:#?}", + path.display(), + err, + err + ) + })?; + metadata.modified().map_err(|err| { + format!( + "failed to get modified time of '{}': {}\n{:#?}", + path.display(), + err, + err + ) + }) +} + +pub fn modified_dir_inner bool>( + dir: &Path, + filter: F, +) -> io::Result { + let mut newest = fs::metadata(dir)?.modified()?; + for entry_res in WalkDir::new(dir).into_iter().filter_entry(filter) { + let entry = entry_res?; + let modified = entry.metadata()?.modified()?; + if modified > newest { + newest = modified; + } + } + Ok(newest) +} + +pub fn modified_dir(dir: &Path) -> Result { + modified_dir_inner(dir, |_| true).map_err(|err| { + format!( + "failed to get modified time of '{}': {}\n{:#?}", + dir.display(), + err, + err + ) + }) +} + +pub fn modified_dir_ignore_git(dir: &Path) -> Result { + modified_dir_inner(dir, |entry| { + entry + .file_name() + .to_str() + .map(|s| s != ".git") + .unwrap_or(true) + }) + .map_err(|err| { + format!( + "failed to get modified time of '{}': {}\n{:#?}", + dir.display(), + err, + err + ) + }) +} + +pub fn rename(src: &Path, dst: &Path) -> Result<(), String> { + fs::rename(src, dst).map_err(|err| { + format!( + "failed to rename '{}' to '{}': {}\n{:?}", + src.display(), + dst.display(), + err, + err + ) + }) +} + +pub fn run_command(mut command: process::Command) -> Result<(), String> { + let status = command + .status() + .map_err(|err| format!("failed to run {:?}: {}\n{:#?}", command, err, err))?; + + if !status.success() { + return Err(format!( + "failed to run {:?}: exited with status {}", + command, status + )); + } + + Ok(()) +} + +pub fn run_command_stdin(mut command: process::Command, stdin_data: &[u8]) -> Result<(), String> { + command.stdin(Stdio::piped()); + + let mut child = command + .spawn() + .map_err(|err| format!("failed to spawn {:?}: {}\n{:#?}", command, err, err))?; + + if let Some(ref mut stdin) = child.stdin { + stdin.write_all(stdin_data).map_err(|err| { + format!( + "failed to write stdin of {:?}: {}\n{:#?}", + command, err, err + ) + })?; + } else { + return Err(format!("failed to find stdin of {:?}", command)); + } + + let status = child + .wait() + .map_err(|err| format!("failed to run {:?}: {}\n{:#?}", command, err, err))?; + + if !status.success() { + return Err(format!( + "failed to run {:?}: exited with status {}", + command, status + )); + } + + Ok(()) +} + +pub fn serialize_and_write(file_path: &Path, content: &T) -> Result<(), String> { + let toml_content = toml::to_string(content).map_err(|err| { + format!( + "Failed to serialize content for '{}': {}", + file_path.display(), + err + ) + })?; + + fs::write(file_path, toml_content) + .map_err(|err| format!("Failed to write to file '{}': {}", file_path.display(), err))?; + Ok(()) +} diff --git a/src/cook/mod.rs b/src/cook/mod.rs new file mode 100644 index 000000000..e50800384 --- /dev/null +++ b/src/cook/mod.rs @@ -0,0 +1,6 @@ +pub mod fetch; +pub mod fs; +pub mod script; +//TODO: Move rest of cook functions here in the next refactor +//pub mod build; +//pub mod package; diff --git a/src/cook/script.rs b/src/cook/script.rs new file mode 100644 index 000000000..aa531d699 --- /dev/null +++ b/src/cook/script.rs @@ -0,0 +1,91 @@ +//TODO: pub(crate) +pub static SHARED_PRESCRIPT: &str = r#" +# Build dynamically +function DYNAMIC_INIT { + COOKBOOK_AUTORECONF="autoreconf" + autotools_recursive_regenerate() { + for f in $(find . -name configure.ac -o -name configure.in -type f | sort); do + echo "* autotools regen in '$(dirname $f)'..." + ( cd "$(dirname "$f")" && "${COOKBOOK_AUTORECONF}" -fvi "$@" -I${COOKBOOK_HOST_SYSROOT}/share/aclocal ) + done + } + + if [ "${TARGET}" != "x86_64-unknown-redox" ] + then + echo "WARN: ${TARGET} does not support dynamic linking." >&2 + return + fi + + echo "DEBUG: Program is being compiled dynamically." + + COOKBOOK_CONFIGURE_FLAGS=( + --host="${GNU_TARGET}" + --prefix="/usr" + --enable-shared + --disable-static + ) + + COOKBOOK_CMAKE_FLAGS=( + -DBUILD_SHARED_LIBS=True + -DENABLE_SHARED=True + -DENABLE_STATIC=False + ) + + COOKBOOK_MESON_FLAGS=( + --buildtype release + --wrap-mode nofallback + --strip + -Ddefault_library=shared + -Dprefix=/usr + ) + + # TODO: check paths for spaces + export LDFLAGS="-Wl,-rpath-link,${COOKBOOK_SYSROOT}/lib -L${COOKBOOK_SYSROOT}/lib" + export RUSTFLAGS="-C target-feature=-crt-static" + export COOKBOOK_DYNAMIC=1 +} + +# Build both dynamically and statically +function DYNAMIC_STATIC_INIT { + DYNAMIC_INIT + if [ "${COOKBOOK_DYNAMIC}" == "1" ] + then + COOKBOOK_CONFIGURE_FLAGS=( + --host="${GNU_TARGET}" + --prefix="/usr" + --enable-shared + --enable-static + ) + + COOKBOOK_CMAKE_FLAGS=( + -DBUILD_SHARED_LIBS=True + -DENABLE_SHARED=True + -DENABLE_STATIC=True + ) + + COOKBOOK_MESON_FLAGS=( + --buildtype release + --wrap-mode nofallback + --strip + -Ddefault_library=both + -Dprefix=/usr + ) + fi +} + +function GNU_CONFIG_GET { + wget -O "$1" "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false" +} +"#; + +pub(crate) static GIT_RESET_BRANCH: &str = r#" +ORIGIN_BRANCH="$(git branch --remotes | grep '^ origin/HEAD -> ' | cut -d ' ' -f 5-)" +if [ -n "$BRANCH" ] +then + ORIGIN_BRANCH="origin/$BRANCH" +fi + +if [ "$(git rev-parse HEAD)" != "$(git rev-parse $ORIGIN_BRANCH)" ] +then + git checkout -B "$(echo "$ORIGIN_BRANCH" | cut -d / -f 2-)" "$ORIGIN_BRANCH" +fi"#; diff --git a/src/lib.rs b/src/lib.rs index cfad4bc49..cef82ad06 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,6 @@ pub mod blake3; pub mod config; +pub mod cook; pub mod recipe; mod progress_bar; From 59c9eeff3ecc728e2f3a6d762568c48723dff13a Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sat, 11 Oct 2025 16:37:16 +0700 Subject: [PATCH 139/182] Mention source blake3 if error --- src/cook/fetch.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs index dc44bb314..667c855b2 100644 --- a/src/cook/fetch.rs +++ b/src/cook/fetch.rs @@ -56,7 +56,7 @@ pub fn fetch_offline(recipe_dir: &Path, source: &Option) -> Result if source_tar.exists() { if let Some(blake3) = blake3 { if source_tar_blake3 != *blake3 { - return Err(format!("The downloaded tar blake3 is not match and unable to continue in offline mode.")); + return Err(format!("The downloaded tar blake3 '{source_tar_blake3}' is not equal to blake3 in recipe.toml.")); } fetch_extract_tar(source_tar, &source_dir)?; fetch_apply_patches(recipe_dir, patches, script, &source_dir)?; @@ -220,9 +220,6 @@ pub fn fetch(recipe_dir: &Path, source: &Option) -> Result) -> Result Date: Sat, 11 Oct 2025 20:26:02 +0700 Subject: [PATCH 140/182] Update rust edition and use redox-pkg from crates io --- Cargo.lock | 196 +++++++++++++++-------------------- Cargo.toml | 4 +- src/bin/cook.rs | 4 +- src/bin/repo_builder.rs | 2 +- src/{cook/mod.rs => cook.rs} | 0 src/cook/fetch.rs | 4 +- src/recipe.rs | 4 +- 7 files changed, 92 insertions(+), 122 deletions(-) rename src/{cook/mod.rs => cook.rs} (100%) diff --git a/Cargo.lock b/Cargo.lock index 0dd230b58..ce7dbe514 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -642,11 +642,11 @@ dependencies = [ [[package]] name = "dirs" -version = "5.0.1" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" dependencies = [ - "dirs-sys 0.4.1", + "dirs-sys 0.5.0", ] [[package]] @@ -656,20 +656,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" dependencies = [ "libc", - "redox_users", + "redox_users 0.4.6", "winapi", ] [[package]] name = "dirs-sys" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users", - "windows-sys 0.48.0", + "redox_users 0.5.2", + "windows-sys 0.60.2", ] [[package]] @@ -1830,31 +1830,15 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "436d45c2b6a5b159d43da708e62b25be3a4a3d5550d654b72216ade4c4bfd717" -[[package]] -name = "redox-pkg" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f49b2c29ae3c72ff3a8dbc1c5eefba9093a8c5ceaa8ca5292833816fe931e2" -dependencies = [ - "anyhow", - "indicatif", - "pkgar 0.1.18", - "pkgar-core 0.1.18", - "pkgar-keys 0.1.18", - "reqwest", - "serde", - "serde_derive", - "thiserror 1.0.69", - "toml 0.8.23", -] - [[package]] name = "redox-pkg" version = "0.2.8" -source = "git+https://gitlab.redox-os.org/redox-os/pkgutils#ea2641126c8b38d7b8997c5c7ebec74999fc9578" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d50a7ed267e236ce8bfa178bfd3fb7a39765689d037e51c57f36bad46f474fd" dependencies = [ "anyhow", "ignore", + "indicatif", "pkgar 0.1.18", "pkgar-core 0.1.18", "pkgar-keys 0.1.18", @@ -1886,7 +1870,7 @@ dependencies = [ "pkgar 0.1.19", "pkgar-core 0.1.19", "pkgar-keys 0.1.19", - "redox-pkg 0.2.8", + "redox-pkg", "redoxer", "regex", "serde", @@ -1913,7 +1897,7 @@ dependencies = [ "pkgar-core 0.1.18", "pkgar-keys 0.1.18", "rand 0.8.5", - "redox-pkg 0.2.5", + "redox-pkg", "redox_liner", "redox_syscall", "redoxfs", @@ -1965,18 +1949,29 @@ dependencies = [ ] [[package]] -name = "redoxer" -version = "0.2.53" +name = "redox_users" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5558ef5ce386b5a4b7d5276467d940023b31c5a85484a05ac35b31da4055d740" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ - "dirs 5.0.1", + "getrandom 0.2.16", + "libredox", + "thiserror 2.0.12", +] + +[[package]] +name = "redoxer" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ead20eb76f54e16ecc3e678daca948d49497588a777148ac60d99a67dab8a2b0" +dependencies = [ + "dirs 6.0.0", "proc-mounts", "redox_installer", "redox_syscall", "redoxfs", "tempfile", - "toml 0.5.11", + "toml 0.9.5", ] [[package]] @@ -2274,6 +2269,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -2547,15 +2551,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - [[package]] name = "toml" version = "0.8.23" @@ -2563,11 +2558,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_edit", ] +[[package]] +name = "toml" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" +dependencies = [ + "indexmap", + "serde", + "serde_spanned 1.0.0", + "toml_datetime 0.7.0", + "toml_parser", + "toml_writer", + "winnow", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -2577,6 +2587,15 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" +dependencies = [ + "serde", +] + [[package]] name = "toml_edit" version = "0.22.27" @@ -2585,18 +2604,33 @@ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap", "serde", - "serde_spanned", - "toml_datetime", + "serde_spanned 0.6.9", + "toml_datetime 0.6.11", "toml_write", "winnow", ] +[[package]] +name = "toml_parser" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" +dependencies = [ + "winnow", +] + [[package]] name = "toml_write" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +[[package]] +name = "toml_writer" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" + [[package]] name = "tower" version = "0.5.2" @@ -2924,7 +2958,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -3001,15 +3035,6 @@ dependencies = [ "windows-targets 0.42.2", ] -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-sys" version = "0.52.0" @@ -3052,21 +3077,6 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - [[package]] name = "windows-targets" version = "0.52.6" @@ -3105,12 +3115,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -3129,12 +3133,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -3153,12 +3151,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -3189,12 +3181,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -3213,12 +3199,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -3237,12 +3217,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -3261,12 +3235,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" diff --git a/Cargo.toml b/Cargo.toml index b334424a6..e163cf5e1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "redox_cookbook" version = "0.1.0" authors = ["Jeremy Soller "] -edition = "2018" +edition = "2024" default-run = "cook" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -28,7 +28,7 @@ pbr = "1.0.2" pkgar = { path = "pkgar/pkgar" } pkgar-core = { path = "pkgar/pkgar-core" } pkgar-keys = { path = "pkgar/pkgar-keys" } -redox-pkg = { git = "https://gitlab.redox-os.org/redox-os/pkgutils" } +redox-pkg = "0.2.8" redoxer = "0.2" regex = "1.11" serde = { version = "=1.0.197", features = ["derive"] } diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 90315b4ee..7bc3502fe 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -4,7 +4,7 @@ use cookbook::cook::fs::*; use cookbook::cook::script::SHARED_PRESCRIPT; use cookbook::recipe::{AutoDeps, BuildKind, CookRecipe, Recipe}; use pkg::package::Package; -use pkg::{recipes, PackageName}; +use pkg::{PackageName, recipes}; use std::collections::VecDeque; use std::convert::TryInto; use std::{ @@ -17,7 +17,7 @@ use std::{ }; use termion::{color, style}; -use cookbook::{is_redox, WALK_DEPTH}; +use cookbook::{WALK_DEPTH, is_redox}; fn auto_deps( stage_dir: &Path, diff --git a/src/bin/repo_builder.rs b/src/bin/repo_builder.rs index 8f1f0ac9c..a94123df1 100644 --- a/src/bin/repo_builder.rs +++ b/src/bin/repo_builder.rs @@ -1,5 +1,5 @@ use cookbook::WALK_DEPTH; -use pkg::{recipes, Package, PackageName}; +use pkg::{Package, PackageName, recipes}; use std::collections::{BTreeMap, HashMap}; use std::env; use std::fs::{self, File}; diff --git a/src/cook/mod.rs b/src/cook.rs similarity index 100% rename from src/cook/mod.rs rename to src/cook.rs diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs index 667c855b2..c076d4e2d 100644 --- a/src/cook/fetch.rs +++ b/src/cook/fetch.rs @@ -56,7 +56,9 @@ pub fn fetch_offline(recipe_dir: &Path, source: &Option) -> Result if source_tar.exists() { if let Some(blake3) = blake3 { if source_tar_blake3 != *blake3 { - return Err(format!("The downloaded tar blake3 '{source_tar_blake3}' is not equal to blake3 in recipe.toml.")); + return Err(format!( + "The downloaded tar blake3 '{source_tar_blake3}' is not equal to blake3 in recipe.toml." + )); } fetch_extract_tar(source_tar, &source_dir)?; fetch_apply_patches(recipe_dir, patches, script, &source_dir)?; diff --git a/src/recipe.rs b/src/recipe.rs index 43b616575..ff71fd5b0 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -1,10 +1,10 @@ use std::{collections::BTreeSet, convert::TryInto, fs, path::PathBuf}; -use pkg::{package::PackageError, recipes, PackageName}; +use pkg::{PackageName, package::PackageError, recipes}; use regex::Regex; use serde::{ - de::{value::Error as DeError, Error as DeErrorT}, Deserialize, Serialize, + de::{Error as DeErrorT, value::Error as DeError}, }; use crate::WALK_DEPTH; From 25dd3b79a157bb14554d640e1f70c5509b13bc63 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sat, 11 Oct 2025 21:13:14 +0700 Subject: [PATCH 141/182] Don't show progress bar on normal read --- src/blake3.rs | 8 ++++++++ src/cook/fetch.rs | 15 ++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/blake3.rs b/src/blake3.rs index 746b829d1..0ac193180 100644 --- a/src/blake3.rs +++ b/src/blake3.rs @@ -21,3 +21,11 @@ pub fn blake3_progress>(path: P) -> Result { Ok(res) } + +pub fn blake3_silent>(path: P) -> Result { + let mut f = fs::File::open(&path)?; + + let hash = Hasher::new().update_reader(&mut f)?.finalize(); + let res = format!("{}", hash.to_hex()); + Ok(res) +} diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs index c076d4e2d..bb950ac44 100644 --- a/src/cook/fetch.rs +++ b/src/cook/fetch.rs @@ -3,13 +3,18 @@ use crate::cook::fs::*; use crate::cook::script::*; use crate::is_redox; use crate::recipe::Recipe; -use crate::{blake3::blake3_progress, recipe::SourceRecipe}; +use crate::{blake3, recipe::SourceRecipe}; use std::fs; use std::path::{Path, PathBuf}; use std::process::Command; -pub(crate) fn get_blake3(path: &PathBuf) -> Result { - blake3_progress(&path).map_err(|err| { +pub(crate) fn get_blake3(path: &PathBuf, show_progress: bool) -> Result { + if show_progress { + blake3::blake3_progress(&path) + } else { + blake3::blake3_silent(&path) + } + .map_err(|err| { format!( "failed to calculate blake3 of '{}': {}\n{:?}", path.display(), @@ -52,7 +57,7 @@ pub fn fetch_offline(recipe_dir: &Path, source: &Option) -> Result }) => { if !source_dir.is_dir() { let source_tar = recipe_dir.join("source.tar"); - let source_tar_blake3 = get_blake3(&source_tar)?; + let source_tar_blake3 = get_blake3(&source_tar, true)?; if source_tar.exists() { if let Some(blake3) = blake3 { if source_tar_blake3 != *blake3 { @@ -237,7 +242,7 @@ pub fn fetch(recipe_dir: &Path, source: &Option) -> Result Date: Sat, 11 Oct 2025 21:24:52 +0700 Subject: [PATCH 142/182] Tell if source removed --- src/cook/fetch.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs index bb950ac44..08d241c03 100644 --- a/src/cook/fetch.rs +++ b/src/cook/fetch.rs @@ -268,6 +268,7 @@ pub fn fetch(recipe_dir: &Path, source: &Option) -> Result Date: Sat, 11 Oct 2025 21:28:18 +0700 Subject: [PATCH 143/182] Tell if tar removed --- src/cook/fetch.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs index 08d241c03..21f45daa0 100644 --- a/src/cook/fetch.rs +++ b/src/cook/fetch.rs @@ -250,6 +250,7 @@ pub fn fetch(recipe_dir: &Path, source: &Option) -> Result Date: Sat, 11 Oct 2025 22:20:40 +0700 Subject: [PATCH 144/182] Fix mirror config readme and tell config errors --- README.md | 6 +++--- src/config.rs | 35 +++++++++++++++++++---------------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 7cba4907c..9da5af7b7 100644 --- a/README.md +++ b/README.md @@ -31,9 +31,9 @@ Cookbook has special config to avoid repetitive args, place this file into `cook # This is a configuration file to avoid repetitively spelling command args. # At the moment only mirrors here implemented but in future it will be expanded when scripts are rusted -[[mirrors]] -# https://www.gnu.org/prep/ftp.en.html -"ftp.gnu.com" = "example.com/gnu" +[mirrors] +# see list of GNU FTP mirrors at https://www.gnu.org/prep/ftp.en.html +"ftp.gnu.org/gnu" = "example.com/gnu" "github.com/foo/bar" = "github.com/baz/bar" ``` diff --git a/src/config.rs b/src/config.rs index fb07ce2aa..54d6f8370 100644 --- a/src/config.rs +++ b/src/config.rs @@ -10,9 +10,15 @@ pub struct CookbookConfig { static CONFIG: OnceLock = OnceLock::new(); pub fn init_config() { - let config: CookbookConfig = { - let toml_content = fs::read_to_string("cookbook.toml").unwrap_or("".to_owned()); - toml::from_str(&toml_content).unwrap_or(CookbookConfig::default()) + let config: CookbookConfig = if fs::exists("cookbook.toml").unwrap_or(false) { + let toml_content = fs::read_to_string("cookbook.toml") + .map_err(|e| format!("Unable to read config: {:?}", e)) + .unwrap(); + toml::from_str(&toml_content) + .map_err(|e| format!("Unable to parse config: {:?}", e)) + .unwrap() + } else { + CookbookConfig::default() }; CONFIG.set(config).expect("config is initialized twice"); @@ -57,16 +63,13 @@ mod tests { use super::*; fn setup_test_config() { - let mut mirrors = HashMap::new(); - mirrors.insert("ftp.gnu.com".to_string(), "example.com/gnu".to_string()); - mirrors.insert( - "github.com/foo/bar".to_string(), - "github.com/baz/bar".to_string(), - ); - mirrors.insert("github.com/a".to_string(), "github.com/b".to_string()); - - let app_config = CookbookConfig { mirrors }; - + let app_config = toml::from_str( + "[mirrors]\n\ + \"ftp.gnu.org/gnu\" = \"example.com/gnu\"\n\ + \"github.com/foo/bar\" = \"github.com/baz/bar\"\n\ + \"github.com/a\" = \"github.com/b\"\n", + ) + .expect("Unable to parse test config"); // This will be called for each test. If the config is already set, // it will do nothing, which is fine as all tests use the same config. let _ = CONFIG.set(app_config); @@ -75,7 +78,7 @@ mod tests { #[test] fn test_exact_match() { setup_test_config(); - assert_eq!(translate_mirror("ftp.gnu.com"), "example.com/gnu"); + assert_eq!(translate_mirror("ftp.gnu.org/gnu"), "example.com/gnu"); assert_eq!(translate_mirror("github.com/foo/bar"), "github.com/baz/bar"); } @@ -87,8 +90,8 @@ mod tests { "https://github.com/b/c" ); assert_eq!( - translate_mirror("https://ftp.gnu.com/path/to/file"), - "https://example.com/gnu/path/to/file" + translate_mirror("https://ftp.gnu.org/gnu/bash/bash-5.2.15.tar.gz"), + "https://example.com/gnu/bash/bash-5.2.15.tar.gz" ); } From 11ef884ba9532139acbe6da760949611d52327fb Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sat, 11 Oct 2025 20:25:59 -0300 Subject: [PATCH 145/182] Add recipes --- recipes/wip/dev/analysis/debtmap/recipe.toml | 5 +++++ recipes/wip/dev/lang/goiaba/recipe.toml | 5 +++++ recipes/wip/games/puzzle/conduit/recipe.toml | 5 +++++ recipes/wip/net/other/phantun/recipe.toml | 8 ++++++++ recipes/wip/net/other/sandhole/recipe.toml | 5 +++++ recipes/wip/net/sharing/hakanai/recipe.toml | 11 +++++++++++ recipes/wip/news/feedr/recipe.toml | 5 +++++ recipes/wip/terminal/pay-respects/recipe.toml | 8 ++++++++ recipes/wip/text/blogr/recipe.toml | 8 ++++++++ recipes/wip/text/nanorust/recipe.toml | 5 +++++ 10 files changed, 65 insertions(+) create mode 100644 recipes/wip/dev/analysis/debtmap/recipe.toml create mode 100644 recipes/wip/dev/lang/goiaba/recipe.toml create mode 100644 recipes/wip/games/puzzle/conduit/recipe.toml create mode 100644 recipes/wip/net/other/phantun/recipe.toml create mode 100644 recipes/wip/net/other/sandhole/recipe.toml create mode 100644 recipes/wip/net/sharing/hakanai/recipe.toml create mode 100644 recipes/wip/news/feedr/recipe.toml create mode 100644 recipes/wip/terminal/pay-respects/recipe.toml create mode 100644 recipes/wip/text/blogr/recipe.toml create mode 100644 recipes/wip/text/nanorust/recipe.toml diff --git a/recipes/wip/dev/analysis/debtmap/recipe.toml b/recipes/wip/dev/analysis/debtmap/recipe.toml new file mode 100644 index 000000000..11a61f1ea --- /dev/null +++ b/recipes/wip/dev/analysis/debtmap/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/iepathos/debtmap" +[build] +template = "cargo" diff --git a/recipes/wip/dev/lang/goiaba/recipe.toml b/recipes/wip/dev/lang/goiaba/recipe.toml new file mode 100644 index 000000000..9bbecea18 --- /dev/null +++ b/recipes/wip/dev/lang/goiaba/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/raphamorim/goiaba" +[build] +template = "cargo" diff --git a/recipes/wip/games/puzzle/conduit/recipe.toml b/recipes/wip/games/puzzle/conduit/recipe.toml new file mode 100644 index 000000000..81dcde1ee --- /dev/null +++ b/recipes/wip/games/puzzle/conduit/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/WizCrab/conduit-cli-game" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/phantun/recipe.toml b/recipes/wip/net/other/phantun/recipe.toml new file mode 100644 index 000000000..aa548676e --- /dev/null +++ b/recipes/wip/net/other/phantun/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/dndx/phantun" +[build] +template = "custom" +script = """ +cookbook_cargo_packages phantun +""" diff --git a/recipes/wip/net/other/sandhole/recipe.toml b/recipes/wip/net/other/sandhole/recipe.toml new file mode 100644 index 000000000..e87de1841 --- /dev/null +++ b/recipes/wip/net/other/sandhole/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/EpicEric/sandhole" +[build] +template = "cargo" diff --git a/recipes/wip/net/sharing/hakanai/recipe.toml b/recipes/wip/net/sharing/hakanai/recipe.toml new file mode 100644 index 000000000..ca4fdbab9 --- /dev/null +++ b/recipes/wip/net/sharing/hakanai/recipe.toml @@ -0,0 +1,11 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/czerwonk/hakanai" +[build] +template = "custom" +dependencies = [ + "openssl3" +] +script = """ +cookbook_cargo_packages hakanai hakanai-server +""" diff --git a/recipes/wip/news/feedr/recipe.toml b/recipes/wip/news/feedr/recipe.toml new file mode 100644 index 000000000..d9d708846 --- /dev/null +++ b/recipes/wip/news/feedr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bahdotsh/feedr" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/pay-respects/recipe.toml b/recipes/wip/terminal/pay-respects/recipe.toml new file mode 100644 index 000000000..1892867a4 --- /dev/null +++ b/recipes/wip/terminal/pay-respects/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/iffse/pay-respects" +[build] +template = "custom" +script = """ +cookbook_cargo_packages pay-respects +""" diff --git a/recipes/wip/text/blogr/recipe.toml b/recipes/wip/text/blogr/recipe.toml new file mode 100644 index 000000000..1f703492f --- /dev/null +++ b/recipes/wip/text/blogr/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/bahdotsh/blogr" +[build] +template = "custom" +script = """ +cookbook_cargo_packages blogr-cli +""" diff --git a/recipes/wip/text/nanorust/recipe.toml b/recipes/wip/text/nanorust/recipe.toml new file mode 100644 index 000000000..616849da5 --- /dev/null +++ b/recipes/wip/text/nanorust/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Supakornn/nanorust" +[build] +template = "cargo" From 87062a0b12d636e8a7d8b820c1559d08c0bf563d Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sat, 11 Oct 2025 20:58:11 -0300 Subject: [PATCH 146/182] Add recipes --- recipes/wip/dev/hw/recipe.toml | 20 ++++++++++++++++++++ recipes/wip/net/other/agnos/recipe.toml | 5 +++++ recipes/wip/net/other/rlt/recipe.toml | 8 ++++++++ recipes/wip/net/other/wstunnel/recipe.toml | 8 ++++++++ recipes/wip/security/tyr/recipe.toml | 5 +++++ recipes/wip/sound/lookas/recipe.toml | 5 +++++ 6 files changed, 51 insertions(+) create mode 100644 recipes/wip/dev/hw/recipe.toml create mode 100644 recipes/wip/net/other/agnos/recipe.toml create mode 100644 recipes/wip/net/other/rlt/recipe.toml create mode 100644 recipes/wip/net/other/wstunnel/recipe.toml create mode 100644 recipes/wip/security/tyr/recipe.toml create mode 100644 recipes/wip/sound/lookas/recipe.toml diff --git a/recipes/wip/dev/hw/recipe.toml b/recipes/wip/dev/hw/recipe.toml new file mode 100644 index 000000000..e3361580c --- /dev/null +++ b/recipes/wip/dev/hw/recipe.toml @@ -0,0 +1,20 @@ +#TODO not compiled or tested +# build instructions: https://librepcb.org/docs/installation/build-from-sources/ +# commented out optional dependencies +[source] +git = "https://github.com/LibrePCB/LibrePCB" +rev = "77db4fda7f5df5d058bfc5d2fae3072bb30c8402" +[build] +template = "cmake" +cmakeflags = [ + "-DUSE_GLU=0", + "-DUSE_OPENCASCADE=0", +] +dependencies = [ + "qt6-base", + "qt6-imageformats", + "openssl3", + "zlib", + #"opencascade", + #"mesa-glu", +] diff --git a/recipes/wip/net/other/agnos/recipe.toml b/recipes/wip/net/other/agnos/recipe.toml new file mode 100644 index 000000000..e1a0cb687 --- /dev/null +++ b/recipes/wip/net/other/agnos/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/krtab/agnos" +[build] +template = "cargo" diff --git a/recipes/wip/net/other/rlt/recipe.toml b/recipes/wip/net/other/rlt/recipe.toml new file mode 100644 index 000000000..6efa1867e --- /dev/null +++ b/recipes/wip/net/other/rlt/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kaichaosun/rlt" +[build] +template = "custom" +script = """ +cookbook_cargo_packages localtunnel localtunnel-client localtunnel-server +""" diff --git a/recipes/wip/net/other/wstunnel/recipe.toml b/recipes/wip/net/other/wstunnel/recipe.toml new file mode 100644 index 000000000..8e67e67f6 --- /dev/null +++ b/recipes/wip/net/other/wstunnel/recipe.toml @@ -0,0 +1,8 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/erebe/wstunnel" +[build] +template = "custom" +script = """ +cookbook_cargo_packages wstunnel-cli +""" diff --git a/recipes/wip/security/tyr/recipe.toml b/recipes/wip/security/tyr/recipe.toml new file mode 100644 index 000000000..29b21d9fb --- /dev/null +++ b/recipes/wip/security/tyr/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://gitlab.com/cyberactivity/tyr" +[build] +template = "cargo" diff --git a/recipes/wip/sound/lookas/recipe.toml b/recipes/wip/sound/lookas/recipe.toml new file mode 100644 index 000000000..a46c714f8 --- /dev/null +++ b/recipes/wip/sound/lookas/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/rccyx/lookas" +[build] +template = "cargo" From 5807062d57ba61be59f7942609a28b689a9e89b8 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 11 Oct 2025 21:05:44 -0600 Subject: [PATCH 147/182] bottom: use fork --- recipes/wip/monitors/bottom/recipe.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/wip/monitors/bottom/recipe.toml b/recipes/wip/monitors/bottom/recipe.toml index 1032de526..530c4186f 100644 --- a/recipes/wip/monitors/bottom/recipe.toml +++ b/recipes/wip/monitors/bottom/recipe.toml @@ -1,5 +1,6 @@ -#TODO starship-battery crate compilation error +#TODO missing data [source] -git = "https://github.com/ClementTsang/bottom" +git = "https://github.com/jackpot51/bottom" + [build] template = "cargo" From 9399bbef22908fb0fcad0c295993ac85b930ad1d Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sun, 12 Oct 2025 18:07:49 -0300 Subject: [PATCH 148/182] Add recipes --- recipes/wip/files/lsv/recipe.toml | 5 +++++ recipes/wip/lang/uroman-rs/recipe.toml | 5 +++++ recipes/wip/terminal/fsel/recipe.toml | 5 +++++ recipes/wip/terminal/otter-launcher/recipe.toml | 10 ++++++++++ 4 files changed, 25 insertions(+) create mode 100644 recipes/wip/files/lsv/recipe.toml create mode 100644 recipes/wip/lang/uroman-rs/recipe.toml create mode 100644 recipes/wip/terminal/fsel/recipe.toml create mode 100644 recipes/wip/terminal/otter-launcher/recipe.toml diff --git a/recipes/wip/files/lsv/recipe.toml b/recipes/wip/files/lsv/recipe.toml new file mode 100644 index 000000000..bfc4defe3 --- /dev/null +++ b/recipes/wip/files/lsv/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/SecretDeveloper/lsv" +[build] +template = "cargo" diff --git a/recipes/wip/lang/uroman-rs/recipe.toml b/recipes/wip/lang/uroman-rs/recipe.toml new file mode 100644 index 000000000..8ca4ef102 --- /dev/null +++ b/recipes/wip/lang/uroman-rs/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/stellanomia/uroman-rs" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/fsel/recipe.toml b/recipes/wip/terminal/fsel/recipe.toml new file mode 100644 index 000000000..227bad501 --- /dev/null +++ b/recipes/wip/terminal/fsel/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/Mjoyufull/fsel" +[build] +template = "cargo" diff --git a/recipes/wip/terminal/otter-launcher/recipe.toml b/recipes/wip/terminal/otter-launcher/recipe.toml new file mode 100644 index 000000000..3b4c4a7b5 --- /dev/null +++ b/recipes/wip/terminal/otter-launcher/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/kuokuo123/otter-launcher" +[build] +template = "custom" +script = """ +cookbook_cargo +mkdir -pv "${COOKBOOK_STAGE}/usr/share/otter-launcher" +cp -rv "${COOKBOOK_SOURCE}"/contrib/* "${COOKBOOK_STAGE}/usr/share/otter-launcher" +""" From dcc49081a260bd9ed98474e7fc5635feea89e1b0 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sun, 12 Oct 2025 18:26:25 -0300 Subject: [PATCH 149/182] Try to fix more CMake-based recipes --- .../wip/libs/other/libseexpr-kde/recipe.toml | 20 +++----------- recipes/wip/libs/other/libsoundio/recipe.toml | 20 +++----------- recipes/wip/libs/other/libspdlog/recipe.toml | 19 ++------------ recipes/wip/libs/other/libsrt/recipe.toml | 3 ++- recipes/wip/libs/other/libssh/recipe.toml | 20 +++----------- .../wip/libs/other/liburiparser/recipe.toml | 19 ++------------ .../wip/libs/other/libvncserver/recipe.toml | 26 +++++-------------- recipes/wip/libs/other/libvulkan/recipe.toml | 21 +++------------ .../wip/libs/other/libwebsockets/recipe.toml | 19 ++------------ recipes/wip/libs/other/libxsimd/recipe.toml | 20 +++----------- 10 files changed, 30 insertions(+), 157 deletions(-) diff --git a/recipes/wip/libs/other/libseexpr-kde/recipe.toml b/recipes/wip/libs/other/libseexpr-kde/recipe.toml index 39d010df2..6c7b11b61 100644 --- a/recipes/wip/libs/other/libseexpr-kde/recipe.toml +++ b/recipes/wip/libs/other/libseexpr-kde/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://invent.kde.org/graphics/kseexpr#super-impatient-cmake-building-and-installing-guide +#TODO not compiled or tested +# build instructions: https://invent.kde.org/graphics/kseexpr#super-impatient-cmake-building-and-installing-guide [source] git = "https://invent.kde.org/graphics/kseexpr" rev = "d834b2dc6a7f452ffca4602f90b709db86a3a630" [build] -template = "custom" +template = "cmake" dependencies = [ "qt5-base", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libsoundio/recipe.toml b/recipes/wip/libs/other/libsoundio/recipe.toml index 80a4e0fcb..31c835d4d 100644 --- a/recipes/wip/libs/other/libsoundio/recipe.toml +++ b/recipes/wip/libs/other/libsoundio/recipe.toml @@ -1,21 +1,7 @@ -#TODO probably wrong script, see https://github.com/andrewrk/libsoundio#building +#TODO not compiled or tested +# build instructions: https://github.com/andrewrk/libsoundio#building [source] git = "https://github.com/andrewrk/libsoundio" rev = "dc4f84339039ac518b6cd1c0e7683e88e25be470" [build] -template = "custom" -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libspdlog/recipe.toml b/recipes/wip/libs/other/libspdlog/recipe.toml index 79400034d..295574a8c 100644 --- a/recipes/wip/libs/other/libspdlog/recipe.toml +++ b/recipes/wip/libs/other/libspdlog/recipe.toml @@ -1,20 +1,5 @@ -#TODO maybe incomplete script +#TODO not compiled or tested [source] git = "https://github.com/gabime/spdlog" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libsrt/recipe.toml b/recipes/wip/libs/other/libsrt/recipe.toml index d163fd078..cd8b2a748 100644 --- a/recipes/wip/libs/other/libsrt/recipe.toml +++ b/recipes/wip/libs/other/libsrt/recipe.toml @@ -1,4 +1,5 @@ -#TODO CMake error, see https://github.com/Haivision/srt/blob/master/docs/build/build-linux.md +#TODO CMake error +# build instructions: https://github.com/Haivision/srt/blob/master/docs/build/build-linux.md [source] git = "https://github.com/Haivision/srt" rev = "09f35c0f1743e23f514cb41444504a7faeacf89e" diff --git a/recipes/wip/libs/other/libssh/recipe.toml b/recipes/wip/libs/other/libssh/recipe.toml index b75d3a277..013570f22 100644 --- a/recipes/wip/libs/other/libssh/recipe.toml +++ b/recipes/wip/libs/other/libssh/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://git.libssh.org/projects/libssh.git/tree/INSTALL#n36 +#TODO not compiled or tested +# build instructions: https://git.libssh.org/projects/libssh.git/tree/INSTALL#n36 [source] tar = "https://www.libssh.org/files/0.10/libssh-0.10.6.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "zlib", "openssl1", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/liburiparser/recipe.toml b/recipes/wip/libs/other/liburiparser/recipe.toml index 73f68e7d3..c95d227da 100644 --- a/recipes/wip/libs/other/liburiparser/recipe.toml +++ b/recipes/wip/libs/other/liburiparser/recipe.toml @@ -1,20 +1,5 @@ -#TODO compilation error +#TODO not compiled or tested [source] tar = "https://github.com/uriparser/uriparser/releases/download/uriparser-0.9.8/uriparser-0.9.8.tar.bz2" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libvncserver/recipe.toml b/recipes/wip/libs/other/libvncserver/recipe.toml index b56fcdce0..058ff6cb8 100644 --- a/recipes/wip/libs/other/libvncserver/recipe.toml +++ b/recipes/wip/libs/other/libvncserver/recipe.toml @@ -1,28 +1,16 @@ -#TODO probably wrong script, see https://github.com/LibVNC/libvncserver#how-to-build +#TODO not compiled or tested +# build instructions: https://github.com/LibVNC/libvncserver#how-to-build [source] git = "https://github.com/LibVNC/libvncserver" rev = "10e9eb75f73e973725dc75c373de5d89807af028" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DWITH_OPENSSL=ON", + "-DWITH_GCRYPT=OFF", +] dependencies = [ "openssl1", "ffmpeg6", "libssh2", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DWITH_OPENSSL=ON - -DWITH_GCRYPT=OFF -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libvulkan/recipe.toml b/recipes/wip/libs/other/libvulkan/recipe.toml index 23a72a2de..b7630f7de 100644 --- a/recipes/wip/libs/other/libvulkan/recipe.toml +++ b/recipes/wip/libs/other/libvulkan/recipe.toml @@ -1,25 +1,10 @@ -#TODO probably wrong script, see https://github.com/KhronosGroup/Vulkan-Loader/blob/main/BUILD.md -#TODO port to orbital +#TODO not compiled or tested +# build instructions: https://github.com/KhronosGroup/Vulkan-Loader/blob/main/BUILD.md [source] git = "https://github.com/KhronosGroup/Vulkan-Loader" rev = "cf1a1eff115465b2425d287bef1e94ca62b0de1b" [build] -template = "custom" +template = "cmake" dependencies = [ "libxkbcommon", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libwebsockets/recipe.toml b/recipes/wip/libs/other/libwebsockets/recipe.toml index a878f665a..c99518a27 100644 --- a/recipes/wip/libs/other/libwebsockets/recipe.toml +++ b/recipes/wip/libs/other/libwebsockets/recipe.toml @@ -1,24 +1,9 @@ -#TODO maybe wrong script +#TODO not compiled or tested [source] git = "https://github.com/warmcat/libwebsockets" rev = "4415e84c095857629863804e941b9e1c2e9347ef" [build] -template = "custom" +template = "cmake" dependencies = [ "openssl1", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/libxsimd/recipe.toml b/recipes/wip/libs/other/libxsimd/recipe.toml index eb269b444..c2f013ce6 100644 --- a/recipes/wip/libs/other/libxsimd/recipe.toml +++ b/recipes/wip/libs/other/libxsimd/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/xtensor-stack/xsimd#install-from-sources +#TODO not compiled or tested +# build instructions: https://github.com/xtensor-stack/xsimd#install-from-sources [source] git = "https://github.com/xtensor-stack/xsimd" rev = "c1247bffa8fc36de7380a5cd42673a3b32f74c97" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" From b2f14333200973c6bcba38f3a957daea2fd9c1c7 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sun, 12 Oct 2025 18:37:40 -0300 Subject: [PATCH 150/182] Try to fix more CMake-based recipes --- recipes/wip/libs/other/libxtl/recipe.toml | 20 +++---------------- recipes/wip/libs/other/libzug/recipe.toml | 20 +++---------------- recipes/wip/libs/other/mimalloc/recipe.toml | 20 +++---------------- recipes/wip/libs/other/mlt/recipe.toml | 20 +++---------------- recipes/wip/libs/other/oidn/recipe.toml | 20 +++---------------- recipes/wip/libs/other/onednn/recipe.toml | 20 +++---------------- recipes/wip/libs/other/onetbb/recipe.toml | 20 +++---------------- .../wip/libs/other/opencolorio/recipe.toml | 20 +++---------------- recipes/wip/libs/other/opencv4/recipe.toml | 20 +++---------------- recipes/wip/libs/other/openexr/recipe.toml | 20 +++---------------- recipes/wip/libs/other/openjpeg/recipe.toml | 20 +++---------------- 11 files changed, 33 insertions(+), 187 deletions(-) diff --git a/recipes/wip/libs/other/libxtl/recipe.toml b/recipes/wip/libs/other/libxtl/recipe.toml index 4f93588d0..3c1a82981 100644 --- a/recipes/wip/libs/other/libxtl/recipe.toml +++ b/recipes/wip/libs/other/libxtl/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/xtensor-stack/xtl#install-from-sources +#TODO not compiled or tested +# build instructions: https://github.com/xtensor-stack/xtl#install-from-sources [source] git = "https://github.com/xtensor-stack/xtl" rev = "c95f6c8b13ffb7f74f16d3fd6882668b79bd8412" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/libzug/recipe.toml b/recipes/wip/libs/other/libzug/recipe.toml index cc550078d..378ad6a56 100644 --- a/recipes/wip/libs/other/libzug/recipe.toml +++ b/recipes/wip/libs/other/libzug/recipe.toml @@ -1,23 +1,9 @@ -#TODO maybe incomplete script, see https://github.com/arximboldi/zug#usage +#TODO not compiled or tested +# build instructions: https://github.com/arximboldi/zug#usage [source] git = "https://github.com/arximboldi/zug" [build] -template = "custom" +template = "cmake" dependencies = [ "boost", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/mimalloc/recipe.toml b/recipes/wip/libs/other/mimalloc/recipe.toml index 960c6168b..a2d0b0bf1 100644 --- a/recipes/wip/libs/other/mimalloc/recipe.toml +++ b/recipes/wip/libs/other/mimalloc/recipe.toml @@ -1,21 +1,7 @@ -#TODO probably wrong script, see https://github.com/microsoft/mimalloc#macos-linux-bsd-etc +#TODO not compiled or tested +# build instructions: https://github.com/microsoft/mimalloc#macos-linux-bsd-etc [source] git = "https://github.com/microsoft/mimalloc" rev = "43ce4bd7fd34bcc730c1c7471c99995597415488" [build] -template = "custom" -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/mlt/recipe.toml b/recipes/wip/libs/other/mlt/recipe.toml index 5fdc9d009..ca0822667 100644 --- a/recipes/wip/libs/other/mlt/recipe.toml +++ b/recipes/wip/libs/other/mlt/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://github.com/mltframework/mlt#readme +#TODO not compiled or tested +# build instructions: https://github.com/mltframework/mlt#readme [source] tar = "https://github.com/mltframework/mlt/releases/download/v7.22.0/mlt-7.22.0.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/oidn/recipe.toml b/recipes/wip/libs/other/oidn/recipe.toml index d3bb3241f..798cff299 100644 --- a/recipes/wip/libs/other/oidn/recipe.toml +++ b/recipes/wip/libs/other/oidn/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://github.com/OpenImageDenoise/oidn#compiling-on-linuxmacos +#TODO not compiled or tested +# build instructions: https://github.com/OpenImageDenoise/oidn#compiling-on-linuxmacos [source] git = "https://github.com/OpenImageDenoise/oidn" [build] -template = "custom" +template = "cmake" dependencies = [ "ispc", "onetbb", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/onednn/recipe.toml b/recipes/wip/libs/other/onednn/recipe.toml index e9bb9fca1..5ea551878 100644 --- a/recipes/wip/libs/other/onednn/recipe.toml +++ b/recipes/wip/libs/other/onednn/recipe.toml @@ -1,24 +1,10 @@ -#TODO maybe incomplete script, see https://oneapi-src.github.io/oneDNN/dev_guide_build.html#linux-macos +#TODO not compiled or tested +# build instructions: https://oneapi-src.github.io/oneDNN/dev_guide_build.html#linux-macos [source] git = "https://github.com/oneapi-src/oneDNN" rev = "16720eaaab9557158ff77ebf3bc610e9682928d6" [build] -template = "custom" +template = "cmake" dependencies = [ "onetbb", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/onetbb/recipe.toml b/recipes/wip/libs/other/onetbb/recipe.toml index 7fa5af42e..223a1d9e3 100644 --- a/recipes/wip/libs/other/onetbb/recipe.toml +++ b/recipes/wip/libs/other/onetbb/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/oneapi-src/oneTBB/blob/master/INSTALL.md +#TODO not compiled or tested +# build instructions: https://github.com/oneapi-src/oneTBB/blob/master/INSTALL.md [source] git = "https://github.com/oneapi-src/oneTBB" rev = "8b829acc65569019edb896c5150d427f288e8aba" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/opencolorio/recipe.toml b/recipes/wip/libs/other/opencolorio/recipe.toml index c4b7bb005..270ca315e 100644 --- a/recipes/wip/libs/other/opencolorio/recipe.toml +++ b/recipes/wip/libs/other/opencolorio/recipe.toml @@ -1,27 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://opencolorio.readthedocs.io/en/latest/quick_start/installation.html #TODO missing dependencies, see https://opencolorio.readthedocs.io/en/latest/quick_start/installation.html#dependencies -#TODO maybe incomplete script, see https://opencolorio.readthedocs.io/en/latest/quick_start/installation.html [source] git = "https://github.com/AcademySoftwareFoundation/OpenColorIO" rev = "92db29b9e7e298c4c2cc67c8a74944c2e7e716e5" [build] -template = "custom" +template = "cmake" dependencies = [ "expat", "imath", "zlib", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/opencv4/recipe.toml b/recipes/wip/libs/other/opencv4/recipe.toml index 8340c64eb..c2c16eac4 100644 --- a/recipes/wip/libs/other/opencv4/recipe.toml +++ b/recipes/wip/libs/other/opencv4/recipe.toml @@ -1,22 +1,8 @@ -#TODO probably wrong script, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] git = "https://github.com/opencv/opencv" rev = "49486f61fb25722cbcf586b7f4320921d46fb38e" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/openexr/recipe.toml b/recipes/wip/libs/other/openexr/recipe.toml index 0c8bceb66..f4e0aaaa7 100644 --- a/recipes/wip/libs/other/openexr/recipe.toml +++ b/recipes/wip/libs/other/openexr/recipe.toml @@ -1,25 +1,11 @@ -#TODO maybe incomplete script, see https://openexr.com/en/latest/install.html#linux-macos +#TODO not compiled or tested +# build instructions: https://openexr.com/en/latest/install.html#linux-macos [source] git = "https://github.com/AcademySoftwareFoundation/openexr" rev = "737b2707a001e67f3812d86a639c3d037efe2ea8" [build] -template = "custom" +template = "cmake" dependencies = [ "libdeflate", "libimath" ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/openjpeg/recipe.toml b/recipes/wip/libs/other/openjpeg/recipe.toml index a1f373320..0a3fe8699 100644 --- a/recipes/wip/libs/other/openjpeg/recipe.toml +++ b/recipes/wip/libs/other/openjpeg/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/uclouvain/openjpeg/blob/master/INSTALL.md +#TODO not compiled or tested +# build instructions: https://github.com/uclouvain/openjpeg/blob/master/INSTALL.md [source] git = "https://github.com/uclouvain/openjpeg" rev = "a5891555eb49ed7cc26b2901ea680acda136d811" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" From ac6ad70ca53e88b2f60127495c66b7bd9181df82 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sun, 12 Oct 2025 19:05:23 -0300 Subject: [PATCH 151/182] Try to fix more CMake-based recipes --- recipes/wip/libs/other/openvkl/recipe.toml | 20 +--- recipes/wip/libs/other/popt/recipe.toml | 20 +--- recipes/wip/libs/other/projectm/recipe.toml | 20 +--- recipes/wip/libs/other/pystring/recipe.toml | 20 +--- recipes/wip/libs/other/raylib/recipe.toml | 21 +--- recipes/wip/libs/other/scotch/recipe.toml | 20 +--- recipes/wip/libs/other/sdl2-net/recipe.toml | 20 +--- recipes/wip/libs/other/snappy/recipe.toml | 20 +--- recipes/wip/libs/other/taglib/recipe.toml | 20 +--- recipes/wip/libs/other/volk/recipe.toml | 20 +--- recipes/wip/libs/other/webkitgtk4/recipe.toml | 102 ++++++++++++++---- 11 files changed, 111 insertions(+), 192 deletions(-) diff --git a/recipes/wip/libs/other/openvkl/recipe.toml b/recipes/wip/libs/other/openvkl/recipe.toml index c4d82da5a..c027c3693 100644 --- a/recipes/wip/libs/other/openvkl/recipe.toml +++ b/recipes/wip/libs/other/openvkl/recipe.toml @@ -1,27 +1,13 @@ -#TODO maybe incomplete script, see https://github.com/openvkl/openvkl#building-open-vkl-from-source +#TODO not compiled or tested +# build instructions: https://github.com/openvkl/openvkl#building-open-vkl-from-source [source] git = "https://github.com/openvkl/openvkl" rev = "712bdb8035487606096d7af90a4c9bde5503515d" [build] -template = "custom" +template = "cmake" dependencies = [ "ispc", "librkcommon", "embree", "level-zero", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/popt/recipe.toml b/recipes/wip/libs/other/popt/recipe.toml index ccffe9137..98a185693 100644 --- a/recipes/wip/libs/other/popt/recipe.toml +++ b/recipes/wip/libs/other/popt/recipe.toml @@ -1,20 +1,6 @@ -#TODO probably wrong script, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] tar = "https://ftp.osuosl.org/pub/rpm/popt/releases/popt-1.x/popt-1.19.tar.gz" [build] -template = "custom" -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" \ No newline at end of file +template = "cmake" diff --git a/recipes/wip/libs/other/projectm/recipe.toml b/recipes/wip/libs/other/projectm/recipe.toml index 1240f1776..600f37601 100644 --- a/recipes/wip/libs/other/projectm/recipe.toml +++ b/recipes/wip/libs/other/projectm/recipe.toml @@ -1,25 +1,11 @@ -#TODO Probably wrong script, see https://github.com/projectM-visualizer/projectm/wiki/Building-libprojectM#build-and-install-projectm +#TODO not compiled or tested +# build instructions: https://github.com/projectM-visualizer/projectm/wiki/Building-libprojectM#build-and-install-projectm [source] git = "https://github.com/projectM-visualizer/projectm" rev = "422af469731559c32c93e9513cebf2fe6c2fec78" [build] -template = "custom" +template = "cmake" dependencies = [ "mesa", "qt5-base", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/pystring/recipe.toml b/recipes/wip/libs/other/pystring/recipe.toml index 3d66d82ad..8b0038462 100644 --- a/recipes/wip/libs/other/pystring/recipe.toml +++ b/recipes/wip/libs/other/pystring/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] git = "https://github.com/imageworks/pystring" rev = "7d16bc814ccb4cad03c300dcb77440034caa84f7" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/raylib/recipe.toml b/recipes/wip/libs/other/raylib/recipe.toml index cdd626f52..011342983 100644 --- a/recipes/wip/libs/other/raylib/recipe.toml +++ b/recipes/wip/libs/other/raylib/recipe.toml @@ -1,26 +1,11 @@ -#TODO port to Orbital -#TODO probably wrong script, see https://github.com/raysan5/raylib/wiki/Working-on-GNU-Linux +#TODO not compiled or tested +# build instructions: https://github.com/raysan5/raylib/wiki/Working-on-GNU-Linux [source] git = "https://github.com/raysan5/raylib" rev = "ae50bfa2cc569c0f8d5bc4315d39db64005b1b08" [build] -template = "custom" +template = "cmake" dependencies = [ "mesa", "libxkbcommon", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/scotch/recipe.toml b/recipes/wip/libs/other/scotch/recipe.toml index 2b28b4895..3cb29ed11 100644 --- a/recipes/wip/libs/other/scotch/recipe.toml +++ b/recipes/wip/libs/other/scotch/recipe.toml @@ -1,22 +1,8 @@ -#TODO maybe incomplete script, see https://gitlab.inria.fr/scotch/scotch#installation +#TODO not compiled or tested +# build instructions: https://gitlab.inria.fr/scotch/scotch#installation #TODO probably missing dependencies [source] git = "https://gitlab.inria.fr/scotch/scotch" rev = "82ec87f558f4acb7ccb69a079f531be380504c92" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/sdl2-net/recipe.toml b/recipes/wip/libs/other/sdl2-net/recipe.toml index f15233521..f4f335410 100644 --- a/recipes/wip/libs/other/sdl2-net/recipe.toml +++ b/recipes/wip/libs/other/sdl2-net/recipe.toml @@ -1,23 +1,9 @@ -#TODO probably wrong script, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] tar = "https://github.com/libsdl-org/SDL_net/releases/download/release-2.2.0/SDL2_net-2.2.0.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "sdl2", ] -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/other/snappy/recipe.toml b/recipes/wip/libs/other/snappy/recipe.toml index ba3623122..6dd1ed2be 100644 --- a/recipes/wip/libs/other/snappy/recipe.toml +++ b/recipes/wip/libs/other/snappy/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/google/snappy#building +#TODO not compiled or tested +# build instructions: https://github.com/google/snappy#building [source] git = "https://github.com/google/snappy" rev = "dc05e026488865bc69313a68bcc03ef2e4ea8e83" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/taglib/recipe.toml b/recipes/wip/libs/other/taglib/recipe.toml index 506164f09..d75e92c6e 100644 --- a/recipes/wip/libs/other/taglib/recipe.toml +++ b/recipes/wip/libs/other/taglib/recipe.toml @@ -1,20 +1,6 @@ -#TODO probably wrong script, see https://github.com/taglib/taglib/blob/master/INSTALL.md +#TODO not compiled or tested +# build instructions: https://github.com/taglib/taglib/blob/master/INSTALL.md [source] tar = "https://taglib.org/releases/taglib-1.13.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/volk/recipe.toml b/recipes/wip/libs/other/volk/recipe.toml index 656e4f7e0..4752dcaed 100644 --- a/recipes/wip/libs/other/volk/recipe.toml +++ b/recipes/wip/libs/other/volk/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://github.com/gnuradio/volk#building-on-most-x86-32-bit-and-64-bit-platforms +#TODO not compiled or tested +# build instructions: https://github.com/gnuradio/volk#building-on-most-x86-32-bit-and-64-bit-platforms [source] tar = "https://www.libvolk.org/releases/volk-3.0.0.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/other/webkitgtk4/recipe.toml b/recipes/wip/libs/other/webkitgtk4/recipe.toml index 442fe96a7..d46196276 100644 --- a/recipes/wip/libs/other/webkitgtk4/recipe.toml +++ b/recipes/wip/libs/other/webkitgtk4/recipe.toml @@ -1,40 +1,100 @@ -#TODO missing script for Ninja, see https://trac.webkit.org/wiki/BuildingGtk#BuildingWebKitGTKfromareleasetarball -#TODO port to orbital -#TODO missing dependencies, see https://archlinux.org/packages/extra/x86_64/webkitgtk-6.0/ +#TODO not compiled or tested [source] -tar = "https://webkitgtk.org/releases/webkitgtk-2.42.2.tar.xz" +tar = "https://webkitgtk.org/releases/webkitgtk-2.49.1.tar.xz" +blake3 = "7f04acb2f909ad334fc623afb297ebca1d5a5005bda1682946fb37e044e45ecb" +#patches = ["redox.patch"] + [build] template = "custom" dependencies = [ - "gtk4", + "atk", "cairo", + "expat", "fontconfig", "freetype2", + "fribidi", + "gdk-pixbuf", + "gettext", "glib", - "gstreamer", + #TODO "gstreamer", + "gtk4", "harfbuzz", - "libavif", - "mesa", "libepoxy", + "libatomic", + "libffi", "libgcrypt", + "libgpg-error", + "libiconv", + "libicu", + "libjpeg", "libpng", + "libpsl", + "libpthread-stubs", + "libsoup", + "libtasn1", "libwebp", + "libx11", + "libxau", + "libxcb", + "libxext", + "libxfixes", + "libxi", "libxml2", - "zlib", + "libxrandr", + "libxrender", + "libxslt", + "libxxf86vm", + "mesa-x11", + "nghttp2", + "pango", + "pcre2", + "pixman", + "shared-mime-info", "sqlite3", + "x11proto", + "xextproto", + "xz", + "zlib", ] script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" +DYNAMIC_INIT +export WEBKIT_USE_SCCACHE=1 +export PYTHONDONTWRITEBYTECODE=1 +#TODO: enable more features +COOKBOOK_CMAKE_FLAGS+=( + -DENABLE_ASSERTS=ON + -DENABLE_GAMEPAD=OFF + -DENABLE_INTROSPECTION=OFF + -DENABLE_MEDIA_STREAM=OFF + -DENABLE_JOURNALD_LOG=OFF + -DENABLE_RELEASE_LOG=ON + -DENABLE_SPEECH_SYNTHESIS=OFF + -DENABLE_SPELLCHECK=OFF + -DENABLE_WEB_AUDIO=OFF + -DENABLE_WEB_CODECS=OFF + -DENABLE_VIDEO=OFF + -DPORT=GTK + -DUNIX=1 + -DUSE_AVIF=OFF + -DUSE_GSTREAMER_GL=OFF + -DUSE_GTK4=ON + -DUSE_JPEGXL=OFF + -DUSE_LCMS=OFF + -DUSE_LIBBACKTRACE=OFF + -DUSE_LIBDRM=OFF + -DUSE_LIBHYPHEN=OFF + -DUSE_LIBSECRET=OFF + -DUSE_SKIA=OFF + -DUSE_SYSPROF_CAPTURE=OFF + -DUSE_SYSTEM_MALLOC=OFF + -DUSE_SYSTEM_SYSPROF_CAPTURE=OFF + -DUSE_WOFF2=OFF ) -cookbook_configure + +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" +ln -sr "${COOKBOOK_STAGE}/usr/libexec/webkit2gtk-4.1/MiniBrowser" "${COOKBOOK_STAGE}/usr/bin/MiniBrowser" """ From 4571365bcc91dfb1163b1715557fc1b3b6d441ef Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sun, 12 Oct 2025 19:34:06 -0300 Subject: [PATCH 152/182] Try to fix more CMake-based recipes --- recipes/wip/libs/qt5/qt5-webkit/recipe.toml | 22 +++------------ recipes/wip/libs/qt6/qt6-full/recipe.toml | 6 ++--- recipes/wip/libs/tls/mbedtls/recipe.toml | 21 +++------------ .../wip/libs/video/libmatroska/recipe.toml | 20 +++----------- .../libs/video/libopenshot-video/recipe.toml | 21 +++------------ recipes/wip/math/primesieve/recipe.toml | 20 +++----------- recipes/wip/monitors/conky/recipe.toml | 17 +++--------- .../transmission-daemon/recipe.toml | 20 +++----------- .../bittorrent/transmission-gtk/recipe.toml | 20 +++----------- .../wip/net/chat/telegram-desktop/recipe.toml | 23 +++------------- .../wip/net/download/parabolic/recipe.toml | 20 +++----------- recipes/wip/net/gemini/lagrange/recipe.toml | 27 ++++++------------- 12 files changed, 43 insertions(+), 194 deletions(-) diff --git a/recipes/wip/libs/qt5/qt5-webkit/recipe.toml b/recipes/wip/libs/qt5/qt5-webkit/recipe.toml index cf71dd2e0..d36dd52b6 100644 --- a/recipes/wip/libs/qt5/qt5-webkit/recipe.toml +++ b/recipes/wip/libs/qt5/qt5-webkit/recipe.toml @@ -1,10 +1,11 @@ -#TODO probably wrong branch -#TODO maybe incomplete script, see https://github.com/qtwebkit/qtwebkit/wiki/Building-QtWebKit-on-Linux +#TODO not compiled or tested +# build instructions: https://github.com/qtwebkit/qtwebkit/wiki/Building-QtWebKit-on-Linux #TODO determine dependencies +# probably wrong branch [source] git = "https://github.com/movableink/webkit" [build] -template = "custom" +template = "cmake" dependencies = [ "qt5-base", "qt5-guiaddons", @@ -25,18 +26,3 @@ dependencies = [ "glib", "gstreamer", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/libs/qt6/qt6-full/recipe.toml b/recipes/wip/libs/qt6/qt6-full/recipe.toml index 8dd76934a..feecc13ac 100644 --- a/recipes/wip/libs/qt6/qt6-full/recipe.toml +++ b/recipes/wip/libs/qt6/qt6-full/recipe.toml @@ -1,9 +1,9 @@ -#TODO port to Orbital -#TODO Missing script for GNU Autotools and CMake +#TODO not compiled or tested +# probably wrong template [source] tar = "https://download.qt.io/official_releases/qt/6.6/6.6.1/single/qt-everywhere-src-6.6.1.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "fontconfig", "freetype2", diff --git a/recipes/wip/libs/tls/mbedtls/recipe.toml b/recipes/wip/libs/tls/mbedtls/recipe.toml index efb6a3f58..42d21aac5 100644 --- a/recipes/wip/libs/tls/mbedtls/recipe.toml +++ b/recipes/wip/libs/tls/mbedtls/recipe.toml @@ -1,22 +1,7 @@ -#TODO probaly wrong script, see https://mbed-tls.readthedocs.io/en/latest/getting_started/building/#building-with-cmake -# They say that the CMake method is better than GNU make +#TODO not compiled or tested +# build instructions: https://mbed-tls.readthedocs.io/en/latest/getting_started/building/#building-with-cmake [source] git = "https://github.com/Mbed-TLS/mbedtls" rev = "edb8fec9882084344a314368ac7fd957a187519c" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/video/libmatroska/recipe.toml b/recipes/wip/libs/video/libmatroska/recipe.toml index a5b2b0ba8..4dc091649 100644 --- a/recipes/wip/libs/video/libmatroska/recipe.toml +++ b/recipes/wip/libs/video/libmatroska/recipe.toml @@ -1,20 +1,6 @@ -#TODO probably wrong script, see https://github.com/Matroska-Org/libmatroska#building-and-installing +#TODO not compiled or tested +# build instructions: https://github.com/Matroska-Org/libmatroska#building-and-installing [source] tar = "https://dl.matroska.org/downloads/libmatroska/libmatroska-1.7.1.tar.xz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/libs/video/libopenshot-video/recipe.toml b/recipes/wip/libs/video/libopenshot-video/recipe.toml index 0b861b24d..a203ccffd 100644 --- a/recipes/wip/libs/video/libopenshot-video/recipe.toml +++ b/recipes/wip/libs/video/libopenshot-video/recipe.toml @@ -1,10 +1,10 @@ -#TODO maybe incomplete script -#TODO determine dependencies - https://github.com/OpenShot/libopenshot/wiki/Linux-Build-Instructions +#TODO not compiled or tested +#TODO determine dependencies: https://github.com/OpenShot/libopenshot/wiki/Linux-Build-Instructions [source] git = "https://github.com/OpenShot/libopenshot" rev = "3170768e0ccbaad5b2a4696e84dd649738ec1a1b" [build] -template = "custom" +template = "cmake" dependencies = [ "libopenshot-audio", "ffmpeg6", @@ -17,18 +17,3 @@ dependencies = [ "babl", "imagemagick", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/math/primesieve/recipe.toml b/recipes/wip/math/primesieve/recipe.toml index b94f4301d..75b9866d3 100644 --- a/recipes/wip/math/primesieve/recipe.toml +++ b/recipes/wip/math/primesieve/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/kimwalisch/primesieve/blob/master/doc/BUILD.md +#TODO not compiled or tested +# build instructions: https://github.com/kimwalisch/primesieve/blob/master/doc/BUILD.md [source] git = "https://github.com/kimwalisch/primesieve" rev = "f3114488ddded8edf2c201e31ad308ed9e6a9f78" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/monitors/conky/recipe.toml b/recipes/wip/monitors/conky/recipe.toml index ca3945b36..3f0a2d44e 100644 --- a/recipes/wip/monitors/conky/recipe.toml +++ b/recipes/wip/monitors/conky/recipe.toml @@ -1,4 +1,5 @@ -#TODO probably wrong script, see https://conky.cc/documents/compiling +#TODO not compiled or tested +# build instructions: https://conky.cc/documents/compiling [source] git = "https://github.com/brndnmtthws/conky" rev = "bbdc7081aec27daafca07fc40523335a2ea0a992" @@ -12,17 +13,5 @@ dependencies = [ ] script = """ export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure +cookbook_cmake """ diff --git a/recipes/wip/net/bittorrent/transmission-daemon/recipe.toml b/recipes/wip/net/bittorrent/transmission-daemon/recipe.toml index 4e12ca4b3..867a34f86 100644 --- a/recipes/wip/net/bittorrent/transmission-daemon/recipe.toml +++ b/recipes/wip/net/bittorrent/transmission-daemon/recipe.toml @@ -1,24 +1,10 @@ -#TODO probably wrong script, see https://github.com/transmission/transmission/blob/main/docs/Building-Transmission.md#on-unix +#TODO not compiled or tested +# build instructions: https://github.com/transmission/transmission/blob/main/docs/Building-Transmission.md#on-unix [source] tar = "https://github.com/transmission/transmission/releases/download/4.0.6/transmission-4.0.6.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "openssl1", "curl", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/net/bittorrent/transmission-gtk/recipe.toml b/recipes/wip/net/bittorrent/transmission-gtk/recipe.toml index f365f3ce8..d4646b4ea 100644 --- a/recipes/wip/net/bittorrent/transmission-gtk/recipe.toml +++ b/recipes/wip/net/bittorrent/transmission-gtk/recipe.toml @@ -1,25 +1,11 @@ -#TODO probably wrong script, see https://github.com/transmission/transmission/blob/main/docs/Building-Transmission.md#on-unix +#TODO not compiled or tested +# build instructions: https://github.com/transmission/transmission/blob/main/docs/Building-Transmission.md#on-unix [source] tar = "https://github.com/transmission/transmission/releases/download/4.0.6/transmission-4.0.6.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "openssl1", "curl", "gtk3mm", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/net/chat/telegram-desktop/recipe.toml b/recipes/wip/net/chat/telegram-desktop/recipe.toml index 4774399b2..e8da71226 100644 --- a/recipes/wip/net/chat/telegram-desktop/recipe.toml +++ b/recipes/wip/net/chat/telegram-desktop/recipe.toml @@ -1,9 +1,9 @@ -#TODO probably wrong script, lacking build instructions -#TODO port to orbital +#TODO not compiled or tested +# lacking build instructions [source] -tar = "https://github.com/telegramdesktop/tdesktop/releases/download/v4.11.6/tdesktop-4.11.6-full.tar.gz" +tar = "https://github.com/telegramdesktop/tdesktop/releases/download/v6.2.3/tdesktop-6.2.3-full.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "qt6-svg", "qt6-imageformats", @@ -21,18 +21,3 @@ dependencies = [ "libmd", "libbrotli", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/net/download/parabolic/recipe.toml b/recipes/wip/net/download/parabolic/recipe.toml index ba84290f8..4c3104fa4 100644 --- a/recipes/wip/net/download/parabolic/recipe.toml +++ b/recipes/wip/net/download/parabolic/recipe.toml @@ -1,21 +1,7 @@ +#TODO not compiled or tested #TODO it uses vcpkg for dependency management, see: https://github.com/NickvisionApps/parabolic#building-manually [source] git = "https://github.com/NickvisionApps/Parabolic" -rev = "b2188390ce14b83c41c68eef87e833d6fd8b7d2f" +rev = "7309661a25948c56f25383c464a1b284bdeb00e7" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/net/gemini/lagrange/recipe.toml b/recipes/wip/net/gemini/lagrange/recipe.toml index d67691d06..db5f9d199 100644 --- a/recipes/wip/net/gemini/lagrange/recipe.toml +++ b/recipes/wip/net/gemini/lagrange/recipe.toml @@ -1,9 +1,13 @@ -#TODO probably wrong script, see https://github.com/skyjake/lagrange#how-to-compile +#TODO not compiled or tested +# build instructions: https://github.com/skyjake/lagrange#how-to-compile #TODO mpg123 dependency broken [source] -tar = "https://git.skyjake.fi/gemini/lagrange/releases/download/v1.17.4/lagrange-1.17.4.tar.gz" +tar = "https://git.skyjake.fi/gemini/lagrange/releases/download/v1.19.3/lagrange-1.19.3.tar.gz" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DENABLE_MPG123=OFF" +] dependencies = [ "sdl2", "openssl1", @@ -12,20 +16,5 @@ dependencies = [ "pcre", "fribidi", "libunistring", + #"mpg123", ] -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DENABLE_MPG123=OFF -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From dbed3b4f1eda6c26388b6b07c517f5c9325f5aa1 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sun, 12 Oct 2025 19:54:54 -0300 Subject: [PATCH 153/182] Try to fix more CMake-based recipes --- .../wip/net/onion-routing/i2pd/recipe.toml | 20 ++----------- .../wip/net/onion-routing/lokinet/recipe.toml | 21 ++----------- recipes/wip/net/other/nss-pem/recipe.toml | 20 ++----------- recipes/wip/net/other/srsran-4g/recipe.toml | 20 ++----------- .../wip/net/other/srsran-project/recipe.toml | 20 ++----------- recipes/wip/net/remote/jupii/recipe.toml | 25 ++++------------ recipes/wip/net/remote/remmina/recipe.toml | 20 ++----------- recipes/wip/net/server/spadesx/recipe.toml | 20 ++----------- .../wip/nonfree/games/openspades/recipe.toml | 21 ++----------- .../wip/nonfree/games/zerospades/recipe.toml | 21 ++----------- recipes/wip/recorders/obs-studio/recipe.toml | 23 +++----------- recipes/wip/science/celestia/recipe.toml | 30 ++++++------------- 12 files changed, 46 insertions(+), 215 deletions(-) diff --git a/recipes/wip/net/onion-routing/i2pd/recipe.toml b/recipes/wip/net/onion-routing/i2pd/recipe.toml index ab531aea2..6056125cc 100644 --- a/recipes/wip/net/onion-routing/i2pd/recipe.toml +++ b/recipes/wip/net/onion-routing/i2pd/recipe.toml @@ -1,26 +1,12 @@ -#TODO probably wrong script, see https://i2pd.readthedocs.io/en/latest/devs/building/unix/ +#TODO not compiled or tested +# build instructions: https://i2pd.readthedocs.io/en/latest/devs/building/unix/ [source] git = "https://github.com/PurpleI2P/i2pd" rev = "beffdb9fe175a93164bd88ee0fafe1a22595ed15" [build] -template = "custom" +template = "cmake" dependencies = [ "boost", "openssl1", "zlib", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/net/onion-routing/lokinet/recipe.toml b/recipes/wip/net/onion-routing/lokinet/recipe.toml index 1eda4cdbe..0061eb0b7 100644 --- a/recipes/wip/net/onion-routing/lokinet/recipe.toml +++ b/recipes/wip/net/onion-routing/lokinet/recipe.toml @@ -1,8 +1,9 @@ -#TODO probably wrong script, see https://github.com/oxen-io/lokinet/blob/dev/docs/install.md#building +#TODO not compiled or tested +# build instructions: https://github.com/oxen-io/lokinet/blob/dev/docs/install.md#building [source] tar = "https://github.com/oxen-io/lokinet/releases/download/v0.9.11/lokinet-v0.9.11.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "libcap", "libuv", @@ -14,19 +15,3 @@ dependencies = [ "unbound", "nlohmann-json", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DBUILD_SHARED_LIBS=OFF -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/net/other/nss-pem/recipe.toml b/recipes/wip/net/other/nss-pem/recipe.toml index 3124794e1..15b7a66f2 100644 --- a/recipes/wip/net/other/nss-pem/recipe.toml +++ b/recipes/wip/net/other/nss-pem/recipe.toml @@ -1,20 +1,6 @@ -#TODO probably wrong script, see https://github.com/kdudka/nss-pem/blob/master/README +#TODO not compiled or tested +# build instructions: https://github.com/kdudka/nss-pem/blob/master/README [source] tar = "https://github.com/kdudka/nss-pem/releases/download/nss-pem-1.1.0/nss-pem-1.1.0.tar.xz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/net/other/srsran-4g/recipe.toml b/recipes/wip/net/other/srsran-4g/recipe.toml index be0d308f4..7c4d12331 100644 --- a/recipes/wip/net/other/srsran-4g/recipe.toml +++ b/recipes/wip/net/other/srsran-4g/recipe.toml @@ -1,25 +1,11 @@ -#TODO maybe incomplete script, see https://docs.srsran.com/projects/4g/en/latest/general/source/1_installation.html#installation-from-source +#TODO not compiled or tested +# build instructions: https://docs.srsran.com/projects/4g/en/latest/general/source/1_installation.html#installation-from-source [source] git = "https://github.com/srsran/srsRAN_4G" rev = "eea87b1d893ae58e0b08bc381730c502024ae71f" [build] -template = "custom" +template = "cmake" dependencies = [ "fftw", "mbedtls", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/net/other/srsran-project/recipe.toml b/recipes/wip/net/other/srsran-project/recipe.toml index af76902d8..4ff58768b 100644 --- a/recipes/wip/net/other/srsran-project/recipe.toml +++ b/recipes/wip/net/other/srsran-project/recipe.toml @@ -1,26 +1,12 @@ -#TODO maybe incomplete script, see https://github.com/srsran/srsRAN_Project#build-instructions +#TODO not compiled or tested +# build instructions: https://github.com/srsran/srsRAN_Project#build-instructions #TODO missing dependencies [source] git = "https://github.com/srsran/srsRAN_Project" rev = "374200deefd8e1b96fab7328525fd593a808a641" [build] -template = "custom" +template = "cmake" dependencies = [ "fftw", "mbedtls", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/net/remote/jupii/recipe.toml b/recipes/wip/net/remote/jupii/recipe.toml index 9169263cd..c93e3437e 100644 --- a/recipes/wip/net/remote/jupii/recipe.toml +++ b/recipes/wip/net/remote/jupii/recipe.toml @@ -1,23 +1,10 @@ -#TODO maybe incomplete script -#TODO missing dependencies? - https://github.com/mkiol/Jupii#libraries +#TODO not compiled or tested +# missing dependencies? - https://github.com/mkiol/Jupii#libraries [source] git = "https://github.com/mkiol/Jupii" rev = "ed80ca0ea29081a2bff038faf4884e3acabb14b7" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DWITH_DESKTOP=ON -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" +cmakeflags = [ + "-DWITH_DESKTOP=ON" +] diff --git a/recipes/wip/net/remote/remmina/recipe.toml b/recipes/wip/net/remote/remmina/recipe.toml index 9f701889e..14605bd7d 100644 --- a/recipes/wip/net/remote/remmina/recipe.toml +++ b/recipes/wip/net/remote/remmina/recipe.toml @@ -1,10 +1,11 @@ -#TODO maybe incomplete script, see https://gitlab.com/Remmina/Remmina/-/wikis/Compilation/Compilation-guide +#TODO not compiled or tested +# build instructions: https://gitlab.com/Remmina/Remmina/-/wikis/Compilation/Compilation-guide #TODO dependencies need a cleanup (outdated and up-to-date information is mixed in the build instructions) [source] git = "https://gitlab.com/Remmina/Remmina" rev = "2a455eadd6462457d08c2d066c5c245e0dee3bf9" [build] -template = "custom" +template = "cmake" dependencies = [ "openssl1", "libxml2", @@ -19,18 +20,3 @@ dependencies = [ "libsodium", "pcre", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/net/server/spadesx/recipe.toml b/recipes/wip/net/server/spadesx/recipe.toml index 0d47d5685..798650814 100644 --- a/recipes/wip/net/server/spadesx/recipe.toml +++ b/recipes/wip/net/server/spadesx/recipe.toml @@ -1,25 +1,11 @@ -#TODO probably wrong script, see https://github.com/SpadesX/SpadesX#installation +#TODO not compiled or tested +# build instructions: https://github.com/SpadesX/SpadesX#installation [source] git = "https://github.com/SpadesX/SpadesX" [build] -template = "custom" +template = "cmake" dependencies = [ "readline", "zlib", "json-c", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/nonfree/games/openspades/recipe.toml b/recipes/wip/nonfree/games/openspades/recipe.toml index 798717fb8..e7d60a0dd 100644 --- a/recipes/wip/nonfree/games/openspades/recipe.toml +++ b/recipes/wip/nonfree/games/openspades/recipe.toml @@ -1,9 +1,9 @@ -#TODO probably wrong script, see https://github.com/yvt/openspades#on-unixes-from-source -#TODO port GLEW to Orbital +#TODO not compiled or tested +# build instructions: https://github.com/yvt/openspades#on-unixes-from-source [source] git = "https://github.com/yvt/openspades" [build] -template = "custom" +template = "cmake" dependencies = [ "glew", "openssl1", @@ -16,18 +16,3 @@ dependencies = [ "libjpeg", "openal", ] -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/nonfree/games/zerospades/recipe.toml b/recipes/wip/nonfree/games/zerospades/recipe.toml index ba270adfe..369eedf8c 100644 --- a/recipes/wip/nonfree/games/zerospades/recipe.toml +++ b/recipes/wip/nonfree/games/zerospades/recipe.toml @@ -1,9 +1,9 @@ -#TODO probably wrong script, see https://github.com/yvt/openspades#on-unixes-from-source -#TODO port GLEW to Orbital +#TODO not compiled or tested +# build instructions: https://github.com/yvt/openspades#on-unixes-from-source [source] git = "https://github.com/siecvi/zerospades" [build] -template = "custom" +template = "cmake" dependencies = [ "glew", "openssl1", @@ -16,18 +16,3 @@ dependencies = [ "libjpeg", "openal", ] -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/recorders/obs-studio/recipe.toml b/recipes/wip/recorders/obs-studio/recipe.toml index 04eb475d2..dca4d3927 100644 --- a/recipes/wip/recorders/obs-studio/recipe.toml +++ b/recipes/wip/recorders/obs-studio/recipe.toml @@ -1,11 +1,11 @@ -#TODO maybe incomplete script, see https://github.com/obsproject/obs-studio/wiki/Building-OBS-Studio -#TODO make all dependencies work -#TODO maybe missing dependencies +#TODO not compiled or tested +# build instructions: https://github.com/obsproject/obs-studio/wiki/Building-OBS-Studio +# maybe missing dependencies [source] git = "https://github.com/obsproject/obs-studio" rev = "b45a73296f4f898e2ed455023020058075c30bab" [build] -template = "custom" +template = "cmake" dependencies = [ "boost", "librsvg", @@ -30,18 +30,3 @@ dependencies = [ "libsrt", "libwebsocket++", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/science/celestia/recipe.toml b/recipes/wip/science/celestia/recipe.toml index f4793712c..1dd31156e 100644 --- a/recipes/wip/science/celestia/recipe.toml +++ b/recipes/wip/science/celestia/recipe.toml @@ -1,10 +1,14 @@ -#TODO probably wrong script, see https://github.com/CelestiaProject/Celestia/blob/master/INSTALL.md#celestia-install-instructions-for-unix -#TODO finish the recipes of some dependencies -#TODO the SDL2 frontend is limited, Qt6 or Qt5 is preferred +#TODO not compiled or tested +# build instructions: https://github.com/CelestiaProject/Celestia/blob/master/INSTALL.md#celestia-install-instructions-for-unix +# sdl2 frontend is limited, qt6 or qt5 is preferred [source] tar = "https://github.com/CelestiaProject/Celestia/releases/download/1.6.4/celestia-1.6.4.tar.xz" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DENABLE_INTERFACE=ON", + "-DENABLE_SDL=ON", +] dependencies = [ "mesa", "mesa-glu", @@ -16,21 +20,5 @@ dependencies = [ "libpng", "libjpeg", "luajit", + #"qt6-base", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DENABLE_INTERFACE=ON - -DENABLE_SDL=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From 4657b871ae101670f45d40beb96c0120d2c2d8af Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sun, 12 Oct 2025 20:20:44 -0300 Subject: [PATCH 154/182] Try to fix more CMake recipes --- recipes/wip/science/celestia-data/recipe.toml | 20 ++--------- recipes/wip/science/gromacs/recipe.toml | 22 +++--------- recipes/wip/science/openspace/recipe.toml | 20 ++--------- recipes/wip/science/qmcpack/recipe.toml | 22 +++--------- recipes/wip/science/stellarium/recipe.toml | 24 +++---------- recipes/wip/security/clamav/recipe.toml | 20 +++-------- recipes/wip/security/keepassxc/recipe.toml | 35 ++++++------------- recipes/wip/security/recdec/recipe.toml | 20 ++--------- 8 files changed, 38 insertions(+), 145 deletions(-) diff --git a/recipes/wip/science/celestia-data/recipe.toml b/recipes/wip/science/celestia-data/recipe.toml index dc195256b..06988feaf 100644 --- a/recipes/wip/science/celestia-data/recipe.toml +++ b/recipes/wip/science/celestia-data/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://github.com/CelestiaProject/Celestia/blob/master/INSTALL.md#installing-the-content +#TODO not compiled or tested +# build instructions: https://github.com/CelestiaProject/Celestia/blob/master/INSTALL.md#installing-the-content [source] git = "https://github.com/CelestiaProject/CelestiaContent" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/science/gromacs/recipe.toml b/recipes/wip/science/gromacs/recipe.toml index c30f71ce4..4b02ebc56 100644 --- a/recipes/wip/science/gromacs/recipe.toml +++ b/recipes/wip/science/gromacs/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://manual.gromacs.org/current/install-guide/index.html +#TODO not compiled or tested +# build instructions: https://manual.gromacs.org/current/install-guide/index.html [source] -tar = "https://ftp.gromacs.org/gromacs/gromacs-2023.3.tar.gz" +tar = "https://ftp.gromacs.org/gromacs/gromacs-2025.3.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/science/openspace/recipe.toml b/recipes/wip/science/openspace/recipe.toml index 22de374cb..b67caa267 100644 --- a/recipes/wip/science/openspace/recipe.toml +++ b/recipes/wip/science/openspace/recipe.toml @@ -1,25 +1,11 @@ -#TODO maybe incomplete script, see https://docs.openspaceproject.com/en/latest/dev/compiling/index.html# +#TODO not compiled or tested +# build instructions: https://docs.openspaceproject.com/en/latest/dev/compiling/index.html# [source] git = "https://github.com/OpenSpace/OpenSpace" rev = "b3681167a3b95d49ac7aa7d06b07cbd88c687e9a" [build] -template = "custom" +template = "cmake" dependencies = [ "qt6-base", "libgdal", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/science/qmcpack/recipe.toml b/recipes/wip/science/qmcpack/recipe.toml index 72b4aa824..33777b799 100644 --- a/recipes/wip/science/qmcpack/recipe.toml +++ b/recipes/wip/science/qmcpack/recipe.toml @@ -1,10 +1,11 @@ -#TODO maybe incomplete script, see https://qmcpack.readthedocs.io/en/develop/installation.html#building-with-cmake -#TODO probably missing dependencies +#TODO not compiled or tested +# build instructions: https://qmcpack.readthedocs.io/en/develop/installation.html#building-with-cmake +# probably missing dependencies [source] git = "https://github.com/QMCPACK/qmcpack" rev = "9d0d968139fc33f71dbf9159f526dd7b47f10a3b" [build] -template = "custom" +template = "cmake" dependencies = [ "openmpi", "openblas", @@ -13,18 +14,3 @@ dependencies = [ "boost", "fftw", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/science/stellarium/recipe.toml b/recipes/wip/science/stellarium/recipe.toml index 38ded3f92..89430ec2c 100644 --- a/recipes/wip/science/stellarium/recipe.toml +++ b/recipes/wip/science/stellarium/recipe.toml @@ -1,9 +1,10 @@ -#TODO probably wrong script, see https://github.com/Stellarium/stellarium/blob/master/BUILDING.md#building -#TODO missing dependencies - https://github.com/Stellarium/stellarium/blob/master/BUILDING.md#qt6 +#TODO not compiled or tested +# build instructions: https://github.com/Stellarium/stellarium/blob/master/BUILDING.md#building +#TODO missing dependencies: https://github.com/Stellarium/stellarium/blob/master/BUILDING.md#qt6 [source] -tar = "https://github.com/Stellarium/stellarium/releases/download/v23.3/stellarium-23.3.tar.xz" +tar = "https://github.com/Stellarium/stellarium/releases/download/v25.3/stellarium-25.3.tar.xz" [build] -template = "custom" +template = "cmake" dependencies = [ "mesa", "zlib", @@ -20,18 +21,3 @@ dependencies = [ "gexiv2", "libnlopt", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/security/clamav/recipe.toml b/recipes/wip/security/clamav/recipe.toml index 23435660c..e90d730ab 100644 --- a/recipes/wip/security/clamav/recipe.toml +++ b/recipes/wip/security/clamav/recipe.toml @@ -1,7 +1,8 @@ -#TODO probably wrong script, see https://docs.clamav.net/manual/Installing/Installing-from-source-Unix.html +#TODO not compiled or tested +# build instructions: https://docs.clamav.net/manual/Installing/Installing-from-source-Unix.html #TODO missing Sendmail Mail Filter API (Milter) [source] -tar = "https://www.clamav.net/downloads/production/clamav-1.2.1.tar.gz" +tar = "https://www.clamav.net/downloads/production/clamav-1.5.0.tar.gz" [build] template = "custom" dependencies = [ @@ -15,18 +16,7 @@ dependencies = [ "zlib", ] script = """ +DYNAMIC_INIT export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure +cookbook_cmake """ diff --git a/recipes/wip/security/keepassxc/recipe.toml b/recipes/wip/security/keepassxc/recipe.toml index ab1148bd0..3727dfa46 100644 --- a/recipes/wip/security/keepassxc/recipe.toml +++ b/recipes/wip/security/keepassxc/recipe.toml @@ -1,10 +1,16 @@ -#TODO probably wrong script, see https://github.com/keepassxreboot/keepassxc/wiki/Building-KeePassXC#linux -#TODO port to orbital -#TODO probably missing dependencies, see https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-Linux#install-the-required-dependencies +#TODO not compiled or tested +# build instructions: https://github.com/keepassxreboot/keepassxc/wiki/Building-KeePassXC#linux +# probably missing dependencies, see https://github.com/keepassxreboot/keepassxc/wiki/Set-up-Build-Environment-on-Linux#install-the-required-dependencies [source] -tar = "https://github.com/keepassxreboot/keepassxc/releases/download/2.7.6/keepassxc-2.7.6-src.tar.xz" +tar = "https://github.com/keepassxreboot/keepassxc/releases/download/2.7.10/keepassxc-2.7.10-src.tar.xz" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DWITH_XC_AUTOTYPE=OFF", + "-DWITH_XC_UPDATECHECK=OFF", + "-DKEEPASSXC_BUILD_TYPE=Release", + "-DWITH_APP_BUNDLE=OFF", +] dependencies = [ "qt5-base", "qt5-svg", @@ -15,22 +21,3 @@ dependencies = [ "libxtst", "readline", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DWITH_XC_AUTOTYPE=OFF - -DWITH_XC_UPDATECHECK=OFF - -DKEEPASSXC_BUILD_TYPE=Release - -DWITH_APP_BUNDLE=OFF -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/security/recdec/recipe.toml b/recipes/wip/security/recdec/recipe.toml index 9e1f10498..6852d2751 100644 --- a/recipes/wip/security/recdec/recipe.toml +++ b/recipes/wip/security/recdec/recipe.toml @@ -1,25 +1,11 @@ -#TODO probably wrong script, see https://github.com/avast/retdec#process +#TODO not compiled or tested +# build instructions: https://github.com/avast/retdec#process [source] git = "https://github.com/avast/retdec" rev = "53e55b4b26e9b843787f0e06d867441e32b1604e" [build] -template = "custom" +template = "cmake" dependencies = [ "openssl1", "zlib", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" From 43d604721d68fb391af942022c23649cd55142e5 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sun, 12 Oct 2025 20:22:51 -0300 Subject: [PATCH 155/182] Fix the recdec recipe name --- recipes/wip/security/{recdec => retdec}/recipe.toml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename recipes/wip/security/{recdec => retdec}/recipe.toml (100%) diff --git a/recipes/wip/security/recdec/recipe.toml b/recipes/wip/security/retdec/recipe.toml similarity index 100% rename from recipes/wip/security/recdec/recipe.toml rename to recipes/wip/security/retdec/recipe.toml From 6b66cdaed01c1747e30ada3252e3f25aeaa6d95d Mon Sep 17 00:00:00 2001 From: Ribbon Date: Sun, 12 Oct 2025 21:08:41 -0300 Subject: [PATCH 156/182] Try to fix more CMake-based recipes --- recipes/wip/services/qpwgraph/recipe.toml | 21 ++------------ recipes/wip/sound/audacity/recipe.toml | 25 ++++------------ recipes/wip/sound/lmms/recipe.toml | 23 ++++----------- recipes/wip/sound/mixxx/recipe.toml | 25 ++++------------ recipes/wip/sound/odin2/recipe.toml | 21 ++------------ recipes/wip/sys-info/cpu-x/recipe.toml | 29 ++++++++----------- .../wip/terminal/contour-terminal/recipe.toml | 19 ++---------- recipes/wip/tools/astc-encoder/recipe.toml | 20 ++----------- recipes/wip/tools/astyle/recipe.toml | 20 ++----------- recipes/wip/tools/flameshot/recipe.toml | 20 ++----------- recipes/wip/tools/gnu-radio/recipe.toml | 22 +++----------- recipes/wip/tools/kodi/recipe.toml | 29 +++++-------------- recipes/wip/tools/okteta/recipe.toml | 20 ++----------- recipes/wip/tools/scribus/recipe.toml | 20 ++----------- recipes/wip/tools/taskserver/recipe.toml | 20 ++----------- recipes/wip/tools/taskwarrior/recipe.toml | 20 ++----------- .../wip/video/editors/kdenlive/recipe.toml | 20 ++----------- recipes/wip/wayland/hyprland/recipe.toml | 6 +++- recipes/wip/wayland/waylandpp/recipe.toml | 20 ++----------- 19 files changed, 79 insertions(+), 321 deletions(-) diff --git a/recipes/wip/services/qpwgraph/recipe.toml b/recipes/wip/services/qpwgraph/recipe.toml index b8a48fbfa..99df5ae37 100644 --- a/recipes/wip/services/qpwgraph/recipe.toml +++ b/recipes/wip/services/qpwgraph/recipe.toml @@ -1,26 +1,11 @@ -#TODO maybe wrong script -# build instructions - https://gitlab.freedesktop.org/rncbc/qpwgraph#building +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/rncbc/qpwgraph#building [source] git = "https://gitlab.freedesktop.org/rncbc/qpwgraph" rev = "9fead6eff8c5831d66f618b2e8e195c94d5c22e6" [build] -template = "custom" +template = "cmake" dependencies = [ "qt6-base", "pipewire", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/sound/audacity/recipe.toml b/recipes/wip/sound/audacity/recipe.toml index c444edd68..22ed13cfa 100644 --- a/recipes/wip/sound/audacity/recipe.toml +++ b/recipes/wip/sound/audacity/recipe.toml @@ -1,26 +1,11 @@ -#TODO maybe incomplete script, see https://github.com/audacity/audacity/blob/master/BUILDING.md -#TODO use the GTK2 or wxWidgets frontend? -#TODO probably need audio server patching +#TODO not compiled or tested +# build instructions: https://github.com/audacity/audacity/blob/master/BUILDING.md +# use the GTK2 or wxWidgets frontend? [source] -tar = "https://github.com/audacity/audacity/releases/download/Audacity-3.5.1/audacity-sources-3.5.1.tar.gz" +tar = "https://github.com/audacity/audacity/releases/download/Audacity-3.7.5/audacity-sources-3.7.5.tar.gz" [build] -template = "custom" +template = "cmake" dependencies = [ "gtk2", "libuuid", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/sound/lmms/recipe.toml b/recipes/wip/sound/lmms/recipe.toml index 51d57829f..7f3328818 100644 --- a/recipes/wip/sound/lmms/recipe.toml +++ b/recipes/wip/sound/lmms/recipe.toml @@ -1,8 +1,10 @@ -#TODO probably wrong script, see https://github.com/LMMS/lmms/wiki/Compiling#build-environment +#TODO not compiled or tested +# build instructions: https://github.com/LMMS/lmms/wiki/Compiling#build-environment [source] -tar = "https://github.com/LMMS/lmms/releases/download/v1.2.2/lmms_1.2.2.tar.xz" +git = "https://github.com/LMMS/lmms" +rev = "807751dc4dce53583ecf4140b67a5dc343c789a7" [build] -template = "custom" +template = "cmake" dependencies = [ "qt5-base", "libsamplerate", @@ -13,18 +15,3 @@ dependencies = [ "libstk", "fltk", ] -script = """ - COOKBOOK_CONFIGURE="cmake" - COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/sound/mixxx/recipe.toml b/recipes/wip/sound/mixxx/recipe.toml index d6bb852e0..6d6121363 100644 --- a/recipes/wip/sound/mixxx/recipe.toml +++ b/recipes/wip/sound/mixxx/recipe.toml @@ -1,11 +1,11 @@ -#TODO incomplete script -#TODO missing dependencies - https://github.com/mixxxdj/mixxx/blob/main/tools/debian_buildenv.sh -# build instructions - https://github.com/mixxxdj/mixxx/wiki/Compiling%20on%20Linux +#TODO not compiled or tested +# build instructions: https://github.com/mixxxdj/mixxx/wiki/Compiling%20on%20Linux +#TODO missing dependencies: https://github.com/mixxxdj/mixxx/blob/main/tools/debian_buildenv.sh [source] git = "https://github.com/mixxxdj/mixxx" -branch = "2.4" +branch = "2.5" [build] -template = "custom" +template = "cmake" dependencies = [ "fftw", "libflac", @@ -25,18 +25,3 @@ dependencies = [ "openssl1", "portaudio", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/sound/odin2/recipe.toml b/recipes/wip/sound/odin2/recipe.toml index c32acf7b8..35b7fdb7b 100644 --- a/recipes/wip/sound/odin2/recipe.toml +++ b/recipes/wip/sound/odin2/recipe.toml @@ -1,26 +1,11 @@ -#TODO maybe incomplete script, see https://github.com/TheWaveWarden/odin2#all-platforms -#TODO port to orbital +#TODO not compiled or tested +# build instructions: https://github.com/TheWaveWarden/odin2#all-platforms [source] git = "https://github.com/TheWaveWarden/odin2" [build] -template = "custom" +template = "cmake" dependencies = [ "mesa", "curl", "webkitgtk3", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/sys-info/cpu-x/recipe.toml b/recipes/wip/sys-info/cpu-x/recipe.toml index c6c51291d..10552eded 100644 --- a/recipes/wip/sys-info/cpu-x/recipe.toml +++ b/recipes/wip/sys-info/cpu-x/recipe.toml @@ -1,31 +1,26 @@ -#TODO maybe incomplete script, see https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/wiki/manual-build#build-and-install-cpu-x +#TODO not compiled or tested +# build instructions: https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/wiki/manual-build#build-and-install-cpu-x [source] git = "https://github.com/TheTumultuousUnicornOfDarkness/CPU-X" -rev = "b957c031a2eab2c6c88275c4616a6a5e8c8e7670" +rev = "41f5d1ac3b13e60aa30212f2b9f38de646fd2b07" [build] template = "custom" dependencies = [ - "gtk3mm", + #"gtk3mm", "ncurses", - "glfw", - "libvulkan", + #"glfw3", + #"libvulkan", "libstatgrab", "libcpuid", "pciutils", ] script = """ +DYNAMIC_INIT export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses" -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" +COOKBOOK_CMAKE_FLAGS+=( + "-DWITH_GTK=0", + "-DWITH_LIBGLFW=0", + "-DWITH_VULKAN=0", ) -cookbook_configure +cookbook_cmake """ diff --git a/recipes/wip/terminal/contour-terminal/recipe.toml b/recipes/wip/terminal/contour-terminal/recipe.toml index 565ca2929..40110b1a3 100644 --- a/recipes/wip/terminal/contour-terminal/recipe.toml +++ b/recipes/wip/terminal/contour-terminal/recipe.toml @@ -1,11 +1,11 @@ #TODO not compiled or tested -#TODO missing dependencies, see https://github.com/contour-terminal/contour/blob/master/scripts/install-deps.sh#L328 # build instructions - https://contour-terminal.org/install/#unix-like-systems-linux-freebsd-macos +#TODO missing dependencies, see https://github.com/contour-terminal/contour/blob/master/scripts/install-deps.sh#L328 [source] git = "https://github.com/contour-terminal/contour" rev = "116f1d16f6dc33ab8b0f6010a44e7b23eadeb8ca" [build] -template = "custom" +template = "cmake" dependencies = [ "fontconfig", "freetyoe2", @@ -18,18 +18,3 @@ dependencies = [ "qt6-tools", "libxcb", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/tools/astc-encoder/recipe.toml b/recipes/wip/tools/astc-encoder/recipe.toml index b6b427d58..a599f9f59 100644 --- a/recipes/wip/tools/astc-encoder/recipe.toml +++ b/recipes/wip/tools/astc-encoder/recipe.toml @@ -1,21 +1,7 @@ -#TODO maybe incomplete script, see https://github.com/ARM-software/astc-encoder/blob/main/Docs/Building.md#macos-and-linux-using-make +#TODO not compiled or tested +# build instructions: https://github.com/ARM-software/astc-encoder/blob/main/Docs/Building.md#macos-and-linux-using-make [source] git = "https://github.com/ARM-software/astc-encoder" rev = "aeece2f609db959d1c5e43e4f00bd177ea130575" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/tools/astyle/recipe.toml b/recipes/wip/tools/astyle/recipe.toml index 6d10b4130..b393bd1d0 100644 --- a/recipes/wip/tools/astyle/recipe.toml +++ b/recipes/wip/tools/astyle/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://astyle.sourceforge.net/install.html +#TODO not compiled or tested +# build instructions: https://astyle.sourceforge.net/install.html [source] tar = "https://sourceforge.net/projects/astyle/files/astyle/astyle%203.4/astyle-3.4.10.tar.bz2/download" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/tools/flameshot/recipe.toml b/recipes/wip/tools/flameshot/recipe.toml index 3275faa5f..607a3b1f2 100644 --- a/recipes/wip/tools/flameshot/recipe.toml +++ b/recipes/wip/tools/flameshot/recipe.toml @@ -1,26 +1,12 @@ -#TODO maybe incomplete script, see https://flameshot.org/docs/installation/source-code/#compilation +#TODO not compiled or tested +# build instructions: https://flameshot.org/docs/installation/source-code/#compilation [source] git = "https://github.com/flameshot-org/flameshot" rev = "70be63d478a271da549597d69bd4868607c0a395" [build] -template = "custom" +template = "cmake" dependencies = [ "qt5-base", "qt5-tools", "qt5-svg", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/tools/gnu-radio/recipe.toml b/recipes/wip/tools/gnu-radio/recipe.toml index 5d9115ea1..048e48e61 100644 --- a/recipes/wip/tools/gnu-radio/recipe.toml +++ b/recipes/wip/tools/gnu-radio/recipe.toml @@ -1,10 +1,11 @@ -#TODO maybe incomplete script, see https://wiki.gnuradio.org/index.php?title=LinuxInstall#For_GNU_Radio_3.10,_3.9,_and_Main_Branch -#TODO probably missing dependencies, see https://wiki.gnuradio.org/index.php?title=UbuntuInstall#Install_Dependencies +#TODO not compiled or tested +# build instructions: https://wiki.gnuradio.org/index.php?title=LinuxInstall#For_GNU_Radio_3.10,_3.9,_and_Main_Branch +# probably missing dependencies, see https://wiki.gnuradio.org/index.php?title=UbuntuInstall#Install_Dependencies [source] git = "https://github.com/gnuradio/gnuradio" rev = "bd928539d9eaa73736f8381cd2e60953a0eb8cb8" [build] -template = "custom" +template = "cmake" dependencies = [ "volk", "boost", @@ -15,18 +16,3 @@ dependencies = [ "libusb", "libevdev", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/tools/kodi/recipe.toml b/recipes/wip/tools/kodi/recipe.toml index 7066e3f67..6aac752fc 100644 --- a/recipes/wip/tools/kodi/recipe.toml +++ b/recipes/wip/tools/kodi/recipe.toml @@ -1,11 +1,15 @@ -#TODO probably wrong script, see https://github.com/xbmc/xbmc/blob/master/docs/README.Linux.md#4-build-kodi -#TODO port to orbital -#TODO maybe missing dependencies, see https://archlinux.org/packages/extra/x86_64/kodi/ +#TODO not compiled or tested +# build instructions: https://github.com/xbmc/xbmc/blob/master/docs/README.Linux.md#4-build-kodi +# maybe missing dependencies, see https://archlinux.org/packages/extra/x86_64/kodi/ [source] git = "https://github.com/xbmc/xbmc" rev = "5f418d0b133535c6675154688ac7144e34f4d436" [build] -template = "custom" +template = "cmake" +cmakeflags = [ + "-DCORE_PLATFORM_NAME=wayland", + "-DAPP_RENDER_SYSTEM=gl", +] dependencies = [ "libass", "libbluray", @@ -40,20 +44,3 @@ dependencies = [ "libxslt", "pipewire", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On - -DCORE_PLATFORM_NAME=wayland - -DAPP_RENDER_SYSTEM=gl -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/tools/okteta/recipe.toml b/recipes/wip/tools/okteta/recipe.toml index c3ad622a1..18fde6063 100644 --- a/recipes/wip/tools/okteta/recipe.toml +++ b/recipes/wip/tools/okteta/recipe.toml @@ -1,22 +1,8 @@ -#TODO maybe incomplete script, lacking build instructions +#TODO not compiled or tested +# lacking build instructions #TODO missing dependencies [source] git = "https://invent.kde.org/utilities/okteta" rev = "fb6150f2dce791c96b95a12ee0c74942c1774c05" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/tools/scribus/recipe.toml b/recipes/wip/tools/scribus/recipe.toml index 8e4f19826..e8a33342e 100644 --- a/recipes/wip/tools/scribus/recipe.toml +++ b/recipes/wip/tools/scribus/recipe.toml @@ -1,6 +1,7 @@ -#TODO probably wrong script, see https://wiki.scribus.net/canvas/Official:Compile_with_CMake +#TODO not compiled or tested +# build instructions: https://wiki.scribus.net/canvas/Official:Compile_with_CMake [source] -tar = "https://sourceforge.net/projects/scribus/files/scribus/1.4.8/scribus-1.4.8.tar.xz/download" +tar = "https://sourceforge.net/projects/scribus/files/scribus/1.6.4/scribus-1.6.4.tar.xz/download" [build] template = "custom" dependencies = [ @@ -13,18 +14,3 @@ dependencies = [ "libjpeg", "fontconfig", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/tools/taskserver/recipe.toml b/recipes/wip/tools/taskserver/recipe.toml index c57cb228d..b6f9ff41c 100644 --- a/recipes/wip/tools/taskserver/recipe.toml +++ b/recipes/wip/tools/taskserver/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://taskwarrior.org/download/#quick-setup +#TODO not compiled or tested +# build instructions: https://taskwarrior.org/download/#quick-setup [source] tar = "https://github.com/GothenburgBitFactory/taskserver/releases/download/v1.1.0/taskd-1.1.0.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/tools/taskwarrior/recipe.toml b/recipes/wip/tools/taskwarrior/recipe.toml index 5599aef51..d2f20d953 100644 --- a/recipes/wip/tools/taskwarrior/recipe.toml +++ b/recipes/wip/tools/taskwarrior/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://taskwarrior.org/download/#quick-setup +#TODO not compiled or tested +# build instructions: https://taskwarrior.org/download/#quick-setup [source] tar = "https://github.com/GothenburgBitFactory/taskwarrior/releases/download/v2.6.2/task-2.6.2.tar.gz" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" diff --git a/recipes/wip/video/editors/kdenlive/recipe.toml b/recipes/wip/video/editors/kdenlive/recipe.toml index 5ac7fa157..993dce621 100644 --- a/recipes/wip/video/editors/kdenlive/recipe.toml +++ b/recipes/wip/video/editors/kdenlive/recipe.toml @@ -1,9 +1,10 @@ -#TODO maybe incomplete script, see https://invent.kde.org/multimedia/kdenlive/-/blob/master/dev-docs/build.md#build-and-install-the-projects +#TODO not compiled or tested +# build instructions: https://invent.kde.org/multimedia/kdenlive/-/blob/master/dev-docs/build.md#build-and-install-the-projects [source] git = "https://invent.kde.org/multimedia/kdenlive" rev = "da6ecdfbba7aadf88572ac5f87aeb88ff2d80f57" [build] -template = "custom" +template = "cmake" dependencies = [ "mlt", "ffmpeg6", @@ -37,18 +38,3 @@ dependencies = [ "kf5-xmlgui", "breeze-icons", ] -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" diff --git a/recipes/wip/wayland/hyprland/recipe.toml b/recipes/wip/wayland/hyprland/recipe.toml index dff2a2866..4512978b5 100644 --- a/recipes/wip/wayland/hyprland/recipe.toml +++ b/recipes/wip/wayland/hyprland/recipe.toml @@ -1,6 +1,8 @@ -#TODO missing CMake configuration, see https://wiki.hyprland.org/Getting-Started/Installation/#cmake-recommended +#TODO not compiled or tested +# build instructions: https://wiki.hyprland.org/Getting-Started/Installation/#cmake-recommended [source] git = "https://github.com/hyprwm/Hyprland" +rev = "ed936430216e7aa5f6f53d22eff713f8e9ed69ac" [build] template = "custom" dependencies = [ @@ -18,6 +20,8 @@ dependencies = [ "libxfixes", ] script = """ +DYNAMIC_INIT +cookbook_cmake mkdir -pv "${COOKBOOK_STAGE}"/usr/share/wayland-sessions cp -rv "${COOKBOOK_SOURCE}"/example/hyprland.desktop "${COOKBOOK_STAGE}"/usr/share/wayland-sessions """ diff --git a/recipes/wip/wayland/waylandpp/recipe.toml b/recipes/wip/wayland/waylandpp/recipe.toml index 7cf96db85..6bc1a0350 100644 --- a/recipes/wip/wayland/waylandpp/recipe.toml +++ b/recipes/wip/wayland/waylandpp/recipe.toml @@ -1,20 +1,6 @@ -#TODO maybe incomplete script, see https://github.com/NilsBrause/waylandpp#building +#TODO not compiled or tested +# build instructions: https://github.com/NilsBrause/waylandpp#building [source] git = "https://github.com/NilsBrause/waylandpp" [build] -template = "custom" -script = """ -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_EXE_LINKER_FLAGS="-static" - -DCMAKE_INSTALL_PREFIX="/" - -DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" - -DCMAKE_VERBOSE_MAKEFILE=On -"${COOKBOOK_SOURCE}" -) -cookbook_configure -""" +template = "cmake" From 3ae4be2309b6374ed3ddd88a7752bf37148b1514 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 13 Oct 2025 11:45:23 -0300 Subject: [PATCH 157/182] Try to fix Meson-based recipes --- recipes/wip/analysis/rizin/recipe.toml | 5 +++-- recipes/wip/archives/file-roller/recipe.toml | 7 ++++--- recipes/wip/codecs/dav1d/recipe.toml | 5 +++-- recipes/wip/demos/mesa-demos/recipe.toml | 6 +++--- recipes/wip/dev/ide/gnome-builder/recipe.toml | 7 ++++--- recipes/wip/dev/other/gegl/recipe.toml | 5 +++-- recipes/wip/dev/other/gexiv2/recipe.toml | 5 +++-- recipes/wip/dev/other/graphene/recipe.toml | 5 +++-- recipes/wip/doc/gtk-doc/recipe.toml | 4 ++-- recipes/wip/fuse/httpdirfs/recipe.toml | 5 +++-- 10 files changed, 31 insertions(+), 23 deletions(-) diff --git a/recipes/wip/analysis/rizin/recipe.toml b/recipes/wip/analysis/rizin/recipe.toml index 3b2a8e353..385be03bd 100644 --- a/recipes/wip/analysis/rizin/recipe.toml +++ b/recipes/wip/analysis/rizin/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for meson, see https://github.com/rizinorg/rizin/blob/dev/BUILDING.md +#TODO not compiled or tested +# build instructions: https://github.com/rizinorg/rizin/blob/dev/BUILDING.md [source] tar = "https://github.com/rizinorg/rizin/releases/download/v0.7.3/rizin-src-v0.7.3.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/archives/file-roller/recipe.toml b/recipes/wip/archives/file-roller/recipe.toml index c3392c6e8..d4e493be3 100644 --- a/recipes/wip/archives/file-roller/recipe.toml +++ b/recipes/wip/archives/file-roller/recipe.toml @@ -1,9 +1,10 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/file-roller#building-locally -#TODO the "libportal" dependency is for Flatpak, maybe it's optional - https://gitlab.gnome.org/GNOME/file-roller#dependencies +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/file-roller#building-locally +# the libportal dependency is for flatpak, maybe it's optional [source] tar = "https://download.gnome.org/sources/file-roller/44/file-roller-44.3.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "glib", "gtk3", diff --git a/recipes/wip/codecs/dav1d/recipe.toml b/recipes/wip/codecs/dav1d/recipe.toml index 7b5425a1a..2384fba7b 100644 --- a/recipes/wip/codecs/dav1d/recipe.toml +++ b/recipes/wip/codecs/dav1d/recipe.toml @@ -1,6 +1,7 @@ -#TODO missing script for Meson, see https://code.videolan.org/videolan/dav1d#compile +#TODO not compiled or tested +# build instructions: https://code.videolan.org/videolan/dav1d#compile [source] git = "https://code.videolan.org/videolan/dav1d" rev = "48035599cdd4e4415732e408c407e0c1cd1c7444" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/demos/mesa-demos/recipe.toml b/recipes/wip/demos/mesa-demos/recipe.toml index b23143495..f5577ef3f 100644 --- a/recipes/wip/demos/mesa-demos/recipe.toml +++ b/recipes/wip/demos/mesa-demos/recipe.toml @@ -1,9 +1,9 @@ -#TODO missing script for Meson, see https://gitlab.freedesktop.org/mesa/demos/-/blob/main/README.rst?ref_type=heads -#TODO make freeglut works +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/mesa/demos/-/blob/main/README.rst?ref_type=heads [source] tar = "https://archive.mesa3d.org/demos/mesa-demos-9.0.0.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "freeglut", ] diff --git a/recipes/wip/dev/ide/gnome-builder/recipe.toml b/recipes/wip/dev/ide/gnome-builder/recipe.toml index 53b8683f7..0142c9e05 100644 --- a/recipes/wip/dev/ide/gnome-builder/recipe.toml +++ b/recipes/wip/dev/ide/gnome-builder/recipe.toml @@ -1,9 +1,10 @@ -#TODO missing script for Meson, see https://builder.readthedocs.io/installation.html#via-release-tarball -#TODO missing dependencies, see https://packages.debian.org/source/trixie/gnome-builder +#TODO not compiled or tested +# build instructions: https://builder.readthedocs.io/installation.html#via-release-tarball +#TODO missing dependencies, see: https://packages.debian.org/source/trixie/gnome-builder [source] tar = "https://download.gnome.org/sources/gnome-builder/45/gnome-builder-45.0.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "cairo", "cmark", diff --git a/recipes/wip/dev/other/gegl/recipe.toml b/recipes/wip/dev/other/gegl/recipe.toml index 0ca3f0263..37b448db6 100644 --- a/recipes/wip/dev/other/gegl/recipe.toml +++ b/recipes/wip/dev/other/gegl/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/gegl/-/blob/master/docs/development.adoc?ref_type=heads#user-content-debugging +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/gegl/-/blob/master/docs/development.adoc?ref_type=heads#user-content-debugging [source] tar = "https://download.gimp.org/pub/gegl/0.4/gegl-0.4.46.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "libpng", "glib", diff --git a/recipes/wip/dev/other/gexiv2/recipe.toml b/recipes/wip/dev/other/gexiv2/recipe.toml index 16bf91bf2..fe53453b7 100644 --- a/recipes/wip/dev/other/gexiv2/recipe.toml +++ b/recipes/wip/dev/other/gexiv2/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/gexiv2/-/blob/master/INSTALLING?ref_type=heads +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/gexiv2/-/blob/master/INSTALLING?ref_type=heads [source] tar = "https://download.gnome.org/sources/gexiv2/0.14/gexiv2-0.14.2.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/dev/other/graphene/recipe.toml b/recipes/wip/dev/other/graphene/recipe.toml index 29fa65e69..40d77cfe4 100644 --- a/recipes/wip/dev/other/graphene/recipe.toml +++ b/recipes/wip/dev/other/graphene/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://github.com/ebassi/graphene#installation +#TODO not compiled or tested +# build instructions: https://github.com/ebassi/graphene#installation [source] tar = "https://download.gnome.org/sources/graphene/1.10/graphene-1.10.8.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/doc/gtk-doc/recipe.toml b/recipes/wip/doc/gtk-doc/recipe.toml index 423615c09..853dfd10a 100644 --- a/recipes/wip/doc/gtk-doc/recipe.toml +++ b/recipes/wip/doc/gtk-doc/recipe.toml @@ -1,5 +1,5 @@ -#TODO missing script for Meson +#TODO not compiled or tested [source] tar = "https://download.gnome.org/sources/gtk-doc/1.33/gtk-doc-1.33.2.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/fuse/httpdirfs/recipe.toml b/recipes/wip/fuse/httpdirfs/recipe.toml index 8f03b3afa..e772e3f1e 100644 --- a/recipes/wip/fuse/httpdirfs/recipe.toml +++ b/recipes/wip/fuse/httpdirfs/recipe.toml @@ -1,9 +1,10 @@ -#TODO missing script for meson, see https://github.com/fangfufu/httpdirfs#compilation +#TODO not compiled or tested +# build instructions: https://github.com/fangfufu/httpdirfs#compilation [source] git = "https://github.com/fangfufu/httpdirfs" rev = "d91bb2b2789be8a0f72c7baddac63ffb78299ad9" [build] -template = "custom" +template = "meson" dependencies = [ "libfuse3", "openssl1", From 3d593a7c6c147f88a54f8f8c850d3ff88c63b5ee Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 13 Oct 2025 15:58:14 -0300 Subject: [PATCH 158/182] Add recipes --- recipes/wip/dev/other/ut/recipe.toml | 5 +++++ recipes/wip/net/http/easyp/recipe.toml | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 recipes/wip/dev/other/ut/recipe.toml create mode 100644 recipes/wip/net/http/easyp/recipe.toml diff --git a/recipes/wip/dev/other/ut/recipe.toml b/recipes/wip/dev/other/ut/recipe.toml new file mode 100644 index 000000000..5020af72f --- /dev/null +++ b/recipes/wip/dev/other/ut/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/ksdme/ut" +[build] +template = "cargo" diff --git a/recipes/wip/net/http/easyp/recipe.toml b/recipes/wip/net/http/easyp/recipe.toml new file mode 100644 index 000000000..8c18697eb --- /dev/null +++ b/recipes/wip/net/http/easyp/recipe.toml @@ -0,0 +1,6 @@ +#TODO not compiled or tested +#TODO determine how to configure this part of the deployment script: https://github.com/gmatht/easyp/blob/main/deploy.sh#L39 +[source] +git = "https://github.com/gmatht/easyp-crate" +[build] +template = "custom" From 4fa9a050bdf9b895c0f99de551bff02a26bd2a30 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 13 Oct 2025 16:11:55 -0300 Subject: [PATCH 159/182] Try to fix more Meson-based recipes --- recipes/wip/games/fps/vkquake/recipe.toml | 6 +++--- recipes/wip/games/space/naev/recipe.toml | 5 +++-- recipes/wip/image/upscaling/upscaler/recipe.toml | 5 +++-- recipes/wip/libs/gtk/gtk3mm/recipe.toml | 7 ++++--- recipes/wip/libs/gtk/gtk4/recipe.toml | 6 +++--- recipes/wip/libs/gtk/gtk4mm/recipe.toml | 7 ++++--- recipes/wip/libs/gtk/gtksourceview/recipe.toml | 5 +++-- recipes/wip/libs/gtk/libhandy/recipe.toml | 5 +++-- recipes/wip/libs/other/babl/recipe.toml | 5 +++-- .../libs/other/{cairomm-1.0+ => cairomm10+}/recipe.toml | 0 .../libs/other/{cairomm-1.16+ => cairomm116+}/recipe.toml | 0 11 files changed, 29 insertions(+), 22 deletions(-) rename recipes/wip/libs/other/{cairomm-1.0+ => cairomm10+}/recipe.toml (100%) rename recipes/wip/libs/other/{cairomm-1.16+ => cairomm116+}/recipe.toml (100%) diff --git a/recipes/wip/games/fps/vkquake/recipe.toml b/recipes/wip/games/fps/vkquake/recipe.toml index 9131a3094..b16b4f845 100644 --- a/recipes/wip/games/fps/vkquake/recipe.toml +++ b/recipes/wip/games/fps/vkquake/recipe.toml @@ -1,9 +1,9 @@ -#TODO missing script for Meson, see https://github.com/Novum/vkQuake#linux-1 -#TODO port to orbital? +#TODO not compiled or tested +# build instructions: https://github.com/Novum/vkQuake#linux-1 [source] git = "https://github.com/Novum/vkQuake" [build] -template = "custom" +template = "meson" dependencies = [ "sdl2", "libvulkan", diff --git a/recipes/wip/games/space/naev/recipe.toml b/recipes/wip/games/space/naev/recipe.toml index 87fc343b7..994c24605 100644 --- a/recipes/wip/games/space/naev/recipe.toml +++ b/recipes/wip/games/space/naev/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://github.com/naev/naev/wiki/Compiling-on-*nix +#TODO not compiled or tested +# build instructions: https://github.com/naev/naev/wiki/Compiling-on-*nix [source] tar = "https://github.com/naev/naev/releases/download/v0.10.6/naev-0.10.6-source.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "sdl2", "sdl2-image", diff --git a/recipes/wip/image/upscaling/upscaler/recipe.toml b/recipes/wip/image/upscaling/upscaler/recipe.toml index b9393e380..6d6b73cfa 100644 --- a/recipes/wip/image/upscaling/upscaler/recipe.toml +++ b/recipes/wip/image/upscaling/upscaler/recipe.toml @@ -1,9 +1,10 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/World/Upscaler#meson +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/World/Upscaler#meson [source] git = "https://gitlab.gnome.org/World/Upscaler" rev = "30c2a8411fac281ed548189a9fea45dc9efe5b68" [build] -template = "custom" +template = "meson" dependencies = [ "gtk4", "libadwaita", diff --git a/recipes/wip/libs/gtk/gtk3mm/recipe.toml b/recipes/wip/libs/gtk/gtk3mm/recipe.toml index 99a5cc71c..3f47f818a 100644 --- a/recipes/wip/libs/gtk/gtk3mm/recipe.toml +++ b/recipes/wip/libs/gtk/gtk3mm/recipe.toml @@ -1,12 +1,13 @@ -#TODO missing script for Meson, see https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-install-unix-and-linux.html +#TODO not compiled or tested +# build instructions: https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-install-unix-and-linux.html [source] tar = "https://download.gnome.org/sources/gtkmm/3.24/gtkmm-3.24.8.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "libsigc++", "gtk3", "glibmm", - "cairomm-1_0+", + "cairomm10+", "pangomm", ] diff --git a/recipes/wip/libs/gtk/gtk4/recipe.toml b/recipes/wip/libs/gtk/gtk4/recipe.toml index d4ec78483..67799892d 100644 --- a/recipes/wip/libs/gtk/gtk4/recipe.toml +++ b/recipes/wip/libs/gtk/gtk4/recipe.toml @@ -1,9 +1,9 @@ -#TODO missing script for Meson, see https://docs.gtk.org/gtk4/building.html -#TODO port to orbital +#TODO not compiled or tested +# build instructions: https://docs.gtk.org/gtk4/building.html [source] tar = "https://download.gnome.org/sources/gtk/4.11/gtk-4.11.2.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "glib", "gdk-pixbuf", diff --git a/recipes/wip/libs/gtk/gtk4mm/recipe.toml b/recipes/wip/libs/gtk/gtk4mm/recipe.toml index d04bd7a85..e2b22bc85 100644 --- a/recipes/wip/libs/gtk/gtk4mm/recipe.toml +++ b/recipes/wip/libs/gtk/gtk4mm/recipe.toml @@ -1,12 +1,13 @@ -#TODO missing script for Meson, see https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-install-unix-and-linux.html +#TODO not compiled or tested +# build instructions: https://gnome.pages.gitlab.gnome.org/gtkmm-documentation/sec-install-unix-and-linux.html [source] tar = "https://download.gnome.org/sources/gtkmm/4.13/gtkmm-4.13.2.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "libsigc++", "gtk4", "glibmm", - "cairomm-1_16+", + "cairomm116+", "pangomm", ] diff --git a/recipes/wip/libs/gtk/gtksourceview/recipe.toml b/recipes/wip/libs/gtk/gtksourceview/recipe.toml index 7f96899fd..39a4801d8 100644 --- a/recipes/wip/libs/gtk/gtksourceview/recipe.toml +++ b/recipes/wip/libs/gtk/gtksourceview/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/gtksourceview#installation +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/gtksourceview#installation [source] tar = "https://download.gnome.org/sources/gtksourceview/5.10/gtksourceview-5.10.0.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "glib", "gtk4", diff --git a/recipes/wip/libs/gtk/libhandy/recipe.toml b/recipes/wip/libs/gtk/libhandy/recipe.toml index dbbee6445..84ca2d7e3 100644 --- a/recipes/wip/libs/gtk/libhandy/recipe.toml +++ b/recipes/wip/libs/gtk/libhandy/recipe.toml @@ -1,10 +1,11 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/libhandy#building +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/libhandy#building #TODO determine dependencies [source] git = "https://gitlab.gnome.org/GNOME/libhandy" rev = "9b0071408ce86a3ef843806fddd723a85f6f2416" [build] -template = "custom" +template = "meson" dependencies = [ "glib", "gtk3", diff --git a/recipes/wip/libs/other/babl/recipe.toml b/recipes/wip/libs/other/babl/recipe.toml index 5c2226b35..55760166f 100644 --- a/recipes/wip/libs/other/babl/recipe.toml +++ b/recipes/wip/libs/other/babl/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/babl/-/blob/master/INSTALL.in?ref_type=heads +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/babl/-/blob/master/INSTALL.in?ref_type=heads [source] tar = "https://download.gimp.org/pub/babl/0.1/babl-0.1.106.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/cairomm-1.0+/recipe.toml b/recipes/wip/libs/other/cairomm10+/recipe.toml similarity index 100% rename from recipes/wip/libs/other/cairomm-1.0+/recipe.toml rename to recipes/wip/libs/other/cairomm10+/recipe.toml diff --git a/recipes/wip/libs/other/cairomm-1.16+/recipe.toml b/recipes/wip/libs/other/cairomm116+/recipe.toml similarity index 100% rename from recipes/wip/libs/other/cairomm-1.16+/recipe.toml rename to recipes/wip/libs/other/cairomm116+/recipe.toml From efc05d583445acdd181d00c97bee22d4ff877ff9 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 13 Oct 2025 16:30:09 -0300 Subject: [PATCH 160/182] Try to fix more Meson-based recipes --- recipes/wip/libs/other/dspy/recipe.toml | 5 +++-- recipes/wip/libs/other/inih/recipe.toml | 5 +++-- recipes/wip/libs/other/json-glib/recipe.toml | 5 +++-- recipes/wip/libs/other/jsonrpc-glib/recipe.toml | 5 +++-- recipes/wip/libs/other/libadwaita/recipe.toml | 5 +++-- recipes/wip/libs/other/libcamera/recipe.toml | 5 +++-- recipes/wip/libs/other/libdecor/recipe.toml | 5 +++-- recipes/wip/libs/other/libdex/recipe.toml | 5 +++-- recipes/wip/libs/other/libfuse2/recipe.toml | 7 ++++--- recipes/wip/libs/other/libfuse3/recipe.toml | 7 ++++--- recipes/wip/libs/other/libinput/recipe.toml | 5 +++-- recipes/wip/libs/other/libnotify/recipe.toml | 4 ++-- 12 files changed, 37 insertions(+), 26 deletions(-) diff --git a/recipes/wip/libs/other/dspy/recipe.toml b/recipes/wip/libs/other/dspy/recipe.toml index 5b7fb7535..0f5ff99ad 100644 --- a/recipes/wip/libs/other/dspy/recipe.toml +++ b/recipes/wip/libs/other/dspy/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] tar = "https://download.gnome.org/sources/dspy/1.2/dspy-1.2.1.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/inih/recipe.toml b/recipes/wip/libs/other/inih/recipe.toml index 014f082b8..5ac3bfdfb 100644 --- a/recipes/wip/libs/other/inih/recipe.toml +++ b/recipes/wip/libs/other/inih/recipe.toml @@ -1,6 +1,7 @@ -#TODO missing script for Meson, see https://github.com/benhoyt/inih#meson-notes +#TODO not compiled or tested +# build instructions: https://github.com/benhoyt/inih#meson-notes [source] git = "https://github.com/benhoyt/inih" rev = "9cecf0643da0846e77f64d10a126d9f48b9e05e8" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/json-glib/recipe.toml b/recipes/wip/libs/other/json-glib/recipe.toml index 636769454..e0da7d376 100644 --- a/recipes/wip/libs/other/json-glib/recipe.toml +++ b/recipes/wip/libs/other/json-glib/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/json-glib/#build-and-installation +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/json-glib/#build-and-installation [source] tar = "https://download.gnome.org/sources/json-glib/1.8/json-glib-1.8.0.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "glib", ] diff --git a/recipes/wip/libs/other/jsonrpc-glib/recipe.toml b/recipes/wip/libs/other/jsonrpc-glib/recipe.toml index 65f6e6099..8ba494112 100644 --- a/recipes/wip/libs/other/jsonrpc-glib/recipe.toml +++ b/recipes/wip/libs/other/jsonrpc-glib/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/jsonrpc-glib#building +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/jsonrpc-glib#building [source] tar = "https://download.gnome.org/sources/jsonrpc-glib/3.44/jsonrpc-glib-3.44.0.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "glib", ] diff --git a/recipes/wip/libs/other/libadwaita/recipe.toml b/recipes/wip/libs/other/libadwaita/recipe.toml index dd5d581ee..b48885f6e 100644 --- a/recipes/wip/libs/other/libadwaita/recipe.toml +++ b/recipes/wip/libs/other/libadwaita/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/libadwaita#building +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/libadwaita#building [source] tar = "https://download.gnome.org/sources/libadwaita/1.4/libadwaita-1.4.0.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/libcamera/recipe.toml b/recipes/wip/libs/other/libcamera/recipe.toml index d5d786505..c52109d67 100644 --- a/recipes/wip/libs/other/libcamera/recipe.toml +++ b/recipes/wip/libs/other/libcamera/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://libcamera.org/getting-started.html +#TODO not compiled or tested +# build instructions: https://libcamera.org/getting-started.html [source] git = "https://git.libcamera.org/libcamera/libcamera" [build] -template = "custom" +template = "meson" dependencies = [ "libyaml", "libevdev", diff --git a/recipes/wip/libs/other/libdecor/recipe.toml b/recipes/wip/libs/other/libdecor/recipe.toml index d828692d1..9b11512fc 100644 --- a/recipes/wip/libs/other/libdecor/recipe.toml +++ b/recipes/wip/libs/other/libdecor/recipe.toml @@ -1,9 +1,10 @@ -#TODO missing script for Meson, see https://gitlab.freedesktop.org/libdecor/libdecor#build-install +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/libdecor/libdecor#build-install #TODO port to orbital [source] tar = "https://gitlab.freedesktop.org/libdecor/libdecor/uploads/ee5ef0f2c3a4743e8501a855d61cb397/libdecor-0.1.1.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "cairo", "pango", diff --git a/recipes/wip/libs/other/libdex/recipe.toml b/recipes/wip/libs/other/libdex/recipe.toml index 365fcee48..416794ff3 100644 --- a/recipes/wip/libs/other/libdex/recipe.toml +++ b/recipes/wip/libs/other/libdex/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/libdex#building +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/libdex#building [source] tar = "https://download.gnome.org/sources/libdex/0.4/libdex-0.4.1.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "glib", ] diff --git a/recipes/wip/libs/other/libfuse2/recipe.toml b/recipes/wip/libs/other/libfuse2/recipe.toml index 4f20632d9..e17f98df9 100644 --- a/recipes/wip/libs/other/libfuse2/recipe.toml +++ b/recipes/wip/libs/other/libfuse2/recipe.toml @@ -1,6 +1,7 @@ -#TODO missing script for Meson, see https://github.com/libfuse/libfuse#installation -#TODO require the "fused" daemon (equivalent to the Linux kernel module but in user-space) +#TODO not compiled or tested +# build instructions: https://github.com/libfuse/libfuse#installation +#TODO require a redox daemon (userspace equivalent of the Linux kernel module) [source] tar = "https://github.com/libfuse/libfuse/releases/download/fuse-2.9.9/fuse-2.9.9.tar.gz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/libfuse3/recipe.toml b/recipes/wip/libs/other/libfuse3/recipe.toml index 170c3bd73..8cd145ee5 100644 --- a/recipes/wip/libs/other/libfuse3/recipe.toml +++ b/recipes/wip/libs/other/libfuse3/recipe.toml @@ -1,6 +1,7 @@ -#TODO missing script for Meson, see https://github.com/libfuse/libfuse#installation -#TODO require the "fused" daemon (equivalent to the Linux kernel module but in user-space) +#TODO not compiled or tested +# build instructions: https://github.com/libfuse/libfuse#installation +#TODO require a redox daemon (userspace equivalent of the Linux kernel module) [source] tar = "https://github.com/libfuse/libfuse/releases/download/fuse-3.16.2/fuse-3.16.2.tar.gz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/libinput/recipe.toml b/recipes/wip/libs/other/libinput/recipe.toml index 40bb422c4..a042016bb 100644 --- a/recipes/wip/libs/other/libinput/recipe.toml +++ b/recipes/wip/libs/other/libinput/recipe.toml @@ -1,9 +1,10 @@ -#TODO missing script for Meson, see https://wayland.freedesktop.org/libinput/doc/latest/building.html#building +#TODO not compiled or tested +# build instructions: https://wayland.freedesktop.org/libinput/doc/latest/building.html#building [source] git = "https://gitlab.freedesktop.org/libinput/libinput" rev = "1680f2fbaa63a91739012c6b57988ab1918ea0b7" [build] -template = "custom" +template = "meson" dependencies = [ "eudev", "libevdev", diff --git a/recipes/wip/libs/other/libnotify/recipe.toml b/recipes/wip/libs/other/libnotify/recipe.toml index 456d3cd38..9e66bfe37 100644 --- a/recipes/wip/libs/other/libnotify/recipe.toml +++ b/recipes/wip/libs/other/libnotify/recipe.toml @@ -1,8 +1,8 @@ -#TODO missing script for Meson +#TODO not compiled or tested [source] tar = "https://download.gnome.org/sources/libnotify/0.8/libnotify-0.8.3.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "gtk3", "gdk-pixbuf", From 61f15132dfa1ce103541226b26e5aeb92e5f830f Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 13 Oct 2025 16:43:33 -0300 Subject: [PATCH 161/182] Try to fix more Meson-based recipes --- recipes/wip/libs/other/libpanel/recipe.toml | 5 +++-- recipes/wip/libs/other/libpeas/recipe.toml | 5 +++-- recipes/wip/libs/other/librist/recipe.toml | 5 +++-- recipes/wip/libs/other/libslirp/recipe.toml | 5 +++-- recipes/wip/libs/other/libvte/recipe.toml | 5 +++-- recipes/wip/libs/other/lilv/recipe.toml | 5 +++-- recipes/wip/libs/other/lv2/recipe.toml | 5 +++-- recipes/wip/libs/other/rubberband/recipe.toml | 5 +++-- recipes/wip/libs/other/sord/recipe.toml | 5 +++-- recipes/wip/libs/other/sratom/recipe.toml | 5 +++-- recipes/wip/libs/other/suil/recipe.toml | 5 +++-- recipes/wip/libs/other/totem-pl-parser/recipe.toml | 5 +++-- 12 files changed, 36 insertions(+), 24 deletions(-) diff --git a/recipes/wip/libs/other/libpanel/recipe.toml b/recipes/wip/libs/other/libpanel/recipe.toml index bceeb07bc..0dfe1cc64 100644 --- a/recipes/wip/libs/other/libpanel/recipe.toml +++ b/recipes/wip/libs/other/libpanel/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] tar = "https://download.gnome.org/sources/libpanel/1.4/libpanel-1.4.0.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/libpeas/recipe.toml b/recipes/wip/libs/other/libpeas/recipe.toml index cf0c9090c..b7fa78888 100644 --- a/recipes/wip/libs/other/libpeas/recipe.toml +++ b/recipes/wip/libs/other/libpeas/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/libpeas +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/libpeas [source] tar = "https://download.gnome.org/sources/libpeas/2.0/libpeas-2.0.0.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/librist/recipe.toml b/recipes/wip/libs/other/librist/recipe.toml index 39d440941..5757c5490 100644 --- a/recipes/wip/libs/other/librist/recipe.toml +++ b/recipes/wip/libs/other/librist/recipe.toml @@ -1,6 +1,7 @@ -#TODO missing script for Meson, see https://code.videolan.org/rist/librist#compile-using-mesonninja-linux-osx-and-windows-mingw +#TODO not compiled or tested +# build instructions: https://code.videolan.org/rist/librist#compile-using-mesonninja-linux-osx-and-windows-mingw [source] git = "https://code.videolan.org/rist/librist" rev = "1e805500dc14a507598cebdd49557c32e514899f" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/libslirp/recipe.toml b/recipes/wip/libs/other/libslirp/recipe.toml index 5017b462a..2722021bb 100644 --- a/recipes/wip/libs/other/libslirp/recipe.toml +++ b/recipes/wip/libs/other/libslirp/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.freedesktop.org/slirp/libslirp#building +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/slirp/libslirp#building [source] tar = "https://gitlab.freedesktop.org/slirp/libslirp/uploads/60113f60cfd6abe2c16dde9f6c81b631/libslirp-4.7.0.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/libvte/recipe.toml b/recipes/wip/libs/other/libvte/recipe.toml index 4c08fd16c..b45dbdc7a 100644 --- a/recipes/wip/libs/other/libvte/recipe.toml +++ b/recipes/wip/libs/other/libvte/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/vte/#installation +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/vte/#installation [source] tar = "https://download.gnome.org/sources/vte/0.74/vte-0.74.1.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/lilv/recipe.toml b/recipes/wip/libs/other/lilv/recipe.toml index c15da0083..04e68ce91 100644 --- a/recipes/wip/libs/other/lilv/recipe.toml +++ b/recipes/wip/libs/other/lilv/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.com/lv2/lilv/-/blob/master/INSTALL.md?ref_type=heads +#TODO not compiled or tested +# build instructions: https://gitlab.com/lv2/lilv/-/blob/master/INSTALL.md?ref_type=heads [source] tar = "https://download.drobilla.net/lilv-0.24.20.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/lv2/recipe.toml b/recipes/wip/libs/other/lv2/recipe.toml index bcbb450d2..e21a5da24 100644 --- a/recipes/wip/libs/other/lv2/recipe.toml +++ b/recipes/wip/libs/other/lv2/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.com/lv2/lv2/-/blob/master/INSTALL.md +#TODO not compiled or tested +# build instructions: https://gitlab.com/lv2/lv2/-/blob/master/INSTALL.md [source] tar = "https://lv2plug.in/spec/lv2-1.18.10.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/rubberband/recipe.toml b/recipes/wip/libs/other/rubberband/recipe.toml index 7908a22ad..e962cea6e 100644 --- a/recipes/wip/libs/other/rubberband/recipe.toml +++ b/recipes/wip/libs/other/rubberband/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://hg.sr.ht/~breakfastquay/rubberband/browse/COMPILING.md?rev=tip +#TODO not compiled or tested +# build instructions: https://hg.sr.ht/~breakfastquay/rubberband/browse/COMPILING.md?rev=tip [source] tar = "https://breakfastquay.com/files/releases/rubberband-3.2.1.tar.bz2" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/sord/recipe.toml b/recipes/wip/libs/other/sord/recipe.toml index fc03c5ed8..a9335d540 100644 --- a/recipes/wip/libs/other/sord/recipe.toml +++ b/recipes/wip/libs/other/sord/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.com/drobilla/sord/-/blob/master/INSTALL.md?ref_type=heads +#TODO not compiled or tested +# build instructions: https://gitlab.com/drobilla/sord/-/blob/master/INSTALL.md?ref_type=heads [source] tar = "https://download.drobilla.net/sord-0.16.14.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/sratom/recipe.toml b/recipes/wip/libs/other/sratom/recipe.toml index d15d8d3c3..dc1b31a28 100644 --- a/recipes/wip/libs/other/sratom/recipe.toml +++ b/recipes/wip/libs/other/sratom/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.com/lv2/sratom/-/blob/master/INSTALL.md?ref_type=heads +#TODO not compiled or tested +# build instructions: https://gitlab.com/lv2/sratom/-/blob/master/INSTALL.md?ref_type=heads [source] tar = "https://download.drobilla.net/sratom-0.6.14.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/suil/recipe.toml b/recipes/wip/libs/other/suil/recipe.toml index 7aa3f6083..49ff331ff 100644 --- a/recipes/wip/libs/other/suil/recipe.toml +++ b/recipes/wip/libs/other/suil/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.com/lv2/suil/-/blob/master/INSTALL.md?ref_type=heads +#TODO not compiled or tested +# build instructions: https://gitlab.com/lv2/suil/-/blob/master/INSTALL.md?ref_type=heads [source] tar = "https://download.drobilla.net/suil-0.10.18.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/libs/other/totem-pl-parser/recipe.toml b/recipes/wip/libs/other/totem-pl-parser/recipe.toml index 8e55be1a4..ebc359d50 100644 --- a/recipes/wip/libs/other/totem-pl-parser/recipe.toml +++ b/recipes/wip/libs/other/totem-pl-parser/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] tar = "https://download.gnome.org/sources/totem-pl-parser/3.26/totem-pl-parser-3.26.6.tar.xz" [build] -template = "configure" +template = "meson" dependencies = [ "libxml2", "glib", From 3459e0a79c6c801b6abe4ff6e7917ded37eb350d Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 13 Oct 2025 17:15:22 -0300 Subject: [PATCH 162/182] Try to fix more Meson-based recipes --- recipes/wip/net/other/varia/recipe.toml | 8 +++++--- recipes/wip/net/other/warp/recipe.toml | 6 ------ recipes/wip/net/sharing/warp/recipe.toml | 7 +++++++ recipes/wip/players/mpv/recipe.toml | 10 +++++----- .../wip/recorders/gpu-screen-recorder-gtk/recipe.toml | 2 +- recipes/wip/recorders/gpu-screen-recorder/recipe.toml | 4 ++-- recipes/wip/services/pipewire/recipe.toml | 5 +++-- recipes/wip/services/seatd/recipe.toml | 5 +++-- recipes/wip/services/wireplumber/recipe.toml | 5 +++-- recipes/wip/sound/mousai/recipe.toml | 4 ++-- recipes/wip/sound/pulseaudio/recipe.toml | 11 +++++++---- 11 files changed, 38 insertions(+), 29 deletions(-) delete mode 100644 recipes/wip/net/other/warp/recipe.toml create mode 100644 recipes/wip/net/sharing/warp/recipe.toml diff --git a/recipes/wip/net/other/varia/recipe.toml b/recipes/wip/net/other/varia/recipe.toml index 4313ea734..2c03f083a 100644 --- a/recipes/wip/net/other/varia/recipe.toml +++ b/recipes/wip/net/other/varia/recipe.toml @@ -1,6 +1,8 @@ -#TODO missing script for Meson, see https://github.com/giantpinkrobots/varia#building -#TODO probably missing dependencies +#TODO not compiled or tested +# build instructions: https://github.com/giantpinkrobots/varia#building +# probably missing dependencies [source] git = "https://github.com/giantpinkrobots/varia" +rev = "515bef5536b4947b3ae8dd3c23b7643ea590d73c" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/net/other/warp/recipe.toml b/recipes/wip/net/other/warp/recipe.toml deleted file mode 100644 index 5efe91cb8..000000000 --- a/recipes/wip/net/other/warp/recipe.toml +++ /dev/null @@ -1,6 +0,0 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/World/warp#meson -[source] -git = "https://gitlab.gnome.org/World/warp" -rev = "1daa60691aa1a697acaff55450dcccb085023fc7" -[build] -template = "custom" diff --git a/recipes/wip/net/sharing/warp/recipe.toml b/recipes/wip/net/sharing/warp/recipe.toml new file mode 100644 index 000000000..797f8b4df --- /dev/null +++ b/recipes/wip/net/sharing/warp/recipe.toml @@ -0,0 +1,7 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/World/warp#meson +[source] +git = "https://gitlab.gnome.org/World/warp" +rev = "1daa60691aa1a697acaff55450dcccb085023fc7" +[build] +template = "meson" diff --git a/recipes/wip/players/mpv/recipe.toml b/recipes/wip/players/mpv/recipe.toml index b3068129e..f036ba6b7 100644 --- a/recipes/wip/players/mpv/recipe.toml +++ b/recipes/wip/players/mpv/recipe.toml @@ -1,11 +1,11 @@ -#TODO missing script for Meson (use system libraries), see https://github.com/mpv-player/mpv#compilation -#TODO port to orbital +#TODO not compiled or tested +# build instructions: https://github.com/mpv-player/mpv#compilation #TODO missing dependencies [source] git = "https://github.com/mpv-player/mpv" -rev = "818ce7c51a6b9179307950e919983e0909942098" +rev = "e48ac7ce08462f5e33af6ef9deeac6fa87eef01e" [build] -template = "custom" +template = "meson" dependencies = [ "ffmpeg6", "libass", @@ -13,5 +13,5 @@ dependencies = [ "libiconv", "zlib", "mesa", - "pulseaudio", + "sdl2", ] diff --git a/recipes/wip/recorders/gpu-screen-recorder-gtk/recipe.toml b/recipes/wip/recorders/gpu-screen-recorder-gtk/recipe.toml index c2fc5c68f..e37a5938b 100644 --- a/recipes/wip/recorders/gpu-screen-recorder-gtk/recipe.toml +++ b/recipes/wip/recorders/gpu-screen-recorder-gtk/recipe.toml @@ -3,7 +3,7 @@ git = "https://git.dec05eba.com/gpu-screen-recorder-gtk" rev = "7fb7608b720068d3c114330e8d274b04ef310cf2" [build] -template = "custom" +template = "meson" dependencies = [ "gtk3", "libx11", diff --git a/recipes/wip/recorders/gpu-screen-recorder/recipe.toml b/recipes/wip/recorders/gpu-screen-recorder/recipe.toml index 7c43efed6..ebe10465e 100644 --- a/recipes/wip/recorders/gpu-screen-recorder/recipe.toml +++ b/recipes/wip/recorders/gpu-screen-recorder/recipe.toml @@ -1,9 +1,9 @@ -#TODO missing script for meson +#TODO not compiled or tested [source] git = "https://git.dec05eba.com/gpu-screen-recorder" rev = "422f214283ba50649acca4d9b5a9778d313fe05b" [build] -template = "custom" +template = "meson" dependencies = [ "mesa", "libvulkan", diff --git a/recipes/wip/services/pipewire/recipe.toml b/recipes/wip/services/pipewire/recipe.toml index d23a5eaaf..9e42dc400 100644 --- a/recipes/wip/services/pipewire/recipe.toml +++ b/recipes/wip/services/pipewire/recipe.toml @@ -1,6 +1,7 @@ -#TODO missing script for Meson, see https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/INSTALL.md +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/INSTALL.md [source] git = "https://gitlab.freedesktop.org/pipewire/pipewire" rev = "4debdcd40b055b3eaa83a8f4443aa990ea566bfe" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/services/seatd/recipe.toml b/recipes/wip/services/seatd/recipe.toml index b3731c244..65b6f5cd0 100644 --- a/recipes/wip/services/seatd/recipe.toml +++ b/recipes/wip/services/seatd/recipe.toml @@ -1,6 +1,7 @@ -#TODO missing script for Meson, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] git = "https://git.sr.ht/~kennylevinsen/seatd" rev = "3e9ef69f14f630a719dd464f3c90a7932f1c8296" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/services/wireplumber/recipe.toml b/recipes/wip/services/wireplumber/recipe.toml index 34a5804fb..cbac08ad7 100644 --- a/recipes/wip/services/wireplumber/recipe.toml +++ b/recipes/wip/services/wireplumber/recipe.toml @@ -1,9 +1,10 @@ -#TODO missing script for Meson, see https://pipewire.pages.freedesktop.org/wireplumber/installing-wireplumber.html +#TODO not compiled or tested +# build instructions: https://pipewire.pages.freedesktop.org/wireplumber/installing-wireplumber.html [source] git = "https://gitlab.freedesktop.org/pipewire/wireplumber" rev = "d3eb77b292655cef333a8f4cab4e861415bc37c2" [build] -template = "custom" +template = "meson" dependencies = [ "pipewire", "glib", diff --git a/recipes/wip/sound/mousai/recipe.toml b/recipes/wip/sound/mousai/recipe.toml index 034a5dfea..69ff17d46 100644 --- a/recipes/wip/sound/mousai/recipe.toml +++ b/recipes/wip/sound/mousai/recipe.toml @@ -1,8 +1,8 @@ -#TODO missing script for meson +#TODO not compiled or tested [source] git = "https://github.com/SeaDve/Mousai" [build] -template = "custom" +template = "meson" dependencies = [ "glib", "gtk4", diff --git a/recipes/wip/sound/pulseaudio/recipe.toml b/recipes/wip/sound/pulseaudio/recipe.toml index 1fe3b86f0..40a962cd1 100644 --- a/recipes/wip/sound/pulseaudio/recipe.toml +++ b/recipes/wip/sound/pulseaudio/recipe.toml @@ -1,12 +1,15 @@ -#TODO missing script for Meson, see https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/PulseAudioFromGit/ -#TODO only build the library and disable the daemon in favor of PipeWire, see https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/INSTALL.md#pulseaudio-replacement +#TODO not compiled or tested +# build instructions: https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/PulseAudioFromGit/ [source] tar = "https://freedesktop.org/software/pulseaudio/releases/pulseaudio-17.0.tar.xz" [build] -template = "custom" +template = "meson" +mesonflags = [ + "-Ddaemon=false" +] dependencies = [ "libsndfile", - "libatomic_ops", + "libatomic-ops", "speexdsp", "libtool", "json-c", From 613f94df81df0f8d6e6dd5ab7efe4ae6656bc811 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 13 Oct 2025 17:16:37 -0300 Subject: [PATCH 163/182] Rename pulseaudio recipe --- recipes/wip/sound/{pulseaudio => libpulse}/recipe.toml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename recipes/wip/sound/{pulseaudio => libpulse}/recipe.toml (100%) diff --git a/recipes/wip/sound/pulseaudio/recipe.toml b/recipes/wip/sound/libpulse/recipe.toml similarity index 100% rename from recipes/wip/sound/pulseaudio/recipe.toml rename to recipes/wip/sound/libpulse/recipe.toml From e49004a3431d5b09bdfa45dcd792ee8e0e972891 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Mon, 13 Oct 2025 17:18:49 -0300 Subject: [PATCH 164/182] Remove audio-sharing recipe --- recipes/wip/sound/audio-sharing/recipe.toml | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 recipes/wip/sound/audio-sharing/recipe.toml diff --git a/recipes/wip/sound/audio-sharing/recipe.toml b/recipes/wip/sound/audio-sharing/recipe.toml deleted file mode 100644 index 48603b874..000000000 --- a/recipes/wip/sound/audio-sharing/recipe.toml +++ /dev/null @@ -1,12 +0,0 @@ -#TODO missing script for meson -# build instructions - https://gitlab.gnome.org/World/AudioSharing#building-it-manually -[source] -git = "https://gitlab.gnome.org/World/AudioSharing" -[build] -template = "custom" -dependencies = [ - "gtk4", - "glib", - "libadwaita", - "gstreamer", -] From 9a7c7983cdf927ab2aac4d1b3d2f28020e73903c Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 14 Oct 2025 09:56:38 -0300 Subject: [PATCH 165/182] Move WIP ssh recipe category to net --- recipes/wip/{ => net}/ssh/dropbear/recipe.toml | 0 recipes/wip/{ => net}/ssh/fastssh/recipe.toml | 0 recipes/wip/{ => net}/ssh/mosh/recipe.toml | 0 recipes/wip/{ => net}/ssh/russh/recipe.toml | 0 recipes/wip/{ => net}/ssh/sshfs/recipe.toml | 0 recipes/wip/{ => net}/ssh/sshs/recipe.toml | 0 recipes/wip/{ => net}/ssh/sshx/recipe.toml | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename recipes/wip/{ => net}/ssh/dropbear/recipe.toml (100%) rename recipes/wip/{ => net}/ssh/fastssh/recipe.toml (100%) rename recipes/wip/{ => net}/ssh/mosh/recipe.toml (100%) rename recipes/wip/{ => net}/ssh/russh/recipe.toml (100%) rename recipes/wip/{ => net}/ssh/sshfs/recipe.toml (100%) rename recipes/wip/{ => net}/ssh/sshs/recipe.toml (100%) rename recipes/wip/{ => net}/ssh/sshx/recipe.toml (100%) diff --git a/recipes/wip/ssh/dropbear/recipe.toml b/recipes/wip/net/ssh/dropbear/recipe.toml similarity index 100% rename from recipes/wip/ssh/dropbear/recipe.toml rename to recipes/wip/net/ssh/dropbear/recipe.toml diff --git a/recipes/wip/ssh/fastssh/recipe.toml b/recipes/wip/net/ssh/fastssh/recipe.toml similarity index 100% rename from recipes/wip/ssh/fastssh/recipe.toml rename to recipes/wip/net/ssh/fastssh/recipe.toml diff --git a/recipes/wip/ssh/mosh/recipe.toml b/recipes/wip/net/ssh/mosh/recipe.toml similarity index 100% rename from recipes/wip/ssh/mosh/recipe.toml rename to recipes/wip/net/ssh/mosh/recipe.toml diff --git a/recipes/wip/ssh/russh/recipe.toml b/recipes/wip/net/ssh/russh/recipe.toml similarity index 100% rename from recipes/wip/ssh/russh/recipe.toml rename to recipes/wip/net/ssh/russh/recipe.toml diff --git a/recipes/wip/ssh/sshfs/recipe.toml b/recipes/wip/net/ssh/sshfs/recipe.toml similarity index 100% rename from recipes/wip/ssh/sshfs/recipe.toml rename to recipes/wip/net/ssh/sshfs/recipe.toml diff --git a/recipes/wip/ssh/sshs/recipe.toml b/recipes/wip/net/ssh/sshs/recipe.toml similarity index 100% rename from recipes/wip/ssh/sshs/recipe.toml rename to recipes/wip/net/ssh/sshs/recipe.toml diff --git a/recipes/wip/ssh/sshx/recipe.toml b/recipes/wip/net/ssh/sshx/recipe.toml similarity index 100% rename from recipes/wip/ssh/sshx/recipe.toml rename to recipes/wip/net/ssh/sshx/recipe.toml From 5370a0bd1f543f7340eb95fa153dacb9f6a11db3 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 14 Oct 2025 11:09:28 -0300 Subject: [PATCH 166/182] Try to fix more Meson-based recipes --- recipes/wip/libs/other/appstream/recipe.toml | 13 +++++++++++++ recipes/wip/net/ssh/sshfs/recipe.toml | 5 +++-- .../wip/sys-info/mission-center/recipe.toml | 11 +++++++---- recipes/wip/text/rnote/recipe.toml | 10 ++++------ recipes/wip/tools/flowtime/recipe.toml | 5 +++-- recipes/wip/tools/mangohud/recipe.toml | 18 ++++++++++++------ recipes/wip/tools/spidey/recipe.toml | 8 ++++++-- recipes/wip/tools/tauro-monitor/recipe.toml | 5 +++-- 8 files changed, 51 insertions(+), 24 deletions(-) create mode 100644 recipes/wip/libs/other/appstream/recipe.toml diff --git a/recipes/wip/libs/other/appstream/recipe.toml b/recipes/wip/libs/other/appstream/recipe.toml new file mode 100644 index 000000000..2508aa9ff --- /dev/null +++ b/recipes/wip/libs/other/appstream/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/ximion/appstream#build--install +#TODO missing dependencies +[source] +tar = "https://www.freedesktop.org/software/appstream/releases/AppStream-1.1.1.tar.xz" +[build] +template = "meson" +dependencies = [ + "glib", + "gobject-introspection", + "libxml2", + "curl", +] diff --git a/recipes/wip/net/ssh/sshfs/recipe.toml b/recipes/wip/net/ssh/sshfs/recipe.toml index 4e45b6b0e..aa97842ec 100644 --- a/recipes/wip/net/ssh/sshfs/recipe.toml +++ b/recipes/wip/net/ssh/sshfs/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://github.com/libfuse/sshfs#installation +#TODO not compiled or tested +# build instructions: https://github.com/libfuse/sshfs#installation [source] tar = "https://github.com/libfuse/sshfs/releases/download/sshfs-3.7.3/sshfs-3.7.3.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "libfuse3", "glib", diff --git a/recipes/wip/sys-info/mission-center/recipe.toml b/recipes/wip/sys-info/mission-center/recipe.toml index 4016ee5c2..d5f56bee4 100644 --- a/recipes/wip/sys-info/mission-center/recipe.toml +++ b/recipes/wip/sys-info/mission-center/recipe.toml @@ -1,11 +1,14 @@ -#TODO missing script for meson -#TODO missing dependencies -# build instructions - https://gitlab.com/mission-center-devs/mission-center#building---native +#TODO not compiled or tested +# build instructions: https://gitlab.com/mission-center-devs/mission-center#building---native +#TODO patch to disable libgbm [source] git = "https://gitlab.com/mission-center-devs/mission-center" [build] -template = "custom" +template = "meson" dependencies = [ "gtk4", "libadwaita", + "eudev", + "libdrm", + "dbus", ] diff --git a/recipes/wip/text/rnote/recipe.toml b/recipes/wip/text/rnote/recipe.toml index c17b24307..1080f336c 100644 --- a/recipes/wip/text/rnote/recipe.toml +++ b/recipes/wip/text/rnote/recipe.toml @@ -1,16 +1,14 @@ #TODO not compiled or tested -# build instructions - https://github.com/flxzt/rnote/blob/main/BUILDING.md#build-with-meson +# build instructions: https://github.com/flxzt/rnote/blob/main/BUILDING.md#build-with-meson [source] git = "https://github.com/flxzt/rnote" [build] -template = "custom" +template = "meson" dependencies = [ + "gtk4", "glib", "libadwaita", - "glib", "libalsa", "libpoppler", + "appstream", ] -script = """ -cookbook_cargo_packages rnote -""" diff --git a/recipes/wip/tools/flowtime/recipe.toml b/recipes/wip/tools/flowtime/recipe.toml index abd3eda59..efbc1e5f2 100644 --- a/recipes/wip/tools/flowtime/recipe.toml +++ b/recipes/wip/tools/flowtime/recipe.toml @@ -1,9 +1,10 @@ -#TODO missing script for Meson, see https://github.com/Diego-Ivan/Flowtime#building-from-source +#TODO not compiled or tested +# build instructions: https://github.com/Diego-Ivan/Flowtime#building-from-source [source] git = "https://github.com/Diego-Ivan/Flowtime" rev = "2cb1160f7f61ec0a6add292deca38a3150336f03" [build] -template = "custom" +template = "meson" dependencies = [ "gtk4", "libxml2", diff --git a/recipes/wip/tools/mangohud/recipe.toml b/recipes/wip/tools/mangohud/recipe.toml index 83480f5a7..96db3c626 100644 --- a/recipes/wip/tools/mangohud/recipe.toml +++ b/recipes/wip/tools/mangohud/recipe.toml @@ -1,9 +1,15 @@ -#TODO missing script for Meson, see https://github.com/flightlessmango/MangoHud#installation---build-from-source -#TODO port to orbital +#TODO not compiled or tested +# build instructions: https://github.com/flightlessmango/MangoHud#installation---build-from-source [source] -tar = "https://github.com/flightlessmango/MangoHud/releases/download/v0.7.0/MangoHud-v0.7.0-Source.tar.xz" +tar = "https://github.com/flightlessmango/MangoHud/releases/download/v0.8.1/MangoHud-v0.8.1-Source.tar.xz" [build] -template = "custom" -dependencies = [ - "mesa", +template = "meson" +mesonflags = [ + "-Dwith_xnvctrl=disabled", + "-Dwith_dbus=disabled", +] +dependencies = [ + "mesa-x11", + "libx11", + #"libxkbcommon", ] diff --git a/recipes/wip/tools/spidey/recipe.toml b/recipes/wip/tools/spidey/recipe.toml index 2dcb31af7..58f4aa508 100644 --- a/recipes/wip/tools/spidey/recipe.toml +++ b/recipes/wip/tools/spidey/recipe.toml @@ -1,5 +1,9 @@ -#TODO needs to determine the build method (Cargo or Meson) +#TODO not compiled or tested [source] git = "https://github.com/kdwk/Spidey" [build] -template = "custom" +template = "meson" +dependencies = [ + "gtk4", + "glib", +] diff --git a/recipes/wip/tools/tauro-monitor/recipe.toml b/recipes/wip/tools/tauro-monitor/recipe.toml index 3ed900d7e..d04ef7efc 100644 --- a/recipes/wip/tools/tauro-monitor/recipe.toml +++ b/recipes/wip/tools/tauro-monitor/recipe.toml @@ -1,6 +1,7 @@ -#TODO missing script for Meson, lacking installation instructions +#TODO not compiled or tested +# lacking build instructions [source] git = "https://github.com/taunoe/tauno-monitor" rev = "fecab98710bf6918141f34709f4ee1a055413056" [build] -template = "custom" +template = "meson" From 961f20813e1e454ccbea94ec977dfc53123f475e Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 14 Oct 2025 11:10:17 -0300 Subject: [PATCH 167/182] Fix the tauro-monitor recipe name --- recipes/wip/tools/{tauro-monitor => tauno-monitor}/recipe.toml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename recipes/wip/tools/{tauro-monitor => tauno-monitor}/recipe.toml (100%) diff --git a/recipes/wip/tools/tauro-monitor/recipe.toml b/recipes/wip/tools/tauno-monitor/recipe.toml similarity index 100% rename from recipes/wip/tools/tauro-monitor/recipe.toml rename to recipes/wip/tools/tauno-monitor/recipe.toml From 6e3caa13a178b6bc0e0b9698433fb4b4ae4419af Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 14 Oct 2025 12:07:45 -0300 Subject: [PATCH 168/182] Try to fix more Meson-based recipes --- recipes/wip/video/editors/pitivi/recipe.toml | 5 +++-- recipes/wip/video/webcam/cheese/recipe.toml | 16 +++++++++++++--- recipes/wip/vm/libvirt/recipe.toml | 6 +++--- recipes/wip/wayland/sway/recipe.toml | 5 +++-- recipes/wip/wayland/wayland-utils/recipe.toml | 5 +++-- recipes/wip/wayland/wlroots/recipe.toml | 5 +++-- recipes/wip/wayland/xwayland/recipe.toml | 2 +- recipes/wip/x11/libglvnd/recipe.toml | 6 +----- 8 files changed, 30 insertions(+), 20 deletions(-) diff --git a/recipes/wip/video/editors/pitivi/recipe.toml b/recipes/wip/video/editors/pitivi/recipe.toml index 35bbf8a59..0f6ac0d1d 100644 --- a/recipes/wip/video/editors/pitivi/recipe.toml +++ b/recipes/wip/video/editors/pitivi/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, lacking build instructions +#TODO not compiled or tested +# lacking build instructions [source] tar = "https://download.gnome.org/sources/pitivi/2023/pitivi-2023.03.tar.xz" [build] -template = "custom" +template = "meson" dependencies = [ "gtk3", "gstreamer", diff --git a/recipes/wip/video/webcam/cheese/recipe.toml b/recipes/wip/video/webcam/cheese/recipe.toml index 8866dea1d..dd758e265 100644 --- a/recipes/wip/video/webcam/cheese/recipe.toml +++ b/recipes/wip/video/webcam/cheese/recipe.toml @@ -1,6 +1,16 @@ -#TODO missing script for Meson, see https://gitlab.gnome.org/GNOME/cheese -#TODO maybe need GStreamer as dependency +#TODO not compiled or tested +# lacking build instructions: https://gitlab.gnome.org/GNOME/cheese/-/blob/master/meson.build +# missing dependencies [source] tar = "https://download.gnome.org/sources/cheese/44/cheese-44.1.tar.xz" [build] -template = "custom" +template = "meson" +mesonflags = [ + "-Dgtk_doc=false" +] +dependencies = [ + "gtk3", + "glib", + "gdk-pixbuf", + "gstreamer", +] diff --git a/recipes/wip/vm/libvirt/recipe.toml b/recipes/wip/vm/libvirt/recipe.toml index c05469145..c544bea8a 100644 --- a/recipes/wip/vm/libvirt/recipe.toml +++ b/recipes/wip/vm/libvirt/recipe.toml @@ -1,6 +1,6 @@ -#TODO missing script for meson -# build instructions - https://libvirt.org/compiling.html#configuring-the-project +#TODO not compiled or tested +# build instructions: https://libvirt.org/compiling.html#configuring-the-project [source] tar = "https://download.libvirt.org/libvirt-10.7.0.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/wayland/sway/recipe.toml b/recipes/wip/wayland/sway/recipe.toml index bbfaf68dd..7107dc3dd 100644 --- a/recipes/wip/wayland/sway/recipe.toml +++ b/recipes/wip/wayland/sway/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://github.com/swaywm/sway#compiling-from-source +#TODO not compiled or tested +# build instructions: https://github.com/swaywm/sway#compiling-from-source [source] tar = "https://github.com/swaywm/sway/releases/download/1.8.1/sway-1.8.1.tar.gz" [build] -template = "custom" +template = "meson" dependencies = [ "wlroots", "libwayland", diff --git a/recipes/wip/wayland/wayland-utils/recipe.toml b/recipes/wip/wayland/wayland-utils/recipe.toml index bcfeb935e..fa94decf0 100644 --- a/recipes/wip/wayland/wayland-utils/recipe.toml +++ b/recipes/wip/wayland/wayland-utils/recipe.toml @@ -1,5 +1,6 @@ -#TODO missing script for Meson, see https://gitlab.freedesktop.org/wayland/wayland-utils#building +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/wayland/wayland-utils#building [source] tar = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/1.2.0/downloads/wayland-utils-1.2.0.tar.xz" [build] -template = "custom" +template = "meson" diff --git a/recipes/wip/wayland/wlroots/recipe.toml b/recipes/wip/wayland/wlroots/recipe.toml index e52475e5b..ba65fb026 100644 --- a/recipes/wip/wayland/wlroots/recipe.toml +++ b/recipes/wip/wayland/wlroots/recipe.toml @@ -1,8 +1,9 @@ -#TODO missing script for Meson, see https://gitlab.freedesktop.org/wlroots/wlroots#building +#TODO not compiled or tested +# build instructions: https://gitlab.freedesktop.org/wlroots/wlroots#building [source] tar = "https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.17.0/downloads/wlroots-0.17.0.tar.gz" [build] -template = "custom" +template = "meson" dependencies = [ "libwayland", "libxcb", diff --git a/recipes/wip/wayland/xwayland/recipe.toml b/recipes/wip/wayland/xwayland/recipe.toml index d7ed31b66..af1cf4223 100644 --- a/recipes/wip/wayland/xwayland/recipe.toml +++ b/recipes/wip/wayland/xwayland/recipe.toml @@ -34,5 +34,5 @@ mesonflags = [ "-Dglamor=false", "-Dglx=false", "-Dsecure-rpc=false", - "-Dmitshm=false" + "-Dmitshm=false", ] diff --git a/recipes/wip/x11/libglvnd/recipe.toml b/recipes/wip/x11/libglvnd/recipe.toml index c2ac4a82f..46ca86c6e 100644 --- a/recipes/wip/x11/libglvnd/recipe.toml +++ b/recipes/wip/x11/libglvnd/recipe.toml @@ -11,8 +11,4 @@ dependencies = [ "libxext", "x11proto", ] -template = "custom" -script = """ -DYNAMIC_INIT -cookbook_meson -""" +template = "meson" From 33e46babc4be2a39b9b91be05fd4e1a907e695c9 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 14 Oct 2025 12:09:14 -0300 Subject: [PATCH 169/182] Add initial easyp recipe script --- recipes/wip/net/http/easyp/recipe.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/wip/net/http/easyp/recipe.toml b/recipes/wip/net/http/easyp/recipe.toml index 8c18697eb..12dfb7669 100644 --- a/recipes/wip/net/http/easyp/recipe.toml +++ b/recipes/wip/net/http/easyp/recipe.toml @@ -4,3 +4,6 @@ git = "https://github.com/gmatht/easyp-crate" [build] template = "custom" +script = """ +cookbook_cargo +""" From 8d5a3e4ebacec4779ddf3f29a78831b9c006afb9 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 14 Oct 2025 12:31:31 -0300 Subject: [PATCH 170/182] Remove the duplicated xorgproto recipe --- recipes/wip/x11/xorgproto/recipe.toml | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 recipes/wip/x11/xorgproto/recipe.toml diff --git a/recipes/wip/x11/xorgproto/recipe.toml b/recipes/wip/x11/xorgproto/recipe.toml deleted file mode 100644 index 2d62b819a..000000000 --- a/recipes/wip/x11/xorgproto/recipe.toml +++ /dev/null @@ -1,4 +0,0 @@ -[source] -tar = "https://www.x.org/archive/individual/proto/xorgproto-2024.1.tar.xz" -[build] -template = "meson" From d9c8afb9695cc84dd63bc9a1c0e1d1963fbfd656 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 14 Oct 2025 12:39:47 -0300 Subject: [PATCH 171/182] Fix a xwayland recipe dependency --- recipes/wip/wayland/xwayland/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wip/wayland/xwayland/recipe.toml b/recipes/wip/wayland/xwayland/recipe.toml index af1cf4223..3ac342a59 100644 --- a/recipes/wip/wayland/xwayland/recipe.toml +++ b/recipes/wip/wayland/xwayland/recipe.toml @@ -14,7 +14,7 @@ dependencies = [ "libffi", "libpng", "pixman", - "xorgproto", + "x11proto", "xtrans", "libxau", "libx11", From 38ce4b75f3bcd49f543df04805bcaceea9fe7f4d Mon Sep 17 00:00:00 2001 From: Ribbon Date: Tue, 14 Oct 2025 12:45:47 -0300 Subject: [PATCH 172/182] Update webkitgtk3 recipe TODO --- recipes/wip/libs/other/webkitgtk3/recipe.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wip/libs/other/webkitgtk3/recipe.toml b/recipes/wip/libs/other/webkitgtk3/recipe.toml index 00ce81f66..09261153c 100644 --- a/recipes/wip/libs/other/webkitgtk3/recipe.toml +++ b/recipes/wip/libs/other/webkitgtk3/recipe.toml @@ -1,4 +1,4 @@ -#TODO missing dependencies, see https://archlinux.org/packages/extra/x86_64/webkitgtk-6.0/ +#TODO runtime hangs [source] tar = "https://webkitgtk.org/releases/webkitgtk-2.49.1.tar.xz" blake3 = "7f04acb2f909ad334fc623afb297ebca1d5a5005bda1682946fb37e044e45ecb" From b5ddafcd635778e8869bed3c9d830517a66388d6 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 15 Oct 2025 18:19:46 -0300 Subject: [PATCH 173/182] Try to fix recipes and update TODOs --- recipes/wip/dev/other/crates-tui/recipe.toml | 2 +- .../wip/emulators/game-console/gameboy/gameroy/recipe.toml | 2 +- recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml | 2 +- recipes/wip/games/fps/vkquake2/recipe.toml | 4 ++-- recipes/wip/graphics/other/glou/recipe.toml | 2 +- recipes/wip/graphics/other/oculante/recipe.toml | 4 +++- recipes/wip/libs/gtk/gtk2/recipe.toml | 5 +++-- recipes/wip/libs/gtk/gtk3/recipe.toml | 2 +- recipes/wip/libs/other/libdecor/recipe.toml | 6 ++---- recipes/wip/libs/qt4/recipe.toml | 3 +-- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/recipes/wip/dev/other/crates-tui/recipe.toml b/recipes/wip/dev/other/crates-tui/recipe.toml index 6a37b7708..f7ded8dd9 100644 --- a/recipes/wip/dev/other/crates-tui/recipe.toml +++ b/recipes/wip/dev/other/crates-tui/recipe.toml @@ -1,4 +1,4 @@ -#TODO port to the Orbital clipboard +#TODO not compiled or tested [source] git = "https://github.com/ratatui-org/crates-tui" [build] diff --git a/recipes/wip/emulators/game-console/gameboy/gameroy/recipe.toml b/recipes/wip/emulators/game-console/gameboy/gameroy/recipe.toml index aa26a7ca4..004d06dc5 100644 --- a/recipes/wip/emulators/game-console/gameboy/gameroy/recipe.toml +++ b/recipes/wip/emulators/game-console/gameboy/gameroy/recipe.toml @@ -1,4 +1,4 @@ -#TODO port to Orbital +#TODO not compiled or tested [source] git = "https://github.com/Rodrigodd/gameroy" [build] diff --git a/recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml b/recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml index b8d6a00ca..a4a3fc1a0 100644 --- a/recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml +++ b/recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml @@ -1,6 +1,6 @@ #TODO not compiled or tested yet # build instructions: https://github.com/hrydgard/ppsspp/wiki/Build-instructions -#git = "https://github.com/jackpot51/ppsspp" # wip port to orbital +#git = "https://github.com/jackpot51/ppsspp" # wip orbital port [source] git = "https://github.com/hrydgard/ppsspp" [build] diff --git a/recipes/wip/games/fps/vkquake2/recipe.toml b/recipes/wip/games/fps/vkquake2/recipe.toml index 705d821f4..982a96e3e 100644 --- a/recipes/wip/games/fps/vkquake2/recipe.toml +++ b/recipes/wip/games/fps/vkquake2/recipe.toml @@ -1,5 +1,5 @@ -#TODO missing script for "make", see https://github.com/kondrak/vkQuake2#linux -#TODO port to orbital +#TODO missing script for gnu make +# build instructions: https://github.com/kondrak/vkQuake2#linux [source] git = "https://github.com/kondrak/vkQuake2" rev = "bdd39b142fbadf581fd9d904968a83fb9b4a929a" diff --git a/recipes/wip/graphics/other/glou/recipe.toml b/recipes/wip/graphics/other/glou/recipe.toml index dd3e9ea2a..578130deb 100644 --- a/recipes/wip/graphics/other/glou/recipe.toml +++ b/recipes/wip/graphics/other/glou/recipe.toml @@ -1,4 +1,4 @@ -#TODO port to orbital +#TODO not compiled or tested [source] git = "https://github.com/Nurrl/glou" [build] diff --git a/recipes/wip/graphics/other/oculante/recipe.toml b/recipes/wip/graphics/other/oculante/recipe.toml index 72e854d0c..7df3c88f9 100644 --- a/recipes/wip/graphics/other/oculante/recipe.toml +++ b/recipes/wip/graphics/other/oculante/recipe.toml @@ -1,8 +1,10 @@ -#TODO needs to be ported to Orbital +#TODO not compiled or tested [source] git = "https://github.com/woelper/oculante" [build] template = "cargo" dependencies = [ "gtk3", + "libxcb", + "libalsa", ] diff --git a/recipes/wip/libs/gtk/gtk2/recipe.toml b/recipes/wip/libs/gtk/gtk2/recipe.toml index 679afcd07..306a084df 100644 --- a/recipes/wip/libs/gtk/gtk2/recipe.toml +++ b/recipes/wip/libs/gtk/gtk2/recipe.toml @@ -1,10 +1,11 @@ -#TODO probably missing dependencies -#TODO port to orbital +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/GNOME/gtk/-/blob/gtk-2-24/INSTALL.in [source] tar = "https://download.gnome.org/sources/gtk%2B/2.24/gtk%2B-2.24.33.tar.xz" [build] template = "configure" dependencies = [ + "atk", "glib", "pango", "gdk-pixbuf", diff --git a/recipes/wip/libs/gtk/gtk3/recipe.toml b/recipes/wip/libs/gtk/gtk3/recipe.toml index da2310916..c268a3544 100644 --- a/recipes/wip/libs/gtk/gtk3/recipe.toml +++ b/recipes/wip/libs/gtk/gtk3/recipe.toml @@ -1,4 +1,4 @@ -#TODO port to orbital +#TODO promote [source] tar = "https://download.gnome.org/sources/gtk+/3.24/gtk%2B-3.24.43.tar.xz" blake3 = "5feab2bad81e6b5906895f70ddce6227cf96a6a14b16af0ef72c79991a48ddf4" diff --git a/recipes/wip/libs/other/libdecor/recipe.toml b/recipes/wip/libs/other/libdecor/recipe.toml index 9b11512fc..75aad337f 100644 --- a/recipes/wip/libs/other/libdecor/recipe.toml +++ b/recipes/wip/libs/other/libdecor/recipe.toml @@ -1,12 +1,10 @@ #TODO not compiled or tested -# build instructions: https://gitlab.freedesktop.org/libdecor/libdecor#build-install -#TODO port to orbital +# build instructions: https://gitlab.freedesktop.org/libdecor/libdecor#build--install [source] tar = "https://gitlab.freedesktop.org/libdecor/libdecor/uploads/ee5ef0f2c3a4743e8501a855d61cb397/libdecor-0.1.1.tar.xz" [build] template = "meson" dependencies = [ - "cairo", "pango", - "dbus", + "libwayland", ] diff --git a/recipes/wip/libs/qt4/recipe.toml b/recipes/wip/libs/qt4/recipe.toml index 92e1abe5b..b45036ec2 100644 --- a/recipes/wip/libs/qt4/recipe.toml +++ b/recipes/wip/libs/qt4/recipe.toml @@ -1,5 +1,4 @@ -#TODO find a tarball link -#TODO port to Orbital +#TODO not compiled or tested [source] tar = "http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz" [build] From 664b043881cdc19876b4b9d6daef73de55a8f971 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 15 Oct 2025 18:27:32 -0300 Subject: [PATCH 174/182] Move WIP recipes --- .../emulators/game-console/{nintendo => }/dolphin-emu/recipe.toml | 0 .../emulators/game-console/{arcade => }/finalburn-neo/recipe.toml | 0 recipes/wip/emulators/game-console/{n64 => }/gopher64/recipe.toml | 0 .../wip/emulators/game-console/{nintendo => }/lime3ds/recipe.toml | 0 recipes/wip/emulators/game-console/{arcade => }/mame/recipe.toml | 0 recipes/wip/emulators/game-console/{nds => }/melonds/recipe.toml | 0 .../wip/emulators/game-console/{nintendo => }/meru/recipe.toml | 0 .../emulators/game-console/{n64 => }/mupen64plus-core/recipe.toml | 0 .../wip/emulators/game-console/{ps4 => }/obliteration/recipe.toml | 0 recipes/wip/emulators/game-console/{ps2 => }/pcsx2/recipe.toml | 0 .../wip/emulators/game-console/{sega => }/picodrive/recipe.toml | 0 recipes/wip/emulators/game-console/{ps2 => }/play/recipe.toml | 0 recipes/wip/emulators/game-console/{psp => }/ppsspp/recipe.toml | 0 recipes/wip/emulators/game-console/{ps3 => }/rpcs3/recipe.toml | 0 recipes/wip/emulators/game-console/{ps4 => }/shadPS4/recipe.toml | 0 recipes/wip/emulators/game-console/{snes => }/snes9x/recipe.toml | 0 .../wip/emulators/game-console/{sega => }/uoyabause/recipe.toml | 0 .../wip/emulators/game-console/{psvita => }/vita3k/recipe.toml | 0 recipes/wip/emulators/game-console/{xbox => }/xemu/recipe.toml | 0 .../emulators/game-console/{xbox360 => }/xenia-canary/recipe.toml | 0 recipes/wip/emulators/game-console/{snes => }/zsnes/recipe.toml | 0 21 files changed, 0 insertions(+), 0 deletions(-) rename recipes/wip/emulators/game-console/{nintendo => }/dolphin-emu/recipe.toml (100%) rename recipes/wip/emulators/game-console/{arcade => }/finalburn-neo/recipe.toml (100%) rename recipes/wip/emulators/game-console/{n64 => }/gopher64/recipe.toml (100%) rename recipes/wip/emulators/game-console/{nintendo => }/lime3ds/recipe.toml (100%) rename recipes/wip/emulators/game-console/{arcade => }/mame/recipe.toml (100%) rename recipes/wip/emulators/game-console/{nds => }/melonds/recipe.toml (100%) rename recipes/wip/emulators/game-console/{nintendo => }/meru/recipe.toml (100%) rename recipes/wip/emulators/game-console/{n64 => }/mupen64plus-core/recipe.toml (100%) rename recipes/wip/emulators/game-console/{ps4 => }/obliteration/recipe.toml (100%) rename recipes/wip/emulators/game-console/{ps2 => }/pcsx2/recipe.toml (100%) rename recipes/wip/emulators/game-console/{sega => }/picodrive/recipe.toml (100%) rename recipes/wip/emulators/game-console/{ps2 => }/play/recipe.toml (100%) rename recipes/wip/emulators/game-console/{psp => }/ppsspp/recipe.toml (100%) rename recipes/wip/emulators/game-console/{ps3 => }/rpcs3/recipe.toml (100%) rename recipes/wip/emulators/game-console/{ps4 => }/shadPS4/recipe.toml (100%) rename recipes/wip/emulators/game-console/{snes => }/snes9x/recipe.toml (100%) rename recipes/wip/emulators/game-console/{sega => }/uoyabause/recipe.toml (100%) rename recipes/wip/emulators/game-console/{psvita => }/vita3k/recipe.toml (100%) rename recipes/wip/emulators/game-console/{xbox => }/xemu/recipe.toml (100%) rename recipes/wip/emulators/game-console/{xbox360 => }/xenia-canary/recipe.toml (100%) rename recipes/wip/emulators/game-console/{snes => }/zsnes/recipe.toml (100%) diff --git a/recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml b/recipes/wip/emulators/game-console/dolphin-emu/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/nintendo/dolphin-emu/recipe.toml rename to recipes/wip/emulators/game-console/dolphin-emu/recipe.toml diff --git a/recipes/wip/emulators/game-console/arcade/finalburn-neo/recipe.toml b/recipes/wip/emulators/game-console/finalburn-neo/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/arcade/finalburn-neo/recipe.toml rename to recipes/wip/emulators/game-console/finalburn-neo/recipe.toml diff --git a/recipes/wip/emulators/game-console/n64/gopher64/recipe.toml b/recipes/wip/emulators/game-console/gopher64/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/n64/gopher64/recipe.toml rename to recipes/wip/emulators/game-console/gopher64/recipe.toml diff --git a/recipes/wip/emulators/game-console/nintendo/lime3ds/recipe.toml b/recipes/wip/emulators/game-console/lime3ds/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/nintendo/lime3ds/recipe.toml rename to recipes/wip/emulators/game-console/lime3ds/recipe.toml diff --git a/recipes/wip/emulators/game-console/arcade/mame/recipe.toml b/recipes/wip/emulators/game-console/mame/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/arcade/mame/recipe.toml rename to recipes/wip/emulators/game-console/mame/recipe.toml diff --git a/recipes/wip/emulators/game-console/nds/melonds/recipe.toml b/recipes/wip/emulators/game-console/melonds/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/nds/melonds/recipe.toml rename to recipes/wip/emulators/game-console/melonds/recipe.toml diff --git a/recipes/wip/emulators/game-console/nintendo/meru/recipe.toml b/recipes/wip/emulators/game-console/meru/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/nintendo/meru/recipe.toml rename to recipes/wip/emulators/game-console/meru/recipe.toml diff --git a/recipes/wip/emulators/game-console/n64/mupen64plus-core/recipe.toml b/recipes/wip/emulators/game-console/mupen64plus-core/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/n64/mupen64plus-core/recipe.toml rename to recipes/wip/emulators/game-console/mupen64plus-core/recipe.toml diff --git a/recipes/wip/emulators/game-console/ps4/obliteration/recipe.toml b/recipes/wip/emulators/game-console/obliteration/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/ps4/obliteration/recipe.toml rename to recipes/wip/emulators/game-console/obliteration/recipe.toml diff --git a/recipes/wip/emulators/game-console/ps2/pcsx2/recipe.toml b/recipes/wip/emulators/game-console/pcsx2/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/ps2/pcsx2/recipe.toml rename to recipes/wip/emulators/game-console/pcsx2/recipe.toml diff --git a/recipes/wip/emulators/game-console/sega/picodrive/recipe.toml b/recipes/wip/emulators/game-console/picodrive/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/sega/picodrive/recipe.toml rename to recipes/wip/emulators/game-console/picodrive/recipe.toml diff --git a/recipes/wip/emulators/game-console/ps2/play/recipe.toml b/recipes/wip/emulators/game-console/play/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/ps2/play/recipe.toml rename to recipes/wip/emulators/game-console/play/recipe.toml diff --git a/recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml b/recipes/wip/emulators/game-console/ppsspp/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/psp/ppsspp/recipe.toml rename to recipes/wip/emulators/game-console/ppsspp/recipe.toml diff --git a/recipes/wip/emulators/game-console/ps3/rpcs3/recipe.toml b/recipes/wip/emulators/game-console/rpcs3/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/ps3/rpcs3/recipe.toml rename to recipes/wip/emulators/game-console/rpcs3/recipe.toml diff --git a/recipes/wip/emulators/game-console/ps4/shadPS4/recipe.toml b/recipes/wip/emulators/game-console/shadPS4/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/ps4/shadPS4/recipe.toml rename to recipes/wip/emulators/game-console/shadPS4/recipe.toml diff --git a/recipes/wip/emulators/game-console/snes/snes9x/recipe.toml b/recipes/wip/emulators/game-console/snes9x/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/snes/snes9x/recipe.toml rename to recipes/wip/emulators/game-console/snes9x/recipe.toml diff --git a/recipes/wip/emulators/game-console/sega/uoyabause/recipe.toml b/recipes/wip/emulators/game-console/uoyabause/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/sega/uoyabause/recipe.toml rename to recipes/wip/emulators/game-console/uoyabause/recipe.toml diff --git a/recipes/wip/emulators/game-console/psvita/vita3k/recipe.toml b/recipes/wip/emulators/game-console/vita3k/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/psvita/vita3k/recipe.toml rename to recipes/wip/emulators/game-console/vita3k/recipe.toml diff --git a/recipes/wip/emulators/game-console/xbox/xemu/recipe.toml b/recipes/wip/emulators/game-console/xemu/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/xbox/xemu/recipe.toml rename to recipes/wip/emulators/game-console/xemu/recipe.toml diff --git a/recipes/wip/emulators/game-console/xbox360/xenia-canary/recipe.toml b/recipes/wip/emulators/game-console/xenia-canary/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/xbox360/xenia-canary/recipe.toml rename to recipes/wip/emulators/game-console/xenia-canary/recipe.toml diff --git a/recipes/wip/emulators/game-console/snes/zsnes/recipe.toml b/recipes/wip/emulators/game-console/zsnes/recipe.toml similarity index 100% rename from recipes/wip/emulators/game-console/snes/zsnes/recipe.toml rename to recipes/wip/emulators/game-console/zsnes/recipe.toml From 828a3237a25b820a6ebcef84f7b13d7c68bec7b3 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 15 Oct 2025 19:36:17 -0300 Subject: [PATCH 175/182] Add recipes --- .../wip/libs/audio/libcanberra/recipe.toml | 5 +++++ recipes/wip/libs/gui/clutter-gst/recipe.toml | 12 ++++++++++++ recipes/wip/libs/gui/clutter-gtk/recipe.toml | 10 ++++++++++ recipes/wip/libs/gui/clutter/recipe.toml | 19 +++++++++++++++++++ recipes/wip/libs/gui/cogl/recipe.toml | 13 +++++++++++++ recipes/wip/tel/sms-server/recipe.toml | 5 +++++ recipes/wip/tel/sms-terminal/recipe.toml | 5 +++++ .../other/gnome-video-effects/recipe.toml | 5 +++++ recipes/wip/video/webcam/cheese/recipe.toml | 7 ++++++- 9 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 recipes/wip/libs/audio/libcanberra/recipe.toml create mode 100644 recipes/wip/libs/gui/clutter-gst/recipe.toml create mode 100644 recipes/wip/libs/gui/clutter-gtk/recipe.toml create mode 100644 recipes/wip/libs/gui/clutter/recipe.toml create mode 100644 recipes/wip/libs/gui/cogl/recipe.toml create mode 100644 recipes/wip/tel/sms-server/recipe.toml create mode 100644 recipes/wip/tel/sms-terminal/recipe.toml create mode 100644 recipes/wip/video/other/gnome-video-effects/recipe.toml diff --git a/recipes/wip/libs/audio/libcanberra/recipe.toml b/recipes/wip/libs/audio/libcanberra/recipe.toml new file mode 100644 index 000000000..6d0c6304a --- /dev/null +++ b/recipes/wip/libs/audio/libcanberra/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz" +[build] +template = "configure" diff --git a/recipes/wip/libs/gui/clutter-gst/recipe.toml b/recipes/wip/libs/gui/clutter-gst/recipe.toml new file mode 100644 index 000000000..81b085ddb --- /dev/null +++ b/recipes/wip/libs/gui/clutter-gst/recipe.toml @@ -0,0 +1,12 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/Archive/clutter-gst/-/blob/master/INSTALL +[source] +tar = "https://download.gnome.org/sources/clutter-gst/3.0/clutter-gst-3.0.27.tar.xz" +[build] +template = "configure" +dependencies = [ + "glib", + "cogl", + "clutter", + "gstreamer", +] diff --git a/recipes/wip/libs/gui/clutter-gtk/recipe.toml b/recipes/wip/libs/gui/clutter-gtk/recipe.toml new file mode 100644 index 000000000..3f4f8581a --- /dev/null +++ b/recipes/wip/libs/gui/clutter-gtk/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +# lacking build instructions +[source] +tar = "https://download.gnome.org/sources/clutter-gtk/1.8/clutter-gtk-1.8.4.tar.xz" +[build] +template = "meson" +dependencies = [ + "clutter", + "gtk3", +] diff --git a/recipes/wip/libs/gui/clutter/recipe.toml b/recipes/wip/libs/gui/clutter/recipe.toml new file mode 100644 index 000000000..975ec92d9 --- /dev/null +++ b/recipes/wip/libs/gui/clutter/recipe.toml @@ -0,0 +1,19 @@ +#TODO not compiled or tested +# build instructions: https://gitlab.gnome.org/Archive/clutter#building-and-installation +[source] +tar = "https://download.gnome.org/sources/clutter/1.26/clutter-1.26.4.tar.xz" +[build] +template = "configure" +dependencies = [ + "glib", + "json-glib", + "atk", + "cairo", + "pango", + "cogl", + "libxcb", + "libxcomposite + "libxdamage", + "libxext", + "libxkbcommon", +] diff --git a/recipes/wip/libs/gui/cogl/recipe.toml b/recipes/wip/libs/gui/cogl/recipe.toml new file mode 100644 index 000000000..346d3fd02 --- /dev/null +++ b/recipes/wip/libs/gui/cogl/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +[source] +tar = "https://download.gnome.org/sources/cogl/1.22/cogl-1.22.8.tar.xz" +[build] +template = "configure" +dependencies = [ + "mesa-x11", + "libxcomposite", + "libxdamage", + "libxext", + "libxfixes", + #"libwayland", +] diff --git a/recipes/wip/tel/sms-server/recipe.toml b/recipes/wip/tel/sms-server/recipe.toml new file mode 100644 index 000000000..99e2fba49 --- /dev/null +++ b/recipes/wip/tel/sms-server/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/morgverd/sms-server" +[build] +template = "cargo" diff --git a/recipes/wip/tel/sms-terminal/recipe.toml b/recipes/wip/tel/sms-terminal/recipe.toml new file mode 100644 index 000000000..b47ae36ae --- /dev/null +++ b/recipes/wip/tel/sms-terminal/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +git = "https://github.com/morgverd/sms-terminal" +[build] +template = "cargo" diff --git a/recipes/wip/video/other/gnome-video-effects/recipe.toml b/recipes/wip/video/other/gnome-video-effects/recipe.toml new file mode 100644 index 000000000..58890a284 --- /dev/null +++ b/recipes/wip/video/other/gnome-video-effects/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.gnome.org/sources/gnome-video-effects/0.6/gnome-video-effects-0.6.0.tar.xz" +[build] +template = "meson" diff --git a/recipes/wip/video/webcam/cheese/recipe.toml b/recipes/wip/video/webcam/cheese/recipe.toml index dd758e265..d7c159f7f 100644 --- a/recipes/wip/video/webcam/cheese/recipe.toml +++ b/recipes/wip/video/webcam/cheese/recipe.toml @@ -1,6 +1,6 @@ #TODO not compiled or tested # lacking build instructions: https://gitlab.gnome.org/GNOME/cheese/-/blob/master/meson.build -# missing dependencies +# probably missing dependencies [source] tar = "https://download.gnome.org/sources/cheese/44/cheese-44.1.tar.xz" [build] @@ -13,4 +13,9 @@ dependencies = [ "glib", "gdk-pixbuf", "gstreamer", + "libcanberra", + "clutter", + "clutter-gtk", + "clutter-gst", + "gnome-video-effects", ] From 24dedb254d2312a44a13f431eb3a799aa3866d85 Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 15 Oct 2025 20:31:37 -0300 Subject: [PATCH 176/182] Add recipes --- recipes/wip/libs/kf6/kcodecs6/recipe.toml | 5 +++++ recipes/wip/video/webcam/kamoso/recipe.toml | 10 ++++++++++ recipes/wip/video/webcam/webcamoid/recipe.toml | 13 +++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 recipes/wip/libs/kf6/kcodecs6/recipe.toml create mode 100644 recipes/wip/video/webcam/kamoso/recipe.toml create mode 100644 recipes/wip/video/webcam/webcamoid/recipe.toml diff --git a/recipes/wip/libs/kf6/kcodecs6/recipe.toml b/recipes/wip/libs/kf6/kcodecs6/recipe.toml new file mode 100644 index 000000000..96b16e6c0 --- /dev/null +++ b/recipes/wip/libs/kf6/kcodecs6/recipe.toml @@ -0,0 +1,5 @@ +#TODO not compiled or tested +[source] +tar = "https://download.kde.org/stable/frameworks/6.19/kcodecs-6.19.0.tar.xz" +[build] +template = "cmake" diff --git a/recipes/wip/video/webcam/kamoso/recipe.toml b/recipes/wip/video/webcam/kamoso/recipe.toml new file mode 100644 index 000000000..ced03c4e5 --- /dev/null +++ b/recipes/wip/video/webcam/kamoso/recipe.toml @@ -0,0 +1,10 @@ +#TODO not compiled or tested +#TODO missing dependencies: https://invent.kde.org/multimedia/kamoso/-/blob/master/CMakeLists.txt?ref_type=heads#L29 +[source] +git = "https://invent.kde.org/multimedia/kamoso" +branch = "release/25.08" +[build] +template = "cmake" +dependencies = [ + "qt6-base", +] diff --git a/recipes/wip/video/webcam/webcamoid/recipe.toml b/recipes/wip/video/webcam/webcamoid/recipe.toml new file mode 100644 index 000000000..70eefe4c7 --- /dev/null +++ b/recipes/wip/video/webcam/webcamoid/recipe.toml @@ -0,0 +1,13 @@ +#TODO not compiled or tested +# build instructions: https://github.com/webcamoid/webcamoid/wiki/Raw-build-and-install +[source] +git = "https://github.com/webcamoid/webcamoid" +rev = "171b91e378c9bfbd4c425415322971e4e8872108" +[build] +template = "cmake" +dependencies = [ + "qt5-base", + "qt5-declarative", + "qt5-quickcontrols2", + "qt5-svg", +] From 9f5bc59163ab6a5b3beabc2eedcfdbed2a4a003a Mon Sep 17 00:00:00 2001 From: Ribbon Date: Wed, 15 Oct 2025 20:33:13 -0300 Subject: [PATCH 177/182] Rename a WIP category --- recipes/wip/libs/{kde5 => kf5}/kf5-activities-stats/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-activities/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-apidox/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-archive/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-attica/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-auth/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-baloo/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-bookmarks/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-calendarcore/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-cmake-modules/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-cmutils/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-codecs/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-completion/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-config/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-configwidgets/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-contacts/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-coreaddons/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-crash/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-dav/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-dbusaddons/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-declarative/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-dnssd/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-doctools/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-emoticons/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-filemetadata/recipe.toml | 0 .../wip/libs/{kde5 => kf5}/kf5-frameworkintegration/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-globalaccel/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-guiaddons/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-holidays/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-i18n/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-iconthemes/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-idletime/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-init/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-io/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-itemmodels/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-itemviews/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-jobwidgets/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-kded/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-kdesu/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-kirigami/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-modem-manager/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-networkmanager/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-newstuff/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-notifications/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-notifyconfig/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-package/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-parts/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-people/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-plasma-framework/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-plotting/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-prison/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-pty/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-purpose/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-qqc2-desktop-style/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-quickcharts/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-runner/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-service/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-solid/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-sonnet/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-syndication/recipe.toml | 0 .../wip/libs/{kde5 => kf5}/kf5-syntax-highlighting/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-sysguard/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-texteditor/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-textwidgets/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-threadweaver/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-unitconversion/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-wayland/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-widgetaddons/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-windowsystem/recipe.toml | 0 recipes/wip/libs/{kde5 => kf5}/kf5-xmlgui/recipe.toml | 0 70 files changed, 0 insertions(+), 0 deletions(-) rename recipes/wip/libs/{kde5 => kf5}/kf5-activities-stats/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-activities/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-apidox/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-archive/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-attica/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-auth/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-baloo/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-bookmarks/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-calendarcore/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-cmake-modules/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-cmutils/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-codecs/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-completion/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-config/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-configwidgets/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-contacts/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-coreaddons/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-crash/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-dav/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-dbusaddons/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-declarative/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-dnssd/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-doctools/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-emoticons/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-filemetadata/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-frameworkintegration/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-globalaccel/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-guiaddons/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-holidays/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-i18n/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-iconthemes/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-idletime/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-init/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-io/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-itemmodels/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-itemviews/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-jobwidgets/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-kded/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-kdesu/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-kirigami/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-modem-manager/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-networkmanager/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-newstuff/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-notifications/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-notifyconfig/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-package/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-parts/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-people/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-plasma-framework/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-plotting/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-prison/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-pty/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-purpose/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-qqc2-desktop-style/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-quickcharts/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-runner/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-service/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-solid/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-sonnet/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-syndication/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-syntax-highlighting/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-sysguard/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-texteditor/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-textwidgets/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-threadweaver/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-unitconversion/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-wayland/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-widgetaddons/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-windowsystem/recipe.toml (100%) rename recipes/wip/libs/{kde5 => kf5}/kf5-xmlgui/recipe.toml (100%) diff --git a/recipes/wip/libs/kde5/kf5-activities-stats/recipe.toml b/recipes/wip/libs/kf5/kf5-activities-stats/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-activities-stats/recipe.toml rename to recipes/wip/libs/kf5/kf5-activities-stats/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-activities/recipe.toml b/recipes/wip/libs/kf5/kf5-activities/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-activities/recipe.toml rename to recipes/wip/libs/kf5/kf5-activities/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-apidox/recipe.toml b/recipes/wip/libs/kf5/kf5-apidox/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-apidox/recipe.toml rename to recipes/wip/libs/kf5/kf5-apidox/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-archive/recipe.toml b/recipes/wip/libs/kf5/kf5-archive/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-archive/recipe.toml rename to recipes/wip/libs/kf5/kf5-archive/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-attica/recipe.toml b/recipes/wip/libs/kf5/kf5-attica/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-attica/recipe.toml rename to recipes/wip/libs/kf5/kf5-attica/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-auth/recipe.toml b/recipes/wip/libs/kf5/kf5-auth/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-auth/recipe.toml rename to recipes/wip/libs/kf5/kf5-auth/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-baloo/recipe.toml b/recipes/wip/libs/kf5/kf5-baloo/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-baloo/recipe.toml rename to recipes/wip/libs/kf5/kf5-baloo/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-bookmarks/recipe.toml b/recipes/wip/libs/kf5/kf5-bookmarks/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-bookmarks/recipe.toml rename to recipes/wip/libs/kf5/kf5-bookmarks/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-calendarcore/recipe.toml b/recipes/wip/libs/kf5/kf5-calendarcore/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-calendarcore/recipe.toml rename to recipes/wip/libs/kf5/kf5-calendarcore/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-cmake-modules/recipe.toml b/recipes/wip/libs/kf5/kf5-cmake-modules/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-cmake-modules/recipe.toml rename to recipes/wip/libs/kf5/kf5-cmake-modules/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-cmutils/recipe.toml b/recipes/wip/libs/kf5/kf5-cmutils/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-cmutils/recipe.toml rename to recipes/wip/libs/kf5/kf5-cmutils/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-codecs/recipe.toml b/recipes/wip/libs/kf5/kf5-codecs/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-codecs/recipe.toml rename to recipes/wip/libs/kf5/kf5-codecs/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-completion/recipe.toml b/recipes/wip/libs/kf5/kf5-completion/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-completion/recipe.toml rename to recipes/wip/libs/kf5/kf5-completion/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-config/recipe.toml b/recipes/wip/libs/kf5/kf5-config/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-config/recipe.toml rename to recipes/wip/libs/kf5/kf5-config/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-configwidgets/recipe.toml b/recipes/wip/libs/kf5/kf5-configwidgets/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-configwidgets/recipe.toml rename to recipes/wip/libs/kf5/kf5-configwidgets/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-contacts/recipe.toml b/recipes/wip/libs/kf5/kf5-contacts/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-contacts/recipe.toml rename to recipes/wip/libs/kf5/kf5-contacts/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-coreaddons/recipe.toml b/recipes/wip/libs/kf5/kf5-coreaddons/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-coreaddons/recipe.toml rename to recipes/wip/libs/kf5/kf5-coreaddons/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-crash/recipe.toml b/recipes/wip/libs/kf5/kf5-crash/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-crash/recipe.toml rename to recipes/wip/libs/kf5/kf5-crash/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-dav/recipe.toml b/recipes/wip/libs/kf5/kf5-dav/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-dav/recipe.toml rename to recipes/wip/libs/kf5/kf5-dav/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-dbusaddons/recipe.toml b/recipes/wip/libs/kf5/kf5-dbusaddons/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-dbusaddons/recipe.toml rename to recipes/wip/libs/kf5/kf5-dbusaddons/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-declarative/recipe.toml b/recipes/wip/libs/kf5/kf5-declarative/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-declarative/recipe.toml rename to recipes/wip/libs/kf5/kf5-declarative/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-dnssd/recipe.toml b/recipes/wip/libs/kf5/kf5-dnssd/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-dnssd/recipe.toml rename to recipes/wip/libs/kf5/kf5-dnssd/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-doctools/recipe.toml b/recipes/wip/libs/kf5/kf5-doctools/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-doctools/recipe.toml rename to recipes/wip/libs/kf5/kf5-doctools/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-emoticons/recipe.toml b/recipes/wip/libs/kf5/kf5-emoticons/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-emoticons/recipe.toml rename to recipes/wip/libs/kf5/kf5-emoticons/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-filemetadata/recipe.toml b/recipes/wip/libs/kf5/kf5-filemetadata/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-filemetadata/recipe.toml rename to recipes/wip/libs/kf5/kf5-filemetadata/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-frameworkintegration/recipe.toml b/recipes/wip/libs/kf5/kf5-frameworkintegration/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-frameworkintegration/recipe.toml rename to recipes/wip/libs/kf5/kf5-frameworkintegration/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-globalaccel/recipe.toml b/recipes/wip/libs/kf5/kf5-globalaccel/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-globalaccel/recipe.toml rename to recipes/wip/libs/kf5/kf5-globalaccel/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-guiaddons/recipe.toml b/recipes/wip/libs/kf5/kf5-guiaddons/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-guiaddons/recipe.toml rename to recipes/wip/libs/kf5/kf5-guiaddons/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-holidays/recipe.toml b/recipes/wip/libs/kf5/kf5-holidays/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-holidays/recipe.toml rename to recipes/wip/libs/kf5/kf5-holidays/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-i18n/recipe.toml b/recipes/wip/libs/kf5/kf5-i18n/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-i18n/recipe.toml rename to recipes/wip/libs/kf5/kf5-i18n/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-iconthemes/recipe.toml b/recipes/wip/libs/kf5/kf5-iconthemes/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-iconthemes/recipe.toml rename to recipes/wip/libs/kf5/kf5-iconthemes/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-idletime/recipe.toml b/recipes/wip/libs/kf5/kf5-idletime/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-idletime/recipe.toml rename to recipes/wip/libs/kf5/kf5-idletime/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-init/recipe.toml b/recipes/wip/libs/kf5/kf5-init/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-init/recipe.toml rename to recipes/wip/libs/kf5/kf5-init/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-io/recipe.toml b/recipes/wip/libs/kf5/kf5-io/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-io/recipe.toml rename to recipes/wip/libs/kf5/kf5-io/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-itemmodels/recipe.toml b/recipes/wip/libs/kf5/kf5-itemmodels/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-itemmodels/recipe.toml rename to recipes/wip/libs/kf5/kf5-itemmodels/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-itemviews/recipe.toml b/recipes/wip/libs/kf5/kf5-itemviews/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-itemviews/recipe.toml rename to recipes/wip/libs/kf5/kf5-itemviews/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-jobwidgets/recipe.toml b/recipes/wip/libs/kf5/kf5-jobwidgets/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-jobwidgets/recipe.toml rename to recipes/wip/libs/kf5/kf5-jobwidgets/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-kded/recipe.toml b/recipes/wip/libs/kf5/kf5-kded/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-kded/recipe.toml rename to recipes/wip/libs/kf5/kf5-kded/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-kdesu/recipe.toml b/recipes/wip/libs/kf5/kf5-kdesu/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-kdesu/recipe.toml rename to recipes/wip/libs/kf5/kf5-kdesu/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-kirigami/recipe.toml b/recipes/wip/libs/kf5/kf5-kirigami/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-kirigami/recipe.toml rename to recipes/wip/libs/kf5/kf5-kirigami/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-modem-manager/recipe.toml b/recipes/wip/libs/kf5/kf5-modem-manager/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-modem-manager/recipe.toml rename to recipes/wip/libs/kf5/kf5-modem-manager/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-networkmanager/recipe.toml b/recipes/wip/libs/kf5/kf5-networkmanager/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-networkmanager/recipe.toml rename to recipes/wip/libs/kf5/kf5-networkmanager/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-newstuff/recipe.toml b/recipes/wip/libs/kf5/kf5-newstuff/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-newstuff/recipe.toml rename to recipes/wip/libs/kf5/kf5-newstuff/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-notifications/recipe.toml b/recipes/wip/libs/kf5/kf5-notifications/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-notifications/recipe.toml rename to recipes/wip/libs/kf5/kf5-notifications/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-notifyconfig/recipe.toml b/recipes/wip/libs/kf5/kf5-notifyconfig/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-notifyconfig/recipe.toml rename to recipes/wip/libs/kf5/kf5-notifyconfig/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-package/recipe.toml b/recipes/wip/libs/kf5/kf5-package/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-package/recipe.toml rename to recipes/wip/libs/kf5/kf5-package/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-parts/recipe.toml b/recipes/wip/libs/kf5/kf5-parts/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-parts/recipe.toml rename to recipes/wip/libs/kf5/kf5-parts/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-people/recipe.toml b/recipes/wip/libs/kf5/kf5-people/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-people/recipe.toml rename to recipes/wip/libs/kf5/kf5-people/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-plasma-framework/recipe.toml b/recipes/wip/libs/kf5/kf5-plasma-framework/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-plasma-framework/recipe.toml rename to recipes/wip/libs/kf5/kf5-plasma-framework/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-plotting/recipe.toml b/recipes/wip/libs/kf5/kf5-plotting/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-plotting/recipe.toml rename to recipes/wip/libs/kf5/kf5-plotting/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-prison/recipe.toml b/recipes/wip/libs/kf5/kf5-prison/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-prison/recipe.toml rename to recipes/wip/libs/kf5/kf5-prison/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-pty/recipe.toml b/recipes/wip/libs/kf5/kf5-pty/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-pty/recipe.toml rename to recipes/wip/libs/kf5/kf5-pty/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-purpose/recipe.toml b/recipes/wip/libs/kf5/kf5-purpose/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-purpose/recipe.toml rename to recipes/wip/libs/kf5/kf5-purpose/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-qqc2-desktop-style/recipe.toml b/recipes/wip/libs/kf5/kf5-qqc2-desktop-style/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-qqc2-desktop-style/recipe.toml rename to recipes/wip/libs/kf5/kf5-qqc2-desktop-style/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-quickcharts/recipe.toml b/recipes/wip/libs/kf5/kf5-quickcharts/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-quickcharts/recipe.toml rename to recipes/wip/libs/kf5/kf5-quickcharts/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-runner/recipe.toml b/recipes/wip/libs/kf5/kf5-runner/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-runner/recipe.toml rename to recipes/wip/libs/kf5/kf5-runner/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-service/recipe.toml b/recipes/wip/libs/kf5/kf5-service/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-service/recipe.toml rename to recipes/wip/libs/kf5/kf5-service/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-solid/recipe.toml b/recipes/wip/libs/kf5/kf5-solid/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-solid/recipe.toml rename to recipes/wip/libs/kf5/kf5-solid/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-sonnet/recipe.toml b/recipes/wip/libs/kf5/kf5-sonnet/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-sonnet/recipe.toml rename to recipes/wip/libs/kf5/kf5-sonnet/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-syndication/recipe.toml b/recipes/wip/libs/kf5/kf5-syndication/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-syndication/recipe.toml rename to recipes/wip/libs/kf5/kf5-syndication/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-syntax-highlighting/recipe.toml b/recipes/wip/libs/kf5/kf5-syntax-highlighting/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-syntax-highlighting/recipe.toml rename to recipes/wip/libs/kf5/kf5-syntax-highlighting/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-sysguard/recipe.toml b/recipes/wip/libs/kf5/kf5-sysguard/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-sysguard/recipe.toml rename to recipes/wip/libs/kf5/kf5-sysguard/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-texteditor/recipe.toml b/recipes/wip/libs/kf5/kf5-texteditor/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-texteditor/recipe.toml rename to recipes/wip/libs/kf5/kf5-texteditor/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-textwidgets/recipe.toml b/recipes/wip/libs/kf5/kf5-textwidgets/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-textwidgets/recipe.toml rename to recipes/wip/libs/kf5/kf5-textwidgets/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-threadweaver/recipe.toml b/recipes/wip/libs/kf5/kf5-threadweaver/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-threadweaver/recipe.toml rename to recipes/wip/libs/kf5/kf5-threadweaver/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-unitconversion/recipe.toml b/recipes/wip/libs/kf5/kf5-unitconversion/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-unitconversion/recipe.toml rename to recipes/wip/libs/kf5/kf5-unitconversion/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-wayland/recipe.toml b/recipes/wip/libs/kf5/kf5-wayland/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-wayland/recipe.toml rename to recipes/wip/libs/kf5/kf5-wayland/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-widgetaddons/recipe.toml b/recipes/wip/libs/kf5/kf5-widgetaddons/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-widgetaddons/recipe.toml rename to recipes/wip/libs/kf5/kf5-widgetaddons/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-windowsystem/recipe.toml b/recipes/wip/libs/kf5/kf5-windowsystem/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-windowsystem/recipe.toml rename to recipes/wip/libs/kf5/kf5-windowsystem/recipe.toml diff --git a/recipes/wip/libs/kde5/kf5-xmlgui/recipe.toml b/recipes/wip/libs/kf5/kf5-xmlgui/recipe.toml similarity index 100% rename from recipes/wip/libs/kde5/kf5-xmlgui/recipe.toml rename to recipes/wip/libs/kf5/kf5-xmlgui/recipe.toml From 14e56c1a1e12ab7218c973219bf3bd8eb9ce525f Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sat, 18 Oct 2025 12:57:26 +0000 Subject: [PATCH 178/182] Port rustysd --- recipes/wip/system/rustysd/recipe.toml | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 recipes/wip/system/rustysd/recipe.toml diff --git a/recipes/wip/system/rustysd/recipe.toml b/recipes/wip/system/rustysd/recipe.toml new file mode 100644 index 000000000..ad6fd0bbd --- /dev/null +++ b/recipes/wip/system/rustysd/recipe.toml @@ -0,0 +1,27 @@ +#TODO: Unable to fork services, page fault on rsdctl +[source] +git = "https://github.com/willnode/rustysd" +branch = "redox" + +[build] +template = "custom" +script = """ +cookbook_cargo + +mkdir -p ${COOKBOOK_STAGE}/etc/rustysd/system +cat <<'EOF' > ${COOKBOOK_STAGE}/etc/rustysd/rustysd_config.toml +unit_dirs = [ + "/etc/rustysd/system", + "/etc/rustysd/user", +] +logging_dir = "/var/log/rustysd" +log_to_disk = true +log_to_stdout = false +target_unit = "default.target" +notifications_dir = "/var/run/rustysd" +# selfpath = "" +EOF + +cp ${COOKBOOK_SOURCE}/docker_test_units/*.target ${COOKBOOK_STAGE}/etc/rustysd/system/ +ln -s rsdctl ${COOKBOOK_STAGE}/usr/bin/systemctl +""" From de12fa848916927a23333d85a7edf61f919f182d Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 18 Oct 2025 14:04:24 -0600 Subject: [PATCH 179/182] drivers-initfs: install hwd --- recipes/core/drivers-initfs/recipe.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/core/drivers-initfs/recipe.toml b/recipes/core/drivers-initfs/recipe.toml index 39b06258b..8f2e1d018 100644 --- a/recipes/core/drivers-initfs/recipe.toml +++ b/recipes/core/drivers-initfs/recipe.toml @@ -8,6 +8,7 @@ BINS=( acpid fbbootlogd fbcond + hwd inputd lived nvmed @@ -64,7 +65,7 @@ export CARGO_PROFILE_RELEASE_PANIC=abort for bin in "${BINS[@]}" do case "${bin}" in - pcid | pcid-spawner | fbbootlogd | fbcond | inputd | vesad | lived | ps2d | acpid | bcm2835-sdhcid | rtcd) + pcid | pcid-spawner | fbbootlogd | fbcond | inputd | vesad | lived | ps2d | acpid | bcm2835-sdhcid | rtcd | hwd) cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_STAGE}/bin" ;; *) From 42451efae2f3898faa892785324fa0f0fd7bf8f7 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 18 Oct 2025 14:05:01 -0600 Subject: [PATCH 180/182] base-initfs: replace acpid with hwd, which will itself launch acpid when needed --- recipes/core/base-initfs/init_drivers.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/core/base-initfs/init_drivers.rc b/recipes/core/base-initfs/init_drivers.rc index 2769ae679..5291733e1 100644 --- a/recipes/core/base-initfs/init_drivers.rc +++ b/recipes/core/base-initfs/init_drivers.rc @@ -1,4 +1,4 @@ ps2d us -acpid +hwd pcid pcid-spawner /etc/pcid/initfs.toml From e686d5c79279b157104ca58f618bc7b8a314b6a0 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Sat, 18 Oct 2025 16:26:34 -0600 Subject: [PATCH 181/182] base-initfs: use hwd on aarch64 --- recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc b/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc index cb8ab2bef..cc94430c2 100644 --- a/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc +++ b/recipes/core/base-initfs/aarch64-unknown-redox/init_drivers.rc @@ -1,3 +1,3 @@ -acpid +hwd pcid pcid-spawner /etc/pcid/initfs.toml From dba3334d82fb7ce8e2723dc6223d4e98bdc6bb57 Mon Sep 17 00:00:00 2001 From: Wildan Mubarok Date: Sun, 19 Oct 2025 12:20:39 +0000 Subject: [PATCH 182/182] Add a way to download compiled recipes from remote --- src/bin/cook.rs | 2 ++ src/cook.rs | 2 +- src/cook/build.rs | 84 +++++++++++++++++++++++++++++++++++++++++++++++ src/cook/fetch.rs | 26 +++------------ src/cook/fs.rs | 28 ++++++++++++++-- src/lib.rs | 9 ++--- src/recipe.rs | 3 ++ 7 files changed, 123 insertions(+), 31 deletions(-) create mode 100644 src/cook/build.rs diff --git a/src/bin/cook.rs b/src/bin/cook.rs index 7bc3502fe..8f33c9667 100644 --- a/src/bin/cook.rs +++ b/src/bin/cook.rs @@ -1,4 +1,5 @@ use cookbook::config::init_config; +use cookbook::cook::build::build_remote; use cookbook::cook::fetch::*; use cookbook::cook::fs::*; use cookbook::cook::script::SHARED_PRESCRIPT; @@ -555,6 +556,7 @@ done flags_fn("COOKBOOK_MESON_FLAGS", mesonflags), ), BuildKind::Custom { script } => script.clone(), + BuildKind::Remote => return build_remote(target_dir, name, offline_mode), BuildKind::None => "".to_owned(), }; diff --git a/src/cook.rs b/src/cook.rs index e50800384..d538dbc35 100644 --- a/src/cook.rs +++ b/src/cook.rs @@ -2,5 +2,5 @@ pub mod fetch; pub mod fs; pub mod script; //TODO: Move rest of cook functions here in the next refactor -//pub mod build; +pub mod build; //pub mod package; diff --git a/src/cook/build.rs b/src/cook/build.rs new file mode 100644 index 000000000..cda47fd65 --- /dev/null +++ b/src/cook/build.rs @@ -0,0 +1,84 @@ +use std::{ + collections::BTreeSet, + fs, + path::{Path, PathBuf}, +}; + +use pkg::{Package, PackageName}; +use redoxer::target; + +use crate::{REMOTE_PKG_SOURCE, cook::fs::*, recipe::AutoDeps}; + +fn get_remote_url(name: &PackageName, ext: &str) -> String { + return format!("{}/{}/{}.{}", REMOTE_PKG_SOURCE, target(), name, ext); +} +fn get_pubkey_url() -> String { + return format!("{}/id_ed25519.pub.toml", REMOTE_PKG_SOURCE); +} + +pub fn build_remote( + target_dir: &Path, + name: &PackageName, + offline_mode: bool, +) -> Result<(PathBuf, BTreeSet), String> { + // download straight from remote source then declare pkg dependencies as autodeps dependency + let stage_dir = target_dir.join("stage"); + + let source_pkgar = target_dir.join("source.pkgar"); + let source_toml = target_dir.join("source.toml"); + let source_pubkey = target_dir.join("id_ed25519.pub.toml"); + + if !offline_mode { + download_wget(&get_remote_url(name, "pkgar"), &source_pkgar)?; + download_wget(&get_remote_url(name, "toml"), &source_toml)?; + download_wget(&get_pubkey_url(), &source_pubkey)?; + } else { + offline_check_exists(&source_pkgar)?; + offline_check_exists(&source_toml)?; + offline_check_exists(&source_pubkey)?; + } + + if stage_dir.is_dir() && modified(&source_pkgar)? > modified(&stage_dir)? { + remove_all(&stage_dir)? + } + if !stage_dir.is_dir() { + let stage_dir_tmp = target_dir.join("stage.tmp"); + + pkgar::extract(&source_pubkey, &source_pkgar, &stage_dir_tmp).map_err(|err| { + format!( + "failed to install '{}' in '{}': {:?}", + source_pkgar.display(), + stage_dir_tmp.display(), + err + ) + })?; + + // Move stage.tmp to stage atomically + rename(&stage_dir_tmp, &stage_dir)?; + } + + let auto_deps_path = target_dir.join("auto_deps.toml"); + if auto_deps_path.is_file() && modified(&auto_deps_path)? < modified(&stage_dir)? { + remove_all(&auto_deps_path)? + } + + let auto_deps = if auto_deps_path.exists() { + let toml_content = + fs::read_to_string(&auto_deps_path).map_err(|_| "failed to read cached auto_deps")?; + let wrapper: AutoDeps = + toml::from_str(&toml_content).map_err(|_| "failed to deserialize cached auto_deps")?; + wrapper.packages + } else { + let toml_content = + fs::read_to_string(&source_toml).map_err(|_| "failed to read source.toml")?; + let pkg_toml: Package = + toml::from_str(&toml_content).map_err(|_| "failed to deserialize source.toml")?; + let wrapper = AutoDeps { + packages: pkg_toml.depends.into_iter().collect(), + }; + serialize_and_write(&auto_deps_path, &wrapper)?; + wrapper.packages + }; + + Ok((stage_dir, auto_deps)) +} diff --git a/src/cook/fetch.rs b/src/cook/fetch.rs index 21f45daa0..c3ce9bdc7 100644 --- a/src/cook/fetch.rs +++ b/src/cook/fetch.rs @@ -42,12 +42,7 @@ pub fn fetch_offline(recipe_dir: &Path, source: &Option) -> Result script: _, shallow_clone: _, }) => { - if !source_dir.is_dir() { - return Err(format!( - "'{dir}' is not exist and unable to continue in offline mode", - dir = source_dir.display(), - )); - } + offline_check_exists(&source_dir)?; } Some(SourceRecipe::Tar { tar: _, @@ -75,10 +70,7 @@ pub fn fetch_offline(recipe_dir: &Path, source: &Option) -> Result )); } } else { - return Err(format!( - "'{dir}' is not exist and unable to continue in offline mode", - dir = source_dir.display(), - )); + offline_check_exists(&source_dir)?; } } } @@ -229,18 +221,7 @@ pub fn fetch(recipe_dir: &Path, source: &Option) -> Result) -> Result { if !source_dir.is_dir() { + //TODO: Don't print if build template is none or remote eprintln!( "WARNING: Recipe without source section expected source dir at '{}'", source_dir.display(), diff --git a/src/cook/fs.rs b/src/cook/fs.rs index 0fa51ecfd..f156bb10a 100644 --- a/src/cook/fs.rs +++ b/src/cook/fs.rs @@ -2,12 +2,14 @@ use serde::Serialize; use std::{ fs, io::{self, Write}, - path::Path, - process::{self, Stdio}, + path::{Path, PathBuf}, + process::{self, Command, Stdio}, time::SystemTime, }; use walkdir::{DirEntry, WalkDir}; +use crate::config::translate_mirror; + //TODO: pub(crate) for all of these functions pub fn remove_all(path: &Path) -> Result<(), String> { @@ -192,3 +194,25 @@ pub fn serialize_and_write(file_path: &Path, content: &T) -> Resul .map_err(|err| format!("Failed to write to file '{}': {}", file_path.display(), err))?; Ok(()) } + +pub fn offline_check_exists(path: &PathBuf) -> Result<(), String> { + if !path.exists() { + return Err(format!( + "'{path}' is not exist and unable to continue in offline mode", + path = path.display(), + ))?; + } + Ok(()) +} + +pub fn download_wget(url: &str, dest: &PathBuf) -> Result<(), String> { + if !dest.is_file() { + let dest_tmp = PathBuf::from(format!("{}.tmp", dest.display())); + let mut command = Command::new("wget"); + command.arg(translate_mirror(url)); + command.arg("--continue").arg("-O").arg(&dest_tmp); + run_command(command)?; + rename(&dest_tmp, &dest)?; + } + Ok(()) +} diff --git a/src/lib.rs b/src/lib.rs index cef82ad06..0c8f7153b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,12 +8,9 @@ mod progress_bar; /// Default for maximum number of levels to descend down dependencies tree. pub const WALK_DEPTH: usize = 16; -#[cfg(target_os = "redox")] -pub fn is_redox() -> bool { - true -} +/// Default remote package source, for recipes with build type = "remote" +pub const REMOTE_PKG_SOURCE: &str = "https://static.redox-os.org/pkg"; -#[cfg(not(target_os = "redox"))] pub fn is_redox() -> bool { - false + cfg!(target_os = "redox") } diff --git a/src/recipe.rs b/src/recipe.rs index ff71fd5b0..99e808007 100644 --- a/src/recipe.rs +++ b/src/recipe.rs @@ -89,6 +89,9 @@ pub enum BuildKind { /// Will not build (for meta packages) #[serde(rename = "none")] None, + /// Will download compiled package from remote + #[serde(rename = "remote")] + Remote, /// Will build and install using cargo #[serde(rename = "cargo")] Cargo {