Commit Graph

88 Commits

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