Compare commits

...

57 Commits

Author SHA1 Message Date
Ibuki Omatsu
fed23a3301 Merge branch 'userspace-fd-allocation' into 'master'
Draft: chore: Update recipes to point to userspace-fd-allocation branches

See merge request redox-os/redox!2206
2026-11-04 08:34:42 +00:00
Ribbon
7aaea1939c Merge branch 'missing-descriptions' into 'master'
Recipe fixup: Fix errors in recipe files, add descriptions for all non-WIP

See merge request redox-os/redox!2363
2026-11-03 17:21:41 -03:00
Andi McClure
05b9e05023 Recipe fixup: Fix errors in recipe files, add descriptions for all non-WIP 2026-11-03 17:21:41 -03:00
Jeremy Soller
5313cbba62 Merge branch 'strip-ar' into 'master'
cookbook: Also strip ar files

See merge request redox-os/redox!2427
2026-11-02 18:45:37 -07:00
Wildan M
559496cb6d
cookbook: Fix test 2026-11-03 08:23:09 +07:00
Wildan M
4006aee0bf
cookbook: Also strip ar files 2026-11-03 08:19:14 +07:00
Jeremy Soller
da760947f1 Merge branch 'verbosity' into 'master'
cookbook: Adjustable script verbosity and cleaner strip

See merge request redox-os/redox!2426
2026-11-02 18:00:17 -07:00
Jeremy Soller
28f5c3d7cb Merge branch 'prune-fail' into 'master'
cookbook: Don't always prune sysroot with clean-target enabled

See merge request redox-os/redox!2425
2026-11-02 17:46:28 -07:00
Jeremy Soller
4639c04454 Merge branch 'openssl-update' into 'master'
Update curl, openssl3 and nghttp2

See merge request redox-os/redox!2424
2026-11-02 17:43:36 -07:00
Jeremy Soller
3650a613f3 Merge branch 'python315-update' into 'master'
Update python315

See merge request redox-os/redox!2421
2026-11-02 17:42:34 -07:00
Jeremy Soller
d2abc86a7c Merge branch 'ffmpeg-update' into 'master'
Update ffmpeg6 and add ffmpeg9

See merge request redox-os/redox!2420
2026-11-02 17:42:22 -07:00
Jeremy Soller
c33cf12401 Merge branch 'pipelines' into 'master'
docs: Mention how MR pipelines work

See merge request redox-os/redox!2419
2026-11-02 17:42:04 -07:00
Jeremy Soller
f236d86e60 Merge branch 'meson' into 'master'
Port meson

See merge request redox-os/redox!2416
2026-11-02 17:41:33 -07:00
Wildan M
e684b923d1
cookbook: Adjustable script verbosity and cleaner strip 2026-11-03 07:30:21 +07:00
Wildan M
31b4282059
cookbook: Don't always prune sysroot with clean-target enabled 2026-11-03 06:12:25 +07:00
Jeremy Soller
721493ad46 Merge branch 'nix-fixes' into 'master'
nix: Fix stripping

See merge request redox-os/redox!2418
2026-11-02 08:32:12 -07:00
Wildan M
c57bba090a
Update curl, openssl3 and nghttp2 2026-11-02 20:44:57 +07:00
Wildan M
9bf257dbab
Update python315 2026-11-02 17:55:21 +07:00
Wildan M
b7352eecfd
Update ffmpeg6 and add ffmpeg9 2026-11-02 17:52:11 +07:00
Wildan M
d15b5f9220
docs: Mention how MR pipelines work 2026-11-02 17:19:32 +07:00
Konstantin Shabanov
aa6f01bfb2 nix: Drop autoreconf2.69 workaround 2026-11-02 14:30:37 +07:00
Konstantin Shabanov
7992e91522 nix: Fix stripping
Reduces prefix size from 7.6G to 3.1G.
2026-11-02 14:30:35 +07:00
Wildan Mubarok
604f1187b2 Merge branch 'cosmic-mon' into 'master'
Add cosmic-monitor to ci.toml

See merge request redox-os/redox!2417
2026-11-02 04:28:09 +00:00
Wildan M
8aa1de9e1a
Add cosmic-monitor to ci.toml 2026-11-01 21:08:17 +07:00
Jeremy Soller
51ca58cc2b Merge branch 'install-places' into 'master'
Improve install for bzip2, cmake, termcap, tcl, libicu, mupdf

See merge request redox-os/redox!2414
2026-11-01 06:09:04 -07:00
Wildan M
858a19e150
Port meson 2026-11-01 19:17:59 +07:00
Wildan M
84eae1e507
Improve install for bzip2, cmake, termcap, tcl, libicu, mupdf 2026-11-01 13:35:01 +07:00
Jeremy Soller
9007d0a29f Format demo and jeremy configs the same 2026-10-30 14:03:40 -06:00
Jeremy Soller
aa01491b88 Add cosmic-monitor and gtk3 to demo, compile glib schemas in demo on boot 2026-10-30 12:26:24 -06:00
Jeremy Soller
6c094d1376 Merge branch 'gitup' into 'master'
Update git with workaround

See merge request redox-os/redox!2413
2026-10-30 12:07:38 -06:00
Jeremy Soller
bebe444ca8 Merge branch 'lazygit' into 'master'
Port lazygit

See merge request redox-os/redox!2412
2026-10-30 06:04:00 -06:00
Wildan M
617d3c35b5
Update git with workaround 2026-10-30 04:35:28 +07:00
Wildan M
23b3e6f991
Port lazygit and also add golang to CI 2026-10-30 00:04:51 +07:00
Jeremy Soller
70a3f9e16e Merge branch 'umask_022' into 'master'
Set umask to 022 while building disk images

See merge request redox-os/redox!2411
2026-10-28 20:05:25 -06:00
bjorn3
2f62f6d876 Set umask to 022 while building disk images
This matches the default umask that would actually be used at runtime.
It ensures only the owner has write permissions to system files and
directories rather than owner and group. The Arti tor implementation
checks that /home is not writable for anyone other than the owner.
2026-10-28 20:52:50 +01:00
Jeremy Soller
40544cdbae Merge branch 'llvm-unwind' into 'master'
Enable libunwind and disable compiler-rt

See merge request redox-os/redox!2410
2026-10-28 13:41:17 -06:00
Wildan Mubarok
ba6258aad3 Merge branch 'ratatui-rev' into 'master'
Partially revert ratatui update

See merge request redox-os/redox!2409
2026-10-28 08:53:51 +00:00
Wildan M
dc63352e5e
Enable libunwind and disable compiler-rt 2026-10-28 12:11:53 +07:00
Wildan M
fcc8970b16
Partially revert ratatui update
This reverts commit c9f937eec8.
2026-10-28 11:28:48 +07:00
Jeremy Soller
a354367247 Merge branch 'update-deps' into 'master'
Update deps

See merge request redox-os/redox!2390
2026-10-27 18:03:53 -06:00
Jeremy Soller
e50ed2eb66 Merge branch 'wasi-ld' into 'master'
wasi-libc: Fix linker problem

See merge request redox-os/redox!2400
2026-10-27 18:03:36 -06:00
Jeremy Soller
187f936c8f Merge branch 'prefix-fetch' into 'master'
prefix: Fetch prefix sources early

See merge request redox-os/redox!2399
2026-10-27 18:01:59 -06:00
Jeremy Soller
fac2ee9305 Merge branch 'gnugrep-patch' into 'master'
remove rlimit part of gnu-grep patch

See merge request redox-os/redox!2404
2026-10-27 13:12:51 -06:00
Jeremy Soller
1a37a6a64a Merge branch 'update-rsync' into 'master'
update rsync from 3.4.1 to 3.5.1

See merge request redox-os/redox!2403
2026-10-27 13:12:45 -06:00
Jeremy Soller
f97869cd84 Merge branch 'fseterr' into 'master'
remove nano patch, update and fix gzip

See merge request redox-os/redox!2405
2026-10-27 13:11:19 -06:00
Jeremy Soller
885b233498 Merge branch 'go-update' into 'master'
Update Go

See merge request redox-os/redox!2406
2026-10-27 13:08:08 -06:00
Jeremy Soller
d6644d7088 Merge branch 'determ-prefix' into 'master'
prefix: Make toolchain deterministic

See merge request redox-os/redox!2407
2026-10-27 08:22:57 -06:00
auronandace
3da4df6eeb add gzip to CI 2026-10-27 08:37:16 +00:00
Wildan M
e0e5950298
prefix: Make toolchain deterministic 2026-10-27 07:02:13 +07:00
Wildan M
fbcabac0c5
Update go 2026-10-27 02:30:28 +07:00
auronandace
9e456cf920 remove nano patch, update and fix gzip 2026-10-26 14:52:21 +00:00
auronandace
61a3304f07 remove rlimit part of gnu-grep patch 2026-10-26 10:06:45 +00:00
auronandace
d70ae57bb9 update rsync from 3.4.1 to 3.5.1 2026-10-26 09:29:06 +00:00
Wildan M
c9f937eec8
Update deps 2026-10-22 10:45:38 +07:00
Wildan M
df7986b858
wasi-libc: Fix linker problem 2026-10-22 10:31:20 +07:00
Wildan M
6384beb961
prefix: Fetch prefix sources early 2026-10-22 10:25:27 +07:00
Ibuki.O
7ad3bac27e chore: Update recipes to point to userspace-fd-allocation branches 2026-06-27 23:38:58 +09:00
338 changed files with 1628 additions and 910 deletions

View File

@ -141,6 +141,10 @@ You can see all open issues on [this](https://gitlab.redox-os.org/groups/redox-o
Please follow [our process](https://doc.redox-os.org/book/creating-proper-pull-requests.html) for creating proper pull requests.
### Pull Requests Pipelines
The GitLab CI pipelines is runnable only by maintainer review, otherwise it will be seen as "stuck". Please don't hesitate to ask in Matrix for triggering CI pipelines after being reviewed.
## Important Places to Contribute
Before starting to contribute, we recommend reading the [General FAQ](https://www.redox-os.org/faq/) and the [Redox Book](https://doc.redox-os.org/book/).

619
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -48,7 +48,7 @@ redoxer = { git = "https://gitlab.redox-os.org/redox-os/redoxer.git", default-fe
regex = "1.11"
serde = { version = "1", features = ["derive"] }
termion = "4"
toml = "0.8"
toml = "1"
walkdir = "2.3.1"
ansi-to-tui = { version = "8", optional = true }
strip-ansi-escapes = { version = "0.2.1", optional = true }

View File

@ -62,6 +62,7 @@ coreutils = {}
cosmic-edit = {}
cosmic-files = {}
cosmic-icons = {}
cosmic-monitor = {}
cosmic-reader = {}
cosmic-term = {}
cosmic-text = {}
@ -106,10 +107,12 @@ glutin = {}
gnu-binutils = {}
gnu-grep = {}
gnu-make = {}
go = {}
goaccess = {}
gobject-introspection = {}
gitoxide = {}
gstreamer = {}
gzip = {}
harfbuzz = {}
hicolor-icon-theme = {}
helix = {}
@ -125,6 +128,7 @@ intel-one-mono = {}
ion = {}
kernel = {}
kibi = {}
lazygit = {}
lci = {}
libarchive = {}
libatomic = {}
@ -172,6 +176,7 @@ mesa = {}
mesa-glu = {}
mesa-demos = {}
mesa-demos-x11 = {}
meson = {}
mgba = {}
miniserve = {}
mpc = {}

View File

@ -11,6 +11,7 @@ filesystem_size = 3000
[packages]
# GUI Apps
cosmic-monitor = {}
cosmic-reader = {}
periodictable = {}
servo = {}
@ -29,13 +30,11 @@ vim = {}
wget = {}
# Emulators
dosbox = {}
mednafen = {}
flycast = {}
# Games
freedoom = {}
neverball = {}
prboom = {}
@ -44,6 +43,7 @@ sopwith = {}
syobonaction = {}
# Demos
gtk3 = {}
nushell = {}
orbclient = {}
pixelcannon = {}
@ -57,6 +57,12 @@ softbuffer = {}
# MIDI
freepats = {}
[[files]]
path = "/usr/lib/init.d/20_glib"
data = """
glib-compile-schemas /usr/share/glib-2.0/schemas/
"""
[[files]]
path = "/home/user/Welcome.txt"
data = """

View File

@ -5,23 +5,25 @@ include = ["demo.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 8192
filesystem_size = 16384
# Package settings
[packages]
# apps
# GUI Apps
#boxedwine = {}
cosmic-player = {}
cosmic-reader = {}
cosmic-settings = {}
cosmic-store = {}
cosmic-term = {}
cosmic-text = {}
#cosmic-player = {}
#cosmic-settings = {}
#cosmic-store = {}
#qemu = {} # not building
schismtracker = {}
servo = {}
# cli
# GUI Data
jeremy = {}
noto-color-emoji = {}
ttf-hack = {}
# Terminal Apps
cleye = {}
ffmpeg6 = {}
lua54 = {}
@ -34,26 +36,54 @@ sed = {}
shellharden = {}
xz = {}
# demos
# Emulators
mgba = {}
#retroarch = {} # need to package cores
rs-nes = {} # need game for testing
rust64 = {} # need roms
rustual-boy = {} # need game for testing
scummvm = {} # need game for testing
#vice = {} # broken on new toolchain
# Games
devilutionx = {}
eduke32 = {}
freeciv = {}
gigalomania = {}
love = {}
mednaffe = {}
openjazz = {}
openjk = {}
openttd = {}
openttd-opengfx = {}
openttd-openmsx = {}
openttd-opensfx = {}
quakespasm = {}
sm64ex = {}
#spacecadetpinball = {} # not building
#vvvvvv = {} # cannot find -lgcc_s
# Demos
#cairodemo = {}
cmatrix = {}
cpal = {}
gears = {}
glutin = {}
#glutin = {}
#hematite = {} # not building
iced = {}
libcosmic = {}
osdemo = {} # does not show anything
#libcosmic = {}
#osdemo = {} # does not show anything
#pathfinder = {} # not building
procedural-wallpapers-rs = {}
#rust-cairo = {}
#rust-cairo-demo = {}
sdl2-gears = {}
vttest = {}
#webrender = {}
winit = {}
# dev
# MIDI
generaluser-gs = {}
timidity = {}
# Development
autoconf = {}
automake = {}
#cookbook = {}
@ -63,38 +93,4 @@ gnu-make = {}
nasm = {}
patch = {}
pkg-config = {}
rust = {}
# games
devilutionx = {}
eduke32 = {}
flycast = {}
freeciv = {}
gigalomania = {}
love = {}
mednafen = {}
mgba = {}
openjazz = {}
openjk = {}
openttd = {}
openttd-opengfx = {}
openttd-openmsx = {}
openttd-opensfx = {}
quakespasm = {}
#retroarch = {} # need to package cores
rs-nes = {} # need game for testing
rust64 = {} # need roms
rustual-boy = {} # need game for testing
scummvm = {} # need game for testing
sm64ex = {}
#spacecadetpinball = {} # not building
syobonaction = {}
#vice = {} # broken on new toolchain
#vvvvvv = {} # cannot find -lgcc_s
# stuff
generaluser-gs = {}
jeremy = {}
noto-color-emoji = {}
timidity = {}
ttf-hack = {}
#rust = {}

View File

@ -104,14 +104,13 @@
#TODO: This isn't tested yet, use at your own risk
native = (pkgs.mkShell.override { stdenv = pkgs.gcc14Stdenv; }) rec {
nativeBuildInputs =
let
autoreconf269 = pkgs.writeShellScriptBin "autoreconf2.69" "${pkgs.autoconf269}/bin/autoreconf";
in
with pkgs;
[
(pkgs.writeShellScriptBin "${pkgs.stdenv.hostPlatform.system}-gnu-strip" ''
${pkgs.bintools-unwrapped}/bin/strip $@
'')
ant
autoconf
autoreconf269 # gnu-binutils
autoconf269
automake
bison
cmake

View File

@ -58,14 +58,14 @@ ifeq ($(PODMAN_BUILD),1)
else
$(MAKE) PREFIX_BINARY=0 \
"prefix/$(TARGET)/gcc-install.tar.gz" \
"prefix/$(TARGET)/relibc-install.tar.gz" \
"prefix/$(TARGET)/rust-install.tar.gz" \
"prefix/$(TARGET)/clang-install.tar.gz"
"prefix/$(TARGET)/clang-install.tar.gz" \
"prefix/$(TARGET)/relibc-install.tar.gz"
rm -rf "build/toolchain/$(HOST_TARGET)/$(TARGET)"
mkdir -p "build/toolchain/$(HOST_TARGET)/$(TARGET)"
cp "prefix/$(TARGET)/gcc-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/gcc-install.tar.gz"
cp "prefix/$(TARGET)/relibc-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/relibc-install.tar.gz"
cp "prefix/$(TARGET)/rust-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/rust-install.tar.gz"
cp "prefix/$(TARGET)/clang-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/clang-install.tar.gz"
cp "prefix/$(TARGET)/relibc-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/relibc-install.tar.gz"
cd "build/toolchain/$(HOST_TARGET)/$(TARGET)" && sha256sum -b * > SHA256SUM
endif

View File

@ -13,7 +13,7 @@ else
FILESYSTEM_SIZE=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG)); \
fi && \
truncate -s "$$FILESYSTEM_SIZE"m $@.partial
umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $@.partial
umask 022 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $@.partial
mv $@.partial $@
endif
@ -29,7 +29,7 @@ else
FILESYSTEM_SIZE=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG)); \
fi && \
truncate -s "$$FILESYSTEM_SIZE"m $@.partial
umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) --write-bootloader="$(BUILD)/bootloader-live.efi" --live $@.partial
umask 022 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) --write-bootloader="$(BUILD)/bootloader-live.efi" --live $@.partial
mv $@.partial $@
cp redox.ipxe $(BUILD)/redox.ipxe
endif
@ -52,7 +52,7 @@ else
$(REDOXFS) $@.partial $(MOUNT_DIR)
sleep 1
pgrep redoxfs
umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $(MOUNT_DIR)
umask 022 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $(MOUNT_DIR)
sync
-$(FUMOUNT) $(MOUNT_DIR) || true
rm -rf $(MOUNT_DIR)

View File

@ -99,6 +99,8 @@ $(PREFIX)/relibc-install.tar.gz: $(PREFIX)/sysroot
tar \
--create \
--gzip \
--sort=name \
--mtime='@0' \
--file "$@" \
--directory="$<" \
.
@ -205,10 +207,14 @@ $(PREFIX)/%.tar.gz: $(PREFIX)/%
tar \
--create \
--gzip \
--sort=name \
--mtime='@0' \
--file "$@" \
--directory="$<" \
.
PREFIX_FETCH_TAG=$(PREFIX)/fetch.tag
# BUILD GCC ---------------------------------------------------
$(PREFIX)/libtool-install: | $(FSTOOLS_TAG) $(CONTAINER_TAG)
ifeq ($(PODMAN_BUILD),1)
@ -228,7 +234,26 @@ else
mv "$@.partial" "$@"
endif
$(PREFIX)/binutils-install: | $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
# libtool may be used during autoconf, so this depends after building libtool
# it is fine to skip this, but this is used to fail early if sources fail due to autoconf
$(PREFIX_FETCH_TAG): | $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@echo "\033[1;36;49mFetching prefix sources\033[0m"
rm -f "$@"
export $(PREFIX_CONFIG) COOKBOOK_LIBTOOL_DIR=$(LIBTOOL_PATH) PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$$PATH" \
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) COOKBOOK_CROSS_GNU_TARGET=$(GNU_TARGET) && \
$(REPO_BIN) fetch host:binutils-gdb host:gcc13 host:llvm21 relibc
ifneq ($(PREFIX_USE_UPSTREAM_RUST_COMPILER),1)
export $(PREFIX_CONFIG) COOKBOOK_LIBTOOL_DIR=$(LIBTOOL_PATH) PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$$PATH" \
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) COOKBOOK_CROSS_GNU_TARGET=$(GNU_TARGET) && \
$(REPO_BIN) fetch host:wasi-libc host:rust
endif
touch "$@"
endif
$(PREFIX)/binutils-install: | $(PREFIX_FETCH_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@ -243,7 +268,7 @@ else
mv "$@.partial" "$@"
endif
$(PREFIX)/gcc-freestanding-install: $(PREFIX)/binutils-install | $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
$(PREFIX)/gcc-freestanding-install: $(PREFIX)/binutils-install | $(PREFIX_FETCH_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@ -263,7 +288,7 @@ else
mv "$@.partial" "$@"
endif
$(PREFIX)/relibc-freestanding-install: $(PREFIX)/gcc-freestanding-install | $(FSTOOLS_TAG) $(CONTAINER_TAG)
$(PREFIX)/relibc-freestanding-install: $(PREFIX)/gcc-freestanding-install | $(PREFIX_FETCH_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@ -280,7 +305,7 @@ else
mv "$@.partial" "$@"
endif
$(PREFIX)/gcc-install: $(PREFIX)/relibc-freestanding-install | $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
$(PREFIX)/gcc-install: $(PREFIX)/relibc-freestanding-install | $(PREFIX)/libtool-install $(PREFIX_FETCH_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@ -307,8 +332,6 @@ else
@#TODO: generates wrong lib path for libtool
rm -f "$@.partial"/$(GNU_TARGET)/lib/libstdc++.la
rm -f "$@.partial"/$(GNU_TARGET)/lib/libsupc++.la
@#TODO: Needed by clang, yet not emitted
ln -s crtbegin.o "$@.partial"/lib/gcc/$(GNU_TARGET)/13.2.0/crtbeginT.o
# hosted libstdcxx
export PATH="$(ROOT)/$@.partial/bin:$$PATH" \
ACLOCAL_PATH="$(LIBTOOL_PATH)/share/aclocal:$$ACLOCAL_PATH" && \
@ -399,7 +422,7 @@ endif
# BUILD RUST ---------------------------------------------------
else
$(PREFIX)/wasip1-libc-install: $(PREFIX)/clang-install | $(FSTOOLS_TAG) $(CONTAINER_TAG)
$(PREFIX)/wasip1-libc-install: $(PREFIX)/clang-install | $(PREFIX_FETCH_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@ -416,7 +439,7 @@ else
# TODO: Cache from WASIP1_LIBC_TARGET is currently not cleared.
endif
$(PREFIX)/rust-install: | $(PREFIX)/wasip1-libc-install $(PREFIX)/gcc-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
$(PREFIX)/rust-install: | $(PREFIX)/wasip1-libc-install $(PREFIX)/gcc-install $(PREFIX_FETCH_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@ -435,7 +458,7 @@ endif
endif
# BUILD CLANG ---------------------------------------------------
$(PREFIX)/clang-install: | $(PREFIX)/gcc-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
$(PREFIX)/clang-install: | $(PREFIX)/gcc-install $(PREFIX_FETCH_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else

View File

@ -1,3 +1,6 @@
[package]
description = "Compression library and tools, bzip2/.bz2 format"
[source]
tar = "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz"
blake3 = "97af3f520629c65fe41292f77e6ca798fe594d7987bfb2aebe7c6fcdc7ab5ed2"
@ -35,6 +38,15 @@ ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so.1"
ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so"
fi
mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig"
# Change symlinks in usr/bin as relative
find "${COOKBOOK_STAGE}/usr/bin" -type l | while read -r link; do
target=$(readlink "$link")
if [[ "$target" = /* ]]; then
ln -snfr "$target" "$link"
fi
done
mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig" "${COOKBOOK_STAGE}/usr/share/"
cp "${COOKBOOK_RECIPE}/pkgconfig" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/bzip2.pc"
mv "${COOKBOOK_STAGE}/usr/man" "${COOKBOOK_STAGE}/usr/share/"
"""

View File

@ -1,3 +1,6 @@
[package]
description = "Compression library, .zip format, based on zlib"
[source]
tar = "https://libzip.org/download/libzip-1.11.4.tar.gz"
blake3 = "844cf66c68f2dcf182f6626d5b72d55b75a100c0a93b3e6a45b447669ecf7088"

View File

@ -1,3 +1,6 @@
[package]
description = "Compression library and tools, lz4 format"
[source]
tar = "https://github.com/lz4/lz4/releases/download/v1.10.0/lz4-1.10.0.tar.gz"
blake3 = "3e69fd475e7852e17594985528b5232afeba7d3d56cfebe2e89071768b2ab36a"

View File

@ -1,3 +1,6 @@
[package]
description = "Compression library and tools, xz and .lzma format"
[source]
tar = "https://github.com/tukaani-project/xz/releases/download/v5.2.13/xz-5.2.13.tar.gz"
blake3 = "edc6350542e8cb7188a878135e5b9bd592d687e5b47451ca1c89d51cc4bc6b53"

View File

@ -1,3 +1,6 @@
[package]
description = "Compression library and tools, zstd/.zst format"
[source]
tar = "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz"
blake3 = "730dca31244abd219e995f03a55d95b2cfb4b3e16cda055a79fa6f30a4f0e1db"

View File

@ -1,3 +1,6 @@
[package]
description = "Wallpapers from Pop!_OS Linux"
[source]
git = "https://github.com/pop-os/wallpapers"
shallow_clone = true

View File

@ -1,3 +1,6 @@
[package]
description = "Wallpapers from Ubuntu Linux"
[source]
tar = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/ubuntu-wallpapers/23.10.4/ubuntu-wallpapers_23.10.4.orig.tar.gz"
blake3 = "1e479d0aa48fe3f2961a2dac28c3ed397a29616cf6e7d73f5ceb6fabfd6449e1"

View File

@ -1,5 +1,9 @@
[package]
description = "Essential system components and drivers for Redox"
[source]
git = "https://gitlab.redox-os.org/redox-os/base.git"
git = "https://gitlab.redox-os.org/Ibuki.O/base.git"
branch = "avoid-blocking-nsmgr"
[build]
template = "custom"

View File

@ -1,3 +1,6 @@
[package]
description = "Utilities for processing, manipulating, and inspecting binary files"
[source]
git = "https://gitlab.redox-os.org/redox-os/binutils.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Redox OS bootloader"
[source]
git = "https://gitlab.redox-os.org/redox-os/bootloader.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Containers and chroots for Redox"
[source]
git = "https://gitlab.redox-os.org/redox-os/contain.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Core UNIX shell utilities"
[source]
git = "https://gitlab.redox-os.org/redox-os/coreutils.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Standard POSIX shell, compatible with sh"
[source]
git = "https://gitlab.redox-os.org/redox-os/dash.git"
branch = "redox"

View File

@ -1,3 +1,6 @@
[package]
description = "Basic, but not essential for system function, UNIX shell utilities"
[source]
git = "https://gitlab.redox-os.org/redox-os/extrautils.git"

View File

@ -1,3 +1,6 @@
[package]
description = "UNIX find tool"
[source]
git = "https://gitlab.redox-os.org/redox-os/findutils.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Builds a bootable Redox image"
[source]
git = "https://gitlab.redox-os.org/redox-os/installer.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Official shell of the Redox project"
[source]
git = "https://gitlab.redox-os.org/redox-os/ion.git"

View File

@ -1,5 +1,9 @@
[package]
description = "The Redox microkernel"
[source]
git = "https://gitlab.redox-os.org/redox-os/kernel.git"
git = "https://gitlab.redox-os.org/Ibuki.O/kernel.git"
branch = "remove-fd-allocation"
[build]
template = "custom"

View File

@ -1,3 +1,6 @@
[package]
description = "Default data files required for networking"
[source]
git = "https://gitlab.redox-os.org/redox-os/netdb.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Basic command-line networking utilities"
[source]
git = "https://gitlab.redox-os.org/redox-os/netutils.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Package format utilities for Redox"
[source]
git = "https://gitlab.redox-os.org/redox-os/pkgar.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Standard package manager for Redox"
[source]
git = "https://gitlab.redox-os.org/redox-os/pkgutils.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Daemon used for profiling kernel (requires profiling-kernel recipe)"
[source]
git = "https://gitlab.redox-os.org/redox-os/profiled.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Kernel with profiling code enabled"
[source]
same_as = "../kernel"

View File

@ -1,5 +1,9 @@
[package]
description = "Official filesystem of the Redox project"
[source]
git = "https://gitlab.redox-os.org/redox-os/redoxfs.git"
git = "https://gitlab.redox-os.org/Ibuki.O/redoxfs.git"
branch = "update-redox-crates"
[build]
template = "custom"

View File

@ -1,5 +1,9 @@
[package]
description = "Redox POSIX/C Standard Library"
[source]
git = "https://gitlab.redox-os.org/redox-os/relibc.git"
git = "https://gitlab.redox-os.org/Ibuki.O/relibc.git"
branch = "avoid-blocking-nsmgr"
[build]
template = "custom"

View File

@ -1,3 +1,6 @@
[package]
description = "Command-line utility for debugging the system"
[source]
git = "https://gitlab.redox-os.org/redox-os/strace-redox.git"

View File

@ -1,5 +1,9 @@
[package]
description = "Command-line UNIX tools for managing users and groups"
[source]
git = "https://gitlab.redox-os.org/redox-os/userutils.git"
git = "https://gitlab.redox-os.org/Ibuki.O/userutils.git"
branch = "libredox"
[build]
template = "custom"

View File

@ -1,3 +1,6 @@
[package]
description = "General, useful command-line UNIX shell utilities (GNU Coreutils reimplemented in Rust)"
# TODO Fix locale init bug caused by OnceLock combined with thread_local
# TODO 0.12.0 requires rustix symlink_at
[source]

View File

@ -24,6 +24,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
"""
[package]
description = "Graphical text editor from COSMIC desktop"
dependencies = [
"libxkbcommon",
]

View File

@ -24,6 +24,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
"""
[package]
description = "Graphical file manager from COSMIC desktop"
dependencies = [
"libxkbcommon",
]

View File

@ -23,6 +23,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
"""
[package]
description = "Graphical system monitor from COSMIC desktop"
dependencies = [
"libxkbcommon",
]

View File

@ -38,6 +38,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
"""
[package]
description = "Graphical PDF reader from COSMIC desktop"
dependencies = [
"libxkbcommon",
]

View File

@ -23,6 +23,7 @@ cp -rv "${COOKBOOK_SOURCE}/resources/icons/" "${COOKBOOK_STAGE}/usr/share/icons/
"""
[package]
description = "Graphical system settings from COSMIC desktop"
dependencies = [
"libxkbcommon",
]

View File

@ -24,6 +24,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
"""
[package]
description = "Graphical app store from COSMIC desktop"
dependencies = [
"libxkbcommon",
]

View File

@ -20,6 +20,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
"""
[package]
description = "Graphical terminal emulator from COSMIC desktop"
dependencies = [
"libxkbcommon",
]

View File

@ -15,6 +15,7 @@ COOKBOOK_CARGO_PATH=examples/editor cookbook_cargo_build
"""
[package]
description = "Demo of GUI text editing widget library from COSMIC desktop"
dependencies = [
"libxkbcommon",
]

View File

@ -1,3 +1,6 @@
[package]
description = "TLS certificate authorities, from the Mozilla CA Certificate Program"
[source]
git = "https://gitlab.redox-os.org/redox-os/ca-certificates.git"

View File

@ -1,3 +1,6 @@
[package]
description = "MIDI soundfont"
[source]
git = "https://gitlab.redox-os.org/redox-os/generaluser-gs.git"

View File

@ -1,3 +1,6 @@
[package]
description = "FreeDesktop common MIME database"
# This does not build update-mime-database to avoid bringing in C code to Redox
[source]
tar = "https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/2.4/shared-mime-info-2.4.tar.gz"

View File

@ -1,3 +1,6 @@
[package]
description = "Tabset and terminfo databases"
[source]
git = "https://github.com/sajattack/terminfo"
branch = "master"

View File

@ -1,3 +1,6 @@
[package]
description = "Demo of Cairo GUI library"
# source is part of cookbook
[build]

View File

@ -25,6 +25,7 @@ sed -i -e 's|#define USE_TIOCSTI 1|/* #undef USE_TIOCSTI */|g' config.h
"""
[package]
description = "Terminal based character raining effect from the Matrix movies"
dependencies = [
"terminfo"
]

View File

@ -1,3 +1,7 @@
# TODO: When more CPAL examples are added, description should be changed
[package]
description = "Command line beep tool (demo from CPAL sound library)"
[source]
git = "https://gitlab.redox-os.org/redox-os/cpal.git"
branch = "redox"

View File

@ -1,3 +1,6 @@
[package]
description = "Example of a dynamic library for Redox"
[source]
git = "https://gitlab.redox-os.org/redox-os/dynamic-example.git"
shallow_clone = true

View File

@ -1,3 +1,6 @@
[package]
description = "Redox device driver daemon example"
[source]
git = "https://gitlab.redox-os.org/redox-os/exampled.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Mesa3D \"gears\" OpenGL demo ported to Orbital windowing"
[build]
dependencies=[
"liborbital",

View File

@ -1,3 +1,6 @@
[package]
description = "Demo of Glutin OpenGL-initialization library"
[source]
git = "https://gitlab.redox-os.org/redox-os/glutin.git"
branch = "redox-0.30"

View File

@ -1,3 +1,6 @@
[package]
description = "Examples from Iced GUI library"
[source]
git = "https://github.com/pop-os/iced"
rev = "300fa97"

View File

@ -1,3 +1,6 @@
[package]
description = "Orbital client library example"
[source]
git = "https://gitlab.redox-os.org/redox-os/orbclient.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Mesa3D offscreen rendering (OSMesa) demo using Orbital windowing"
[build]
template = "custom"
dependencies = [

View File

@ -15,6 +15,7 @@ cp -v "${COOKBOOK_SOURCE}/manifest" "${COOKBOOK_STAGE}/usr/share/ui/apps/pixelca
"""
[package]
description = "3D laughing face meme navigation demo"
dependencies = [
"orbital",
]

View File

@ -1,3 +1,6 @@
[package]
description = "Mesa3D \"gears\" OpenGL demo ported to SDL2 windowing"
[build]
template = "custom"
dependencies = [

View File

@ -1,3 +1,6 @@
[package]
description = "Examples from softbuffer GUI framebuffer library"
# NOTE: Switch to upstream once winit pump events have been upstreamed
[source]
git = "https://github.com/willnode/softbuffer.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Examples from winit GUI library"
[source]
git = "https://gitlab.redox-os.org/redox-os/winit"
branch = "redox-0.31.0-beta"

View File

@ -6,4 +6,5 @@ blake3 = "da1cc8af8551c343de9f42af0ae53fd7dff3623487157623892b6cd7e3bb5692"
template = "configure"
[package]
description = "Tools for self-configuring software source code (creates \"configure\" script)"
dependencies = ["perl5"]

View File

@ -6,4 +6,5 @@ blake3 = "f42cfc333aaaa11f2bcb05b5b0273b8706c820c22f9ba4367f7eb920551695cd"
template = "configure"
[package]
description = "Tools for high-level build scripting atop GNU Make (creates \"Makefile.in\")"
dependencies = ["perl5"]

View File

@ -1,3 +1,6 @@
[package]
description = "GNU Binutils version of GDB debugger"
[source]
git = "https://gitlab.redox-os.org/redox-os/binutils-gdb"
branch = "redox-2.43.1"

View File

@ -1,3 +1,6 @@
[package]
description = "LLVM C/C++ frontend/compiler"
[source]
same_as = "../llvm21"

View File

@ -1,9 +1,12 @@
[package]
description = "Widely-used cross-platform build system"
[source]
tar = "https://github.com/Kitware/CMake/releases/download/v4.3.2/cmake-4.3.2.tar.gz"
blake3 = "cbd0121189df1502f61e8f12f044b4a901b1ea16c74c016b85714e4661b8537f"
[build]
template = "cmake"
template = "custom"
dependencies = [
# "cppdap",
"curl",
@ -17,14 +20,19 @@ dependencies = [
"zlib",
"zstd",
]
cmakeflags = [
"-DBUILD_TESTING=Off",
"-DCMAKE_USE_SYSTEM_BZIP2=On",
"-DCMAKE_USE_SYSTEM_CURL=On",
"-DCMAKE_USE_SYSTEM_EXPAT=On",
"-DCMAKE_USE_SYSTEM_LIBARCHIVE=On",
"-DCMAKE_USE_SYSTEM_LIBUV=On",
"-DCMAKE_USE_SYSTEM_NGHTTP2=On",
"-DCMAKE_USE_SYSTEM_ZLIB=On",
"-DCMAKE_USE_SYSTEM_ZSTD=On",
]
script = """
DYNAMIC_INIT
COOKBOOK_CMAKE_FLAGS=(
-DBUILD_TESTING=Off
-DCMAKE_USE_SYSTEM_BZIP2=On
-DCMAKE_USE_SYSTEM_CURL=On
-DCMAKE_USE_SYSTEM_EXPAT=On
-DCMAKE_USE_SYSTEM_LIBARCHIVE=On
-DCMAKE_USE_SYSTEM_LIBUV=On
-DCMAKE_USE_SYSTEM_NGHTTP2=On
-DCMAKE_USE_SYSTEM_ZLIB=On
-DCMAKE_USE_SYSTEM_ZSTD=On
)
cookbook_cmake
mv "${COOKBOOK_STAGE}/usr/doc" "${COOKBOOK_STAGE}/usr/share/"
"""

View File

@ -1,3 +1,6 @@
[package]
description = "A dependency manager for PHP"
#TODO must be run using `php $(which composer)`
[build]
template = "custom"

View File

@ -1,3 +1,6 @@
[package]
description = "Library and tools to configure, enumerate, and substitute fonts"
[source]
tar = "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.16.0.tar.xz"
blake3 = "5c95d48f5b9150f4a06d8acac12c25edaac956007df95a3bf527df02a5908f0e"

View File

@ -100,6 +100,7 @@ fi
"""
[package]
description = "GNU Compiler Collection"
dependencies = [
"gnu-binutils"
]

View File

@ -1,3 +1,6 @@
[package]
description = "GDB server for remote debugging"
[source]
git = "https://gitlab.redox-os.org/redox-os/gdbserver.git"

View File

@ -23,6 +23,7 @@ mesonflags = [
]
[package]
description = "Image loading library from GNOME project"
dependencies = [
"shared-mime-info",
]

View File

@ -1,240 +0,0 @@
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 <machine/endian.h>
+#endif
+
/*
* 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
@@ -137,6 +137,18 @@
return buf.buf;
}
+#elif defined(__redox__)
+
+ssize_t __getline(char **lptr, size_t *n, FILE *fp);
+
+char *git_terminal_prompt(const char *prompt, int echo)
+{
+ char *line = NULL;
+ size_t n = 0;
+ __getline(&line, &n, stdin);
+ return line; // XXX leak
+}
+
#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
@@ -6156,7 +6156,7 @@
ac_res=$ac_cv_search_getaddrinfo
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
- NO_IPV6=
+ NO_IPV6=YesPlease
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 @@
if (!reuseaddr)
return 0;
+#if defined(__redox__)
+ return 0;
+#else
return setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR,
&on, sizeof(on));
+#endif
}
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
@@ -1,6 +1,18 @@
#ifndef GIT_COMPAT_UTIL_H
#define GIT_COMPAT_UTIL_H
+#ifndef SIG_DFL
+#define SIG_DFL ((void (*)(int))0)
+#endif
+
+#ifndef SIG_IGN
+#define SIG_IGN ((void (*)(int))1)
+#endif
+
+#ifndef SIG_ERR
+#define SIG_ERR ((void (*)(int))-1)
+#endif
+
#define _FILE_OFFSET_BITS 64
@@ -323,6 +335,14 @@
#define PATH_SEP ':'
#endif
+#ifndef DEV_NULL
+#if defined(__redox__)
+#define DEV_NULL "/scheme/null"
+#else
+#define DEV_NULL "/dev/null"
+#endif
+#endif
+
#ifdef HAVE_PATHS_H
#include <paths.h>
#endif
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
GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB)
-EXTLIBS =
+EXTLIBS = -lnghttp2
GIT_USER_AGENT = git/$(GIT_VERSION)
@@ -1802,7 +1802,6 @@
$(BUILT_INS): git$X
$(QUIET_BUILT_IN)$(RM) $@ && \
- ln $< $@ 2>/dev/null || \
ln -s $< $@ 2>/dev/null || \
cp $< $@
@@ -2096,7 +2095,6 @@
$(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
$(QUIET_LNCP)$(RM) $@ && \
- ln $< $@ 2>/dev/null || \
ln -s $< $@ 2>/dev/null || \
cp $< $@
@@ -2449,14 +2447,12 @@
for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \
$(RM) "$$bindir/$$p" && \
test -z "$(NO_INSTALL_HARDLINKS)" && \
- ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \
ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \
cp "$$bindir/git$X" "$$bindir/$$p" || exit; \
done && \
for p in $(BUILT_INS); do \
$(RM) "$$execdir/$$p" && \
test -z "$(NO_INSTALL_HARDLINKS)" && \
- ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
done && \
@@ -2464,7 +2460,6 @@
for p in $$remote_curl_aliases; do \
$(RM) "$$execdir/$$p" && \
test -z "$(NO_INSTALL_HARDLINKS)" && \
- ln "$$execdir/git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
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
@@ -120,9 +120,9 @@
#ifndef GIT_WINDOWS_NATIVE
static inline void dup_devnull(int to)
{
- int fd = open("/dev/null", O_RDWR);
+ int fd = open(DEV_NULL, O_RDWR);
if (fd < 0)
- die_errno(_("open /dev/null failed"));
+ die_errno(_("open %s failed"), DEV_NULL);
if (dup2(fd, to) < 0)
die_errno(_("dup2(%d,%d) failed"), fd, to);
close(fd);
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)
{
- int fd = open("/dev/null", O_RDWR, 0);
+ int fd = open(DEV_NULL, O_RDWR, 0);
while (fd != -1 && fd < 2)
fd = dup(fd);
if (fd == -1)
- die_errno("open /dev/null or dup failed");
+ die_errno("open %s or dup failed", DEV_NULL);
if (fd > 2)
close(fd);
}
@@ -1169,8 +1169,10 @@
default:
exit(0);
}
+#if !defined(__redox__)
if (setsid() == -1)
die_errno("setsid failed");
+#endif
close(0);
close(1);
close(2);

View File

@ -0,0 +1,2 @@
[protocol]
version = 0

View File

@ -1,15 +1,13 @@
[source]
tar = "https://www.kernel.org/pub/software/scm/git/git-2.13.1.tar.xz"
blake3 = "bc78271bffd60c5b8b938d8c08fd74dc2de8d21fbaf8f8e0e3155436d9263f17"
patches = ["git.patch"]
tar = "https://www.kernel.org/pub/software/scm/git/git-2.56.0.tar.xz"
blake3 = "596b02fea3d67e2ca45208aabebc92d2c14e7f2827f82cba59a630d55eea0854"
[build]
dependencies=[
"curl",
"expat",
"nghttp2",
"openssl3",
"zlib"
"zlib",
"pcre2",
]
template = "custom"
script = """
@ -18,36 +16,35 @@ DYNAMIC_INIT
MAKEFLAGS=(
NEEDS_SSL_WITH_CURL=1
NEEDS_CRYPTO_WITH_SSL=1
NO_IPV6=1
NO_PREAD=1
NO_MMAP=1
NO_SETITIMER=1
NO_UNIX_SOCKETS=1
NO_IPV6=1 # not implemented
NO_MMAP=1 # mmap writes extra null padding
NO_SETITIMER=1 # deprecated
NO_UNIX_SOCKETS=1 # need inotify
NEEDS_LIBICONV=
NEEDS_LIBRT=
BLK_SHA1=1
V=1
RUST_TARGETS=$TARGET
INSTALL_SYMLINKS=1
)
if [ "${COOKBOOK_DYNAMIC}" != "1" ]; then
# git does not use pkgconfig to be aware with zstd
MAKEFLAGS+=( EXTLIBS="-lzstd -lnghttp2 -lz" )
fi
export CURL_CONFIG="${COOKBOOK_SYSROOT}/usr/bin/curl-config"
./configure \
--host="${GNU_TARGET}" \
--prefix=/usr \
--sysconfdir=/etc \
ac_cv_fread_reads_directories=yes \
ac_cv_snprintf_returns_bogus=yes \
ac_cv_lib_curl_curl_global_init=yes
"${COOKBOOK_MAKE}" "${MAKEFLAGS[@]}" -j"${COOKBOOK_MAKE_JOBS}"
"${COOKBOOK_MAKE}" DESTDIR="${COOKBOOK_STAGE}" "${MAKEFLAGS[@]}" install
rm -rf "${COOKBOOK_STAGE}/usr/share/man"
# TODO: pinned to protocol v0 otherwise silently quit
mkdir -p "${COOKBOOK_STAGE}/etc"
cp "${COOKBOOK_RECIPE}/gitconfig" "${COOKBOOK_STAGE}/etc/"
"""
[package]
description = "Distributed version control system"
dependencies = [
"ca-certificates",
"nghttp2"
]

View File

@ -1,3 +1,6 @@
[package]
description = "Rust reimplementation of Git"
[source]
git = "https://github.com/Byron/gitoxide.git"
rev = "v0.54.0"

View File

@ -1,3 +1,6 @@
[package]
description = "GNU version of Make tool"
#TODO slower jobserver due to lack of named pipes
[source]
tar = "http://ftp.gnu.org/gnu/make/make-4.4.tar.gz"

View File

@ -1,3 +1,6 @@
[package]
description = "\"Hello world\" examples in over 1000 languages"
[source]
git = "https://github.com/leachim6/hello-world"
shallow_clone = true

View File

@ -1,3 +1,6 @@
[package]
description = "Command-line JSON processor"
#TODO undefined reference
[source]
tar = "https://github.com/jqlang/jq/releases/download/jq-1.8.1/jq-1.8.1.tar.gz"

View File

@ -1,3 +1,6 @@
[package]
description = "Interpreter for LOLCODE programming language"
[source]
git = "https://github.com/jD91mZM2/rust-lci"

View File

@ -1,3 +1,6 @@
[package]
description = "Tools for working with shared libraries"
#TODO can build, not tested
[source]
git = "https://gitlab.redox-os.org/redox-os/libtool"

View File

@ -1,3 +1,6 @@
[package]
description = "The LLVM linker"
[source]
same_as = "../llvm21"

View File

@ -1,3 +1,6 @@
[package]
description = "LLVM 21.x libraries and tools additional support libraries used by Clang"
[source]
same_as = "../llvm21"
@ -10,8 +13,11 @@ DYNAMIC_INIT
generate_cookbook_cmake_file "$COOKBOOK_HOST_TARGET" "" "$COOKBOOK_TOOLCHAIN" native.cmake
COOKBOOK_CMAKE_FLAGS+=(
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi"
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind"
-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY
# unused compiler-rt flags, disabled for now to prevent runtime mixups
-DCOMPILER_RT_BUILD_CRT=ON
-DCOMPILER_RT_BUILD_ORC=OFF
-DCOMPILER_RT_BUILD_XRAY=OFF
-DCOMPILER_RT_BUILD_MEMPROF=OFF
@ -19,14 +25,17 @@ COOKBOOK_CMAKE_FLAGS+=(
-DCOMPILER_RT_BUILD_SANITIZERS=OFF
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
-DLIBCXX_USE_COMPILER_RT=ON
-DLIBCXX_ENABLE_SHARED=OFF
-DLIBCXX_USE_COMPILER_RT=OFF
-DLIBCXX_ENABLE_SHARED=ON
-DLIBCXX_ENABLE_LOCALIZATION=OFF # TODO: *_l functions
-DLIBCXX_ENABLE_FILESYSTEM=OFF # TODO: fstream require locales
-DLIBCXX_ENABLE_WIDE_CHARACTERS=OFF # TODO: wsctof, wsctold
-DLIBCXXABI_USE_COMPILER_RT=ON
-DLIBCXXABI_ENABLE_SHARED=OFF
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF # TODO: libunwind need link.h
-DLIBCXXABI_USE_COMPILER_RT=OFF
-DLIBCXXABI_ENABLE_SHARED=ON
-DLIBCXXABI_USE_LLVM_UNWINDER=OFF # libgcc contains unwinder
-DLIBUNWIND_USE_COMPILER_RT=OFF
-DLIBUNWIND_ENABLE_SHARED=ON
-DCOMPILER_RT_INSTALL_PATH="/usr/lib/clang/21"
# the shared options from llvm

View File

@ -1,3 +1,6 @@
[package]
description = "LLVM 18.x libraries and tools"
[source]
git = "https://gitlab.redox-os.org/redox-os/llvm-project.git"
upstream = "https://github.com/rust-lang/llvm-project.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Libraries and tools for LLVM generic compiler backend, version 21"
[source]
git = "https://gitlab.redox-os.org/redox-os/llvm-project.git"
upstream = "https://github.com/rust-lang/llvm-project.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Lua programming language, PUC-Rio distribution, version 5.4"
[source]
tar = "https://lua.org/ftp/lua-5.4.7.tar.gz"
blake3 = "e51c2f347e3185479d5ff95cae8ac77511db486853269443c56bedaa0a6ae629"

View File

@ -1,3 +1,6 @@
[package]
description = "JIT version of Lua programming language, version 5.1 plus extensions"
[source]
git = "https://luajit.org/git/luajit.git"
rev = "a4f56a459a588ae768801074b46ba0adcfb49eb1"

View File

@ -1,3 +1,6 @@
[package]
description = "Package manager for Lua programming language"
[source]
git = "https://github.com/luarocks/luarocks.git"
shallow_clone = true

View File

@ -1,3 +1,6 @@
[package]
description = "x86 assembler"
[source]
#TODO: nasm.us is down: tar = "https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz"
tar = "https://gstreamer.freedesktop.org/src/mirror/nasm-2.14.02.tar.xz"

View File

@ -1,3 +1,6 @@
[package]
description = "Tool to apply a diff file to an original"
[source]
tar = "https://ftp.gnu.org/gnu/patch/patch-2.7.6.tar.xz"
blake3 = "d46d14c12aa4ea51e356bf92091c368fd871e1d770b94bc29027886737aecd5f"

View File

@ -1,3 +1,6 @@
[package]
description = "Data file mapping that maps PCI IDs to human-readable names"
[source]
git = "https://github.com/pciutils/pciids.git"

View File

@ -1,3 +1,6 @@
[package]
description = "Web-centric programming language"
[source]
tar = "https://www.php.net/distributions/php-8.4.17.tar.xz"
blake3 = "a8478dddd948d4b26e51c5727ac0895440da76e8ad9be947098a4284ca0b7f2a"

View File

@ -1,3 +1,6 @@
[package]
description = "Tool for querying library paths and configuration information"
[source]
tar = "https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz"
blake3 = "713372b09a1fafeec130dc9bf812a3880f2a90496af5d2194e508d91ccf667d0"

View File

@ -1,3 +1,6 @@
[package]
description = "Object-oriented interpreted programming language, version 3.12.x"
[source]
tar = "https://www.python.org/ftp/python/3.12.12/Python-3.12.12.tar.xz"
blake3 = "29636fdae3e0ee8d0fe585e528c9376fe43876f5f3f0f7892140567946fd907b"

View File

@ -1,3 +1,6 @@
[package]
description = "Wrapper and command-line tool to quickly test and run Rust, C, and C++ applications and libraries in a minimal Redox virtual machine"
[source]
git = "https://gitlab.redox-os.org/redox-os/redoxer"
branch = "master"

View File

@ -1,3 +1,6 @@
[package]
description = "Rust compiler and tooling"
[source]
git = "https://gitlab.redox-os.org/redox-os/rust.git"
branch = "redox-2026-05-24"

View File

@ -1,3 +1,6 @@
[package]
description = "Python interpreter written in Rust"
[source]
git = "https://github.com/RustPython/RustPython"
# newer rev requires 'bits/libc-header-start.h' for bindgen

Some files were not shown because too many files have changed in this diff Show More