mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-17 15:34:18 +08:00
Compare commits
267 Commits
2487f9b859
...
8514dfd927
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8514dfd927 | ||
|
|
9c25e638cd | ||
|
|
632d4248f9 | ||
|
|
f0d4f6b198 | ||
|
|
e37801362f | ||
|
|
d6886407ac | ||
|
|
726940949f | ||
|
|
d228c75756 | ||
|
|
6fce854083 | ||
|
|
dcb020823e | ||
|
|
d3c12a1f24 | ||
|
|
b5eea24cf4 | ||
|
|
e9fc007847 | ||
|
|
d842c9579d | ||
|
|
8d2330dbc9 | ||
|
|
9375488b57 | ||
|
|
ccb9e4e580 | ||
|
|
471e5e3583 | ||
|
|
f16ed6be66 | ||
|
|
20a0fa88a6 | ||
|
|
ede550f56e | ||
|
|
72473b7d01 | ||
|
|
22f4f0b45c | ||
|
|
9dba94a28a | ||
|
|
68cebd6781 | ||
|
|
bf3b860c92 | ||
|
|
03bff2ff78 | ||
|
|
4043ec7a30 | ||
|
|
5f74a11ed8 | ||
|
|
82e3f60565 | ||
|
|
69a34818bd | ||
|
|
e727494c37 | ||
|
|
81e153fa43 | ||
|
|
38a7406435 | ||
|
|
aba574248d | ||
|
|
6c65f91d9c | ||
|
|
0fd6b596ef | ||
|
|
67dccc053a | ||
|
|
9ae3059530 | ||
|
|
a42a64e37a | ||
|
|
862b29d3d9 | ||
|
|
858a689d3f | ||
|
|
5401abff64 | ||
|
|
5676d5f763 | ||
|
|
9ed87f664a | ||
|
|
879bc820c4 | ||
|
|
64ed9dbd7d | ||
|
|
7b2e53d567 | ||
|
|
0c7353bfad | ||
|
|
841bb37725 | ||
|
|
82d250470a | ||
|
|
cceb7e4974 | ||
|
|
c040d826c1 | ||
|
|
631ce38da3 | ||
|
|
1efb396faa | ||
|
|
bf1bd0ea88 | ||
|
|
17c15616d1 | ||
|
|
3214d8bdf0 | ||
|
|
da71785aed | ||
|
|
79d8072276 | ||
|
|
7e1acfc1ce | ||
|
|
1ab4449c52 | ||
|
|
9fd5e00438 | ||
|
|
6541631e68 | ||
|
|
b01c5b5067 | ||
|
|
000eca0329 | ||
|
|
29e2c72584 | ||
|
|
5c745a821f | ||
|
|
7b9095fd21 | ||
|
|
2d0447671b | ||
|
|
df78f2f3e3 | ||
|
|
21396ea063 | ||
|
|
138574e9c5 | ||
|
|
42f9379bd8 | ||
|
|
21ff41e6d1 | ||
|
|
bdc26a481d | ||
|
|
2ced0edd35 | ||
|
|
9ec2f5d440 | ||
|
|
30fd08a340 | ||
|
|
8a28ce8da2 | ||
|
|
f28060df32 | ||
|
|
0ac93d72ac | ||
|
|
2dd0f0f1f2 | ||
|
|
d587f3e31b | ||
|
|
64064962a9 | ||
|
|
247754569c | ||
|
|
fd2d14d42b | ||
|
|
0886d88cd6 | ||
|
|
ca3cf86d80 | ||
|
|
4095eb2e53 | ||
|
|
c68f449ee6 | ||
|
|
d8d47ef157 | ||
|
|
5f15060d2f | ||
|
|
c9a8f417f9 | ||
|
|
deab2c71f5 | ||
|
|
fde6f77b2a | ||
|
|
480bf7c955 | ||
|
|
038ba28147 | ||
|
|
25c5c7f4c8 | ||
|
|
9b0681d1bc | ||
|
|
73034a4b98 | ||
|
|
900c5deef1 | ||
|
|
114833df68 | ||
|
|
2cef3c833a | ||
|
|
0ea9983bf9 | ||
|
|
68f5686159 | ||
|
|
075a9cef1b | ||
|
|
343c4f72b4 | ||
|
|
96e4de173a | ||
|
|
d8966fecb7 | ||
|
|
621f5062cb | ||
|
|
75018ecda5 | ||
|
|
1d0710d320 | ||
|
|
e0e52bf937 | ||
|
|
f59188c696 | ||
|
|
7db2e0db52 | ||
|
|
a66bc4459a | ||
|
|
fb6af700e9 | ||
|
|
fea1c984b4 | ||
|
|
c2dbec1dcf | ||
|
|
010861f71b | ||
|
|
93ad71411a | ||
|
|
5fc3bed36c | ||
|
|
f4d5bb9cbb | ||
|
|
b89464bba8 | ||
|
|
12145c1106 | ||
|
|
0acb0392b9 | ||
|
|
97a5a02808 | ||
|
|
70916091a0 | ||
|
|
ea576a2589 | ||
|
|
35288e173d | ||
|
|
b356334d14 | ||
|
|
676f32572d | ||
|
|
73cf9a5fdf | ||
|
|
58f7c4df55 | ||
|
|
66d336baff | ||
|
|
0e2ad35d67 | ||
|
|
ca7e4737da | ||
|
|
8985edf56a | ||
|
|
8f5f71bc4f | ||
|
|
bfdc2f7668 | ||
|
|
81398f4763 | ||
|
|
0012506f26 | ||
|
|
34ff7b8348 | ||
|
|
fd112d8640 | ||
|
|
9abdbd085e | ||
|
|
12d2be1e8f | ||
|
|
e703945410 | ||
|
|
f66a2ab28a | ||
|
|
7c43688ea2 | ||
|
|
0801c2cc82 | ||
|
|
0ce39682c5 | ||
|
|
9b2bf136b2 | ||
|
|
69dc41a1d8 | ||
|
|
260f98467e | ||
|
|
65f68c0645 | ||
|
|
9a9fa2ec7b | ||
|
|
771df295c5 | ||
|
|
4d30dceba0 | ||
|
|
dff2cb45e0 | ||
|
|
384405a080 | ||
|
|
2dd34be76f | ||
|
|
c45841ef6f | ||
|
|
15a610024d | ||
|
|
d66aaf4602 | ||
|
|
25d8916ed4 | ||
|
|
a5ae4342cf | ||
|
|
6f3bb65eb8 | ||
|
|
192dc5a2dc | ||
|
|
21356e4be6 | ||
|
|
a77eb39d50 | ||
|
|
950459dcc6 | ||
|
|
c8236b5692 | ||
|
|
baec8f7bb4 | ||
|
|
60bf9b5470 | ||
|
|
6b5c35d7ff | ||
|
|
063a966eca | ||
|
|
c9500591b2 | ||
|
|
953993ac05 | ||
|
|
c09e73007a | ||
|
|
1776731607 | ||
|
|
d05691f8bf | ||
|
|
ad06910a29 | ||
|
|
7ba21717c7 | ||
|
|
8d6ae193e7 | ||
|
|
16c8c87d4f | ||
|
|
4e88d4be1c | ||
|
|
65d19d6501 | ||
|
|
be0a51b0de | ||
|
|
a7a7a606c3 | ||
|
|
4b9be41ed8 | ||
|
|
a25e53bd60 | ||
|
|
153082f04b | ||
|
|
1bba2b69bd | ||
|
|
0fbe0fee42 | ||
|
|
cd93f8c398 | ||
|
|
f15fcfa940 | ||
|
|
5c42d00dc2 | ||
|
|
04cc7c0f15 | ||
|
|
b9dd2ee36d | ||
|
|
193c1cffcc | ||
|
|
f8c83ed80d | ||
|
|
eed7320cb3 | ||
|
|
e5587552c7 | ||
|
|
15bf773769 | ||
|
|
364743ae86 | ||
|
|
0a2a487439 | ||
|
|
6862a7b98d | ||
|
|
c3ccda5e99 | ||
|
|
16103df825 | ||
|
|
d2262fa1d1 | ||
|
|
642a6444fe | ||
|
|
e36c3d98eb | ||
|
|
0564884467 | ||
|
|
6e840ef0ad | ||
|
|
3977f37d22 | ||
|
|
e96734e910 | ||
|
|
7f8859812f | ||
|
|
5dca55d74b | ||
|
|
1ea6f027c3 | ||
|
|
2a499c179a | ||
|
|
0ab4ceed34 | ||
|
|
7fcfc50b89 | ||
|
|
ff38cd9bdc | ||
|
|
36f34251b3 | ||
|
|
6963cebcfc | ||
|
|
65c57b3fba | ||
|
|
a5dbf2ba24 | ||
|
|
82af8d02ac | ||
|
|
fe6d75db06 | ||
|
|
bfa75fcaa5 | ||
|
|
c2daab5320 | ||
|
|
661aac7b74 | ||
|
|
ea56858454 | ||
|
|
2dbd894b0e | ||
|
|
4c8154eff3 | ||
|
|
a8892769fe | ||
|
|
42ca0acfa4 | ||
|
|
ae7ac629c6 | ||
|
|
79eeee91af | ||
|
|
bd60e8fab6 | ||
|
|
f5695c4687 | ||
|
|
039dbcef4a | ||
|
|
3c4b8f9dbe | ||
|
|
36396971f7 | ||
|
|
e92839d2dd | ||
|
|
1edc7badde | ||
|
|
daf639a762 | ||
|
|
e43f2f3744 | ||
|
|
adeb668e3f | ||
|
|
829b4f68f4 | ||
|
|
dfcbb5bebe | ||
|
|
ba681c1942 | ||
|
|
6bfad9803e | ||
|
|
9a609143cb | ||
|
|
c6ecf0f79d | ||
|
|
e9d0c6fdfb | ||
|
|
b9b6fcf07f | ||
|
|
c3dfcce1e7 | ||
|
|
d51479dc07 | ||
|
|
9d18b5b371 | ||
|
|
82c5a2ea94 | ||
|
|
1e5d6a1fae | ||
|
|
1f5b0b012b | ||
|
|
8dce55105d | ||
|
|
cba10533b3 | ||
|
|
3e3c26203b |
1
.gitignore
vendored
1
.gitignore
vendored
@ -14,6 +14,7 @@
|
|||||||
/repo
|
/repo
|
||||||
/web
|
/web
|
||||||
/cookbook.toml
|
/cookbook.toml
|
||||||
|
/cookbook.lock
|
||||||
source
|
source
|
||||||
source.tmp
|
source.tmp
|
||||||
source-new
|
source-new
|
||||||
|
|||||||
@ -25,8 +25,18 @@ cargo-test:
|
|||||||
script:
|
script:
|
||||||
- cargo test --locked
|
- 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:
|
img:
|
||||||
image: "redoxos/redox-base"
|
image: "redoxos/redox-base-x86_64"
|
||||||
stage: test
|
stage: test
|
||||||
script:
|
script:
|
||||||
- |
|
- |
|
||||||
|
|||||||
42
Cargo.lock
generated
42
Cargo.lock
generated
@ -857,7 +857,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "redox-pkg"
|
name = "redox-pkg"
|
||||||
version = "0.3.1"
|
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 = [
|
dependencies = [
|
||||||
"hex",
|
"hex",
|
||||||
"serde",
|
"serde",
|
||||||
@ -885,6 +885,7 @@ dependencies = [
|
|||||||
"redoxer",
|
"redoxer",
|
||||||
"regex",
|
"regex",
|
||||||
"serde",
|
"serde",
|
||||||
|
"serde_json",
|
||||||
"strip-ansi-escapes",
|
"strip-ansi-escapes",
|
||||||
"termion",
|
"termion",
|
||||||
"toml",
|
"toml",
|
||||||
@ -917,7 +918,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "redoxer"
|
name = "redoxer"
|
||||||
version = "0.2.63"
|
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 = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"dirs",
|
"dirs",
|
||||||
@ -1018,24 +1019,47 @@ checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.197"
|
version = "1.0.228"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
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 = [
|
dependencies = [
|
||||||
"serde_derive",
|
"serde_derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_derive"
|
name = "serde_derive"
|
||||||
version = "1.0.197"
|
version = "1.0.228"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
|
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn",
|
"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]]
|
[[package]]
|
||||||
name = "serde_spanned"
|
name = "serde_spanned"
|
||||||
version = "0.6.9"
|
version = "0.6.9"
|
||||||
@ -1458,3 +1482,9 @@ dependencies = [
|
|||||||
"quote",
|
"quote",
|
||||||
"syn",
|
"syn",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "zmij"
|
||||||
|
version = "1.0.21"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
|
||||||
|
|||||||
@ -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 }
|
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 }
|
redoxer = { git = "https://gitlab.redox-os.org/redox-os/redoxer.git", default-features = false }
|
||||||
regex = "1.11"
|
regex = "1.11"
|
||||||
serde = { version = "=1.0.197", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
termion = "4"
|
termion = "4"
|
||||||
toml = "0.8"
|
toml = "0.8"
|
||||||
walkdir = "2.3.1"
|
walkdir = "2.3.1"
|
||||||
ansi-to-tui = { version = "8", optional = true }
|
ansi-to-tui = { version = "8", optional = true }
|
||||||
strip-ansi-escapes = { version = "0.2.1", optional = true }
|
strip-ansi-escapes = { version = "0.2.1", optional = true }
|
||||||
|
serde_json = "1"
|
||||||
|
|
||||||
[dependencies.ratatui]
|
[dependencies.ratatui]
|
||||||
version = "0.30"
|
version = "0.30"
|
||||||
|
|||||||
34
HARDWARE.md
34
HARDWARE.md
@ -5,7 +5,6 @@ This document tracks the current hardware compatibility of Redox OS.
|
|||||||
- [Why are hardware reports needed?](#why-are-hardware-reports-needed)
|
- [Why are hardware reports needed?](#why-are-hardware-reports-needed)
|
||||||
- [What if my computer is customized?](#what-if-my-computer-is-customized)
|
- [What if my computer is customized?](#what-if-my-computer-is-customized)
|
||||||
- [Status](#status)
|
- [Status](#status)
|
||||||
- [General](#general)
|
|
||||||
- [Contribute to this document](#contribute-to-this-document)
|
- [Contribute to this document](#contribute-to-this-document)
|
||||||
- [Template](#template)
|
- [Template](#template)
|
||||||
- [Table row ordering](#table-row-ordering)
|
- [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
|
## Status
|
||||||
|
|
||||||
- **Recommended:** The operating system boots with video, sound, PS/2 or USB input, Ethernet, terminal and Orbital working.
|
The following limitations apply to any status.
|
||||||
- **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.
|
|
||||||
|
|
||||||
## General
|
- ACPI support is incomplete (some things are hardcoded in the kernel to work)
|
||||||
|
|
||||||
This section contain limitations that apply to any status.
|
|
||||||
|
|
||||||
- ACPI support is incomplete (some things are hardcoded on the kernel to work)
|
|
||||||
- Wi-Fi and Bluetooth aren't supported yet
|
- 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)
|
- 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)
|
- 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)
|
- 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
|
## 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.
|
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 |
|
| 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 | 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 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 | 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
|
| 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 | 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 | 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) |
|
| 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 |
|
| 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 |
|
| 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** |
|
| **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 |
|
| 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 |
|
| 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 |
|
| 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 | Compaq nc6120 | 0.9.0 | 2024-11-08 | desktop, server | i686 | BIOS | Unloads into memory at a rate slower than 1MB/s after selecting resolution. When unloading is complete the logger initializes and crashes after kernel::acpi, some information about APIC is printed. Boot logs do not progress after this point. |
|
||||||
| HP | EliteBook 2570p | 0.8.0 | 2022-11-23 | demo | x86-64 | BIOS (CSM mode?) | Gets to resolution selection, Fails assert in `src/os/bios/mod.rs:77` after selecting resolution |
|
| HP | 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 | 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 | 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. |
|
| 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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
||||||
|
|
||||||
|
|||||||
17
Makefile
17
Makefile
@ -133,3 +133,20 @@ FORCE:
|
|||||||
# Wireshark
|
# Wireshark
|
||||||
wireshark: FORCE
|
wireshark: FORCE
|
||||||
wireshark $(BUILD)/network.pcap
|
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
|
||||||
|
|||||||
@ -25,7 +25,6 @@ prompt = false
|
|||||||
acid = {}
|
acid = {}
|
||||||
acid-bins = {}
|
acid-bins = {}
|
||||||
base = {}
|
base = {}
|
||||||
base-initfs = {}
|
|
||||||
bash = {}
|
bash = {}
|
||||||
bash-completion = {}
|
bash-completion = {}
|
||||||
bootloader = {}
|
bootloader = {}
|
||||||
@ -44,9 +43,11 @@ dejavu = {}
|
|||||||
diffutils = {}
|
diffutils = {}
|
||||||
expat = {}
|
expat = {}
|
||||||
extrautils = {}
|
extrautils = {}
|
||||||
|
file = {}
|
||||||
findutils = {}
|
findutils = {}
|
||||||
freefont = {}
|
freefont = {}
|
||||||
freetype2 = {}
|
freetype2 = {}
|
||||||
|
gawk = {}
|
||||||
gcc13 = {}
|
gcc13 = {}
|
||||||
gettext = {}
|
gettext = {}
|
||||||
git = {}
|
git = {}
|
||||||
@ -101,6 +102,7 @@ smith = {}
|
|||||||
terminfo = {}
|
terminfo = {}
|
||||||
userutils = {}
|
userutils = {}
|
||||||
uutils = {}
|
uutils = {}
|
||||||
|
uutils-procps = {}
|
||||||
vim = {}
|
vim = {}
|
||||||
xz = {}
|
xz = {}
|
||||||
zlib = {}
|
zlib = {}
|
||||||
@ -130,13 +132,11 @@ zstd = {}
|
|||||||
# #dynamic-example = {}
|
# #dynamic-example = {}
|
||||||
# #fal
|
# #fal
|
||||||
# #fd = {} # ctrlc-3.1.1
|
# #fd = {} # ctrlc-3.1.1
|
||||||
# #file = {}
|
|
||||||
# #flycast = {}
|
# #flycast = {}
|
||||||
# #freeciv = {}
|
# #freeciv = {}
|
||||||
# #freeglut = {}
|
# #freeglut = {}
|
||||||
# #friar = {} # mio patch
|
# #friar = {} # mio patch
|
||||||
# #game-2048 = {} # rustc-serialize
|
# #game-2048 = {} # rustc-serialize
|
||||||
# #gawk = {} # langinfo.h
|
|
||||||
# #gigalomania = {} # old recipe format
|
# #gigalomania = {} # old recipe format
|
||||||
# #gitoxide = {}
|
# #gitoxide = {}
|
||||||
# #goaccess = {}
|
# #goaccess = {}
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
# Configuration for Jeremy Soller
|
# Configuration for Jeremy Soller
|
||||||
|
|
||||||
include = ["desktop.toml"]
|
include = ["demo.toml"]
|
||||||
|
|||||||
@ -10,7 +10,6 @@ prompt = false
|
|||||||
|
|
||||||
[packages]
|
[packages]
|
||||||
base = {}
|
base = {}
|
||||||
base-initfs = {}
|
|
||||||
bootloader = {}
|
bootloader = {}
|
||||||
kernel = {}
|
kernel = {}
|
||||||
libgcc = {}
|
libgcc = {}
|
||||||
@ -59,6 +58,7 @@ schemes = [
|
|||||||
"display.vesa",
|
"display.vesa",
|
||||||
"display*",
|
"display*",
|
||||||
# Other schemes
|
# Other schemes
|
||||||
|
"proc",
|
||||||
"pty",
|
"pty",
|
||||||
"sudo",
|
"sudo",
|
||||||
"audio",
|
"audio",
|
||||||
@ -109,7 +109,7 @@ HOME_URL="https://redox-os.org/"
|
|||||||
DOCUMENTATION_URL="https://redox-os.org/docs/"
|
DOCUMENTATION_URL="https://redox-os.org/docs/"
|
||||||
SUPPORT_URL="https://redox-os.org/community/"
|
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]]
|
[[files]]
|
||||||
path = "/etc/os-release"
|
path = "/etc/os-release"
|
||||||
@ -177,18 +177,17 @@ path = "/share"
|
|||||||
data = "usr/share"
|
data = "usr/share"
|
||||||
symlink = true
|
symlink = true
|
||||||
|
|
||||||
|
## legacy orbital directories
|
||||||
[[files]]
|
[[files]]
|
||||||
path = "/ui"
|
path = "/ui"
|
||||||
data = "usr/share/ui"
|
data = "usr/share/ui"
|
||||||
symlink = true
|
symlink = true
|
||||||
|
|
||||||
## legacy orbital font directory
|
|
||||||
[[files]]
|
[[files]]
|
||||||
path = "/usr/share/ui/fonts"
|
path = "/usr/share/ui/fonts"
|
||||||
data = "/usr/share/fonts"
|
data = "/usr/share/fonts"
|
||||||
symlink = true
|
symlink = true
|
||||||
|
|
||||||
## legacy orbital icon directory
|
|
||||||
[[files]]
|
[[files]]
|
||||||
path = "/usr/share/ui/icons"
|
path = "/usr/share/ui/icons"
|
||||||
data = "/usr/share/icons"
|
data = "/usr/share/icons"
|
||||||
@ -237,47 +236,6 @@ data = ""
|
|||||||
directory = true
|
directory = true
|
||||||
mode = 0o1777
|
mode = 0o1777
|
||||||
|
|
||||||
## Device file symlinks
|
|
||||||
[[files]]
|
|
||||||
path = "/dev/null"
|
|
||||||
data = "/scheme/null"
|
|
||||||
symlink = true
|
|
||||||
|
|
||||||
[[files]]
|
|
||||||
path = "/dev/random"
|
|
||||||
data = "/scheme/rand"
|
|
||||||
symlink = true
|
|
||||||
|
|
||||||
[[files]]
|
|
||||||
path = "/dev/urandom"
|
|
||||||
data = "/scheme/rand"
|
|
||||||
symlink = true
|
|
||||||
|
|
||||||
[[files]]
|
|
||||||
path = "/dev/zero"
|
|
||||||
data = "/scheme/zero"
|
|
||||||
symlink = true
|
|
||||||
|
|
||||||
[[files]]
|
|
||||||
path = "/dev/tty"
|
|
||||||
data = "libc:tty"
|
|
||||||
symlink = true
|
|
||||||
|
|
||||||
[[files]]
|
|
||||||
path = "/dev/stdin"
|
|
||||||
data = "libc:stdin"
|
|
||||||
symlink = true
|
|
||||||
|
|
||||||
[[files]]
|
|
||||||
path = "/dev/stdout"
|
|
||||||
data = "libc:stdout"
|
|
||||||
symlink = true
|
|
||||||
|
|
||||||
[[files]]
|
|
||||||
path = "/dev/stderr"
|
|
||||||
data = "libc:stderr"
|
|
||||||
symlink = true
|
|
||||||
|
|
||||||
# User settings
|
# User settings
|
||||||
[users.root]
|
[users.root]
|
||||||
password = "password"
|
password = "password"
|
||||||
|
|||||||
@ -14,6 +14,7 @@ cosmic-files = {}
|
|||||||
cosmic-icons = {}
|
cosmic-icons = {}
|
||||||
cosmic-term = {}
|
cosmic-term = {}
|
||||||
dejavu = {}
|
dejavu = {}
|
||||||
|
file = {}
|
||||||
freefont = {}
|
freefont = {}
|
||||||
hicolor-icon-theme = {}
|
hicolor-icon-theme = {}
|
||||||
installer-gui = {}
|
installer-gui = {}
|
||||||
|
|||||||
@ -25,7 +25,6 @@ prompt = false
|
|||||||
# acid = {} # rust require dynamic linking
|
# acid = {} # rust require dynamic linking
|
||||||
acid-bins = {}
|
acid-bins = {}
|
||||||
base = {}
|
base = {}
|
||||||
base-initfs = {}
|
|
||||||
bash = {}
|
bash = {}
|
||||||
bash-completion = {}
|
bash-completion = {}
|
||||||
bootloader = {}
|
bootloader = {}
|
||||||
@ -44,6 +43,7 @@ dejavu = {}
|
|||||||
diffutils = {}
|
diffutils = {}
|
||||||
expat = {}
|
expat = {}
|
||||||
extrautils = {}
|
extrautils = {}
|
||||||
|
file = {}
|
||||||
findutils = {}
|
findutils = {}
|
||||||
freefont = {}
|
freefont = {}
|
||||||
freetype2 = {}
|
freetype2 = {}
|
||||||
@ -95,6 +95,7 @@ smith = {}
|
|||||||
terminfo = {}
|
terminfo = {}
|
||||||
userutils = {}
|
userutils = {}
|
||||||
uutils = {}
|
uutils = {}
|
||||||
|
uutils-procps = {}
|
||||||
xz = {}
|
xz = {}
|
||||||
#vim = {} # conflicting types
|
#vim = {} # conflicting types
|
||||||
zlib = {}
|
zlib = {}
|
||||||
@ -124,7 +125,6 @@ zlib = {}
|
|||||||
# #dynamic-example = {}
|
# #dynamic-example = {}
|
||||||
# #fal
|
# #fal
|
||||||
# #fd = {} # ctrlc-3.1.1
|
# #fd = {} # ctrlc-3.1.1
|
||||||
# #file = {}
|
|
||||||
# #flycast = {}
|
# #flycast = {}
|
||||||
# #freeciv = {}
|
# #freeciv = {}
|
||||||
# #freeglut = {}
|
# #freeglut = {}
|
||||||
|
|||||||
@ -15,6 +15,7 @@ extrautils = {}
|
|||||||
ion = {}
|
ion = {}
|
||||||
pkgutils = {}
|
pkgutils = {}
|
||||||
kibi = {}
|
kibi = {}
|
||||||
|
uutils-procps = {}
|
||||||
|
|
||||||
[[files]]
|
[[files]]
|
||||||
path = "/usr/lib/init.d/30_console"
|
path = "/usr/lib/init.d/30_console"
|
||||||
|
|||||||
@ -25,7 +25,6 @@ prompt = false
|
|||||||
# acid = {} # rust require dynamic linking
|
# acid = {} # rust require dynamic linking
|
||||||
acid-bins = {}
|
acid-bins = {}
|
||||||
base = {}
|
base = {}
|
||||||
base-initfs = {}
|
|
||||||
bash = {}
|
bash = {}
|
||||||
bash-completion = {}
|
bash-completion = {}
|
||||||
bootloader = {}
|
bootloader = {}
|
||||||
@ -44,6 +43,7 @@ dejavu = {}
|
|||||||
diffutils = {}
|
diffutils = {}
|
||||||
expat = {}
|
expat = {}
|
||||||
extrautils = {}
|
extrautils = {}
|
||||||
|
file = {}
|
||||||
findutils = {}
|
findutils = {}
|
||||||
freefont = {}
|
freefont = {}
|
||||||
freetype2 = {}
|
freetype2 = {}
|
||||||
@ -95,6 +95,7 @@ smith = {}
|
|||||||
terminfo = {}
|
terminfo = {}
|
||||||
userutils = {}
|
userutils = {}
|
||||||
uutils = {}
|
uutils = {}
|
||||||
|
uutils-procps = {}
|
||||||
xz = {}
|
xz = {}
|
||||||
#vim = {} # error compiling ncurses
|
#vim = {} # error compiling ncurses
|
||||||
zlib = {}
|
zlib = {}
|
||||||
@ -124,7 +125,6 @@ zlib = {}
|
|||||||
# #dynamic-example = {}
|
# #dynamic-example = {}
|
||||||
# #fal
|
# #fal
|
||||||
# #fd = {} # ctrlc-3.1.1
|
# #fd = {} # ctrlc-3.1.1
|
||||||
# #file = {}
|
|
||||||
# #flycast = {}
|
# #flycast = {}
|
||||||
# #freeciv = {}
|
# #freeciv = {}
|
||||||
# #freeglut = {}
|
# #freeglut = {}
|
||||||
|
|||||||
@ -14,11 +14,12 @@ filesystem_size = 2048
|
|||||||
adwaita-icon-theme = {}
|
adwaita-icon-theme = {}
|
||||||
dbus = {}
|
dbus = {}
|
||||||
gtk3 = {}
|
gtk3 = {}
|
||||||
mate-common = {}
|
libxcursor = {} # loaded dynamically
|
||||||
|
#mate-common = {}
|
||||||
mesa-demos-x11 = {}
|
mesa-demos-x11 = {}
|
||||||
|
#firefox = {}
|
||||||
#webkitgtk3 = {} # not compiling
|
#webkitgtk3 = {} # not compiling
|
||||||
#xfce4-panel = {}
|
xfce4-common = {}
|
||||||
#xfwm4 = {}
|
|
||||||
x11-full = {}
|
x11-full = {}
|
||||||
zenity = {}
|
zenity = {}
|
||||||
|
|
||||||
@ -59,6 +60,28 @@ requires_weak 10_dbus 10_xenv 20_audiod.service
|
|||||||
nowait BROWSER=/bin/netsurf-fb VT=3 orbital orbital-x11
|
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]]
|
[[files]]
|
||||||
path = "/usr/bin/orbital-x11"
|
path = "/usr/bin/orbital-x11"
|
||||||
mode = 0o755
|
mode = 0o755
|
||||||
@ -70,11 +93,12 @@ set -ex
|
|||||||
# for ice authority and pixbuf
|
# for ice authority and pixbuf
|
||||||
export HOME=/home/root
|
export HOME=/home/root
|
||||||
export XDG_DATA_DIRS=/usr/share
|
export XDG_DATA_DIRS=/usr/share
|
||||||
|
export XDG_RUNTIME_DIR=/run/user/0
|
||||||
|
export XDG_CONFIG_HOME=/home/root/.config
|
||||||
|
|
||||||
# Generate config file
|
# Generate config file
|
||||||
WIDTH="$((0x$(grep FRAMEBUFFER_WIDTH /scheme/sys/env | cut -d '=' -f 2)))"
|
WIDTH="$((0x$(grep FRAMEBUFFER_WIDTH /scheme/sys/env | cut -d '=' -f 2)))"
|
||||||
HEIGHT="$((0x$(grep FRAMEBUFFER_HEIGHT /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
|
cat > /usr/share/X11/xorg.conf.d/orbital.conf <<EOF
|
||||||
Section "Device"
|
Section "Device"
|
||||||
Identifier "Configured Video Device"
|
Identifier "Configured Video Device"
|
||||||
@ -105,22 +129,43 @@ EOF
|
|||||||
export DISPLAY=":0"
|
export DISPLAY=":0"
|
||||||
X "${DISPLAY}" &
|
X "${DISPLAY}" &
|
||||||
sleep 1
|
sleep 1
|
||||||
exec dbus-launch --exit-with-x11 orbital-x11-session
|
exec dbus-launch --exit-with-x11 xfce4-x11-session
|
||||||
"""
|
"""
|
||||||
|
|
||||||
[[files]]
|
[[files]]
|
||||||
path = "/usr/bin/orbital-x11-session"
|
path = "/usr/bin/mate-x11-session"
|
||||||
mode = 0o755
|
mode = 0o755
|
||||||
data = """
|
data = """
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
gdk-pixbuf-query-loaders --update-cache
|
||||||
|
/usr/libexec/dconf-service &
|
||||||
|
|
||||||
xterm&
|
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
|
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
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -14,6 +14,7 @@ prompt = false
|
|||||||
# Meta-packages below
|
# Meta-packages below
|
||||||
|
|
||||||
auto-test = {}
|
auto-test = {}
|
||||||
|
autotools = {}
|
||||||
dev-essential = {}
|
dev-essential = {}
|
||||||
dev-redox = {}
|
dev-redox = {}
|
||||||
llvm21-common = {}
|
llvm21-common = {}
|
||||||
@ -21,15 +22,16 @@ mate-common = {}
|
|||||||
redox-tests = {}
|
redox-tests = {}
|
||||||
x11-minimal = {}
|
x11-minimal = {}
|
||||||
x11-full = {}
|
x11-full = {}
|
||||||
|
xfce4-common = {}
|
||||||
|
|
||||||
# Normal packages below
|
# Normal packages below
|
||||||
|
|
||||||
acid = {}
|
acid = {}
|
||||||
adwaita-icon-theme = {}
|
adwaita-icon-theme = {}
|
||||||
|
atk = {}
|
||||||
autoconf = {}
|
autoconf = {}
|
||||||
automake = {}
|
automake = {}
|
||||||
base = {}
|
base = {}
|
||||||
base-initfs = {}
|
|
||||||
bash = {}
|
bash = {}
|
||||||
bash-completion = {}
|
bash-completion = {}
|
||||||
binutils = {}
|
binutils = {}
|
||||||
@ -38,20 +40,26 @@ bottom = {}
|
|||||||
bzip2 = {}
|
bzip2 = {}
|
||||||
ca-certificates = {}
|
ca-certificates = {}
|
||||||
cairo = {}
|
cairo = {}
|
||||||
|
cairo-demo = {}
|
||||||
cbindgen = {}
|
cbindgen = {}
|
||||||
|
classicube = {}
|
||||||
cleye = {}
|
cleye = {}
|
||||||
|
cmake = {}
|
||||||
|
cmatrix = {}
|
||||||
composer = {}
|
composer = {}
|
||||||
contain = {}
|
contain = {}
|
||||||
coreutils = {}
|
coreutils = {}
|
||||||
cosmic-edit = {}
|
cosmic-edit = {}
|
||||||
cosmic-files = {}
|
cosmic-files = {}
|
||||||
cosmic-icons = {}
|
cosmic-icons = {}
|
||||||
|
cosmic-reader = {}
|
||||||
cosmic-term = {}
|
cosmic-term = {}
|
||||||
cosmic-text = {}
|
cosmic-text = {}
|
||||||
cpal = {}
|
cpal = {}
|
||||||
curl = {}
|
curl = {}
|
||||||
dash = {}
|
dash = {}
|
||||||
dejavu = {}
|
dejavu = {}
|
||||||
|
devilutionx = {}
|
||||||
diffutils = {}
|
diffutils = {}
|
||||||
dosbox = {}
|
dosbox = {}
|
||||||
duktape = {}
|
duktape = {}
|
||||||
@ -60,28 +68,42 @@ exampled = {}
|
|||||||
expat = {}
|
expat = {}
|
||||||
extrautils = {}
|
extrautils = {}
|
||||||
ffmpeg6 = {}
|
ffmpeg6 = {}
|
||||||
|
file = {}
|
||||||
findutils = {}
|
findutils = {}
|
||||||
|
firefox = {}
|
||||||
fish-shell = {}
|
fish-shell = {}
|
||||||
|
flycast = {}
|
||||||
fontconfig = {}
|
fontconfig = {}
|
||||||
|
freeciv = {}
|
||||||
freedoom = {}
|
freedoom = {}
|
||||||
freefont = {}
|
freefont = {}
|
||||||
freepats = {}
|
freepats = {}
|
||||||
freetype2 = {}
|
freetype2 = {}
|
||||||
fribidi = {}
|
fribidi = {}
|
||||||
|
gawk = {}
|
||||||
gcc13 = {}
|
gcc13 = {}
|
||||||
gdbserver = {}
|
gdbserver = {}
|
||||||
gdk-pixbuf = {}
|
gdk-pixbuf = {}
|
||||||
gears = {}
|
gears = {}
|
||||||
generaluser-gs = {}
|
generaluser-gs = {}
|
||||||
gettext = {}
|
gettext = {}
|
||||||
|
gigalomania = {}
|
||||||
git = {}
|
git = {}
|
||||||
glib = {}
|
glib = {}
|
||||||
glutin = {}
|
glutin = {}
|
||||||
gnu-binutils = {}
|
gnu-binutils = {}
|
||||||
gnu-grep = {}
|
gnu-grep = {}
|
||||||
gnu-make = {}
|
gnu-make = {}
|
||||||
|
goaccess = {}
|
||||||
|
gstreamer = {}
|
||||||
|
harfbuzz = {}
|
||||||
hicolor-icon-theme = {}
|
hicolor-icon-theme = {}
|
||||||
|
helix = {}
|
||||||
|
hello-redox = {}
|
||||||
|
hf = {}
|
||||||
htop = {}
|
htop = {}
|
||||||
|
jansson = {}
|
||||||
|
jq = {}
|
||||||
installer = {}
|
installer = {}
|
||||||
installer-gui = {}
|
installer-gui = {}
|
||||||
intel-one-mono = {}
|
intel-one-mono = {}
|
||||||
@ -89,22 +111,33 @@ ion = {}
|
|||||||
kernel = {}
|
kernel = {}
|
||||||
kibi = {}
|
kibi = {}
|
||||||
lci = {}
|
lci = {}
|
||||||
|
libarchive = {}
|
||||||
|
libatomic = {}
|
||||||
libavif = {}
|
libavif = {}
|
||||||
libc-bench = {}
|
libc-bench = {}
|
||||||
libedit = {}
|
libedit = {}
|
||||||
libffi = {}
|
libffi = {}
|
||||||
|
libflac = {}
|
||||||
libgcc = {}
|
libgcc = {}
|
||||||
libgmp = {}
|
libgmp = {}
|
||||||
libiconv = {}
|
libiconv = {}
|
||||||
libicu = {}
|
libicu = {}
|
||||||
libjpeg = {}
|
libjpeg = {}
|
||||||
|
libmodplug1 = {}
|
||||||
|
libmpfr = {}
|
||||||
|
libnettle = {}
|
||||||
libogg = {}
|
libogg = {}
|
||||||
libonig = {}
|
libonig = {}
|
||||||
liborbital = {}
|
liborbital = {}
|
||||||
|
libpsl = {}
|
||||||
libpng = {}
|
libpng = {}
|
||||||
libsodium = {}
|
libsodium = {}
|
||||||
|
libssh2 = {}
|
||||||
libstdcxx = {}
|
libstdcxx = {}
|
||||||
|
libtool = {}
|
||||||
libuuid = {}
|
libuuid = {}
|
||||||
|
liburcu = {}
|
||||||
|
libuv = {}
|
||||||
libvorbis = {}
|
libvorbis = {}
|
||||||
libwebp = {}
|
libwebp = {}
|
||||||
libxkbcommon = {}
|
libxkbcommon = {}
|
||||||
@ -113,14 +146,19 @@ libxml2 = {}
|
|||||||
llvm21 = {}
|
llvm21 = {}
|
||||||
lsd = {}
|
lsd = {}
|
||||||
lua54 = {}
|
lua54 = {}
|
||||||
|
lua-compat-53 = {}
|
||||||
|
luajit = {}
|
||||||
|
luarocks = {}
|
||||||
lz4 = {}
|
lz4 = {}
|
||||||
mednafen = {}
|
mednafen = {}
|
||||||
mesa = {}
|
mesa = {}
|
||||||
mesa-glu = {}
|
mesa-glu = {}
|
||||||
mesa-demos-x11 = {}
|
mesa-demos-x11 = {}
|
||||||
mgba = {}
|
mgba = {}
|
||||||
|
mpc = {}
|
||||||
nano = {}
|
nano = {}
|
||||||
nasm = {}
|
nasm = {}
|
||||||
|
ncdu = {}
|
||||||
ncurses = {}
|
ncurses = {}
|
||||||
ncursesw = {}
|
ncursesw = {}
|
||||||
neovim = {}
|
neovim = {}
|
||||||
@ -134,6 +172,7 @@ nodejs-21 = {}
|
|||||||
nushell = {}
|
nushell = {}
|
||||||
onefetch = {}
|
onefetch = {}
|
||||||
openjazz = {}
|
openjazz = {}
|
||||||
|
openjk = {}
|
||||||
openssh = {}
|
openssh = {}
|
||||||
openssl1 = {}
|
openssl1 = {}
|
||||||
openssl3 = {}
|
openssl3 = {}
|
||||||
@ -141,6 +180,7 @@ openttd = {}
|
|||||||
openttd-opengfx = {}
|
openttd-opengfx = {}
|
||||||
openttd-openmsx = {}
|
openttd-openmsx = {}
|
||||||
openttd-opensfx = {}
|
openttd-opensfx = {}
|
||||||
|
opentyrian = {}
|
||||||
orbclient = {}
|
orbclient = {}
|
||||||
orbdata = {}
|
orbdata = {}
|
||||||
orbital = {}
|
orbital = {}
|
||||||
@ -148,22 +188,29 @@ orbterm = {}
|
|||||||
orbutils = {}
|
orbutils = {}
|
||||||
os-test-bins = {}
|
os-test-bins = {}
|
||||||
osdemo = {}
|
osdemo = {}
|
||||||
|
pango = {}
|
||||||
patch = {}
|
patch = {}
|
||||||
patchelf = {}
|
patchelf = {}
|
||||||
pcre = {}
|
pcre = {}
|
||||||
|
pcre2 = {}
|
||||||
perg = {}
|
perg = {}
|
||||||
periodictable = {}
|
periodictable = {}
|
||||||
perl5 = {}
|
perl5 = {}
|
||||||
php84 = {}
|
php84 = {}
|
||||||
pixelcannon = {}
|
pixelcannon = {}
|
||||||
|
pixman = {}
|
||||||
pkg-config = {}
|
pkg-config = {}
|
||||||
pkgar = {}
|
pkgar = {}
|
||||||
pkgutils = {}
|
pkgutils = {}
|
||||||
pls = {}
|
pls = {}
|
||||||
pop-icon-theme = {}
|
pop-icon-theme = {}
|
||||||
|
powerline = {}
|
||||||
prboom = {}
|
prboom = {}
|
||||||
procedural-wallpapers-rs = {}
|
procedural-wallpapers-rs = {}
|
||||||
|
profiled = {}
|
||||||
|
profiling-kernel = {}
|
||||||
python312 = {}
|
python312 = {}
|
||||||
|
quakespasm = {}
|
||||||
readline = {}
|
readline = {}
|
||||||
redox-fatfs = {}
|
redox-fatfs = {}
|
||||||
redox-games = {}
|
redox-games = {}
|
||||||
@ -179,6 +226,7 @@ rust = {}
|
|||||||
rust64 = {}
|
rust64 = {}
|
||||||
rustpython = {}
|
rustpython = {}
|
||||||
rustual-boy = {}
|
rustual-boy = {}
|
||||||
|
rvvm = {}
|
||||||
scummvm = {}
|
scummvm = {}
|
||||||
sdl-gfx = {}
|
sdl-gfx = {}
|
||||||
sdl1 = {}
|
sdl1 = {}
|
||||||
@ -211,10 +259,13 @@ tokei = {}
|
|||||||
ttf-hack = {}
|
ttf-hack = {}
|
||||||
userutils = {}
|
userutils = {}
|
||||||
uutils = {}
|
uutils = {}
|
||||||
|
uutils-procps = {}
|
||||||
vim = {}
|
vim = {}
|
||||||
vttest = {}
|
vttest = {}
|
||||||
|
wasmtime = {}
|
||||||
wayland-rs = {}
|
wayland-rs = {}
|
||||||
webkitgtk3 = {}
|
webkitgtk3 = {}
|
||||||
|
wget = {}
|
||||||
winit = {}
|
winit = {}
|
||||||
winit-wayland = {}
|
winit-wayland = {}
|
||||||
xxhash = {}
|
xxhash = {}
|
||||||
@ -225,103 +276,44 @@ zsh = {}
|
|||||||
zlib = {}
|
zlib = {}
|
||||||
zstd = {}
|
zstd = {}
|
||||||
|
|
||||||
#"python312.dev" = {}
|
|
||||||
#"rust.doc" = {}
|
|
||||||
#atk = {} # depends on glib which does not build
|
|
||||||
#benchmarks = {}
|
#benchmarks = {}
|
||||||
#binutils-gdb = {}
|
#binutils-gdb = {}
|
||||||
#book = {}
|
#book = {}
|
||||||
#cairo-demo = {} # linking errors
|
|
||||||
#classicube = {}
|
|
||||||
#cmake = {}
|
|
||||||
#cmatrix = {} # needs ncursesw now
|
|
||||||
#cookbook = {}
|
#cookbook = {}
|
||||||
#cosmic-reader = {}
|
|
||||||
#cosmic-settings = {}
|
#cosmic-settings = {}
|
||||||
#cosmic-store = {}
|
#cosmic-store = {}
|
||||||
#devilutionx = {}
|
|
||||||
#dynamic-example = {}
|
#dynamic-example = {}
|
||||||
#fal
|
#fal
|
||||||
#fd = {} # ctrlc-3.1.1
|
#fd = {} # ctrlc-3.1.1
|
||||||
#file = {}
|
|
||||||
#flycast = {}
|
|
||||||
#freeciv = {}
|
|
||||||
#freeglut = {}
|
#freeglut = {}
|
||||||
#friar = {} # mio patch
|
#friar = {} # mio patch
|
||||||
#game-2048 = {} # rustc-serialize
|
#game-2048 = {} # rustc-serialize
|
||||||
#gawk = {} # langinfo.h
|
#gitoxide = {} # needs -fPIC
|
||||||
#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
|
#hematite = {} # needs crate patches for redox-unix
|
||||||
#hf = {}
|
|
||||||
#ibm-plex = {}
|
#ibm-plex = {}
|
||||||
#iced = {}
|
#iced = {}
|
||||||
#jansson = {} # needs config.sub update
|
|
||||||
#jq = {}
|
|
||||||
#libarchive = {}
|
|
||||||
#libatomic = {}
|
|
||||||
#libcosmic = {}
|
#libcosmic = {}
|
||||||
#libflac = {}
|
|
||||||
#libmodplug1 = {}
|
|
||||||
#libmpfr = {}
|
|
||||||
#libnettle = {}
|
|
||||||
#libogg = {}
|
|
||||||
#libpsl = {}
|
|
||||||
#libssh2 = {}
|
|
||||||
#libtool = {}
|
|
||||||
#liburcu = {}
|
|
||||||
#libuv = {}
|
|
||||||
#lua-compat-53 = {}
|
|
||||||
#luajit = {}
|
|
||||||
#luarocks = {}
|
|
||||||
#luv = {}
|
|
||||||
#mdp = {} # gcc hangs
|
#mdp = {} # gcc hangs
|
||||||
#miniserve = {} # actix
|
#miniserve = {} # libc ifaddrs
|
||||||
#mpc = {}
|
|
||||||
#mupen64plus = {}
|
#mupen64plus = {}
|
||||||
#ncdu = {} # multiple definitions of symbols
|
|
||||||
#newlib = {} # obsolete
|
|
||||||
#newlibtest = {} # obsolete
|
|
||||||
#noto-color-emoji = {}
|
#noto-color-emoji = {}
|
||||||
#openjk = {}
|
|
||||||
#openposixtestsuite = {}
|
|
||||||
#opentyrian = {}
|
|
||||||
#orbcalculator = {}
|
#orbcalculator = {}
|
||||||
#ostest-bins = {}
|
#ostest-bins = {}
|
||||||
#pango = {} # undefined references to std::__throw_system_error(int)
|
|
||||||
#pastel = {} # needs crate patches for redox-unix
|
#pastel = {} # needs crate patches for redox-unix
|
||||||
#pathfinder = {} # servo-fontconfig
|
#pathfinder = {} # servo-fontconfig
|
||||||
#pciids = {}
|
#pciids = {}
|
||||||
#pcre2 = {}
|
|
||||||
#pixman = {} # depends on glib which does not build
|
|
||||||
#pls = {}
|
|
||||||
#pop-wallpapers = {}
|
#pop-wallpapers = {}
|
||||||
#powerline = {} # dirs
|
|
||||||
#qemu = {} # can be built, but not working
|
#qemu = {} # can be built, but not working
|
||||||
#quakespasm = {}
|
#retroarch = {} # cannot locate GL
|
||||||
#redox-posix-tests = {}
|
|
||||||
#redox-ssh = {} # does not compile
|
|
||||||
#retroarch = {} # OS_TLSIndex not declared
|
|
||||||
#rust-cairo = {} # linking errors
|
#rust-cairo = {} # linking errors
|
||||||
#rust-cairo-demo = {} # linking errors
|
#rust-cairo-demo = {} # linking errors
|
||||||
#rvvm = {}
|
|
||||||
#schismtracker = {} # uses system includes
|
#schismtracker = {} # uses system includes
|
||||||
#sdl-player = {} # wctype_t
|
#sdl-player = {} # wctype_t
|
||||||
#sdl2-gfx = {}
|
#sdl2-gfx = {}
|
||||||
#sm64ex = {}
|
|
||||||
#spacecadetpinball = {}
|
|
||||||
#twin-commander = {}
|
#twin-commander = {}
|
||||||
#ubuntu-wallpapers = {}
|
#ubuntu-wallpapers = {}
|
||||||
#unibilium = {}
|
|
||||||
#utf8proc = {}
|
|
||||||
#vice = {} # linker errors
|
#vice = {} # linker errors
|
||||||
#vvvvvv = {} # did not compile
|
#vvvvvv = {} # did not compile
|
||||||
#webrender = {} # unwind
|
#webrender = {} # unwind
|
||||||
#website = {}
|
#website = {}
|
||||||
#wesnoth = {}
|
#wesnoth = {}
|
||||||
#wget = {}
|
|
||||||
|
|||||||
@ -10,17 +10,20 @@ filesystem_size = 1536
|
|||||||
# Package settings
|
# Package settings
|
||||||
[packages]
|
[packages]
|
||||||
# GUI Apps
|
# GUI Apps
|
||||||
|
cosmic-reader = {}
|
||||||
periodictable = {}
|
periodictable = {}
|
||||||
|
|
||||||
# GUI Data
|
# GUI Data
|
||||||
intel-one-mono = {}
|
intel-one-mono = {}
|
||||||
|
|
||||||
# Shell Apps
|
# Shell Apps
|
||||||
|
gawk = {}
|
||||||
gnu-grep = {}
|
gnu-grep = {}
|
||||||
htop = {}
|
htop = {}
|
||||||
ripgrep = {}
|
ripgrep = {}
|
||||||
terminfo = {}
|
terminfo = {}
|
||||||
vim = {}
|
vim = {}
|
||||||
|
wget = {}
|
||||||
|
|
||||||
# Games
|
# Games
|
||||||
dosbox = {}
|
dosbox = {}
|
||||||
|
|||||||
@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
overlays = [ rust-overlay.overlays.default ];
|
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 = [
|
extensions = [
|
||||||
"rust-analyzer"
|
"rust-analyzer"
|
||||||
"rust-src"
|
"rust-src"
|
||||||
|
|||||||
2
mk/ci.mk
2
mk/ci.mk
@ -4,7 +4,7 @@ IMG_TAG?=$(shell git describe --tags)
|
|||||||
IMG_SEPARATOR?=_
|
IMG_SEPARATOR?=_
|
||||||
IMG_DIR?=build/img/$(ARCH)
|
IMG_DIR?=build/img/$(ARCH)
|
||||||
OS_TEST_DIR?=build/os-test/$(ARCH)
|
OS_TEST_DIR?=build/os-test/$(ARCH)
|
||||||
CI_COOKBOOK_CONFIG?=CI=1 COOKBOOK_LOGS=true COOKBOOK_CLEAN_BUILD=true COOKBOOK_VERBOSE=false COOKBOOK_COMPRESSED=true
|
CI_COOKBOOK_CONFIG?=CI=1 COOKBOOK_LOGS=true COOKBOOK_CLEAN_BUILD=true COOKBOOK_VERBOSE=false COOKBOOK_COMPRESSED=true COOKBOOK_WEB=true
|
||||||
|
|
||||||
# CI image target - build standard images
|
# CI image target - build standard images
|
||||||
# To leave out the build tag, set both IMG_TAG and IMG_SEPARATOR to null
|
# To leave out the build tag, set both IMG_TAG and IMG_SEPARATOR to null
|
||||||
|
|||||||
@ -172,7 +172,7 @@ FSTOOLS=build/fstools
|
|||||||
INSTALLER=$(FSTOOLS)/bin/redox_installer
|
INSTALLER=$(FSTOOLS)/bin/redox_installer
|
||||||
REDOXFS=$(FSTOOLS)/bin/redoxfs
|
REDOXFS=$(FSTOOLS)/bin/redoxfs
|
||||||
REDOXFS_MKFS=$(FSTOOLS)/bin/redoxfs-mkfs
|
REDOXFS_MKFS=$(FSTOOLS)/bin/redoxfs-mkfs
|
||||||
INSTALLER_OPTS=--cookbook=.
|
INSTALLER_OPTS=--cookbook=. --config-name=$(CONFIG_NAME)
|
||||||
INSTALLER_FEATURES=
|
INSTALLER_FEATURES=
|
||||||
REDOXFS_FEATURES=
|
REDOXFS_FEATURES=
|
||||||
COOKBOOK_OPTS="--filesystem=$(FILESYSTEM_CONFIG)"
|
COOKBOOK_OPTS="--filesystem=$(FILESYSTEM_CONFIG)"
|
||||||
|
|||||||
@ -94,8 +94,12 @@ ifeq ($(FSTOOLS_IN_PODMAN),1)
|
|||||||
$(PODMAN_RUN) make $@
|
$(PODMAN_RUN) make $@
|
||||||
else
|
else
|
||||||
@sync
|
@sync
|
||||||
-$(FUMOUNT) $(MOUNT_DIR)
|
ifneq ($(wildcard $(MOUNT_DIR)),)
|
||||||
|
$(FUMOUNT) $(MOUNT_DIR)
|
||||||
@rm -rf $(MOUNT_DIR)
|
@rm -rf $(MOUNT_DIR)
|
||||||
@-$(FUMOUNT) /tmp/redox_installer 2>/dev/null || true
|
|
||||||
@echo "\033[1;36;49mFilesystem unmounted\033[0m"
|
@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
|
endif
|
||||||
|
|||||||
@ -32,7 +32,7 @@ fstools_fetch: $(FSTOOLS_TAG) FORCE
|
|||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) make $@
|
$(PODMAN_RUN) make $@
|
||||||
else
|
else
|
||||||
$(REPO_BIN) fetch installer redoxfs
|
$(REPO_BIN) fetch host:installer host:redoxfs
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CARGO_OFFLINE_FLAG=
|
CARGO_OFFLINE_FLAG=
|
||||||
|
|||||||
@ -16,7 +16,7 @@ endif
|
|||||||
|
|
||||||
# Cache layers to redox-os docker hub
|
# Cache layers to redox-os docker hub
|
||||||
PODMAN_CACHE=
|
PODMAN_CACHE=
|
||||||
PODMAN_CACHE_PATH=docker.io/redoxos/$(IMAGE_TAG)
|
PODMAN_CACHE_PATH=docker.io/redoxos/$(IMAGE_TAG)-$(HOST_ARCH)
|
||||||
|
|
||||||
PODMAN_CACHE_PULL?=1
|
PODMAN_CACHE_PULL?=1
|
||||||
ifeq ($(PODMAN_CACHE_PULL),1)
|
ifeq ($(PODMAN_CACHE_PULL),1)
|
||||||
|
|||||||
32
mk/prefix.mk
32
mk/prefix.mk
@ -14,9 +14,19 @@ LLVM_TARGET=recipes/dev/llvm21/target/$(HOST_TARGET)/$(TARGET)
|
|||||||
RUST_TARGET=recipes/dev/rust/target/$(HOST_TARGET)/$(TARGET)
|
RUST_TARGET=recipes/dev/rust/target/$(HOST_TARGET)/$(TARGET)
|
||||||
CLANG_TARGET=recipes/dev/clang21/target/$(HOST_TARGET)/$(TARGET)
|
CLANG_TARGET=recipes/dev/clang21/target/$(HOST_TARGET)/$(TARGET)
|
||||||
LLD_TARGET=recipes/dev/lld21/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=2026-05-24
|
||||||
UPSTREAM_RUSTC_VERSION=2025-11-15
|
|
||||||
|
|
||||||
export PREFIX_RUSTFLAGS=-L $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/lib
|
export PREFIX_RUSTFLAGS=-L $(ROOT)/$(PREFIX_INSTALL)/$(TARGET)/lib
|
||||||
export RUSTUP_TOOLCHAIN=$(ROOT)/$(PREFIX_INSTALL)
|
export RUSTUP_TOOLCHAIN=$(ROOT)/$(PREFIX_INSTALL)
|
||||||
@ -28,13 +38,19 @@ prefix: $(PREFIX)/sysroot
|
|||||||
# Remove prefix builds and downloads
|
# Remove prefix builds and downloads
|
||||||
prefix_clean:
|
prefix_clean:
|
||||||
rm -rf $(PREFIX)
|
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
|
# Remove relibc in sysroot and all statically linked recipes
|
||||||
static_clean: | $(FSTOOLS_TAG)
|
static_clean: | $(FSTOOLS_TAG)
|
||||||
$(MAKE) c.relibc
|
$(MAKE) c.relibc
|
||||||
$(MAKE) c.base,base-initfs,extrautils,kernel,redoxfs
|
$(MAKE) c.base,extrautils,kernel,redoxfs
|
||||||
$(MAKE) c.bash,luajit,gettext,openssl1,openssl3,pcre2,sdl1,zstd,zlib,bzip2,xz
|
$(MAKE) c.bash,luajit,gettext,libgcc,libstdcxx,openssl1,openssl3,pcre2,sdl1,zstd,zlib,bzip2,xz
|
||||||
$(MAKE) c.expat,freetype2,libffi,libiconv,libjpeg,liborbital,libpng,libxml2,ncurses,ncursesw
|
$(MAKE) c.expat,freetype2,libffi,libiconv,libjpeg,liborbital,libpng,libxml2,ncurses,ncursesw,termcap
|
||||||
rm -rf $(REPO_TAG)
|
rm -rf $(REPO_TAG)
|
||||||
|
|
||||||
$(PREFIX)/sysroot: $(PREFIX)/clang-install $(PREFIX)/rust-install $(PREFIX)/gcc-install | $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
$(PREFIX)/sysroot: $(PREFIX)/clang-install $(PREFIX)/rust-install $(PREFIX)/gcc-install | $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||||
@ -375,14 +391,14 @@ endif
|
|||||||
# BUILD RUST ---------------------------------------------------
|
# BUILD RUST ---------------------------------------------------
|
||||||
else
|
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)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) make $@
|
$(PODMAN_RUN) make $@
|
||||||
else
|
else
|
||||||
@echo "\033[1;36;49mBuilding rust-install\033[0m"
|
@echo "\033[1;36;49mBuilding rust-install\033[0m"
|
||||||
rm -rf "$@.partial" "$@"
|
rm -rf "$@.partial" "$@"
|
||||||
export PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$$PATH" \
|
export PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$(ROOT)/$(PREFIX)/gcc-install/bin:$$PATH" \
|
||||||
$(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) && \
|
$(PREFIX_CONFIG) COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) COOKBOOK_CROSS_GNU_TARGET=$(GNU_TARGET) && \
|
||||||
$(REPO_BIN) cook host:llvm21 host:rust
|
$(REPO_BIN) cook host:llvm21 host:rust
|
||||||
cp -r "$(RUST_TARGET)/stage/usr/". "$@.partial"
|
cp -r "$(RUST_TARGET)/stage/usr/". "$@.partial"
|
||||||
cp -r "$(LLVM_TARGET)/stage/usr/". "$@.partial"
|
cp -r "$(LLVM_TARGET)/stage/usr/". "$@.partial"
|
||||||
|
|||||||
10
mk/qemu.mk
10
mk/qemu.mk
@ -1,7 +1,7 @@
|
|||||||
# Configuration file for QEMU
|
# Configuration file for QEMU
|
||||||
|
|
||||||
QEMU=qemu-system-$(QEMU_ARCH)
|
QEMU?=qemu-system-$(QEMU_ARCH)
|
||||||
QEMUFLAGS=-d guest_errors -name "Redox OS $(ARCH)"
|
QEMUFLAGS?=-d guest_errors -name "Redox OS $(ARCH)"
|
||||||
netboot?=no
|
netboot?=no
|
||||||
redoxer?=no
|
redoxer?=no
|
||||||
VGA_SUPPORTED=no
|
VGA_SUPPORTED=no
|
||||||
@ -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
|
wget -O $@ https://gitlab.redox-os.org/Ivan/redox_firmware/-/raw/main/platform/qemu/qemu_arm64/u-boot-qemu-arm64.bin
|
||||||
|
|
||||||
qemu: qemu-deps
|
qemu: qemu-deps
|
||||||
|
ifeq ($(wildcard $(MOUNT_DIR)),)
|
||||||
$(QEMU) $(QEMUFLAGS)
|
$(QEMU) $(QEMUFLAGS)
|
||||||
|
else
|
||||||
|
@echo "\033[1;38;5;196mDisk is mounted. Unmounting the disk...\033[0m";
|
||||||
|
$(MAKE) unmount
|
||||||
|
$(QEMU) $(QEMUFLAGS)
|
||||||
|
endif
|
||||||
|
|||||||
157
mk/repo.mk
157
mk/repo.mk
@ -38,7 +38,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Fetch all recipes source or binary from filesystem config
|
# Fetch all recipes source or binary from filesystem config
|
||||||
fetch: $(FSTOOLS_TAG) FORCE
|
fetch: prefix $(FSTOOLS_TAG) FORCE
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) make $@
|
$(PODMAN_RUN) make $@
|
||||||
else
|
else
|
||||||
@ -47,6 +47,14 @@ else
|
|||||||
$(REPO_BIN) fetch $(COOKBOOK_OPTS) --with-package-deps
|
$(REPO_BIN) fetch $(COOKBOOK_OPTS) --with-package-deps
|
||||||
endif
|
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)
|
# Fetch Cargo dependencies for the cookbook tool (needed for REPO_OFFLINE=1 builds)
|
||||||
cargo-fetch: FORCE
|
cargo-fetch: FORCE
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
@ -82,7 +90,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Invoke fetch for one or more targets separated by comma
|
# Invoke fetch for one or more targets separated by comma
|
||||||
f.%: $(FSTOOLS_TAG) FORCE
|
f.%: prefix $(FSTOOLS_TAG) FORCE
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) make $@
|
$(PODMAN_RUN) make $@
|
||||||
else
|
else
|
||||||
@ -124,7 +132,7 @@ endif
|
|||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) make $@ ALLOW_FSTOOLS=$(FSTOOLS_IN_PODMAN)
|
$(PODMAN_RUN) make $@ ALLOW_FSTOOLS=$(FSTOOLS_IN_PODMAN)
|
||||||
else
|
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
|
endif
|
||||||
ifeq ($(ALLOW_FSTOOLS),1)
|
ifeq ($(ALLOW_FSTOOLS),1)
|
||||||
@if [ -f $(MOUNTED_TAG) ]; then \
|
@if [ -f $(MOUNTED_TAG) ]; then \
|
||||||
@ -176,7 +184,7 @@ else
|
|||||||
$(REPO_BIN) unfetch $(foreach f,$(subst $(comma), ,$*),$(f))
|
$(REPO_BIN) unfetch $(foreach f,$(subst $(comma), ,$*),$(f))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Invoke clean, and repo.sh for one of more targets separated by comma
|
# Invoke clean, and rebuild for one of more targets separated by comma
|
||||||
cr.%: $(FSTOOLS_TAG) FORCE
|
cr.%: $(FSTOOLS_TAG) FORCE
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) make $@
|
$(PODMAN_RUN) make $@
|
||||||
@ -185,7 +193,7 @@ else
|
|||||||
$(MAKE) r.$*
|
$(MAKE) r.$*
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Invoke unfetch, clean, and repo.sh for one or more targets separated by comma
|
# Invoke unfetch, clean, and rebuild for one or more targets separated by comma
|
||||||
ucr.%: $(FSTOOLS_TAG) FORCE
|
ucr.%: $(FSTOOLS_TAG) FORCE
|
||||||
ifeq ($(PODMAN_BUILD),1)
|
ifeq ($(PODMAN_BUILD),1)
|
||||||
$(PODMAN_RUN) make $@
|
$(PODMAN_RUN) make $@
|
||||||
@ -212,22 +220,155 @@ else
|
|||||||
$(MAKE) f.$*
|
$(MAKE) f.$*
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Invoke repo.sh and push for one of more targets separated by comma
|
# Invoke rebuild and push for one of more targets separated by comma
|
||||||
# Don't use podman here, as the p target cannot mount inside podman
|
# Don't use podman here, as the p target cannot mount inside podman
|
||||||
rp.%: $(FSTOOLS_TAG) FORCE
|
rp.%: $(FSTOOLS_TAG) FORCE
|
||||||
$(MAKE) r.$*,--with-package-deps
|
$(MAKE) r.$*,--with-package-deps
|
||||||
$(MAKE) p.$*
|
$(MAKE) p.$*
|
||||||
|
|
||||||
# Invoke clean, repo.sh and push for one of more targets separated by comma
|
# Invoke clean, rebuild and push for one of more targets separated by comma
|
||||||
crp.%: $(FSTOOLS_TAG) FORCE
|
crp.%: $(FSTOOLS_TAG) FORCE
|
||||||
$(MAKE) cr.$*,--with-package-deps
|
$(MAKE) cr.$*,--with-package-deps
|
||||||
$(MAKE) p.$*
|
$(MAKE) p.$*
|
||||||
|
|
||||||
# Invoke unfetch. clean, repo.sh and push for one of more targets separated by comma
|
# Invoke unfetch. clean, rebuild and push for one of more targets separated by comma
|
||||||
ucrp.%: $(FSTOOLS_TAG) FORCE
|
ucrp.%: $(FSTOOLS_TAG) FORCE
|
||||||
$(MAKE) ucr.$*,--with-package-deps
|
$(MAKE) ucr.$*,--with-package-deps
|
||||||
$(MAKE) p.$*
|
$(MAKE) p.$*
|
||||||
|
|
||||||
|
ifeq ($(HOSTED_REDOX),1)
|
||||||
|
DESTDIR?=/
|
||||||
|
|
||||||
|
# Install all recipes specified by the filesystem config
|
||||||
|
install:
|
||||||
|
$(REPO_BIN) push $(COOKBOOK_OPTS) --with-package-deps "--sysroot=$(DESTDIR)"
|
||||||
|
|
||||||
|
# Rebuild and install all recipes specified by the filesystem config
|
||||||
|
rebuild-install: $(FSTOOLS_TAG) FORCE
|
||||||
|
rm -f $(REPO_TAG)
|
||||||
|
$(MAKE) repo
|
||||||
|
$(MAKE) install
|
||||||
|
|
||||||
|
i.%: $(FSTOOLS_TAG) FORCE
|
||||||
|
$(REPO_BIN) push $(COOKBOOK_OPTS) --with-package-deps "--sysroot=$(DESTDIR)"
|
||||||
|
|
||||||
|
# Invoke rebuild and install for one of more targets separated by comma
|
||||||
|
ri.%: $(FSTOOLS_TAG) FORCE
|
||||||
|
$(MAKE) r.$*,--with-package-deps
|
||||||
|
$(MAKE) i.$*
|
||||||
|
|
||||||
|
# Invoke clean, rebuild and install for one of more targets separated by comma
|
||||||
|
cri.%: $(FSTOOLS_TAG) FORCE
|
||||||
|
$(MAKE) cr.$*,--with-package-deps
|
||||||
|
$(MAKE) i.$*
|
||||||
|
|
||||||
|
# Invoke unfetch. clean, rebuild and install for one of more targets separated by comma
|
||||||
|
ucri.%: $(FSTOOLS_TAG) FORCE
|
||||||
|
$(MAKE) ucr.$*,--with-package-deps
|
||||||
|
$(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?=
|
export DEBUG_BIN?=
|
||||||
|
|
||||||
# Debug a statically linked program with gdbgui, for example: debug.drivers-initfs DEBUG_BIN=pcid
|
# Debug a statically linked program with gdbgui, for example: debug.drivers-initfs DEBUG_BIN=pcid
|
||||||
|
|||||||
@ -337,7 +337,7 @@ archLinux()
|
|||||||
zip"
|
zip"
|
||||||
|
|
||||||
if [ "$1" == "qemu" ]; then
|
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
|
elif [ "$1" == "virtualbox" ]; then
|
||||||
packages="$packages virtualbox"
|
packages="$packages virtualbox"
|
||||||
else
|
else
|
||||||
@ -393,6 +393,7 @@ ubuntu()
|
|||||||
build-essential \
|
build-essential \
|
||||||
cmake \
|
cmake \
|
||||||
curl \
|
curl \
|
||||||
|
default-jre-headless \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
doxygen \
|
doxygen \
|
||||||
expect \
|
expect \
|
||||||
@ -456,9 +457,12 @@ ubuntu()
|
|||||||
if [ "$1" == "qemu" ]; then
|
if [ "$1" == "qemu" ]; then
|
||||||
if [ -z "$(which qemu-system-x86_64)" ]; then
|
if [ -z "$(which qemu-system-x86_64)" ]; then
|
||||||
echo "Installing QEMU..."
|
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 \
|
sudo $install_command qemu-system-x86 qemu-kvm \
|
||||||
qemu-system-arm qemu-efi-aarch64 \
|
qemu-system-arm qemu-efi-aarch64 $riscv
|
||||||
qemu-system-riscv
|
|
||||||
else
|
else
|
||||||
echo "QEMU already installed!"
|
echo "QEMU already installed!"
|
||||||
fi
|
fi
|
||||||
@ -1144,12 +1148,12 @@ else
|
|||||||
# SUSE and derivatives
|
# SUSE and derivatives
|
||||||
elif hash 2>/dev/null zypper; then
|
elif hash 2>/dev/null zypper; then
|
||||||
suse "$emulator"
|
suse "$emulator"
|
||||||
# Debian or any derivative of it
|
|
||||||
elif hash 2>/dev/null apt-get; then
|
|
||||||
ubuntu "$emulator" "$noninteractive" "$defpackman"
|
|
||||||
# Fedora
|
# Fedora
|
||||||
elif hash 2>/dev/null dnf; then
|
elif hash 2>/dev/null dnf; then
|
||||||
fedora "$emulator" "$noninteractive"
|
fedora "$emulator" "$noninteractive"
|
||||||
|
# Debian or any derivative of it
|
||||||
|
elif hash 2>/dev/null apt-get; then
|
||||||
|
ubuntu "$emulator" "$noninteractive" "$defpackman"
|
||||||
# Gentoo
|
# Gentoo
|
||||||
elif hash 2>/dev/null emerge; then
|
elif hash 2>/dev/null emerge; then
|
||||||
gentoo "$emulator"
|
gentoo "$emulator"
|
||||||
@ -1168,7 +1172,7 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cargoInstall just 1.42.4
|
cargoInstall just 1.50.0
|
||||||
cargoInstall cbindgen 0.29.0
|
cargoInstall cbindgen 0.29.0
|
||||||
|
|
||||||
if [ "$dependenciesonly" = false ]; then
|
if [ "$dependenciesonly" = false ]; then
|
||||||
|
|||||||
@ -15,6 +15,7 @@ RUN apt-get update \
|
|||||||
build-essential \
|
build-essential \
|
||||||
cmake \
|
cmake \
|
||||||
curl \
|
curl \
|
||||||
|
default-jre-headless \
|
||||||
dos2unix \
|
dos2unix \
|
||||||
doxygen \
|
doxygen \
|
||||||
expect \
|
expect \
|
||||||
|
|||||||
@ -6,11 +6,11 @@ echo "Installing rust..."
|
|||||||
curl "https://sh.rustup.rs" -sSf | sh -s -- -y --default-toolchain stable --profile minimal
|
curl "https://sh.rustup.rs" -sSf | sh -s -- -y --default-toolchain stable --profile minimal
|
||||||
|
|
||||||
echo "Downloading sccache..."
|
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'
|
wget -qO- --show-progress "${SCCACHE_URL}" | tar -xz -C ~/.cargo/bin --strip-components=1 --wildcards '*/sccache'
|
||||||
|
|
||||||
echo "Downloading just..."
|
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'
|
wget -qO- --show-progress "${JUST_URL}" | tar -xz -C ~/.cargo/bin --wildcards 'just'
|
||||||
|
|
||||||
echo "Downloading cbindgen..."
|
echo "Downloading cbindgen..."
|
||||||
|
|||||||
@ -180,7 +180,7 @@ archLinux()
|
|||||||
echo "Detected Arch Linux"
|
echo "Detected Arch Linux"
|
||||||
packages="git make curl fuse3 fuse-overlayfs slirp4netns podman gdb"
|
packages="git make curl fuse3 fuse-overlayfs slirp4netns podman gdb"
|
||||||
if [ "$1" == "qemu" ]; then
|
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
|
elif [ "$1" == "virtualbox" ]; then
|
||||||
packages="$packages virtualbox"
|
packages="$packages virtualbox"
|
||||||
else
|
else
|
||||||
@ -215,9 +215,12 @@ ubuntu()
|
|||||||
if [ "$1" == "qemu" ]; then
|
if [ "$1" == "qemu" ]; then
|
||||||
if [ -z "$(which qemu-system-x86_64)" ]; then
|
if [ -z "$(which qemu-system-x86_64)" ]; then
|
||||||
echo "Installing QEMU..."
|
echo "Installing QEMU..."
|
||||||
sudo "$2" install qemu-system-x86 qemu-kvm
|
if apt-cache show qemu-system-riscv > /dev/null 2>&1
|
||||||
sudo "$2" install qemu-system-arm qemu-efi-aarch64
|
then riscv="qemu-system-riscv" # ubuntu 26 / debian 13
|
||||||
sudo "$2" install qemu-system-riscv
|
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
|
else
|
||||||
echo "QEMU already installed!"
|
echo "QEMU already installed!"
|
||||||
fi
|
fi
|
||||||
@ -632,12 +635,12 @@ else
|
|||||||
# SUSE and derivatives
|
# SUSE and derivatives
|
||||||
if hash 2>/dev/null zypper; then
|
if hash 2>/dev/null zypper; then
|
||||||
suse "$emulator"
|
suse "$emulator"
|
||||||
# Debian or any derivative of it
|
|
||||||
elif hash 2>/dev/null apt-get; then
|
|
||||||
ubuntu "$emulator" "$defpackman"
|
|
||||||
# Fedora
|
# Fedora
|
||||||
elif hash 2>/dev/null dnf; then
|
elif hash 2>/dev/null dnf; then
|
||||||
fedora "$emulator"
|
fedora "$emulator"
|
||||||
|
# Debian or any derivative of it
|
||||||
|
elif hash 2>/dev/null apt-get; then
|
||||||
|
ubuntu "$emulator" "$defpackman"
|
||||||
# Gentoo
|
# Gentoo
|
||||||
elif hash 2>/dev/null emerge; then
|
elif hash 2>/dev/null emerge; then
|
||||||
gentoo "$emulator"
|
gentoo "$emulator"
|
||||||
|
|||||||
@ -14,7 +14,7 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
|||||||
AR="${AR}" \
|
AR="${AR}" \
|
||||||
CC="${CC}" \
|
CC="${CC}" \
|
||||||
RANLIB="${RANLIB}" \
|
RANLIB="${RANLIB}" \
|
||||||
PREFIX="${COOKBOOK_STAGE}" \
|
PREFIX="${COOKBOOK_STAGE}/usr" \
|
||||||
install
|
install
|
||||||
|
|
||||||
# However, distros distribute libbz2 as well so we'll support it too
|
# However, distros distribute libbz2 as well so we'll support it too
|
||||||
@ -27,12 +27,12 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
|||||||
AR="${AR}" \
|
AR="${AR}" \
|
||||||
CC="${CC}" \
|
CC="${CC}" \
|
||||||
RANLIB="${RANLIB}" \
|
RANLIB="${RANLIB}" \
|
||||||
PREFIX="${COOKBOOK_STAGE}"
|
PREFIX="${COOKBOOK_STAGE}/usr"
|
||||||
|
|
||||||
cp -av libbz2.so* "${COOKBOOK_STAGE}/lib"
|
cp -av libbz2.so* "${COOKBOOK_STAGE}/usr/lib"
|
||||||
ln -sr "${COOKBOOK_STAGE}/lib/libbz2.so.1.0" "${COOKBOOK_STAGE}/lib/libbz2.so.1"
|
ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so.1"
|
||||||
ln -sr "${COOKBOOK_STAGE}/lib/libbz2.so.1.0" "${COOKBOOK_STAGE}/lib/libbz2.so"
|
ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so"
|
||||||
|
|
||||||
mkdir -p "${COOKBOOK_STAGE}/lib/pkgconfig"
|
mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig"
|
||||||
cp "${COOKBOOK_RECIPE}/pkgconfig" "${COOKBOOK_STAGE}/lib/pkgconfig/bzip2.pc"
|
cp "${COOKBOOK_RECIPE}/pkgconfig" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/bzip2.pc"
|
||||||
"""
|
"""
|
||||||
9
recipes/archives/libzip/recipe.toml
Normal file
9
recipes/archives/libzip/recipe.toml
Normal 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",
|
||||||
|
]
|
||||||
11
recipes/archives/libzip/redox.patch
Normal file
11
recipes/archives/libzip/redox.patch
Normal 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
|
||||||
@ -1,92 +0,0 @@
|
|||||||
[source]
|
|
||||||
same_as = "../base"
|
|
||||||
|
|
||||||
[build]
|
|
||||||
template = "custom"
|
|
||||||
dependencies = [
|
|
||||||
"redoxfs",
|
|
||||||
]
|
|
||||||
script = """
|
|
||||||
BINS=(
|
|
||||||
init
|
|
||||||
logd
|
|
||||||
ramfs
|
|
||||||
randd
|
|
||||||
zerod
|
|
||||||
|
|
||||||
acpid
|
|
||||||
fbbootlogd
|
|
||||||
fbcond
|
|
||||||
hwd
|
|
||||||
inputd
|
|
||||||
lived
|
|
||||||
nvmed
|
|
||||||
pcid
|
|
||||||
pcid-spawner
|
|
||||||
rtcd
|
|
||||||
vesad
|
|
||||||
virtio-blkd
|
|
||||||
virtio-gpud
|
|
||||||
)
|
|
||||||
|
|
||||||
aarch64_bins()
|
|
||||||
{
|
|
||||||
case "${BOARD}" in
|
|
||||||
raspi3b*)
|
|
||||||
BINS+=(bcm2835-sdhcid)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
case "${TARGET}" in
|
|
||||||
i586-unknown-redox | i686-unknown-redox | x86_64-unknown-redox)
|
|
||||||
BINS+=(ahcid ided ps2d)
|
|
||||||
;;
|
|
||||||
aarch64-unknown-redox)
|
|
||||||
aarch64_bins
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
rm -rf "${COOKBOOK_BUILD}/initfs"
|
|
||||||
|
|
||||||
# Copy config files
|
|
||||||
mkdir -p "${COOKBOOK_BUILD}/initfs/lib/init.d" "${COOKBOOK_BUILD}/initfs/lib/pcid.d"
|
|
||||||
cp "${COOKBOOK_SOURCE}/init.initfs.d"/* "${COOKBOOK_BUILD}/initfs/lib/init.d/"
|
|
||||||
cp "${COOKBOOK_SOURCE}/drivers/initfs.toml" "${COOKBOOK_BUILD}/initfs/lib/pcid.d/initfs.toml"
|
|
||||||
|
|
||||||
# Build daemons and drivers
|
|
||||||
CARGO_PROFILE_RELEASE_OPT_LEVEL=s CARGO_PROFILE_RELEASE_PANIC=abort \
|
|
||||||
"${COOKBOOK_CARGO}" build ${build_flags} \
|
|
||||||
--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
|
|
||||||
$(for bin in "${BINS[@]}"; do echo "-p" "${bin}"; done)
|
|
||||||
|
|
||||||
mkdir -pv "${COOKBOOK_BUILD}/initfs/bin" "${COOKBOOK_BUILD}/initfs/lib/drivers"
|
|
||||||
for bin in "${BINS[@]}"
|
|
||||||
do
|
|
||||||
case "${bin}" in
|
|
||||||
init | logd | ramfs | randd | zerod | pcid | pcid-spawner | fbbootlogd | fbcond | inputd | vesad | lived | ps2d | acpid | bcm2835-sdhcid | rtcd | hwd)
|
|
||||||
cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_BUILD}/initfs/bin"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_BUILD}/initfs/lib/drivers"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
cp "${COOKBOOK_SYSROOT}/usr/bin/redoxfs" "${COOKBOOK_BUILD}/initfs/bin"
|
|
||||||
|
|
||||||
# Build bootstrap
|
|
||||||
ARCH="$(echo "${GNU_TARGET}" | cut -d - -f1)"
|
|
||||||
(cd "${COOKBOOK_SOURCE}/bootstrap" && "${COOKBOOK_CARGO}" rustc \
|
|
||||||
--release -- -Ctarget-feature=+crt-static -Clinker="${GNU_TARGET}-ld")
|
|
||||||
cp "${COOKBOOK_BUILD}/target/${TARGET}/release/bootstrap" "${COOKBOOK_BUILD}/bootstrap"
|
|
||||||
|
|
||||||
# Assemble initfs
|
|
||||||
env -u CARGO -u RUSTFLAGS cargo run --manifest-path "${COOKBOOK_SOURCE}/initfs/tools/Cargo.toml" --bin redox-initfs-ar -- "${COOKBOOK_BUILD}/initfs" "${COOKBOOK_BUILD}/bootstrap" -o "${COOKBOOK_BUILD}/initfs.img"
|
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/usr/lib/boot"
|
|
||||||
cp "${COOKBOOK_BUILD}/initfs.img" "${COOKBOOK_STAGE}/usr/lib/boot/initfs"
|
|
||||||
"""
|
|
||||||
@ -3,77 +3,12 @@ git = "https://gitlab.redox-os.org/redox-os/base.git"
|
|||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
|
dependencies = [
|
||||||
|
"redoxfs",
|
||||||
|
]
|
||||||
script = """
|
script = """
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/usr/bin"
|
cd "${COOKBOOK_SOURCE}" && make install-base \
|
||||||
for package in audiod dhcpd ipcd ptyd; do
|
SRC_DIR="${COOKBOOK_SOURCE}" SYSROOT="${COOKBOOK_SYSROOT}" \
|
||||||
"${COOKBOOK_CARGO}" build \
|
LINKER="${GNU_TARGET}-ld" CARGO="${COOKBOOK_CARGO}" \
|
||||||
--manifest-path "${COOKBOOK_SOURCE}/${package}/Cargo.toml" \
|
BUILD_DIR="${COOKBOOK_BUILD}" DESTDIR="${COOKBOOK_STAGE}"
|
||||||
${build_flags}
|
|
||||||
cp -v \
|
|
||||||
"target/${TARGET}/${build_type}/${package}" \
|
|
||||||
"${COOKBOOK_STAGE}/usr/bin/${package}"
|
|
||||||
done
|
|
||||||
|
|
||||||
"${COOKBOOK_CARGO}" build \
|
|
||||||
--manifest-path "${COOKBOOK_SOURCE}/netstack/Cargo.toml" \
|
|
||||||
${build_flags}
|
|
||||||
cp -v \
|
|
||||||
"target/${TARGET}/${build_type}/smolnetd" \
|
|
||||||
"${COOKBOOK_STAGE}/usr/bin/smolnetd"
|
|
||||||
|
|
||||||
# Drivers that are built on all architectures, and NOT in drivers-initfs
|
|
||||||
BINS=(
|
|
||||||
e1000d
|
|
||||||
ihdad
|
|
||||||
ihdgd
|
|
||||||
ixgbed
|
|
||||||
pcid
|
|
||||||
pcid-spawner
|
|
||||||
rtl8139d
|
|
||||||
rtl8168d
|
|
||||||
usbctl
|
|
||||||
usbhidd
|
|
||||||
usbhubd
|
|
||||||
usbscsid
|
|
||||||
virtio-netd
|
|
||||||
xhcid
|
|
||||||
inputd
|
|
||||||
redoxerd
|
|
||||||
)
|
|
||||||
|
|
||||||
# Add additional drivers to the list to build, that are not in drivers-initfs
|
|
||||||
# depending on the target architecture
|
|
||||||
case "${TARGET}" in
|
|
||||||
i586-unknown-redox | i686-unknown-redox | x86_64-unknown-redox)
|
|
||||||
BINS+=(ac97d sb16d vboxd)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#Build each driver in the list
|
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/usr/bin" "${COOKBOOK_STAGE}/usr/lib/drivers"
|
|
||||||
export CARGO_PROFILE_RELEASE_OPT_LEVEL=s
|
|
||||||
export CARGO_PROFILE_RELEASE_PANIC=abort
|
|
||||||
"${COOKBOOK_CARGO}" build ${build_flags} \
|
|
||||||
--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
|
|
||||||
$(for bin in "${BINS[@]}"; do echo "-p" "${bin}"; done)
|
|
||||||
for bin in "${BINS[@]}"
|
|
||||||
do
|
|
||||||
if [[ "${bin}" == "inputd" || "${bin}" == "pcid" || "${bin}" == "pcid-spawner" || "${bin}" == "redoxerd" ]]; then
|
|
||||||
cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_STAGE}/usr/bin"
|
|
||||||
else
|
|
||||||
cp -v "target/${TARGET}/${build_type}/${bin}" "${COOKBOOK_STAGE}/usr/lib/drivers"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/usr/lib/init.d/"
|
|
||||||
cp "${COOKBOOK_SOURCE}/init.d"/* "${COOKBOOK_STAGE}/usr/lib/init.d/"
|
|
||||||
|
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/usr/lib/pcid.d"
|
|
||||||
${FIND} "${COOKBOOK_SOURCE}/drivers" -maxdepth 3 -type f -name 'config.toml' | while read conf
|
|
||||||
do
|
|
||||||
driver="$(basename "$(dirname "$conf")")"
|
|
||||||
cp -v "$conf" "${COOKBOOK_STAGE}/usr/lib/pcid.d/$driver.toml"
|
|
||||||
done
|
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -1,20 +1,19 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://gitlab.redox-os.org/redox-os/dash.git"
|
git = "https://gitlab.redox-os.org/redox-os/dash.git"
|
||||||
branch = "redox"
|
branch = "redox"
|
||||||
|
script = """
|
||||||
|
./autogen.sh
|
||||||
|
"""
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
${COOKBOOK_CONFIGURE} \
|
||||||
./autogen.sh
|
|
||||||
./configure \
|
|
||||||
--host="${TARGET}" \
|
--host="${TARGET}" \
|
||||||
--prefix="" \
|
--prefix="/usr" \
|
||||||
--enable-static \
|
|
||||||
cross_compiling=yes
|
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
|
# Skip configure
|
||||||
COOKBOOK_CONFIGURE="true"
|
COOKBOOK_CONFIGURE="true"
|
||||||
COOKBOOK_CONFIGURE_FLAGS=()
|
COOKBOOK_CONFIGURE_FLAGS=()
|
||||||
|
|||||||
@ -13,7 +13,7 @@ template = "custom"
|
|||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
# TODO: upstream changes, consider using feat_require_unix_core if relibc is ready?
|
# 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=(
|
BINS=(
|
||||||
'['
|
'['
|
||||||
@ -59,6 +59,7 @@ BINS=(
|
|||||||
more
|
more
|
||||||
mv
|
mv
|
||||||
nl
|
nl
|
||||||
|
nice
|
||||||
nproc
|
nproc
|
||||||
numfmt
|
numfmt
|
||||||
od
|
od
|
||||||
|
|||||||
@ -48,6 +48,66 @@ index fd1f30303..c508f6b9b 100644
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
// Note this useful idiom: importing names from outer (for mod tests) scope.
|
// 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
|
diff --git a/src/uucore/src/lib/mods/locale.rs b/src/uucore/src/lib/mods/locale.rs
|
||||||
index b670f8976..a4ff9f983 100644
|
index b670f8976..a4ff9f983 100644
|
||||||
--- a/src/uucore/src/lib/mods/locale.rs
|
--- a/src/uucore/src/lib/mods/locale.rs
|
||||||
|
|||||||
@ -2,16 +2,27 @@ name=COSMIC Text Editor
|
|||||||
binary=/bin/cosmic-edit
|
binary=/bin/cosmic-edit
|
||||||
icon=/ui/icons/apps/accessories-text-editor.png
|
icon=/ui/icons/apps/accessories-text-editor.png
|
||||||
accept=*.asm
|
accept=*.asm
|
||||||
|
accept=*.c
|
||||||
accept=*.conf
|
accept=*.conf
|
||||||
|
accept=*.cpp
|
||||||
|
accept=*.css
|
||||||
|
accept=*.h
|
||||||
accept=*.html
|
accept=*.html
|
||||||
accept=*.ion
|
accept=*.ion
|
||||||
|
accept=*.java
|
||||||
|
accept=*.js
|
||||||
|
accept=*.json
|
||||||
accept=*.list
|
accept=*.list
|
||||||
|
accept=*.log
|
||||||
accept=*.lua
|
accept=*.lua
|
||||||
accept=*.md
|
accept=*.md
|
||||||
|
accept=*.pl
|
||||||
|
accept=*.py
|
||||||
accept=*.rc
|
accept=*.rc
|
||||||
accept=*.rs
|
accept=*.rs
|
||||||
accept=*.sh
|
accept=*.sh
|
||||||
accept=*.toml
|
accept=*.toml
|
||||||
accept=*.txt
|
accept=*.txt
|
||||||
|
accept=*.xml
|
||||||
author=Jeremy Soller
|
author=Jeremy Soller
|
||||||
description=COSMIC Text Editor
|
description=COSMIC Text Editor
|
||||||
@ -1,7 +1,5 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/pop-os/cosmic-edit.git"
|
git = "https://github.com/pop-os/cosmic-edit.git"
|
||||||
rev = "epoch-1.0.8"
|
|
||||||
patches = [ "redox.patch" ]
|
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
@ -12,6 +10,11 @@ dependencies = [
|
|||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
|
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
|
cookbook_cargo --no-default-features
|
||||||
|
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
|
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
|
||||||
@ -1,7 +1,5 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/pop-os/cosmic-files.git"
|
git = "https://github.com/pop-os/cosmic-files.git"
|
||||||
rev = "epoch-1.0.8"
|
|
||||||
patches = [ "redox.patch" ]
|
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
@ -12,6 +10,11 @@ dependencies = [
|
|||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
|
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
|
cookbook_cargo --no-default-features
|
||||||
|
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps/"
|
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps/"
|
||||||
28
recipes/cosmic/cosmic-monitor/recipe.toml
Normal file
28
recipes/cosmic/cosmic-monitor/recipe.toml
Normal 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/"
|
||||||
|
"""
|
||||||
@ -2,5 +2,7 @@ name=COSMIC Reader
|
|||||||
binary=/bin/cosmic-reader
|
binary=/bin/cosmic-reader
|
||||||
icon=/ui/icons/apps/accessories-text-editor.png
|
icon=/ui/icons/apps/accessories-text-editor.png
|
||||||
accept=*.pdf
|
accept=*.pdf
|
||||||
|
accept=*.epub
|
||||||
|
accept=*.cbz
|
||||||
author=Jeremy Soller
|
author=Jeremy Soller
|
||||||
description=COSMIC Reader
|
description=COSMIC Reader
|
||||||
@ -1,7 +1,7 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/pop-os/cosmic-reader.git"
|
git = "https://github.com/pop-os/cosmic-reader.git"
|
||||||
rev = "epoch-1.0.8"
|
rev = "ebea761ab6853a9ac15b1bfc90b040d620d1d00f"
|
||||||
|
shallow_clone = true
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
@ -1,6 +1,5 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/pop-os/cosmic-store.git"
|
git = "https://github.com/pop-os/cosmic-store.git"
|
||||||
rev = "epoch-1.0.8"
|
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
22
recipes/cosmic/cosmic-sync/recipe.toml
Normal file
22
recipes/cosmic/cosmic-sync/recipe.toml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
[source]
|
||||||
|
git = "https://github.com/pop-os/cosmic-sync.git"
|
||||||
|
branch = "master"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
template = "custom"
|
||||||
|
dependencies = [
|
||||||
|
#"gettext",
|
||||||
|
#"libxkbcommon",
|
||||||
|
"openssl3",
|
||||||
|
]
|
||||||
|
script = """
|
||||||
|
DYNAMIC_INIT
|
||||||
|
#export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
|
||||||
|
#export ZSTD_SYS_USE_PKG_CONFIG=1
|
||||||
|
cookbook_cargo_packages cosmic-sync-daemon cosmic-sync-gui --no-default-features
|
||||||
|
|
||||||
|
#TODO: install with just?
|
||||||
|
APPID="com.system76.CosmicSync"
|
||||||
|
mkdir -pv "${COOKBOOK_STAGE}/usr/share/applications/"
|
||||||
|
cp -v "${COOKBOOK_SOURCE}/res/${APPID}.desktop" "${COOKBOOK_STAGE}/usr/share/applications/"
|
||||||
|
"""
|
||||||
@ -1,7 +1,5 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/pop-os/cosmic-term.git"
|
git = "https://github.com/pop-os/cosmic-term.git"
|
||||||
rev = "epoch-1.0.8"
|
|
||||||
patches = [ "redox.patch" ]
|
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
@ -12,6 +10,11 @@ dependencies = [
|
|||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
export GETTEXT_DIR="${COOKBOOK_SYSROOT}/usr"
|
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
|
cookbook_cargo --no-default-features
|
||||||
|
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
|
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
|
||||||
18
recipes/data/terminfo/recipe.toml
Normal file
18
recipes/data/terminfo/recipe.toml
Normal 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/
|
||||||
|
"""
|
||||||
@ -13,13 +13,12 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
script = """
|
script = """
|
||||||
"${CXX}" \
|
DYNAMIC_INIT
|
||||||
$("${PKG_CONFIG}" --cflags cairo) \
|
${CXX} ${CPPFLAGS} ${LDFLAGS} \
|
||||||
"${COOKBOOK_RECIPE}/cairo-demo.c" \
|
"${COOKBOOK_RECIPE}/cairo-demo.c" \
|
||||||
-o cairo-demo \
|
-o cairo-demo \
|
||||||
-static \
|
-lorbital $("${PKG_CONFIG}" --libs cairo)
|
||||||
$("${PKG_CONFIG}" --libs cairo) \
|
|
||||||
-lorbital
|
mkdir -pv "${COOKBOOK_STAGE}/usr/bin"
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/bin"
|
cp -v "cairo-demo" "${COOKBOOK_STAGE}/usr/bin/cairo-demo"
|
||||||
cp -v "cairo-demo" "${COOKBOOK_STAGE}/bin/cairo-demo"
|
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -5,24 +5,12 @@ upstream = "https://github.com/rust-windowing/glutin.git"
|
|||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
|
cargopath = "glutin_examples"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"mesa",
|
"mesa",
|
||||||
"zlib"
|
"zlib"
|
||||||
]
|
]
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
EXAMPLES=(
|
CARGOPATH="glutin_examples" cookbook_cargo_examples window
|
||||||
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
|
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -6,8 +6,9 @@ template = "custom"
|
|||||||
script = """
|
script = """
|
||||||
cookbook_cargo
|
cookbook_cargo
|
||||||
|
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/apps/pixelcannon"
|
mkdir -pv "${COOKBOOK_STAGE}/usr/games/pixelcannon"
|
||||||
cp -Rv "${COOKBOOK_SOURCE}/assets" "${COOKBOOK_STAGE}/apps/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"
|
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
|
||||||
cp -v "${COOKBOOK_SOURCE}/manifest" "${COOKBOOK_STAGE}/usr/share/ui/apps/pixelcannon"
|
cp -v "${COOKBOOK_SOURCE}/manifest" "${COOKBOOK_STAGE}/usr/share/ui/apps/pixelcannon"
|
||||||
|
|||||||
@ -5,5 +5,7 @@ branch = "winit-0.29"
|
|||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
script = """
|
script = """
|
||||||
|
DYNAMIC_INIT
|
||||||
|
COOKBOOK_CARGO_FLAGS=() # remove --locked
|
||||||
cookbook_cargo_examples cursor_grab drag_window window window_debug
|
cookbook_cargo_examples cursor_grab drag_window window window_debug
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
[source]
|
[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]
|
[build]
|
||||||
template = "custom"
|
template = "cmake"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bzip2",
|
|
||||||
# "cppdap",
|
# "cppdap",
|
||||||
"curl",
|
"curl",
|
||||||
"expat",
|
"expat",
|
||||||
@ -14,30 +14,17 @@ dependencies = [
|
|||||||
# "liblzma",
|
# "liblzma",
|
||||||
# "librhash",
|
# "librhash",
|
||||||
"libuv",
|
"libuv",
|
||||||
"nghttp2",
|
|
||||||
"openssl3",
|
|
||||||
"zlib",
|
"zlib",
|
||||||
"zstd",
|
"zstd",
|
||||||
]
|
]
|
||||||
script = """
|
cmakeflags = [
|
||||||
DYNAMIC_INIT
|
"-DBUILD_TESTING=Off",
|
||||||
|
"-DCMAKE_USE_SYSTEM_BZIP2=On",
|
||||||
COOKBOOK_CMAKE_FLAGS+=(
|
"-DCMAKE_USE_SYSTEM_CURL=On",
|
||||||
-DBUILD_TESTING=Off
|
"-DCMAKE_USE_SYSTEM_EXPAT=On",
|
||||||
-DCMAKE_USE_SYSTEM_BZIP2=On
|
"-DCMAKE_USE_SYSTEM_LIBARCHIVE=On",
|
||||||
-DCMAKE_USE_SYSTEM_CURL=On
|
"-DCMAKE_USE_SYSTEM_LIBUV=On",
|
||||||
-DCMAKE_USE_SYSTEM_EXPAT=On
|
"-DCMAKE_USE_SYSTEM_NGHTTP2=On",
|
||||||
-DCMAKE_USE_SYSTEM_LIBARCHIVE=On
|
"-DCMAKE_USE_SYSTEM_ZLIB=On",
|
||||||
-DCMAKE_USE_SYSTEM_LIBUV=On
|
"-DCMAKE_USE_SYSTEM_ZSTD=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
|
|
||||||
"""
|
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/Byron/gitoxide.git"
|
git = "https://github.com/Byron/gitoxide.git"
|
||||||
|
shallow_clone = true
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
@ -11,4 +12,3 @@ export OPENSSL_DIR="${COOKBOOK_SYSROOT}"
|
|||||||
export OPENSSL_STATIC="true"
|
export OPENSSL_STATIC="true"
|
||||||
cookbook_cargo
|
cookbook_cargo
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|||||||
@ -13,5 +13,5 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
|||||||
RANLIB="${RANLIB}" \
|
RANLIB="${RANLIB}" \
|
||||||
SYSLDFLAGS="$LDFLAGS"
|
SYSLDFLAGS="$LDFLAGS"
|
||||||
|
|
||||||
"${COOKBOOK_MAKE}" install INSTALL_TOP="${COOKBOOK_STAGE}"
|
"${COOKBOOK_MAKE}" install INSTALL_TOP="${COOKBOOK_STAGE}/usr"
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -16,7 +16,7 @@ case "${OS}" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
${COOKBOOK_MAKE} -j ${COOKBOOK_MAKE_JOBS} install \
|
${COOKBOOK_MAKE} -j ${COOKBOOK_MAKE_JOBS} install \
|
||||||
PREFIX="${COOKBOOK_STAGE}" \
|
PREFIX="${COOKBOOK_STAGE}/usr" \
|
||||||
TARGET_SYS="${SYS}" \
|
TARGET_SYS="${SYS}" \
|
||||||
CROSS="${GNU_TARGET}-"
|
CROSS="${GNU_TARGET}-"
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -1,14 +1,16 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/luarocks/luarocks.git"
|
git = "https://github.com/luarocks/luarocks.git"
|
||||||
|
shallow_clone = true
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lua54"
|
"lua54"
|
||||||
]
|
]
|
||||||
script = """
|
script = """
|
||||||
|
DYNAMIC_INIT
|
||||||
COOKBOOK_CONFIGURE_FLAGS=(
|
COOKBOOK_CONFIGURE_FLAGS=(
|
||||||
--sysconfdir=$COOKBOOK_SYSROOT
|
--prefix=/usr
|
||||||
|
--sysconfdir=/etc
|
||||||
--with-lua-include=$COOKBOOK_SYSROOT/include
|
--with-lua-include=$COOKBOOK_SYSROOT/include
|
||||||
--with-lua-bin=$COOKBOOK_SYSROOT/bin
|
--with-lua-bin=$COOKBOOK_SYSROOT/bin
|
||||||
--with-lua-lib=$COOKBOOK_SYSROOT/lib
|
--with-lua-lib=$COOKBOOK_SYSROOT/lib
|
||||||
|
|||||||
@ -12,17 +12,4 @@ autoreconf
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "configure"
|
||||||
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"
|
|
||||||
"""
|
|
||||||
|
|||||||
36
recipes/dev/rust/config-cross-linux.toml
Normal file
36
recipes/dev/rust/config-cross-linux.toml
Normal 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"
|
||||||
@ -1,6 +1,6 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://gitlab.redox-os.org/redox-os/rust.git"
|
git = "https://gitlab.redox-os.org/redox-os/rust.git"
|
||||||
branch = "redox-2025-10-03"
|
branch = "redox-2026-05-24"
|
||||||
shallow_clone = true
|
shallow_clone = true
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
@ -20,9 +20,12 @@ dev-dependencies = [
|
|||||||
script = """
|
script = """
|
||||||
if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ]; then
|
if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ]; then
|
||||||
|
|
||||||
cat ${COOKBOOK_RECIPE}/config-bootstrap.toml > config.toml
|
OS=$(echo "${TARGET}" | cut -d - -f3)
|
||||||
sed -i "s|TARGET|${TARGET}|g" config.toml
|
cat ${COOKBOOK_RECIPE}/config-cross-$OS.toml > config.toml
|
||||||
sed -i "s|COOKBOOK_TOOLCHAIN|${COOKBOOK_TOOLCHAIN}|g" 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
|
else
|
||||||
|
|
||||||
|
|||||||
@ -16,15 +16,15 @@ template = "custom"
|
|||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
|
|
||||||
export BUILDTIME_RUSTPYTHONPATH=/lib/rustpython
|
export BUILDTIME_RUSTPYTHONPATH=/usr/lib/rustpython
|
||||||
export OPENSSL_DIR="${COOKBOOK_SYSROOT}"
|
export OPENSSL_DIR="${COOKBOOK_SYSROOT}"
|
||||||
export ZLIB_STATIC=1
|
export ZLIB_STATIC=1
|
||||||
cookbook_cargo --features ssl
|
cookbook_cargo --features ssl
|
||||||
mkdir -p "${COOKBOOK_STAGE}/lib"
|
mkdir -p "${COOKBOOK_STAGE}/usr/lib"
|
||||||
rsync -aE \
|
rsync -aE \
|
||||||
--exclude 'test/' \
|
--exclude 'test/' \
|
||||||
--exclude '__pycache__/' \
|
--exclude '__pycache__/' \
|
||||||
--exclude '*.pyc' \
|
--exclude '*.pyc' \
|
||||||
--exclude '/README.md' \
|
--exclude '/README.md' \
|
||||||
"${COOKBOOK_SOURCE}"/Lib/ "${COOKBOOK_STAGE}/lib/rustpython"
|
"${COOKBOOK_SOURCE}"/Lib/ "${COOKBOOK_STAGE}/usr/lib/rustpython"
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/jackpot51/flycast.git"
|
git = "https://github.com/flyinghead/flycast.git"
|
||||||
|
rev = "1dd006d"
|
||||||
|
patches = ["redox.patch"]
|
||||||
|
shallow_clone = true
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
|
|||||||
287
recipes/emulators/flycast/redox.patch
Normal file
287
recipes/emulators/flycast/redox.patch
Normal file
@ -0,0 +1,287 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 87bc605..e878607 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -197,7 +197,7 @@ if(NINTENDO_SWITCH)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT LIBRETRO)
|
||||||
|
- if((WIN32 AND NOT MSVC) OR (UNIX AND NOT APPLE AND NOT CMAKE_SYSTEM_NAME MATCHES "(FreeBSD|OpenBSD|NetBSD)"))
|
||||||
|
+ if((WIN32 AND NOT MSVC) OR (UNIX AND NOT APPLE AND NOT CMAKE_SYSTEM_NAME MATCHES "(FreeBSD|OpenBSD|NetBSD)" AND NOT REDOX))
|
||||||
|
add_subdirectory(core/deps/breakpad)
|
||||||
|
if(WIN32)
|
||||||
|
target_link_options(${PROJECT_NAME} PRIVATE "-Wl,--build-id")
|
||||||
|
@@ -355,7 +355,10 @@ if(NOT LIBRETRO)
|
||||||
|
if(NOT APPLE)
|
||||||
|
find_package(SDL2)
|
||||||
|
endif()
|
||||||
|
- if(NOT SDL2_FOUND)
|
||||||
|
+ if(REDOX)
|
||||||
|
+ target_link_libraries(${PROJECT_NAME} PRIVATE "$ENV{SDL_LIBS}")
|
||||||
|
+ set(SDL2_FOUND 1)
|
||||||
|
+ elseif(NOT SDL2_FOUND)
|
||||||
|
add_subdirectory(core/deps/SDL EXCLUDE_FROM_ALL)
|
||||||
|
set(SDL2_FOUND 1)
|
||||||
|
endif()
|
||||||
|
@@ -482,8 +485,10 @@ if(UNIX AND NOT APPLE AND NOT ANDROID)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE ${GLES3_LIBRARIES})
|
||||||
|
elseif(USE_OPENGL)
|
||||||
|
set(OpenGL_GL_PREFERENCE LEGACY)
|
||||||
|
- find_package(OpenGL REQUIRED)
|
||||||
|
- target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL)
|
||||||
|
+ if(NOT REDOX)
|
||||||
|
+ find_package(OpenGL REQUIRED)
|
||||||
|
+ target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL)
|
||||||
|
+ endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
@@ -533,7 +538,7 @@ target_sources(${PROJECT_NAME} PRIVATE
|
||||||
|
target_include_directories(${PROJECT_NAME} PRIVATE core/deps/nowide/include)
|
||||||
|
|
||||||
|
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)
|
||||||
|
diff --git a/core/build.h b/core/build.h
|
||||||
|
index a8560f7..1d6a4dd 100755
|
||||||
|
--- a/core/build.h
|
||||||
|
+++ b/core/build.h
|
||||||
|
@@ -227,6 +227,9 @@
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if defined(__redox__)
|
||||||
|
+#define TARGET_NO_EXCEPTIONS
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#if !defined(LIBRETRO) && !defined(TARGET_NO_EXCEPTIONS)
|
||||||
|
#define USE_GGPO
|
||||||
|
diff --git a/core/deps/libzip/lib/zip_name_locate.c b/core/deps/libzip/lib/zip_name_locate.c
|
||||||
|
index 308d843..f07fd20 100644
|
||||||
|
--- a/core/deps/libzip/lib/zip_name_locate.c
|
||||||
|
+++ b/core/deps/libzip/lib/zip_name_locate.c
|
||||||
|
@@ -32,6 +32,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
+#include <config.h>
|
||||||
|
#include <string.h>
|
||||||
|
#ifdef HAVE_STRINGS_H
|
||||||
|
#include <strings.h>
|
||||||
|
diff --git a/core/deps/nowide/include/nowide/convert.hpp b/core/deps/nowide/include/nowide/convert.hpp
|
||||||
|
index 9c234f7..24d807e 100644
|
||||||
|
--- a/core/deps/nowide/include/nowide/convert.hpp
|
||||||
|
+++ b/core/deps/nowide/include/nowide/convert.hpp
|
||||||
|
@@ -118,6 +118,7 @@ namespace nowide {
|
||||||
|
{
|
||||||
|
return nowide::conv::utf_to_utf<char>(s);
|
||||||
|
}
|
||||||
|
+#if !defined(__redox__)
|
||||||
|
///
|
||||||
|
/// Convert between UTF-8 and UTF-16 string, implemented only on Windows platform
|
||||||
|
///
|
||||||
|
@@ -145,7 +146,7 @@ namespace nowide {
|
||||||
|
{
|
||||||
|
return nowide::conv::utf_to_utf<wchar_t>(s);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+#endif
|
||||||
|
} // nowide
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/core/hw/sh4/modules/serial.cpp b/core/hw/sh4/modules/serial.cpp
|
||||||
|
index 1a7689e..b23bf1b 100644
|
||||||
|
--- a/core/hw/sh4/modules/serial.cpp
|
||||||
|
+++ b/core/hw/sh4/modules/serial.cpp
|
||||||
|
@@ -164,7 +164,7 @@ struct PTYPipe : public SerialPipe
|
||||||
|
|
||||||
|
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/khronos/GL4/gl3w.c b/core/khronos/GL4/gl3w.c
|
||||||
|
index 661dc1c..f8b6374 100644
|
||||||
|
--- a/core/khronos/GL4/gl3w.c
|
||||||
|
+++ b/core/khronos/GL4/gl3w.c
|
||||||
|
@@ -107,6 +107,26 @@ static GL3WglProc get_proc(const char *proc)
|
||||||
|
{
|
||||||
|
return (GL3WglProc)eglGetProcAddress(proc);
|
||||||
|
}
|
||||||
|
+#elif defined(__redox__)
|
||||||
|
+#include <SDL.h>
|
||||||
|
+
|
||||||
|
+static int open_libgl(void)
|
||||||
|
+{
|
||||||
|
+ if (SDL_GL_LoadLibrary(NULL) < 0)
|
||||||
|
+ return GL3W_ERROR_LIBRARY_OPEN;
|
||||||
|
+
|
||||||
|
+ return GL3W_OK;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static void close_libgl(void)
|
||||||
|
+{
|
||||||
|
+ SDL_GL_UnloadLibrary();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+static GL3WglProc get_proc(const char *proc)
|
||||||
|
+{
|
||||||
|
+ return (GL3WglProc)SDL_GL_GetProcAddress(proc);
|
||||||
|
+}
|
||||||
|
#else
|
||||||
|
#include <dlfcn.h>
|
||||||
|
|
||||||
|
diff --git a/core/linux-dist/main.cpp b/core/linux-dist/main.cpp
|
||||||
|
index 365482a..2e16071 100644
|
||||||
|
--- a/core/linux-dist/main.cpp
|
||||||
|
+++ b/core/linux-dist/main.cpp
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
#endif
|
||||||
|
#include "types.h"
|
||||||
|
|
||||||
|
-#if defined(__unix__) || defined(__SWITCH__)
|
||||||
|
+#if defined(__unix__) || defined(__SWITCH__) || defined(__redox__)
|
||||||
|
#include "hw/sh4/dyna/blockmanager.h"
|
||||||
|
#include "log/LogManager.h"
|
||||||
|
#include "emulator.h"
|
||||||
|
diff --git a/core/linux/posix_vmem.cpp b/core/linux/posix_vmem.cpp
|
||||||
|
index a2ab3c7..d503eb7 100644
|
||||||
|
--- a/core/linux/posix_vmem.cpp
|
||||||
|
+++ b/core/linux/posix_vmem.cpp
|
||||||
|
@@ -120,7 +120,7 @@ static int allocate_shared_filemem(unsigned size) {
|
||||||
|
// Use Android's specific shmem stuff.
|
||||||
|
fd = ashmem_create_region("RAM", size);
|
||||||
|
#else
|
||||||
|
- #if !defined(__APPLE__)
|
||||||
|
+ #if !defined(__APPLE__) && !defined(__redox__)
|
||||||
|
fd = shm_open("/dcnzorz_mem", O_CREAT | O_EXCL | O_RDWR, S_IREAD | S_IWRITE);
|
||||||
|
shm_unlink("/dcnzorz_mem");
|
||||||
|
#endif
|
||||||
|
@@ -216,6 +216,7 @@ void vmem_platform_destroy()
|
||||||
|
void vmem_platform_reset_mem(void *ptr, unsigned size_bytes) {
|
||||||
|
// Mark them as non accessible.
|
||||||
|
mprotect(ptr, size_bytes, PROT_NONE);
|
||||||
|
+ #if !defined(__redox__)
|
||||||
|
// Tell the kernel to flush'em all (FIXME: perhaps unmap+mmap 'd be better?)
|
||||||
|
madvise(ptr, size_bytes, MADV_DONTNEED);
|
||||||
|
#if defined(MADV_REMOVE)
|
||||||
|
@@ -223,6 +224,7 @@ void vmem_platform_reset_mem(void *ptr, unsigned size_bytes) {
|
||||||
|
#elif defined(MADV_FREE)
|
||||||
|
madvise(ptr, size_bytes, MADV_FREE);
|
||||||
|
#endif
|
||||||
|
+ #endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// Allocates a bunch of memory (page aligned and page-sized)
|
||||||
|
diff --git a/core/log/StringUtil.h b/core/log/StringUtil.h
|
||||||
|
index b14a9a6..cd942e7 100644
|
||||||
|
--- a/core/log/StringUtil.h
|
||||||
|
+++ b/core/log/StringUtil.h
|
||||||
|
@@ -24,7 +24,7 @@ int vasprintf(char **s, const char *fmt, va_list ap)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__)
|
||||||
|
+#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__)
|
||||||
|
static locale_t GetCLocale()
|
||||||
|
{
|
||||||
|
static locale_t c_locale = newlocale(LC_ALL_MASK, "C", nullptr);
|
||||||
|
@@ -69,11 +69,11 @@ bool CharArrayFromFormatV(char* out, int outsize, const char* format, va_list ar
|
||||||
|
writtenCount = vsnprintf(out, outsize, format, args);
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
-#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__)
|
||||||
|
+#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__)
|
||||||
|
locale_t previousLocale = uselocale(GetCLocale());
|
||||||
|
#endif
|
||||||
|
writtenCount = vsnprintf(out, outsize, format, args);
|
||||||
|
-#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__)
|
||||||
|
+#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__)
|
||||||
|
uselocale(previousLocale);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
@@ -101,7 +101,7 @@ std::string StringFromFormatV(const char* format, va_list args)
|
||||||
|
std::string temp = buf;
|
||||||
|
delete[] buf;
|
||||||
|
#else
|
||||||
|
-#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__)
|
||||||
|
+#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__)
|
||||||
|
locale_t previousLocale = uselocale(GetCLocale());
|
||||||
|
#endif
|
||||||
|
if (vasprintf(&buf, format, args) < 0)
|
||||||
|
@@ -110,7 +110,7 @@ std::string StringFromFormatV(const char* format, va_list args)
|
||||||
|
buf = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__)
|
||||||
|
+#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__)
|
||||||
|
uselocale(previousLocale);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
diff --git a/core/network/dns.cpp b/core/network/dns.cpp
|
||||||
|
index af98bfc..423773c 100644
|
||||||
|
--- a/core/network/dns.cpp
|
||||||
|
+++ b/core/network/dns.cpp
|
||||||
|
@@ -148,7 +148,7 @@ char *read_name(char *reader, char *buffer, int *count)
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if !defined(_WIN32) && !defined(__SWITCH__)
|
||||||
|
+#if !defined(_WIN32) && !defined(__SWITCH__) && !defined(__redox__)
|
||||||
|
#include <ifaddrs.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#endif
|
||||||
|
@@ -195,7 +195,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 9c6af69..fc6bd45 100644
|
||||||
|
--- a/core/network/net_platform.h
|
||||||
|
+++ b/core/network/net_platform.h
|
||||||
|
@@ -89,7 +89,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__)
|
||||||
|
+#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !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 6654a39..dbc1577 100644
|
||||||
|
--- a/core/rend/TexCache.cpp
|
||||||
|
+++ b/core/rend/TexCache.cpp
|
||||||
|
@@ -783,7 +783,10 @@ void BaseTextureCacheData::Update()
|
||||||
|
height = original_h;
|
||||||
|
|
||||||
|
//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)
|
||||||
|
diff --git a/core/types.h b/core/types.h
|
||||||
|
index d2ea162..3fa816e 100644
|
||||||
|
--- a/core/types.h
|
||||||
|
+++ b/core/types.h
|
||||||
|
@@ -169,6 +169,7 @@ inline static void JITWriteProtect(bool enabled) {
|
||||||
|
//includes from c++rt
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
+#include <strings.h>
|
||||||
|
#include <map>
|
||||||
|
#include <stdexcept>
|
||||||
|
|
||||||
@ -1,5 +1,8 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/jackpot51/retroarch.git"
|
git = "https://github.com/jackpot51/retroarch.git"
|
||||||
|
script = """
|
||||||
|
./fetch-submodules.sh
|
||||||
|
"""
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
@ -12,10 +15,6 @@ dependencies = [
|
|||||||
"zlib",
|
"zlib",
|
||||||
]
|
]
|
||||||
script = """
|
script = """
|
||||||
pushd "${COOKBOOK_SOURCE}"
|
|
||||||
./fetch-submodules.sh
|
|
||||||
popd
|
|
||||||
|
|
||||||
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
||||||
|
|
||||||
# For now, we will statically link with the snes9x libretro
|
# For now, we will statically link with the snes9x libretro
|
||||||
|
|||||||
@ -3,7 +3,7 @@ tar = "https://github.com/diasurgical/devilutionX/archive/refs/tags/1.5.4.tar.gz
|
|||||||
blake3 = "d4a61ff3a7c69d86a29158918aad48ab9c4866c6a22a3e8da5feadbb7d23b3ca"
|
blake3 = "d4a61ff3a7c69d86a29158918aad48ab9c4866c6a22a3e8da5feadbb7d23b3ca"
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "cmake"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bzip2",
|
"bzip2",
|
||||||
"libiconv",
|
"libiconv",
|
||||||
@ -11,27 +11,10 @@ dependencies = [
|
|||||||
"sdl1",
|
"sdl1",
|
||||||
"zlib",
|
"zlib",
|
||||||
]
|
]
|
||||||
script = """
|
cmakeflags = [
|
||||||
DYNAMIC_INIT
|
"-DDEVILUTIONX_SYSTEM_BZIP2=ON",
|
||||||
|
"-DDEVILUTIONX_SYSTEM_ZLIB=ON",
|
||||||
COOKBOOK_CONFIGURE="cmake"
|
"-DNONET=ON",
|
||||||
COOKBOOK_CONFIGURE_FLAGS=(
|
"-DSDL_LIBRARY=-lSDL -lorbital",
|
||||||
-DBUILD_TESTING=OFF
|
"-DUSE_SDL1=ON",
|
||||||
-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"
|
|
||||||
"""
|
|
||||||
|
|||||||
@ -4,12 +4,12 @@ git = "https://gitlab.redox-os.org/redox-os/freedoom.git"
|
|||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
script = """
|
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
|
for file in "${COOKBOOK_SOURCE}/"*.wad
|
||||||
do
|
do
|
||||||
game="$(basename "$file" .wad)"
|
game="$(basename "$file" .wad)"
|
||||||
|
|
||||||
wad="/share/games/doom/$game.wad"
|
wad="/usr/share/games/doom/$game.wad"
|
||||||
cp -v "$file" "${COOKBOOK_STAGE}$wad"
|
cp -v "$file" "${COOKBOOK_STAGE}$wad"
|
||||||
|
|
||||||
bin="/usr/games/$game"
|
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 "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 "category=Games" >> "${COOKBOOK_STAGE}/usr/share/ui/apps/$game"
|
||||||
echo "binary=/usr/games/$game" >> "${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"
|
cp -v "${COOKBOOK_SOURCE}/$game.png" "${COOKBOOK_STAGE}/usr/share/icons/apps/$game.png"
|
||||||
done
|
done
|
||||||
|
|||||||
@ -14,36 +14,8 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
|
export CPPFLAGS="${CPPFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL2"
|
||||||
export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2"
|
COOKBOOK_CMAKE_FLAGS+=(
|
||||||
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
|
|
||||||
-DJPEG_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
|
-DJPEG_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
|
||||||
-DJPEG_LIBRARY="-ljpeg"
|
-DJPEG_LIBRARY="-ljpeg"
|
||||||
-DPNG_PNG_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
|
-DPNG_PNG_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
|
||||||
@ -51,10 +23,8 @@ COOKBOOK_CONFIGURE_FLAGS=(
|
|||||||
-DSDL2_LIBRARIES="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa)"
|
-DSDL2_LIBRARIES="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa)"
|
||||||
-DZLIB_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
|
-DZLIB_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
|
||||||
-DZLIB_LIBRARY="-lz"
|
-DZLIB_LIBRARY="-lz"
|
||||||
"${COOKBOOK_SOURCE}"
|
|
||||||
)
|
)
|
||||||
"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}"
|
cookbook_cmake
|
||||||
"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" openjk_sp.x86_64
|
mkdir -pv "${COOKBOOK_STAGE}/usr/games/JediAcademy"
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/home/user/JediAcademy"
|
cp -v openjk_sp.x86_64 "${COOKBOOK_STAGE}/usr/games/JediAcademy"
|
||||||
cp -v openjk_sp.x86_64 "${COOKBOOK_STAGE}/home/user/JediAcademy"
|
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -4,6 +4,6 @@ git = "https://gitlab.redox-os.org/redox-os/openttd-opengfx.git"
|
|||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
script = """
|
script = """
|
||||||
mkdir -pv "${COOKBOOK_STAGE}/share/games/openttd/baseset/opengfx"
|
mkdir -pv "${COOKBOOK_STAGE}/usr/share/games/openttd/baseset/opengfx"
|
||||||
cp -Rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/share/games/openttd/baseset/opengfx"
|
cp -Rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/usr/share/games/openttd/baseset/opengfx"
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
# XXX: Do not distribute https://github.com/sm64pc/sm64ex/issues/89
|
||||||
[source]
|
[source]
|
||||||
git = "https://github.com/jackpot51/sm64ex.git"
|
git = "https://github.com/jackpot51/sm64ex.git"
|
||||||
|
|
||||||
|
|||||||
@ -1,31 +1,30 @@
|
|||||||
[source]
|
[source]
|
||||||
tar = "https://github.com/fragglet/sdl-sopwith/releases/download/sdl-sopwith-1.8.4/sopwith-1.8.4.tar.gz"
|
tar = "https://github.com/fragglet/sdl-sopwith/releases/download/sdl-sopwith-2.9.0/sdl-sopwith-2.9.0.tar.gz"
|
||||||
blake3 = "44e1404a9c4bea257d7778d2a4b1512231603a74b0a7b18eac5d18f36730ed3e"
|
blake3 = "f06a6d0c826b42989c58074f85ed8e19fbfd5fe53a357ba356bc1109bcf91ef3"
|
||||||
|
script = """
|
||||||
|
DYNAMIC_INIT
|
||||||
|
autotools_recursive_regenerate
|
||||||
|
"""
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"sdl1",
|
"sdl2",
|
||||||
"liborbital",
|
"liborbital",
|
||||||
"libiconv",
|
"libiconv",
|
||||||
]
|
]
|
||||||
|
dev-dependencies = [
|
||||||
|
"libstdcxx"
|
||||||
|
]
|
||||||
script = """
|
script = """
|
||||||
export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/SDL"
|
DYNAMIC_INIT
|
||||||
export LIBS="-lSDL -lorbital" # TODO: Uses sdl-config instead of pkg-config
|
|
||||||
|
|
||||||
# For some reason, cook_configure breaks spectacularly on this
|
# For some reason, cook_configure breaks spectacularly on this
|
||||||
# We will just copy instead
|
# We will just copy instead
|
||||||
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
||||||
|
COOKBOOK_CONFIGURE="./configure"
|
||||||
wget -O autotools/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false"
|
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||||
|
|
||||||
./configure \\
|
|
||||||
--build="$(gcc -dumpmachine)" \\
|
|
||||||
--host="${TARGET}" \\
|
|
||||||
--prefix="" \\
|
|
||||||
--with-sdl-prefix="${COOKBOOK_SYSROOT}"
|
--with-sdl-prefix="${COOKBOOK_SYSROOT}"
|
||||||
|
)
|
||||||
make -j"$(nproc)"
|
cookbook_configure
|
||||||
|
"""
|
||||||
make DESTDIR="${COOKBOOK_STAGE}" install
|
|
||||||
"""
|
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
|
# XXX: Do not distribute https://github.com/k4zmu2a/SpaceCadetPinball/issues/1
|
||||||
[source]
|
[source]
|
||||||
git = "https://gitlab.redox-os.org/xTibor/SpaceCadetPinball.git"
|
git = "https://github.com/k4zmu2a/SpaceCadetPinball.git"
|
||||||
upstream = "https://github.com/k4zmu2a/SpaceCadetPinball.git"
|
rev = "f760f34e5eb49c69d584921c0f3e251a59c62078"
|
||||||
branch = "redox"
|
patches = [ "redox.patch" ]
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
@ -16,11 +17,5 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
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
|
cookbook_cmake
|
||||||
"""
|
"""
|
||||||
|
|||||||
13
recipes/games/spacecadetpinball/redox.patch
Normal file
13
recipes/games/spacecadetpinball/redox.patch
Normal 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)
|
||||||
@ -1,6 +1,5 @@
|
|||||||
#!/usr/bin/env ion
|
#!/usr/bin/env ion
|
||||||
export RUST_BACKTRACE=full
|
export RUST_BACKTRACE=full
|
||||||
cd /home/user/acid
|
acid-runner
|
||||||
cargo test
|
relibc-tests-runner
|
||||||
bash /root/relibc-tests/run.sh
|
os-test-runner
|
||||||
os-test-runner
|
|
||||||
|
|||||||
8
recipes/groups/autotools/recipe.toml
Normal file
8
recipes/groups/autotools/recipe.toml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[package]
|
||||||
|
dependencies = [
|
||||||
|
"autoconf",
|
||||||
|
"automake",
|
||||||
|
"libtool",
|
||||||
|
"gettext",
|
||||||
|
"gnu-make",
|
||||||
|
]
|
||||||
@ -7,6 +7,7 @@ dependencies = [
|
|||||||
"cosmic-icons",
|
"cosmic-icons",
|
||||||
"cosmic-term",
|
"cosmic-term",
|
||||||
"dejavu",
|
"dejavu",
|
||||||
|
"file",
|
||||||
"freefont",
|
"freefont",
|
||||||
"hicolor-icon-theme",
|
"hicolor-icon-theme",
|
||||||
"installer-gui",
|
"installer-gui",
|
||||||
|
|||||||
@ -1,16 +1,20 @@
|
|||||||
[package]
|
[package]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autoconf",
|
"autotools",
|
||||||
"automake",
|
#"bison", #TODO: fix compilation error
|
||||||
|
"cmake",
|
||||||
|
#"debugedit", #TODO: compile and test
|
||||||
"gcc13",
|
"gcc13",
|
||||||
"gcc13.cxx",
|
"gcc13.cxx",
|
||||||
"gnu-binutils",
|
|
||||||
"gnu-make",
|
|
||||||
"gnu-grep",
|
"gnu-grep",
|
||||||
|
"groff",
|
||||||
|
"gawk",
|
||||||
|
"file",
|
||||||
"perl5",
|
"perl5",
|
||||||
"python312",
|
"python312",
|
||||||
"ripgrep",
|
"ripgrep",
|
||||||
"lua54",
|
"lua54",
|
||||||
|
"m4",
|
||||||
"nasm",
|
"nasm",
|
||||||
"patch",
|
"patch",
|
||||||
"pkg-config",
|
"pkg-config",
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"caja",
|
"caja",
|
||||||
|
"dconf",
|
||||||
"marco",
|
"marco",
|
||||||
"mate-control-center",
|
"mate-control-center",
|
||||||
"mate-icon-theme",
|
"mate-icon-theme",
|
||||||
@ -8,4 +9,5 @@ dependencies = [
|
|||||||
"mate-session-manager",
|
"mate-session-manager",
|
||||||
"mate-settings-daemon",
|
"mate-settings-daemon",
|
||||||
"mate-terminal",
|
"mate-terminal",
|
||||||
|
"mate-themes",
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
[package]
|
[package]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"base",
|
||||||
"bootloader",
|
"bootloader",
|
||||||
|
"coreutils",
|
||||||
"kernel",
|
"kernel",
|
||||||
"relibc",
|
"relibc",
|
||||||
"base",
|
|
||||||
"coreutils",
|
|
||||||
"base-initfs",
|
|
||||||
]
|
]
|
||||||
|
|||||||
17
recipes/groups/xfce4-common/recipe.toml
Normal file
17
recipes/groups/xfce4-common/recipe.toml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[package]
|
||||||
|
dependencies = [
|
||||||
|
"mousepad",
|
||||||
|
"thunar",
|
||||||
|
"tumbler",
|
||||||
|
"xfconf",
|
||||||
|
"xfdashboard",
|
||||||
|
"xfdesktop",
|
||||||
|
"xfce4-appfinder",
|
||||||
|
"xfce4-notifyd",
|
||||||
|
"xfce4-session",
|
||||||
|
"xfce4-panel",
|
||||||
|
"xfce4-power-manager",
|
||||||
|
"xfce4-settings",
|
||||||
|
"xfce4-terminal",
|
||||||
|
"xfwm4",
|
||||||
|
]
|
||||||
@ -6,5 +6,5 @@ shallow_clone = true
|
|||||||
template = "custom"
|
template = "custom"
|
||||||
script = """
|
script = """
|
||||||
cd "${COOKBOOK_SOURCE}"
|
cd "${COOKBOOK_SOURCE}"
|
||||||
just rootdir="${COOKBOOK_STAGE}" prefix="" install
|
just rootdir="${COOKBOOK_STAGE}" prefix="/usr" install
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -3,16 +3,11 @@ git = "https://github.com/pop-os/icon-theme.git"
|
|||||||
shallow_clone = true
|
shallow_clone = true
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "meson"
|
||||||
script = """
|
|
||||||
meson setup -Dprefix=/ . "${COOKBOOK_SOURCE}"
|
|
||||||
env DESTDIR="${COOKBOOK_STAGE}" meson install
|
|
||||||
"""
|
|
||||||
|
|
||||||
[[optional-packages]]
|
[[optional-packages]]
|
||||||
name = "cursors"
|
name = "cursors"
|
||||||
files = [
|
files = [
|
||||||
"share/icons/Pop/cursors**",
|
"usr/share/icons/Pop/cursors**",
|
||||||
"share/icons/Pop/cursor.theme",
|
"usr/share/icons/Pop/cursor.theme",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -11,12 +11,17 @@ dependencies = [
|
|||||||
"gettext",
|
"gettext",
|
||||||
"libffi",
|
"libffi",
|
||||||
"libiconv",
|
"libiconv",
|
||||||
|
"libinotify-stub",
|
||||||
"pcre2",
|
"pcre2",
|
||||||
"zlib",
|
"zlib",
|
||||||
]
|
]
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
|
export CFLAGS="$CFLAGS -I$COOKBOOK_SYSROOT/include/inotify"
|
||||||
|
export LDFLAGS="$LDFLAGS -linotify"
|
||||||
cookbook_meson \
|
cookbook_meson \
|
||||||
-Ddefault_library=shared \
|
-Ddefault_library=shared \
|
||||||
-Dxattr=false
|
-Dxattr=false \
|
||||||
|
-Dtests=false \
|
||||||
|
-Dfile_monitor_backend=inotify
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -11,4 +11,11 @@ mesonflags = [
|
|||||||
"-Dnouveau=disabled",
|
"-Dnouveau=disabled",
|
||||||
"-Dradeon=disabled",
|
"-Dradeon=disabled",
|
||||||
"-Dvmwgfx=disabled",
|
"-Dvmwgfx=disabled",
|
||||||
]
|
"-Dinstall-test-programs=true",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[optional-packages]]
|
||||||
|
name = "tests"
|
||||||
|
files = [
|
||||||
|
"usr/bin/*",
|
||||||
|
]
|
||||||
@ -66,6 +66,45 @@ diff -ruwN source-old/xf86drm.c source/xf86drm.c
|
|||||||
|
|
||||||
switch (tile_version) {
|
switch (tile_version) {
|
||||||
case AMD_FMT_MOD_TILE_VER_GFX9:
|
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
|
diff -ruwN source-old/xf86drm.h source/xf86drm.h
|
||||||
--- source-old/xf86drm.h 2025-06-08 06:27:53.000000000 -0600
|
--- source-old/xf86drm.h 2025-06-08 06:27:53.000000000 -0600
|
||||||
+++ source/xf86drm.h 2025-10-30 17:17:33.655115281 -0600
|
+++ source/xf86drm.h 2025-10-30 17:17:33.655115281 -0600
|
||||||
@ -21,7 +21,9 @@ template = "custom"
|
|||||||
script = """
|
script = """
|
||||||
DYNAMIC_STATIC_INIT
|
DYNAMIC_STATIC_INIT
|
||||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||||
|
# riscv64gc does not work without this
|
||||||
|
ac_cv_c_bigendian=no
|
||||||
ac_cv_have_decl_program_invocation_name=no
|
ac_cv_have_decl_program_invocation_name=no
|
||||||
)
|
)
|
||||||
cookbook_configure
|
cookbook_configure
|
||||||
"""
|
"""
|
||||||
|
|||||||
9
recipes/libs/libinotify-stub/recipe.toml
Normal file
9
recipes/libs/libinotify-stub/recipe.toml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[source]
|
||||||
|
tar = "https://github.com/willnode/inotify-stub/archive/refs/tags/v0.1.tar.gz"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
template = "custom"
|
||||||
|
script = """
|
||||||
|
DYNAMIC_INIT
|
||||||
|
make -C "$COOKBOOK_SOURCE" install BUILD="$(pwd)" DESTDIR="$COOKBOOK_STAGE/usr"
|
||||||
|
"""
|
||||||
@ -9,5 +9,7 @@ autotools_recursive_regenerate
|
|||||||
template = "custom"
|
template = "custom"
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
|
# For strings.h from string.h
|
||||||
|
export CPPFLAGS="${CPPFLAGS} -D_GNU_SOURCE"
|
||||||
cookbook_configure
|
cookbook_configure
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -12,5 +12,7 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
|
# TODO: sccache regression
|
||||||
|
export CC="$GNU_TARGET-gcc"
|
||||||
cookbook_configure
|
cookbook_configure
|
||||||
"""
|
"""
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user