redox-os issueshttps://gitlab.redox-os.org/groups/redox-os/-/issues2023-03-16T16:47:00Zhttps://gitlab.redox-os.org/redox-os/orbital/-/issues/51Window resize lag when resizing2023-03-16T16:47:00ZAndrew MackenzieWindow resize lag when resizingWhen you resize a window (e.g. orbterm, horizontal size, dragging from narrow to wide) there is a noticeable lag in the redraw of the body of the window versus the title area.
It may even be that the redraw is not done until the draw is...When you resize a window (e.g. orbterm, horizontal size, dragging from narrow to wide) there is a noticeable lag in the redraw of the body of the window versus the title area.
It may even be that the redraw is not done until the draw is detected as stopping.
An example screenshot (taken from a video capture) is here:
![Screenshot_from_2023-03-16_17-41-47](/uploads/529aa71cff9e45b3bf4cc410c865f304/Screenshot_from_2023-03-16_17-41-47.png)
Not sure if this is part of the root cause or not, but many errors are also printed on the console:
```
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x93d80 instead of 0x94000
2023-03-16T16-39-29..811++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 605568 instead of 606208
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x78880 instead of 0x79000
2023-03-16T16-39-29..830++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x8c000 has size 493696 instead of 495616
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x71680 instead of 0x72000
2023-03-16T16-39-29..859++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 464512 instead of 466944
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x69180 instead of 0x6a000
2023-03-16T16-39-29..888++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x8c000 has size 430464 instead of 434176
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x66b80 instead of 0x67000
2023-03-16T16-39-29..905++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 420736 instead of 421888
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x63280 instead of 0x64000
2023-03-16T16-39-30..034++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x8c000 has size 406144 instead of 409600
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x5ad80 instead of 0x5b000
2023-03-16T16-39-30..225++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 372096 instead of 372736
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x60300 instead of 0x61000
2023-03-16T16-39-30..237++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x8c000 has size 393984 instead of 397312
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x70380 instead of 0x71000
2023-03-16T16-39-30..271++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 459648 instead of 462848
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x8d500 instead of 0x8e000
2023-03-16T16-39-30..290++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x8c000 has size 578816 instead of 581632
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0xc1900 instead of 0xc2000
2023-03-16T16-39-30..321++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 792832 instead of 794624
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x11ec80 instead of 0x11f000
2023-03-16T16-39-30..355++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x20c000 has size 1174656 instead of 1175552
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x126800 instead of 0x127000
2023-03-16T16-39-30..383++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x623000 has size 1206272 instead of 1208320
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x128e00 instead of 0x129000
2023-03-16T16-39-30..417++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 1216000 instead of 1216512
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x129780 instead of 0x12a000
2023-03-16T16-39-30..933++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x623000 has size 1218432 instead of 1220608
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x12a100 instead of 0x12b000
2023-03-16T16-39-30..956++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 1220864 instead of 1224704
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x13be00 instead of 0x13c000
2023-03-16T16-39-30..992++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x623000 has size 1293824 instead of 1294336
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x1a9b80 instead of 0x1aa000
2023-03-16T16-39-31..554++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 1743744 instead of 1744896
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x1aa500 instead of 0x1ab000
2023-03-16T16-39-31..596++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x623000 has size 1746176 instead of 1748992
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
kernel::syscall::fs:WARN -- funmap passed length 0x1de900 instead of 0x1df000
2023-03-16T16-39-31..929++00:00 [orbital@orbital_core:534 WARN] orbital: mapping 0x148000 has size 1960192 instead of 1961984
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
```https://gitlab.redox-os.org/redox-os/orbital/-/issues/50More consistent error handling across Orbital2023-03-15T22:54:11ZAndrew MackenzieMore consistent error handling across OrbitalCurrently there is a mix of orbital-core Error, String, and io::Error in different functions.
I think we can converge on more consistent use of Error, and add some From conversions for it, and remove a lot of ".map_err()" calls in the c...Currently there is a mix of orbital-core Error, String, and io::Error in different functions.
I think we can converge on more consistent use of Error, and add some From conversions for it, and remove a lot of ".map_err()" calls in the code.https://gitlab.redox-os.org/redox-os/ion/-/issues/1028Replace and replace_regex should allow empty strings as parameters2023-10-27T22:46:53ZTimofey ProdanovReplace and replace_regex should allow empty strings as parametersBasically, the following method call would work: `$replace("abc" "a" "0")`, while this would fail:
```
echo $replace("abc" "a" "")
ion: expansion error: replace: two arguments are required
```
The same goes for `replace_regex`.
I think ...Basically, the following method call would work: `$replace("abc" "a" "0")`, while this would fail:
```
echo $replace("abc" "a" "")
ion: expansion error: replace: two arguments are required
```
The same goes for `replace_regex`.
I think overall the methods should allow for empty strings as parameters, but check them later and fail, if it is not an appropriate argument.
Compare this to python:
```python
python -c 'print("abc".replace("a", ""))'
```
and to `sed`:
```bash
echo abc | sed 's/a//g'
```
The same issue was raised [here](redox-os/ion#805).
Overall, I can try to fix that later if the change makes sense.https://gitlab.redox-os.org/redox-os/kernel/-/issues/114Allow splitting and merging (all) grants2024-03-16T09:18:23ZJacob Lorentzon4ldo2@protonmail.comAllow splitting and merging (all) grantsCurrently, some parts of the kernel assume that simply the base address is enough to obtain grants. However, grants are memory regions with both base and size, and the ability to merge grants that are contiguous and with identical attrib...Currently, some parts of the kernel assume that simply the base address is enough to obtain grants. However, grants are memory regions with both base and size, and the ability to merge grants that are contiguous and with identical attributes, would reduce fragmentation and be more correct.
~~Currently, the primary blocker is the current `UserScheme` code.~~
As of https://gitlab.redox-os.org/redox-os/kernel/-/merge_requests/238, the simplest `Allocated` grants are mergeable, but the remaining grant types (AllocatedShared, External, FmapBorrowed, and PhysBorrowed) need to be mergeable too.https://gitlab.redox-os.org/redox-os/orbclient/-/issues/48Add build of examples to CI2023-03-06T10:29:45ZAndrew MackenzieAdd build of examples to CII don't think the current CI jobs check that the examples build.
Testing they run is much harder...I don't think the current CI jobs check that the examples build.
Testing they run is much harder...https://gitlab.redox-os.org/redox-os/ion/-/issues/1025ion cannot handle wildcards containing scheme prefixes like 'disk:'2023-03-04T22:57:15ZFlorian Naumannion cannot handle wildcards containing scheme prefixes like 'disk:'Ion can not handle paths with prefix for redox schemes.
Ion uses the crate glob for expanding given paths in commands.
While PR https://gitlab.redox-os.org/redox-os/ion/-/merge_requests/1239 as workaround makes ion work with the prefix ...Ion can not handle paths with prefix for redox schemes.
Ion uses the crate glob for expanding given paths in commands.
While PR https://gitlab.redox-os.org/redox-os/ion/-/merge_requests/1239 as workaround makes ion work with the prefix **file:**, it still does not work in general with other prefixes.
Example: file:/path/to/everything/* works but not disk:*.
Problem: glob as crate does not understand the concept of redox os prefixes.
Possible approaches:
- Make an issue or better PR to the crate glob to support redox os prefixes.
- Make a fork of glob and implement it there.
- Make replacement of glob to support prefixes.https://gitlab.redox-os.org/redox-os/ion/-/issues/1024null-coalescing operator2023-03-02T16:22:03ZFlorian Naumannnull-coalescing operatorThere an issue which sparked the idea https://gitlab.redox-os.org/redox-os/ion/-/issues/1001#note_23188
Code example for how an user might use it.
```sh
let array = array ?: [default]
```
This should also work with strings.There an issue which sparked the idea https://gitlab.redox-os.org/redox-os/ion/-/issues/1001#note_23188
Code example for how an user might use it.
```sh
let array = array ?: [default]
```
This should also work with strings.https://gitlab.redox-os.org/redox-os/ion/-/issues/1023ternary operator for arrays/strings2023-03-02T16:16:04ZFlorian Naumannternary operator for arrays/stringsThis issue https://gitlab.redox-os.org/redox-os/ion/-/issues/1001#note_23188 mentioned the idea of an ternary operator for arrays.
This code sample shows how it could be used by the user.
```sh
let array = []
let array = array ? array...This issue https://gitlab.redox-os.org/redox-os/ion/-/issues/1001#note_23188 mentioned the idea of an ternary operator for arrays.
This code sample shows how it could be used by the user.
```sh
let array = []
let array = array ? array : [default]
# alternately
let array = if array; array; else [default]; end
```
This feature should also work with strings in same way.https://gitlab.redox-os.org/redox-os/orbutils/-/issues/59(Feature Request) Add a "Show desktop" button.2023-07-07T23:00:09ZRibbon(Feature Request) Add a "Show desktop" button.https://gitlab.redox-os.org/redox-os/orbutils/-/issues/57(Feature Request) Add a search bar on the Menu.2023-07-07T23:00:09ZRibbon(Feature Request) Add a search bar on the Menu.https://gitlab.redox-os.org/redox-os/ion/-/issues/1022Enrich error messages information where the error occurred.2023-03-31T07:37:52ZFlorian NaumannEnrich error messages information where the error occurred.# What I want
Error messages do not show anything where the error has occurred.
Error messages should include information where the error has happened.
- Path to file in which the error occurred.
- The number of the line where the err...# What I want
Error messages do not show anything where the error has occurred.
Error messages should include information where the error has happened.
- Path to file in which the error occurred.
- The number of the line where the error was raised.
- The column at the char position in the line where the error starts.
I think printing out the absolute path of the file is most reliable and help with locating the error the best.
If the command was executed with option "-c" then the path should be a keyword like "literal command".
Because paths can become long I propose that the ion errors should have 2 lines.
First Line shows the error kind and the file path.
Second line shows a tuple (line_number:column) and then the error description.
## Purpose
It would aid when debugging scripts. Especially in more complex scripts this can make life easier.
## Example with a file which is named "some_file"
```sh
echo "Print out not declared variable 'ab' "
echo $ab
```
Print out not declared variable 'ab'
**Desired output:**
```
Print out not declared variable 'ab'
ion: expansion error at (path_to_file):
ion: (2:5) Variable does not exist
```
**Instead of current output:**
```text
Print out not declared variable 'ab'
ion: expansion error: Variable does not exist
```
## Example with inline command via option "-c"
```sh
ion -c "echo $does_not_exits"
```
**Desired output:**
```text
ion: expansion error in literal command:
ion: (1:6)
```https://gitlab.redox-os.org/redox-os/orbital/-/issues/41Add a window minimize function2023-02-28T18:29:01ZAndrew MackenzieAdd a window minimize functionAllow the user to minimize the window, like on many other window managers.
Using an icon on toolbar, and a keyboard shortcut.
TBD what changes would be needed to be added to the "taskbar" to allow the window to be restored.Allow the user to minimize the window, like on many other window managers.
Using an icon on toolbar, and a keyboard shortcut.
TBD what changes would be needed to be added to the "taskbar" to allow the window to be restored.https://gitlab.redox-os.org/redox-os/cookbook/-/issues/183Book: Update advanced build section of the book with all options and combinat...2023-02-28T09:05:13ZRon WilliamsBook: Update advanced build section of the book with all options and combinations.Describe using cached packages and building specific recipes, with all options, including with checking for updates and ignoring updates.Describe using cached packages and building specific recipes, with all options, including with checking for updates and ignoring updates.https://gitlab.redox-os.org/redox-os/cookbook/-/issues/176Only build specific packages from source2023-12-01T09:08:27ZRon WilliamsOnly build specific packages from sourceThis change will allow most packages to be downloaded from the web package archive, while still allowing the user to modify specific packages. The filesystem config, e.g. `desktop.toml`, is the main place where the user chooses what buil...This change will allow most packages to be downloaded from the web package archive, while still allowing the user to modify specific packages. The filesystem config, e.g. `desktop.toml`, is the main place where the user chooses what build behavior they want for a specific package, with the user creating their own filesystem config. Each package will have a spec, e.g. `uutils = "recipe"`, that selects the build behavior. `uutils = {}` will use the default behavior, determined by `make` variables.
### Proposed Behavior
Changes from current behavior:
- If `REPO_BINARY` is 0 or not set, all packages are built from source.
- If `REPO_BINARY` is 1, the new functionality is enabled and packages are downloaded unless otherwise specified in the filesystem config.
### Phase 1 - Allow package spec to specify build from source vs download binary package
- [x] If `REPO_BINARY` is 1, then the build will use downloaded packages as the default.
- [x] In the filesystem config, e.g. `desktop.toml`, if a package has an empty spec, e.g. `uutils = {}`, then a downloaded package will be used when imaging.
- [x] If the spec is "recipe", e.g. `uutils = "recipe"`, the package is built from source according to the recipe. If the recipe fails, it is a fatal error. This is used when a dev wants to build from the git archive or other downloaded source.
- [ ] If the spec is "recipe_no_fetch", the package is built using the recipe, but the `[source]` section is skipped, and the dev must manually clone and update the `recipe/source` dir. If the `recipe/source` dir is missing, it is a fatal error. This is used when a dev is actively developing a package.
### Phase 2 - Add caching of packages based on SHA
- [ ] If new variable `PKG_CACHE` is set to a location, e.g. `build/x86_64/pkg_cache`, and `PKGS_NOT_CHECKED` is NOT set or not 1, then the build will cache packages it downloads from the web archive in the specified dir. It will compare the SHA of cached packages to the web archive and download packages where the SHA does not match.
- [ ] If `PKGS_NOT_CHECKED` is 1, then the build will assume cached packages are up to date, similar to `make image`. If a required package is missing, it is a fatal error. It will also assume packages built from source are up to date, so it will not execute the recipe.
- [ ] If the spec is "pkg_no_fetch", e.g. `uutils = "pkg_no_fetch", then the cached package is used, its SHA is not checked, and if it does not exist, it is a fatal error. This is used for cases where the dev wants to test a specific version of a package.
### Future
- [ ] Instead of `make` variables, settings are specified in the filesystem config.
- [ ] Global setting for the web package archive
- [ ] Global setting for the package archive cache location
- [ ] Global setting for the location of the recipes
- [ ] Individual recipes that are very simple, such as make from a tarball or clone of a Rust program, may be specified in line for a package
- [ ] Individual packages may have a specific web archive or recipe locationhttps://gitlab.redox-os.org/redox-os/relibc/-/issues/173Tracking issue for missing POSIX APIs2024-03-26T16:14:44ZJacob Lorentzon4ldo2@protonmail.comTracking issue for missing POSIX APIsWhile Redox's aim is not full POSIX compatibility, there are lots of missing APIs that generally only come with benefits.
Non-exhaustive list:
- [x] `wcsrtombs` (https://gitlab.redox-os.org/redox-os/relibc/-/issues/166)
- [x] `UTIME_OM...While Redox's aim is not full POSIX compatibility, there are lots of missing APIs that generally only come with benefits.
Non-exhaustive list:
- [x] `wcsrtombs` (https://gitlab.redox-os.org/redox-os/relibc/-/issues/166)
- [x] `UTIME_OMIT` and `UTIME_NOW` (https://gitlab.redox-os.org/redox-os/relibc/-/issues/172)
- [ ] `wait3` (no longer in POSIX?, https://gitlab.redox-os.org/redox-os/relibc/-/issues/170)
- [ ] `malloc.h` (not in POSIX?, https://gitlab.redox-os.org/redox-os/relibc/-/issues/136)
- [x] `towctrans` and `wctrans` (https://gitlab.redox-os.org/redox-os/relibc/-/issues/32)
- [ ] some `sys/mman.h` defs (https://gitlab.redox-os.org/redox-os/relibc/-/issues/73)
- [x] some networking constants (https://gitlab.redox-os.org/redox-os/relibc/-/issues/164)
- [ ] `mknod` (https://gitlab.redox-os.org/redox-os/relibc/-/issues/103)
- [x] `swprintf`
- [ ] `swscanf`
- [x] `ungetwc`
- [x] `vfwprintf`
- [x] `vwprintf`
- [x] `vswprintf`
- [ ] `wcsftime`
- [ ] `wcswcs`
- [ ] `wcsxfrm`
- [x] `wprintf`
- [ ] `wscanf`
Not all POSIX APIs are available as stubs, but those that are, can be found by looking for commented-out `#[no_mangle]`, e.g. via `rg '^.*//.*#\[no_mangle\]'`.
There are some POSIX requirements that will be much harder to fix. First, the current context=process=thread assumption must be dealt with. Second, POSIX appears to allow all characters but NUL and '/', which conflicts with how schemes work (even returning an error due to lack of support for : in the filesystem, doesn't apply, as it will work but the behavior will be different).
### Implementation
Almost all POSIX functions are well-documented on https://pubs.opengroup.org. Another good reference is [cppreference.com](https://en.cppreference.com/w/c).https://gitlab.redox-os.org/redox-os/pkgutils/-/issues/31(Feature Request) Implement the "-a" option to apply an action to all packages.2023-02-25T14:52:39ZRibbon(Feature Request) Implement the "-a" option to apply an action to all packages.Similar to FreeBSD pkg, where `pkg delete -a` remove all packages of the system.
We could expand it to all `pkg` arguments (fetch, extract, install).Similar to FreeBSD pkg, where `pkg delete -a` remove all packages of the system.
We could expand it to all `pkg` arguments (fetch, extract, install).https://gitlab.redox-os.org/redox-os/pkgutils/-/issues/30(Feature Request) Make the * operador match for all packages containing the n...2023-02-25T14:49:39ZRibbon(Feature Request) Make the * operador match for all packages containing the name specified.Other package managers implement the *operator for name match, example:
- `sudo dnf install xfce*`
The package manager will install all packages containing "xfce" in their names.Other package managers implement the *operator for name match, example:
- `sudo dnf install xfce*`
The package manager will install all packages containing "xfce" in their names.https://gitlab.redox-os.org/redox-os/pkgutils/-/issues/29(Feature Request) Make "pkg upgrade" update all packages installed.2023-02-25T14:46:46ZRibbon(Feature Request) Make "pkg upgrade" update all packages installed.Actually `pkg upgrade` give this error:
- `pkg: upgrade: failed: stream did not contain valid UTF-8`Actually `pkg upgrade` give this error:
- `pkg: upgrade: failed: stream did not contain valid UTF-8`https://gitlab.redox-os.org/redox-os/cookbook/-/issues/175Support scanning for reverse dependencies2023-02-25T15:19:11ZJacob Lorentzon4ldo2@protonmail.comSupport scanning for reverse dependenciesThere is currently no mechanism for marking reverse-dependencies as dirty if a given package has been updated. This feature is required if initfs were to be rebuilt automatically when an initfs package is updated, as an example.There is currently no mechanism for marking reverse-dependencies as dirty if a given package has been updated. This feature is required if initfs were to be rebuilt automatically when an initfs package is updated, as an example.https://gitlab.redox-os.org/redox-os/cookbook/-/issues/174TOML recipe format conversion status2023-12-23T02:02:43ZRibbonTOML recipe format conversion statusThese recipes have `recipe.sh` files and need to be converted to the current `recipe.toml` format to improve/fix issues on the Cookbook system.
(Recipes using `recipe.toml` files can't use library recipes with `recipe.sh` files with sta...These recipes have `recipe.sh` files and need to be converted to the current `recipe.toml` format to improve/fix issues on the Cookbook system.
(Recipes using `recipe.toml` files can't use library recipes with `recipe.sh` files with static linking).
**Once it's done all script files from the Cookbook can be removed**
Conversion status:
- [ ] atk
- [x] autoconf
- [x] automake
- [x] binutils
- [x] cairo
- [x] cairodemo
- [ ] cmatrix
- [x] cosmic-text
- [x] cpal
- [x] diffutils
- [x] dosbox
- [ ] duktape
- [ ] dynamic-example
- [x] eduke32
- [ ] fal
- [ ] freeciv
- [x] freedoom
- [x] freeglut
- [ ] freepats
- [x] friar
- [ ] fribidi
- [x] game-2048
- [ ] gawk
- [ ] gcc13
- [ ] gdk-pixbuf
- [ ] gears
- [ ] generaluser-gs
- [ ] gigalomania
- [ ] git
- [ ] glium
- [ ] gnu-binutils
- [ ] gnu-grep
- [ ] gnu-make
- [ ] gstreamer
- [x] jansson
- [ ] keyboard-sfx
- [ ] lci
- [ ] libc-bench
- [x] lua54
- [ ] mdp
- [x] mesa-glu
- [ ] mgba
- [ ] miniserve
- [ ] ncdu
- [x] ncurses
- [ ] ncursesw
- [ ] netsurf
- [ ] neverball
- [ ] newlib
- [ ] newlibtest
- [ ] openjazz
- [ ] openttd-opengfx
- [ ] openttd-openmsx
- [ ] openttd-opensfx
- [ ] openttd
- [ ] orbclient
- [ ] orbutils-background
- [ ] orbutils-launcher
- [ ] orbutils-orblogin
- [ ] osdemo
- [ ] pango
- [ ] pastel
- [ ] patch
- [ ] periodictable
- [ ] perl
- [ ] pixelcannon
- [x] pixman
- [x] pkg-config
- [ ] powerline
- [ ] prboom
- [ ] python
- [ ] qemu
- [ ] relibc-tests
- [x] redox-fatfs
- [x] redox-ssh
- [x] rs-nes
- [x] rodioplay
- [ ] rust-cairo-demo
- [ ] rust-cairo
- [ ] rust
- [x] rust64
- [x] rustpython
- [ ] rustual-boy
- [ ] schismtracker
- [ ] scummvm
- [ ] sdl-player
- [ ] sdl2-gears
- [ ] sdl2-ttf
- [ ] sdl-gfx
- [ ] sdl1-image
- [x] sdl1-mixer
- [ ] sdl1-ttf
- [ ] servo
- [ ] shared-mime-info
- [ ] sodium
- [ ] sopwith
- [ ] ssh
- [ ] syobonaction
- [ ] terminfo
- [ ] termplay
- [ ] timidity
- [ ] ttf-hack
- [ ] vice
- [ ] vim
- [ ] vttest
- [ ] vvvvvv
- [ ] webrender
- [ ] wesnoth
- [x] winit