Commit Graph

104 Commits

Author SHA1 Message Date
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