Commit Graph

186 Commits

Author SHA1 Message Date
Wildan M
7224ca0707 Tell if tar removed 2025-10-11 21:28:18 +07:00
Wildan M
3a9f249e6e Tell if source removed 2025-10-11 21:24:52 +07:00
Wildan M
25dd3b79a1 Don't show progress bar on normal read 2025-10-11 21:13:14 +07:00
Wildan M
d20b16037e Update rust edition and use redox-pkg from crates io 2025-10-11 20:26:02 +07:00
Wildan M
59c9eeff3e Mention source blake3 if error 2025-10-11 16:37:16 +07:00
Wildan M
d63a59720b Automatic unfetch for tar recipes 2025-10-11 16:10:58 +07:00
Wildan M
b5feb0d9cb Set cargo offline flags when offline cookbook is set 2025-10-09 13:34:30 +07:00
Jeremy Soller
26b36a9705 Merge branch 'recipe-version' into 'master'
Detect version and provide manual version metadata

See merge request redox-os/cookbook!654
2025-10-06 06:33:21 -06:00
Wildan M
485b6dd82d Detect version and provide manual version metadata 2025-10-06 13:49:14 +07:00
Wildan M
bbb8589b0c Allow check build deps on make image 2025-10-05 16:24:23 +07:00
Wildan M
26e6e0dc06 fmt 2025-10-03 13:59:14 +07:00
Wildan M
c51fad08ff Add mirror config 2025-10-03 13:55:38 +07:00
Jeremy Soller
cd4d3b20ca Merge branch 'fast-deps' into 'master'
Skip checking source freshness for build dependencies

See merge request redox-os/cookbook!639
2025-09-28 08:17:15 -06:00
Wildan M
21bfbac091 Fix warning to metapackages 2025-09-28 16:10:03 +07:00
Wildan M
c8dc396658 fmt 2025-09-28 14:19:06 +07:00
Wildan M
84ea44bc27 Improve is_deps case 2025-09-28 14:17:14 +07:00
Wildan M
6a19a12380 Skip checking source freshness for build dependencies 2025-09-28 13:36:44 +07:00
Wildan Mubarok
6d02a1c36e Add -g to generate debuginfo on gcc 2025-09-21 15:54:37 +00:00
Wildan Mubarok
261ea34f69 Make jobs applied to cargo and configurable from env 2025-09-19 10:12:38 +00:00
Jeremy Soller
49180ea4f6 Merge branch 'nonstop-builder' into 'master'
Allow missing recipe in repo builder

See merge request redox-os/cookbook!613
2025-09-12 15:40:55 -06:00
Wildan Mubarok
0d307fa4e7 Initial self-hosting support 2025-09-12 15:39:51 -06:00
Wildan M
e91abf4263 Allow missing recipe in repo builder 2025-09-10 15:26:26 +07:00
Jeremy Soller
b8f49078b9
Use GNU_TARGET prefix for cmake cross compiler 2025-09-08 08:02:53 -06:00
Jeremy Soller
1b29c1e173
Clean up compiler flags 2025-09-07 20:53:28 -06:00
Jeremy Soller
8e48e73584
Make it easier to compile cmake software dynamically 2025-09-07 19:01:27 -06:00
Jeremy Soller
5064d0e02e
Allow fallback to static builds on targets with broken dynamic linking 2025-09-07 17:47:43 -06:00
bjorn3
ee25a707f8 Remove pkg_deps binary 2025-09-06 11:10:23 +02:00
bjorn3
9a40987f61 Use LF as line ending in repo_builder.rs 2025-09-06 11:10:23 +02:00
bjorn3
04d88c6109 Replace COOKBOOK_OFFLINE with --offline 2025-09-06 11:10:23 +02:00
bjorn3
13d9e4794f Move handling of multiple recipes into cook 2025-09-02 20:58:11 +02:00
Wildan Mubarok
605bfcfbd4 Add initial repo bin 2025-09-01 15:39:13 +00:00
Wildan M
8814a5d494 Include flags to meson cross file 2025-09-01 15:17:09 +07:00
Jeremy Soller
4ba8438bd5 Merge branch 'more-templates' into 'master'
Add more build templates and automatic DYNAMIC_INIT

Closes redox#1707

See merge request redox-os/cookbook!567
2025-08-20 06:53:38 -06:00
Wildan Mubarok
541e855d72 Add more build templates and automatic DYNAMIC_INIT 2025-08-20 06:53:38 -06:00
Wildan Mubarok
fec945560e Retain comment 2025-08-18 02:00:58 +00:00
Wildan M
3da709fb1f Cache auto deps 2025-08-18 08:45:52 +07:00
Wildan M
519a9911d9 Fix build 2025-07-27 22:13:30 +07:00
Wildan M
5de3e8327a Fix build 2025-07-27 22:09:12 +07:00
Wildan M
132199cd54 Apply version meta 2025-07-27 21:50:37 +07:00
Wildan M
25141384b4 Support for metapackages 2025-07-27 21:43:54 +07:00
Wildan Mubarok
c05194b3e9 Add LDFLAGS for linking nested libraries and helper for downloading gnu-config 2025-07-22 10:15:50 +00:00
Wildan Mubarok
745a3b8830 Fix git dynamic link 2025-07-15 01:12:23 +00:00
Jeremy Soller
06c4188d9d Merge branch 'shallow-clone-and-rust' into 'master'
Implement shallow clone and migrate rust recipe

See merge request redox-os/cookbook!540
2025-07-13 06:47:11 -06:00
Wildan Mubarok
8d10768c19 Implement shallow clone and migrate rust recipe 2025-07-13 06:47:11 -06:00
Wildan Mubarok
cf13e381c7 Write repo builder in rust 2025-07-13 06:44:25 -06:00
auronandace
144d804a3a be explicit in collecting to a Vec of PackageName 2025-07-08 17:19:02 +01:00
Jeremy Soller
9403e65845 Merge branch 'improve-recipes-packages-api' into 'master'
Improve package and recipes API

See merge request redox-os/cookbook!534
2025-07-08 06:06:33 -06:00
Josh Megnauth
26c680d57e
Improve package and recipes API
The main changes here are to leverage PackageError and PackageName more.

I also fixed a bug I introduced by misunderstanding code in auto_deps. auto_deps should return PackageNames instead of Strings, but I converted the Strings too early.
2025-07-07 23:17:04 -04:00
Wildan Mubarok
49bb9d8b64 Set meson cross file prefix to /usr 2025-07-07 22:26:37 +00:00
Wildan Mubarok
bc2a4d908a Add an option to not update recipes 2025-07-05 15:45:05 +00:00
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