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

Consider upgrading image crate dependency in examples (for packaging reasons) #550

Closed
florhizome opened this issue Jan 10, 2022 · 7 comments · Fixed by #551
Closed

Consider upgrading image crate dependency in examples (for packaging reasons) #550

florhizome opened this issue Jan 10, 2022 · 7 comments · Fixed by #551

Comments

@florhizome
Copy link

Hey,
i was trying to build wluma with GNU Guix, which depends on ash. For the ./examples directory I would need the "image" crate version 0.10.4; currently guix upstream only has versions >0.20. trying to build image-0.10.4 turns out a complete wormhole, depending on crates more then 5 years old. After already collecting 6 downgrading package declarations, I stopped at trying to build "glium-0.14" for "png-0.5".
I don't know if I could avoid this somehow by just not building the examples, I haven't looked into cargo yet, I only find the Cargo.toml not really that expressive to see that at first glance. But I think it might be a good move at large to move to a recent version of image ;).

@MarijnS95
Copy link
Collaborator

https://github.com/MaikKlein/ash/pull/547/files#diff-4d3f17fef5bd96cf54eecab8a558c3cdd2f4142b31153ad417646fe382385071R24 Should be pretty straightforward - just as long as all the crates are tested after bumping.

I'll see if I can rework that PR :)

MarijnS95 added a commit that referenced this issue Jan 10, 2022
Examples-only excerpt of #547, as the generator and ash-window example
changes need more work.  Fixes #550.
@MarijnS95
Copy link
Collaborator

@florhizome See if #551 works for you :)

@MarijnS95
Copy link
Collaborator

https://guix.gnu.org/manual/en/html_node/Rust-Crates.html Reading something about #:skip-build? here - I'm not familiar with Guix so that might not work at all, but being able to ignore this crate from the workspace root (it's not published after all, either) could be good.

@florhizome
Copy link
Author

Thanks, for the
Curiously,the "#:skip-build" parameter is not explained in the manual at all. So I don't kno what it does exactly. I have seen it being used quite frequently by now, though. ^^ I may read the source..
I tried building from the crates.io tarball, which failed with the message that no cargo.toml had been found, which leads to trying to build from the repo.
Actually guixes most recent "winit" is just 0.24, which means I will need to upgrade that first until I can confirm whether your branch or something with "#:skip-build?" will help ;)

@MarijnS95
Copy link
Collaborator

It should have a Cargo.toml: https://docs.rs/crate/ash/latest/source/

Ralith pushed a commit that referenced this issue Jan 10, 2022
Examples-only excerpt of #547, as the generator and ash-window example
changes need more work.  Fixes #550.
@florhizome
Copy link
Author

I'm sorry I didn't answer immediately!
I got ash to build now, from the repo as well as from crates.io
It seems that the directory that launches after unpacking the tarball guix fetches from crates.io doesn't have the 'typical structure that cargo expects. I found the repo directory, with the ensuing Cargo.toml under "guix-vendor/downloads/" though and just added a change in directory to there before the build phase.
I don't know where this stems from tbh. If you want to look further into it, I can try to help, but I'll answer more in the span of days then hours ;)

@MarijnS95
Copy link
Collaborator

It seems that the directory that launches after unpacking the tarball guix fetches from crates.io doesn't have the 'typical structure that cargo expects.

Can you define the difference here (output of tree perhaps)? This crate has always worked normally with cargo so there's no way it's suddenly invalid or wrongly structured. https://docs.rs/crate/ash/latest/source/ is identical to what I have locally in .cargo/registry/src/github.com-1ecc6299db9ec823/ash-0.35.0+1.2.203/ and what cargo package -p ash -l prints, and it looks like a very simple, standard, correct structure to me.

Perhaps this is different for the repository which has a workspace root and the examples crate. I presume you have always been building this package from this git source or Guix downloads/introspects the crates.io crate only to redirect to repository = "https://github.com/MaikKlein/ash". That's the only way it could possibly run into issues with ./examples.

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 a pull request may close this issue.

2 participants