Josh Megnauth
0ae1974a03
Move struct Package to redox-pkg
...
This deduplicates code as well as forces names to be sanitized. The API
for both redox-pkg and cookbook need some reimagining due to the
reshuffling, but this patch is not concerned with that as yet.
2025-07-05 07:48:28 -04:00
Jeremy Soller
f7f69579e5
Merge branch 'meson-sccache' into 'master'
...
Fix regression in meson
See merge request redox-os/cookbook!523
2025-07-04 18:56:14 -06:00
Wildan Mubarok
4499e9b688
Rename RUSTC_WRAPPER to CC_WRAPPER
2025-07-05 00:04:22 +00:00
Wildan Mubarok
81ed01792d
Fix regression in meson
2025-07-04 23:44:44 +00:00
Wildan Mubarok
c03c493bcb
Add support for sccache envar handling
2025-07-04 07:31:50 -06:00
Josh Megnauth
57d4249847
Scan more directories in auto_deps
...
Closes : redox-os/redox#1600 , redox-os/redox#1598
Probably closes : redox-os/installer#24
Some packages place files in nested directories, such as
`lib/packagename` or `libexec/ARCH/gcc`. If these directories are not
scanned, the dependencies key in stage.toml will be empty which leads to
dependencies not being installed in the image.
2025-07-02 01:51:00 -04:00
Jeremy Soller
3ec01b7693
Greatly increase recipe scanning performance
2025-06-13 12:28:55 -06:00
Wildan Mubarok
0e5e9fbc58
Cook recipes with depedencies
2025-06-09 18:17:18 +00:00
Jeremy Soller
4228bd0d69
Fix cmake template and update libjpeg-turbo recipe
2025-05-10 20:58:38 -06:00
Jeremy Soller
8f2bffb63b
Improve cmake template
2025-05-10 12:58:22 -06:00
Jeremy Soller
9772ec2a7f
gtk3: fix compilation
2025-05-04 19:59:34 -06:00
Jeremy Soller
f2a3df2473
Allow cookbook_configure and cookbook_cmake templates to take arguments
2025-05-02 10:04:17 -06:00
Jeremy Soller
047e6ca0ec
Add meson template
2025-05-01 13:33:51 -06:00
Jeremy Soller
289c3e69b8
Drop COOKBOOK_PREFER_STATIC
2025-04-18 10:52:50 -06:00
Jeremy Soller
f9cd5a5901
Calculate package dependencies for publish again
2025-04-14 08:09:01 -06:00
Jeremy Soller
6909fdd9b2
Refactor shared dependency handling
2025-04-11 11:15:44 -06:00
Josh Megnauth
f677a16a32
fix: Unit tests should use blake3
2025-03-07 22:42:14 -05:00
Jeremy Soller
1334299b79
Change dynamic template prefix to /usr
2025-02-28 09:47:42 -07:00
Jeremy Soller
0a475b3d04
Apply usrmerge to sysroot
2025-02-22 08:25:31 -07:00
Jeremy Soller
9c54dacdf3
Set default configure prefix to /usr
2025-02-18 15:47:02 -07:00
LLeny
bde00ef0c7
Adds patches and script to SourceRecipe::Git
2025-02-18 21:14:57 +08:00
Jeremy Soller
914b78a284
Merge branch 'patch10' into 'master'
...
fix(cook/fetch): check if directory does not exist
See merge request redox-os/cookbook!445
2025-02-02 15:28:51 +00:00
Jeremy Soller
6711952f88
Merge branch 'patch12' into 'master'
...
fix(cookbook): add runtime dependencies to repo
See merge request redox-os/cookbook!442
2025-02-02 15:28:07 +00:00
Anhad Singh
5b6e0ebe35
fix(runtime_deps_of): do not error out if no packages are specified
...
This may be the case if repo.sh did not build any TOML recipes. In that
case, we can just exit cleanly.
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-02-02 16:55:14 +11:00
Anhad Singh
330ad13e28
fix(cook/fetch): check if directory does not exist
...
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-02-02 13:58:24 +11:00
Anhad Singh
78bf3a68fc
misc: cleanup
...
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-02-01 00:19:18 +11:00
Anhad Singh
bd5f5357a8
fix(cookbook): add runtime dependencies to repo
...
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-02-01 00:14:42 +11:00
Anhad Singh
eede787cbf
fix(cook): copy source only if newer
...
Fixes the bug where libgcc was unnecessarily building multiple times.
Which in turn caused other packages to rebuild.
Example: The source path is set to `prefix/${TARGET}/sysroot`. Currently
the way `cook` handles `source.path` ends up messing the timestamp of
`recipes/libs/libgcc/source` as it just performs `copy_dir_all(path,
&source_dir)` without checking if the timestamp of the source path
specified in the recipe was changed. This would consequently update the
timestamp of the source and cause it to rebuild.
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-01-31 18:39:52 +11:00
Anhad Singh
212692e1ea
fix(cook): build shared dependencies
...
Before it was not check if the shared dependencies of a package had been
built. This resulted in the installer panicking as it tried to install
a non-built package. This commit fixes that issue.
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-01-28 21:52:34 +11:00
Anhad Singh
8b663ee368
fix(cookbook): shared dependencies
...
These shall only be added iff `PREFER_STATIC` is not set.
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-01-23 16:12:12 +11:00
Anhad Singh
3ee1f4da00
feat(cookbook): add the option to prefer static
...
By default all libraries and applications that can be dynamically linked
will be dynamically linked. You can override this behaviour by setting
the `COOKBOOK_PREFER_STATIC` environment variable. Note that if you
perviously did not use this flag, it might (most likely will) require a
complete userland sysroot recompilation.
It will look like this:
```bash
$ make clean
$ COOKBOOK_PREFER_STATIC=yes make image
```
For testing, the following will also work:
```bash
$ COOKBOOK_PREFER_STATIC=yes make cr.{PACKAGE_NAME} # obviously replace
# PACKAGE_NAME with
# the name of a package :)
```
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-01-20 19:55:37 +11:00
Anhad Singh
9f2cb652a3
feat(cookbook): rust dynamic
...
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-01-20 19:01:36 +11:00
Anhad Singh
0f6a6e259c
feat(cook): prescript for source scripts
...
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-01-20 19:01:07 +11:00
Anhad Singh
584a94fb24
feat(cookbook): auxiliary dynamic linking functions
...
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2024-12-02 23:30:51 +11:00
Jeremy Soller
aae056594d
Remove legacy packaging
2024-10-18 12:57:17 -06:00
Jeremy Soller
3b954f7f72
cook: add pkgname to appstream data
2024-10-16 20:58:17 -06:00
Andrey Turkin
d7ecf2e747
RISC-V target support
2024-10-16 21:20:38 +03:00
Kamil Koczurek
487c0c83c3
Add path source specifier
...
Also:
* rustfmt
2024-09-10 10:37:19 +02:00
bjorn3
4a2109c2c7
Use a single source dir for the drivers and drivers-initfs recipes
...
This makes it easier to make driver changes. And in the future other
recipes could potentially benefit from the same infrastructure too.
2024-07-10 22:20:43 +02:00
bjorn3
0bfd573dda
Convert orbutils recipes from recipe.sh to recipe.toml
2024-07-06 22:01:16 +02:00
4lDO2
1b5c1fd42b
Fix make clean.
2024-03-23 14:10:29 +01:00
Ron Williams
15d9970802
move helix to tools, with working recipe, plus fix COOKBOOK_DEBUG
2024-01-27 13:23:27 +00:00
bjorn3
f845feb352
Rebuild sysroot if dependencies change
...
This make a simple make r.initfs enough to rebuild the initfs when
changing drivers. Previously make cr.initfs was necessary which rebuilds
redox-initfs-ar from scratch.
2024-01-12 13:49:06 +01:00
Ron Williams
c5979ec5ba
add debug option and disable strip if desired
2024-01-08 13:40:59 -08:00
bjorn3
6b90326bca
Make sure to install recipes using the cargo template get installed in /usr/bin too
2024-01-08 21:45:59 +01:00
Jeremy Soller
d56958abcc
Merge branch 'code_cleanups' into 'master'
...
Various code quality improvements to the cookbook code
See merge request redox-os/cookbook!336
2024-01-08 19:16:01 +00:00
bjorn3
91f885bddb
Remove sha256 support
...
Sha256 is slower than blake3 and all recipes use blake3 now.
2024-01-08 20:00:30 +01:00
Ribbon
e2540c49ad
Migrate the template scripts to /usr
2024-01-08 18:51:42 +00:00
bjorn3
48e5ef02eb
Compare actual filenames rather than their lossy conversions
...
This is both faster and more correct.
2024-01-08 19:48:06 +01:00
bjorn3
64ea29f63b
Remove ProgressBarWrite
...
It is unused.
2024-01-08 19:42:50 +01:00
bjorn3
5fed46f97e
Significantly simplify src/blake3.rs by using the new update_reader method
2024-01-08 19:41:23 +01:00
Jeremy Soller
561204cb56
Warn and create source dir if no source provided
2023-12-13 14:52:36 -07:00
mattmadeofpasta
536118a146
Resume interrupted downloads
2023-11-08 13:11:50 +00:00
kivimango
0664e21e6d
clippy: Fix unnecessary unwrap()
2023-08-16 23:25:18 +02:00
kivimango
6d245b263b
clippy: Fix nested if statements
2023-08-16 23:24:07 +02:00
kivimango
62f438cb38
clippy: Fix needless_borrows
2023-08-16 23:13:18 +02:00
kivimango
33d361d43a
Fix compiler warnings for unused variables
2023-08-16 12:17:43 +02:00
kivimango
10ea123fd6
Renamed unused new() to _new()
2023-08-16 12:15:48 +02:00
kivimango
213a33bb43
Use shorthand init
2023-08-16 12:14:14 +02:00
joshua Williams
73c662b9da
Add Recipe Subfolders
2023-08-09 21:15:42 +00:00
Jeremy Soller
7cb4b95b03
Simplify cargo recipes
2023-05-18 13:17:46 -06:00
Jeremy Soller
60bf37dd0c
Convert some recipes to toml
2023-05-18 12:49:23 -06:00
Jeremy Soller
d7ce4d4d65
Build packages in separate folder per target
2022-11-10 12:03:32 -07:00
Jeremy Soller
86ad4bcdf0
cargo install with --no-track
2022-10-27 12:08:26 -06:00
4lDO2
26df86075f
Update syscall
2022-03-27 11:29:00 +02:00
Jeremy Soller
6d95f7358e
Remove .crates.toml and .crates2.json
2022-03-17 19:56:47 -06:00
Jeremy Soller
e41ec81f19
Adjust for new pkgar
2022-03-17 16:36:46 -06:00
Jeremy Soller
999ce1cd76
Build bash recipe without parallel jobs
2021-07-14 11:56:37 -06:00
Wesley Hershberger
0c0aa91cab
Allow local sources
...
This makes the source section of recipe.toml optional, so that one can
simply create a recipe with a build recipe and a source folder and not
have to worry about git at all just to get a program running in redox.
I also ran into a situation where a source directory without a git
repository in it caused cookbook to reset it's own origin URL to the URL
specified in the recipe for that source directory. I added a check to
prevent that happening to anybody else.
2021-04-25 14:16:49 -04:00
Jeremy Soller
48b786e6d8
Update to origin when fetching
2020-08-27 10:20:04 -06:00
Jeremy Soller
0265403146
Run cookbook rust version for fetch, if possible
2020-08-21 15:52:58 -06:00
jD91mZM2
cab2ade5f5
Specify --locked to ensure reproducibility
...
Needed to stop mass-errors for us mortals without the latest rust
version, ever since redox_syscall 0.1.57 was merged.
2020-07-10 22:35:25 +02:00
Jeremy Soller
7127732eb4
Ignore .git paths when calculating source directory modify time
2020-05-26 08:32:41 -06:00
Jeremy Soller
5fdb1b8438
Use modified date to rebuild packages
2020-05-25 21:51:57 -06:00
Jeremy Soller
73c074a08d
Define path to cookbook_redoxer once
2020-05-22 10:23:35 -06:00
Jeremy Soller
0b55c5d7ac
Use absolute path to cookbook_redoxer
2020-05-22 10:21:25 -06:00
Jeremy Soller
364867de5b
Add cookbook_redoxer, a wrapper to make it simpler to user redoxer
2020-05-22 10:03:26 -06:00
Jeremy Soller
db9f4e40bf
Add curl recipe
2020-05-21 21:13:39 -06:00
Jeremy Soller
28180c39ff
Set CPPFLAGS, add more recipes
2020-05-21 12:02:16 -06:00
Jeremy Soller
94d85accd3
Add optional script to transform source after patches, add more recipes
2020-05-21 11:40:08 -06:00
Jeremy Soller
69ef10f035
Improve ability to override cookbook items, improve C support
2020-05-21 11:14:00 -06:00
Jeremy Soller
21a4106dc7
Build pkgar archives, implement build depends
2020-05-20 21:16:16 -06:00
Jeremy Soller
204e968016
Implement builds, add some recipes
2020-05-20 15:44:37 -06:00
Jeremy Soller
fa00a61b95
Remove duplicate execution of patch command
2020-05-20 14:04:16 -06:00
Jeremy Soller
11a244bef3
Implement patching
2020-05-20 14:02:01 -06:00
Jeremy Soller
25fa6a5020
Rust-based cook binary. Currently has fetching implemented
2020-05-20 13:23:29 -06:00