mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-17 15:34:18 +08:00
Compare commits
287 Commits
2dbd894b0e
...
5524142ed2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5524142ed2 | ||
|
|
091573f3be | ||
|
|
eaf672d5f0 | ||
|
|
18724f2e39 | ||
|
|
ee7c95f70c | ||
|
|
6031761dcc | ||
|
|
9fe51f26c1 | ||
|
|
43632a6193 | ||
|
|
4ff72b460a | ||
|
|
f74c8deedf | ||
|
|
9461a537e7 | ||
|
|
a56678a23f | ||
|
|
a0820bd177 | ||
|
|
569706f4f6 | ||
|
|
bd23510694 | ||
|
|
647db212f8 | ||
|
|
3a9b48db9c | ||
|
|
112ff5f653 | ||
|
|
57aa833983 | ||
|
|
5c70677c08 | ||
|
|
6ec374c66e | ||
|
|
8c5f7d5bc7 | ||
|
|
2f133104d7 | ||
|
|
bbaeca9031 | ||
|
|
a1593cc507 | ||
|
|
a722ca40fa | ||
|
|
5c61a7088a | ||
|
|
b64ebdbc25 | ||
|
|
7d1a3d2d5a | ||
|
|
d85a02121b | ||
|
|
92f5eb2917 | ||
|
|
be675094ef | ||
|
|
5ccb829d8b | ||
|
|
0c39c897ba | ||
|
|
c672547cdc | ||
|
|
b464a6c8cd | ||
|
|
ade1870e0b | ||
|
|
4f835f1979 | ||
|
|
bf82d7d11d | ||
|
|
e50218f49a | ||
|
|
26481b4c0f | ||
|
|
98eaa84966 | ||
|
|
87e16d60e2 | ||
|
|
dd9f6f9fc8 | ||
|
|
9dac14c07f | ||
|
|
84d78137a1 | ||
|
|
a030737847 | ||
|
|
754e8d5a94 | ||
|
|
cf074ee1b6 | ||
|
|
4c4a712ab5 | ||
|
|
3465e290e2 | ||
|
|
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 | ||
|
|
1f5b0b012b | ||
|
|
8dce55105d | ||
|
|
cba10533b3 |
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
|
||||||
|
|||||||
@ -43,9 +43,11 @@ dejavu = {}
|
|||||||
diffutils = {}
|
diffutils = {}
|
||||||
expat = {}
|
expat = {}
|
||||||
extrautils = {}
|
extrautils = {}
|
||||||
|
file = {}
|
||||||
findutils = {}
|
findutils = {}
|
||||||
freefont = {}
|
freefont = {}
|
||||||
freetype2 = {}
|
freetype2 = {}
|
||||||
|
gawk = {}
|
||||||
gcc13 = {}
|
gcc13 = {}
|
||||||
gettext = {}
|
gettext = {}
|
||||||
git = {}
|
git = {}
|
||||||
@ -100,6 +102,7 @@ smith = {}
|
|||||||
terminfo = {}
|
terminfo = {}
|
||||||
userutils = {}
|
userutils = {}
|
||||||
uutils = {}
|
uutils = {}
|
||||||
|
uutils-procps = {}
|
||||||
vim = {}
|
vim = {}
|
||||||
xz = {}
|
xz = {}
|
||||||
zlib = {}
|
zlib = {}
|
||||||
@ -129,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"]
|
||||||
|
|||||||
@ -58,6 +58,7 @@ schemes = [
|
|||||||
"display.vesa",
|
"display.vesa",
|
||||||
"display*",
|
"display*",
|
||||||
# Other schemes
|
# Other schemes
|
||||||
|
"proc",
|
||||||
"pty",
|
"pty",
|
||||||
"sudo",
|
"sudo",
|
||||||
"audio",
|
"audio",
|
||||||
@ -108,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"
|
||||||
|
|||||||
@ -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 = {}
|
||||||
|
|||||||
@ -43,6 +43,7 @@ dejavu = {}
|
|||||||
diffutils = {}
|
diffutils = {}
|
||||||
expat = {}
|
expat = {}
|
||||||
extrautils = {}
|
extrautils = {}
|
||||||
|
file = {}
|
||||||
findutils = {}
|
findutils = {}
|
||||||
freefont = {}
|
freefont = {}
|
||||||
freetype2 = {}
|
freetype2 = {}
|
||||||
@ -94,6 +95,7 @@ smith = {}
|
|||||||
terminfo = {}
|
terminfo = {}
|
||||||
userutils = {}
|
userutils = {}
|
||||||
uutils = {}
|
uutils = {}
|
||||||
|
uutils-procps = {}
|
||||||
xz = {}
|
xz = {}
|
||||||
#vim = {} # conflicting types
|
#vim = {} # conflicting types
|
||||||
zlib = {}
|
zlib = {}
|
||||||
@ -123,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"
|
||||||
|
|||||||
@ -43,6 +43,7 @@ dejavu = {}
|
|||||||
diffutils = {}
|
diffutils = {}
|
||||||
expat = {}
|
expat = {}
|
||||||
extrautils = {}
|
extrautils = {}
|
||||||
|
file = {}
|
||||||
findutils = {}
|
findutils = {}
|
||||||
freefont = {}
|
freefont = {}
|
||||||
freetype2 = {}
|
freetype2 = {}
|
||||||
@ -94,6 +95,7 @@ smith = {}
|
|||||||
terminfo = {}
|
terminfo = {}
|
||||||
userutils = {}
|
userutils = {}
|
||||||
uutils = {}
|
uutils = {}
|
||||||
|
uutils-procps = {}
|
||||||
xz = {}
|
xz = {}
|
||||||
#vim = {} # error compiling ncurses
|
#vim = {} # error compiling ncurses
|
||||||
zlib = {}
|
zlib = {}
|
||||||
@ -123,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 @@ bottom = {}
|
|||||||
curl = {}
|
curl = {}
|
||||||
diffutils = {}
|
diffutils = {}
|
||||||
findutils = {}
|
findutils = {}
|
||||||
|
gettext = {}
|
||||||
git = {}
|
git = {}
|
||||||
installer = {}
|
installer = {}
|
||||||
kibi = {}
|
kibi = {}
|
||||||
|
|||||||
@ -53,6 +53,8 @@ export RUST_BACKTRACE=full
|
|||||||
export RUST_LOG=debug
|
export RUST_LOG=debug
|
||||||
export XCURSOR_THEME=Pop
|
export XCURSOR_THEME=Pop
|
||||||
export XDG_RUNTIME_DIR=/tmp/run/user/0
|
export XDG_RUNTIME_DIR=/tmp/run/user/0
|
||||||
|
# Comment out once responsive
|
||||||
|
export WAYLAND_DEBUG=1
|
||||||
|
|
||||||
# Create XDG runtime directory
|
# Create XDG runtime directory
|
||||||
#TODO: mkdir -p not working
|
#TODO: mkdir -p not working
|
||||||
|
|||||||
@ -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-full = {}
|
||||||
#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,11 +22,14 @@ mate-common = {}
|
|||||||
redox-tests = {}
|
redox-tests = {}
|
||||||
x11-minimal = {}
|
x11-minimal = {}
|
||||||
x11-full = {}
|
x11-full = {}
|
||||||
|
xfce4-common = {}
|
||||||
|
xfce4-full = {}
|
||||||
|
|
||||||
# Normal packages below
|
# Normal packages below
|
||||||
|
|
||||||
acid = {}
|
acid = {}
|
||||||
adwaita-icon-theme = {}
|
adwaita-icon-theme = {}
|
||||||
|
atk = {}
|
||||||
autoconf = {}
|
autoconf = {}
|
||||||
automake = {}
|
automake = {}
|
||||||
base = {}
|
base = {}
|
||||||
@ -33,24 +37,32 @@ bash = {}
|
|||||||
bash-completion = {}
|
bash-completion = {}
|
||||||
binutils = {}
|
binutils = {}
|
||||||
bootloader = {}
|
bootloader = {}
|
||||||
|
boxedwine = {}
|
||||||
bottom = {}
|
bottom = {}
|
||||||
bzip2 = {}
|
bzip2 = {}
|
||||||
ca-certificates = {}
|
ca-certificates = {}
|
||||||
cairo = {}
|
cairo = {}
|
||||||
|
cairo-demo = {}
|
||||||
cbindgen = {}
|
cbindgen = {}
|
||||||
|
classicube = {}
|
||||||
|
clang21 = {}
|
||||||
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 = {}
|
||||||
@ -59,28 +71,44 @@ 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 = {}
|
||||||
|
gobject-introspection = {}
|
||||||
|
gitoxide = {}
|
||||||
|
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 = {}
|
||||||
@ -88,22 +116,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 = {}
|
||||||
@ -112,14 +151,21 @@ libxml2 = {}
|
|||||||
llvm21 = {}
|
llvm21 = {}
|
||||||
lsd = {}
|
lsd = {}
|
||||||
lua54 = {}
|
lua54 = {}
|
||||||
|
lua-compat-53 = {}
|
||||||
|
luajit = {}
|
||||||
|
luarocks = {}
|
||||||
lz4 = {}
|
lz4 = {}
|
||||||
mednafen = {}
|
mednafen = {}
|
||||||
mesa = {}
|
mesa = {}
|
||||||
mesa-glu = {}
|
mesa-glu = {}
|
||||||
|
mesa-demos = {}
|
||||||
mesa-demos-x11 = {}
|
mesa-demos-x11 = {}
|
||||||
mgba = {}
|
mgba = {}
|
||||||
|
miniserve = {}
|
||||||
|
mpc = {}
|
||||||
nano = {}
|
nano = {}
|
||||||
nasm = {}
|
nasm = {}
|
||||||
|
ncdu = {}
|
||||||
ncurses = {}
|
ncurses = {}
|
||||||
ncursesw = {}
|
ncursesw = {}
|
||||||
neovim = {}
|
neovim = {}
|
||||||
@ -133,6 +179,7 @@ nodejs-21 = {}
|
|||||||
nushell = {}
|
nushell = {}
|
||||||
onefetch = {}
|
onefetch = {}
|
||||||
openjazz = {}
|
openjazz = {}
|
||||||
|
openjk = {}
|
||||||
openssh = {}
|
openssh = {}
|
||||||
openssl1 = {}
|
openssl1 = {}
|
||||||
openssl3 = {}
|
openssl3 = {}
|
||||||
@ -140,6 +187,7 @@ openttd = {}
|
|||||||
openttd-opengfx = {}
|
openttd-opengfx = {}
|
||||||
openttd-openmsx = {}
|
openttd-openmsx = {}
|
||||||
openttd-opensfx = {}
|
openttd-opensfx = {}
|
||||||
|
opentyrian = {}
|
||||||
orbclient = {}
|
orbclient = {}
|
||||||
orbdata = {}
|
orbdata = {}
|
||||||
orbital = {}
|
orbital = {}
|
||||||
@ -147,22 +195,30 @@ 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 = {}
|
||||||
|
qemu = {}
|
||||||
|
quakespasm = {}
|
||||||
readline = {}
|
readline = {}
|
||||||
redox-fatfs = {}
|
redox-fatfs = {}
|
||||||
redox-games = {}
|
redox-games = {}
|
||||||
@ -178,6 +234,7 @@ rust = {}
|
|||||||
rust64 = {}
|
rust64 = {}
|
||||||
rustpython = {}
|
rustpython = {}
|
||||||
rustual-boy = {}
|
rustual-boy = {}
|
||||||
|
rvvm = {}
|
||||||
scummvm = {}
|
scummvm = {}
|
||||||
sdl-gfx = {}
|
sdl-gfx = {}
|
||||||
sdl1 = {}
|
sdl1 = {}
|
||||||
@ -203,6 +260,7 @@ sopwith = {}
|
|||||||
sqlite3 = {}
|
sqlite3 = {}
|
||||||
strace = {}
|
strace = {}
|
||||||
syobonaction = {}
|
syobonaction = {}
|
||||||
|
tcl = {}
|
||||||
terminfo = {}
|
terminfo = {}
|
||||||
timidity = {}
|
timidity = {}
|
||||||
tmux = {}
|
tmux = {}
|
||||||
@ -210,10 +268,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 = {}
|
||||||
@ -224,103 +285,41 @@ 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
|
|
||||||
#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
|
|
||||||
#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
|
#retroarch = {} # cannot locate GL
|
||||||
#qemu = {} # can be built, but not working
|
|
||||||
#quakespasm = {}
|
|
||||||
#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"
|
||||||
|
|||||||
@ -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)
|
||||||
|
|||||||
30
mk/prefix.mk
30
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,extrautils,kernel,redoxfs
|
$(MAKE) c.base,extrautils,kernel,redoxfs
|
||||||
$(MAKE) c.bash,luajit,gettext,openssl1,openssl3,pcre2,sdl1,zstd,zlib,bzip2,xz
|
$(MAKE) c.luajit,gettext,libgcc,libstdcxx,openssl1,openssl3,pcre2,sdl1,zstd,zlib,bzip2,xz
|
||||||
$(MAKE) c.expat,freetype2,libffi,libiconv,libjpeg,liborbital,libpng,libxml2,ncurses,ncursesw
|
$(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"
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
115
mk/repo.mk
115
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 \
|
||||||
@ -260,6 +268,107 @@ ucri.%: $(FSTOOLS_TAG) FORCE
|
|||||||
$(MAKE) i.$*
|
$(MAKE) i.$*
|
||||||
endif
|
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
|
||||||
@ -456,9 +456,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 +1147,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 +1171,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
|
||||||
|
|||||||
@ -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,15 +0,0 @@
|
|||||||
diff -ruwN source/programs/platform.h source-new/programs/platform.h
|
|
||||||
--- source/programs/platform.h 2025-02-19 07:04:24.000000000 +0700
|
|
||||||
+++ source-new/programs/platform.h 2025-07-21 22:52:07.716447723 +0700
|
|
||||||
@@ -109,6 +109,11 @@
|
|
||||||
#endif /* PLATFORM_POSIX_VERSION */
|
|
||||||
|
|
||||||
|
|
||||||
+#if defined(__redox__)
|
|
||||||
+/* TODO: AT_FDCWD && utimensat must be defined to conform _POSIX_VERSION */
|
|
||||||
+# define PLATFORM_POSIX_VERSION 1
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#if PLATFORM_POSIX_VERSION > 1
|
|
||||||
/* glibc < 2.26 may not expose struct timespec def without this.
|
|
||||||
* See issue #1920. */
|
|
||||||
@ -1,17 +1,14 @@
|
|||||||
[source]
|
[source]
|
||||||
tar = "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz"
|
tar = "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz"
|
||||||
blake3 = "730dca31244abd219e995f03a55d95b2cfb4b3e16cda055a79fa6f30a4f0e1db"
|
blake3 = "730dca31244abd219e995f03a55d95b2cfb4b3e16cda055a79fa6f30a4f0e1db"
|
||||||
patches = [
|
|
||||||
"01_redox.patch"
|
|
||||||
]
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_STATIC_INIT
|
DYNAMIC_STATIC_INIT
|
||||||
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
|
||||||
# TODO: fPIC is the default on linux but not on redox and
|
# TODO: fPIC is the default on linux but not on redox and
|
||||||
# required by llvm21 as zstd statically linked there
|
# required by llvm21 as zstd statically linked there
|
||||||
export CPPFLAGS="$CPPFLAGS -fPIC"
|
export CPPFLAGS="$CPPFLAGS -fPIC"
|
||||||
${COOKBOOK_MAKE}
|
COOKBOOK_SOURCE="$COOKBOOK_SOURCE/build/cmake"
|
||||||
${COOKBOOK_MAKE} install DESTDIR="${COOKBOOK_STAGE}" prefix="/usr"
|
cookbook_cmake
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -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,6 +1,5 @@
|
|||||||
[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"
|
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
@ -14,6 +13,8 @@ dependencies = [
|
|||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET} -I${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/include"
|
export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET} -I${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/include"
|
||||||
|
# Define endianness for mupdf
|
||||||
|
export CFLAGS="${CFLAGS} -D__LITTLE_ENDIAN__"
|
||||||
"${COOKBOOK_CARGO}" rustc \
|
"${COOKBOOK_CARGO}" rustc \
|
||||||
--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
|
--manifest-path "${COOKBOOK_SOURCE}/Cargo.toml" \
|
||||||
--release \
|
--release \
|
||||||
@ -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"
|
||||||
@ -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,14 +1,13 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/Byron/gitoxide.git"
|
git = "https://github.com/Byron/gitoxide.git"
|
||||||
|
rev = "v0.54.0"
|
||||||
|
shallow_clone = true
|
||||||
|
patches = [
|
||||||
|
"redox.patch"
|
||||||
|
]
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"openssl3",
|
"openssl3",
|
||||||
]
|
]
|
||||||
template = "custom"
|
template = "cargo"
|
||||||
script = """
|
|
||||||
export OPENSSL_DIR="${COOKBOOK_SYSROOT}"
|
|
||||||
export OPENSSL_STATIC="true"
|
|
||||||
cookbook_cargo
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|||||||
16
recipes/dev/gitoxide/redox.patch
Normal file
16
recipes/dev/gitoxide/redox.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
diff --git a/Cargo.toml b/Cargo.toml
|
||||||
|
index 23147e56..520fbed3 100644
|
||||||
|
--- a/Cargo.toml
|
||||||
|
+++ b/Cargo.toml
|
||||||
|
@@ -206,11 +206,9 @@ zlib-rs = { opt-level = 3 }
|
||||||
|
|
||||||
|
[profile.release]
|
||||||
|
overflow-checks = false
|
||||||
|
-lto = "thin"
|
||||||
|
# This bloats files but assures destructors are called, important for tempfiles. One day I hope we
|
||||||
|
# can wire up the 'abrt' signal handler so tempfiles will be removed in case of panics.
|
||||||
|
panic = "unwind"
|
||||||
|
-incremental = false
|
||||||
|
|
||||||
|
# This profile is currently used in building releases for GitHub.
|
||||||
|
# It may be removed at any time and should not otherwise be relied on.
|
||||||
@ -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,59 +1,32 @@
|
|||||||
[source]
|
[source]
|
||||||
git = "https://github.com/jackpot51/flycast.git"
|
git = "https://github.com/flyinghead/flycast.git"
|
||||||
|
rev = "v2.6"
|
||||||
|
patches = ["redox.patch"]
|
||||||
|
shallow_clone = true
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"curl",
|
"curl",
|
||||||
"libiconv",
|
"libzip",
|
||||||
"liborbital",
|
|
||||||
"mesa",
|
|
||||||
"nghttp2",
|
|
||||||
"openssl3",
|
|
||||||
"sdl2",
|
"sdl2",
|
||||||
|
]
|
||||||
|
dev-dependencies = [
|
||||||
"zlib",
|
"zlib",
|
||||||
|
"zstd",
|
||||||
]
|
]
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/usr/include/SDL2"
|
export CPPFLAGS+=" -D_GNU_SOURCE=1"
|
||||||
export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_C99_MATH_TR1=1 -I${COOKBOOK_SYSROOT}/usr/include/SDL2"
|
COOKBOOK_CMAKE_FLAGS+=(
|
||||||
#TODO: don't use this
|
|
||||||
export SDL_LIBS="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa) -lstdc++"
|
|
||||||
#TODO: don't add curl
|
|
||||||
export SDL_LIBS="${SDL_LIBS} -lcurl -lnghttp2 -lssl -lcrypto"
|
|
||||||
COOKBOOK_CONFIGURE="cmake"
|
|
||||||
COOKBOOK_CONFIGURE_FLAGS=(
|
|
||||||
-DCMAKE_VERBOSE_MAKEFILE=On
|
|
||||||
-DCMAKE_CROSSCOMPILING=True
|
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo
|
|
||||||
-DCMAKE_INSTALL_PREFIX="/usr"
|
|
||||||
-DCMAKE_SYSTEM_NAME=Generic
|
|
||||||
-DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)"
|
|
||||||
-DREDOX=1
|
-DREDOX=1
|
||||||
-DUNIX=1
|
-DUNIX=1
|
||||||
-DUSE_HOST_LIBZIP=OFF
|
|
||||||
-DUSE_OPENMP=OFF
|
-DUSE_OPENMP=OFF
|
||||||
-DUSE_VULKAN=OFF
|
-DUSE_VULKAN=OFF
|
||||||
-DZLIB_LIBRARY="-lz"
|
-DUSE_HOST_SDL=ON
|
||||||
|
-DNOWIDE_INSTALL=ON
|
||||||
# Hacks for cmake errors
|
-DWITH_SYSTEM_ZLIB=ON
|
||||||
-DHAVE___INT8_LIBZIP=False
|
-DWITH_SYSTEM_ZSTD=ON
|
||||||
-DHAVE___INT16_LIBZIP=False
|
|
||||||
-DHAVE___INT32_LIBZIP=False
|
|
||||||
-DHAVE___INT64_LIBZIP=False
|
|
||||||
-DHAVE_FICLONERANGE=False
|
|
||||||
-DHAVE_NULLABLE=False
|
|
||||||
|
|
||||||
# Hack for Threads
|
|
||||||
-DCMAKE_THREAD_LIBS_INIT="-lc"
|
|
||||||
-DCMAKE_HAVE_THREADS_LIBRARY=1
|
|
||||||
-DCMAKE_USE_WIN32_THREADS_INIT=0
|
|
||||||
-DCMAKE_USE_PTHREADS_INIT=1
|
|
||||||
-DTHREADS_PREFER_PTHREAD_FLAG=ON
|
|
||||||
|
|
||||||
"${COOKBOOK_SOURCE}"
|
|
||||||
)
|
)
|
||||||
cookbook_configure
|
cookbook_cmake
|
||||||
# appstream generation broken
|
|
||||||
rm -rf "${COOKBOOK_STAGE}/usr/share/metainfo"
|
|
||||||
"""
|
"""
|
||||||
|
|||||||
150
recipes/emulators/flycast/redox.patch
Normal file
150
recipes/emulators/flycast/redox.patch
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 8340288..589d4b4 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -466,7 +466,7 @@ if(NOT LIBRETRO)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT ANDROID AND NOT IOS)
|
||||||
|
- if (NOT NINTENDO_SWITCH)
|
||||||
|
+ if (NOT NINTENDO_SWITCH AND NOT REDOX)
|
||||||
|
# DreamLink enabled for non-mobile Linux, MacOS, and Windows
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE USE_DREAMLINK_DEVICES=1)
|
||||||
|
set(USE_DREAMLINK_DEVICES ON) # Must be set before adding core/sdl
|
||||||
|
@@ -493,7 +493,7 @@ if(NOT LIBRETRO)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(USE_HOST_SDL)
|
||||||
|
- find_package(SDL2 2.0.9)
|
||||||
|
+ find_package(SDL2 REQUIRED)
|
||||||
|
endif()
|
||||||
|
if(NOT SDL2_FOUND)
|
||||||
|
set(SDL_TEST_ENABLED_BY_DEFAULT OFF)
|
||||||
|
@@ -691,11 +691,11 @@ target_sources(${PROJECT_NAME} PRIVATE
|
||||||
|
core/deps/chdpsr/cdipsr.cpp
|
||||||
|
core/deps/chdpsr/cdipsr.h)
|
||||||
|
|
||||||
|
-add_subdirectory(core/deps/nowide EXCLUDE_FROM_ALL)
|
||||||
|
+add_subdirectory(core/deps/nowide)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE nowide::nowide)
|
||||||
|
|
||||||
|
if(NOT MINIUPNP_FOUND)
|
||||||
|
- if(NINTENDO_SWITCH)
|
||||||
|
+ if(NINTENDO_SWITCH OR REDOX)
|
||||||
|
target_compile_definitions(${PROJECT_NAME} PRIVATE FEAT_NO_MINIUPNPC)
|
||||||
|
else()
|
||||||
|
option(UPNPC_BUILD_SHARED "Build shared library" OFF)
|
||||||
|
Submodule core/deps/asio contains modified content
|
||||||
|
diff --git a/core/deps/asio/asio/include/asio/detail/config.hpp b/core/deps/asio/asio/include/asio/detail/config.hpp
|
||||||
|
index 61ee752..4b140b9 100644
|
||||||
|
--- a/core/deps/asio/asio/include/asio/detail/config.hpp
|
||||||
|
+++ b/core/deps/asio/asio/include/asio/detail/config.hpp
|
||||||
|
@@ -828,6 +828,7 @@
|
||||||
|
|| defined(__NetBSD__) \
|
||||||
|
|| defined(__OpenBSD__) \
|
||||||
|
|| defined(__linux__) \
|
||||||
|
+ || defined(__redox__) \
|
||||||
|
|| defined(__HAIKU__)
|
||||||
|
# define ASIO_HAS_UNISTD_H 1
|
||||||
|
# endif
|
||||||
|
@@ -1093,7 +1094,6 @@
|
||||||
|
# endif // defined(ASIO_HAS_BOOST_CONFIG) && defined(BOOST_HAS_THREADS)
|
||||||
|
# endif // !defined(ASIO_DISABLE_THREADS)
|
||||||
|
#endif // !defined(ASIO_HAS_THREADS)
|
||||||
|
-
|
||||||
|
// POSIX threads.
|
||||||
|
#if !defined(ASIO_HAS_PTHREADS)
|
||||||
|
# if defined(ASIO_HAS_THREADS)
|
||||||
|
diff --git a/core/hw/sh4/modules/serial.cpp b/core/hw/sh4/modules/serial.cpp
|
||||||
|
index aca43a0..11991e9 100644
|
||||||
|
--- a/core/hw/sh4/modules/serial.cpp
|
||||||
|
+++ b/core/hw/sh4/modules/serial.cpp
|
||||||
|
@@ -475,7 +475,7 @@ struct PTYPipe : public SerialPort::Pipe
|
||||||
|
|
||||||
|
void init()
|
||||||
|
{
|
||||||
|
-#if defined(__unix__) || defined(__APPLE__)
|
||||||
|
+#if (defined(__unix__) || defined(__APPLE__)) && !defined(__redox__)
|
||||||
|
if (config::SerialConsole && config::SerialPTY && tty == 1)
|
||||||
|
{
|
||||||
|
tty = open("/dev/ptmx", O_RDWR | O_NDELAY | O_NOCTTY | O_NONBLOCK);
|
||||||
|
diff --git a/core/linux/context.cpp b/core/linux/context.cpp
|
||||||
|
index 7ab2d8e..8a2bb2c 100644
|
||||||
|
--- a/core/linux/context.cpp
|
||||||
|
+++ b/core/linux/context.cpp
|
||||||
|
@@ -8,11 +8,11 @@
|
||||||
|
#define __USE_GNU 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- #if !defined(__OpenBSD__)
|
||||||
|
+ #if !defined(__OpenBSD__) && !defined(__redox__)
|
||||||
|
#include <ucontext.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- #if defined(__OpenBSD__)
|
||||||
|
+ #if defined(__OpenBSD__) || defined(__redox__)
|
||||||
|
#include <signal.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -112,6 +112,11 @@ static void context_segfault(host_context_t* hostctx, void* segfault_ctx)
|
||||||
|
bicopy<ToSegfault>(hostctx->rsp, MCTX(.__gregs[_REG_RSP]));
|
||||||
|
bicopy<ToSegfault>(hostctx->r9, MCTX(.__gregs[_REG_R9]));
|
||||||
|
bicopy<ToSegfault>(hostctx->rdi, MCTX(.__gregs[_REG_RDI]));
|
||||||
|
+ #elif defined(__redox__)
|
||||||
|
+ bicopy<ToSegfault>(hostctx->pc, MCTX(.rip));
|
||||||
|
+ bicopy<ToSegfault>(hostctx->rsp, MCTX(.rsp));
|
||||||
|
+ bicopy<ToSegfault>(hostctx->r9, MCTX(.r9));
|
||||||
|
+ bicopy<ToSegfault>(hostctx->rdi, MCTX(.rdi));
|
||||||
|
#elif defined(__unix__)
|
||||||
|
bicopy<ToSegfault>(hostctx->pc, MCTX(.gregs[REG_RIP]));
|
||||||
|
bicopy<ToSegfault>(hostctx->rsp, MCTX(.gregs[REG_RSP]));
|
||||||
|
diff --git a/core/network/dns.cpp b/core/network/dns.cpp
|
||||||
|
index 4d45c4a..96752ef 100644
|
||||||
|
--- a/core/network/dns.cpp
|
||||||
|
+++ b/core/network/dns.cpp
|
||||||
|
@@ -153,7 +153,7 @@ pico_ip4 parseDnsResponsePacket(const void *buf, size_t len)
|
||||||
|
return { ~0u };
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if !defined(_WIN32) && !defined(__SWITCH__)
|
||||||
|
+#if !defined(_WIN32) && !defined(__SWITCH__) && !defined(__redox__)
|
||||||
|
#include <ifaddrs.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#endif
|
||||||
|
@@ -200,7 +200,7 @@ bool is_local_address(u32 addr)
|
||||||
|
}
|
||||||
|
closesocket(sd);
|
||||||
|
|
||||||
|
-#elif defined(__SWITCH__)
|
||||||
|
+#elif defined(__SWITCH__) || defined(__redox__)
|
||||||
|
// TODO
|
||||||
|
#else // !_WIN32 && !__SWITCH__
|
||||||
|
|
||||||
|
diff --git a/core/network/net_platform.h b/core/network/net_platform.h
|
||||||
|
index 8b5ea48..1a20e0b 100644
|
||||||
|
--- a/core/network/net_platform.h
|
||||||
|
+++ b/core/network/net_platform.h
|
||||||
|
@@ -91,7 +91,7 @@ static inline void set_tcp_nodelay(sock_t fd)
|
||||||
|
#if defined(_WIN32)
|
||||||
|
struct protoent *tcp_proto = getprotobyname("TCP");
|
||||||
|
setsockopt(fd, tcp_proto->p_proto, TCP_NODELAY, (const char *)&optval, optlen);
|
||||||
|
-#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
|
||||||
|
+#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__redox__)
|
||||||
|
setsockopt(fd, SOL_TCP, TCP_NODELAY, (const void *)&optval, optlen);
|
||||||
|
#else
|
||||||
|
struct protoent *tcp_proto = getprotobyname("TCP");
|
||||||
|
diff --git a/core/rend/TexCache.cpp b/core/rend/TexCache.cpp
|
||||||
|
index 35b41b7..2782d5e 100644
|
||||||
|
--- a/core/rend/TexCache.cpp
|
||||||
|
+++ b/core/rend/TexCache.cpp
|
||||||
|
@@ -670,7 +670,10 @@ bool BaseTextureCacheData::Update()
|
||||||
|
mipmapped = false;
|
||||||
|
}
|
||||||
|
//lock the texture to detect changes in it
|
||||||
|
+// TODO: No SIGSEGV handler on redox
|
||||||
|
+#if !defined(__redox__)
|
||||||
|
protectVRam();
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
UploadToGPU(upscaled_w, upscaled_h, (const u8 *)temp_tex_buffer, IsMipmapped(), mipmapped);
|
||||||
|
if (config::DumpTextures)
|
||||||
@ -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",
|
||||||
]
|
]
|
||||||
|
|||||||
12
recipes/groups/xfce4-common/recipe.toml
Normal file
12
recipes/groups/xfce4-common/recipe.toml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[package]
|
||||||
|
dependencies = [
|
||||||
|
"thunar",
|
||||||
|
"tumbler",
|
||||||
|
"xfconf",
|
||||||
|
"xfdesktop",
|
||||||
|
"xfce4-appfinder",
|
||||||
|
"xfce4-session",
|
||||||
|
"xfce4-panel",
|
||||||
|
"xfce4-settings",
|
||||||
|
"xfwm4",
|
||||||
|
]
|
||||||
12
recipes/groups/xfce4-full/recipe.toml
Normal file
12
recipes/groups/xfce4-full/recipe.toml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[package]
|
||||||
|
dependencies = [
|
||||||
|
"mousepad",
|
||||||
|
"parole",
|
||||||
|
"ristretto",
|
||||||
|
"xfdashboard",
|
||||||
|
"xfce4-screenshooter",
|
||||||
|
"xfce4-notifyd",
|
||||||
|
"xfce4-power-manager",
|
||||||
|
"xfce4-terminal",
|
||||||
|
"xfce4-common",
|
||||||
|
]
|
||||||
@ -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",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@ -5,30 +5,24 @@ patches = ["redox.patch"]
|
|||||||
|
|
||||||
[build]
|
[build]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"expat",
|
"fontconfig",
|
||||||
"freetype2",
|
"freetype2",
|
||||||
"fontconfig",
|
|
||||||
"gettext",
|
|
||||||
"glib",
|
"glib",
|
||||||
"libffi",
|
"libpng",
|
||||||
"libiconv",
|
|
||||||
"libpng",
|
|
||||||
"libpthread-stubs",
|
|
||||||
"libx11",
|
"libx11",
|
||||||
"libxau",
|
|
||||||
"libxcb",
|
"libxcb",
|
||||||
"libxext",
|
"libxext",
|
||||||
"pcre2",
|
"libxrender",
|
||||||
"pixman",
|
"pixman",
|
||||||
"x11proto",
|
]
|
||||||
"zlib",
|
dev-dependencies = [
|
||||||
|
# xext and xrender is required by pkg-config, don't move them here
|
||||||
]
|
]
|
||||||
template = "custom"
|
template = "custom"
|
||||||
script = """
|
script = """
|
||||||
DYNAMIC_INIT
|
DYNAMIC_INIT
|
||||||
#TODO: fix mutex implementation
|
|
||||||
#TODO: why are math defines missing?
|
#TODO: why are math defines missing?
|
||||||
CFLAGS="${CFLAGS} -DCAIRO_NO_MUTEX=1 -DM_SQRT2=1.41421356237309504880 -DM_LN2=0.69314718055994530942"
|
CFLAGS="${CFLAGS} -DM_SQRT2=1.41421356237309504880 -DM_LN2=0.69314718055994530942"
|
||||||
cookbook_meson \
|
cookbook_meson \
|
||||||
-Dxlib-xcb=enabled \
|
-Dxlib-xcb=enabled \
|
||||||
-Dtests=disabled
|
-Dtests=disabled
|
||||||
|
|||||||
@ -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
|
||||||
"""
|
"""
|
||||||
|
|||||||
@ -1,9 +1,6 @@
|
|||||||
[source]
|
[source]
|
||||||
tar = "https://libarchive.org/downloads/libarchive-3.6.2.tar.xz"
|
tar = "https://libarchive.org/downloads/libarchive-3.8.7.tar.xz"
|
||||||
blake3 = "f98695fe81235a74fa3fc2c3ba0f0d4f13ea15f9be3850b83e304cf5d78be710"
|
blake3 = "6b7f744132368a53ecf98a4586af09c255f81cebf37687edd857528a1bfd3bd3"
|
||||||
patches = [
|
|
||||||
"redox.patch"
|
|
||||||
]
|
|
||||||
|
|
||||||
[build]
|
[build]
|
||||||
template = "configure"
|
template = "configure"
|
||||||
|
|||||||
@ -1,13 +0,0 @@
|
|||||||
diff -ruwN source/configure source-new/configure
|
|
||||||
--- source/configure 2022-12-09 20:38:47.000000000 +0700
|
|
||||||
+++ source-new/configure 2025-09-14 17:17:50.138530195 +0700
|
|
||||||
@@ -19039,7 +19039,8 @@
|
|
||||||
ac_fn_c_check_func "$LINENO" "fstatat" "ac_cv_func_fstatat"
|
|
||||||
if test "x$ac_cv_func_fstatat" = xyes
|
|
||||||
then :
|
|
||||||
- printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h
|
|
||||||
+# When fstatat works, remove this patch
|
|
||||||
+# printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h
|
|
||||||
|
|
||||||
fi
|
|
||||||
ac_fn_c_check_func "$LINENO" "fstatfs" "ac_cv_func_fstatfs"
|
|
||||||
@ -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
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user