Compare commits

...

234 Commits

Author SHA1 Message Date
Wildan Mubarok
8c62e2ed9c Merge branch 'ramfs-tmp' into 'master'
Draft: Use ramfs to tmp directory

See merge request redox-os/redox!1816
2026-11-03 21:35:38 +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
Jacob Lorentzon
524b220ef2 Merge branch 'remove-lz4-patch' into 'master'
remove lz4 patch

See merge request redox-os/redox!2401
2026-10-25 22:42:36 +01:00
Ribbon
e079d707b8 Update more recipes and TODOs 2026-10-24 14:09:13 -03:00
Ribbon
ee828cd325 Add and update recipes 2026-10-24 13:20:41 -03:00
auronandace
98ad0a8752 remove lz4 patch 2026-10-23 14:49:41 +01:00
Jeremy Soller
4338ac2413 Merge branch 'wasi' into 'master'
Add compiler wasm option

See merge request redox-os/redox!2395
2026-10-22 09:02:52 -06: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
Jeremy Soller
abd771a5e9 Merge branch 'lto-strip' into 'master'
cookbook: Add LTO plugin to strip

See merge request redox-os/redox!2398
2026-10-21 10:23:22 -06:00
Jeremy Soller
616353e91e Merge branch 'gcc-toolchain' into 'master'
Fix gcc toolchain due to package deps

See merge request redox-os/redox!2397
2026-10-21 10:22:42 -06:00
Jeremy Soller
0fa90fc07a Merge branch 'remove-rlimit-patch' into 'master'
remove no_rlimit patch from patch package

See merge request redox-os/redox!2394
2026-10-21 10:17:47 -06:00
Jeremy Soller
9224020a92 Merge branch 'xz-threads' into 'master'
xz: Enable threads

See merge request redox-os/redox!2391
2026-10-21 10:16:16 -06:00
Jeremy Soller
1961e941e0 Merge branch 'scriptisto' into 'master'
Fix compilation for scriptisto

See merge request redox-os/redox!2392
2026-10-21 10:16:08 -06:00
Jeremy Soller
3f90e9232c Merge branch 'python-ioctl' into 'master'
python: Fix ioctl arg type

See merge request redox-os/redox!2393
2026-10-21 10:15:59 -06:00
Wildan M
0e1c602c62
Add compiler wasm option 2026-10-21 14:22:16 +07:00
Wildan M
b4f6410529
cookbook: Add LTO plugin to strip 2026-10-21 04:27:29 +07:00
Wildan Mubarok
7a75f65f6a Merge branch 'rustc' into 'master'
Fix rust compilation

See merge request redox-os/redox!2396
2026-10-20 08:30:26 +00:00
Wildan M
88a892572d
Fix gcc toolchain due to package deps 2026-10-20 14:33:43 +07:00
auronandace
c01b9c8d10 remove no_rlimit patch from patch package 2026-10-16 11:34:03 +01:00
Wildan M
795aa87b72
Fix rust compilation 2026-10-16 17:30:02 +07:00
Wildan M
8cfa74baa5
python: Fix ioctl arg type 2026-10-15 15:02:07 +07:00
Wildan M
1c7b0aa576
Fix compilation for scriptisto 2026-10-15 14:59:40 +07:00
Wildan M
aac8e49f5f
xz: Enable threads 2026-10-15 14:56:16 +07:00
Ribbon
332fb5e785 Fix and update more recipes 2026-10-12 19:29:36 -03:00
Ribbon
b133e5cbc1 Move many wip recipes 2026-10-12 16:58:46 -03:00
Ribbon
b447343350 Fix and update many more recipes, and remove unnecessary recipes 2026-10-12 16:17:42 -03:00
Ribbon
003f6ce9d1 Fix and update many more recipes 2026-10-12 11:01:56 -03:00
Ribbon
cf5df97e85 Fix and update more recipes 2026-10-11 16:01:52 -03:00
Ribbon
21008dcf21 Fix and update many more recipes 2026-10-11 13:06:09 -03:00
Ribbon
66edc7a917 Add zonetimeline recipe 2026-10-11 05:21:15 -03:00
Ribbon
6921e5bb67 Fix and update many recipes 2026-10-10 12:54:44 -03:00
Jeremy Soller
445c556af6 Merge branch 'deps-real' into 'master'
cookbook: Apply rules before deriving build deps

See merge request redox-os/redox!2389
2026-10-09 15:15:56 -06:00
Jeremy Soller
65dd80c331 Merge branch 'gimp' into 'master'
Port GIMP

See merge request redox-os/redox!2241
2026-10-09 13:00:15 -06:00
Wildan Mubarok
5add974b86 Apply 1 suggestion(s) to 1 file(s) 2026-10-09 11:26:59 +00:00
Wildan Mubarok
45dc9463fb Apply 1 suggestion(s) to 1 file(s) 2026-10-09 11:25:12 +00:00
Wildan Mubarok
71a87aa750 Apply 1 suggestion(s) to 1 file(s) 2026-10-08 22:11:06 +00:00
Ribbon
72f0a39083 Fix and improve many recipes 2026-10-08 15:52:17 -03:00
Ribbon
76b1de0c65 Fix and remove more recipes, and update more TODOs 2026-10-08 13:11:41 -03:00
Wildan Mubarok
79482cbab1 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Ribbon <ribbon_45@proton.me>
2026-10-08 10:57:35 +00:00
Jeremy Soller
ec2ec281d8 Merge branch 'wasmtime-update' into 'master'
update wasmtime from v36 to v49

See merge request redox-os/redox!2386
2026-10-07 10:15:31 -06:00
Jeremy Soller
a212301301 Merge branch 'update-servo' into 'master'
Update servo to 0.7.0

See merge request redox-os/redox!2387
2026-10-07 10:14:29 -06:00
auronandace
013707b465 update wasmtime from v36 to v49 2026-10-06 13:52:38 +01:00
Jeremy Soller
54ad8740ad Merge branch 'nproc' into 'master'
Fix missing nproc

See merge request redox-os/redox!2385
2026-10-06 06:35:45 -06:00
Ribbon
e2a4098aa1 Add, fix, update some recipes and remove abandoned recipes 2026-10-06 07:00:07 -03:00
Ribbon
94099aabf1 Merge branch 'nixos-improvements' into 'master'
Makefile: QEMU/NixOS improvements

See merge request redox-os/redox!2381
2026-10-06 05:20:49 -03:00
Wildan M
a01dc721cd
cookbook: Apply rules before deriving build deps 2026-10-06 14:21:12 +07:00
Jeremy Soller
b23af373da Merge branch 'clang-sym' into 'master'
prefix: Add clang++ symlink

See merge request redox-os/redox!2384
2026-10-05 19:24:21 -06:00
Wildan M
8ca6693b9d
Update GIMP launcher 2026-10-06 06:30:55 +07:00
Wildan M
4a1d58323a
Port GIMP 2026-10-06 06:23:30 +07:00
radex
09e7244747 mk/qemu: remove redundant search paths
with qemu-relative firmware search, we don't need NixOS libvirtd's paths or Homebrew paths (the latter are equivalent to qemu-relative)
2026-10-05 20:24:35 +02:00
Wildan M
27881074c3
Update servo to 0.7.0 2026-10-05 10:02:45 +07:00
radex
08e45bc160
nix: make qemu for all architectures available 2026-10-04 20:58:03 +02:00
radex
21f69c1c43
mk/qemu: more helpful error on missing UEFI
As best I can tell, on aarch64 and riscv64gc, the UEFI firmware is *required* for Redox to run. If not found, qemu will still run, but will get stuck.

It's better to error out explicitly and early.

This does not appear to be the case on x86_64 where skipping the firmware load still appears to boot Redox successfully, hence I didn't add the error there.
2026-10-04 20:58:02 +02:00
radex
b668e904bc
mk/qemu: improved Nix(OS) UEFI path search
The /run/libvirt/nix-ovmf/* paths cannot be relied upon to exist. As far as I can tell, this is only available on NixOS with libvirtd enabled.

On the other hand, on any Nix platform, UEFI firmware binaries can be found relative to the the qemu binary (including when using nix shell).
2026-10-04 20:57:41 +02:00
Jeremy Soller
02dda2e7f4 Merge branch 'remove_legacy_orbital_symlinks' into 'master'
Remove legacy orbital symlinks

See merge request redox-os/redox!2382
2026-10-04 12:28:44 -06:00
bjorn3
4748f0a2c1 Remove legacy orbital symlinks 2026-10-04 20:07:05 +02:00
radex
996da092dd mk/qemu: ensure UEFI vars are writable
On some platforms (e.g. Nix), the template variables file is non-writable. So, we need to make the copy writable before we can use it with qemu
2026-10-04 15:17:06 +02:00
Wildan M
73542ee0d5
Fix missing nproc 2026-10-04 09:32:07 +07:00
Wildan M
29d3c40b4b
prefix: Add clang++ symlink 2026-10-04 03:22:27 +07:00
Jeremy Soller
9fe0bdbbb0 Merge branch 'webkit-launch-3' into 'master'
Remove webkit envs hack

See merge request redox-os/redox!2376
2026-10-03 07:28:25 -06:00
Jeremy Soller
247c782b92 Merge branch 'openttd-path' into 'master'
Fix openttd paths

See merge request redox-os/redox!2377
2026-10-03 07:27:33 -06:00
Jeremy Soller
190b4bf292 Merge branch 'webkit-video' into 'master'
Add ffmpeg and AAC on gstreamer

See merge request redox-os/redox!2378
2026-10-03 07:07:30 -06:00
Wildan M
7b7f42444a
Add ffmpeg and AAC on gstreamer 2026-10-03 11:59:59 +07:00
Wildan M
f12422d1a5
Fix openttd paths 2026-10-03 08:12:58 +07:00
Wildan M
be90cb09e7
Remove webkit envs hack 2026-10-03 07:09:12 +07:00
Jeremy Soller
5765d9f6b2 Merge branch 'webkit-launch-2' into 'master'
Use webkit launch script

See merge request redox-os/redox!2375
2026-10-02 05:23:02 -06:00
Jeremy Soller
0c49cecbc5 Merge branch 'llm-policy' into 'master'
Simplify AI policy

See merge request redox-os/redox!2373
2026-10-01 14:19:19 -06:00
Jeremy Soller
a54595650b Adjust to match our prior policy minus unnecessary language 2026-10-01 14:00:37 -06:00
Jeremy Soller
c462f02f46 Merge branch 'rustflags-undef' into 'master'
Fix undefined REDOXER_RUSTFLAGS_KEY in fetch script

See merge request redox-os/redox!2374
2026-09-30 20:50:52 -06:00
Jeremy Soller
231528f64f Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Ron Williams <ron.williams.redox@gmail.com>
2026-09-30 16:42:43 -06:00
Jeremy Soller
d4b049df7b Adopt Pop AI policy 2026-09-30 14:42:02 -06:00
Jeremy Soller
35f4c3f3e2 Merge branch 'no-dev' into 'master'
cookbook: Don't build dev recipes whenever possible

See merge request redox-os/redox!2372
2026-09-30 14:35:25 -06:00
Ribbon
a64077bce3 Rename graphics/vr recipe category to xr 2026-09-30 11:19:37 -03:00
Ribbon
9793807647 Add recipes 2026-09-30 11:17:24 -03:00
Jeremy Soller
bb24a6d468 Merge branch 'lua' into 'master'
Fix lua-compat compilation, fix openttd prefix

See merge request redox-os/redox!2371
2026-09-30 06:03:15 -06:00
Jeremy Soller
004566fa67 Merge branch 'dont_touch_user_home' into 'master'
Don't touch user home from packages

See merge request redox-os/redox!2365
2026-09-29 17:19:53 -06:00
Jeremy Soller
a837484d3a Merge branch 'usr_share_ui' into 'master'
Stop using deprecated /ui symlink in several recipes

See merge request redox-os/redox!2366
2026-09-29 17:19:23 -06:00
Wildan M
9552c0c41a
Use webkit launch script 2026-09-30 03:15:50 +07:00
Jeremy Soller
d8759f33dd Merge branch 'flycast-3' into 'master'
Enable flycast jit

See merge request redox-os/redox!2369
2026-09-29 07:18:30 -06:00
Jeremy Soller
2039d75a5c Merge branch 'rustflags-key' into 'master'
Fix passing redoxer rustflags

See merge request redox-os/redox!2370
2026-09-29 07:17:40 -06:00
Jeremy Soller
c0e734022d Merge branch 'webkit-launch' into 'master'
Add webkit shortcut, fix rendering

See merge request redox-os/redox!2368
2026-09-29 07:15:52 -06:00
Wildan M
2902f6a0f8
Fix undefined REDOXER_RUSTFLAGS_KEY in fetch script 2026-09-29 12:45:44 +07:00
Wildan M
f3123f7ded
Update redoxer 2026-09-29 12:39:27 +07:00
Wildan M
16670064b9
cookbook: Don't build dev recipes whenever possible 2026-09-29 01:16:18 +07:00
Wildan M
d5cc8bf4dc
Fix openttd prefix 2026-09-28 23:38:29 +07:00
Wildan M
f2915fb2e8
Fix lua-compat compilation 2026-09-28 23:37:53 +07:00
Jeremy Soller
1ad7f7e2ac Merge branch 'rsvg-gtk' into 'master'
Add librsvg dep to gtk instead of adwaita icon theme

See merge request redox-os/redox!2367
2026-09-28 05:33:30 -06:00
Wildan M
8484033e1a
Fix passing redoxer rustflags 2026-09-28 13:43:47 +07:00
Jeremy Soller
baeb71e0b6 Merge branch 'llvm-miscompile' into 'master'
Fix llvm miscompilation cross arch

See merge request redox-os/redox!2364
2026-09-27 20:15:50 -06:00
Wildan M
ed78c2bd0b
Enable webkit jit 2026-09-28 08:48:56 +07:00
Wildan M
060f01f1e5
Disable gstreamer fork 2026-09-28 08:48:28 +07:00
Wildan M
4a078df83d
Enable flycast jit 2026-09-28 03:32:07 +07:00
Wildan M
811fe89518
Add webkit shortcut, fix rendering 2026-09-28 03:20:48 +07:00
bjorn3
a4242e0257 Stop using deprecated /ui symlink in several recipes 2026-09-27 20:03:50 +02:00
bjorn3
cb48d8c091 Remove crates-io-index package
It is useless now that the spare registry is the default in Cargo as
Cargo no longer looks at the git registry repo at all.
2026-09-27 19:35:11 +02:00
bjorn3
9571d790d3 Move rustconf2025 pdf to /usr/share 2026-09-27 19:35:11 +02:00
bjorn3
cc0a884fd8 Move wasi-testsuite sources to /usr/share 2026-09-27 19:35:11 +02:00
bjorn3
69183db389 Move hello-world-examples sources to /usr/share 2026-09-27 19:35:11 +02:00
bjorn3
0dea0e1ac7 Remove /home/user modification in flycast package 2026-09-27 19:35:11 +02:00
bjorn3
44a30e582c Move relibc-tests sources to /usr/share 2026-09-27 19:35:11 +02:00
bjorn3
cddafcc84a Move redox-posix-tests sources to /usr/share 2026-09-27 19:35:11 +02:00
bjorn3
a0bde92310 Move cookbook sources to /usr/share 2026-09-27 19:35:11 +02:00
bjorn3
b6927c9d19 Move openposixtestsuite sources to /usr/share 2026-09-27 19:35:11 +02:00
bjorn3
64052d065a Move hello-redox sources to /usr/share 2026-09-27 19:35:11 +02:00
bjorn3
93a3c54b1a Move acid sources to /usr/share 2026-09-27 19:35:11 +02:00
Wildan M
00486c102c
Add librsvg dep to gtk instead of adwaita icon theme 2026-09-27 15:11:01 +07:00
Wildan M
0f1714fbd7
Fix llvm miscompilation cross arch 2026-09-27 10:23:36 +07:00
Jeremy Soller
b3f371c1ba Merge branch 'fix-ignored-build-dependency' into 'master'
Fix ignored build dependency

Closes #1885

See merge request redox-os/redox!2357
2026-09-26 11:22:26 -06:00
Ribbon
3b0333f569 Add recipes 2026-09-26 12:33:55 -03:00
Jeremy Soller
009833b56e Merge branch 'shared-i586' into 'master'
Enable shared libraries for i586

See merge request redox-os/redox!2362
2026-09-25 11:12:51 -06:00
Jeremy Soller
2131109cd5 Merge branch 'libonig-elf' into 'master'
Revert removing libonig fini_array

See merge request redox-os/redox!2361
2026-09-25 11:12:42 -06:00
Wildan M
bdeb5f27af
Enable shared libraries for i586 2026-09-25 23:21:40 +07:00
Wildan M
fdb2f7faa0
Revert removing libonig fini_array 2026-09-25 23:15:10 +07:00
Jeremy Soller
055133e939 Merge branch 'master' of https://gitlab.redox-os.org/redox-os/redox 2026-09-24 17:07:39 -06:00
Jeremy Soller
61eb6eb57b cosmic-monitor: use master branch now that patches are merged 2026-09-24 17:07:28 -06:00
Jeremy Soller
52f7003cd2 Merge branch 'libonig-static' into 'master'
Fix libonig for static build

See merge request redox-os/redox!2360
2026-09-24 13:43:49 -06:00
Jeremy Soller
e62092489a cosmic-monitor: use patched version 2026-09-24 13:43:10 -06:00
Jeremy Soller
e2bf6961ec Merge branch 'all-pkg-2' into 'master'
Fix find command includes package deps

See merge request redox-os/redox!2359
2026-09-23 06:57:56 -06:00
Jeremy Soller
5e34c73a2c Merge branch 'clang-fixes-2' into 'master'
Fix clang compilation for bzip2, flycast, termcap, x11proto

See merge request redox-os/redox!2358
2026-09-23 06:57:35 -06:00
Mohammed Naser
d8e5f45a39 Report all violation in recipe 2026-09-23 14:49:14 +03:00
Mohammed Naser
9b229ca5b7 run cargo fmt 2026-09-21 23:10:23 +03:00
Mohammed Naser
f06403c5d5 Validate ignored build dependencies 2026-09-21 22:59:22 +03:00
Jeremy Soller
cb6efb2a7c Merge branch 'glvnd-mesa' into 'master'
mesa: Remove glvnd flag

See merge request redox-os/redox!2356
2026-09-20 15:26:34 -06:00
Wildan M
e7ae26f294
Fix libonig for static build 2026-09-21 02:33:03 +07:00
Jeremy Soller
8f0ead07f4 Merge branch 'riscv-conf' into 'master'
Add redoxer config for riscv64gc

See merge request redox-os/redox!2355
2026-09-20 06:59:36 -06:00
Jeremy Soller
6693842691 Merge branch 'uutils-up' into 'master'
Fix uutils hang from oniguruma, update to 0.11.0

See merge request redox-os/redox!2354
2026-09-20 06:58:59 -06:00
Ribbon
ba5f58dcf7 Add recipes 2026-09-20 06:54:06 -03:00
Wildan M
9a5aac2adc
Fix find command includes package deps 2026-09-20 06:35:52 +07:00
Wildan M
0ad73da5cb
Fix clang compilation for bzip2, flycast, termcap, x11proto 2026-09-20 06:15:30 +07:00
Wildan M
a9175164d4
mesa: Remove glvnd flag 2026-09-19 19:34:38 +07:00
Jeremy Soller
ca58dbd79a Merge branch 'rev-glvnd' into 'master'
Revert using libglvnd

See merge request redox-os/redox!2353
2026-09-19 06:26:40 -06:00
Wildan M
064c3d5e81
Add redoxer config for riscv64gc 2026-09-19 07:48:08 +07:00
Wildan M
68faca3bf7
Fix uutils hang from oniguruma, update to 0.11.0 2026-09-19 07:29:33 +07:00
Wildan M
bc995511f9
Revert using libglvnd 2026-09-18 18:43:32 +07:00
Jeremy Soller
cd82a11604 Merge branch 'all-pkg' into 'master'
cookbook: Always include package deps

See merge request redox-os/redox!2352
2026-09-17 06:13:28 -06:00
Wildan M
f8dfddab3c
cookbook: Always include package deps 2026-09-17 09:18:31 +07:00
Jeremy Soller
c2959b432e Merge branch 'games-fix' into 'master'
Fix compilation for glutin, sdl2-gears, open-tyrian

See merge request redox-os/redox!2351
2026-09-16 11:47:35 -06:00
Wildan M
f1e0590abf
Fix compilation for glutin, sdl2-gears, open-tyrian 2026-09-16 22:41:10 +07:00
Jeremy Soller
4bcf49aa83 Merge branch 'mesa-fixes' into 'master'
Port glvnd and fix mesa-demos, fix webkit and libldns compilation

See merge request redox-os/redox!2350
2026-09-13 20:04:21 -06:00
Jeremy Soller
4617d8b455 Merge branch 'clang-comp' into 'master'
prefix: Move clang env to compiler option

See merge request redox-os/redox!2349
2026-09-13 20:03:49 -06:00
Wildan M
60b257ae1a
Fix webkit and libldns compilation 2026-09-14 03:38:08 +07:00
Wildan M
469be215ca
Port glvnd and fix mesa-demos 2026-09-14 03:38:01 +07:00
Wildan M
78f1d0351d
prefix: Move clang env to compiler option 2026-09-13 23:53:37 +07:00
4lDO2
e3d31c7d84 Add make targets for comparing acid metrics. 2026-09-13 15:02:22 +02:00
Jeremy Soller
ebb762fc15 Merge branch 'webkit-flags' into 'master'
Reduce webkit flags

See merge request redox-os/redox!2291
2026-09-12 07:02:15 -06:00
Jeremy Soller
b169529ebf Merge branch 'clang-redoxer' into 'master'
Update redoxer, add CFGDIR to clang sysroot

See merge request redox-os/redox!2348
2026-09-12 07:00:48 -06:00
Wildan Mubarok
77aeb72b02 Merge branch 'clean-target' into 'master'
Pass COOKBOOK_CLEAN_TARGET in podman

See merge request redox-os/redox!2347
2026-09-12 06:45:05 +00:00
Wildan M
51d0e1a599
Update redoxer, add CFGDIR to clang sysroot 2026-09-12 04:04:06 +07:00
Jeremy Soller
34b9e8816a Merge branch 'linker-gnu' into 'master'
Fix clang linker for rust prefix

See merge request redox-os/redox!2346
2026-09-11 14:56:12 -06:00
Jeremy Soller
0d75ceb3ff Merge branch 'openssh' into 'master'
Update openssh, port libldns and bind9

See merge request redox-os/redox!2345
2026-09-11 14:55:02 -06:00
Jeremy Soller
9f51053fd7 Merge branch 'compiler-option' into 'master'
cookbook: Define compiler options

See merge request redox-os/redox!2344
2026-09-11 14:54:24 -06:00
Jeremy Soller
348bc93c3c Merge branch 'node-clang' into 'master'
Add a script to create patches of tar, patch libuv and nodejs for compiling with clang

See merge request redox-os/redox!2343
2026-09-11 14:53:30 -06:00
Wildan M
38791ef255
Pass COOKBOOK_CLEAN_TARGET in podman 2026-09-12 02:19:32 +07:00
Wildan M
4e260ff683
Fix clang linker for rust prefix 2026-09-11 09:02:33 +07:00
Jeremy Soller
9247c373cb Merge branch 'libx11' into 'master'
Partially fix libx11-compat

See merge request redox-os/redox!2342
2026-09-10 18:52:50 -06:00
Wildan M
19c4573a69
Update openssh, port libldns and bind9 2026-09-11 07:48:56 +07:00
Jeremy Soller
5a40dc7b77 Merge branch 'patch-1' into 'master'
Add initial testing for HP Envy laptop h1055cl

See merge request redox-os/redox!2316
2026-09-10 17:40:15 -06:00
The Super Techie
de31bd0aaa Add initial testing for HP Envy laptop h1055cl 2026-09-10 17:40:15 -06:00
Jeremy Soller
a1338d8701 Merge branch 'uutils-onig' into 'master'
Promote libonig, make uutils depends on it

See merge request redox-os/redox!2341
2026-09-10 17:39:24 -06:00
Wildan M
13e27eb8cd
cookbook: Define compiler options 2026-09-11 03:29:04 +07:00
Wildan M
b7bb69be02
Patch libuv and nodejs for compiling with clang 2026-09-11 01:58:09 +07:00
Wildan M
6368f67e53
Add a script to create patches of tar 2026-09-11 01:57:45 +07:00
Wildan M
73b072e919
Partially fix libx11-compat 2026-09-11 00:41:20 +07:00
Wildan M
9c3e6f8613
Promote libonig, make uutils depends on it 2026-09-10 23:27:41 +07:00
Jeremy Soller
0f6c7de184 Merge branch 'clang-fixes' into 'master'
Fix libpng, gperf, llvm build using clang

See merge request redox-os/redox!2339
2026-09-10 08:54:01 -06:00
Jeremy Soller
86b5c00bb0 Merge branch 'tar-flip' into 'master'
cookbook: Fix flipped tar fetch logic

See merge request redox-os/redox!2340
2026-09-10 08:49:50 -06:00
Wildan M
1d68cbd167
cookbook: Fix flipped tar fetch logic 2026-09-10 14:36:40 +07:00
Wildan M
8c0c200652
Update redoxer 2026-09-10 13:02:02 +07:00
Jeremy Soller
c2c4f032b0 Merge branch 'tar-info' into 'master'
cookbook: Detailed message on why tar source is updated

See merge request redox-os/redox!2337
2026-09-09 20:12:35 -06:00
Jeremy Soller
5f459e7c04 Merge branch 'trim-env' into 'master'
cookbook: Trim env before parsing

See merge request redox-os/redox!2336
2026-09-09 18:36:41 -06:00
Jeremy Soller
12d3989d33 Merge branch 'readline-proper' into 'master'
Properly patch readline

See merge request redox-os/redox!2335
2026-09-09 18:33:09 -06:00
Wildan M
e6f6ec836f
Fix libpng, gperf, llvm build using clang 2026-09-10 07:06:29 +07:00
Wildan M
4573eccb67
cookbook: Detailed message on why tar source is updated 2026-09-10 04:55:29 +07:00
Wildan M
48e589440f
cookbook: Trim env before parsing 2026-09-10 03:13:12 +07:00
Wildan M
278084c791
Properly patch readline 2026-09-10 03:06:38 +07:00
Jeremy Soller
0ecd42af89 Merge branch 'git-fix' into 'master'
Fix git source kept reupdating for using non default branch

See merge request redox-os/redox!2334
2026-09-09 06:24:57 -06:00
Wildan M
589e939d84
Fix git source kept reupdating for using non default branch 2026-09-09 12:49:33 +07:00
Wildan Mubarok
09f8c94893 Merge branch 'cmake-linux' into 'master'
cmake: Fix wrong system name for linux

See merge request redox-os/redox!2333
2026-09-09 04:31:16 +00:00
Wildan M
0d72b4cdde
cmake: Fix wrong system name for linux 2026-09-09 09:13:34 +07:00
Wildan M
6edc2ce60c
Reduce webkit flags 2026-08-27 20:28:35 +07:00
Wildan M
d279bd9837
Use ramfs to tmp directory 2026-08-27 07:55:33 +07:00
815 changed files with 5098 additions and 2773 deletions

View File

@ -27,7 +27,7 @@ When making a contribution you agree to the following terms:
## AI Policy
Redox OS does not accept contributions generated by LLMs ([Large Language Models](https://en.wikipedia.org/wiki/Large_language_model)), sometimes also referred to as "AI". This policy is not open to discussion, any content submitted that is clearly labelled as LLM-generated (including issues, merge requests, and merge request descriptions) will be immediately closed, and any attempt to bypass this policy will result in a ban from the project.
Redox OS does not accept contributions generated by LLMs ([Large Language Models](https://en.wikipedia.org/wiki/Large_language_model)), sometimes also referred to as "AI".
## Chat
@ -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

@ -126,6 +126,7 @@ Each "Vendor" has its own alphabetical order in "Model", independent from models
| Dell | Latitude D600 | 0.9.0 | 2026-01-25 | desktop | i586 | BIOS | Some kernel messages displayed, then locks up |
| HP | Compaq nc6120 | 0.9.0 | 2024-11-08 | desktop, server | i686 | BIOS | Unloads into memory at a rate slower than 1MB/s after selecting resolution. When unloading is complete the logger initializes and crashes after kernel::acpi, some information about APIC is printed. Boot logs do not progress after this point. |
| HP | EliteBook 2570p | 0.8.0 | 2022-11-23 | demo | x86-64 | BIOS (CSM mode?) | Gets to resolution selection, Fails assert in `src/os/bios/mod.rs:77` after selecting resolution |
| HP | ENVY Laptop 16-h1055cl | 0.9.0 | 2026-08-29 | demo | x86-64 | UEFI | Successfully boots, touchpad does not work, which means that the rest of the features can't be tested |
| Lenovo | G570 | 0.8.0 | 2022-11-11 | desktop | x86-64 | BIOS | Bootloader panics in `alloc_zeroed_page_aligned`, Correct video mode not offered (firmware issue) |
| Lenovo | IdeaPad Y510P | 0.8.0 | 2022-11-11 | desktop | i686 | BIOS | Panics on `phys_to_virt overflow`, probably having invalid mappings for 32-bit |
| Lenovo | ThinkPad X1 20KH-002 | 0.9.0 | 2026-02-11 | server | x86-64 | UEFI | Boots once after build but not a second time, fails in ps2d |

View File

@ -152,7 +152,7 @@ KPROF_OPTIONS?=u
# for example, set --reverse to get a reverse flamegraph
KPROF_FLAMEGRAPH_OPTIONS?=
.PHONY: flamegraph rotate-flamegraph differential-flamegraph
.PHONY: flamegraph rotate-flamegraph differential-flamegraph acid-output rotate-acid-output compare-acid-output
rotate-flamegraph:
mkdir -p "$(BUILD)"
@ -165,9 +165,25 @@ flamegraph:
make mount
nm -CS $(KPROF_KERNEL_BINARY) >$(KPROF_KERNEL_SYM)
redox-kprofiling $(KPROF_OUTPUT_TXT) $(KPROF_KERNEL_SYM) $(KPROF_OPTIONS) $(KPROF_CPU_GHZ) >$(KPROF_PROCESSED_OUTPUT)
make unmount
inferno-collapse-perf <$(KPROF_PROCESSED_OUTPUT) >$(KPROF_COLLAPSED_OUTPUT)
inferno-flamegraph $(KPROF_FLAMEGRAPH_OPTIONS) <$(KPROF_COLLAPSED_OUTPUT) >$(KPROF_PERF_SVG)
differential-flamegraph:
inferno-diff-folded $(BUILD)/flamegraph/collapsed.txt $(BUILD)/flamegraph.old/collapsed.txt >$(BUILD)/flamegraph/differential.txt
inferno-flamegraph $(KPROF_FLAMEGRAPH_OPTIONS) <$(BUILD)/flamegraph/differential.txt >$(BUILD)/flamegraph/differential.svg
acid-output:
mkdir -p $(BUILD)/acid-output
make unmount
make mount
cp $(BUILD)/filesystem/home/root/acid.txt $(BUILD)/acid-output/output.txt
make unmount
rotate-acid-output:
mkdir -p "$(BUILD)"
rm -rf "$(BUILD)/acid-output.old"
mv "$(BUILD)/acid-output" "$(BUILD)/acid-output.old" || true
compare-acid-output:
./recipes/tests/acid/source/bench_compare.py $(BUILD)/acid-output.old/output.txt $(BUILD)/acid-output/output.txt

View File

@ -25,7 +25,7 @@ path = "/usr/lib/run_acid.ion"
data = """
#!/usr/bin/env ion
export RUST_BACKTRACE=full
cd /home/user/acid
cargo test
export HOME=/home/root
acid-runner
shutdown
"""

View File

@ -24,9 +24,9 @@ path = "/usr/lib/run_tests.ion"
data = """
#!/usr/bin/env ion
export RUST_BACKTRACE=full
cd /home/user/acid
cargo test
bash /root/relibc-tests/run.sh
export HOME=/home/root
acid-runner
bash /usr/share/relibc-tests/run.sh
os-test-runner
shutdown
"""

View File

@ -52,6 +52,7 @@ schemes = [
"uds_dgram",
# File schemes
"file",
"tmp",
# Display schemes
"display*",
# Other schemes
@ -174,22 +175,6 @@ path = "/share"
data = "usr/share"
symlink = true
## legacy orbital directories
[[files]]
path = "/ui"
data = "usr/share/ui"
symlink = true
[[files]]
path = "/usr/share/ui/fonts"
data = "/usr/share/fonts"
symlink = true
[[files]]
path = "/usr/share/ui/icons"
data = "/usr/share/icons"
symlink = true
## /var
[[files]]
path = "/var"
@ -227,6 +212,11 @@ data = ""
directory = true
mode = 0o755
[[files]]
path = "/tmp"
data = "/scheme/tmp"
symlink = true
[[files]]
path = "/var/tmp"
data = ""

View File

@ -29,5 +29,5 @@ sandbox_schemes = ["file"]
files = ["file:/dev/null"]
rofiles = ["file:/etc/passwd", "file:/etc/hostname", "file:/etc/localtime"]
dirs = ["file:/tmp"]
rodirs = ["file:/bin", "file:/ui"]
rodirs = ["file:/bin"]
"""

View File

@ -0,0 +1,8 @@
# Configuration used for building redoxer base image
include = ["../redoxer.toml"]
# General settings
[general]
# Filesystem size in MiB
filesystem_size = 1024

View File

@ -62,6 +62,7 @@ coreutils = {}
cosmic-edit = {}
cosmic-files = {}
cosmic-icons = {}
cosmic-monitor = {}
cosmic-reader = {}
cosmic-term = {}
cosmic-text = {}
@ -100,15 +101,18 @@ generaluser-gs = {}
gettext = {}
gigalomania = {}
git = {}
gimp = {}
glib = {}
glutin = {}
gnu-binutils = {}
gnu-grep = {}
gnu-make = {}
go = {}
goaccess = {}
gobject-introspection = {}
gitoxide = {}
gstreamer = {}
gzip = {}
harfbuzz = {}
hicolor-icon-theme = {}
helix = {}
@ -124,6 +128,7 @@ intel-one-mono = {}
ion = {}
kernel = {}
kibi = {}
lazygit = {}
lci = {}
libarchive = {}
libatomic = {}
@ -171,6 +176,7 @@ mesa = {}
mesa-glu = {}
mesa-demos = {}
mesa-demos-x11 = {}
meson = {}
mgba = {}
miniserve = {}
mpc = {}
@ -256,6 +262,7 @@ rustual-boy = {}
rusty-checkers = {}
rusty-rain = {}
rvvm = {}
scriptisto = {}
scummvm = {}
sdl-gfx = {}
sdl1 = {}

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

@ -86,7 +86,8 @@
# with FSTOOLS_IN_PODMAN=1 these are not needed
# without it, the installer fails to link FUSE somehow
#fuse
qemu_kvm
qemu_kvm # for host arch
qemu
];
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs;
@ -103,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

@ -36,7 +36,7 @@ PODMAN_ENV=--env PATH=/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:
PODMAN_CONFIG=--env ARCH=$(ARCH) --env BOARD=$(BOARD) --env CONFIG_NAME=$(CONFIG_NAME) --env FILESYSTEM_CONFIG=$(FILESYSTEM_CONFIG) --env PREFIX_BINARY=$(PREFIX_BINARY) \
--env CI=$(CI) --env COOKBOOK_MAKE_JOBS=$(COOKBOOK_MAKE_JOBS) --env COOKBOOK_LOGS=$(COOKBOOK_LOGS) --env COOKBOOK_VERBOSE=$(COOKBOOK_VERBOSE) --env COOKBOOK_COMPRESSED=$(COOKBOOK_COMPRESSED) \
--env REPO_APPSTREAM=$(REPO_APPSTREAM) --env REPO_BINARY=$(REPO_BINARY) --env REPO_NONSTOP=$(REPO_NONSTOP) --env REPO_OFFLINE=$(REPO_OFFLINE) --env TESTBIN=$(TESTBIN) \
--env HOSTED_REDOX=$(HOSTED_REDOX) --env PREFIX_USE_UPSTREAM_RUST_COMPILER=$(PREFIX_USE_UPSTREAM_RUST_COMPILER)
--env HOSTED_REDOX=$(HOSTED_REDOX) --env PREFIX_USE_UPSTREAM_RUST_COMPILER=$(PREFIX_USE_UPSTREAM_RUST_COMPILER) --env COOKBOOK_CLEAN_TARGET=$(COOKBOOK_CLEAN_TARGET)
PODMAN_OPTIONS=--rm --workdir $(CONTAINER_WORKDIR) --interactive --tty --cap-add SYS_ADMIN --device /dev/fuse --network=host --env TERM=$(TERM) --pids-limit=-1
PODMAN_RUN=podman run $(PODMAN_OPTIONS) $(PODMAN_VOLUMES) $(PODMAN_ENV) $(PODMAN_CONFIG) $(IMAGE_TAG)

View File

@ -73,6 +73,7 @@ else
rm -rf "$@.partial/include/"*
cp -r "$(PREFIX)/gcc-install/include/c++" "$@.partial/include/c++"
endif
$(REPO_BIN) clean-target relibc $(COOKBOOK_OPTS)
export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \
export CARGO="env -u CARGO cargo" $(PREFIX_CONFIG) && \
$(REPO_BIN) cook relibc $(COOKBOOK_OPTS)
@ -98,6 +99,8 @@ $(PREFIX)/relibc-install.tar.gz: $(PREFIX)/sysroot
tar \
--create \
--gzip \
--sort=name \
--mtime='@0' \
--file "$@" \
--directory="$<" \
.
@ -204,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)
@ -227,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
@ -242,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
@ -262,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
@ -279,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
@ -306,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" && \
@ -398,14 +422,14 @@ 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
@echo "\033[1;36;49mBuilding wasip1-libc-install\033[0m"
rm -rf "$@.partial" "$@"
export REDOXER_TOOLCHAIN=$(ROOT)/$(PREFIX)/clang-install $(PREFIX_CONFIG) PATH="$(ROOT)/$(PREFIX)/clang-install/bin:$$PATH" \
REDOXER_USE_CLANG=1 COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=wasm32-wasip1 COOKBOOK_CROSS_GNU_TARGET=wasm32-wasip1 && \
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=wasm32-wasip1 COOKBOOK_CROSS_GNU_TARGET=wasm32-wasip1 && \
$(REPO_BIN) cook host:wasi-libc
cp -r "$(WASIP1_LIBC_TARGET)/stage/usr/". "$@.partial"
mkdir -p "$@.partial/share/wasi-sysroot"
@ -415,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
@ -434,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
@ -450,12 +474,14 @@ else
cp -r "$(LLD_TARGET)/stage/usr/". "$@.partial"
rm -rf "$@.partial/lib/"*.a
echo "--sysroot=$(ROOT)/$(PREFIX)/gcc-install" > "$@.partial/bin/$(GNU_TARGET).cfg"
ln -s clang-21 "$@.partial/bin/$(TARGET)-clang"
ln -s clang-21 "$@.partial/bin/wasm32-wasip1-clang"
ln -s clang-21 "$@.partial/bin/$(GNU_TARGET)-clang"
ln -s clang++ "$@.partial/bin/$(GNU_TARGET)-clang++"
export PATH="$(ROOT)/$@.partial/bin:$$PATH" $(PREFIX_CONFIG) \
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(HOST_TARGET) REDOXER_USE_CLANG=1 && \
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(HOST_TARGET) && \
$(REPO_BIN) cook llvm-rt21
cp -r "$(LLVM_RT_TARGET)/stage/usr/". "$@.partial"
echo "--sysroot=../$(GNU_TARGET)" > "$@.partial/bin/$(GNU_TARGET).cfg"
echo "--sysroot=<CFGDIR>/../$(GNU_TARGET)" > "$@.partial/bin/$(GNU_TARGET).cfg"
mv "$@.partial" "$@"
# no longer needed, delete build files to save disk space
rm -rf $(CLANG_TARGET) $(LLD_TARGET) $(LLVM_RT_TARGET)

View File

@ -5,6 +5,9 @@ QEMUFLAGS?=-d guest_errors -name "Redox OS $(ARCH)"
netboot?=no
redoxer?=no
VGA_SUPPORTED=no
# for qemu-relative firmware search
QEMU_PATH?=$(shell command -v $(QEMU))
QEMU_BASE_DIR?=$(shell if [ $(QEMU_PATH) ]; then realpath $$(dirname $(QEMU_PATH))/..; fi)
ifeq ($(ARCH),i586)
audio?=ac97
@ -39,8 +42,7 @@ else ifeq ($(ARCH),x86_64)
ifeq ($(FIRMWARE),)
PFLASH0=$(firstword \
$(wildcard /usr/share/qemu/edk2-x86_64-code.fd) \
$(wildcard /run/libvirt/nix-ovmf/edk2-x86_64-code.fd) \
$(wildcard /opt/homebrew/opt/qemu/share/qemu/edk2s-x86_64-code.fd) \
$(wildcard $(QEMU_BASE_DIR)/share/qemu/edk2-x86_64-code.fd) \
)
endif
endif
@ -78,9 +80,9 @@ else ifeq ($(ARCH),aarch64)
ifeq ($(FIRMWARE),)
PFLASH0=$(firstword \
$(wildcard /usr/share/qemu/edk2-aarch64-code.fd) \
$(wildcard /run/libvirt/nix-ovmf/edk2-aarch64-code.fd) \
$(wildcard /opt/homebrew/opt/qemu/share/qemu/edk2-aarch64-code.fd) \
$(wildcard $(QEMU_BASE_DIR)/share/qemu/edk2-aarch64-code.fd) \
)
PFLASH0_NEEDED=yes
endif
else
FIRMWARE=$(BUILD)/qemu_uboot.rom
@ -112,16 +114,16 @@ else ifeq ($(ARCH),riscv64gc)
$(wildcard /usr/share/qemu-efi-riscv64/RISCV_VIRT_CODE.fd) \
$(wildcard /usr/share/edk2/riscv/RISCV_VIRT_CODE.fd) \
$(wildcard /usr/share/qemu/edk2-riscv-code.fd) \
$(wildcard /run/libvirt/nix-ovmf/edk2-riscv-code.fd) \
$(wildcard /opt/homebrew/opt/qemu/share/qemu/edk2-riscv-code.fd) \
$(wildcard $(QEMU_BASE_DIR)/share/qemu/edk2-riscv-code.fd) \
)
PFLASH0_NEEDED=yes
PFLASH1=$(firstword \
$(wildcard /usr/share/qemu-efi-riscv64/RISCV_VIRT_VARS.fd) \
$(wildcard /usr/share/edk2/riscv/RISCV_VIRT_VARS.fd) \
$(wildcard /usr/share/qemu/edk2-riscv-vars.fd) \
$(wildcard /run/libvirt/nix-ovmf/edk2-riscv-vars.fd) \
$(wildcard /opt/homebrew/opt/qemu/share/qemu/edk2-riscv-vars.fd) \
$(wildcard $(QEMU_BASE_DIR)/share/qemu/edk2-riscv-vars.fd) \
)
PFLASH1_NEEDED=yes
ifneq ($(usb),no)
QEMUFLAGS+=-device qemu-xhci -device usb-kbd -device usb-tablet
endif
@ -358,8 +360,13 @@ qemu-deps: $(BUILD)/fw_vars.bin
.PRECIOUS: $(BUILD)/fw_vars.bin
$(BUILD)/fw_vars.bin: $(PFLASH1)
cp "$<" "$@"
chmod +w "$@"
endif
qemu-deps:
$(if $(PFLASH0_NEEDED),$(if $(PFLASH0),,$(error UEFI firmware needed but not found)),)
$(if $(PFLASH1_NEEDED),$(if $(PFLASH1),,$(error UEFI variables needed but not found)),)
$(EXTRA_DISK):
truncate -s 1g $@

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"
@ -17,6 +20,7 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
PREFIX="${COOKBOOK_STAGE}/usr" \
install
if [ "${COOKBOOK_DYNAMIC}" = "1" ]; then
# However, distros distribute libbz2 as well so we'll support it too
# Linking the lib fails if we don't rebuild the objects from earlier
"${COOKBOOK_MAKE}" clean
@ -32,7 +36,17 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
cp -av libbz2.so* "${COOKBOOK_STAGE}/usr/lib"
ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so.1"
ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so"
fi
mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig"
# 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,7 +1,9 @@
[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"
patches = ["redox.patch"]
[build]
template = "custom"

View File

@ -1,34 +0,0 @@
diff '--color=auto' -ruwN source/programs/util.h source-new/programs/util.h
--- source/programs/util.h 2024-07-21 13:29:49.000000000 -0400
+++ source-new/programs/util.h 2024-12-13 02:21:03.032769559 -0500
@@ -52,6 +52,9 @@
#include <time.h> /* time */
#include <limits.h> /* INT_MAX */
#include <errno.h>
+#if defined(_REDOX)
+# include <sys/time.h> /* utimes */
+#endif
@@ -239,12 +242,20 @@
timebuf.modtime = statbuf->st_mtime;
res += utime(filename, &timebuf); /* set access and modification times */
#else
+ #if defined(_REDOX)
+ struct timeval timebuf[2];
+ memset(timebuf, 0, sizeof(timebuf));
+ timebuf[0].tv_usec = UTIME_NOW;
+ timebuf[1].tv_sec = statbuf->st_mtime;
+ res += utimes(filename, timebuf);
+ #else
struct timespec timebuf[2];
memset(timebuf, 0, sizeof(timebuf));
timebuf[0].tv_nsec = UTIME_NOW;
timebuf[1].tv_sec = statbuf->st_mtime;
res += utimensat(AT_FDCWD, filename, timebuf, 0); /* set access and modification times */
#endif
+#endif
}
#if !defined(_WIN32)

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"
@ -14,7 +17,6 @@ COOKBOOK_CONFIGURE_FLAGS+=(
--disable-lzmainfo
--disable-xz
--disable-xzdec
--enable-threads=no
)
cookbook_configure
"""

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/willnode/base.git"
branch = "ramfs-tmp"
[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/willnode/kernel.git"
branch = "open-external"
[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/willnode/redoxfs.git"
branch = "open-external"
[build]
template = "custom"

View File

@ -1,8 +1,13 @@
[package]
description = "Redox POSIX/C Standard Library"
[source]
git = "https://gitlab.redox-os.org/redox-os/relibc.git"
git = "https://gitlab.redox-os.org/willnode/relibc.git"
branch = "open-external"
[build]
template = "custom"
compiler = "gcc-no-lto"
script = """
# rustup workaround https://github.com/rust-lang/rustup/issues/988
if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ]; then

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,3 +1,6 @@
[package]
description = "Command-line UNIX tools for managing users and groups"
[source]
git = "https://gitlab.redox-os.org/redox-os/userutils.git"

View File

@ -1,19 +1,25 @@
# TODO Fix coreutils i18n/l10n behavior on Redox
# TODO Fix locale init bug on aarch64 before removing patches
# TODO https://github.com/uutils/coreutils/commit/e6f7ad06 broke locales on x86_64
[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]
git = "https://github.com/uutils/coreutils"
rev = "1f7c81f5d2d3e56c518349c0392158871a1ea9ec"
rev = "0.11.0"
patches = [
"redox.patch"
]
[build]
template = "custom"
dependencies = [
"libonig"
]
script = """
DYNAMIC_INIT
export RUSTONIG_DYNAMIC_LIBONIG=1
# TODO: upstream changes, consider using feat_require_unix_core if relibc is ready?
CARGO_PROFILE_RELEASE_LTO=thin cookbook_cargo --no-default-features --features feat_os_unix_redox,kill,nice --bin coreutils
CARGO_PROFILE_RELEASE_LTO=thin cookbook_cargo --no-default-features --features feat_os_unix_redox,kill,nice,nproc --bin coreutils
BINS=(
'['

View File

@ -1,123 +1,12 @@
diff --git a/Cargo.toml b/Cargo.toml
index 5f417bd42..b7b895a9c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -326,6 +326,7 @@ feat_os_unix_redox = [
"feat_common_core",
#
"chmod",
+ "nproc",
"stat",
"uname",
]
diff --git a/src/uucore/src/lib/features/fs.rs b/src/uucore/src/lib/features/fs.rs
index fd1f30303..c508f6b9b 100644
--- a/src/uucore/src/lib/features/fs.rs
+++ b/src/uucore/src/lib/features/fs.rs
@@ -13,7 +13,7 @@ use libc::{
S_IRUSR, S_ISGID, S_ISUID, S_ISVTX, S_IWGRP, S_IWOTH, S_IWUSR, S_IXGRP, S_IXOTH, S_IXUSR,
mkfifo, mode_t,
};
-#[cfg(all(unix, not(target_os = "redox")))]
+#[cfg(unix)]
pub use libc::{major, makedev, minor};
use std::collections::HashSet;
use std::collections::VecDeque;
@@ -849,24 +849,6 @@ pub fn make_fifo(path: &Path) -> std::io::Result<()> {
}
}
-// Redox's libc appears not to include the following utilities
-
-#[cfg(target_os = "redox")]
-pub fn major(dev: libc::dev_t) -> libc::c_uint {
- (((dev >> 8) & 0xFFF) | ((dev >> 32) & 0xFFFFF000)) as _
-}
-
-#[cfg(target_os = "redox")]
-pub fn minor(dev: libc::dev_t) -> libc::c_uint {
- ((dev & 0xFF) | ((dev >> 12) & 0xFFFFF00)) as _
-}
-
-#[cfg(target_os = "redox")]
-pub fn makedev(maj: libc::c_uint, min: libc::c_uint) -> libc::dev_t {
- let [maj, min] = [maj as libc::dev_t, min as libc::dev_t];
- (min & 0xff) | ((maj & 0xfff) << 8) | ((min & !0xff) << 12) | ((maj & !0xfff) << 32)
-}
-
#[cfg(test)]
mod tests {
// Note this useful idiom: importing names from outer (for mod tests) scope.
diff --git a/src/uucore/src/lib/features/i18n/mod.rs b/src/uucore/src/lib/features/i18n/mod.rs
index 282baf2e7..a38ccb30e 100644
--- a/src/uucore/src/lib/features/i18n/mod.rs
+++ b/src/uucore/src/lib/features/i18n/mod.rs
@@ -45,8 +45,21 @@ pub fn get_locale_from_env(locale_name: &str) -> (Locale, UEncoding) {
if let Some(simple) = split.next() {
// Handle explicit C and POSIX locales - these should always use byte comparison
+ let encoding = split.next();
+ let is_utf8 = encoding.is_some_and(|enc| {
+ let lower = enc.to_lowercase();
+ lower == "utf-8" || lower == "utf8"
+ });
+
if simple == "C" || simple == "POSIX" {
- return (DEFAULT_LOCALE, UEncoding::Ascii);
+ return (
+ DEFAULT_LOCALE,
+ if is_utf8 {
+ UEncoding::Utf8
+ } else {
+ UEncoding::Ascii
+ },
+ );
}
// Naively convert the locale name to BCP47 tag format.
@@ -55,14 +68,9 @@ pub fn get_locale_from_env(locale_name: &str) -> (Locale, UEncoding) {
let bcp47 = simple.replace('_', "-");
let locale = Locale::try_from_str(&bcp47).unwrap_or(DEFAULT_LOCALE);
- // If locale parsing failed, parse the encoding part of the
- // locale. Treat the special case of the given locale being "C"
- // which becomes the default locale.
- let encoding = if (locale != DEFAULT_LOCALE || bcp47 == "C")
- && split.next().is_some_and(|enc| {
- let lower = enc.to_lowercase();
- lower == "utf-8" || lower == "utf8"
- }) {
+ // If the locale name was parsed successfully, use the encoding suffix
+ // to decide whether filenames should be treated as UTF-8.
+ let encoding = if (locale != DEFAULT_LOCALE || bcp47 == "C") && is_utf8 {
UEncoding::Utf8
} else {
UEncoding::Ascii
@@ -70,8 +78,12 @@ pub fn get_locale_from_env(locale_name: &str) -> (Locale, UEncoding) {
return (locale, encoding);
}
}
- // Default POSIX locale representing LC_ALL=C
- (DEFAULT_LOCALE, UEncoding::Ascii)
+
+ #[cfg(target_os = "redox")]
+ return (DEFAULT_LOCALE, UEncoding::Utf8);
+
+ #[cfg(not(target_os = "redox"))]
+ return (DEFAULT_LOCALE, UEncoding::Ascii);
}
/// Get the collating locale from the environment
diff --git a/src/uucore/src/lib/mods/locale.rs b/src/uucore/src/lib/mods/locale.rs
index b670f8976..a4ff9f983 100644
index 60ca9d42..31f3ba0b 100644
--- a/src/uucore/src/lib/mods/locale.rs
+++ b/src/uucore/src/lib/mods/locale.rs
@@ -211,10 +211,11 @@ fn init_localization(
@@ -317,10 +317,10 @@ fn init_localization(
}
};
- LOCALIZER.with(|lock| {
+ // TODO: In aarch64 redox OS, this lock (once cell) is already initialized out of nothing
+ let _ = LOCALIZER.with(|lock| {
lock.set(loc)
.map_err(|_| LocalizationError::Bundle("Localizer already initialized".into()))
@ -126,18 +15,29 @@ index b670f8976..a4ff9f983 100644
Ok(())
}
@@ -422,10 +423,12 @@ pub fn setup_localization(p: &str) -> Result<(), LocalizationError> {
let english_bundle = create_english_bundle_from_embedded(&default_locale, p)?;
let localizer = Localizer::new(english_bundle);
@@ -637,10 +637,10 @@ pub fn setup_localization(p: &str) -> Result<(), LocalizationError> {
Localizer::new(english_bundle)
};
- LOCALIZER.with(|lock| {
+ // TODO: In aarch64 redox OS, this lock (once cell) is already initialized out of nothing
+ // TODO: When this code is used? Patching for keep sake
+ let _ = LOCALIZER.with(|lock| {
lock.set(localizer)
.map_err(|_| LocalizationError::Bundle("Localizer already initialized".into()))
- })?;
+ });
}
LOCALIZER_IS_SET.with(|f| f.set(true));
Ok(())
@@ -919,10 +919,10 @@ mod tests {
}
};
- LOCALIZER.with(|lock| {
+ let _ = LOCALIZER.with(|lock| {
lock.set(loc)
.map_err(|_| LocalizationError::Bundle("Localizer already initialized".into()))
- })?;
+ });
Ok(())
}
}

View File

@ -1,6 +1,6 @@
name=COSMIC Text Editor
binary=/bin/cosmic-edit
icon=/ui/icons/apps/accessories-text-editor.png
icon=/usr/share/icons/apps/accessories-text-editor.png
accept=*.asm
accept=*.c
accept=*.conf

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

@ -1,5 +1,5 @@
name=COSMIC File Manager
binary=/bin/cosmic-files
icon=/ui/icons/apps/system-file-manager.png
icon=/usr/share/icons/apps/system-file-manager.png
author=Jeremy Soller
description=COSMIC File Manager

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

@ -1,6 +1,6 @@
[source]
git = "https://github.com/pop-os/cosmic-monitor.git"
rev = "epoch-1.2.0"
branch = "master"
[build]
template = "custom"
@ -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

@ -1,6 +1,6 @@
name=COSMIC Reader
binary=/bin/cosmic-reader
icon=/ui/icons/apps/accessories-text-editor.png
icon=/usr/share/icons/apps/accessories-text-editor.png
accept=*.pdf
accept=*.epub
accept=*.cbz

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

@ -1,5 +1,5 @@
name=COSMIC Terminal
binary=/bin/cosmic-term
icon=/ui/icons/apps/utilities-terminal.png
icon=/usr/share/icons/apps/utilities-terminal.png
author=Jeremy Soller
description=COSMIC Terminal

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"
@ -5,12 +8,17 @@ upstream = "https://github.com/rust-windowing/glutin.git"
[build]
template = "custom"
cargopath = "glutin_examples"
dependencies = [
"mesa",
"zlib"
"zlib",
]
dev-dependencies = [
"libstdcxx",
]
script = """
DYNAMIC_INIT
CARGOPATH="glutin_examples" cookbook_cargo_examples window
COOKBOOK_CARGO_FLAGS=()
CARGOPATH="glutin_examples"
export RUSTFLAGS="$RUSTFLAGS -Clink-arg=-lOSMesa"
cookbook_cargo_examples window
"""

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 = [
@ -11,7 +14,7 @@ mkdir -p "${COOKBOOK_STAGE}/usr/games/sdl2_gears"
${CXX} -O2 -I "${COOKBOOK_SYSROOT}/include" $LDFLAGS ${COOKBOOK_RECIPE}/gears.c \
-o sdl2_gears -dynamic \
-lSDL2_image -lSDL2_mixer -lSDL2_ttf $("${PKG_CONFIG}" --libs osmesa) \
-lSDL2 -lorbital -lfreetype -lpng -ljpeg -lvorbisfile -lvorbis -logg -lz
-lSDL2 -lorbital -lfreetype -lpng -lvorbisfile -lvorbis -logg -lz
cp -rv "${COOKBOOK_RECIPE}/assets" "${COOKBOOK_STAGE}/usr/games/sdl2_gears/"
cp -v sdl2_gears "${COOKBOOK_STAGE}/usr/games/sdl2_gears/"
"""

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,11 +0,0 @@
[source]
git = "https://github.com/rust-lang/crates.io-index.git"
shallow_clone = true
[build]
template = "custom"
script = """
dir="${COOKBOOK_STAGE}/home/user/.cargo/registry/index/github.com-1ecc6299db9ec823"
mkdir -pv "${dir}"
cp -rv "${COOKBOOK_SOURCE}/.git" "${dir}"
"""

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

@ -17,6 +17,7 @@ autotools_recursive_regenerate -I"$(realpath ./config)"
[build]
template = "custom"
compiler = "gcc"
dependencies = [
"libgmp",
"libmpfr",
@ -99,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,9 +1,12 @@
[package]
description = "\"Hello world\" examples in over 1000 languages"
[source]
git = "https://github.com/leachim6/hello-world"
shallow_clone = true
[build]
template = "custom"
script = """
mkdir -pv "${COOKBOOK_STAGE}"/home/user/hello-world-examples
cp -rv "${COOKBOOK_SOURCE}"/[#,a-z] "${COOKBOOK_STAGE}"/home/user/hello-world-examples
mkdir -pv "${COOKBOOK_STAGE}"/usr/share/hello-world-examples
cp -rv "${COOKBOOK_SOURCE}"/[#,a-z] "${COOKBOOK_STAGE}"/usr/share/hello-world-examples
"""

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"

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