Redox: A Rust Operating System
Go to file
Jeremy Soller 4bc809fa86 Merge branch 'add-policy' into 'master'
Add the "Package Policy" from the book

See merge request redox-os/cookbook!317
2023-11-15 17:25:41 +00:00
.cargo Remove libc patch 2023-02-11 14:05:19 -07:00
bin Update llvm-config 2023-02-11 16:54:27 -07:00
docgen@c9525c4761 Update docgen 2018-11-08 17:06:26 -07:00
pkgar@7a31644304 Update pkgar 2023-04-27 17:34:53 -06:00
pkgutils@410b9b0761 Update pkgutils 2021-08-10 16:08:32 -06:00
recipes Download perl source over https 2023-11-06 17:50:08 +00:00
src Resume interrupted downloads 2023-11-08 13:11:50 +00:00
.gitignore Build packages in separate folder per target 2022-11-10 12:03:32 -07:00
.gitmodules Remove patches 2020-05-21 19:55:14 -06:00
Cargo.lock Update redoxer 2023-09-07 16:25:53 -06:00
Cargo.toml Aarch64 drivers build 2023-05-06 18:37:38 +00:00
clean.sh Add Recipe Subfolders 2023-08-09 21:15:42 +00:00
config.sh Use gfind in MacOS for use with -executable option 2023-04-04 20:21:05 +01:00
cook.sh Resume interrupted downloads 2023-11-08 13:11:50 +00:00
fetch.sh Add Recipe Subfolders 2023-08-09 21:15:42 +00:00
LICENSE Initial commit 2016-10-31 11:19:57 -06:00
README.md Add the "Package Policy" from the book 2023-11-10 12:39:23 +00:00
repo.sh Remove recipe path message 2023-09-11 09:58:24 -06:00
setup.sh Remove all references to xargo 2023-02-21 11:52:50 -07:00
status_origin.sh Add Recipe Subfolders 2023-08-09 21:15:42 +00:00
status_upstream.sh Add Recipe Subfolders 2023-08-09 21:15:42 +00:00
status.sh Add Recipe Subfolders 2023-08-09 21:15:42 +00:00
unfetch.sh Add Recipe Subfolders 2023-08-09 21:15:42 +00:00

Cookbook

A collection of software ports for Redox.

Categories

  • backends - Middlewares, like SDL2
  • core - System components (included on server build)
  • demos - Software with demos
  • development - Any software used for development, like compilers and dependency managers
  • documentation - Software used for documentation
  • emulators - Console emulators or compatibility/translation layers
  • examples - Softwares with examples
  • games - Any kind of game
  • gui - Graphical interfaces
  • icons - Icon packs
  • libraries - Software with functions for other softwares, like OpenSSL
  • network - Networking tools
  • other - Software that can't fit on other categories
  • shells - Terminal interpreters
  • sound - Software used for sound processing/production
  • tests - Software used to test other softwares
  • toolkits - Software used to create other softwares with a framework-like approach
  • tools - Text editors, terminal tools and any other kind of tools
  • tui - Graphical terminal interfaces
  • video - Video players and video processing/production tools
  • wip - Software that needs porting or incomplete recipes

In order for this repository to be useful, it must be set up with an environment from the redox repository.

Package Policy

When you send your recipe to upstream (to become a public package), you must follow these rules:

  • Keep the static linking of libraries, there's an exception if the library/runtime is bigger than 50MB, big libraries/runtimes like LLVM can be dynamically linked.
  • Respect the ABI separation of the packages, for example, if openssl1 is available and some program need openssl3, you will create a recipe for openssl3 and not rename the openssl1, as it will break the ABI of the dependent packages.
  • If your recipe download a tarball you need to create a BLAKE3 hash for it, you can learn how to do it here.
  • Verify if the recipe has some license violation, in case of doubt ask us on the chat.
  • If your recipe is incomplete you will add it on the wip folder, you don't need to insert a BLAKE3 hash (it's quicker to test new tarball versions without checksum) but you need to insert a #TODO on the beginning of the recipe.toml and explain what's missing. Once the recipe is ready, add the BLAKE3 hash if needed and move the folder to the appropriate category.

MIT licensed