Opened 4 years ago
Closed 19 months ago
#62650 closed defect (fixed)
libheif/libavif cannot be built universal because rav1e cannot be built universal
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.99 |
Keywords: | Cc: | Dave-Allured (Dave Allured), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) | |
Port: | libheif libavif rav1e |
Description
---> Computing dependencies for rav1e Error: Cannot install rav1e for the archs 'i386 x86_64' because Error: its dependency cargo-c only supports the archs 'x86_64 arm64'. Error: Problem while installing rav1e
I hope this can be fixed, because otherwise a whole lot of ports suddenly became unable to build universal, due to libheif now depending on rav1e.
Change History (8)
comment:1 follow-up: 4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | libheif added |
---|---|
Summary: | rav1e cannot be built universal → libheif cannot be built universal because rav1e cannot be built universal |
comment:2 Changed 3 years ago by Dave-Allured (Dave Allured)
Cc: | Dave-Allured added |
---|
comment:3 Changed 3 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:4 follow-up: 5 Changed 2 years ago by mascguy (Christopher Nielsen)
Port: | libavif added |
---|---|
Summary: | libheif cannot be built universal because rav1e cannot be built universal → libheif/libavif cannot be built universal because rav1e cannot be built universal |
Replying to ryandesign:
I have not been able to upgrade many of my ports for weeks because of this problem. I use the universal variant on High Sierra.
If we cannot make rav1e able to be built universal, which seems like a possibility since I don't think we can make its dependency cargo-c build universal, then can we modify the ports that depend on rav1e (only libheif) so that they do not depend on rav1e when building for i386?
Or can we make libheif only depend on rav1e for the arm64/x86_64 slices? At least for an i386/x86_64 build, that would probably require making libheif use the muniversal portgroup and setting
depends_skip_archcheck rav1e
.
Recently-added port libavif
, is also dependent on rav1e
. So whatever solution we decide on, would also be applicable there.
comment:5 Changed 2 years ago by mascguy (Christopher Nielsen)
Cc: | MarcusCalhoun-Lopez added; mascguy removed |
---|---|
Owner: | changed from MarcusCalhoun-Lopez to mascguy |
comment:6 Changed 2 years ago by WaywardHeart
With i386 rust
being a thing again thanks to MarcusCalhoun-Lopez's work, letting cargo-c
build as universal is as simple as reverting 514a87e316ac87b54f323f504b3ff81e2a2f9af1. Additionally, in order for rav1e
to be built as universal its portfile will need to have the --target [cargo.rust_platform]
flag added to the cargo commands in the post-build
and destroot
phases.
comment:7 follow-up: 8 Changed 22 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
I am able to build rav1e as a i386/x86_64 universal up to macOS 10.13, which means I believe this ticket can be closed as fixed.
comment:8 Changed 19 months ago by mascguy (Christopher Nielsen)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Replying to MarcusCalhoun-Lopez:
I am able to build rav1e as a i386/x86_64 universal up to macOS 10.13, which means I believe this ticket can be closed as fixed.
Thanks Marcus!
I have not been able to upgrade many of my ports for weeks because of this problem. I use the universal variant on High Sierra.
If we cannot make rav1e able to be built universal, which seems like a possibility since I don't think we can make its dependency cargo-c build universal, then can we modify the ports that depend on rav1e (only libheif) so that they do not depend on rav1e when building for i386?
Or can we make libheif only depend on rav1e for the arm64/x86_64 slices? At least for an i386/x86_64 build, that would probably require making libheif use the muniversal portgroup and setting
depends_skip_archcheck rav1e
.