Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to Wayland v1.23 #9035

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

jmert
Copy link
Contributor

@jmert jmert commented Jul 7, 2024

and at the same time, try to resolve a bootstrap issue with wayland-scanner being a build-time dependency of building the other libraries.

N.B. I don't have a FreeBSD system to test against, so I'm not sure if/how this preserves/breaks #7381, which to me seems like it introduce an chicken-vs-egg bootstrap problem. Latest build seems to cross-compile correctly.

@jmert jmert force-pushed the wayland_1.23 branch 3 times, most recently from 1a8cf9a to 41ce7e4 Compare July 7, 2024 15:58
Copy link
Member

@giordano giordano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

N.B. I don't have a FreeBSD system to test against, so I'm not sure if/how this preserves/breaks #7381, which to me seems like it introduce an chicken-vs-egg bootstrap problem.

CC @barche, I don't know how much was import the support for FreeBSD.

W/Wayland/build_tarballs.jl Outdated Show resolved Hide resolved
meson .. \
PKG_CONFIG_SYSROOT_DIR='' \
PKG_CONFIG_PATH="${host_libdir}/pkgconfig" \
meson setup host_build . \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and at the same time, try to resolve a bootstrap issue with wayland-scanner being a build-time dependency of building the other libraries.

It isn't clear to me why we shouldn't be using HostBuildDependency as it was done before.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trying to upgrade to v1.23 would only see the v1.21 version of wayland-scanner, and the build system would complain and abort. Trying to build the native & target from the same source was my way to resolve that issue.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explicitly, the error that occurs if only the version & hash are changed and a rebuild is attempted is:

...
[14:20:04] Build-time dependency wayland-scanner found: NO (tried cmake)
[14:20:04] 
[14:20:04] ../src/meson.build:84:15: ERROR: Dependency lookup for wayland-scanner with method 'pkgconfig' failed: Invalid version, need 'wayland-scanner' ['1.23.0'] found '1.21.0'.
...

jmert added 2 commits January 12, 2025 20:11
At the same time, resolve a bootstrap issue wherein we cannot ask for
the correct version of the host-system `wayland-scanner` if the host
packages have not yet been built. Instead, perform a host-system
compilation of just a utility `wayland-scanner`, and then in a second
step perform the cross-compile of all of the Wayland libraries and a
target-compatible `wayland-scanner`.

- Note that the bootstrapping `wayland-scanner` purposely disables the
  DTD validation feature in order to work around a problem with properly
  linking the host's libxml2 when cross-compiling for FreeBSD.
Following JuliaPackaging/BinaryBuilder.jl#1346 and the rebuild of
Expat_jll (JuliaPackaging#9791), the workaround for pkgconfig `.pc` files containing
the build `prefix` is no longer necessary.

(Is there a way to actually add the compat constraint to
`HostBuildDepencency`s?)
@imciner2
Copy link
Member

┌ Warning: Dependency Libffi_jll does not have a mapping for artifact Libffi for platform riscv64-linux-gnu-libgfortran5-cxx11
└ @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/BDbtq/src/Prefix.jl:753
┌ Warning: Dependency XML2_jll does not have a mapping for artifact XML2 for platform riscv64-linux-gnu-libgfortran5-cxx11
└ @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/BDbtq/src/Prefix.jl:753
┌ Warning: Dependency Expat_jll does not have a mapping for artifact Expat for platform riscv64-linux-gnu-libgfortran5-cxx11
└ @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/BDbtq/src/Prefix.jl:753
┌ Warning: Dependency Libiconv_jll does not have a mapping for artifact Libiconv for platform riscv64-linux-gnu-libgfortran5-cxx11
└ @ BinaryBuilderBase /cache/julia-buildkite-plugin/depots/e2fd9734-29d8-45cd-b0eb-59f7104f3131/packages/BinaryBuilderBase/BDbtq/src/Prefix.jl:753

Looks like some dependencies are missing on RISCV currently

@imciner2
Copy link
Member

Libiconv now available for RISCV from #10258. I looked at the other three, and they don't have any newer upstream versions yet, so we need to figure out how to rebuild these.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants