mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-11-04 19:56:36 +08:00
Compare commits
234 Commits
50fd1494b0
...
8c62e2ed9c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8c62e2ed9c | ||
|
|
7aaea1939c | ||
|
|
05b9e05023 | ||
|
|
5313cbba62 | ||
|
|
559496cb6d | ||
|
|
4006aee0bf | ||
|
|
da760947f1 | ||
|
|
28f5c3d7cb | ||
|
|
4639c04454 | ||
|
|
3650a613f3 | ||
|
|
d2abc86a7c | ||
|
|
c33cf12401 | ||
|
|
f236d86e60 | ||
|
|
e684b923d1 | ||
|
|
31b4282059 | ||
|
|
721493ad46 | ||
|
|
c57bba090a | ||
|
|
9bf257dbab | ||
|
|
b7352eecfd | ||
|
|
d15b5f9220 | ||
|
|
aa6f01bfb2 | ||
|
|
7992e91522 | ||
|
|
604f1187b2 | ||
|
|
8aa1de9e1a | ||
|
|
51ca58cc2b | ||
|
|
858a19e150 | ||
|
|
84eae1e507 | ||
|
|
9007d0a29f | ||
|
|
aa01491b88 | ||
|
|
6c094d1376 | ||
|
|
bebe444ca8 | ||
|
|
617d3c35b5 | ||
|
|
23b3e6f991 | ||
|
|
70a3f9e16e | ||
|
|
2f62f6d876 | ||
|
|
40544cdbae | ||
|
|
ba6258aad3 | ||
|
|
dc63352e5e | ||
|
|
fcc8970b16 | ||
|
|
a354367247 | ||
|
|
e50ed2eb66 | ||
|
|
187f936c8f | ||
|
|
fac2ee9305 | ||
|
|
1a37a6a64a | ||
|
|
f97869cd84 | ||
|
|
885b233498 | ||
|
|
d6644d7088 | ||
|
|
3da4df6eeb | ||
|
|
e0e5950298 | ||
|
|
fbcabac0c5 | ||
|
|
9e456cf920 | ||
|
|
61a3304f07 | ||
|
|
d70ae57bb9 | ||
|
|
524b220ef2 | ||
|
|
e079d707b8 | ||
|
|
ee828cd325 | ||
|
|
98ad0a8752 | ||
|
|
4338ac2413 | ||
|
|
c9f937eec8 | ||
|
|
df7986b858 | ||
|
|
6384beb961 | ||
|
|
abd771a5e9 | ||
|
|
616353e91e | ||
|
|
0fa90fc07a | ||
|
|
9224020a92 | ||
|
|
1961e941e0 | ||
|
|
3f90e9232c | ||
|
|
0e1c602c62 | ||
|
|
b4f6410529 | ||
|
|
7a75f65f6a | ||
|
|
88a892572d | ||
|
|
c01b9c8d10 | ||
|
|
795aa87b72 | ||
|
|
8cfa74baa5 | ||
|
|
1c7b0aa576 | ||
|
|
aac8e49f5f | ||
|
|
332fb5e785 | ||
|
|
b133e5cbc1 | ||
|
|
b447343350 | ||
|
|
003f6ce9d1 | ||
|
|
cf5df97e85 | ||
|
|
21008dcf21 | ||
|
|
66edc7a917 | ||
|
|
6921e5bb67 | ||
|
|
445c556af6 | ||
|
|
65dd80c331 | ||
|
|
5add974b86 | ||
|
|
45dc9463fb | ||
|
|
71a87aa750 | ||
|
|
72f0a39083 | ||
|
|
76b1de0c65 | ||
|
|
79482cbab1 | ||
|
|
ec2ec281d8 | ||
|
|
a212301301 | ||
|
|
013707b465 | ||
|
|
54ad8740ad | ||
|
|
e2a4098aa1 | ||
|
|
94099aabf1 | ||
|
|
a01dc721cd | ||
|
|
b23af373da | ||
|
|
8ca6693b9d | ||
|
|
4a1d58323a | ||
|
|
09e7244747 | ||
|
|
27881074c3 | ||
|
|
08e45bc160 | ||
|
|
21f69c1c43 | ||
|
|
b668e904bc | ||
|
|
02dda2e7f4 | ||
|
|
4748f0a2c1 | ||
|
|
996da092dd | ||
|
|
73542ee0d5 | ||
|
|
29d3c40b4b | ||
|
|
9fe0bdbbb0 | ||
|
|
247c782b92 | ||
|
|
190b4bf292 | ||
|
|
7b7f42444a | ||
|
|
f12422d1a5 | ||
|
|
be90cb09e7 | ||
|
|
5765d9f6b2 | ||
|
|
0c49cecbc5 | ||
|
|
a54595650b | ||
|
|
c462f02f46 | ||
|
|
231528f64f | ||
|
|
d4b049df7b | ||
|
|
35f4c3f3e2 | ||
|
|
a64077bce3 | ||
|
|
9793807647 | ||
|
|
bb24a6d468 | ||
|
|
004566fa67 | ||
|
|
a837484d3a | ||
|
|
9552c0c41a | ||
|
|
d8759f33dd | ||
|
|
2039d75a5c | ||
|
|
c0e734022d | ||
|
|
2902f6a0f8 | ||
|
|
f3123f7ded | ||
|
|
16670064b9 | ||
|
|
d5cc8bf4dc | ||
|
|
f2915fb2e8 | ||
|
|
1ad7f7e2ac | ||
|
|
8484033e1a | ||
|
|
baeb71e0b6 | ||
|
|
ed78c2bd0b | ||
|
|
060f01f1e5 | ||
|
|
4a078df83d | ||
|
|
811fe89518 | ||
|
|
a4242e0257 | ||
|
|
cb48d8c091 | ||
|
|
9571d790d3 | ||
|
|
cc0a884fd8 | ||
|
|
69183db389 | ||
|
|
0dea0e1ac7 | ||
|
|
44a30e582c | ||
|
|
cddafcc84a | ||
|
|
a0bde92310 | ||
|
|
b6927c9d19 | ||
|
|
64052d065a | ||
|
|
93a3c54b1a | ||
|
|
00486c102c | ||
|
|
0f1714fbd7 | ||
|
|
b3f371c1ba | ||
|
|
3b0333f569 | ||
|
|
009833b56e | ||
|
|
2131109cd5 | ||
|
|
bdeb5f27af | ||
|
|
fdb2f7faa0 | ||
|
|
055133e939 | ||
|
|
61eb6eb57b | ||
|
|
52f7003cd2 | ||
|
|
e62092489a | ||
|
|
e2bf6961ec | ||
|
|
5e34c73a2c | ||
|
|
d8e5f45a39 | ||
|
|
9b229ca5b7 | ||
|
|
f06403c5d5 | ||
|
|
cb6efb2a7c | ||
|
|
e7ae26f294 | ||
|
|
8f0ead07f4 | ||
|
|
6693842691 | ||
|
|
ba5f58dcf7 | ||
|
|
9a5aac2adc | ||
|
|
0ad73da5cb | ||
|
|
a9175164d4 | ||
|
|
ca58dbd79a | ||
|
|
064c3d5e81 | ||
|
|
68faca3bf7 | ||
|
|
bc995511f9 | ||
|
|
cd82a11604 | ||
|
|
f8dfddab3c | ||
|
|
c2959b432e | ||
|
|
f1e0590abf | ||
|
|
4bcf49aa83 | ||
|
|
4617d8b455 | ||
|
|
60b257ae1a | ||
|
|
469be215ca | ||
|
|
78f1d0351d | ||
|
|
e3d31c7d84 | ||
|
|
ebb762fc15 | ||
|
|
b169529ebf | ||
|
|
77aeb72b02 | ||
|
|
51d0e1a599 | ||
|
|
34b9e8816a | ||
|
|
0d75ceb3ff | ||
|
|
9f51053fd7 | ||
|
|
348bc93c3c | ||
|
|
38791ef255 | ||
|
|
4e260ff683 | ||
|
|
9247c373cb | ||
|
|
19c4573a69 | ||
|
|
5a40dc7b77 | ||
|
|
de31bd0aaa | ||
|
|
a1338d8701 | ||
|
|
13e27eb8cd | ||
|
|
b7bb69be02 | ||
|
|
6368f67e53 | ||
|
|
73b072e919 | ||
|
|
9c3e6f8613 | ||
|
|
0f6c7de184 | ||
|
|
86b5c00bb0 | ||
|
|
1d68cbd167 | ||
|
|
8c0c200652 | ||
|
|
c2c4f032b0 | ||
|
|
5f459e7c04 | ||
|
|
12d3989d33 | ||
|
|
e6f6ec836f | ||
|
|
4573eccb67 | ||
|
|
48e589440f | ||
|
|
278084c791 | ||
|
|
0ecd42af89 | ||
|
|
589e939d84 | ||
|
|
09f8c94893 | ||
|
|
0d72b4cdde | ||
|
|
6edc2ce60c | ||
|
|
d279bd9837 |
@ -27,7 +27,7 @@ When making a contribution you agree to the following terms:
|
||||
|
||||
## AI Policy
|
||||
|
||||
Redox OS does not accept contributions generated by LLMs ([Large Language Models](https://en.wikipedia.org/wiki/Large_language_model)), sometimes also referred to as "AI". This policy is not open to discussion, any content submitted that is clearly labelled as LLM-generated (including issues, merge requests, and merge request descriptions) will be immediately closed, and any attempt to bypass this policy will result in a ban from the project.
|
||||
Redox OS does not accept contributions generated by LLMs ([Large Language Models](https://en.wikipedia.org/wiki/Large_language_model)), sometimes also referred to as "AI".
|
||||
|
||||
## Chat
|
||||
|
||||
@ -141,6 +141,10 @@ You can see all open issues on [this](https://gitlab.redox-os.org/groups/redox-o
|
||||
|
||||
Please follow [our process](https://doc.redox-os.org/book/creating-proper-pull-requests.html) for creating proper pull requests.
|
||||
|
||||
### Pull Requests Pipelines
|
||||
|
||||
The GitLab CI pipelines is runnable only by maintainer review, otherwise it will be seen as "stuck". Please don't hesitate to ask in Matrix for triggering CI pipelines after being reviewed.
|
||||
|
||||
## Important Places to Contribute
|
||||
|
||||
Before starting to contribute, we recommend reading the [General FAQ](https://www.redox-os.org/faq/) and the [Redox Book](https://doc.redox-os.org/book/).
|
||||
|
||||
619
Cargo.lock
generated
619
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -48,7 +48,7 @@ redoxer = { git = "https://gitlab.redox-os.org/redox-os/redoxer.git", default-fe
|
||||
regex = "1.11"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
termion = "4"
|
||||
toml = "0.8"
|
||||
toml = "1"
|
||||
walkdir = "2.3.1"
|
||||
ansi-to-tui = { version = "8", optional = true }
|
||||
strip-ansi-escapes = { version = "0.2.1", optional = true }
|
||||
|
||||
@ -126,6 +126,7 @@ Each "Vendor" has its own alphabetical order in "Model", independent from models
|
||||
| Dell | Latitude D600 | 0.9.0 | 2026-01-25 | desktop | i586 | BIOS | Some kernel messages displayed, then locks up |
|
||||
| HP | Compaq nc6120 | 0.9.0 | 2024-11-08 | desktop, server | i686 | BIOS | Unloads into memory at a rate slower than 1MB/s after selecting resolution. When unloading is complete the logger initializes and crashes after kernel::acpi, some information about APIC is printed. Boot logs do not progress after this point. |
|
||||
| HP | EliteBook 2570p | 0.8.0 | 2022-11-23 | demo | x86-64 | BIOS (CSM mode?) | Gets to resolution selection, Fails assert in `src/os/bios/mod.rs:77` after selecting resolution |
|
||||
| HP | ENVY Laptop 16-h1055cl | 0.9.0 | 2026-08-29 | demo | x86-64 | UEFI | Successfully boots, touchpad does not work, which means that the rest of the features can't be tested |
|
||||
| Lenovo | G570 | 0.8.0 | 2022-11-11 | desktop | x86-64 | BIOS | Bootloader panics in `alloc_zeroed_page_aligned`, Correct video mode not offered (firmware issue) |
|
||||
| Lenovo | IdeaPad Y510P | 0.8.0 | 2022-11-11 | desktop | i686 | BIOS | Panics on `phys_to_virt overflow`, probably having invalid mappings for 32-bit |
|
||||
| Lenovo | ThinkPad X1 20KH-002 | 0.9.0 | 2026-02-11 | server | x86-64 | UEFI | Boots once after build but not a second time, fails in ps2d |
|
||||
|
||||
18
Makefile
18
Makefile
@ -152,7 +152,7 @@ KPROF_OPTIONS?=u
|
||||
# for example, set --reverse to get a reverse flamegraph
|
||||
KPROF_FLAMEGRAPH_OPTIONS?=
|
||||
|
||||
.PHONY: flamegraph rotate-flamegraph differential-flamegraph
|
||||
.PHONY: flamegraph rotate-flamegraph differential-flamegraph acid-output rotate-acid-output compare-acid-output
|
||||
|
||||
rotate-flamegraph:
|
||||
mkdir -p "$(BUILD)"
|
||||
@ -165,9 +165,25 @@ flamegraph:
|
||||
make mount
|
||||
nm -CS $(KPROF_KERNEL_BINARY) >$(KPROF_KERNEL_SYM)
|
||||
redox-kprofiling $(KPROF_OUTPUT_TXT) $(KPROF_KERNEL_SYM) $(KPROF_OPTIONS) $(KPROF_CPU_GHZ) >$(KPROF_PROCESSED_OUTPUT)
|
||||
make unmount
|
||||
inferno-collapse-perf <$(KPROF_PROCESSED_OUTPUT) >$(KPROF_COLLAPSED_OUTPUT)
|
||||
inferno-flamegraph $(KPROF_FLAMEGRAPH_OPTIONS) <$(KPROF_COLLAPSED_OUTPUT) >$(KPROF_PERF_SVG)
|
||||
|
||||
differential-flamegraph:
|
||||
inferno-diff-folded $(BUILD)/flamegraph/collapsed.txt $(BUILD)/flamegraph.old/collapsed.txt >$(BUILD)/flamegraph/differential.txt
|
||||
inferno-flamegraph $(KPROF_FLAMEGRAPH_OPTIONS) <$(BUILD)/flamegraph/differential.txt >$(BUILD)/flamegraph/differential.svg
|
||||
|
||||
acid-output:
|
||||
mkdir -p $(BUILD)/acid-output
|
||||
make unmount
|
||||
make mount
|
||||
cp $(BUILD)/filesystem/home/root/acid.txt $(BUILD)/acid-output/output.txt
|
||||
make unmount
|
||||
|
||||
rotate-acid-output:
|
||||
mkdir -p "$(BUILD)"
|
||||
rm -rf "$(BUILD)/acid-output.old"
|
||||
mv "$(BUILD)/acid-output" "$(BUILD)/acid-output.old" || true
|
||||
|
||||
compare-acid-output:
|
||||
./recipes/tests/acid/source/bench_compare.py $(BUILD)/acid-output.old/output.txt $(BUILD)/acid-output/output.txt
|
||||
|
||||
@ -25,7 +25,7 @@ path = "/usr/lib/run_acid.ion"
|
||||
data = """
|
||||
#!/usr/bin/env ion
|
||||
export RUST_BACKTRACE=full
|
||||
cd /home/user/acid
|
||||
cargo test
|
||||
export HOME=/home/root
|
||||
acid-runner
|
||||
shutdown
|
||||
"""
|
||||
|
||||
@ -24,9 +24,9 @@ path = "/usr/lib/run_tests.ion"
|
||||
data = """
|
||||
#!/usr/bin/env ion
|
||||
export RUST_BACKTRACE=full
|
||||
cd /home/user/acid
|
||||
cargo test
|
||||
bash /root/relibc-tests/run.sh
|
||||
export HOME=/home/root
|
||||
acid-runner
|
||||
bash /usr/share/relibc-tests/run.sh
|
||||
os-test-runner
|
||||
shutdown
|
||||
"""
|
||||
|
||||
@ -52,6 +52,7 @@ schemes = [
|
||||
"uds_dgram",
|
||||
# File schemes
|
||||
"file",
|
||||
"tmp",
|
||||
# Display schemes
|
||||
"display*",
|
||||
# Other schemes
|
||||
@ -174,22 +175,6 @@ path = "/share"
|
||||
data = "usr/share"
|
||||
symlink = true
|
||||
|
||||
## legacy orbital directories
|
||||
[[files]]
|
||||
path = "/ui"
|
||||
data = "usr/share/ui"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/usr/share/ui/fonts"
|
||||
data = "/usr/share/fonts"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/usr/share/ui/icons"
|
||||
data = "/usr/share/icons"
|
||||
symlink = true
|
||||
|
||||
## /var
|
||||
[[files]]
|
||||
path = "/var"
|
||||
@ -227,6 +212,11 @@ data = ""
|
||||
directory = true
|
||||
mode = 0o755
|
||||
|
||||
[[files]]
|
||||
path = "/tmp"
|
||||
data = "/scheme/tmp"
|
||||
symlink = true
|
||||
|
||||
[[files]]
|
||||
path = "/var/tmp"
|
||||
data = ""
|
||||
|
||||
@ -29,5 +29,5 @@ sandbox_schemes = ["file"]
|
||||
files = ["file:/dev/null"]
|
||||
rofiles = ["file:/etc/passwd", "file:/etc/hostname", "file:/etc/localtime"]
|
||||
dirs = ["file:/tmp"]
|
||||
rodirs = ["file:/bin", "file:/ui"]
|
||||
rodirs = ["file:/bin"]
|
||||
"""
|
||||
|
||||
8
config/riscv64gc/redoxer.toml
Normal file
8
config/riscv64gc/redoxer.toml
Normal file
@ -0,0 +1,8 @@
|
||||
# Configuration used for building redoxer base image
|
||||
|
||||
include = ["../redoxer.toml"]
|
||||
|
||||
# General settings
|
||||
[general]
|
||||
# Filesystem size in MiB
|
||||
filesystem_size = 1024
|
||||
@ -62,6 +62,7 @@ coreutils = {}
|
||||
cosmic-edit = {}
|
||||
cosmic-files = {}
|
||||
cosmic-icons = {}
|
||||
cosmic-monitor = {}
|
||||
cosmic-reader = {}
|
||||
cosmic-term = {}
|
||||
cosmic-text = {}
|
||||
@ -100,15 +101,18 @@ generaluser-gs = {}
|
||||
gettext = {}
|
||||
gigalomania = {}
|
||||
git = {}
|
||||
gimp = {}
|
||||
glib = {}
|
||||
glutin = {}
|
||||
gnu-binutils = {}
|
||||
gnu-grep = {}
|
||||
gnu-make = {}
|
||||
go = {}
|
||||
goaccess = {}
|
||||
gobject-introspection = {}
|
||||
gitoxide = {}
|
||||
gstreamer = {}
|
||||
gzip = {}
|
||||
harfbuzz = {}
|
||||
hicolor-icon-theme = {}
|
||||
helix = {}
|
||||
@ -124,6 +128,7 @@ intel-one-mono = {}
|
||||
ion = {}
|
||||
kernel = {}
|
||||
kibi = {}
|
||||
lazygit = {}
|
||||
lci = {}
|
||||
libarchive = {}
|
||||
libatomic = {}
|
||||
@ -171,6 +176,7 @@ mesa = {}
|
||||
mesa-glu = {}
|
||||
mesa-demos = {}
|
||||
mesa-demos-x11 = {}
|
||||
meson = {}
|
||||
mgba = {}
|
||||
miniserve = {}
|
||||
mpc = {}
|
||||
@ -256,6 +262,7 @@ rustual-boy = {}
|
||||
rusty-checkers = {}
|
||||
rusty-rain = {}
|
||||
rvvm = {}
|
||||
scriptisto = {}
|
||||
scummvm = {}
|
||||
sdl-gfx = {}
|
||||
sdl1 = {}
|
||||
|
||||
@ -11,6 +11,7 @@ filesystem_size = 3000
|
||||
[packages]
|
||||
|
||||
# GUI Apps
|
||||
cosmic-monitor = {}
|
||||
cosmic-reader = {}
|
||||
periodictable = {}
|
||||
servo = {}
|
||||
@ -29,13 +30,11 @@ vim = {}
|
||||
wget = {}
|
||||
|
||||
# Emulators
|
||||
|
||||
dosbox = {}
|
||||
mednafen = {}
|
||||
flycast = {}
|
||||
|
||||
# Games
|
||||
|
||||
freedoom = {}
|
||||
neverball = {}
|
||||
prboom = {}
|
||||
@ -44,6 +43,7 @@ sopwith = {}
|
||||
syobonaction = {}
|
||||
|
||||
# Demos
|
||||
gtk3 = {}
|
||||
nushell = {}
|
||||
orbclient = {}
|
||||
pixelcannon = {}
|
||||
@ -57,6 +57,12 @@ softbuffer = {}
|
||||
# MIDI
|
||||
freepats = {}
|
||||
|
||||
[[files]]
|
||||
path = "/usr/lib/init.d/20_glib"
|
||||
data = """
|
||||
glib-compile-schemas /usr/share/glib-2.0/schemas/
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/home/user/Welcome.txt"
|
||||
data = """
|
||||
|
||||
@ -5,23 +5,25 @@ include = ["demo.toml"]
|
||||
# General settings
|
||||
[general]
|
||||
# Filesystem size in MiB
|
||||
filesystem_size = 8192
|
||||
filesystem_size = 16384
|
||||
|
||||
# Package settings
|
||||
[packages]
|
||||
# apps
|
||||
|
||||
# GUI Apps
|
||||
#boxedwine = {}
|
||||
cosmic-player = {}
|
||||
cosmic-reader = {}
|
||||
cosmic-settings = {}
|
||||
cosmic-store = {}
|
||||
cosmic-term = {}
|
||||
cosmic-text = {}
|
||||
#cosmic-player = {}
|
||||
#cosmic-settings = {}
|
||||
#cosmic-store = {}
|
||||
#qemu = {} # not building
|
||||
schismtracker = {}
|
||||
servo = {}
|
||||
|
||||
# cli
|
||||
# GUI Data
|
||||
jeremy = {}
|
||||
noto-color-emoji = {}
|
||||
ttf-hack = {}
|
||||
|
||||
# Terminal Apps
|
||||
cleye = {}
|
||||
ffmpeg6 = {}
|
||||
lua54 = {}
|
||||
@ -34,26 +36,54 @@ sed = {}
|
||||
shellharden = {}
|
||||
xz = {}
|
||||
|
||||
# demos
|
||||
# Emulators
|
||||
mgba = {}
|
||||
#retroarch = {} # need to package cores
|
||||
rs-nes = {} # need game for testing
|
||||
rust64 = {} # need roms
|
||||
rustual-boy = {} # need game for testing
|
||||
scummvm = {} # need game for testing
|
||||
#vice = {} # broken on new toolchain
|
||||
|
||||
# Games
|
||||
devilutionx = {}
|
||||
eduke32 = {}
|
||||
freeciv = {}
|
||||
gigalomania = {}
|
||||
love = {}
|
||||
mednaffe = {}
|
||||
openjazz = {}
|
||||
openjk = {}
|
||||
openttd = {}
|
||||
openttd-opengfx = {}
|
||||
openttd-openmsx = {}
|
||||
openttd-opensfx = {}
|
||||
quakespasm = {}
|
||||
sm64ex = {}
|
||||
#spacecadetpinball = {} # not building
|
||||
#vvvvvv = {} # cannot find -lgcc_s
|
||||
|
||||
# Demos
|
||||
#cairodemo = {}
|
||||
cmatrix = {}
|
||||
cpal = {}
|
||||
gears = {}
|
||||
glutin = {}
|
||||
#glutin = {}
|
||||
#hematite = {} # not building
|
||||
iced = {}
|
||||
libcosmic = {}
|
||||
osdemo = {} # does not show anything
|
||||
#libcosmic = {}
|
||||
#osdemo = {} # does not show anything
|
||||
#pathfinder = {} # not building
|
||||
procedural-wallpapers-rs = {}
|
||||
#rust-cairo = {}
|
||||
#rust-cairo-demo = {}
|
||||
sdl2-gears = {}
|
||||
vttest = {}
|
||||
#webrender = {}
|
||||
winit = {}
|
||||
|
||||
# dev
|
||||
# MIDI
|
||||
generaluser-gs = {}
|
||||
timidity = {}
|
||||
|
||||
# Development
|
||||
autoconf = {}
|
||||
automake = {}
|
||||
#cookbook = {}
|
||||
@ -63,38 +93,4 @@ gnu-make = {}
|
||||
nasm = {}
|
||||
patch = {}
|
||||
pkg-config = {}
|
||||
rust = {}
|
||||
|
||||
# games
|
||||
devilutionx = {}
|
||||
eduke32 = {}
|
||||
flycast = {}
|
||||
freeciv = {}
|
||||
gigalomania = {}
|
||||
love = {}
|
||||
mednafen = {}
|
||||
mgba = {}
|
||||
openjazz = {}
|
||||
openjk = {}
|
||||
openttd = {}
|
||||
openttd-opengfx = {}
|
||||
openttd-openmsx = {}
|
||||
openttd-opensfx = {}
|
||||
quakespasm = {}
|
||||
#retroarch = {} # need to package cores
|
||||
rs-nes = {} # need game for testing
|
||||
rust64 = {} # need roms
|
||||
rustual-boy = {} # need game for testing
|
||||
scummvm = {} # need game for testing
|
||||
sm64ex = {}
|
||||
#spacecadetpinball = {} # not building
|
||||
syobonaction = {}
|
||||
#vice = {} # broken on new toolchain
|
||||
#vvvvvv = {} # cannot find -lgcc_s
|
||||
|
||||
# stuff
|
||||
generaluser-gs = {}
|
||||
jeremy = {}
|
||||
noto-color-emoji = {}
|
||||
timidity = {}
|
||||
ttf-hack = {}
|
||||
#rust = {}
|
||||
|
||||
12
flake.nix
12
flake.nix
@ -86,7 +86,8 @@
|
||||
# with FSTOOLS_IN_PODMAN=1 these are not needed
|
||||
# without it, the installer fails to link FUSE somehow
|
||||
#fuse
|
||||
qemu_kvm
|
||||
qemu_kvm # for host arch
|
||||
qemu
|
||||
];
|
||||
|
||||
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs;
|
||||
@ -103,14 +104,13 @@
|
||||
#TODO: This isn't tested yet, use at your own risk
|
||||
native = (pkgs.mkShell.override { stdenv = pkgs.gcc14Stdenv; }) rec {
|
||||
nativeBuildInputs =
|
||||
let
|
||||
autoreconf269 = pkgs.writeShellScriptBin "autoreconf2.69" "${pkgs.autoconf269}/bin/autoreconf";
|
||||
in
|
||||
with pkgs;
|
||||
[
|
||||
(pkgs.writeShellScriptBin "${pkgs.stdenv.hostPlatform.system}-gnu-strip" ''
|
||||
${pkgs.bintools-unwrapped}/bin/strip $@
|
||||
'')
|
||||
ant
|
||||
autoconf
|
||||
autoreconf269 # gnu-binutils
|
||||
autoconf269
|
||||
automake
|
||||
bison
|
||||
cmake
|
||||
|
||||
6
mk/ci.mk
6
mk/ci.mk
@ -58,14 +58,14 @@ ifeq ($(PODMAN_BUILD),1)
|
||||
else
|
||||
$(MAKE) PREFIX_BINARY=0 \
|
||||
"prefix/$(TARGET)/gcc-install.tar.gz" \
|
||||
"prefix/$(TARGET)/relibc-install.tar.gz" \
|
||||
"prefix/$(TARGET)/rust-install.tar.gz" \
|
||||
"prefix/$(TARGET)/clang-install.tar.gz"
|
||||
"prefix/$(TARGET)/clang-install.tar.gz" \
|
||||
"prefix/$(TARGET)/relibc-install.tar.gz"
|
||||
rm -rf "build/toolchain/$(HOST_TARGET)/$(TARGET)"
|
||||
mkdir -p "build/toolchain/$(HOST_TARGET)/$(TARGET)"
|
||||
cp "prefix/$(TARGET)/gcc-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/gcc-install.tar.gz"
|
||||
cp "prefix/$(TARGET)/relibc-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/relibc-install.tar.gz"
|
||||
cp "prefix/$(TARGET)/rust-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/rust-install.tar.gz"
|
||||
cp "prefix/$(TARGET)/clang-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/clang-install.tar.gz"
|
||||
cp "prefix/$(TARGET)/relibc-install.tar.gz" "build/toolchain/$(HOST_TARGET)/$(TARGET)/relibc-install.tar.gz"
|
||||
cd "build/toolchain/$(HOST_TARGET)/$(TARGET)" && sha256sum -b * > SHA256SUM
|
||||
endif
|
||||
|
||||
@ -13,7 +13,7 @@ else
|
||||
FILESYSTEM_SIZE=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG)); \
|
||||
fi && \
|
||||
truncate -s "$$FILESYSTEM_SIZE"m $@.partial
|
||||
umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $@.partial
|
||||
umask 022 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $@.partial
|
||||
mv $@.partial $@
|
||||
endif
|
||||
|
||||
@ -29,7 +29,7 @@ else
|
||||
FILESYSTEM_SIZE=$(shell $(INSTALLER) --filesystem-size -c $(FILESYSTEM_CONFIG)); \
|
||||
fi && \
|
||||
truncate -s "$$FILESYSTEM_SIZE"m $@.partial
|
||||
umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) --write-bootloader="$(BUILD)/bootloader-live.efi" --live $@.partial
|
||||
umask 022 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) --write-bootloader="$(BUILD)/bootloader-live.efi" --live $@.partial
|
||||
mv $@.partial $@
|
||||
cp redox.ipxe $(BUILD)/redox.ipxe
|
||||
endif
|
||||
@ -52,7 +52,7 @@ else
|
||||
$(REDOXFS) $@.partial $(MOUNT_DIR)
|
||||
sleep 1
|
||||
pgrep redoxfs
|
||||
umask 002 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $(MOUNT_DIR)
|
||||
umask 022 && $(INSTALLER) $(INSTALLER_OPTS) -c $(FILESYSTEM_CONFIG) $(MOUNT_DIR)
|
||||
sync
|
||||
-$(FUMOUNT) $(MOUNT_DIR) || true
|
||||
rm -rf $(MOUNT_DIR)
|
||||
|
||||
@ -36,7 +36,7 @@ PODMAN_ENV=--env PATH=/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:
|
||||
PODMAN_CONFIG=--env ARCH=$(ARCH) --env BOARD=$(BOARD) --env CONFIG_NAME=$(CONFIG_NAME) --env FILESYSTEM_CONFIG=$(FILESYSTEM_CONFIG) --env PREFIX_BINARY=$(PREFIX_BINARY) \
|
||||
--env CI=$(CI) --env COOKBOOK_MAKE_JOBS=$(COOKBOOK_MAKE_JOBS) --env COOKBOOK_LOGS=$(COOKBOOK_LOGS) --env COOKBOOK_VERBOSE=$(COOKBOOK_VERBOSE) --env COOKBOOK_COMPRESSED=$(COOKBOOK_COMPRESSED) \
|
||||
--env REPO_APPSTREAM=$(REPO_APPSTREAM) --env REPO_BINARY=$(REPO_BINARY) --env REPO_NONSTOP=$(REPO_NONSTOP) --env REPO_OFFLINE=$(REPO_OFFLINE) --env TESTBIN=$(TESTBIN) \
|
||||
--env HOSTED_REDOX=$(HOSTED_REDOX) --env PREFIX_USE_UPSTREAM_RUST_COMPILER=$(PREFIX_USE_UPSTREAM_RUST_COMPILER)
|
||||
--env HOSTED_REDOX=$(HOSTED_REDOX) --env PREFIX_USE_UPSTREAM_RUST_COMPILER=$(PREFIX_USE_UPSTREAM_RUST_COMPILER) --env COOKBOOK_CLEAN_TARGET=$(COOKBOOK_CLEAN_TARGET)
|
||||
PODMAN_OPTIONS=--rm --workdir $(CONTAINER_WORKDIR) --interactive --tty --cap-add SYS_ADMIN --device /dev/fuse --network=host --env TERM=$(TERM) --pids-limit=-1
|
||||
PODMAN_RUN=podman run $(PODMAN_OPTIONS) $(PODMAN_VOLUMES) $(PODMAN_ENV) $(PODMAN_CONFIG) $(IMAGE_TAG)
|
||||
|
||||
|
||||
52
mk/prefix.mk
52
mk/prefix.mk
@ -73,6 +73,7 @@ else
|
||||
rm -rf "$@.partial/include/"*
|
||||
cp -r "$(PREFIX)/gcc-install/include/c++" "$@.partial/include/c++"
|
||||
endif
|
||||
$(REPO_BIN) clean-target relibc $(COOKBOOK_OPTS)
|
||||
export PATH="$(ROOT)/$@.partial/bin:$$PATH" && \
|
||||
export CARGO="env -u CARGO cargo" $(PREFIX_CONFIG) && \
|
||||
$(REPO_BIN) cook relibc $(COOKBOOK_OPTS)
|
||||
@ -98,6 +99,8 @@ $(PREFIX)/relibc-install.tar.gz: $(PREFIX)/sysroot
|
||||
tar \
|
||||
--create \
|
||||
--gzip \
|
||||
--sort=name \
|
||||
--mtime='@0' \
|
||||
--file "$@" \
|
||||
--directory="$<" \
|
||||
.
|
||||
@ -204,10 +207,14 @@ $(PREFIX)/%.tar.gz: $(PREFIX)/%
|
||||
tar \
|
||||
--create \
|
||||
--gzip \
|
||||
--sort=name \
|
||||
--mtime='@0' \
|
||||
--file "$@" \
|
||||
--directory="$<" \
|
||||
.
|
||||
|
||||
PREFIX_FETCH_TAG=$(PREFIX)/fetch.tag
|
||||
|
||||
# BUILD GCC ---------------------------------------------------
|
||||
$(PREFIX)/libtool-install: | $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
@ -227,7 +234,26 @@ else
|
||||
mv "$@.partial" "$@"
|
||||
endif
|
||||
|
||||
$(PREFIX)/binutils-install: | $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
# libtool may be used during autoconf, so this depends after building libtool
|
||||
# it is fine to skip this, but this is used to fail early if sources fail due to autoconf
|
||||
$(PREFIX_FETCH_TAG): | $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@echo "\033[1;36;49mFetching prefix sources\033[0m"
|
||||
rm -f "$@"
|
||||
export $(PREFIX_CONFIG) COOKBOOK_LIBTOOL_DIR=$(LIBTOOL_PATH) PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$$PATH" \
|
||||
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) COOKBOOK_CROSS_GNU_TARGET=$(GNU_TARGET) && \
|
||||
$(REPO_BIN) fetch host:binutils-gdb host:gcc13 host:llvm21 relibc
|
||||
ifneq ($(PREFIX_USE_UPSTREAM_RUST_COMPILER),1)
|
||||
export $(PREFIX_CONFIG) COOKBOOK_LIBTOOL_DIR=$(LIBTOOL_PATH) PATH="$(ROOT)/$(PREFIX)/libtool-install/bin:$$PATH" \
|
||||
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(TARGET) COOKBOOK_CROSS_GNU_TARGET=$(GNU_TARGET) && \
|
||||
$(REPO_BIN) fetch host:wasi-libc host:rust
|
||||
endif
|
||||
touch "$@"
|
||||
endif
|
||||
|
||||
$(PREFIX)/binutils-install: | $(PREFIX_FETCH_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@ -242,7 +268,7 @@ else
|
||||
mv "$@.partial" "$@"
|
||||
endif
|
||||
|
||||
$(PREFIX)/gcc-freestanding-install: $(PREFIX)/binutils-install | $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
$(PREFIX)/gcc-freestanding-install: $(PREFIX)/binutils-install | $(PREFIX_FETCH_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@ -262,7 +288,7 @@ else
|
||||
mv "$@.partial" "$@"
|
||||
endif
|
||||
|
||||
$(PREFIX)/relibc-freestanding-install: $(PREFIX)/gcc-freestanding-install | $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
$(PREFIX)/relibc-freestanding-install: $(PREFIX)/gcc-freestanding-install | $(PREFIX_FETCH_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@ -279,7 +305,7 @@ else
|
||||
mv "$@.partial" "$@"
|
||||
endif
|
||||
|
||||
$(PREFIX)/gcc-install: $(PREFIX)/relibc-freestanding-install | $(PREFIX)/libtool-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
$(PREFIX)/gcc-install: $(PREFIX)/relibc-freestanding-install | $(PREFIX)/libtool-install $(PREFIX_FETCH_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@ -306,8 +332,6 @@ else
|
||||
@#TODO: generates wrong lib path for libtool
|
||||
rm -f "$@.partial"/$(GNU_TARGET)/lib/libstdc++.la
|
||||
rm -f "$@.partial"/$(GNU_TARGET)/lib/libsupc++.la
|
||||
@#TODO: Needed by clang, yet not emitted
|
||||
ln -s crtbegin.o "$@.partial"/lib/gcc/$(GNU_TARGET)/13.2.0/crtbeginT.o
|
||||
# hosted libstdcxx
|
||||
export PATH="$(ROOT)/$@.partial/bin:$$PATH" \
|
||||
ACLOCAL_PATH="$(LIBTOOL_PATH)/share/aclocal:$$ACLOCAL_PATH" && \
|
||||
@ -398,14 +422,14 @@ endif
|
||||
# BUILD RUST ---------------------------------------------------
|
||||
else
|
||||
|
||||
$(PREFIX)/wasip1-libc-install: $(PREFIX)/clang-install | $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
$(PREFIX)/wasip1-libc-install: $(PREFIX)/clang-install | $(PREFIX_FETCH_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@echo "\033[1;36;49mBuilding wasip1-libc-install\033[0m"
|
||||
rm -rf "$@.partial" "$@"
|
||||
export REDOXER_TOOLCHAIN=$(ROOT)/$(PREFIX)/clang-install $(PREFIX_CONFIG) PATH="$(ROOT)/$(PREFIX)/clang-install/bin:$$PATH" \
|
||||
REDOXER_USE_CLANG=1 COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=wasm32-wasip1 COOKBOOK_CROSS_GNU_TARGET=wasm32-wasip1 && \
|
||||
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=wasm32-wasip1 COOKBOOK_CROSS_GNU_TARGET=wasm32-wasip1 && \
|
||||
$(REPO_BIN) cook host:wasi-libc
|
||||
cp -r "$(WASIP1_LIBC_TARGET)/stage/usr/". "$@.partial"
|
||||
mkdir -p "$@.partial/share/wasi-sysroot"
|
||||
@ -415,7 +439,7 @@ else
|
||||
# TODO: Cache from WASIP1_LIBC_TARGET is currently not cleared.
|
||||
endif
|
||||
|
||||
$(PREFIX)/rust-install: | $(PREFIX)/wasip1-libc-install $(PREFIX)/gcc-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
$(PREFIX)/rust-install: | $(PREFIX)/wasip1-libc-install $(PREFIX)/gcc-install $(PREFIX_FETCH_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@ -434,7 +458,7 @@ endif
|
||||
endif
|
||||
|
||||
# BUILD CLANG ---------------------------------------------------
|
||||
$(PREFIX)/clang-install: | $(PREFIX)/gcc-install $(FSTOOLS_TAG) $(CONTAINER_TAG)
|
||||
$(PREFIX)/clang-install: | $(PREFIX)/gcc-install $(PREFIX_FETCH_TAG)
|
||||
ifeq ($(PODMAN_BUILD),1)
|
||||
$(PODMAN_RUN) make $@
|
||||
else
|
||||
@ -450,12 +474,14 @@ else
|
||||
cp -r "$(LLD_TARGET)/stage/usr/". "$@.partial"
|
||||
rm -rf "$@.partial/lib/"*.a
|
||||
echo "--sysroot=$(ROOT)/$(PREFIX)/gcc-install" > "$@.partial/bin/$(GNU_TARGET).cfg"
|
||||
ln -s clang-21 "$@.partial/bin/$(TARGET)-clang"
|
||||
ln -s clang-21 "$@.partial/bin/wasm32-wasip1-clang"
|
||||
ln -s clang-21 "$@.partial/bin/$(GNU_TARGET)-clang"
|
||||
ln -s clang++ "$@.partial/bin/$(GNU_TARGET)-clang++"
|
||||
export PATH="$(ROOT)/$@.partial/bin:$$PATH" $(PREFIX_CONFIG) \
|
||||
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(HOST_TARGET) REDOXER_USE_CLANG=1 && \
|
||||
COOKBOOK_HOST_SYSROOT=/usr COOKBOOK_CROSS_TARGET=$(HOST_TARGET) && \
|
||||
$(REPO_BIN) cook llvm-rt21
|
||||
cp -r "$(LLVM_RT_TARGET)/stage/usr/". "$@.partial"
|
||||
echo "--sysroot=../$(GNU_TARGET)" > "$@.partial/bin/$(GNU_TARGET).cfg"
|
||||
echo "--sysroot=<CFGDIR>/../$(GNU_TARGET)" > "$@.partial/bin/$(GNU_TARGET).cfg"
|
||||
mv "$@.partial" "$@"
|
||||
# no longer needed, delete build files to save disk space
|
||||
rm -rf $(CLANG_TARGET) $(LLD_TARGET) $(LLVM_RT_TARGET)
|
||||
|
||||
23
mk/qemu.mk
23
mk/qemu.mk
@ -5,6 +5,9 @@ QEMUFLAGS?=-d guest_errors -name "Redox OS $(ARCH)"
|
||||
netboot?=no
|
||||
redoxer?=no
|
||||
VGA_SUPPORTED=no
|
||||
# for qemu-relative firmware search
|
||||
QEMU_PATH?=$(shell command -v $(QEMU))
|
||||
QEMU_BASE_DIR?=$(shell if [ $(QEMU_PATH) ]; then realpath $$(dirname $(QEMU_PATH))/..; fi)
|
||||
|
||||
ifeq ($(ARCH),i586)
|
||||
audio?=ac97
|
||||
@ -39,8 +42,7 @@ else ifeq ($(ARCH),x86_64)
|
||||
ifeq ($(FIRMWARE),)
|
||||
PFLASH0=$(firstword \
|
||||
$(wildcard /usr/share/qemu/edk2-x86_64-code.fd) \
|
||||
$(wildcard /run/libvirt/nix-ovmf/edk2-x86_64-code.fd) \
|
||||
$(wildcard /opt/homebrew/opt/qemu/share/qemu/edk2s-x86_64-code.fd) \
|
||||
$(wildcard $(QEMU_BASE_DIR)/share/qemu/edk2-x86_64-code.fd) \
|
||||
)
|
||||
endif
|
||||
endif
|
||||
@ -78,9 +80,9 @@ else ifeq ($(ARCH),aarch64)
|
||||
ifeq ($(FIRMWARE),)
|
||||
PFLASH0=$(firstword \
|
||||
$(wildcard /usr/share/qemu/edk2-aarch64-code.fd) \
|
||||
$(wildcard /run/libvirt/nix-ovmf/edk2-aarch64-code.fd) \
|
||||
$(wildcard /opt/homebrew/opt/qemu/share/qemu/edk2-aarch64-code.fd) \
|
||||
$(wildcard $(QEMU_BASE_DIR)/share/qemu/edk2-aarch64-code.fd) \
|
||||
)
|
||||
PFLASH0_NEEDED=yes
|
||||
endif
|
||||
else
|
||||
FIRMWARE=$(BUILD)/qemu_uboot.rom
|
||||
@ -112,16 +114,16 @@ else ifeq ($(ARCH),riscv64gc)
|
||||
$(wildcard /usr/share/qemu-efi-riscv64/RISCV_VIRT_CODE.fd) \
|
||||
$(wildcard /usr/share/edk2/riscv/RISCV_VIRT_CODE.fd) \
|
||||
$(wildcard /usr/share/qemu/edk2-riscv-code.fd) \
|
||||
$(wildcard /run/libvirt/nix-ovmf/edk2-riscv-code.fd) \
|
||||
$(wildcard /opt/homebrew/opt/qemu/share/qemu/edk2-riscv-code.fd) \
|
||||
$(wildcard $(QEMU_BASE_DIR)/share/qemu/edk2-riscv-code.fd) \
|
||||
)
|
||||
PFLASH0_NEEDED=yes
|
||||
PFLASH1=$(firstword \
|
||||
$(wildcard /usr/share/qemu-efi-riscv64/RISCV_VIRT_VARS.fd) \
|
||||
$(wildcard /usr/share/edk2/riscv/RISCV_VIRT_VARS.fd) \
|
||||
$(wildcard /usr/share/qemu/edk2-riscv-vars.fd) \
|
||||
$(wildcard /run/libvirt/nix-ovmf/edk2-riscv-vars.fd) \
|
||||
$(wildcard /opt/homebrew/opt/qemu/share/qemu/edk2-riscv-vars.fd) \
|
||||
$(wildcard $(QEMU_BASE_DIR)/share/qemu/edk2-riscv-vars.fd) \
|
||||
)
|
||||
PFLASH1_NEEDED=yes
|
||||
ifneq ($(usb),no)
|
||||
QEMUFLAGS+=-device qemu-xhci -device usb-kbd -device usb-tablet
|
||||
endif
|
||||
@ -358,8 +360,13 @@ qemu-deps: $(BUILD)/fw_vars.bin
|
||||
.PRECIOUS: $(BUILD)/fw_vars.bin
|
||||
$(BUILD)/fw_vars.bin: $(PFLASH1)
|
||||
cp "$<" "$@"
|
||||
chmod +w "$@"
|
||||
endif
|
||||
|
||||
qemu-deps:
|
||||
$(if $(PFLASH0_NEEDED),$(if $(PFLASH0),,$(error UEFI firmware needed but not found)),)
|
||||
$(if $(PFLASH1_NEEDED),$(if $(PFLASH1),,$(error UEFI variables needed but not found)),)
|
||||
|
||||
$(EXTRA_DISK):
|
||||
truncate -s 1g $@
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Compression library and tools, bzip2/.bz2 format"
|
||||
|
||||
[source]
|
||||
tar = "https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz"
|
||||
blake3 = "97af3f520629c65fe41292f77e6ca798fe594d7987bfb2aebe7c6fcdc7ab5ed2"
|
||||
@ -17,6 +20,7 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
||||
PREFIX="${COOKBOOK_STAGE}/usr" \
|
||||
install
|
||||
|
||||
if [ "${COOKBOOK_DYNAMIC}" = "1" ]; then
|
||||
# However, distros distribute libbz2 as well so we'll support it too
|
||||
# Linking the lib fails if we don't rebuild the objects from earlier
|
||||
"${COOKBOOK_MAKE}" clean
|
||||
@ -32,7 +36,17 @@ rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
||||
cp -av libbz2.so* "${COOKBOOK_STAGE}/usr/lib"
|
||||
ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so.1"
|
||||
ln -s "libbz2.so.1.0" "${COOKBOOK_STAGE}/usr/lib/libbz2.so"
|
||||
fi
|
||||
|
||||
mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig"
|
||||
# Change symlinks in usr/bin as relative
|
||||
find "${COOKBOOK_STAGE}/usr/bin" -type l | while read -r link; do
|
||||
target=$(readlink "$link")
|
||||
if [[ "$target" = /* ]]; then
|
||||
ln -snfr "$target" "$link"
|
||||
fi
|
||||
done
|
||||
|
||||
mkdir -p "${COOKBOOK_STAGE}/usr/lib/pkgconfig" "${COOKBOOK_STAGE}/usr/share/"
|
||||
cp "${COOKBOOK_RECIPE}/pkgconfig" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/bzip2.pc"
|
||||
mv "${COOKBOOK_STAGE}/usr/man" "${COOKBOOK_STAGE}/usr/share/"
|
||||
"""
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Compression library, .zip format, based on zlib"
|
||||
|
||||
[source]
|
||||
tar = "https://libzip.org/download/libzip-1.11.4.tar.gz"
|
||||
blake3 = "844cf66c68f2dcf182f6626d5b72d55b75a100c0a93b3e6a45b447669ecf7088"
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
[package]
|
||||
description = "Compression library and tools, lz4 format"
|
||||
|
||||
[source]
|
||||
tar = "https://github.com/lz4/lz4/releases/download/v1.10.0/lz4-1.10.0.tar.gz"
|
||||
blake3 = "3e69fd475e7852e17594985528b5232afeba7d3d56cfebe2e89071768b2ab36a"
|
||||
patches = ["redox.patch"]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
diff '--color=auto' -ruwN source/programs/util.h source-new/programs/util.h
|
||||
--- source/programs/util.h 2024-07-21 13:29:49.000000000 -0400
|
||||
+++ source-new/programs/util.h 2024-12-13 02:21:03.032769559 -0500
|
||||
@@ -52,6 +52,9 @@
|
||||
#include <time.h> /* time */
|
||||
#include <limits.h> /* INT_MAX */
|
||||
#include <errno.h>
|
||||
+#if defined(_REDOX)
|
||||
+# include <sys/time.h> /* utimes */
|
||||
+#endif
|
||||
|
||||
|
||||
|
||||
@@ -239,12 +242,20 @@
|
||||
timebuf.modtime = statbuf->st_mtime;
|
||||
res += utime(filename, &timebuf); /* set access and modification times */
|
||||
#else
|
||||
+ #if defined(_REDOX)
|
||||
+ struct timeval timebuf[2];
|
||||
+ memset(timebuf, 0, sizeof(timebuf));
|
||||
+ timebuf[0].tv_usec = UTIME_NOW;
|
||||
+ timebuf[1].tv_sec = statbuf->st_mtime;
|
||||
+ res += utimes(filename, timebuf);
|
||||
+ #else
|
||||
struct timespec timebuf[2];
|
||||
memset(timebuf, 0, sizeof(timebuf));
|
||||
timebuf[0].tv_nsec = UTIME_NOW;
|
||||
timebuf[1].tv_sec = statbuf->st_mtime;
|
||||
res += utimensat(AT_FDCWD, filename, timebuf, 0); /* set access and modification times */
|
||||
#endif
|
||||
+#endif
|
||||
}
|
||||
|
||||
#if !defined(_WIN32)
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Compression library and tools, xz and .lzma format"
|
||||
|
||||
[source]
|
||||
tar = "https://github.com/tukaani-project/xz/releases/download/v5.2.13/xz-5.2.13.tar.gz"
|
||||
blake3 = "edc6350542e8cb7188a878135e5b9bd592d687e5b47451ca1c89d51cc4bc6b53"
|
||||
@ -14,7 +17,6 @@ COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--disable-lzmainfo
|
||||
--disable-xz
|
||||
--disable-xzdec
|
||||
--enable-threads=no
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Compression library and tools, zstd/.zst format"
|
||||
|
||||
[source]
|
||||
tar = "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz"
|
||||
blake3 = "730dca31244abd219e995f03a55d95b2cfb4b3e16cda055a79fa6f30a4f0e1db"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Wallpapers from Pop!_OS Linux"
|
||||
|
||||
[source]
|
||||
git = "https://github.com/pop-os/wallpapers"
|
||||
shallow_clone = true
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Wallpapers from Ubuntu Linux"
|
||||
|
||||
[source]
|
||||
tar = "https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/ubuntu-wallpapers/23.10.4/ubuntu-wallpapers_23.10.4.orig.tar.gz"
|
||||
blake3 = "1e479d0aa48fe3f2961a2dac28c3ed397a29616cf6e7d73f5ceb6fabfd6449e1"
|
||||
|
||||
@ -1,5 +1,9 @@
|
||||
[package]
|
||||
description = "Essential system components and drivers for Redox"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/base.git"
|
||||
git = "https://gitlab.redox-os.org/willnode/base.git"
|
||||
branch = "ramfs-tmp"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Utilities for processing, manipulating, and inspecting binary files"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/binutils.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Redox OS bootloader"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/bootloader.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Containers and chroots for Redox"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/contain.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Core UNIX shell utilities"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/coreutils.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Standard POSIX shell, compatible with sh"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/dash.git"
|
||||
branch = "redox"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Basic, but not essential for system function, UNIX shell utilities"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/extrautils.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "UNIX find tool"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/findutils.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Builds a bootable Redox image"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/installer.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Official shell of the Redox project"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/ion.git"
|
||||
|
||||
|
||||
@ -1,5 +1,9 @@
|
||||
[package]
|
||||
description = "The Redox microkernel"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/kernel.git"
|
||||
git = "https://gitlab.redox-os.org/willnode/kernel.git"
|
||||
branch = "open-external"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Default data files required for networking"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/netdb.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Basic command-line networking utilities"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/netutils.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Package format utilities for Redox"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/pkgar.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Standard package manager for Redox"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/pkgutils.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Daemon used for profiling kernel (requires profiling-kernel recipe)"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/profiled.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Kernel with profiling code enabled"
|
||||
|
||||
[source]
|
||||
same_as = "../kernel"
|
||||
|
||||
|
||||
@ -1,5 +1,9 @@
|
||||
[package]
|
||||
description = "Official filesystem of the Redox project"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/redoxfs.git"
|
||||
git = "https://gitlab.redox-os.org/willnode/redoxfs.git"
|
||||
branch = "open-external"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
|
||||
@ -1,8 +1,13 @@
|
||||
[package]
|
||||
description = "Redox POSIX/C Standard Library"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/relibc.git"
|
||||
git = "https://gitlab.redox-os.org/willnode/relibc.git"
|
||||
branch = "open-external"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
compiler = "gcc-no-lto"
|
||||
script = """
|
||||
# rustup workaround https://github.com/rust-lang/rustup/issues/988
|
||||
if [ "${COOKBOOK_HOST_SYSROOT}" = "/usr" ]; then
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Command-line utility for debugging the system"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/strace-redox.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Command-line UNIX tools for managing users and groups"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/userutils.git"
|
||||
|
||||
|
||||
@ -1,19 +1,25 @@
|
||||
# TODO Fix coreutils i18n/l10n behavior on Redox
|
||||
# TODO Fix locale init bug on aarch64 before removing patches
|
||||
# TODO https://github.com/uutils/coreutils/commit/e6f7ad06 broke locales on x86_64
|
||||
[package]
|
||||
description = "General, useful command-line UNIX shell utilities (GNU Coreutils reimplemented in Rust)"
|
||||
|
||||
# TODO Fix locale init bug caused by OnceLock combined with thread_local
|
||||
# TODO 0.12.0 requires rustix symlink_at
|
||||
[source]
|
||||
git = "https://github.com/uutils/coreutils"
|
||||
rev = "1f7c81f5d2d3e56c518349c0392158871a1ea9ec"
|
||||
rev = "0.11.0"
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"libonig"
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
export RUSTONIG_DYNAMIC_LIBONIG=1
|
||||
# TODO: upstream changes, consider using feat_require_unix_core if relibc is ready?
|
||||
CARGO_PROFILE_RELEASE_LTO=thin cookbook_cargo --no-default-features --features feat_os_unix_redox,kill,nice --bin coreutils
|
||||
CARGO_PROFILE_RELEASE_LTO=thin cookbook_cargo --no-default-features --features feat_os_unix_redox,kill,nice,nproc --bin coreutils
|
||||
|
||||
BINS=(
|
||||
'['
|
||||
|
||||
@ -1,123 +1,12 @@
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
index 5f417bd42..b7b895a9c 100644
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -326,6 +326,7 @@ feat_os_unix_redox = [
|
||||
"feat_common_core",
|
||||
#
|
||||
"chmod",
|
||||
+ "nproc",
|
||||
"stat",
|
||||
"uname",
|
||||
]
|
||||
diff --git a/src/uucore/src/lib/features/fs.rs b/src/uucore/src/lib/features/fs.rs
|
||||
index fd1f30303..c508f6b9b 100644
|
||||
--- a/src/uucore/src/lib/features/fs.rs
|
||||
+++ b/src/uucore/src/lib/features/fs.rs
|
||||
@@ -13,7 +13,7 @@ use libc::{
|
||||
S_IRUSR, S_ISGID, S_ISUID, S_ISVTX, S_IWGRP, S_IWOTH, S_IWUSR, S_IXGRP, S_IXOTH, S_IXUSR,
|
||||
mkfifo, mode_t,
|
||||
};
|
||||
-#[cfg(all(unix, not(target_os = "redox")))]
|
||||
+#[cfg(unix)]
|
||||
pub use libc::{major, makedev, minor};
|
||||
use std::collections::HashSet;
|
||||
use std::collections::VecDeque;
|
||||
@@ -849,24 +849,6 @@ pub fn make_fifo(path: &Path) -> std::io::Result<()> {
|
||||
}
|
||||
}
|
||||
|
||||
-// Redox's libc appears not to include the following utilities
|
||||
-
|
||||
-#[cfg(target_os = "redox")]
|
||||
-pub fn major(dev: libc::dev_t) -> libc::c_uint {
|
||||
- (((dev >> 8) & 0xFFF) | ((dev >> 32) & 0xFFFFF000)) as _
|
||||
-}
|
||||
-
|
||||
-#[cfg(target_os = "redox")]
|
||||
-pub fn minor(dev: libc::dev_t) -> libc::c_uint {
|
||||
- ((dev & 0xFF) | ((dev >> 12) & 0xFFFFF00)) as _
|
||||
-}
|
||||
-
|
||||
-#[cfg(target_os = "redox")]
|
||||
-pub fn makedev(maj: libc::c_uint, min: libc::c_uint) -> libc::dev_t {
|
||||
- let [maj, min] = [maj as libc::dev_t, min as libc::dev_t];
|
||||
- (min & 0xff) | ((maj & 0xfff) << 8) | ((min & !0xff) << 12) | ((maj & !0xfff) << 32)
|
||||
-}
|
||||
-
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
// Note this useful idiom: importing names from outer (for mod tests) scope.
|
||||
diff --git a/src/uucore/src/lib/features/i18n/mod.rs b/src/uucore/src/lib/features/i18n/mod.rs
|
||||
index 282baf2e7..a38ccb30e 100644
|
||||
--- a/src/uucore/src/lib/features/i18n/mod.rs
|
||||
+++ b/src/uucore/src/lib/features/i18n/mod.rs
|
||||
@@ -45,8 +45,21 @@ pub fn get_locale_from_env(locale_name: &str) -> (Locale, UEncoding) {
|
||||
|
||||
if let Some(simple) = split.next() {
|
||||
// Handle explicit C and POSIX locales - these should always use byte comparison
|
||||
+ let encoding = split.next();
|
||||
+ let is_utf8 = encoding.is_some_and(|enc| {
|
||||
+ let lower = enc.to_lowercase();
|
||||
+ lower == "utf-8" || lower == "utf8"
|
||||
+ });
|
||||
+
|
||||
if simple == "C" || simple == "POSIX" {
|
||||
- return (DEFAULT_LOCALE, UEncoding::Ascii);
|
||||
+ return (
|
||||
+ DEFAULT_LOCALE,
|
||||
+ if is_utf8 {
|
||||
+ UEncoding::Utf8
|
||||
+ } else {
|
||||
+ UEncoding::Ascii
|
||||
+ },
|
||||
+ );
|
||||
}
|
||||
|
||||
// Naively convert the locale name to BCP47 tag format.
|
||||
@@ -55,14 +68,9 @@ pub fn get_locale_from_env(locale_name: &str) -> (Locale, UEncoding) {
|
||||
let bcp47 = simple.replace('_', "-");
|
||||
let locale = Locale::try_from_str(&bcp47).unwrap_or(DEFAULT_LOCALE);
|
||||
|
||||
- // If locale parsing failed, parse the encoding part of the
|
||||
- // locale. Treat the special case of the given locale being "C"
|
||||
- // which becomes the default locale.
|
||||
- let encoding = if (locale != DEFAULT_LOCALE || bcp47 == "C")
|
||||
- && split.next().is_some_and(|enc| {
|
||||
- let lower = enc.to_lowercase();
|
||||
- lower == "utf-8" || lower == "utf8"
|
||||
- }) {
|
||||
+ // If the locale name was parsed successfully, use the encoding suffix
|
||||
+ // to decide whether filenames should be treated as UTF-8.
|
||||
+ let encoding = if (locale != DEFAULT_LOCALE || bcp47 == "C") && is_utf8 {
|
||||
UEncoding::Utf8
|
||||
} else {
|
||||
UEncoding::Ascii
|
||||
@@ -70,8 +78,12 @@ pub fn get_locale_from_env(locale_name: &str) -> (Locale, UEncoding) {
|
||||
return (locale, encoding);
|
||||
}
|
||||
}
|
||||
- // Default POSIX locale representing LC_ALL=C
|
||||
- (DEFAULT_LOCALE, UEncoding::Ascii)
|
||||
+
|
||||
+ #[cfg(target_os = "redox")]
|
||||
+ return (DEFAULT_LOCALE, UEncoding::Utf8);
|
||||
+
|
||||
+ #[cfg(not(target_os = "redox"))]
|
||||
+ return (DEFAULT_LOCALE, UEncoding::Ascii);
|
||||
}
|
||||
|
||||
/// Get the collating locale from the environment
|
||||
diff --git a/src/uucore/src/lib/mods/locale.rs b/src/uucore/src/lib/mods/locale.rs
|
||||
index b670f8976..a4ff9f983 100644
|
||||
index 60ca9d42..31f3ba0b 100644
|
||||
--- a/src/uucore/src/lib/mods/locale.rs
|
||||
+++ b/src/uucore/src/lib/mods/locale.rs
|
||||
@@ -211,10 +211,11 @@ fn init_localization(
|
||||
@@ -317,10 +317,10 @@ fn init_localization(
|
||||
}
|
||||
};
|
||||
|
||||
- LOCALIZER.with(|lock| {
|
||||
+ // TODO: In aarch64 redox OS, this lock (once cell) is already initialized out of nothing
|
||||
+ let _ = LOCALIZER.with(|lock| {
|
||||
lock.set(loc)
|
||||
.map_err(|_| LocalizationError::Bundle("Localizer already initialized".into()))
|
||||
@ -126,18 +15,29 @@ index b670f8976..a4ff9f983 100644
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -422,10 +423,12 @@ pub fn setup_localization(p: &str) -> Result<(), LocalizationError> {
|
||||
let english_bundle = create_english_bundle_from_embedded(&default_locale, p)?;
|
||||
let localizer = Localizer::new(english_bundle);
|
||||
@@ -637,10 +637,10 @@ pub fn setup_localization(p: &str) -> Result<(), LocalizationError> {
|
||||
Localizer::new(english_bundle)
|
||||
};
|
||||
|
||||
- LOCALIZER.with(|lock| {
|
||||
+ // TODO: In aarch64 redox OS, this lock (once cell) is already initialized out of nothing
|
||||
+ // TODO: When this code is used? Patching for keep sake
|
||||
+ let _ = LOCALIZER.with(|lock| {
|
||||
lock.set(localizer)
|
||||
.map_err(|_| LocalizationError::Bundle("Localizer already initialized".into()))
|
||||
- })?;
|
||||
+ });
|
||||
}
|
||||
LOCALIZER_IS_SET.with(|f| f.set(true));
|
||||
Ok(())
|
||||
@@ -919,10 +919,10 @@ mod tests {
|
||||
}
|
||||
};
|
||||
|
||||
- LOCALIZER.with(|lock| {
|
||||
+ let _ = LOCALIZER.with(|lock| {
|
||||
lock.set(loc)
|
||||
.map_err(|_| LocalizationError::Bundle("Localizer already initialized".into()))
|
||||
- })?;
|
||||
+ });
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
name=COSMIC Text Editor
|
||||
binary=/bin/cosmic-edit
|
||||
icon=/ui/icons/apps/accessories-text-editor.png
|
||||
icon=/usr/share/icons/apps/accessories-text-editor.png
|
||||
accept=*.asm
|
||||
accept=*.c
|
||||
accept=*.conf
|
||||
|
||||
@ -24,6 +24,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Graphical text editor from COSMIC desktop"
|
||||
dependencies = [
|
||||
"libxkbcommon",
|
||||
]
|
||||
@ -1,5 +1,5 @@
|
||||
name=COSMIC File Manager
|
||||
binary=/bin/cosmic-files
|
||||
icon=/ui/icons/apps/system-file-manager.png
|
||||
icon=/usr/share/icons/apps/system-file-manager.png
|
||||
author=Jeremy Soller
|
||||
description=COSMIC File Manager
|
||||
|
||||
@ -24,6 +24,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Graphical file manager from COSMIC desktop"
|
||||
dependencies = [
|
||||
"libxkbcommon",
|
||||
]
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
[source]
|
||||
git = "https://github.com/pop-os/cosmic-monitor.git"
|
||||
rev = "epoch-1.2.0"
|
||||
branch = "master"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
@ -23,6 +23,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Graphical system monitor from COSMIC desktop"
|
||||
dependencies = [
|
||||
"libxkbcommon",
|
||||
]
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
name=COSMIC Reader
|
||||
binary=/bin/cosmic-reader
|
||||
icon=/ui/icons/apps/accessories-text-editor.png
|
||||
icon=/usr/share/icons/apps/accessories-text-editor.png
|
||||
accept=*.pdf
|
||||
accept=*.epub
|
||||
accept=*.cbz
|
||||
|
||||
@ -38,6 +38,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Graphical PDF reader from COSMIC desktop"
|
||||
dependencies = [
|
||||
"libxkbcommon",
|
||||
]
|
||||
|
||||
@ -23,6 +23,7 @@ cp -rv "${COOKBOOK_SOURCE}/resources/icons/" "${COOKBOOK_STAGE}/usr/share/icons/
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Graphical system settings from COSMIC desktop"
|
||||
dependencies = [
|
||||
"libxkbcommon",
|
||||
]
|
||||
|
||||
@ -24,6 +24,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Graphical app store from COSMIC desktop"
|
||||
dependencies = [
|
||||
"libxkbcommon",
|
||||
]
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
name=COSMIC Terminal
|
||||
binary=/bin/cosmic-term
|
||||
icon=/ui/icons/apps/utilities-terminal.png
|
||||
icon=/usr/share/icons/apps/utilities-terminal.png
|
||||
author=Jeremy Soller
|
||||
description=COSMIC Terminal
|
||||
|
||||
@ -20,6 +20,7 @@ cp -rv "${COOKBOOK_SOURCE}/res/icons/hicolor/" "${COOKBOOK_STAGE}/usr/share/icon
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Graphical terminal emulator from COSMIC desktop"
|
||||
dependencies = [
|
||||
"libxkbcommon",
|
||||
]
|
||||
|
||||
@ -15,6 +15,7 @@ COOKBOOK_CARGO_PATH=examples/editor cookbook_cargo_build
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Demo of GUI text editing widget library from COSMIC desktop"
|
||||
dependencies = [
|
||||
"libxkbcommon",
|
||||
]
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "TLS certificate authorities, from the Mozilla CA Certificate Program"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/ca-certificates.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "MIDI soundfont"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/generaluser-gs.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "FreeDesktop common MIME database"
|
||||
|
||||
# This does not build update-mime-database to avoid bringing in C code to Redox
|
||||
[source]
|
||||
tar = "https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/2.4/shared-mime-info-2.4.tar.gz"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Tabset and terminfo databases"
|
||||
|
||||
[source]
|
||||
git = "https://github.com/sajattack/terminfo"
|
||||
branch = "master"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Demo of Cairo GUI library"
|
||||
|
||||
# source is part of cookbook
|
||||
|
||||
[build]
|
||||
|
||||
@ -25,6 +25,7 @@ sed -i -e 's|#define USE_TIOCSTI 1|/* #undef USE_TIOCSTI */|g' config.h
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Terminal based character raining effect from the Matrix movies"
|
||||
dependencies = [
|
||||
"terminfo"
|
||||
]
|
||||
@ -1,3 +1,7 @@
|
||||
# TODO: When more CPAL examples are added, description should be changed
|
||||
[package]
|
||||
description = "Command line beep tool (demo from CPAL sound library)"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/cpal.git"
|
||||
branch = "redox"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Example of a dynamic library for Redox"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/dynamic-example.git"
|
||||
shallow_clone = true
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Redox device driver daemon example"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/exampled.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Mesa3D \"gears\" OpenGL demo ported to Orbital windowing"
|
||||
|
||||
[build]
|
||||
dependencies=[
|
||||
"liborbital",
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Demo of Glutin OpenGL-initialization library"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/glutin.git"
|
||||
branch = "redox-0.30"
|
||||
@ -5,12 +8,17 @@ upstream = "https://github.com/rust-windowing/glutin.git"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
cargopath = "glutin_examples"
|
||||
dependencies = [
|
||||
"mesa",
|
||||
"zlib"
|
||||
"zlib",
|
||||
]
|
||||
dev-dependencies = [
|
||||
"libstdcxx",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
CARGOPATH="glutin_examples" cookbook_cargo_examples window
|
||||
COOKBOOK_CARGO_FLAGS=()
|
||||
CARGOPATH="glutin_examples"
|
||||
export RUSTFLAGS="$RUSTFLAGS -Clink-arg=-lOSMesa"
|
||||
cookbook_cargo_examples window
|
||||
"""
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Examples from Iced GUI library"
|
||||
|
||||
[source]
|
||||
git = "https://github.com/pop-os/iced"
|
||||
rev = "300fa97"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Orbital client library example"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/orbclient.git"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Mesa3D offscreen rendering (OSMesa) demo using Orbital windowing"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
|
||||
@ -15,6 +15,7 @@ cp -v "${COOKBOOK_SOURCE}/manifest" "${COOKBOOK_STAGE}/usr/share/ui/apps/pixelca
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "3D laughing face meme navigation demo"
|
||||
dependencies = [
|
||||
"orbital",
|
||||
]
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Mesa3D \"gears\" OpenGL demo ported to SDL2 windowing"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
@ -11,7 +14,7 @@ mkdir -p "${COOKBOOK_STAGE}/usr/games/sdl2_gears"
|
||||
${CXX} -O2 -I "${COOKBOOK_SYSROOT}/include" $LDFLAGS ${COOKBOOK_RECIPE}/gears.c \
|
||||
-o sdl2_gears -dynamic \
|
||||
-lSDL2_image -lSDL2_mixer -lSDL2_ttf $("${PKG_CONFIG}" --libs osmesa) \
|
||||
-lSDL2 -lorbital -lfreetype -lpng -ljpeg -lvorbisfile -lvorbis -logg -lz
|
||||
-lSDL2 -lorbital -lfreetype -lpng -lvorbisfile -lvorbis -logg -lz
|
||||
cp -rv "${COOKBOOK_RECIPE}/assets" "${COOKBOOK_STAGE}/usr/games/sdl2_gears/"
|
||||
cp -v sdl2_gears "${COOKBOOK_STAGE}/usr/games/sdl2_gears/"
|
||||
"""
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Examples from softbuffer GUI framebuffer library"
|
||||
|
||||
# NOTE: Switch to upstream once winit pump events have been upstreamed
|
||||
[source]
|
||||
git = "https://github.com/willnode/softbuffer.git"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Examples from winit GUI library"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/winit"
|
||||
branch = "redox-0.31.0-beta"
|
||||
|
||||
@ -6,4 +6,5 @@ blake3 = "da1cc8af8551c343de9f42af0ae53fd7dff3623487157623892b6cd7e3bb5692"
|
||||
template = "configure"
|
||||
|
||||
[package]
|
||||
description = "Tools for self-configuring software source code (creates \"configure\" script)"
|
||||
dependencies = ["perl5"]
|
||||
|
||||
@ -6,4 +6,5 @@ blake3 = "f42cfc333aaaa11f2bcb05b5b0273b8706c820c22f9ba4367f7eb920551695cd"
|
||||
template = "configure"
|
||||
|
||||
[package]
|
||||
description = "Tools for high-level build scripting atop GNU Make (creates \"Makefile.in\")"
|
||||
dependencies = ["perl5"]
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "GNU Binutils version of GDB debugger"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/binutils-gdb"
|
||||
branch = "redox-2.43.1"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "LLVM C/C++ frontend/compiler"
|
||||
|
||||
[source]
|
||||
same_as = "../llvm21"
|
||||
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
[package]
|
||||
description = "Widely-used cross-platform build system"
|
||||
|
||||
[source]
|
||||
tar = "https://github.com/Kitware/CMake/releases/download/v4.3.2/cmake-4.3.2.tar.gz"
|
||||
blake3 = "cbd0121189df1502f61e8f12f044b4a901b1ea16c74c016b85714e4661b8537f"
|
||||
|
||||
[build]
|
||||
template = "cmake"
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
# "cppdap",
|
||||
"curl",
|
||||
@ -17,14 +20,19 @@ dependencies = [
|
||||
"zlib",
|
||||
"zstd",
|
||||
]
|
||||
cmakeflags = [
|
||||
"-DBUILD_TESTING=Off",
|
||||
"-DCMAKE_USE_SYSTEM_BZIP2=On",
|
||||
"-DCMAKE_USE_SYSTEM_CURL=On",
|
||||
"-DCMAKE_USE_SYSTEM_EXPAT=On",
|
||||
"-DCMAKE_USE_SYSTEM_LIBARCHIVE=On",
|
||||
"-DCMAKE_USE_SYSTEM_LIBUV=On",
|
||||
"-DCMAKE_USE_SYSTEM_NGHTTP2=On",
|
||||
"-DCMAKE_USE_SYSTEM_ZLIB=On",
|
||||
"-DCMAKE_USE_SYSTEM_ZSTD=On",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
COOKBOOK_CMAKE_FLAGS=(
|
||||
-DBUILD_TESTING=Off
|
||||
-DCMAKE_USE_SYSTEM_BZIP2=On
|
||||
-DCMAKE_USE_SYSTEM_CURL=On
|
||||
-DCMAKE_USE_SYSTEM_EXPAT=On
|
||||
-DCMAKE_USE_SYSTEM_LIBARCHIVE=On
|
||||
-DCMAKE_USE_SYSTEM_LIBUV=On
|
||||
-DCMAKE_USE_SYSTEM_NGHTTP2=On
|
||||
-DCMAKE_USE_SYSTEM_ZLIB=On
|
||||
-DCMAKE_USE_SYSTEM_ZSTD=On
|
||||
)
|
||||
cookbook_cmake
|
||||
mv "${COOKBOOK_STAGE}/usr/doc" "${COOKBOOK_STAGE}/usr/share/"
|
||||
"""
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "A dependency manager for PHP"
|
||||
|
||||
#TODO must be run using `php $(which composer)`
|
||||
[build]
|
||||
template = "custom"
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
[source]
|
||||
git = "https://github.com/rust-lang/crates.io-index.git"
|
||||
shallow_clone = true
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
dir="${COOKBOOK_STAGE}/home/user/.cargo/registry/index/github.com-1ecc6299db9ec823"
|
||||
mkdir -pv "${dir}"
|
||||
cp -rv "${COOKBOOK_SOURCE}/.git" "${dir}"
|
||||
"""
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Library and tools to configure, enumerate, and substitute fonts"
|
||||
|
||||
[source]
|
||||
tar = "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.16.0.tar.xz"
|
||||
blake3 = "5c95d48f5b9150f4a06d8acac12c25edaac956007df95a3bf527df02a5908f0e"
|
||||
|
||||
@ -17,6 +17,7 @@ autotools_recursive_regenerate -I"$(realpath ./config)"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
compiler = "gcc"
|
||||
dependencies = [
|
||||
"libgmp",
|
||||
"libmpfr",
|
||||
@ -99,6 +100,7 @@ fi
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "GNU Compiler Collection"
|
||||
dependencies = [
|
||||
"gnu-binutils"
|
||||
]
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "GDB server for remote debugging"
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/gdbserver.git"
|
||||
|
||||
|
||||
@ -23,6 +23,7 @@ mesonflags = [
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Image loading library from GNOME project"
|
||||
dependencies = [
|
||||
"shared-mime-info",
|
||||
]
|
||||
|
||||
@ -1,240 +0,0 @@
|
||||
diff -ruwN git-2.13.1/compat/bswap.h source/compat/bswap.h
|
||||
--- git-2.13.1/compat/bswap.h 2017-06-04 19:08:11.000000000 -0600
|
||||
+++ source/compat/bswap.h 2025-04-24 11:20:06.475749424 -0600
|
||||
@@ -1,3 +1,7 @@
|
||||
+#if defined(__redox__)
|
||||
+#include <machine/endian.h>
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Let's make sure we always have a sane definition for ntohl()/htonl().
|
||||
* Some libraries define those as a function call, just to perform byte
|
||||
diff -ruwN git-2.13.1/compat/terminal.c source/compat/terminal.c
|
||||
--- git-2.13.1/compat/terminal.c 2017-06-04 19:08:11.000000000 -0600
|
||||
+++ source/compat/terminal.c 2025-04-18 10:00:11.318697446 -0600
|
||||
@@ -137,6 +137,18 @@
|
||||
return buf.buf;
|
||||
}
|
||||
|
||||
+#elif defined(__redox__)
|
||||
+
|
||||
+ssize_t __getline(char **lptr, size_t *n, FILE *fp);
|
||||
+
|
||||
+char *git_terminal_prompt(const char *prompt, int echo)
|
||||
+{
|
||||
+ char *line = NULL;
|
||||
+ size_t n = 0;
|
||||
+ __getline(&line, &n, stdin);
|
||||
+ return line; // XXX leak
|
||||
+}
|
||||
+
|
||||
#else
|
||||
|
||||
char *git_terminal_prompt(const char *prompt, int echo)
|
||||
diff -ruwN git-2.13.1/configure source/configure
|
||||
--- git-2.13.1/configure 2017-06-04 19:08:11.000000000 -0600
|
||||
+++ source/configure 2025-04-18 10:00:11.318697446 -0600
|
||||
@@ -6156,7 +6156,7 @@
|
||||
ac_res=$ac_cv_search_getaddrinfo
|
||||
if test "$ac_res" != no; then :
|
||||
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
||||
- NO_IPV6=
|
||||
+ NO_IPV6=YesPlease
|
||||
else
|
||||
NO_IPV6=YesPlease
|
||||
fi
|
||||
diff -ruwN git-2.13.1/daemon.c source/daemon.c
|
||||
--- git-2.13.1/daemon.c 2017-06-04 19:08:11.000000000 -0600
|
||||
+++ source/daemon.c 2025-04-18 10:00:11.319697447 -0600
|
||||
@@ -71,13 +71,21 @@
|
||||
return hi->ip_address.buf;
|
||||
}
|
||||
|
||||
+#if defined(__redox__)
|
||||
+#define LOG_ERR 0
|
||||
+#define LOG_INFO 1
|
||||
+#endif
|
||||
+
|
||||
static void logreport(int priority, const char *err, va_list params)
|
||||
{
|
||||
+#if !defined(__redox__)
|
||||
if (log_syslog) {
|
||||
char buf[1024];
|
||||
vsnprintf(buf, sizeof(buf), err, params);
|
||||
syslog(priority, "%s", buf);
|
||||
- } else {
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
/*
|
||||
* Since stderr is set to buffered mode, the
|
||||
* logging of different processes will not overlap
|
||||
@@ -888,8 +896,12 @@
|
||||
|
||||
if (!reuseaddr)
|
||||
return 0;
|
||||
+#if defined(__redox__)
|
||||
+ return 0;
|
||||
+#else
|
||||
return setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR,
|
||||
&on, sizeof(on));
|
||||
+#endif
|
||||
}
|
||||
|
||||
struct socketlist {
|
||||
@@ -1174,11 +1186,7 @@
|
||||
if (!group_name)
|
||||
c.gid = c.pass->pw_gid;
|
||||
else {
|
||||
- struct group *group = getgrnam(group_name);
|
||||
- if (!group)
|
||||
die("group not found - %s", group_name);
|
||||
-
|
||||
- c.gid = group->gr_gid;
|
||||
}
|
||||
|
||||
return &c;
|
||||
@@ -1348,10 +1356,12 @@
|
||||
usage(daemon_usage);
|
||||
}
|
||||
|
||||
+#if !defined(__redox__)
|
||||
if (log_syslog) {
|
||||
openlog("git-daemon", LOG_PID, LOG_DAEMON);
|
||||
set_die_routine(daemon_die);
|
||||
} else
|
||||
+#endif
|
||||
/* avoid splitting a message in the middle */
|
||||
setvbuf(stderr, NULL, _IOFBF, 4096);
|
||||
|
||||
diff -ruwN git-2.13.1/git-compat-util.h source/git-compat-util.h
|
||||
--- git-2.13.1/git-compat-util.h 2017-06-04 19:08:11.000000000 -0600
|
||||
+++ source/git-compat-util.h 2025-04-18 10:00:11.319697447 -0600
|
||||
@@ -1,6 +1,18 @@
|
||||
#ifndef GIT_COMPAT_UTIL_H
|
||||
#define GIT_COMPAT_UTIL_H
|
||||
|
||||
+#ifndef SIG_DFL
|
||||
+#define SIG_DFL ((void (*)(int))0)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef SIG_IGN
|
||||
+#define SIG_IGN ((void (*)(int))1)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef SIG_ERR
|
||||
+#define SIG_ERR ((void (*)(int))-1)
|
||||
+#endif
|
||||
+
|
||||
#define _FILE_OFFSET_BITS 64
|
||||
|
||||
|
||||
@@ -323,6 +335,14 @@
|
||||
#define PATH_SEP ':'
|
||||
#endif
|
||||
|
||||
+#ifndef DEV_NULL
|
||||
+#if defined(__redox__)
|
||||
+#define DEV_NULL "/scheme/null"
|
||||
+#else
|
||||
+#define DEV_NULL "/dev/null"
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#ifdef HAVE_PATHS_H
|
||||
#include <paths.h>
|
||||
#endif
|
||||
diff -ruwN git-2.13.1/Makefile source/Makefile
|
||||
--- git-2.13.1/Makefile 2017-06-05 08:08:11.000000000 +0700
|
||||
+++ source/Makefile 2025-09-01 04:41:10.339224568 +0700
|
||||
@@ -979,7 +979,7 @@
|
||||
BUILTIN_OBJS += builtin/write-tree.o
|
||||
|
||||
GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB)
|
||||
-EXTLIBS =
|
||||
+EXTLIBS = -lnghttp2
|
||||
|
||||
GIT_USER_AGENT = git/$(GIT_VERSION)
|
||||
|
||||
@@ -1802,7 +1802,6 @@
|
||||
|
||||
$(BUILT_INS): git$X
|
||||
$(QUIET_BUILT_IN)$(RM) $@ && \
|
||||
- ln $< $@ 2>/dev/null || \
|
||||
ln -s $< $@ 2>/dev/null || \
|
||||
cp $< $@
|
||||
|
||||
@@ -2096,7 +2095,6 @@
|
||||
|
||||
$(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
|
||||
$(QUIET_LNCP)$(RM) $@ && \
|
||||
- ln $< $@ 2>/dev/null || \
|
||||
ln -s $< $@ 2>/dev/null || \
|
||||
cp $< $@
|
||||
|
||||
@@ -2449,14 +2447,12 @@
|
||||
for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \
|
||||
$(RM) "$$bindir/$$p" && \
|
||||
test -z "$(NO_INSTALL_HARDLINKS)" && \
|
||||
- ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \
|
||||
ln -s "git$X" "$$bindir/$$p" 2>/dev/null || \
|
||||
cp "$$bindir/git$X" "$$bindir/$$p" || exit; \
|
||||
done && \
|
||||
for p in $(BUILT_INS); do \
|
||||
$(RM) "$$execdir/$$p" && \
|
||||
test -z "$(NO_INSTALL_HARDLINKS)" && \
|
||||
- ln "$$execdir/git$X" "$$execdir/$$p" 2>/dev/null || \
|
||||
ln -s "git$X" "$$execdir/$$p" 2>/dev/null || \
|
||||
cp "$$execdir/git$X" "$$execdir/$$p" || exit; \
|
||||
done && \
|
||||
@@ -2464,7 +2460,6 @@
|
||||
for p in $$remote_curl_aliases; do \
|
||||
$(RM) "$$execdir/$$p" && \
|
||||
test -z "$(NO_INSTALL_HARDLINKS)" && \
|
||||
- ln "$$execdir/git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
|
||||
ln -s "git-remote-http$X" "$$execdir/$$p" 2>/dev/null || \
|
||||
cp "$$execdir/git-remote-http$X" "$$execdir/$$p" || exit; \
|
||||
done && \
|
||||
diff -ruwN git-2.13.1/run-command.c source/run-command.c
|
||||
--- git-2.13.1/run-command.c 2017-06-04 19:08:11.000000000 -0600
|
||||
+++ source/run-command.c 2025-04-18 10:00:11.320697447 -0600
|
||||
@@ -120,9 +120,9 @@
|
||||
#ifndef GIT_WINDOWS_NATIVE
|
||||
static inline void dup_devnull(int to)
|
||||
{
|
||||
- int fd = open("/dev/null", O_RDWR);
|
||||
+ int fd = open(DEV_NULL, O_RDWR);
|
||||
if (fd < 0)
|
||||
- die_errno(_("open /dev/null failed"));
|
||||
+ die_errno(_("open %s failed"), DEV_NULL);
|
||||
if (dup2(fd, to) < 0)
|
||||
die_errno(_("dup2(%d,%d) failed"), fd, to);
|
||||
close(fd);
|
||||
diff -ruwN git-2.13.1/setup.c source/setup.c
|
||||
--- git-2.13.1/setup.c 2017-06-05 08:08:11.000000000 +0700
|
||||
+++ source/setup.c 2025-09-01 04:41:10.339224568 +0700
|
||||
@@ -1146,11 +1146,11 @@
|
||||
/* if any standard file descriptor is missing open it to /dev/null */
|
||||
void sanitize_stdfds(void)
|
||||
{
|
||||
- int fd = open("/dev/null", O_RDWR, 0);
|
||||
+ int fd = open(DEV_NULL, O_RDWR, 0);
|
||||
while (fd != -1 && fd < 2)
|
||||
fd = dup(fd);
|
||||
if (fd == -1)
|
||||
- die_errno("open /dev/null or dup failed");
|
||||
+ die_errno("open %s or dup failed", DEV_NULL);
|
||||
if (fd > 2)
|
||||
close(fd);
|
||||
}
|
||||
@@ -1169,8 +1169,10 @@
|
||||
default:
|
||||
exit(0);
|
||||
}
|
||||
+#if !defined(__redox__)
|
||||
if (setsid() == -1)
|
||||
die_errno("setsid failed");
|
||||
+#endif
|
||||
close(0);
|
||||
close(1);
|
||||
close(2);
|
||||
2
recipes/dev/git/gitconfig
Normal file
2
recipes/dev/git/gitconfig
Normal file
@ -0,0 +1,2 @@
|
||||
[protocol]
|
||||
version = 0
|
||||
@ -1,15 +1,13 @@
|
||||
[source]
|
||||
tar = "https://www.kernel.org/pub/software/scm/git/git-2.13.1.tar.xz"
|
||||
blake3 = "bc78271bffd60c5b8b938d8c08fd74dc2de8d21fbaf8f8e0e3155436d9263f17"
|
||||
patches = ["git.patch"]
|
||||
tar = "https://www.kernel.org/pub/software/scm/git/git-2.56.0.tar.xz"
|
||||
blake3 = "596b02fea3d67e2ca45208aabebc92d2c14e7f2827f82cba59a630d55eea0854"
|
||||
|
||||
[build]
|
||||
dependencies=[
|
||||
"curl",
|
||||
"expat",
|
||||
"nghttp2",
|
||||
"openssl3",
|
||||
"zlib"
|
||||
"zlib",
|
||||
"pcre2",
|
||||
]
|
||||
template = "custom"
|
||||
script = """
|
||||
@ -18,36 +16,35 @@ DYNAMIC_INIT
|
||||
MAKEFLAGS=(
|
||||
NEEDS_SSL_WITH_CURL=1
|
||||
NEEDS_CRYPTO_WITH_SSL=1
|
||||
NO_IPV6=1
|
||||
NO_PREAD=1
|
||||
NO_MMAP=1
|
||||
NO_SETITIMER=1
|
||||
NO_UNIX_SOCKETS=1
|
||||
NO_IPV6=1 # not implemented
|
||||
NO_MMAP=1 # mmap writes extra null padding
|
||||
NO_SETITIMER=1 # deprecated
|
||||
NO_UNIX_SOCKETS=1 # need inotify
|
||||
NEEDS_LIBICONV=
|
||||
NEEDS_LIBRT=
|
||||
BLK_SHA1=1
|
||||
V=1
|
||||
RUST_TARGETS=$TARGET
|
||||
INSTALL_SYMLINKS=1
|
||||
)
|
||||
|
||||
if [ "${COOKBOOK_DYNAMIC}" != "1" ]; then
|
||||
# git does not use pkgconfig to be aware with zstd
|
||||
MAKEFLAGS+=( EXTLIBS="-lzstd -lnghttp2 -lz" )
|
||||
fi
|
||||
|
||||
export CURL_CONFIG="${COOKBOOK_SYSROOT}/usr/bin/curl-config"
|
||||
./configure \
|
||||
--host="${GNU_TARGET}" \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
ac_cv_fread_reads_directories=yes \
|
||||
ac_cv_snprintf_returns_bogus=yes \
|
||||
ac_cv_lib_curl_curl_global_init=yes
|
||||
"${COOKBOOK_MAKE}" "${MAKEFLAGS[@]}" -j"${COOKBOOK_MAKE_JOBS}"
|
||||
"${COOKBOOK_MAKE}" DESTDIR="${COOKBOOK_STAGE}" "${MAKEFLAGS[@]}" install
|
||||
rm -rf "${COOKBOOK_STAGE}/usr/share/man"
|
||||
|
||||
# TODO: pinned to protocol v0 otherwise silently quit
|
||||
mkdir -p "${COOKBOOK_STAGE}/etc"
|
||||
cp "${COOKBOOK_RECIPE}/gitconfig" "${COOKBOOK_STAGE}/etc/"
|
||||
"""
|
||||
|
||||
[package]
|
||||
description = "Distributed version control system"
|
||||
dependencies = [
|
||||
"ca-certificates",
|
||||
"nghttp2"
|
||||
]
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Rust reimplementation of Git"
|
||||
|
||||
[source]
|
||||
git = "https://github.com/Byron/gitoxide.git"
|
||||
rev = "v0.54.0"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "GNU version of Make tool"
|
||||
|
||||
#TODO slower jobserver due to lack of named pipes
|
||||
[source]
|
||||
tar = "http://ftp.gnu.org/gnu/make/make-4.4.tar.gz"
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
[package]
|
||||
description = "\"Hello world\" examples in over 1000 languages"
|
||||
|
||||
[source]
|
||||
git = "https://github.com/leachim6/hello-world"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
mkdir -pv "${COOKBOOK_STAGE}"/home/user/hello-world-examples
|
||||
cp -rv "${COOKBOOK_SOURCE}"/[#,a-z] "${COOKBOOK_STAGE}"/home/user/hello-world-examples
|
||||
mkdir -pv "${COOKBOOK_STAGE}"/usr/share/hello-world-examples
|
||||
cp -rv "${COOKBOOK_SOURCE}"/[#,a-z] "${COOKBOOK_STAGE}"/usr/share/hello-world-examples
|
||||
"""
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Command-line JSON processor"
|
||||
|
||||
#TODO undefined reference
|
||||
[source]
|
||||
tar = "https://github.com/jqlang/jq/releases/download/jq-1.8.1/jq-1.8.1.tar.gz"
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Interpreter for LOLCODE programming language"
|
||||
|
||||
[source]
|
||||
git = "https://github.com/jD91mZM2/rust-lci"
|
||||
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
[package]
|
||||
description = "Tools for working with shared libraries"
|
||||
|
||||
#TODO can build, not tested
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/libtool"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user