Compare commits

..

287 Commits

Author SHA1 Message Date
Wildan Mubarok
5524142ed2 Merge branch 'groff' into 'master'
Fix groff build

See merge request redox-os/redox!2195
2026-06-17 07:24:49 +00:00
Ribbon
091573f3be Add, improve, move and remove recipes 2026-06-16 22:17:58 -03:00
Wildan M
eaf672d5f0
Fix groff build 2026-06-16 17:15:54 +07:00
Ribbon
18724f2e39 Add more recipes 2026-06-15 21:30:47 -03:00
Ribbon
ee7c95f70c Add, improve, update and remove recipes 2026-06-15 17:22:31 -03:00
Wildan Mubarok
6031761dcc Merge branch 'bash-fix' into 'master'
Fix compiling readline and bash for i586

See merge request redox-os/redox!2194
2026-06-15 14:45:06 +00:00
Wildan M
9fe51f26c1 Fix compiling readline and bash for i586 2026-06-15 15:18:31 +02:00
Wildan Mubarok
43632a6193 Merge branch 'mesa-demos-wayland' into 'master'
Port mesa demos for wayland

See merge request redox-os/redox!2192
2026-06-15 11:40:53 +00:00
Mathew John Roberts
4ff72b460a Merge branch 'add-repartee' into 'master'
add repartee recipe and update other chat comments

See merge request redox-os/redox!2193
2026-06-15 12:20:10 +01:00
auronandace
f74c8deedf add repartee recipe and update other chat comments 2026-06-15 10:47:31 +01:00
Wildan M
9461a537e7
Port mesa demos for wayland 2026-06-14 15:43:04 +07:00
Ribbon
a56678a23f Add and improve recipes 2026-06-13 21:47:11 -03:00
Ribbon
a0820bd177 Add and improve more recipes 2026-06-13 18:26:17 -03:00
Wildan M
569706f4f6
Fix PODMAN_CACHE_PATH from typo 2026-06-12 01:59:54 +07:00
Jeremy Soller
bd23510694 Make it possible to override podman cache path 2026-06-11 09:18:15 -06:00
Jeremy Soller
647db212f8 Merge branch 'gtk' into 'master'
Gtk in Orbital

See merge request redox-os/redox!2186
2026-06-11 06:37:54 -06:00
Wildan M
3a9b48db9c
Enable gtk3 x11 again 2026-06-11 17:18:53 +07:00
Wildan M
112ff5f653
Change gtk to use git, always pass --export-dynamic for glib 2026-06-11 05:20:45 +07:00
Wildan M
57aa833983
Merge libxkbcommon and disable gles on mesa-x11 2026-06-11 05:20:35 +07:00
Jeremy Soller
5c70677c08 Merge branch 'auto-fetch-lc' into 'master'
Automatically run fetch when make lc.recipe

See merge request redox-os/redox!2191
2026-06-10 09:15:19 -06:00
Jeremy Soller
6ec374c66e bash: add blake3 for latest tarball 2026-06-10 08:54:25 -06:00
Jeremy Soller
8c5f7d5bc7 Merge branch 'bash-up' into 'master'
Update bash and remove patches

See merge request redox-os/redox!2190
2026-06-10 05:48:22 -06:00
Wildan M
2f133104d7
Automatically run fetch when make lc.recipe 2026-06-10 17:19:28 +07:00
Wildan M
bbaeca9031
Update bash and remove patches 2026-06-10 10:25:02 +07:00
Ribbon
a1593cc507 Add more recipes 2026-06-09 22:01:20 -03:00
Jeremy Soller
a722ca40fa Merge branch 'fix-hnefatafl' into 'master'
Fix hnefatafl.

See merge request redox-os/redox!2189
2026-06-09 18:18:41 -06:00
David Campbell
5c61a7088a
Fix hnefatafl. 2026-06-09 19:22:24 -04:00
Ribbon
b64ebdbc25 Add and improve more recipes 2026-06-09 17:56:46 -03:00
Jeremy Soller
7d1a3d2d5a Merge branch 'no-host-push' into 'master'
Do not push host packages

See merge request redox-os/redox!2188
2026-06-09 09:48:35 -06:00
Jeremy Soller
d85a02121b Merge branch 'update-libarchive' into 'master'
update libarchive and remove patch

See merge request redox-os/redox!2187
2026-06-09 09:47:24 -06:00
Wildan M
92f5eb2917
Do not push host packages 2026-06-09 20:52:27 +07:00
auronandace
be675094ef update libarchive and remove patch 2026-06-09 14:35:21 +01:00
Ribbon
5ccb829d8b Add, improve and remove more recipes 2026-06-08 16:09:49 -03:00
Ribbon
0c39c897ba Add and update more recipes 2026-06-07 19:29:51 -03:00
Jeremy Soller
c672547cdc Merge branch 'more-ci' into 'master'
Add xfce4-full group, Add more packages to CI

See merge request redox-os/redox!2185
2026-06-07 16:01:38 -06:00
Ribbon
b464a6c8cd Add, update and move recipes 2026-06-07 18:23:24 -03:00
Jeremy Soller
ade1870e0b Merge branch 'boxedwine' into 'master'
Update Boxedwine from upstream

See merge request redox-os/redox!2183
2026-06-07 08:35:26 -06:00
Jeremy Soller
4f835f1979 Merge branch 'sqlite-test' into 'master'
Port tcl and add sqlite-test

See merge request redox-os/redox!2184
2026-06-07 08:34:12 -06:00
Jeremy Soller
bf82d7d11d Merge branch 'flycast' into 'master'
Update sdl2 and flycast, Use cmake and remove patches for zstd

See merge request redox-os/redox!2182
2026-06-07 05:53:52 -06:00
Wildan M
e50218f49a
Add more packages to CI 2026-06-07 09:09:20 +07:00
Wildan M
26481b4c0f
Add xfce4-full group 2026-06-07 09:08:45 +07:00
Wildan M
98eaa84966
Port tcl and add sqlite-test 2026-06-07 08:08:18 +07:00
Wildan M
87e16d60e2
Update Boxedwine from upstream 2026-06-07 07:19:43 +07:00
Wildan M
dd9f6f9fc8
Use cmake and remove patches for zstd 2026-06-07 03:32:27 +07:00
Wildan M
9dac14c07f
Update sdl2 and flycast 2026-06-07 03:32:02 +07:00
Jeremy Soller
84d78137a1 Merge branch 'server-gettext' into 'master'
Promote gettext into server config

See merge request redox-os/redox!2181
2026-06-06 09:05:10 -06:00
Jeremy Soller
a030737847 Merge branch 'master' of https://gitlab.redox-os.org/redox-os/redox 2026-06-06 08:42:58 -06:00
Jeremy Soller
754e8d5a94 cosmic-reader: use default branch 2026-06-06 08:42:55 -06:00
Jeremy Soller
cf074ee1b6 Merge branch 'zlib-pie' into 'master'
Set zlib as pie to fix libz-sys

See merge request redox-os/redox!2180
2026-06-06 06:05:23 -06:00
Wildan M
4c4a712ab5 Set zlib as pie to fix libz-sys 2026-06-06 10:21:29 +02:00
Wildan M
3465e290e2
Promote gettext into server config 2026-06-06 15:05:31 +07:00
Jeremy Soller
9c25e638cd Merge branch 'sopwith-fix' into 'master'
Fix sopwith compilation

See merge request redox-os/redox!2179
2026-06-04 19:56:06 -06:00
Wildan M
632d4248f9
Fix sopwith compilation 2026-06-05 07:40:06 +07:00
Jeremy Soller
f0d4f6b198 Merge branch 'cosmic-update' into 'master'
cosmic: use master branches for most cosmic apps

See merge request redox-os/redox!2178
2026-06-04 10:41:45 -06:00
Jeremy Soller
e37801362f Use redoxos/redox-base image for fetch-changed 2026-06-04 10:31:56 -06:00
Jeremy Soller
d6886407ac cosmic: use master branches for most cosmic apps 2026-06-04 10:17:48 -06:00
Jeremy Soller
726940949f Add script to test fetching changed recipes 2026-06-04 10:16:53 -06:00
Jeremy Soller
d228c75756 netsurf: remove ansi escapes from ipv6.patch 2026-06-04 09:52:22 -06:00
Jeremy Soller
6fce854083 Merge branch 'cosmic-edit-manifest' into 'master'
Add more file formats to cosmic-edit manifest

See merge request redox-os/redox!2177
2026-06-04 09:27:11 -06:00
Ribbon
dcb020823e Add more file formats to cosmic-edit manifest 2026-06-04 09:27:10 -06:00
4lDO2
d3c12a1f24 Add profiled and profiling-kernel to x86_64 ci. 2026-06-04 17:03:09 +02:00
Jeremy Soller
b5eea24cf4 Merge branch 'rev-gcc-pie' into 'master'
Revert enable PIE via gcc flags

See merge request redox-os/redox!2175
2026-06-04 06:25:39 -06:00
Jeremy Soller
e9fc007847 Merge branch 'fix-compilation-without-ipv6' into 'master'
support compilation without ipv6

See merge request redox-os/redox!2176
2026-06-04 06:23:55 -06:00
sourceturner
d842c9579d support compilation without ipv6 2026-06-04 13:13:52 +02:00
Wildan M
8d2330dbc9 Revert enable PIE via gcc flags 2026-06-04 09:50:25 +02:00
Ribbon
9375488b57 Add recipes 2026-06-01 11:09:54 -03:00
Jeremy Soller
ccb9e4e580 Merge branch 'pie-default' into 'master'
Enable PIE by default in GCC

See merge request redox-os/redox!2174
2026-06-01 05:54:56 -06:00
Jeremy Soller
471e5e3583 Merge branch 'gobject' into 'master'
Port gobject introspection

See merge request redox-os/redox!2173
2026-05-31 13:55:20 -06:00
Jeremy Soller
f16ed6be66 Merge branch 'fix-comp' into 'master'
Fix compile for webkit, nodejs, neovim

See merge request redox-os/redox!2172
2026-05-31 13:54:50 -06:00
Wildan M
20a0fa88a6
Port gobject introspection 2026-06-01 02:25:14 +07:00
Ribbon
ede550f56e Add recipes 2026-05-31 15:37:57 -03:00
Wildan M
72473b7d01 Fix compile for webkit, nodejs, neovim 2026-05-31 18:55:29 +02:00
Jeremy Soller
22f4f0b45c Merge branch 'tidyup-usr' into 'master'
Tidy up /usr part III

See merge request redox-os/redox!2171
2026-05-31 07:52:28 -06:00
Wildan M
9dba94a28a
Enable PIE by default in GCC 2026-05-31 03:08:43 +07:00
Jeremy Soller
68cebd6781 sysinfo: update to redox-0.39 branch 2026-05-30 09:31:06 -06:00
Jeremy Soller
bf3b860c92 Allow access to /scheme/proc after login 2026-05-30 09:30:27 -06:00
4lDO2
03bff2ff78 Add "make flamegraph". 2026-05-30 12:59:19 +02:00
Wildan M
4043ec7a30
Tidy up /usr part III 2026-05-30 12:15:03 +07:00
Ribbon
5f74a11ed8 Add recipes 2026-05-28 14:03:41 -03:00
Ribbon
82e3f60565 Add recipes 2026-05-27 13:46:31 -03:00
Jeremy Soller
69a34818bd Merge branch 'fix-build' into 'master'
Bump pkg to fix cookbook compilation

See merge request redox-os/redox!2170
2026-05-27 06:45:00 -06:00
Jeremy Soller
e727494c37 Merge branch 'track-default' into 'master'
Fix tracking for git default branch

See merge request redox-os/redox!2169
2026-05-27 05:24:14 -06:00
Jeremy Soller
81e153fa43 Merge branch 'fix-os-release-build-id' into 'master'
Added cookbook commit hash for /etc/os-release

Closes #1813

See merge request redox-os/redox!2168
2026-05-27 05:21:19 -06:00
Frank Li
38a7406435 Added cookbook commit hash for /etc/os-release 2026-05-27 05:21:19 -06:00
Wildan M
aba574248d
Bump pkg to fix cookbook compilation 2026-05-27 12:02:24 +07:00
Ribbon
6c65f91d9c Improve the hardware compatibility status explanation in HARDWARE.md 2026-05-26 13:56:52 -03:00
Wildan M
0fd6b596ef
Replace git checkout branch logic from bash 2026-05-26 22:52:51 +07:00
Wildan M
67dccc053a
Fix tracking for git default branch 2026-05-26 22:02:09 +07:00
Jeremy Soller
9ae3059530 Merge branch 'redox-2026-05-24' into 'master'
Support nightly 2026-05-24

See merge request redox-os/redox!2167
2026-05-26 07:21:11 -06:00
Jeremy Soller
a42a64e37a Support nightly 2026-05-24 2026-05-26 07:19:36 -06:00
Jeremy Soller
862b29d3d9 Merge branch 'more-xfce4-2' into 'master'
Add xfce4-notifyd and other xfce4 apps

See merge request redox-os/redox!2166
2026-05-25 07:06:02 -06:00
Jeremy Soller
858a689d3f Merge branch 'more-procpos' into 'master'
Fix and port more apps for uutils-procps

See merge request redox-os/redox!2165
2026-05-25 06:51:37 -06:00
Wildan M
5401abff64
Add xfce4-notifyd and other xfce4 apps 2026-05-25 19:49:22 +07:00
Jeremy Soller
5676d5f763 Add cosmic-monitor, broken until rust is updated 2026-05-24 11:07:01 -06:00
Jeremy Soller
9ed87f664a Merge branch 'more-xfce4' into 'master'
Port more xfce4 and fix booting

See merge request redox-os/redox!2164
2026-05-24 06:25:57 -06:00
Wildan M
879bc820c4
Port more xfce4 and fix booting 2026-05-24 09:51:56 +07:00
Ribbon
64ed9dbd7d Add recipes 2026-05-23 11:55:42 -03:00
Wildan M
7b2e53d567
Patch procps logic to use sys/context 2026-05-23 15:15:01 +07:00
Wildan M
0c7353bfad Fix and port more apps for uutils-procps 2026-05-25 11:11:24 +02:00
Jeremy Soller
841bb37725 Merge branch 'xfce4-more' into 'master'
Port more xfce4 and add hashes

See merge request redox-os/redox!2163
2026-05-22 10:50:14 -06:00
Wildan M
82d250470a
More plumbing to get thunar working 2026-05-22 23:34:12 +07:00
Jeremy Soller
cceb7e4974 Merge branch 'move-stuff' into 'master'
Move recipe categories

See merge request redox-os/redox!2162
2026-05-22 09:00:09 -06:00
Wildan M
c040d826c1 Port more xfce4 and add hashes 2026-05-22 08:24:04 +02:00
Jeremy Soller
631ce38da3 Merge branch 'webkit' into 'master'
Fix webkitgtk3, groff and m4

See merge request redox-os/redox!2161
2026-05-21 19:14:25 -06:00
Wildan M
1efb396faa
Fix webkitgtk3, groff and m4 2026-05-22 07:33:27 +07:00
Jeremy Soller
bf1bd0ea88 Merge branch 'repo-toml' into 'master'
Fix repo.toml save path

See merge request redox-os/redox!2160
2026-05-21 17:14:54 -06:00
Wildan M
17c15616d1
Fix repo.toml save path 2026-05-22 05:53:39 +07:00
Jeremy Soller
3214d8bdf0 xfce4-settings: depend on host:libxml2 for xmllint 2026-05-21 13:41:49 -06:00
Wildan M
da71785aed
Move recipe categories 2026-05-22 01:46:02 +07:00
Jeremy Soller
79d8072276 Merge branch 'xfce4' into 'master'
Port xfce4 and tidyup X11 config

See merge request redox-os/redox!2159
2026-05-21 11:13:39 -06:00
Wildan M
7e1acfc1ce
Update x11 config 2026-05-21 23:28:34 +07:00
Wildan M
1ab4449c52
Remove dock from mate (not exist) 2026-05-21 23:06:51 +07:00
Wildan M
9fd5e00438
Add xfce4 to CI 2026-05-21 23:01:03 +07:00
Wildan M
6541631e68
Port xfce4 and tidyup X11 config 2026-05-21 22:53:19 +07:00
Jeremy Soller
b01c5b5067 Merge branch 'firefox-opt' into 'master'
Improve firefox dependency and options

See merge request redox-os/redox!2158
2026-05-21 07:27:26 -06:00
Wildan M
000eca0329 Improve firefox dependency and options 2026-05-21 15:19:04 +02:00
Jeremy Soller
29e2c72584 Merge branch 'firefox' into 'master'
Port Firefox

See merge request redox-os/redox!2157
2026-05-20 10:26:08 -06:00
Wildan M
5c745a821f Add firefox to CI 2026-05-20 18:06:24 +02:00
Wildan M
7b9095fd21 Port Firefox 2026-05-20 18:04:28 +02:00
Jeremy Soller
2d0447671b Merge branch 'm4' into 'master'
Add uutils-procps to CI and fix m4 and groff compilation

See merge request redox-os/redox!2156
2026-05-20 06:29:54 -06:00
Jeremy Soller
df78f2f3e3 Merge branch 'fix-uutils-ls-utf8' into 'master'
Fix uutils UTF-8 locale handling on Redox

Closes #1810

See merge request redox-os/redox!2155
2026-05-20 06:26:51 -06:00
Wildan M
21396ea063
Fix m4 and groff compilation 2026-05-20 10:34:35 +07:00
Wildan M
138574e9c5
Add uutils-procps to CI 2026-05-20 10:34:17 +07:00
Jeremy Soller
42f9379bd8 syobonaction: set SDL_CONFIG 2026-05-19 20:19:02 -06:00
Jeremy Soller
21ff41e6d1 sdl1-ttf: compile dynamically 2026-05-19 20:15:22 -06:00
Jeremy Soller
bdc26a481d sopwith: use autotools_recursive_regenerate 2026-05-19 20:12:54 -06:00
Jeremy Soller
2ced0edd35 sdl1-image: compile dynamically 2026-05-19 20:12:35 -06:00
Jeremy Soller
9ec2f5d440 sdl1-mixer: remove patch forcing bins to be static 2026-05-19 18:13:41 -06:00
Ziwen Li(Frank)
30fd08a340 Fix uutils UTF-8 locale handling on Redox 2026-05-20 09:47:31 +12:00
Jeremy Soller
8a28ce8da2 Merge branch 'py-template' into 'master'
Implement build python template and port python3-yaml

See merge request redox-os/redox!2154
2026-05-17 08:56:04 -06:00
Jeremy Soller
f28060df32 Merge branch 'usr-all-2' into 'master'
Wholesale /usr tidyup part II

See merge request redox-os/redox!2153
2026-05-17 06:18:25 -06:00
Jeremy Soller
0ac93d72ac Merge branch 'web-files-enh' into 'master'
web: Show symlink and don't list empty dir in file tree

See merge request redox-os/redox!2152
2026-05-17 06:17:40 -06:00
Wildan M
2dd0f0f1f2
Implement build python template and port python3-yaml 2026-05-17 17:42:39 +07:00
Ribbon
d587f3e31b Add recipes 2026-05-17 07:40:49 -03:00
Wildan M
64064962a9
Wholesale /usr tidyup part II 2026-05-17 15:25:38 +07:00
Ribbon
247754569c Add recipes 2026-05-17 04:57:27 -03:00
Wildan M
fd2d14d42b
web: Show symlink and don't list empty dir in file tree 2026-05-17 02:30:38 +07:00
Jeremy Soller
0886d88cd6 Merge branch 'tui-inspect' into 'master'
tui: Implement inspection view

See merge request redox-os/redox!2151
2026-05-16 09:39:11 -06:00
Jeremy Soller
ca3cf86d80 Merge branch 'fstools-fetch' into 'master'
Fix fetching fstools when locked to binary

See merge request redox-os/redox!2150
2026-05-16 09:37:00 -06:00
Jeremy Soller
4095eb2e53 Merge branch 'mv-pixelcannon' into 'master'
Move pixelcannon

See merge request redox-os/redox!2149
2026-05-16 09:36:05 -06:00
Jeremy Soller
c68f449ee6 Merge branch 'better-web' into 'master'
web: File search design improvements

See merge request redox-os/redox!2148
2026-05-16 09:35:21 -06:00
Jeremy Soller
d8d47ef157 Merge branch 'local-rule' into 'master'
Add make target to set a recipe rule to local or ignore

See merge request redox-os/redox!2147
2026-05-16 09:34:41 -06:00
Wildan M
5f15060d2f
tui: Implement inspection view 2026-05-16 19:48:43 +07:00
Ribbon
c9a8f417f9 Update the ppsspp and zerospades recipes 2026-05-16 08:23:30 -03:00
Ribbon
deab2c71f5 Try to fix some recipes 2026-05-16 07:29:50 -03:00
Wildan M
fde6f77b2a
Fix fetching fstools when locked to binary 2026-05-16 15:39:29 +07:00
Wildan M
480bf7c955
Move pixelcannon 2026-05-16 15:12:27 +07:00
Wildan M
038ba28147
web: Add link to file search 2026-05-16 14:58:51 +07:00
Wildan M
25c5c7f4c8
web: Path-based search 2026-05-16 14:39:08 +07:00
Ribbon
9b0681d1bc Try to fix the glew recipe 2026-05-16 04:14:47 -03:00
Wildan M
73034a4b98
web: Design improvements 2026-05-16 13:55:11 +07:00
Ribbon
900c5deef1 Add recipes 2026-05-16 03:50:06 -03:00
Jeremy Soller
114833df68 Merge branch 'improvements' into 'master'
Some improvements

See merge request redox-os/redox!2143
2026-05-15 17:22:08 -06:00
Jeremy Soller
2cef3c833a Merge branch 'usr-all' into 'master'
Wholesale /usr tidyup

See merge request redox-os/redox!2146
2026-05-15 17:20:35 -06:00
Wildan M
0ea9983bf9
Add make target to set a recipe rule to local or ignore 2026-05-16 02:22:00 +07:00
Wildan M
68f5686159
Wholesale /usr tidyup 2026-05-15 22:36:18 +07:00
Jeremy Soller
075a9cef1b Merge branch 'relibc-test-fix' into 'master'
Fix relibc tests bins

See merge request redox-os/redox!2145
2026-05-15 06:25:03 -06:00
Ribbon
343c4f72b4 Add recipes 2026-05-15 06:26:00 -03:00
Ribbon
96e4de173a Add recipes 2026-05-15 05:28:54 -03:00
Wildan M
d8966fecb7
Fix relibc tests bins 2026-05-15 08:00:57 +07:00
Jeremy Soller
621f5062cb Merge branch 'libdrm_tests' into 'master'
Add subpackage for libdrm tests

See merge request redox-os/redox!2144
2026-05-14 06:11:51 -06:00
bjorn3
75018ecda5 Fix review comment 2026-05-14 12:52:23 +02:00
bjorn3
1d0710d320 libdrm: Add patch to fix drm device open 2026-05-14 12:22:24 +02:00
bjorn3
e0e52bf937 Add subpackage for libdrm tests 2026-05-14 11:18:44 +02:00
Ribbon
f59188c696 Some improvements 2026-05-14 04:45:27 -03:00
Jeremy Soller
7db2e0db52 Merge branch 'promote_drm_recipes' into 'master'
Promote some drm related recipes out of wip

See merge request redox-os/redox!2142
2026-05-13 14:20:48 -06:00
bjorn3
a66bc4459a Promote some drm related recipes out of wip
Haven't found any redox related bugs in them in the past couple of months.
2026-05-13 22:14:07 +02:00
Jeremy Soller
fb6af700e9 Merge branch 'patch-bash' into 'master'
Patch bash to fix compilation

See merge request redox-os/redox!2141
2026-05-13 08:27:15 -06:00
Ribbon
fea1c984b4 Add recipes 2026-05-13 08:11:05 -03:00
Wildan M
c2dbec1dcf
Patch bash 2026-05-13 08:38:33 +07:00
Jeremy Soller
010861f71b Merge branch 'groups' into 'master'
Few fixes for desktop and dev groups

See merge request redox-os/redox!2140
2026-05-12 06:28:11 -06:00
Ribbon
93ad71411a Add recipes 2026-05-12 06:48:20 -03:00
Wildan M
5fc3bed36c
Few fixes for desktop and dev groups 2026-05-12 16:29:21 +07:00
Ribbon
f4d5bb9cbb Add recipes 2026-05-11 04:58:05 -03:00
Ribbon
b89464bba8 Add recipes 2026-05-11 03:11:50 -03:00
Jeremy Soller
12145c1106 Merge branch 'same-as-lock' into 'master'
Fix handling git rev lock for same_as

See merge request redox-os/redox!2138
2026-05-10 13:47:49 -06:00
Jeremy Soller
0acb0392b9 Merge branch 'capture-rev' into 'master'
Implement build system rollback

Closes #1799

See merge request redox-os/redox!2137
2026-05-10 06:53:11 -06:00
Jeremy Soller
97a5a02808 Merge branch 'improve-groups' into 'master'
Dev meta-package improvements

See merge request redox-os/redox!2136
2026-05-09 16:13:01 -06:00
Ribbon
70916091a0 Dev meta-package improvements 2026-05-09 19:09:08 -03:00
Wildan M
ea576a2589
Fix handling git rev lock for same_as 2026-05-09 23:45:06 +07:00
Wildan M
35288e173d
Check pinned rev to fix reload on TUI 2026-05-09 20:34:52 +07:00
Wildan M
b356334d14
Run fetch before capturing rollback, add unfetch target 2026-05-09 19:37:00 +07:00
Jeremy Soller
676f32572d Merge branch 'niceness' into 'master'
Nice & Renice

See merge request redox-os/redox!2034
2026-05-09 06:19:34 -06:00
Akshit Gaur
73cf9a5fdf Nice & Renice 2026-05-09 06:19:34 -06:00
Jeremy Soller
58f7c4df55 Merge branch 'port-more' into 'master'
Wholesale of package restoration

See merge request redox-os/redox!2135
2026-05-09 06:18:12 -06:00
Wildan M
66d336baff
Add rollback make target 2026-05-09 19:10:49 +07:00
Wildan M
0e2ad35d67
Don't run git fetch when cached and detached 2026-05-09 18:38:08 +07:00
Wildan M
ca7e4737da
Implement git rollback 2026-05-09 18:32:32 +07:00
Wildan Mubarok
8985edf56a Apply 1 suggestion(s) to 1 file(s) 2026-05-09 10:08:11 +00:00
Wildan M
8f5f71bc4f
Add capture-rev command 2026-05-09 16:28:42 +07:00
Jeremy Soller
bfdc2f7668 Merge branch 'ignore-rule' into 'master'
Fix push command not respecting ignore rule

See merge request redox-os/redox!2134
2026-05-08 16:40:23 -06:00
Wildan M
81398f4763
Wholesale of package restoration 2026-05-09 04:18:53 +07:00
Wildan M
0012506f26 Partially fix retroarch fetch 2026-05-09 07:38:41 +02:00
Wildan M
34ff7b8348 Fix goaccess and other partial fix 2026-05-09 07:19:58 +02:00
Wildan M
fd112d8640 Drop flycast fork and fix build 2026-05-09 07:06:50 +02:00
Wildan M
9abdbd085e Fix SpaceCadetPinball 2026-05-09 06:43:32 +02:00
Wildan M
12d2be1e8f Fix cairo-demo and partially wesnoth 2026-05-09 06:25:21 +02:00
Wildan M
e703945410 Partially update freeglut 2026-05-09 06:22:16 +02:00
Wildan M
f66a2ab28a Fix libicu build by having proper toolchain build 2026-05-09 06:11:35 +02:00
Wildan M
7c43688ea2 Patch x264 2026-05-09 05:41:58 +02:00
Jeremy Soller
0801c2cc82 Merge branch 'no-mounted-qemu' into 'master'
Prevent running QEMU if disk mounted

Closes #1811

See merge request redox-os/redox!2133
2026-05-08 08:35:14 -06:00
Wildan M
0ce39682c5
Fix push command not respecting ignore rule 2026-05-08 21:18:15 +07:00
Jeremy Soller
9b2bf136b2 Merge branch 'push-head' into 'master'
Write pkgar head when pushing

Closes pkgutils#36

See merge request redox-os/redox!2132
2026-05-08 07:03:16 -06:00
Wildan M
69dc41a1d8
Prevent running QEMU if disk mounted 2026-05-08 19:30:35 +07:00
Jeremy Soller
260f98467e Merge branch 'web-index' into 'master'
web: Implement file browser

See merge request redox-os/redox!2131
2026-05-08 06:28:33 -06:00
Wildan M
65f68c0645
Write pkgar head when pushing 2026-05-08 18:48:07 +07:00
Wildan M
9a9fa2ec7b
web: Implement file browser 2026-05-08 17:15:57 +07:00
Wildan M
771df295c5
web: Implement file index 2026-05-08 14:50:44 +07:00
Jeremy Soller
4d30dceba0 Merge branch 'repo-lock' into 'master'
Don't recurse lock rules, fix binary repo cross arch

See merge request redox-os/redox!2130
2026-05-07 20:14:20 -06:00
Jeremy Soller
dff2cb45e0 Merge branch 'file-recipe-ci' into 'master'
Add "file" recipe to desktop and CI config

See merge request redox-os/redox!2127
2026-05-07 14:38:46 -06:00
Ribbon
384405a080 Add "file" recipe to desktop and CI config 2026-05-07 14:38:46 -06:00
Wildan M
2dd34be76f
Don't recurse lock rules, fix binary repo cross arch 2026-05-08 00:39:22 +07:00
Jeremy Soller
c45841ef6f Merge branch 'bump-just' into 'master'
Update just and sccache

See merge request redox-os/redox!2129
2026-05-07 08:29:42 -06:00
Wildan M
15a610024d
Update just and sccache 2026-05-07 21:20:25 +07:00
Jeremy Soller
d66aaf4602 Merge branch 'fix-auto-test' into 'master'
Fix and simplify auto-test config

See merge request redox-os/redox!2128
2026-05-07 07:46:44 -06:00
Jeremy Soller
25d8916ed4 Merge branch 'push-meta' into 'master'
Fix pushing metapackages

See merge request redox-os/redox!2126
2026-05-07 06:07:35 -06:00
Jeremy Soller
a5ae4342cf Merge branch 'python-alpha' into 'master'
Port python 3.15 alpha

See merge request redox-os/redox!2125
2026-05-07 06:06:55 -06:00
Jeremy Soller
6f3bb65eb8 Merge branch 'cmake' into 'master'
Update and fix cmake

See merge request redox-os/redox!2124
2026-05-07 06:05:44 -06:00
Ribbon
192dc5a2dc Fix and simplify auto-test config 2026-05-07 08:04:09 -03:00
Wildan M
21356e4be6
Fix pushing metapackages 2026-05-07 13:50:28 +07:00
Wildan M
a77eb39d50
Port python 3.15 alpha 2026-05-07 13:10:21 +07:00
Wildan M
950459dcc6
Add cmake to dev-essential 2026-05-07 11:49:37 +07:00
Wildan M
c8236b5692
Update and fix cmake 2026-05-07 11:43:15 +07:00
Jeremy Soller
baec8f7bb4 Merge branch 'autotools-group' into 'master'
Add "autotools" meta-package for faster installation

See merge request redox-os/redox!2123
2026-05-06 20:11:19 -06:00
Ribbon
60bf9b5470 Add "autotools" meta-package for faster installation 2026-05-06 20:11:19 -06:00
Jeremy Soller
6b5c35d7ff Merge branch 'update-l502x-status' into 'master'
Update and move Dell XPS L502X status to booting in HARDWARE.md

See merge request redox-os/redox!2122
2026-05-06 20:10:34 -06:00
Migue Magic
063a966eca Update Dell XPS L502X status in HARDWARE.md 2026-05-06 22:43:47 +00:00
Jeremy Soller
c9500591b2 Merge branch 'change-rule-2' into 'master'
Improve change-rule behavior

See merge request redox-os/redox!2121
2026-05-06 12:57:47 -06:00
Jeremy Soller
953993ac05 Merge branch 'change-rule' into 'master'
Implement cookbook lock and change-rule command

Closes #1801

See merge request redox-os/redox!2120
2026-05-06 06:20:09 -06:00
Jeremy Soller
c09e73007a Merge branch 'improve-manifest' into 'master'
Add more file formats in recipe manifests

See merge request redox-os/redox!2119
2026-05-06 06:17:18 -06:00
Ribbon
1776731607 Add more file formats in recipe manifests 2026-05-06 06:17:18 -06:00
Jeremy Soller
d05691f8bf Merge branch 'fix-ci' into 'master'
Fix img test CI

See merge request redox-os/redox!2118
2026-05-06 06:15:14 -06:00
Jeremy Soller
ad06910a29 Merge branch 'pkg-partial-download' into 'master'
Fix extract/push failure when binary repo downloaded partially

See merge request redox-os/redox!2117
2026-05-06 06:14:05 -06:00
Wildan M
7ba21717c7
Improve change-rule behavior 2026-05-06 04:16:17 +07:00
Wildan M
8d6ae193e7
Implement change-rule command 2026-05-06 02:35:17 +07:00
Wildan M
16c8c87d4f
Implement reading from cookbook lock 2026-05-06 01:06:53 +07:00
Wildan M
4e88d4be1c
Fix extract/push failure when binary repo downloaded partially 2026-05-05 23:48:20 +07:00
Wildan M
65d19d6501
Fix img test CI 2026-05-05 22:44:15 +07:00
Jeremy Soller
be0a51b0de Merge branch 'openssl3-linux' into 'master'
openssl3: Patches for linux relibc

See merge request redox-os/redox!2116
2026-05-05 06:43:14 -06:00
Jeremy Soller
a7a7a606c3 Merge branch 'master' into 'master'
Edit HARDWARE.md - added two Lenovo models

See merge request redox-os/redox!1904
2026-05-04 17:27:28 -06:00
Jeremy Soller
4b9be41ed8 Merge branch 'patch-1' into 'master'
Add Dell XPS L502X broken status in HARDWARE.md

See merge request redox-os/redox!2076
2026-05-04 17:26:53 -06:00
Jeremy Soller
a25e53bd60 Merge branch 'patch-1' into 'master'
Edit HARDWARE.md to fix grammar and add various test results

See merge request redox-os/redox!2094
2026-05-04 17:26:31 -06:00
Hamish McIntyre-Bhatty
153082f04b Edit HARDWARE.md to fix grammar and add various test results. 2026-05-04 23:13:40 +01:00
Wildan M
1bba2b69bd
openssl3: Patches for linux relibc 2026-05-05 05:10:29 +07:00
Jeremy Soller
0fbe0fee42 Merge branch 'binary-fallback' into 'master'
Implement "binary" fallback to "source" if package absent from CI

See merge request redox-os/redox!2110
2026-05-04 11:49:14 -06:00
Jeremy Soller
cd93f8c398 Merge branch 'curl-pc' into 'master'
Update and fix curl pkg-config

See merge request redox-os/redox!2109
2026-05-04 10:07:32 -06:00
Wildan M
f15fcfa940
Implement "binary" fallback to "source" if package absent from CI 2026-05-04 22:50:49 +07:00
Wildan M
5c42d00dc2
Update and fix curl pkg-config 2026-05-04 21:31:48 +07:00
Jeremy Soller
04cc7c0f15 Merge branch 'linux-adapt' into 'master'
Adapt changes needed for linux-relibc

See merge request redox-os/redox!2108
2026-05-03 11:13:16 -06:00
Jeremy Soller
b9dd2ee36d Build gawk for aarch64 and x86_64, add to x86_64 demo 2026-05-03 09:44:20 -06:00
Jeremy Soller
193c1cffcc Merge branch 'script-enh' into 'master'
Reorder install script for fedora apt tools, Use correct riscv qemu package for ubuntu

See merge request redox-os/redox!2107
2026-05-03 08:59:31 -06:00
Jeremy Soller
f8c83ed80d Merge branch 'fix-qemu-gui-arch' into 'master'
Fix QEMU GUI not working in Arch Linux

See merge request redox-os/redox!2103
2026-05-03 06:19:56 -06:00
Ribbon
eed7320cb3 Fix QEMU GUI not working in Arch Linux 2026-05-03 06:19:56 -06:00
Jeremy Soller
e5587552c7 Merge branch 'wget-ci' into 'master'
Add wget to x86-64 CI and demo config

See merge request redox-os/redox!2104
2026-05-03 06:19:16 -06:00
Ribbon
15bf773769 Add wget to x86-64 CI and demo config 2026-05-03 06:19:16 -06:00
Jeremy Soller
364743ae86 Merge branch 'prefix-fetch' into 'master'
Run prefix before fetch

See merge request redox-os/redox!2106
2026-05-03 06:15:34 -06:00
Jeremy Soller
0a2a487439 Merge branch 'thread-curl' into 'master'
curl: Use threads instead of alarm for timeout

See merge request redox-os/redox!2105
2026-05-03 06:14:54 -06:00
Wildan M
6862a7b98d
Adapt changes needed for linux-relibc 2026-05-03 09:39:01 +07:00
Wildan M
c3ccda5e99
Use correct riscv qemu package for ubuntu 2026-05-03 06:27:34 +07:00
Wildan M
16103df825
Reorder install script for fedora apt tools 2026-05-03 06:26:34 +07:00
Wildan M
d2262fa1d1
Run prefix before fetch 2026-05-03 06:02:55 +07:00
Wildan M
642a6444fe
curl: Use threads instead of alarm for timeout 2026-05-03 05:33:10 +07:00
Jeremy Soller
e36c3d98eb libmodplug1: define _GNU_SOURCE so string.h includes strings.h 2026-05-02 11:10:15 -06:00
Jeremy Soller
0564884467 Merge branch 'perl' into 'master'
perl: Remove relibc deps and disable man pages

See merge request redox-os/redox!2102
2026-05-02 06:22:07 -06:00
Jeremy Soller
6e840ef0ad Merge branch 'strings-attached' into 'master'
Fix recipes importing strings.h

See merge request redox-os/redox!2101
2026-05-02 06:20:42 -06:00
Wildan M
3977f37d22
perl: Remove relibc deps and disable man pages 2026-05-02 10:32:16 +07:00
Wildan M
e96734e910
Remove rsync openat patches 2026-05-02 08:23:00 +07:00
Wildan M
7f8859812f
Fix recipes importing strings.h 2026-05-02 08:20:38 +07:00
Jeremy Soller
5dca55d74b Merge branch 'real-clean' into 'master'
Clean more targets on prefix_clean

See merge request redox-os/redox!2100
2026-05-01 16:38:31 -06:00
Jeremy Soller
1ea6f027c3 Fix podman cache path 2026-05-01 13:51:54 -06:00
Jeremy Soller
2a499c179a cosmic-files, cosmic-term: manually link libiconv on statically linked targets 2026-05-01 11:26:52 -06:00
Jeremy Soller
0ab4ceed34 cosmic-edit: manually link libiconv on statically linked targets 2026-05-01 11:03:52 -06:00
Jeremy Soller
7fcfc50b89 libiconv: manually set ac_cv_c_bigendian=no to fix riscv64gc builds 2026-05-01 10:57:46 -06:00
Wildan M
ff38cd9bdc
Clean gcc and cpp at prefix_clean 2026-05-01 23:16:16 +07:00
Wildan M
36f34251b3
Clean more targets on prefix_clean 2026-05-01 23:09:50 +07:00
Jeremy Soller
6963cebcfc Merge branch 'uuwatch' into 'master'
Port watch from uutils

See merge request redox-os/redox!2098
2026-05-01 06:24:58 -06:00
Wildan M
65c57b3fba
Port watch from uutils 2026-05-01 10:43:43 +07:00
Jeremy Soller
a5dbf2ba24 gtk3: disable examples and tests 2026-04-30 19:47:33 -06:00
Jeremy Soller
82af8d02ac Use colon instead of slash for host arch podman images 2026-04-30 14:29:59 -06:00
Jeremy Soller
fe6d75db06 Add arch to podman cache path instead 2026-04-30 14:27:45 -06:00
Jeremy Soller
bfa75fcaa5 Use different podman image name for non-x86_64 2026-04-30 14:23:41 -06:00
Jeremy Soller
c2daab5320 scripts/network-boot: run http server in background instead of dnsmasq so sudo is in foreground 2026-04-30 12:48:48 -06:00
Jeremy Soller
661aac7b74 config/aarch64/jeremy: include demo config instead of desktop 2026-04-30 12:44:14 -06:00
Jeremy Soller
ea56858454 cosmic-reader: use master branch, it has no epoch tags yet 2026-04-30 12:43:17 -06:00
Migue Magic
1f5b0b012b Update Dell XPS L502X entry in HARDWARE.md with new reason 2026-04-18 01:21:33 +00:00
Migue Magic
8dce55105d Add Dell XPS L502X broken status in HARDWARE.md 2026-04-17 22:58:54 +00:00
John Coonrod
cba10533b3 Edit HARDWARE.md - added two Lenovo models 2026-02-13 21:48:50 +00:00
609 changed files with 8365 additions and 2247 deletions

1
.gitignore vendored
View File

@ -14,6 +14,7 @@
/repo
/web
/cookbook.toml
/cookbook.lock
source
source.tmp
source-new

View File

@ -25,8 +25,18 @@ cargo-test:
script:
- cargo test --locked
fetch-changed:
image: "redoxos/redox-base-x86_64"
stage: test
script:
- |
export PATH="$HOME/.cargo/bin:$PATH" &&
(curl "https://sh.rustup.rs" -sSf | sh -s -- -y --default-toolchain stable --profile minimal ) &&
cargo install cbindgen &&
env PODMAN_BUILD=0 SKIP_CHECK_TOOLS=1 ./scripts/fetch-changed.sh
img:
image: "redoxos/redox-base"
image: "redoxos/redox-base-x86_64"
stage: test
script:
- |

42
Cargo.lock generated
View File

@ -857,7 +857,7 @@ dependencies = [
[[package]]
name = "redox-pkg"
version = "0.3.1"
source = "git+https://gitlab.redox-os.org/redox-os/pkgutils.git#52f7930f8e6dfbe85efd115b3848ea802e1a56f0"
source = "git+https://gitlab.redox-os.org/redox-os/pkgutils.git#209d1edddd46fdc4a9fc06036ffc05ef6e5ce86a"
dependencies = [
"hex",
"serde",
@ -885,6 +885,7 @@ dependencies = [
"redoxer",
"regex",
"serde",
"serde_json",
"strip-ansi-escapes",
"termion",
"toml",
@ -917,7 +918,7 @@ dependencies = [
[[package]]
name = "redoxer"
version = "0.2.63"
source = "git+https://gitlab.redox-os.org/redox-os/redoxer.git#67af2b7543ff8fb2eaba6699ac9d331dfe2d0f8c"
source = "git+https://gitlab.redox-os.org/redox-os/redoxer.git#e4c40952b1a3c2da74557c62c1e51f5c6ab699f7"
dependencies = [
"anyhow",
"dirs",
@ -1018,24 +1019,47 @@ checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
[[package]]
name = "serde"
version = "1.0.197"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
dependencies = [
"serde_core",
"serde_derive",
]
[[package]]
name = "serde_core"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.197"
version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "serde_json"
version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
dependencies = [
"itoa",
"memchr",
"serde",
"serde_core",
"zmij",
]
[[package]]
name = "serde_spanned"
version = "0.6.9"
@ -1458,3 +1482,9 @@ dependencies = [
"quote",
"syn",
]
[[package]]
name = "zmij"
version = "1.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"

View File

@ -42,12 +42,13 @@ redox-pkg = { git = "https://gitlab.redox-os.org/redox-os/pkgutils.git", default
redox_installer = { git = "https://gitlab.redox-os.org/redox-os/installer.git", default-features = false }
redoxer = { git = "https://gitlab.redox-os.org/redox-os/redoxer.git", default-features = false }
regex = "1.11"
serde = { version = "=1.0.197", features = ["derive"] }
serde = { version = "1", features = ["derive"] }
termion = "4"
toml = "0.8"
walkdir = "2.3.1"
ansi-to-tui = { version = "8", optional = true }
strip-ansi-escapes = { version = "0.2.1", optional = true }
serde_json = "1"
[dependencies.ratatui]
version = "0.30"

View File

@ -5,7 +5,6 @@ This document tracks the current hardware compatibility of Redox OS.
- [Why are hardware reports needed?](#why-are-hardware-reports-needed)
- [What if my computer is customized?](#what-if-my-computer-is-customized)
- [Status](#status)
- [General](#general)
- [Contribute to this document](#contribute-to-this-document)
- [Template](#template)
- [Table row ordering](#table-row-ordering)
@ -33,21 +32,27 @@ We also recommend to add your `pciutils` log as a comment on [this](https://gitl
## Status
- **Recommended:** The operating system boots with video, sound, PS/2 or USB input, Ethernet, terminal and Orbital working.
- **Booting:** The operating system boots with some issues or lacking hardware support (write the issues and what supported hardware is not working in the "Report" section).
- **Broken:** The boot loader don't work or can't bootstrap the operating system.
The following limitations apply to any status.
## General
This section contain limitations that apply to any status.
- ACPI support is incomplete (some things are hardcoded on the kernel to work)
- ACPI support is incomplete (some things are hardcoded in the kernel to work)
- Wi-Fi and Bluetooth aren't supported yet
- AMD, NVIDIA, ARM, and PowerVR GPUs aren't supported yet (only BIOS VESA and UEFI GOP)
- Only Intel GPUs are supported, other GPU vendors use BIOS VESA or UEFI GOP
- I2C devices aren't supported yet (PS/2 or USB devices should be used)
- USB support varies on each device model because some USB devices require specific drivers (use input devices with standardized controls for more compatibility)
- Automatic operating system discovery is not implemented in the boot loader yet (remember this before installing Redox)
### Recommended
This status is used when the operating system boots with video, sound, PS/2 or USB input, Ethernet, terminal and Orbital working.
### Booting
This status is used when the operating system successfully boot with some issues or lacking hardware support (write the issues and what supported hardware is not working in the "Report" section).
### Broken
This status is used when the boot loader or system boot doesn't work.
## Contribute to this document
To contribute to this document, learn how to create your GitLab account, follow the project-wide contribution guidelines and suggestions, please refer to the [CONTRIBUTING.md](./CONTRIBUTING.md) document.
@ -96,10 +101,13 @@ Each "Vendor" has its own alphabetical order in "Model", independent from models
| ASUS | Vivobook 15 OLED (M1503Q) | 0.9.0 | 2025-08-04 | desktop | x86-64 | UEFI | Boots to Orbital, touchpad and usb do not work, cannot connect to the internet, right maximum display resolution 2880x1620 |
| Dell | XPS 13 (9350) | 0.8.0 | 2022-11-11 | desktop | i686 | BIOS | Boots to Orbital, NVMe driver livelocks |
| Dell | XPS 13 (9350) | 0.8.0 | 2022-11-11 | desktop | x86-64 | BIOS, UEFI | Boots to Orbital, NVMe driver livelocks |
| Dell | XPS L502X | 0.9.0 | 2026-05-01 | desktop | x86-64 | BIOS | Does not find the bootloader without patching the partition type byte to FAT32 (LBA), Boots to orbital with the patch in live mode, The entire system freezes after the orblogin screen appears unless recompiling the kernel without ACPI support, almost everything works out of box when using the kernel without ACPI, except the touchpad scrolling, WiFi and Intel graphics |
| HP | Dev One | 0.8.0 | 2022-11-11 | desktop | x86-64 | UEFI | Boots to Orbital, No touchpad support, requires I2C HID |
| HP | EliteBook Folio 9480M | 0.9.0 | 2025-11-04 | desktop | x86-64 | UEFI | Boots to Orbital, touchpad and usb work, cannot connect to the Internet, install failed, right maximum display resolution 1600x900
| Lenovo | Thinkbook 14 Gen 2 ARE (AMD Ryzen Edition) Laptop | 0.9.0 | 2026-05-02 | desktop | x86-64 | UEFI | Boots to Orbital, but trackpad and USB mouse doesn't work so unable to test further |
| Lenovo | ThinkPad Yoga 260 Laptop - Type 20FE | 0.9.0 | 2024-09-07 | demo | x86-64 | UEFI | Boots to Orbital, No audio |
| Lenovo | Yoga S730-13IWL | 0.9.0 | 2024-11-09 | desktop | x86-64 | UEFI | Boots to Orbital, No trackpad or USB mouse input support |
| Lenovo | Ideapad 710S-13IKB | 0.9.0 | 2026-02-12 | demo | x86-64 | UEFI | Boots to Orbital, No trackpad or USB mouse input support |
| Raspberry Pi | 3 Model B+ | 0.8.0 | Unknown | server | ARM64 | U-Boot | Boots to UART serial console (pl011) |
| Samsung | Series 3 (NP350V5C) | 0.9.0 | 2025-08-04 | desktop | x86-64 | UEFI | Boots to Orbital, touchpad works, USB does not work, can connect to the Internet through LAN. Wrong maximum display resolution 1024x768 |
| System76 | Oryx Pro (oryp10) | 0.8.0 | 2022-11-11 | desktop | x86-64 | UEFI | Boots to Orbital, No touchpad support, though it should be working |
@ -110,15 +118,19 @@ Each "Vendor" has its own alphabetical order in "Model", independent from models
| **Vendor** | **Model** | **Redox Version** | **Image Date** | **Variant** | **CPU Architecture** | **Motherboard Firmware** | **Report** |
|------------|-----------|-------------------|----------------|-------------|----------------------|--------------------------|------------|
| Apple | Mac Mini (Late 2012, Quad Core) | 0.9.0 | 2026-05-02 | desktop | x86-64 | EFI | Hangs after selecting boot device from boot menu, EFI 1.1 incompatibility? |
| ASUS | PN41 | 0.8.0 | 2024-05-30 | server | x86-64 | Unknown | Aborts after panic in xhcid |
| Asrock (Custom) | X570 Phantom Gaming 4 (Ryzen 3600) | 2026-05-02 | desktop | x86-64 | UEFI | Not recognised as a UEFI boot disk, have to boot in CSM mode. Bootloader fails with a panic |
| BEELINK | U59 | 0.8.0 | 2024-05-30 | server | x86-64 | Unknown | Aborts after panic in xhcid |
| Framework | Laptop 16 (AMD Ryzen 7040 Series) | 0.9.0 | 2026-3-29 | desktop, demo | x86-64 | UEFI | Crash due to unimplemented acpi function, see [jackpot51/acpi #3](https://github.com/jackpot51/acpi/pull/3) on GitHub |
| 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 |
| 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 |
| Lenovo | ThinkCentre M83 | 0.9.0 | 2025-11-09 | desktop | x86_64 | UEFI | Presents user with a set of display resolution options. After user selects an option, it takes a long time for the "live" thing to load all the way to 647MiB. Once it does reach 647MiB, however, it dumps a bunch of logs onto the screen. Those logs also happen to be offset so that the leftmost portion of all text "exists" past the leftmost part of the screen, resulting in the logs being only partially visible. The logs appear to include (among other things) 1. "thread 'main' (1) panicked at acpid/src/acpi.rs:256:68: Called `Result::unwrap()` on an `Err` value: Aml(NoCurrentOp)"; 2. "thread 'main' (1) panicked at acpid/src/main.rs:147:39:acpid: failed to daemonize: Error `I/O error` 5"; 3. "... [@hwd:40 ERROR] failed to probe with error No such device (os error 19)..."; etc. |
| Panasonic | Toughbook CF-18 | 0.8.0 | 2022-11-11 | desktop | i686 | BIOS | Hangs after PIT initialization |
| Toshiba | Satellite L500 | 0.8.0 | 2022-11-11 | desktop | i686 | BIOS | Correct video mode not offered (firmware issue), Panics on `phys_to_virt overflow`, probably having invalid mappings for 32-bit |
| Unbranded | VIA C3 CPU | 0.9.0 | 2026-01-25 | desktop | i586 | BIOS | Some kernel messages displayed, then locks up |
| XMG (Schenker) | Apex 17 (M21) | 0.9.0 | 2024-09-30 | demo, server | x86-64 | UEFI | After selecting resolution, (release) repeats `...::interrupt::irq::ERROR -- Local apic internal error: ESR=0x40` a few times before it freezes; (daily) really slowly prints statements from `...::rmm::INFO` before it abruptly aborts |

View File

@ -133,3 +133,20 @@ FORCE:
# Wireshark
wireshark: FORCE
wireshark $(BUILD)/network.pcap
KPROF_KERNEL_BINARY?=recipes/core/profiling-kernel/target/$(TARGET)/build/kernel
KPROF_KERNEL_SYM?=build/flamegraph/$(TARGET)-kernel-syms.txt
KPROF_OUTPUT_TXT?=build/$(ARCH)/$(CONFIG_NAME)/filesystem/home/root/kprof.txt
KPROF_PERF_SVG?=build/flamegraph/$(TARGET)-$(CONFIG_NAME)-kflamegraph.svg
# XXX: This assumes the TSC is invariant, that the value for cpu0 is the same as for all other CPUs, and that the value from ACPI actually reflects the TSC rate. It also only works on Linux.
KPROF_CPU_GHZ?=$(shell (cat /sys/devices/system/cpu/cpu0/acpi_cppc/nominal_freq || echo 3400) | xargs echo "0.001 *" | bc)
# See https://gitlab.redox-os.org/redox-os/kprofiling/-/blob/master/src/main.rs?ref_type=heads#L16-L18
# Set e.g. to "xo" to show individual instruction offsets
KPROF_OPTIONS?=_
flamegraph:
mkdir -p build/flamegraph && \
make mount && \
nm -CS $(KPROF_KERNEL_BINARY) >$(KPROF_KERNEL_SYM) && \
redox-kprofiling $(KPROF_OUTPUT_TXT) $(KPROF_KERNEL_SYM) $(KPROF_OPTIONS) $(KPROF_CPU_GHZ) | inferno-collapse-perf | inferno-flamegraph > $(KPROF_PERF_SVG) && \
make unmount

View File

@ -43,9 +43,11 @@ dejavu = {}
diffutils = {}
expat = {}
extrautils = {}
file = {}
findutils = {}
freefont = {}
freetype2 = {}
gawk = {}
gcc13 = {}
gettext = {}
git = {}
@ -100,6 +102,7 @@ smith = {}
terminfo = {}
userutils = {}
uutils = {}
uutils-procps = {}
vim = {}
xz = {}
zlib = {}
@ -129,13 +132,11 @@ zstd = {}
# #dynamic-example = {}
# #fal
# #fd = {} # ctrlc-3.1.1
# #file = {}
# #flycast = {}
# #freeciv = {}
# #freeglut = {}
# #friar = {} # mio patch
# #game-2048 = {} # rustc-serialize
# #gawk = {} # langinfo.h
# #gigalomania = {} # old recipe format
# #gitoxide = {}
# #goaccess = {}

View File

@ -1,3 +1,3 @@
# Configuration for Jeremy Soller
include = ["desktop.toml"]
include = ["demo.toml"]

View File

@ -58,6 +58,7 @@ schemes = [
"display.vesa",
"display*",
# Other schemes
"proc",
"pty",
"sudo",
"audio",
@ -108,7 +109,7 @@ HOME_URL="https://redox-os.org/"
DOCUMENTATION_URL="https://redox-os.org/docs/"
SUPPORT_URL="https://redox-os.org/community/"
"""
# FIXME maybe add VARIANT= and VARIANT_ID= keys depending on the chosen configuration?
# VARIANT and BUILD_ID are appended by redox_installer when creating images.
[[files]]
path = "/etc/os-release"

View File

@ -14,6 +14,7 @@ cosmic-files = {}
cosmic-icons = {}
cosmic-term = {}
dejavu = {}
file = {}
freefont = {}
hicolor-icon-theme = {}
installer-gui = {}

View File

@ -43,6 +43,7 @@ dejavu = {}
diffutils = {}
expat = {}
extrautils = {}
file = {}
findutils = {}
freefont = {}
freetype2 = {}
@ -94,6 +95,7 @@ smith = {}
terminfo = {}
userutils = {}
uutils = {}
uutils-procps = {}
xz = {}
#vim = {} # conflicting types
zlib = {}
@ -123,7 +125,6 @@ zlib = {}
# #dynamic-example = {}
# #fal
# #fd = {} # ctrlc-3.1.1
# #file = {}
# #flycast = {}
# #freeciv = {}
# #freeglut = {}

View File

@ -15,6 +15,7 @@ extrautils = {}
ion = {}
pkgutils = {}
kibi = {}
uutils-procps = {}
[[files]]
path = "/usr/lib/init.d/30_console"

View File

@ -43,6 +43,7 @@ dejavu = {}
diffutils = {}
expat = {}
extrautils = {}
file = {}
findutils = {}
freefont = {}
freetype2 = {}
@ -94,6 +95,7 @@ smith = {}
terminfo = {}
userutils = {}
uutils = {}
uutils-procps = {}
xz = {}
#vim = {} # error compiling ncurses
zlib = {}
@ -123,7 +125,6 @@ zlib = {}
# #dynamic-example = {}
# #fal
# #fd = {} # ctrlc-3.1.1
# #file = {}
# #flycast = {}
# #freeciv = {}
# #freeglut = {}

View File

@ -15,6 +15,7 @@ bottom = {}
curl = {}
diffutils = {}
findutils = {}
gettext = {}
git = {}
installer = {}
kibi = {}

View File

@ -53,6 +53,8 @@ export RUST_BACKTRACE=full
export RUST_LOG=debug
export XCURSOR_THEME=Pop
export XDG_RUNTIME_DIR=/tmp/run/user/0
# Comment out once responsive
export WAYLAND_DEBUG=1
# Create XDG runtime directory
#TODO: mkdir -p not working

View File

@ -14,11 +14,12 @@ filesystem_size = 2048
adwaita-icon-theme = {}
dbus = {}
gtk3 = {}
mate-common = {}
libxcursor = {} # loaded dynamically
#mate-common = {}
mesa-demos-x11 = {}
#firefox = {}
#webkitgtk3 = {} # not compiling
#xfce4-panel = {}
#xfwm4 = {}
xfce4-full = {}
x11-full = {}
zenity = {}
@ -59,6 +60,28 @@ requires_weak 10_dbus 10_xenv 20_audiod.service
nowait BROWSER=/bin/netsurf-fb VT=3 orbital orbital-x11
"""
[[files]]
path = "/run/user/0"
data = ""
directory = true
mode = 0o700
[[files]]
path = "/home/root/.config/dconf"
data = ""
directory = true
[[files]]
path = "/home/root/Desktop"
data = ""
directory = true
[[files]]
path = "/usr/share/X11/xorg.conf.d"
data = ""
directory = true
[[files]]
path = "/usr/bin/orbital-x11"
mode = 0o755
@ -70,11 +93,12 @@ set -ex
# for ice authority and pixbuf
export HOME=/home/root
export XDG_DATA_DIRS=/usr/share
export XDG_RUNTIME_DIR=/run/user/0
export XDG_CONFIG_HOME=/home/root/.config
# Generate config file
WIDTH="$((0x$(grep FRAMEBUFFER_WIDTH /scheme/sys/env | cut -d '=' -f 2)))"
HEIGHT="$((0x$(grep FRAMEBUFFER_HEIGHT /scheme/sys/env | cut -d '=' -f 2)))"
mkdir -p /usr/share/X11/xorg.conf.d
cat > /usr/share/X11/xorg.conf.d/orbital.conf <<EOF
Section "Device"
Identifier "Configured Video Device"
@ -105,22 +129,43 @@ EOF
export DISPLAY=":0"
X "${DISPLAY}" &
sleep 1
exec dbus-launch --exit-with-x11 orbital-x11-session
exec dbus-launch --exit-with-x11 xfce4-x11-session
"""
[[files]]
path = "/usr/bin/orbital-x11-session"
path = "/usr/bin/mate-x11-session"
mode = 0o755
data = """
#!/usr/bin/env bash
set -ex
gdk-pixbuf-query-loaders --update-cache
/usr/libexec/dconf-service &
xterm&
sleep 1
#zenity --info --text="running mate as $(id)!"
#exec marco
exec mate-session
"""
[[files]]
path = "/usr/bin/xfce4-x11-session"
mode = 0o755
data = """
#!/usr/bin/env bash
set -ex
gdk-pixbuf-query-loaders --update-cache
mate-session&
/usr/lib/xfce4/xfconf/xfconfd &
/usr/lib/tumbler-1/tumblerd &
/usr/libexec/upowerd &
xfsettingsd &
xterm&
#zenity --info --text="running xfce4 as $(id)!"
#exec xfwm4
exec xfce4-session
"""

View File

@ -14,6 +14,7 @@ prompt = false
# Meta-packages below
auto-test = {}
autotools = {}
dev-essential = {}
dev-redox = {}
llvm21-common = {}
@ -21,11 +22,14 @@ mate-common = {}
redox-tests = {}
x11-minimal = {}
x11-full = {}
xfce4-common = {}
xfce4-full = {}
# Normal packages below
acid = {}
adwaita-icon-theme = {}
atk = {}
autoconf = {}
automake = {}
base = {}
@ -33,24 +37,32 @@ bash = {}
bash-completion = {}
binutils = {}
bootloader = {}
boxedwine = {}
bottom = {}
bzip2 = {}
ca-certificates = {}
cairo = {}
cairo-demo = {}
cbindgen = {}
classicube = {}
clang21 = {}
cleye = {}
cmake = {}
cmatrix = {}
composer = {}
contain = {}
coreutils = {}
cosmic-edit = {}
cosmic-files = {}
cosmic-icons = {}
cosmic-reader = {}
cosmic-term = {}
cosmic-text = {}
cpal = {}
curl = {}
dash = {}
dejavu = {}
devilutionx = {}
diffutils = {}
dosbox = {}
duktape = {}
@ -59,28 +71,44 @@ exampled = {}
expat = {}
extrautils = {}
ffmpeg6 = {}
file = {}
findutils = {}
firefox = {}
fish-shell = {}
flycast = {}
fontconfig = {}
freeciv = {}
freedoom = {}
freefont = {}
freepats = {}
freetype2 = {}
fribidi = {}
gawk = {}
gcc13 = {}
gdbserver = {}
gdk-pixbuf = {}
gears = {}
generaluser-gs = {}
gettext = {}
gigalomania = {}
git = {}
glib = {}
glutin = {}
gnu-binutils = {}
gnu-grep = {}
gnu-make = {}
goaccess = {}
gobject-introspection = {}
gitoxide = {}
gstreamer = {}
harfbuzz = {}
hicolor-icon-theme = {}
helix = {}
hello-redox = {}
hf = {}
htop = {}
jansson = {}
jq = {}
installer = {}
installer-gui = {}
intel-one-mono = {}
@ -88,22 +116,33 @@ ion = {}
kernel = {}
kibi = {}
lci = {}
libarchive = {}
libatomic = {}
libavif = {}
libc-bench = {}
libedit = {}
libffi = {}
libflac = {}
libgcc = {}
libgmp = {}
libiconv = {}
libicu = {}
libjpeg = {}
libmodplug1 = {}
libmpfr = {}
libnettle = {}
libogg = {}
libonig = {}
liborbital = {}
libpsl = {}
libpng = {}
libsodium = {}
libssh2 = {}
libstdcxx = {}
libtool = {}
libuuid = {}
liburcu = {}
libuv = {}
libvorbis = {}
libwebp = {}
libxkbcommon = {}
@ -112,14 +151,21 @@ libxml2 = {}
llvm21 = {}
lsd = {}
lua54 = {}
lua-compat-53 = {}
luajit = {}
luarocks = {}
lz4 = {}
mednafen = {}
mesa = {}
mesa-glu = {}
mesa-demos = {}
mesa-demos-x11 = {}
mgba = {}
miniserve = {}
mpc = {}
nano = {}
nasm = {}
ncdu = {}
ncurses = {}
ncursesw = {}
neovim = {}
@ -133,6 +179,7 @@ nodejs-21 = {}
nushell = {}
onefetch = {}
openjazz = {}
openjk = {}
openssh = {}
openssl1 = {}
openssl3 = {}
@ -140,6 +187,7 @@ openttd = {}
openttd-opengfx = {}
openttd-openmsx = {}
openttd-opensfx = {}
opentyrian = {}
orbclient = {}
orbdata = {}
orbital = {}
@ -147,22 +195,30 @@ orbterm = {}
orbutils = {}
os-test-bins = {}
osdemo = {}
pango = {}
patch = {}
patchelf = {}
pcre = {}
pcre2 = {}
perg = {}
periodictable = {}
perl5 = {}
php84 = {}
pixelcannon = {}
pixman = {}
pkg-config = {}
pkgar = {}
pkgutils = {}
pls = {}
pop-icon-theme = {}
powerline = {}
prboom = {}
procedural-wallpapers-rs = {}
profiled = {}
profiling-kernel = {}
python312 = {}
qemu = {}
quakespasm = {}
readline = {}
redox-fatfs = {}
redox-games = {}
@ -178,6 +234,7 @@ rust = {}
rust64 = {}
rustpython = {}
rustual-boy = {}
rvvm = {}
scummvm = {}
sdl-gfx = {}
sdl1 = {}
@ -203,6 +260,7 @@ sopwith = {}
sqlite3 = {}
strace = {}
syobonaction = {}
tcl = {}
terminfo = {}
timidity = {}
tmux = {}
@ -210,10 +268,13 @@ tokei = {}
ttf-hack = {}
userutils = {}
uutils = {}
uutils-procps = {}
vim = {}
vttest = {}
wasmtime = {}
wayland-rs = {}
webkitgtk3 = {}
wget = {}
winit = {}
winit-wayland = {}
xxhash = {}
@ -224,103 +285,41 @@ zsh = {}
zlib = {}
zstd = {}
#"python312.dev" = {}
#"rust.doc" = {}
#atk = {} # depends on glib which does not build
#benchmarks = {}
#binutils-gdb = {}
#book = {}
#cairo-demo = {} # linking errors
#classicube = {}
#cmake = {}
#cmatrix = {} # needs ncursesw now
#cookbook = {}
#cosmic-reader = {}
#cosmic-settings = {}
#cosmic-store = {}
#devilutionx = {}
#dynamic-example = {}
#fal
#fd = {} # ctrlc-3.1.1
#file = {}
#flycast = {}
#freeciv = {}
#freeglut = {}
#friar = {} # mio patch
#game-2048 = {} # rustc-serialize
#gawk = {} # langinfo.h
#gigalomania = {} # old recipe format
#gitoxide = {}
#goaccess = {}
#gstreamer = {} # conflict with thread local errno
#harfbuzz = {} # depends on glib which does not build
#helix = {}
#hello-redox = {}
#hematite = {} # needs crate patches for redox-unix
#hf = {}
#ibm-plex = {}
#iced = {}
#jansson = {} # needs config.sub update
#jq = {}
#libarchive = {}
#libatomic = {}
#libcosmic = {}
#libflac = {}
#libmodplug1 = {}
#libmpfr = {}
#libnettle = {}
#libogg = {}
#libpsl = {}
#libssh2 = {}
#libtool = {}
#liburcu = {}
#libuv = {}
#lua-compat-53 = {}
#luajit = {}
#luarocks = {}
#luv = {}
#mdp = {} # gcc hangs
#miniserve = {} # actix
#mpc = {}
#mupen64plus = {}
#ncdu = {} # multiple definitions of symbols
#newlib = {} # obsolete
#newlibtest = {} # obsolete
#noto-color-emoji = {}
#openjk = {}
#openposixtestsuite = {}
#opentyrian = {}
#orbcalculator = {}
#ostest-bins = {}
#pango = {} # undefined references to std::__throw_system_error(int)
#pastel = {} # needs crate patches for redox-unix
#pathfinder = {} # servo-fontconfig
#pciids = {}
#pcre2 = {}
#pixman = {} # depends on glib which does not build
#pls = {}
#pop-wallpapers = {}
#powerline = {} # dirs
#qemu = {} # can be built, but not working
#quakespasm = {}
#redox-posix-tests = {}
#redox-ssh = {} # does not compile
#retroarch = {} # OS_TLSIndex not declared
#retroarch = {} # cannot locate GL
#rust-cairo = {} # linking errors
#rust-cairo-demo = {} # linking errors
#rvvm = {}
#schismtracker = {} # uses system includes
#sdl-player = {} # wctype_t
#sdl2-gfx = {}
#sm64ex = {}
#spacecadetpinball = {}
#twin-commander = {}
#ubuntu-wallpapers = {}
#unibilium = {}
#utf8proc = {}
#vice = {} # linker errors
#vvvvvv = {} # did not compile
#webrender = {} # unwind
#website = {}
#wesnoth = {}
#wget = {}

View File

@ -10,17 +10,20 @@ filesystem_size = 1536
# Package settings
[packages]
# GUI Apps
cosmic-reader = {}
periodictable = {}
# GUI Data
intel-one-mono = {}
# Shell Apps
gawk = {}
gnu-grep = {}
htop = {}
ripgrep = {}
terminfo = {}
vim = {}
wget = {}
# Games
dosbox = {}

View File

@ -45,7 +45,7 @@
overlays = [ rust-overlay.overlays.default ];
};
rust-bin = pkgs.rust-bin.nightly."2025-10-03".default.override {
rust-bin = pkgs.rust-bin.nightly."2026-05-24".default.override {
extensions = [
"rust-analyzer"
"rust-src"

View File

@ -172,7 +172,7 @@ FSTOOLS=build/fstools
INSTALLER=$(FSTOOLS)/bin/redox_installer
REDOXFS=$(FSTOOLS)/bin/redoxfs
REDOXFS_MKFS=$(FSTOOLS)/bin/redoxfs-mkfs
INSTALLER_OPTS=--cookbook=.
INSTALLER_OPTS=--cookbook=. --config-name=$(CONFIG_NAME)
INSTALLER_FEATURES=
REDOXFS_FEATURES=
COOKBOOK_OPTS="--filesystem=$(FILESYSTEM_CONFIG)"

View File

@ -94,8 +94,12 @@ ifeq ($(FSTOOLS_IN_PODMAN),1)
$(PODMAN_RUN) make $@
else
@sync
-$(FUMOUNT) $(MOUNT_DIR)
ifneq ($(wildcard $(MOUNT_DIR)),)
$(FUMOUNT) $(MOUNT_DIR)
@rm -rf $(MOUNT_DIR)
@-$(FUMOUNT) /tmp/redox_installer 2>/dev/null || true
@echo "\033[1;36;49mFilesystem unmounted\033[0m"
else
@echo "\033[1;36;49mDisk is not mounted\033[0m"
endif
@-$(FUMOUNT) /tmp/redox_installer 2>/dev/null || true
endif

View File

@ -32,7 +32,7 @@ fstools_fetch: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
$(REPO_BIN) fetch installer redoxfs
$(REPO_BIN) fetch host:installer host:redoxfs
endif
CARGO_OFFLINE_FLAG=

View File

@ -16,7 +16,7 @@ endif
# Cache layers to redox-os docker hub
PODMAN_CACHE=
PODMAN_CACHE_PATH=docker.io/redoxos/$(IMAGE_TAG)
PODMAN_CACHE_PATH?=docker.io/redoxos/$(IMAGE_TAG)-$(HOST_ARCH)
PODMAN_CACHE_PULL?=1
ifeq ($(PODMAN_CACHE_PULL),1)

View File

@ -14,9 +14,19 @@ LLVM_TARGET=recipes/dev/llvm21/target/$(HOST_TARGET)/$(TARGET)
RUST_TARGET=recipes/dev/rust/target/$(HOST_TARGET)/$(TARGET)
CLANG_TARGET=recipes/dev/clang21/target/$(HOST_TARGET)/$(TARGET)
LLD_TARGET=recipes/dev/lld21/target/$(HOST_TARGET)/$(TARGET)
# dependencies of GCC and Rust
LIBGMP_TARGET=recipes/libs/libgmp/target/$(HOST_TARGET)/$(TARGET)
LIBMPFR_TARGET=recipes/libs/libmpfr/target/$(HOST_TARGET)/$(TARGET)
LIBMPC_TARGET=recipes/libs/mpc/target/$(HOST_TARGET)/$(TARGET)
LIBZLIB_TARGET=recipes/libs/zlib/target/$(HOST_TARGET)/$(TARGET)
LIBZSTD_TARGET=recipes/libs/zstd/target/$(HOST_TARGET)/$(TARGET)
LIBSSL_TARGET=recipes/libs/openssl3/target/$(HOST_TARGET)/$(TARGET)
LIBHTTP2_TARGET=recipes/libs/nghttp2/target/$(HOST_TARGET)/$(TARGET)
LIBCURL_TARGET=recipes/net/download/curl/target/$(HOST_TARGET)/$(TARGET)
LIBGCC_TARGET=recipes/libs/libgcc/target/$(TARGET)
LIBCPP_TARGET=recipes/libs/libstdcxx/target/$(TARGET)
# official RISC-V support introduced in newer version
UPSTREAM_RUSTC_VERSION=2025-11-15
UPSTREAM_RUSTC_VERSION=2026-05-24
export PREFIX_RUSTFLAGS=-L $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/lib
export RUSTUP_TOOLCHAIN=$(ROOT)/$(PREFIX_INSTALL)
@ -28,13 +38,19 @@ prefix: $(PREFIX)/sysroot
# Remove prefix builds and downloads
prefix_clean:
rm -rf $(PREFIX)
ifeq ($(PREFIX_BINARY),0)
rm -rf $(BINUTILS_TARGET) $(LIBTOOL_TARGET) $(GCC_TARGET) $(LIBSTDCXX_TARGET) $(RELIBC_FREESTANDING_TARGET)
rm -rf $(RELIBC_TARGET) $(LLVM_TARGET) $(RUST_TARGET) $(CLANG_TARGET) $(LLD_TARGET) $(LIBGMP_TARGET) $(LIBMPFR_TARGET)
rm -rf $(LIBMPC_TARGET) $(LIBZLIB_TARGET) $(LIBZSTD_TARGET) $(LIBSSL_TARGET) $(LIBHTTP2_TARGET) $(LIBCURL_TARGET)
rm -rf $(LIBGCC_TARGET) $(LIBCPP_TARGET)
endif
# Remove relibc in sysroot and all statically linked recipes
static_clean: | $(FSTOOLS_TAG)
$(MAKE) c.relibc
$(MAKE) c.base,extrautils,kernel,redoxfs
$(MAKE) c.bash,luajit,gettext,openssl1,openssl3,pcre2,sdl1,zstd,zlib,bzip2,xz
$(MAKE) c.expat,freetype2,libffi,libiconv,libjpeg,liborbital,libpng,libxml2,ncurses,ncursesw
$(MAKE) c.luajit,gettext,libgcc,libstdcxx,openssl1,openssl3,pcre2,sdl1,zstd,zlib,bzip2,xz
$(MAKE) c.expat,freetype2,libffi,libiconv,libjpeg,liborbital,libpng,libxml2,ncurses,ncursesw,termcap
rm -rf $(REPO_TAG)
$(PREFIX)/sysroot: $(PREFIX)/clang-install $(PREFIX)/rust-install $(PREFIX)/gcc-install | $(FSTOOLS_TAG) $(CONTAINER_TAG)
@ -375,14 +391,14 @@ endif
# BUILD RUST ---------------------------------------------------
else
$(PREFIX)/rust-install: | $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
$(PREFIX)/rust-install: | $(PREFIX)/gcc-install $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@echo "\033[1;36;49mBuilding rust-install\033[0m"
rm -rf "$@.partial" "$@"
export PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$$PATH" \
$(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) && \
export PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$(ROOT)/$(PREFIX)/gcc-install/bin:$$PATH" \
$(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) COOKBOOK_CROSS_GNU_TARGET=$(GNU_TARGET) && \
$(REPO_BIN) cook host:llvm21 host:rust
cp -r "$(RUST_TARGET)/stage/usr/". "$@.partial"
cp -r "$(LLVM_TARGET)/stage/usr/". "$@.partial"

View File

@ -375,4 +375,10 @@ $(BUILD)/qemu_uboot.rom:
wget -O $@ https://gitlab.redox-os.org/Ivan/redox_firmware/-/raw/main/platform/qemu/qemu_arm64/u-boot-qemu-arm64.bin
qemu: qemu-deps
ifeq ($(wildcard $(MOUNT_DIR)),)
$(QEMU) $(QEMUFLAGS)
else
@echo "\033[1;38;5;196mDisk is mounted. Unmounting the disk...\033[0m";
$(MAKE) unmount
$(QEMU) $(QEMUFLAGS)
endif

View File

@ -38,7 +38,7 @@ else
endif
# Fetch all recipes source or binary from filesystem config
fetch: $(FSTOOLS_TAG) FORCE
fetch: prefix $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@ -47,6 +47,14 @@ else
$(REPO_BIN) fetch $(COOKBOOK_OPTS) --with-package-deps
endif
# Unfetch and clean all recipes source or binary from filesystem config
unfetch: prefix $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
$(REPO_BIN) unfetch $(COOKBOOK_OPTS) --with-package-deps
endif
# Fetch Cargo dependencies for the cookbook tool (needed for REPO_OFFLINE=1 builds)
cargo-fetch: FORCE
ifeq ($(PODMAN_BUILD),1)
@ -82,7 +90,7 @@ else
endif
# Invoke fetch for one or more targets separated by comma
f.%: $(FSTOOLS_TAG) FORCE
f.%: prefix $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
@ -124,7 +132,7 @@ endif
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@ ALLOW_FSTOOLS=$(FSTOOLS_IN_PODMAN)
else
$(REPO_BIN) push $(foreach f,$(subst $(comma), ,$*),$(f)) "--sysroot=$(MOUNT_DIR)"
$(REPO_BIN) push $(foreach f,$(subst $(comma), ,$*),$(f)) "--sysroot=$(MOUNT_DIR)" $(COOKBOOK_OPTS)
endif
ifeq ($(ALLOW_FSTOOLS),1)
@if [ -f $(MOUNTED_TAG) ]; then \
@ -260,6 +268,107 @@ ucri.%: $(FSTOOLS_TAG) FORCE
$(MAKE) i.$*
endif
# Set recipe rule to "binary" then invoke clean
bc.%: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
$(REPO_BIN) change-rule --set-rule=binary $(foreach f,$(subst $(comma), ,$*),$(f)) --with-package-deps
endif
# Set recipe rule to "source" then invoke clean
sc.%: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
$(REPO_BIN) change-rule --set-rule=source $(foreach f,$(subst $(comma), ,$*),$(f)) --with-package-deps
endif
# Set specific recipe rule to "local" then invoke clean
lc.%: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
$(REPO_BIN) change-rule-local --set-rule=local $(foreach f,$(subst $(comma), ,$*),$(f))
endif
# Set specific recipe rule to "ignore" then invoke clean
nc.%: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
$(REPO_BIN) change-rule-local --set-rule=ignore $(foreach f,$(subst $(comma), ,$*),$(f))
endif
# Reset recipe rule then invoke clean
cc.%: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
$(REPO_BIN) change-rule --unset $(foreach f,$(subst $(comma), ,$*),$(f)) --with-package-deps
endif
# Set recipe rule to "binary" then invoke clean and rebuild
bcr.%: $(FSTOOLS_TAG) FORCE
$(MAKE) bc.$*
$(MAKE) r.$*,--with-package-deps
# Set recipe rule to "source" then invoke clean and rebuild
scr.%: $(FSTOOLS_TAG) FORCE
$(MAKE) sc.$*
$(MAKE) r.$*,--with-package-deps
# Set specific recipe rule to "local" then invoke clean and rebuild
lcr.%: $(FSTOOLS_TAG) FORCE
$(MAKE) lc.$*
$(MAKE) r.$*
# Set specific recipe rule to "ignore" then invoke clean and rebuild
ncr.%: $(FSTOOLS_TAG) FORCE
$(MAKE) nc.$*
$(MAKE) r.$*
# Set recipe rule to "binary" then invoke clean, rebuild and push
bcrp.%: $(FSTOOLS_TAG) FORCE
$(MAKE) bcr.$*
$(MAKE) p.$*
# Set recipe rule to "source" then invoke clean, rebuild and push
scrp.%: $(FSTOOLS_TAG) FORCE
$(MAKE) scr.$*
$(MAKE) p.$*
# Save current git rev for next recipe fetch, locking git recipes frozen in time
repo-lock: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
$(REPO_BIN) capture-rev $(COOKBOOK_OPTS) --with-package-deps
endif
# Undo repo-lock, allowing git recipes to get updated by next recipe fetch
repo-unlock: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
else
$(REPO_BIN) capture-rev $(COOKBOOK_OPTS) --unset --with-package-deps
endif
# Like repo-lock, but also checking out the specified git rev.
# Revert this operation by "git checkout master" "make pull" then "make repo-unlock".
# Will not work if rolling back to a commit before 2026.
repo-rollback.%: $(FSTOOLS_TAG) FORCE
ifeq ($(PODMAN_BUILD),1)
$(PODMAN_RUN) make $@
# have to be done otherwise podman will rebuild
touch $(CONTAINER_TAG)
else
git checkout $*
$(REPO_BIN) capture-rev $(COOKBOOK_OPTS) --rollback --with-package-deps
endif
# have to be done otherwise cookbook will rebuild
touch $(FSTOOLS_TAG)
export DEBUG_BIN?=
# Debug a statically linked program with gdbgui, for example: debug.drivers-initfs DEBUG_BIN=pcid

View File

@ -337,7 +337,7 @@ archLinux()
zip"
if [ "$1" == "qemu" ]; then
packages="$packages qemu-system-x86 qemu-system-arm qemu-system-riscv"
packages="$packages qemu-desktop qemu-system-arm qemu-system-riscv"
elif [ "$1" == "virtualbox" ]; then
packages="$packages virtualbox"
else
@ -456,9 +456,12 @@ ubuntu()
if [ "$1" == "qemu" ]; then
if [ -z "$(which qemu-system-x86_64)" ]; then
echo "Installing QEMU..."
if apt-cache show qemu-system-riscv > /dev/null 2>&1
then riscv="qemu-system-riscv" # ubuntu 26 / debian 13
else riscv="qemu-system-riscv64" # ubuntu 24 / debian 12
fi
sudo $install_command qemu-system-x86 qemu-kvm \
qemu-system-arm qemu-efi-aarch64 \
qemu-system-riscv
qemu-system-arm qemu-efi-aarch64 $riscv
else
echo "QEMU already installed!"
fi
@ -1144,12 +1147,12 @@ else
# SUSE and derivatives
elif hash 2>/dev/null zypper; then
suse "$emulator"
# Debian or any derivative of it
elif hash 2>/dev/null apt-get; then
ubuntu "$emulator" "$noninteractive" "$defpackman"
# Fedora
elif hash 2>/dev/null dnf; then
fedora "$emulator" "$noninteractive"
# Debian or any derivative of it
elif hash 2>/dev/null apt-get; then
ubuntu "$emulator" "$noninteractive" "$defpackman"
# Gentoo
elif hash 2>/dev/null emerge; then
gentoo "$emulator"
@ -1168,7 +1171,7 @@ else
fi
fi
cargoInstall just 1.42.4
cargoInstall just 1.50.0
cargoInstall cbindgen 0.29.0
if [ "$dependenciesonly" = false ]; then

View File

@ -6,11 +6,11 @@ echo "Installing rust..."
curl "https://sh.rustup.rs" -sSf | sh -s -- -y --default-toolchain stable --profile minimal
echo "Downloading sccache..."
SCCACHE_URL="https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-$(uname -m)-unknown-linux-musl.tar.gz"
SCCACHE_URL="https://github.com/mozilla/sccache/releases/download/v0.15.0/sccache-v0.15.0-$(uname -m)-unknown-linux-musl.tar.gz"
wget -qO- --show-progress "${SCCACHE_URL}" | tar -xz -C ~/.cargo/bin --strip-components=1 --wildcards '*/sccache'
echo "Downloading just..."
JUST_URL="https://github.com/casey/just/releases/download/1.45.0/just-1.45.0-$(uname -m)-unknown-linux-musl.tar.gz"
JUST_URL="https://github.com/casey/just/releases/download/1.50.0/just-1.50.0-$(uname -m)-unknown-linux-musl.tar.gz"
wget -qO- --show-progress "${JUST_URL}" | tar -xz -C ~/.cargo/bin --wildcards 'just'
echo "Downloading cbindgen..."

View File

@ -180,7 +180,7 @@ archLinux()
echo "Detected Arch Linux"
packages="git make curl fuse3 fuse-overlayfs slirp4netns podman gdb"
if [ "$1" == "qemu" ]; then
packages="$packages qemu-system-x86 qemu-system-arm qemu-system-riscv"
packages="$packages qemu-desktop qemu-system-arm qemu-system-riscv"
elif [ "$1" == "virtualbox" ]; then
packages="$packages virtualbox"
else
@ -215,9 +215,12 @@ ubuntu()
if [ "$1" == "qemu" ]; then
if [ -z "$(which qemu-system-x86_64)" ]; then
echo "Installing QEMU..."
sudo "$2" install qemu-system-x86 qemu-kvm
sudo "$2" install qemu-system-arm qemu-efi-aarch64
sudo "$2" install qemu-system-riscv
if apt-cache show qemu-system-riscv > /dev/null 2>&1
then riscv="qemu-system-riscv" # ubuntu 26 / debian 13
else riscv="qemu-system-riscv64" # ubuntu 24 / debian 12
fi
sudo $install_command qemu-system-x86 qemu-kvm \
qemu-system-arm qemu-efi-aarch64 $riscv
else
echo "QEMU already installed!"
fi
@ -632,12 +635,12 @@ else
# SUSE and derivatives
if hash 2>/dev/null zypper; then
suse "$emulator"
# Debian or any derivative of it
elif hash 2>/dev/null apt-get; then
ubuntu "$emulator" "$defpackman"
# Fedora
elif hash 2>/dev/null dnf; then
fedora "$emulator"
# Debian or any derivative of it
elif hash 2>/dev/null apt-get; then
ubuntu "$emulator" "$defpackman"
# Gentoo
elif hash 2>/dev/null emerge; then
gentoo "$emulator"

View File

@ -14,7 +14,7 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
AR="${AR}" \
CC="${CC}" \
RANLIB="${RANLIB}" \
PREFIX="${COOKBOOK_STAGE}" \
PREFIX="${COOKBOOK_STAGE}/usr" \
install
# However, distros distribute libbz2 as well so we'll support it too
@ -27,12 +27,12 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
AR="${AR}" \
CC="${CC}" \
RANLIB="${RANLIB}" \
PREFIX="${COOKBOOK_STAGE}"
PREFIX="${COOKBOOK_STAGE}/usr"
cp -av libbz2.so* "${COOKBOOK_STAGE}/lib"
ln -sr "${COOKBOOK_STAGE}/lib/libbz2.so.1.0" "${COOKBOOK_STAGE}/lib/libbz2.so.1"
ln -sr "${COOKBOOK_STAGE}/lib/libbz2.so.1.0" "${COOKBOOK_STAGE}/lib/libbz2.so"
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"
mkdir -p "${COOKBOOK_STAGE}/lib/pkgconfig"
cp "${COOKBOOK_RECIPE}/pkgconfig" "${COOKBOOK_STAGE}/lib/pkgconfig/bzip2.pc"
mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig"
cp "${COOKBOOK_RECIPE}/pkgconfig" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/bzip2.pc"
"""

View File

@ -0,0 +1,9 @@
[source]
tar = "https://libzip.org/download/libzip-1.11.4.tar.gz"
blake3 = "844cf66c68f2dcf182f6626d5b72d55b75a100c0a93b3e6a45b447669ecf7088"
patches = ["redox.patch"]
[build]
template = "cmake"
dependencies = [
"zlib",
]

View File

@ -0,0 +1,11 @@
diff -ruwN source/lib/zip_name_locate.c source-new/lib/zip_name_locate.c
--- source/lib/zip_name_locate.c 2025-05-23 20:55:07.000000000 +0700
+++ source-new/lib/zip_name_locate.c 2026-05-02 07:04:59.532882922 +0700
@@ -31,6 +31,7 @@
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include "config.h"
#include <string.h>
#ifdef HAVE_STRINGS_H

View File

@ -1,15 +0,0 @@
diff -ruwN source/programs/platform.h source-new/programs/platform.h
--- source/programs/platform.h 2025-02-19 07:04:24.000000000 +0700
+++ source-new/programs/platform.h 2025-07-21 22:52:07.716447723 +0700
@@ -109,6 +109,11 @@
#endif /* PLATFORM_POSIX_VERSION */
+#if defined(__redox__)
+/* TODO: AT_FDCWD && utimensat must be defined to conform _POSIX_VERSION */
+# define PLATFORM_POSIX_VERSION 1
+#endif
+
#if PLATFORM_POSIX_VERSION > 1
/* glibc < 2.26 may not expose struct timespec def without this.
* See issue #1920. */

View File

@ -1,17 +1,14 @@
[source]
tar = "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz"
blake3 = "730dca31244abd219e995f03a55d95b2cfb4b3e16cda055a79fa6f30a4f0e1db"
patches = [
"01_redox.patch"
]
[build]
template = "custom"
script = """
DYNAMIC_STATIC_INIT
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
# TODO: fPIC is the default on linux but not on redox and
# required by llvm21 as zstd statically linked there
export CPPFLAGS="$CPPFLAGS -fPIC"
${COOKBOOK_MAKE}
${COOKBOOK_MAKE} install DESTDIR="${COOKBOOK_STAGE}" prefix="/usr"
COOKBOOK_SOURCE="$COOKBOOK_SOURCE/build/cmake"
cookbook_cmake
"""

View File

@ -1,20 +1,19 @@
[source]
git = "https://gitlab.redox-os.org/redox-os/dash.git"
branch = "redox"
script = """
./autogen.sh
"""
[build]
template = "custom"
script = """
DYNAMIC_INIT
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
./autogen.sh
./configure \
${COOKBOOK_CONFIGURE} \
--host="${TARGET}" \
--prefix="" \
--enable-static \
--prefix="/usr" \
cross_compiling=yes
# See https://stackoverflow.com/questions/4247068/sed-command-with-i-option-failing-on-mac-but-works-on-linux.
sed -i'' -e 's|#define HAVE_GETRLIMIT 1|/* #undef HAVE_GETRLIMIT */|g' config.h
sed -i -e 's|#define HAVE_GETRLIMIT 1|/* #undef HAVE_GETRLIMIT */|g' config.h
# Skip configure
COOKBOOK_CONFIGURE="true"
COOKBOOK_CONFIGURE_FLAGS=()

View File

@ -13,7 +13,7 @@ template = "custom"
script = """
DYNAMIC_INIT
# 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 --bin coreutils
CARGO_PROFILE_RELEASE_LTO=thin cookbook_cargo --no-default-features --features feat_os_unix_redox,kill,nice --bin coreutils
BINS=(
'['
@ -59,6 +59,7 @@ BINS=(
more
mv
nl
nice
nproc
numfmt
od

View File

@ -48,6 +48,66 @@ index fd1f30303..c508f6b9b 100644
#[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
--- a/src/uucore/src/lib/mods/locale.rs

View File

@ -2,16 +2,27 @@ name=COSMIC Text Editor
binary=/bin/cosmic-edit
icon=/ui/icons/apps/accessories-text-editor.png
accept=*.asm
accept=*.c
accept=*.conf
accept=*.cpp
accept=*.css
accept=*.h
accept=*.html
accept=*.ion
accept=*.java
accept=*.js
accept=*.json
accept=*.list
accept=*.log
accept=*.lua
accept=*.md
accept=*.pl
accept=*.py
accept=*.rc
accept=*.rs
accept=*.sh
accept=*.toml
accept=*.txt
accept=*.xml
author=Jeremy Soller
description=COSMIC Text Editor

View File

@ -1,7 +1,5 @@
[source]
git = "https://github.com/pop-os/cosmic-edit.git"
rev = "epoch-1.0.8"
patches = [ "redox.patch" ]
[build]
template = "custom"
@ -12,6 +10,11 @@ dependencies = [
script = """
DYNAMIC_INIT
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
if [ "${COOKBOOK_DYNAMIC}" != "1" ]
then
# Statically linked i586 and riscv64gc need libiconv manually linked
export RUSTFLAGS="${RUSTFLAGS} -liconv"
fi
cookbook_cargo --no-default-features
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"

View File

@ -1,7 +1,5 @@
[source]
git = "https://github.com/pop-os/cosmic-files.git"
rev = "epoch-1.0.8"
patches = [ "redox.patch" ]
[build]
template = "custom"
@ -12,6 +10,11 @@ dependencies = [
script = """
DYNAMIC_INIT
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
if [ "${COOKBOOK_DYNAMIC}" != "1" ]
then
# Statically linked i586 and riscv64gc need libiconv manually linked
export RUSTFLAGS="${RUSTFLAGS} -liconv"
fi
cookbook_cargo --no-default-features
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps/"

View File

@ -0,0 +1,28 @@
[source]
git = "https://github.com/pop-os/cosmic-monitor.git"
[build]
template = "custom"
dependencies = [
"gettext",
"libxkbcommon",
]
script = """
DYNAMIC_INIT
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
if [ "${COOKBOOK_DYNAMIC}" != "1" ]
then
# Statically linked i586 and riscv64gc need libiconv manually linked
export RUSTFLAGS="${RUSTFLAGS} -liconv"
fi
cookbook_cargo --no-default-features
#TODO: install with just?
APPID="com.system76.CosmicMonitor"
mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/"
cp -v "${COOKBOOK_SOURCE}/res/${APPID}.desktop" "${COOKBOOK_STAGE}/usr/share/applications/"
mkdir -pv "${COOKBOOK_STAGE}/usr/share/metainfo/"
cp -v "${COOKBOOK_SOURCE}/res/${APPID}.metainfo.xml" "${COOKBOOK_STAGE}/usr/share/metainfo/"
mkdir -pv "${COOKBOOK_STAGE}/usr/share/icons/"
cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icons/"
"""

View File

@ -2,5 +2,7 @@ name=COSMIC Reader
binary=/bin/cosmic-reader
icon=/ui/icons/apps/accessories-text-editor.png
accept=*.pdf
accept=*.epub
accept=*.cbz
author=Jeremy Soller
description=COSMIC Reader

View File

@ -1,6 +1,5 @@
[source]
git = "https://github.com/pop-os/cosmic-reader.git"
rev = "epoch-1.0.8"
[build]
template = "custom"
@ -14,6 +13,8 @@ dependencies = [
script = """
DYNAMIC_INIT
export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET} -I${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/include"
# Define endianness for mupdf
export CFLAGS="${CFLAGS} -D__LITTLE_ENDIAN__"
"${COOKBOOK_CARGO}" rustc \
--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
--release \

View File

@ -1,6 +1,5 @@
[source]
git = "https://github.com/pop-os/cosmic-store.git"
rev = "epoch-1.0.8"
[build]
template = "custom"

View File

@ -1,7 +1,5 @@
[source]
git = "https://github.com/pop-os/cosmic-term.git"
rev = "epoch-1.0.8"
patches = [ "redox.patch" ]
[build]
template = "custom"
@ -12,6 +10,11 @@ dependencies = [
script = """
DYNAMIC_INIT
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
if [ "${COOKBOOK_DYNAMIC}" != "1" ]
then
# Statically linked i586 and riscv64gc need libiconv manually linked
export RUSTFLAGS="${RUSTFLAGS} -liconv"
fi
cookbook_cargo --no-default-features
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"

View File

@ -0,0 +1,18 @@
[source]
git = "https://github.com/sajattack/terminfo"
branch = "master"
[build]
template = "custom"
script = """
# only copy common TERM envar
mkdir -p ${COOKBOOK_STAGE}/usr/share/terminfo/{a,d,l,s,t,v,x}
cp -r ${COOKBOOK_SOURCE}/tabset ${COOKBOOK_STAGE}/usr/share/
cp ${COOKBOOK_SOURCE}/terminfo/a/ansi{,-*} ${COOKBOOK_STAGE}/usr/share/terminfo/a/
cp ${COOKBOOK_SOURCE}/terminfo/d/dumb{,-*} ${COOKBOOK_STAGE}/usr/share/terminfo/d/
cp ${COOKBOOK_SOURCE}/terminfo/l/linux{,-*} ${COOKBOOK_STAGE}/usr/share/terminfo/l/
cp ${COOKBOOK_SOURCE}/terminfo/s/screen{,-*} ${COOKBOOK_STAGE}/usr/share/terminfo/s/
cp ${COOKBOOK_SOURCE}/terminfo/t/tmux{,-*} ${COOKBOOK_STAGE}/usr/share/terminfo/t/
cp ${COOKBOOK_SOURCE}/terminfo/v/vt100{,-*} ${COOKBOOK_STAGE}/usr/share/terminfo/v/
cp ${COOKBOOK_SOURCE}/terminfo/x/xterm{,-*} ${COOKBOOK_STAGE}/usr/share/terminfo/x/
"""

View File

@ -13,13 +13,12 @@ dependencies = [
]
template = "custom"
script = """
"${CXX}" \
$("${PKG_CONFIG}" --cflags cairo) \
DYNAMIC_INIT
${CXX} ${CPPFLAGS} ${LDFLAGS} \
"${COOKBOOK_RECIPE}/cairo-demo.c" \
-o cairo-demo \
-static \
$("${PKG_CONFIG}" --libs cairo) \
-lorbital
mkdir -pv "${COOKBOOK_STAGE}/bin"
cp -v "cairo-demo" "${COOKBOOK_STAGE}/bin/cairo-demo"
-lorbital $("${PKG_CONFIG}" --libs cairo)
mkdir -pv "${COOKBOOK_STAGE}/usr/bin"
cp -v "cairo-demo" "${COOKBOOK_STAGE}/usr/bin/cairo-demo"
"""

View File

@ -5,24 +5,12 @@ upstream = "https://github.com/rust-windowing/glutin.git"
[build]
template = "custom"
cargopath = "glutin_examples"
dependencies = [
"mesa",
"zlib"
]
script = """
DYNAMIC_INIT
EXAMPLES=(
window
)
for example in "${EXAMPLES[@]}"
do
cargo rustc \
--target "$TARGET" \
--release \
--manifest-path "${COOKBOOK_SOURCE}/glutin_examples/Cargo.toml" \
--example "${example}" \
-- -C link-args="$LDFLAGS $("${TARGET}-pkg-config" --libs osmesa) -lz -lstdc++ -lc -lgcc"
mkdir -pv "${COOKBOOK_STAGE}/bin"
cp -v "target/${TARGET}/release/examples/${example}" "${COOKBOOK_STAGE}/bin/glutin_${example}"
done
CARGOPATH="glutin_examples" cookbook_cargo_examples window
"""

View File

@ -6,8 +6,9 @@ template = "custom"
script = """
cookbook_cargo
mkdir -pv "${COOKBOOK_STAGE}/apps/pixelcannon"
cp -Rv "${COOKBOOK_SOURCE}/assets" "${COOKBOOK_STAGE}/apps/pixelcannon"
mkdir -pv "${COOKBOOK_STAGE}/usr/games/pixelcannon"
cp -Rv "${COOKBOOK_SOURCE}/assets" "${COOKBOOK_STAGE}/usr/games/pixelcannon"
mv "${COOKBOOK_STAGE}/usr/bin/pixelcannon" "${COOKBOOK_STAGE}/usr/games/pixelcannon"
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
cp -v "${COOKBOOK_SOURCE}/manifest" "${COOKBOOK_STAGE}/usr/share/ui/apps/pixelcannon"

View File

@ -5,5 +5,7 @@ branch = "winit-0.29"
[build]
template = "custom"
script = """
DYNAMIC_INIT
COOKBOOK_CARGO_FLAGS=() # remove --locked
cookbook_cargo_examples cursor_grab drag_window window window_debug
"""

View File

@ -1,10 +1,10 @@
[source]
tar = "https://github.com/Kitware/CMake/releases/download/v4.0.3/cmake-4.0.3.tar.gz"
tar = "https://github.com/Kitware/CMake/releases/download/v4.3.2/cmake-4.3.2.tar.gz"
blake3 = "cbd0121189df1502f61e8f12f044b4a901b1ea16c74c016b85714e4661b8537f"
[build]
template = "custom"
template = "cmake"
dependencies = [
"bzip2",
# "cppdap",
"curl",
"expat",
@ -14,30 +14,17 @@ dependencies = [
# "liblzma",
# "librhash",
"libuv",
"nghttp2",
"openssl3",
"zlib",
"zstd",
]
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
set -x
mv -vT "${COOKBOOK_STAGE}"/usr/bin "${COOKBOOK_STAGE}/bin"
mv -vT "${COOKBOOK_STAGE}"/usr/share "${COOKBOOK_STAGE}/share"
rm -rf "${COOKBOOK_STAGE}"/usr/doc
rmdir -v "${COOKBOOK_STAGE}"/usr
set +x
"""
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",
]

View File

@ -1,14 +1,13 @@
[source]
git = "https://github.com/Byron/gitoxide.git"
rev = "v0.54.0"
shallow_clone = true
patches = [
"redox.patch"
]
[build]
dependencies = [
"openssl3",
]
template = "custom"
script = """
export OPENSSL_DIR="${COOKBOOK_SYSROOT}"
export OPENSSL_STATIC="true"
cookbook_cargo
"""
template = "cargo"

View File

@ -0,0 +1,16 @@
diff --git a/Cargo.toml b/Cargo.toml
index 23147e56..520fbed3 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -206,11 +206,9 @@ zlib-rs = { opt-level = 3 }
[profile.release]
overflow-checks = false
-lto = "thin"
# This bloats files but assures destructors are called, important for tempfiles. One day I hope we
# can wire up the 'abrt' signal handler so tempfiles will be removed in case of panics.
panic = "unwind"
-incremental = false
# This profile is currently used in building releases for GitHub.
# It may be removed at any time and should not otherwise be relied on.

View File

@ -13,5 +13,5 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
RANLIB="${RANLIB}" \
SYSLDFLAGS="$LDFLAGS"
"${COOKBOOK_MAKE}" install INSTALL_TOP="${COOKBOOK_STAGE}"
"${COOKBOOK_MAKE}" install INSTALL_TOP="${COOKBOOK_STAGE}/usr"
"""

View File

@ -16,7 +16,7 @@ case "${OS}" in
esac
${COOKBOOK_MAKE} -j ${COOKBOOK_MAKE_JOBS} install \
PREFIX="${COOKBOOK_STAGE}" \
PREFIX="${COOKBOOK_STAGE}/usr" \
TARGET_SYS="${SYS}" \
CROSS="${GNU_TARGET}-"
"""

View File

@ -1,14 +1,16 @@
[source]
git = "https://github.com/luarocks/luarocks.git"
shallow_clone = true
[build]
template = "custom"
dependencies = [
"lua54"
]
script = """
DYNAMIC_INIT
COOKBOOK_CONFIGURE_FLAGS=(
--sysconfdir=$COOKBOOK_SYSROOT
--prefix=/usr
--sysconfdir=/etc
--with-lua-include=$COOKBOOK_SYSROOT/include
--with-lua-bin=$COOKBOOK_SYSROOT/bin
--with-lua-lib=$COOKBOOK_SYSROOT/lib

View File

@ -12,17 +12,4 @@ autoreconf
"""
[build]
template = "custom"
script = """
COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/configure"
COOKBOOK_CONFIGURE_FLAGS=(
--host="${TARGET}"
--prefix="/"
--build="$(gcc -dumpmachine)"
)
cookbook_configure
${TARGET}-strip "${COOKBOOK_STAGE}/bin/"*
rm -rf "${COOKBOOK_STAGE}/share" "${COOKBOOK_STAGE}/lib"
"""
template = "configure"

View File

@ -0,0 +1,36 @@
[llvm]
download-ci-llvm = false
static-libstdcpp = false
link-shared = true
[build]
host = ["TARGET"]
target = ["TARGET", "COOKBOOK_TARGET"]
cargo-native-static = true
submodules = false
docs = false
tools = ["cargo", "clippy", "rustdoc", "rustfmt", "src"]
extended = true
verbose = 1
[install]
prefix = "install"
sysconfdir = "etc"
[rust]
backtrace = false
codegen-tests = false
[target.COOKBOOK_TARGET]
cc = "COOKBOOK_GNU_TARGET-gcc"
cxx = "COOKBOOK_GNU_TARGET-g++"
ar = "COOKBOOK_GNU_TARGET-ar"
linker = "COOKBOOK_GNU_TARGET-gcc"
crt-static = false
llvm-config = "COOKBOOK_SYSROOT/bin/llvm-config"
[target.aarch64-unknown-linux-gnu]
llvm-config = "COOKBOOK_TOOLCHAIN/bin/llvm-config"
[target.x86_64-unknown-linux-gnu]
llvm-config = "COOKBOOK_TOOLCHAIN/bin/llvm-config"

View File

@ -1,6 +1,6 @@
[source]
git = "https://gitlab.redox-os.org/redox-os/rust.git"
branch = "redox-2025-10-03"
branch = "redox-2026-05-24"
shallow_clone = true
[build]
@ -20,9 +20,12 @@ dev-dependencies = [
script = """
if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ]; then
cat ${COOKBOOK_RECIPE}/config-bootstrap.toml > config.toml
sed -i "s|TARGET|${TARGET}|g" config.toml
OS=$(echo "${TARGET}" | cut -d - -f3)
cat ${COOKBOOK_RECIPE}/config-cross-$OS.toml > config.toml
sed -i "s|COOKBOOK_TOOLCHAIN|${COOKBOOK_TOOLCHAIN}|g" config.toml
sed -i "s|COOKBOOK_TARGET|${COOKBOOK_CROSS_TARGET}|g" config.toml
sed -i "s|COOKBOOK_GNU_TARGET|${COOKBOOK_CROSS_GNU_TARGET}|g" config.toml
sed -i "s|TARGET|${TARGET}|g" config.toml
else

View File

@ -16,15 +16,15 @@ template = "custom"
script = """
DYNAMIC_INIT
export BUILDTIME_RUSTPYTHONPATH=/lib/rustpython
export BUILDTIME_RUSTPYTHONPATH=/usr/lib/rustpython
export OPENSSL_DIR="${COOKBOOK_SYSROOT}"
export ZLIB_STATIC=1
cookbook_cargo --features ssl
mkdir -p "${COOKBOOK_STAGE}/lib"
mkdir -p "${COOKBOOK_STAGE}/usr/lib"
rsync -aE \
--exclude 'test/' \
--exclude '__pycache__/' \
--exclude '*.pyc' \
--exclude '/README.md' \
"${COOKBOOK_SOURCE}"/Lib/ "${COOKBOOK_STAGE}/lib/rustpython"
"${COOKBOOK_SOURCE}"/Lib/ "${COOKBOOK_STAGE}/usr/lib/rustpython"
"""

View File

@ -1,59 +1,32 @@
[source]
git = "https://github.com/jackpot51/flycast.git"
git = "https://github.com/flyinghead/flycast.git"
rev = "v2.6"
patches = ["redox.patch"]
shallow_clone = true
[build]
template = "custom"
dependencies = [
"curl",
"libiconv",
"liborbital",
"mesa",
"nghttp2",
"openssl3",
"libzip",
"sdl2",
]
dev-dependencies = [
"zlib",
"zstd",
]
script = """
DYNAMIC_INIT
export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/usr/include/SDL2"
export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_C99_MATH_TR1=1 -I${COOKBOOK_SYSROOT}/usr/include/SDL2"
#TODO: don't use this
export SDL_LIBS="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa) -lstdc++"
#TODO: don't add curl
export SDL_LIBS="${SDL_LIBS} -lcurl -lnghttp2 -lssl -lcrypto"
COOKBOOK_CONFIGURE="cmake"
COOKBOOK_CONFIGURE_FLAGS=(
-DCMAKE_VERBOSE_MAKEFILE=On
-DCMAKE_CROSSCOMPILING=True
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_INSTALL_PREFIX="/usr"
-DCMAKE_SYSTEM_NAME=Generic
-DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)"
export CPPFLAGS+=" -D_GNU_SOURCE=1"
COOKBOOK_CMAKE_FLAGS+=(
-DREDOX=1
-DUNIX=1
-DUSE_HOST_LIBZIP=OFF
-DUSE_OPENMP=OFF
-DUSE_VULKAN=OFF
-DZLIB_LIBRARY="-lz"
# Hacks for cmake errors
-DHAVE___INT8_LIBZIP=False
-DHAVE___INT16_LIBZIP=False
-DHAVE___INT32_LIBZIP=False
-DHAVE___INT64_LIBZIP=False
-DHAVE_FICLONERANGE=False
-DHAVE_NULLABLE=False
# Hack for Threads
-DCMAKE_THREAD_LIBS_INIT="-lc"
-DCMAKE_HAVE_THREADS_LIBRARY=1
-DCMAKE_USE_WIN32_THREADS_INIT=0
-DCMAKE_USE_PTHREADS_INIT=1
-DTHREADS_PREFER_PTHREAD_FLAG=ON
"${COOKBOOK_SOURCE}"
-DUSE_HOST_SDL=ON
-DNOWIDE_INSTALL=ON
-DWITH_SYSTEM_ZLIB=ON
-DWITH_SYSTEM_ZSTD=ON
)
cookbook_configure
# appstream generation broken
rm -rf "${COOKBOOK_STAGE}/usr/share/metainfo"
cookbook_cmake
"""

View File

@ -0,0 +1,150 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8340288..589d4b4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -466,7 +466,7 @@ if(NOT LIBRETRO)
endif()
if(NOT ANDROID AND NOT IOS)
- if (NOT NINTENDO_SWITCH)
+ if (NOT NINTENDO_SWITCH AND NOT REDOX)
# DreamLink enabled for non-mobile Linux, MacOS, and Windows
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_DREAMLINK_DEVICES=1)
set(USE_DREAMLINK_DEVICES ON) # Must be set before adding core/sdl
@@ -493,7 +493,7 @@ if(NOT LIBRETRO)
endif()
if(USE_HOST_SDL)
- find_package(SDL2 2.0.9)
+ find_package(SDL2 REQUIRED)
endif()
if(NOT SDL2_FOUND)
set(SDL_TEST_ENABLED_BY_DEFAULT OFF)
@@ -691,11 +691,11 @@ target_sources(${PROJECT_NAME} PRIVATE
core/deps/chdpsr/cdipsr.cpp
core/deps/chdpsr/cdipsr.h)
-add_subdirectory(core/deps/nowide EXCLUDE_FROM_ALL)
+add_subdirectory(core/deps/nowide)
target_link_libraries(${PROJECT_NAME} PRIVATE nowide::nowide)
if(NOT MINIUPNP_FOUND)
- if(NINTENDO_SWITCH)
+ if(NINTENDO_SWITCH OR REDOX)
target_compile_definitions(${PROJECT_NAME} PRIVATE FEAT_NO_MINIUPNPC)
else()
option(UPNPC_BUILD_SHARED "Build shared library" OFF)
Submodule core/deps/asio contains modified content
diff --git a/core/deps/asio/asio/include/asio/detail/config.hpp b/core/deps/asio/asio/include/asio/detail/config.hpp
index 61ee752..4b140b9 100644
--- a/core/deps/asio/asio/include/asio/detail/config.hpp
+++ b/core/deps/asio/asio/include/asio/detail/config.hpp
@@ -828,6 +828,7 @@
|| defined(__NetBSD__) \
|| defined(__OpenBSD__) \
|| defined(__linux__) \
+ || defined(__redox__) \
|| defined(__HAIKU__)
# define ASIO_HAS_UNISTD_H 1
# endif
@@ -1093,7 +1094,6 @@
# endif // defined(ASIO_HAS_BOOST_CONFIG) && defined(BOOST_HAS_THREADS)
# endif // !defined(ASIO_DISABLE_THREADS)
#endif // !defined(ASIO_HAS_THREADS)
-
// POSIX threads.
#if !defined(ASIO_HAS_PTHREADS)
# if defined(ASIO_HAS_THREADS)
diff --git a/core/hw/sh4/modules/serial.cpp b/core/hw/sh4/modules/serial.cpp
index aca43a0..11991e9 100644
--- a/core/hw/sh4/modules/serial.cpp
+++ b/core/hw/sh4/modules/serial.cpp
@@ -475,7 +475,7 @@ struct PTYPipe : public SerialPort::Pipe
void init()
{
-#if defined(__unix__) || defined(__APPLE__)
+#if (defined(__unix__) || defined(__APPLE__)) && !defined(__redox__)
if (config::SerialConsole && config::SerialPTY && tty == 1)
{
tty = open("/dev/ptmx", O_RDWR | O_NDELAY | O_NOCTTY | O_NONBLOCK);
diff --git a/core/linux/context.cpp b/core/linux/context.cpp
index 7ab2d8e..8a2bb2c 100644
--- a/core/linux/context.cpp
+++ b/core/linux/context.cpp
@@ -8,11 +8,11 @@
#define __USE_GNU 1
#endif
- #if !defined(__OpenBSD__)
+ #if !defined(__OpenBSD__) && !defined(__redox__)
#include <ucontext.h>
#endif
- #if defined(__OpenBSD__)
+ #if defined(__OpenBSD__) || defined(__redox__)
#include <signal.h>
#endif
@@ -112,6 +112,11 @@ static void context_segfault(host_context_t* hostctx, void* segfault_ctx)
bicopy<ToSegfault>(hostctx->rsp, MCTX(.__gregs[_REG_RSP]));
bicopy<ToSegfault>(hostctx->r9, MCTX(.__gregs[_REG_R9]));
bicopy<ToSegfault>(hostctx->rdi, MCTX(.__gregs[_REG_RDI]));
+ #elif defined(__redox__)
+ bicopy<ToSegfault>(hostctx->pc, MCTX(.rip));
+ bicopy<ToSegfault>(hostctx->rsp, MCTX(.rsp));
+ bicopy<ToSegfault>(hostctx->r9, MCTX(.r9));
+ bicopy<ToSegfault>(hostctx->rdi, MCTX(.rdi));
#elif defined(__unix__)
bicopy<ToSegfault>(hostctx->pc, MCTX(.gregs[REG_RIP]));
bicopy<ToSegfault>(hostctx->rsp, MCTX(.gregs[REG_RSP]));
diff --git a/core/network/dns.cpp b/core/network/dns.cpp
index 4d45c4a..96752ef 100644
--- a/core/network/dns.cpp
+++ b/core/network/dns.cpp
@@ -153,7 +153,7 @@ pico_ip4 parseDnsResponsePacket(const void *buf, size_t len)
return { ~0u };
}
-#if !defined(_WIN32) && !defined(__SWITCH__)
+#if !defined(_WIN32) && !defined(__SWITCH__) && !defined(__redox__)
#include <ifaddrs.h>
#include <net/if.h>
#endif
@@ -200,7 +200,7 @@ bool is_local_address(u32 addr)
}
closesocket(sd);
-#elif defined(__SWITCH__)
+#elif defined(__SWITCH__) || defined(__redox__)
// TODO
#else // !_WIN32 && !__SWITCH__
diff --git a/core/network/net_platform.h b/core/network/net_platform.h
index 8b5ea48..1a20e0b 100644
--- a/core/network/net_platform.h
+++ b/core/network/net_platform.h
@@ -91,7 +91,7 @@ static inline void set_tcp_nodelay(sock_t fd)
#if defined(_WIN32)
struct protoent *tcp_proto = getprotobyname("TCP");
setsockopt(fd, tcp_proto->p_proto, TCP_NODELAY, (const char *)&optval, optlen);
-#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
+#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__redox__)
setsockopt(fd, SOL_TCP, TCP_NODELAY, (const void *)&optval, optlen);
#else
struct protoent *tcp_proto = getprotobyname("TCP");
diff --git a/core/rend/TexCache.cpp b/core/rend/TexCache.cpp
index 35b41b7..2782d5e 100644
--- a/core/rend/TexCache.cpp
+++ b/core/rend/TexCache.cpp
@@ -670,7 +670,10 @@ bool BaseTextureCacheData::Update()
mipmapped = false;
}
//lock the texture to detect changes in it
+// TODO: No SIGSEGV handler on redox
+#if !defined(__redox__)
protectVRam();
+#endif
UploadToGPU(upscaled_w, upscaled_h, (const u8 *)temp_tex_buffer, IsMipmapped(), mipmapped);
if (config::DumpTextures)

View File

@ -1,5 +1,8 @@
[source]
git = "https://github.com/jackpot51/retroarch.git"
script = """
./fetch-submodules.sh
"""
[build]
template = "custom"
@ -12,10 +15,6 @@ dependencies = [
"zlib",
]
script = """
pushd "${COOKBOOK_SOURCE}"
./fetch-submodules.sh
popd
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
# For now, we will statically link with the snes9x libretro

View File

@ -3,7 +3,7 @@ tar = "https://github.com/diasurgical/devilutionX/archive/refs/tags/1.5.4.tar.gz
blake3 = "d4a61ff3a7c69d86a29158918aad48ab9c4866c6a22a3e8da5feadbb7d23b3ca"
[build]
template = "custom"
template = "cmake"
dependencies = [
"bzip2",
"libiconv",
@ -11,27 +11,10 @@ dependencies = [
"sdl1",
"zlib",
]
script = """
DYNAMIC_INIT
COOKBOOK_CONFIGURE="cmake"
COOKBOOK_CONFIGURE_FLAGS=(
-DBUILD_TESTING=OFF
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CROSSCOMPILING=ON
-DCMAKE_CXX_COMPILER="${TARGET}-g++"
-DCMAKE_C_COMPILER="${TARGET}-gcc"
-DCMAKE_INSTALL_PREFIX="/"
-DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}"
-DCMAKE_VERBOSE_MAKEFILE=ON
-DDEVILUTIONX_SYSTEM_BZIP2=ON
-DDEVILUTIONX_SYSTEM_ZLIB=ON
-DNONET=ON
-DSDL_LIBRARY="-lSDL -lorbital"
-DUSE_SDL1=ON
"${COOKBOOK_SOURCE}"
)
cookbook_configure
mkdir -v "${COOKBOOK_STAGE}/bin"
cp -v devilutionx "${COOKBOOK_STAGE}/bin"
"""
cmakeflags = [
"-DDEVILUTIONX_SYSTEM_BZIP2=ON",
"-DDEVILUTIONX_SYSTEM_ZLIB=ON",
"-DNONET=ON",
"-DSDL_LIBRARY=-lSDL -lorbital",
"-DUSE_SDL1=ON",
]

View File

@ -4,12 +4,12 @@ git = "https://gitlab.redox-os.org/redox-os/freedoom.git"
[build]
template = "custom"
script = """
mkdir -pv "${COOKBOOK_STAGE}/usr/games" "${COOKBOOK_STAGE}/share/games/doom" "${COOKBOOK_STAGE}/usr/share/ui/apps" "${COOKBOOK_STAGE}/usr/share/icons/apps"
mkdir -pv "${COOKBOOK_STAGE}/usr/games" "${COOKBOOK_STAGE}/usr/share/games/doom" "${COOKBOOK_STAGE}/usr/share/ui/apps" "${COOKBOOK_STAGE}/usr/share/icons/apps"
for file in "${COOKBOOK_SOURCE}/"*.wad
do
game="$(basename "$file" .wad)"
wad="/share/games/doom/$game.wad"
wad="/usr/share/games/doom/$game.wad"
cp -v "$file" "${COOKBOOK_STAGE}$wad"
bin="/usr/games/$game"
@ -20,7 +20,7 @@ do
echo "name=$game" | sed 's/freedoom/FreeDOOM: Phase /' | sed 's/doom1/DOOM (Shareware)/' > "${COOKBOOK_STAGE}/usr/share/ui/apps/$game"
echo "category=Games" >> "${COOKBOOK_STAGE}/usr/share/ui/apps/$game"
echo "binary=/usr/games/$game" >> "${COOKBOOK_STAGE}/usr/share/ui/apps/$game"
echo "icon=/ui/icons/apps/$game.png" >> "${COOKBOOK_STAGE}/usr/share/ui/apps/$game"
echo "icon=/usr/share/ui/icons/apps/$game.png" >> "${COOKBOOK_STAGE}/usr/share/ui/apps/$game"
cp -v "${COOKBOOK_SOURCE}/$game.png" "${COOKBOOK_STAGE}/usr/share/icons/apps/$game.png"
done

View File

@ -14,36 +14,8 @@ dependencies = [
]
script = """
DYNAMIC_INIT
export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2"
export CXXFLAGS="${CXXFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2"
cat > redox.cmake <<EOF
# the name of the target operating system
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR "${TARGET%%-*}")
# which compilers to use for C and C++
set(CMAKE_C_COMPILER "${TARGET}-gcc")
set(CMAKE_CXX_COMPILER "${TARGET}-g++")
# where is the target environment located
set(CMAKE_FIND_ROOT_PATH "${COOKBOOK_SYSROOT}")
# adjust the default behavior of the FIND_XXX() commands:
# search programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# search headers, libraries, and packages in the target environment
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
EOF
COOKBOOK_CONFIGURE="cmake"
COOKBOOK_CONFIGURE_FLAGS=(
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX="/"
-DCMAKE_TOOLCHAIN_FILE=redox.cmake
-DCMAKE_VERBOSE_MAKEFILE=On
export CPPFLAGS="${CPPFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL2"
COOKBOOK_CMAKE_FLAGS+=(
-DJPEG_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
-DJPEG_LIBRARY="-ljpeg"
-DPNG_PNG_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
@ -51,10 +23,8 @@ COOKBOOK_CONFIGURE_FLAGS=(
-DSDL2_LIBRARIES="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa)"
-DZLIB_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
-DZLIB_LIBRARY="-lz"
"${COOKBOOK_SOURCE}"
)
"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}"
"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" openjk_sp.x86_64
mkdir -pv "${COOKBOOK_STAGE}/home/user/JediAcademy"
cp -v openjk_sp.x86_64 "${COOKBOOK_STAGE}/home/user/JediAcademy"
cookbook_cmake
mkdir -pv "${COOKBOOK_STAGE}/usr/games/JediAcademy"
cp -v openjk_sp.x86_64 "${COOKBOOK_STAGE}/usr/games/JediAcademy"
"""

View File

@ -4,6 +4,6 @@ git = "https://gitlab.redox-os.org/redox-os/openttd-opengfx.git"
[build]
template = "custom"
script = """
mkdir -pv "${COOKBOOK_STAGE}/share/games/openttd/baseset/opengfx"
cp -Rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/share/games/openttd/baseset/opengfx"
"""
mkdir -pv "${COOKBOOK_STAGE}/usr/share/games/openttd/baseset/opengfx"
cp -Rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/usr/share/games/openttd/baseset/opengfx"
"""

View File

@ -1,3 +1,4 @@
# XXX: Do not distribute https://github.com/sm64pc/sm64ex/issues/89
[source]
git = "https://github.com/jackpot51/sm64ex.git"

View File

@ -1,31 +1,30 @@
[source]
tar = "https://github.com/fragglet/sdl-sopwith/releases/download/sdl-sopwith-1.8.4/sopwith-1.8.4.tar.gz"
blake3 = "44e1404a9c4bea257d7778d2a4b1512231603a74b0a7b18eac5d18f36730ed3e"
tar = "https://github.com/fragglet/sdl-sopwith/releases/download/sdl-sopwith-2.9.0/sdl-sopwith-2.9.0.tar.gz"
blake3 = "f06a6d0c826b42989c58074f85ed8e19fbfd5fe53a357ba356bc1109bcf91ef3"
script = """
DYNAMIC_INIT
autotools_recursive_regenerate
"""
[build]
template = "custom"
dependencies = [
"sdl1",
"sdl2",
"liborbital",
"libiconv",
]
dev-dependencies = [
"libstdcxx"
]
script = """
export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL"
export LIBS="-lSDL -lorbital" # TODO: Uses sdl-config instead of pkg-config
DYNAMIC_INIT
# For some reason, cook_configure breaks spectacularly on this
# We will just copy instead
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
wget -O autotools/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false"
./configure \\
--build="$(gcc -dumpmachine)" \\
--host="${TARGET}" \\
--prefix="" \\
COOKBOOK_CONFIGURE="./configure"
COOKBOOK_CONFIGURE_FLAGS+=(
--with-sdl-prefix="${COOKBOOK_SYSROOT}"
make -j"$(nproc)"
make DESTDIR="${COOKBOOK_STAGE}" install
"""
)
cookbook_configure
"""

View File

@ -1,7 +1,8 @@
# XXX: Do not distribute https://github.com/k4zmu2a/SpaceCadetPinball/issues/1
[source]
git = "https://gitlab.redox-os.org/xTibor/SpaceCadetPinball.git"
upstream = "https://github.com/k4zmu2a/SpaceCadetPinball.git"
branch = "redox"
git = "https://github.com/k4zmu2a/SpaceCadetPinball.git"
rev = "f760f34e5eb49c69d584921c0f3e251a59c62078"
patches = [ "redox.patch" ]
[build]
template = "custom"
@ -16,11 +17,5 @@ dependencies = [
]
script = """
DYNAMIC_INIT
COOKBOOK_CONFIGURE_FLAGS=(
-DSDL2_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include/SDL2"
-DSDL2_LIBRARY="-lSDL2_mixer -lvorbisfile -lvorbis -logg -lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa)"
-DSDL2_MIXER_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include/SDL2"
-DSDL2_MIXER_LIBRARY="SDL2_mixer"
)
cookbook_cmake
"""

View File

@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3578112..3fe166d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -205,7 +205,7 @@ target_link_libraries(SpaceCadetPinball ${SDL2_LIBRARY})
# Workaround: CMake treats these SDL2_mixer link flags as build targets for some
# reason I was not able to figure out why. I moved these mixer link flags to
# the SDL2 linker flags as a workaround.
-#target_link_libraries(SpaceCadetPinball ${SDL2_MIXER_LIBRARY})
+target_link_libraries(SpaceCadetPinball ${SDL2_MIXER_LIBRARY})
# On Windows, copy DLL to output
if(WIN32)

View File

@ -1,6 +1,5 @@
#!/usr/bin/env ion
export RUST_BACKTRACE=full
cd /home/user/acid
cargo test
bash /root/relibc-tests/run.sh
os-test-runner
acid-runner
relibc-tests-runner
os-test-runner

View File

@ -0,0 +1,8 @@
[package]
dependencies = [
"autoconf",
"automake",
"libtool",
"gettext",
"gnu-make",
]

View File

@ -7,6 +7,7 @@ dependencies = [
"cosmic-icons",
"cosmic-term",
"dejavu",
"file",
"freefont",
"hicolor-icon-theme",
"installer-gui",

View File

@ -1,16 +1,20 @@
[package]
dependencies = [
"autoconf",
"automake",
"autotools",
#"bison", #TODO: fix compilation error
"cmake",
#"debugedit", #TODO: compile and test
"gcc13",
"gcc13.cxx",
"gnu-binutils",
"gnu-make",
"gnu-grep",
"groff",
"gawk",
"file",
"perl5",
"python312",
"ripgrep",
"lua54",
"m4",
"nasm",
"patch",
"pkg-config",

View File

@ -1,6 +1,7 @@
[package]
dependencies = [
"caja",
"dconf",
"marco",
"mate-control-center",
"mate-icon-theme",
@ -8,4 +9,5 @@ dependencies = [
"mate-session-manager",
"mate-settings-daemon",
"mate-terminal",
"mate-themes",
]

View File

@ -0,0 +1,12 @@
[package]
dependencies = [
"thunar",
"tumbler",
"xfconf",
"xfdesktop",
"xfce4-appfinder",
"xfce4-session",
"xfce4-panel",
"xfce4-settings",
"xfwm4",
]

View File

@ -0,0 +1,12 @@
[package]
dependencies = [
"mousepad",
"parole",
"ristretto",
"xfdashboard",
"xfce4-screenshooter",
"xfce4-notifyd",
"xfce4-power-manager",
"xfce4-terminal",
"xfce4-common",
]

View File

@ -6,5 +6,5 @@ shallow_clone = true
template = "custom"
script = """
cd "${COOKBOOK_SOURCE}"
just rootdir="${COOKBOOK_STAGE}" prefix="" install
just rootdir="${COOKBOOK_STAGE}" prefix="/usr" install
"""

View File

@ -3,16 +3,11 @@ git = "https://github.com/pop-os/icon-theme.git"
shallow_clone = true
[build]
template = "custom"
script = """
meson setup -Dprefix=/ . "${COOKBOOK_SOURCE}"
env DESTDIR="${COOKBOOK_STAGE}" meson install
"""
template = "meson"
[[optional-packages]]
name = "cursors"
files = [
"share/icons/Pop/cursors**",
"share/icons/Pop/cursor.theme",
"usr/share/icons/Pop/cursors**",
"usr/share/icons/Pop/cursor.theme",
]

View File

@ -5,30 +5,24 @@ patches = ["redox.patch"]
[build]
dependencies = [
"expat",
"freetype2",
"fontconfig",
"gettext",
"fontconfig",
"freetype2",
"glib",
"libffi",
"libiconv",
"libpng",
"libpthread-stubs",
"libpng",
"libx11",
"libxau",
"libxcb",
"libxext",
"pcre2",
"pixman",
"x11proto",
"zlib",
"libxrender",
"pixman",
]
dev-dependencies = [
# xext and xrender is required by pkg-config, don't move them here
]
template = "custom"
script = """
DYNAMIC_INIT
#TODO: fix mutex implementation
#TODO: why are math defines missing?
CFLAGS="${CFLAGS} -DCAIRO_NO_MUTEX=1 -DM_SQRT2=1.41421356237309504880 -DM_LN2=0.69314718055994530942"
CFLAGS="${CFLAGS} -DM_SQRT2=1.41421356237309504880 -DM_LN2=0.69314718055994530942"
cookbook_meson \
-Dxlib-xcb=enabled \
-Dtests=disabled

View File

@ -11,12 +11,17 @@ dependencies = [
"gettext",
"libffi",
"libiconv",
"libinotify-stub",
"pcre2",
"zlib",
]
script = """
DYNAMIC_INIT
export CFLAGS="$CFLAGS -I$COOKBOOK_SYSROOT/include/inotify"
export LDFLAGS="$LDFLAGS -linotify"
cookbook_meson \
-Ddefault_library=shared \
-Dxattr=false
-Dxattr=false \
-Dtests=false \
-Dfile_monitor_backend=inotify
"""

View File

@ -1,9 +1,6 @@
[source]
tar = "https://libarchive.org/downloads/libarchive-3.6.2.tar.xz"
blake3 = "f98695fe81235a74fa3fc2c3ba0f0d4f13ea15f9be3850b83e304cf5d78be710"
patches = [
"redox.patch"
]
tar = "https://libarchive.org/downloads/libarchive-3.8.7.tar.xz"
blake3 = "6b7f744132368a53ecf98a4586af09c255f81cebf37687edd857528a1bfd3bd3"
[build]
template = "configure"

View File

@ -1,13 +0,0 @@
diff -ruwN source/configure source-new/configure
--- source/configure 2022-12-09 20:38:47.000000000 +0700
+++ source-new/configure 2025-09-14 17:17:50.138530195 +0700
@@ -19039,7 +19039,8 @@
ac_fn_c_check_func "$LINENO" "fstatat" "ac_cv_func_fstatat"
if test "x$ac_cv_func_fstatat" = xyes
then :
- printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h
+# When fstatat works, remove this patch
+# printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h
fi
ac_fn_c_check_func "$LINENO" "fstatfs" "ac_cv_func_fstatfs"

View File

@ -11,4 +11,11 @@ mesonflags = [
"-Dnouveau=disabled",
"-Dradeon=disabled",
"-Dvmwgfx=disabled",
]
"-Dinstall-test-programs=true",
]
[[optional-packages]]
name = "tests"
files = [
"usr/bin/*",
]

View File

@ -66,6 +66,45 @@ diff -ruwN source-old/xf86drm.c source/xf86drm.c
switch (tile_version) {
case AMD_FMT_MOD_TILE_VER_GFX9:
@@ -3657,7 +3657,7 @@ static int drmParseSubsystemType(int maj, int min)
return DRM_BUS_VIRTIO;
}
return subsystem_type;
-#elif defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD__)
+#elif defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD__) || defined(__redox__)
return DRM_BUS_PCI;
#else
#warning "Missing implementation of drmParseSubsystemType"
@@ -3791,6 +3791,8 @@ static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info)
return 0;
#elif defined(__FreeBSD__)
return get_sysctl_pci_bus_info(maj, min, info);
+#elif defined(__redox__)
+ return 0; // FIXME maybe parse DRM_IOCTL_GET_UNIQUE?
#else
#warning "Missing implementation of drmParsePciBusInfo"
return -EINVAL;
@@ -4000,6 +4002,8 @@ static int drmParsePciDeviceInfo(int maj, int min,
device->revision_id = results[0].pc_revid;
return 0;
+#elif defined(__redox__)
+ return 0; // FIXME get this info somehow?
#else
#warning "Missing implementation of drmParsePciDeviceInfo"
return -EINVAL;
@@ -4511,8 +4515,11 @@ process_device(drmDevicePtr *device, const char *d_name,
maj = major(sbuf.st_rdev);
min = minor(sbuf.st_rdev);
+ // Doesn't work on Redox as /dev/dri/cardN is a symlink
+#ifndef __redox__
if (!drmNodeIsDRM(maj, min) || !S_ISCHR(sbuf.st_mode))
return -1;
+#endif
subsystem_type = drmParseSubsystemType(maj, min);
if (req_subsystem_type != -1 && req_subsystem_type != subsystem_type)
diff -ruwN source-old/xf86drm.h source/xf86drm.h
--- source-old/xf86drm.h 2025-06-08 06:27:53.000000000 -0600
+++ source/xf86drm.h 2025-10-30 17:17:33.655115281 -0600

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